FTP Archive Telegram

Всё для "Ориона"
В 1990 году в журнале "Радио" вышел цикл статей о любительском компьютере "Орион-128". В отличии от "Радио-86РК" "Орион" содержал 128КБ (в минимуме 64 кБ) оперативной памяти в стандартной комплектации и поддерживал графический цветной (2, 4 или 16 цветов) экран с разрешением 384х256 пикселей.

"Орион-128" - мой второй компьютер, собранный самолично после "Радио-86РК" (третий был Специалист, потом всякие Спектрумы, и, далее IBM совместимые).
Много лет прошло, но многие его помнят, даже собирают на современной элементной базе в различных вариантах и модификациях!
Здесь я попытаюсь собрать информацию и программы. Файлы доступны по ftp://orion.efu.name

Но, зародилась у меня идея модернизации, а скорее всего нового Ориона для очумелых ручек.

Для начала - пересадка сердца. Возьмём более прогрессивный процессор Z180 от Zilog - Z8S18033VSC с рабочей частотой 33 мГц.
Он может выполнять код I8080 и Z80, но не ограничен размером адресуемой памяти в 64 кБ, адресная шина 20 бит позволяет видеть 1 МБ, из которого для программ будет доступно 768 КБ. Остальное - ПЗУ и ОЗУ видеоадаптера.
Это уже похоже на "IBM XT", значит, лепим шину ISA 8 bit, и на неё видеоадаптер VGA. И через Feature Connector - ТВ-тюнер, смотреть кино со старого видика или камеры!
Добавим статическое ОЗУ AS6C4008-55 или HM628512ALP-5, ПЗУ W27С512-45, контроллер клавиатуры и мыши PS/2 HT6542B/VT82C42N.
Эту минимальную конфигурацию разместим на плата формата flex-ATX, mini-ITX или nano-ITX, соответственно нет проблем с корпусом! И назовём, по аналогии с "IBM XT" - "Orion XT"! Красиво?

Филейная часть.

Как будет происходить поддержка "Ориона"? Очень просто: живая орионовская программа, как и положено, фунциклирует в памяти от 0000H до FFFFH, т.к. порты адресуются на память их легко перехватить.
По INT2 от VGA видеокарты с частотой кадров будем опрашиваеть видеопамять "Ориона" и копировать в видеопамять VGA адаптера с соответствующими поправками. Так-же и "порты" читать и писать и соответственно обрабатывать.
А если программа использует стандартные подпрограммы Монитора и не лезет напрямую в видеопамять - ещё проще, перехватим их и выполним свои нужные действия!
Так-же в планах работа в режимах "Радио-86РК", "Специалист" и упрощенная версия в текстовом режиме "Кроха", "GameBoy". Тут ещё "Океан-204" появился.

Кто помнит? Кто знает? Кто может помощь оказать? Тряхнуть, так сказать, стариной!

Старые наброски схем в формате sPlan 7.0
Актуальная схема в
EasyEDA.
Рад буду услышать критику и конструктивные предложения на efu@mail.ru или обсудить в Telegram

Можно, конечно, и самому замутить ОСь. Многозадачную, в основном режиме с текстовыми окнами: 132х25 символов, красивый шрифт 9х14 пикс. или 132х43 со шрифтом 9х11, или 132х60 - шрифт 9х8. Текстовый режим гораздо шустрее отрисовывается, а графический режим включать при необходимости. Так мне пока думается. С дальнейшей доработкой до мультипроцессорности - 4 процессора Z280.

Начало пути - поехали! Продолжаем разговор... 11.10.2022 - Панельки впаяны! 12.10.2022 - Питание разведено. 16.10.2022 - Собрано и включено. Дым не пошёл. 31.10.2022 - PS/2 контроллер распаян. 14.11.2022 - ISA шина добавлена. 27.11.2022 - DALLAS, PIO. 11.12.2022 - PIO заработал, мучаю звук Yamaha. 12.10.2023 - Часы заработали, и бипер там-же.

Второй вариант на ISA макетке и ПЛИС в обвязке.
18.03.2023 - Версия вторая 18.03.2023 - Распаяна шина данных и питание.

Сборка и наладка предполагается поэтапная:

Первый этап: будет-ли это работать? [ASM] - [ BIN ]
Для начала достаточно процессора с генератором 18.432МГц (для работы встроенного RS232 на скорости до 115200 бод), ПЗУ 64 кБ и конвертера RS232. ОЗУ пока не требуется.
Когда-то в 90-х MAX рассылали чипы нахаляву, с тех пор осталось.
Отладку буду проводить через виндовый "Hyper Terminal".
Для компиляции использую SjASMPlus. Пока нет помощников, буду сам вспоминать ассемблер )))

И, так! Паяю схему и тестирую передачу символа из терминала на устройство и получение оного взад!
Спаяно, запущено. Пока терминал молчит. Разбираюсь с софтом.
SjASMPlus не подошёл, не понимает команды Z180.
TASM 3.2 подошёл. Обмен с терминалом идёт!
ZASM тоже подойдёт.
Выход процессора регенерации динамической памяти не используется напрямую, а как и в Радио и Орионе выход прерывания, для включения генератора звука - пищалки.

Этап второй, PS/2 контроллер. [ASM] - [ BIN ]
Дешифратор портов на ИД7, и первое внешнее устройство - контроллер клавиатуры и мыши PS/2 типа HT6542B (Intel 8042).
Номер порта выбран 060H для регистра данных и 064H для регистра управления. Почему так? По аналогии с IBM PC-XT, что-б не путаться с портами плат расширения на шине ISA, которые надеюсь прикрутить: VGA сидит на портах от 03C0H, игровой порт 200H, звуковая карта 220H. А порты от 0 до 03FH использует сам процессор, как внутренние регистры.
По идее, неожиданностей быть не должно. Программно запараллелю с терминалом. Т.е. Нажатие клавиши на клавиатуре должно отобразиться в терминале так-же, как и нажатие терминальной клавы. Всё это пока без видеокарты. Для понимания принципа работы устройств ввода-вывода.
Так-же и с мышкой. Прочитать направление движения и нажатие/отпускание кнопок. с выводом кодов в терминал.

Но что-то пошло не так. Контроллер не обнаруживается. Возможно, дохлый. Взят из старой платы 486-го компа.
Пока едет новый контроллер, проведу адаптацию под терминал Монитора "Радио-86РК" с настоящим вводом/выводом на магнитофон. Если хватит знаний и пива с коньяком! )))
Курение мануала по I8242 приказало заземлить ногу 7, а 5 и 25 кинуть на +5В. Не помогло.
Приехал чип VIA VT82C42N - тоже никак не реагирует. Анализатор показывает, что сигналы /IORQ, /RD, /WR, /CS имеются, но на выходе к клавиатуре - тишина...

Но, сколь верёвочке не виться!.. 19.10.2023 в 23:41 домучил PS/2! Индикаторы на клаве включаю и выключаю, значит обмен данными идёт! Остальное - дело программирования!!!
Здесь исходник, включающий и выключающий индикаторы на клаве.

VGA ISA card [ASM] - [ BIN ]
Шина ISA 8 bit для видеоадаптера VGA/SVGA (например, Trident 9000i или RTG3105E) с разрешением графики от 320х200 до 1024х768 пикс. и от 4 до 256 цветов, из-за чего эта каша и заваривалась, а в перспективе и звуковой карты "Sound Blaster Pro", "ESS-1868", Yamaha OPL3. или TV-tuner через Feature Connector.

Инициализацию VGA в текстовом режиме подсмотрел здесь и в книге Фролова А.В. и Фролова Г.В. "Библиотека системного программиста. Том 21. Программирование видеоадаптеров EGA, VGA и SVGA", а так-же Уилтон Р. "Видеосистемы персональных компьютеров IBM PC и PS2".

Шину распаял, софтинку наваял - не работает...
Нашёл косяк! Сигнал Reset на шину ISA должен идти прямой, а я завёл инверсный.
А пока из Китая едет 8-канальный USB анализатор, может, кто даст добрый совет по схеме и софту? Что не так? Где копать?

Часы [ASM] - [ BIN ]
Часы Dallas DS12887A, как-же без них!
Проц их не видит. Может, чип битый. Заказал ещё.
Информация по регистрам DS12885 здесь.
Изменил схему включения по типу IBM-XT и всё заработало! Заодно прилепил бипер на выход SQW - здесь ему самое место! Так-же добавил узел сброса на DS1232. Он-же сторожевой таймер: при отсутствии импульсов на 7 ноге система перегружается.

Принтер [ASM] - [ BIN ]
Часы пошли, PS/2 тоже фунциклит, VGA хочет. Попробую родной принтерный порт на Z0842006PSC
Должны-же они дружить!
Должны. Но не обязаны. Может, быстродействия не хватает 6 мГц? Хотя, шина на 9,216 мГц, а в процессоре выставлены дополнительные такты ожидания. Что-ж заказал порт на 8 мГц Z84C2008PEC, приедет - продолжу.
Есть ещё вариант, через CPU Control Register замедлить шину до 33% - тоже опробую.
Пока помогло деление тактовой частоты пополам. Чип отвечает и светодиодом моргает!
Новоприобретённый принтер Epson LX-300 реагирует!

Звук на AY-3-8910A/YM2149F [ASM] - [ BIN ]
Родной звук на AY-3-8910A (Yamaha YM2149F) с поддержкой IDE устройств через доппорты.
Пока тоже не поддаётся.

SD card reader [ASM] - [ BIN ]
Не забудем про SD карты. Для процессора Z8L180 резистивный делитель, естественно не нужен.
Пока молчит внешняя переферия, попробуем внутренний последовательный интерфейс для связи с SD картой в режиме SPI

Если всё заработает, то продолжу: [ASM] - [ BIN ]
Добавим ОЗУ и всё тот-же дешифратор ИД7. В качестве тренировки и тестирования возможностей, уже можно прилепить Монитор от "Радио-86РК" с соответствующими корректировками под ввод/вывод. В ПЗУ добавляются модули инициализации и тестирования оборудования.
Дешифратор и память [MEM PLD] - [ MEM ABS ]
Далее добавим ещё полметра ОЗУ, умный дешифратор на ПЛМ GAL вместо двух ИД7 или одной ИД3 и кучки диодов (благо, программатор TL866 давно пылится в столе).
Ethernet LAN
Ethernet контроллер на DM9000 для связи с "большими" машинами.

Далее:
Поддержка джойстика "Dendy"
Далее:
Арифметический сопроцессор AM9511A-4DC, если к Ориону-128 цепляли, почему-бы сюда не примастырить?!
Лучше, конечно, Intel 80287 (D80287-10) или TMS320C10 (М1867ВМ1).

USB
USB для питания 5В.

Пока детали едут из Китая, ещё что-нибудь придумаю.

Пришла мысля: а нужен-ли IDE? Может, сделать упор на Ethernet?
Ещё одна: нужно-ли PS/2? Может, сразу USB замутить? Например, на
FTDI Vinculum-II или CH554


Материалы из темы:
Источники вдохновения:

Вопросы и предложения пока здесь. Потом напишу свою гостевуху.



Дополнительно:
Mirror Orion site
Eugene's site
Old Lazy Cats Group
Mirror efu site
счетчик посещений