Про аппаратный эмулятор спека (там в-основном надо эмулировать экран, и клавиатуру) я слышал только сильно краем уха в 90-х из бумажных рассылок barsik-а и что-то в виде схемы или ПО никогда не видел (так что не исключаю что в виде готовой методички этого могло и не быть - опять кто-то что-то сделал в одном экземпляре, прокричал на всю страну, и всё). К сожалению, barsik-а уже выпилили и его не расспросить (я был против этого как раз потому).
Что до эмуляции, то я вижу наиболее правильный способ таким:
- вводится NMI 50Гц в противофазе к прерыванию по КСИ из Z80 CardII (и тоже отключаемое каким-то портом) и в режиме эмуляции ZX (или эмуляции еще чего-то)
- по NMI 25 раз в секунду (из 50) перекодируется ч/б экран. Аппаратно экран для режима эму-ZX при этом находится с 0000h (экран N3) перекрытый диспетчером ОЗУ который в этом окне есть как у Ориона-ПРО, так и у Z80 CardII (т.е. с 0000h по 3FFFh находятся и реальный экран и с диспетчером ZX-бэйсик поправленный чтобы с 66h был обработчик NMI).
- Порт FE/D4 на вывод звука уже есть в Орионе-ПРО и у Z80 CardII, на этом же порту вешаем ОЗУ размером не менее 256 байт (1 корпус статики), которое читается ПО спека с порта FE (5 бит ШД адресуясь по A8..A15), а пишется эта ОЗУ (актуализируется "матрица кнопок" соответствующая реально нажатым клавишам) процедурой обработки NMI в прочих 25 кадрах из 50 вместе с цветовыми атрибутами экранаZX через некий доп. порт.
Аппаратно это решение простое, годится как для Ориона-ПРО так и Z80 CardII, по ресурсам ЦПУ вполне поместимся даже в 3,9М (5+Wait), т.к. у Спека с его вейтами реально ниже 3М.




Ответить с цитированием