"Орион-128" - мой второй компьютер, собранный самолично после "Радио-86РК" (третий был Специалист, потом всякие Спектрумы, и, далее IBM совместимые).
Много лет прошло, но многие его помнят, даже собирают на современной элементной базе в различных вариантах и модификациях!
Здесь я попытаюсь собрать информацию и программы. Файлы доступны по ftp://orion.efu.name
Но, зародилась у меня идея модернизации, а скорее всего нового Ориона для очумелых ручек.
Как будет происходить поддержка "Ориона"? Очень просто: живая орионовская программа, как и положено, фунциклирует в памяти от 0000H до FFFFH, т.к. порты адресуются на память их легко перехватить.
По INT2 от VGA видеокарты с частотой кадров будем опрашиваеть видеопамять "Ориона" и копировать в видеопамять VGA адаптера с соответствующими поправками. Так-же и "порты" читать и писать и соответственно обрабатывать.
А если программа использует стандартные подпрограммы Монитора и не лезет напрямую в видеопамять - ещё проще, перехватим их и выполним свои нужные действия!
Так-же в планах работа в режимах "Радио-86РК", "Специалист" и упрощенная версия в текстовом режиме "Кроха", "GameBoy". Тут ещё "Океан-204" появился.
Кто помнит? Кто знает? Кто может помощь оказать? Тряхнуть, так сказать, стариной!
Старые наброски схем в формате sPlan 7.0
Актуальная схема в EasyEDA.
Рад буду услышать критику и конструктивные предложения на efu@mail.ru или обсудить в Telegram
Второй вариант на ISA макетке и ПЛИС в обвязке.
Сборка и наладка предполагается поэтапная:
Первый этап: будет-ли это работать? | [ASM] - [ BIN ]
Для начала достаточно процессора с генератором 18.432МГц (для работы встроенного RS232 на скорости до 115200 бод), ПЗУ 64 кБ и конвертера RS232. ОЗУ пока не требуется. | Когда-то в 90-х MAX рассылали чипы нахаляву, с тех пор осталось. Отладку буду проводить через виндовый "Hyper Terminal". Для компиляции использую SjASMPlus. Пока нет помощников, буду сам вспоминать ассемблер )))
И, так! Паяю схему и тестирую передачу символа из терминала на устройство и получение оного взад!
| |
---|
Этап второй, PS/2 контроллер. | [ASM] - [ BIN ]
| Дешифратор портов на ИД7, и первое внешнее устройство - контроллер клавиатуры и мыши PS/2 типа HT6542B (Intel 8042). | Номер порта выбран 060H для регистра данных и 064H для регистра управления. Почему так? По аналогии с IBM PC-XT, что-б не путаться с портами плат расширения на шине ISA, которые надеюсь прикрутить: VGA сидит на портах от 03C0H, игровой порт 200H, звуковая карта 220H. А порты от 0 до 03FH использует сам процессор, как внутренние регистры. По идее, неожиданностей быть не должно. Программно запараллелю с терминалом. Т.е. Нажатие клавиши на клавиатуре должно отобразиться в терминале так-же, как и нажатие терминальной клавы. Всё это пока без видеокарты. Для понимания принципа работы устройств ввода-вывода. Так-же и с мышкой. Прочитать направление движения и нажатие/отпускание кнопок. с выводом кодов в терминал.
Но что-то пошло не так. Контроллер не обнаруживается. Возможно, дохлый. Взят из старой платы 486-го компа.
Но, сколь верёвочке не виться!.. 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".
Шину распаял, софтинку наваял - не работает...
| |
---|
Часы | [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