Ещё более победительная идея была реализована в графическом компьютере из журнала RFE 08.1987. Компьютер с разрешением лучше
СИНКЛЕРА всего на 21-ой микросхеме! Причём, если заменить 8 шт. РУ5 на две 62256, а две ИР16 на ИР9, то корпусов будет на 7 меньше. Это высший пилотаж разработчика микропроцессорной техники! Автору надо было поставить памятник.
Кучу счётчиков, что в традиционных схемах, заменяют два канала таймера, и используется то, что Z80 во время RFSH-цикла выводит на младшую половину шины адреса регистр R (инкрементируя его каждый раз), а на старшие адреса выдаёт регистр I.
Перед началом кадра приходит INT и Z80 уходит на визуализацию. В которой для синхронизации он ждет импульс от таймера. Регистры R и I ставятся так, чтобы адресовать начало первой строки из экранной области и Z80 уходит в состояние HALT. Затем приходит NMI-импульс, отчего Z80 покидает HALT, но стопорится по WAIT. Пока не придёт ССИ. После чего у Z80 есть время, пока идёт бордюр слева, чтобы адресовать R на текущую строку. Всего 3-х команд Z80 достаточно для подготовки вывода строки. Последней командой выполняется HALT. После чего тактами RFSH начинается вывод на экран. Байт за байтом и без всякого участия процессора и каких-либо счётчиков. Байт считывается из ОЗУ и заносится в регистр сдвига. Затем побитово сдвигается на экран. В конце вывода строки снова приходит NMI и процесс повторяется для следующей строки.
Вся программа визуализации состоит из 3-х команд : LD A,nn : LD R,A : HALT : повторенных 200 раз (сколько строк растра). На период кадра приходится 320 строк, из которых 200 отображаются. Следовательно видео-вывод отнимает у процессора 200/320 - 62 процента времени. Т.е реальная скорость Z80 падает до 38% от такта. А в РК86 видео тормозит лишь до 75%. Но уже при такте Z80 в 4 МГЦ достигается скорость в 4*0.38= 1.52 МГЦ, что быстрее, чем 1.3 МГЦ
РК. Тут синхронизация со счётчиками не нужна, можно выбрать любой такт Z80. А т.к Z80A тянет 6 МГЦ, Z80B работает при 8.5, - то считайте сами кто быстрее.
Недостаток в том, что полностью теряются все прерывания. Это не фатально, при нужде их легко заменить опросом флага в процедуре визуализации, которая происходит 50 раз в секунду. Цвет в такой схеме организуется только по принципу адаптера CGA, т.е ОЗУ для экранных атрибутов не может быть в другой банке (как в
ОРИОНЕ). Цвет пикселя можно задать только в самом экранном байте.
Важным плюсом является то, что отображаться может любой графический экран с линейным расположением экранных байтов по линии растра. В частности,
ИРИША,
СПЕЦИАЛИСТ. Т.е это готовый эмулятор чужих ЭВМ, причём изначально предназначенный для турбирования.
Иными словами, схема это шедевр минимизации, а этот компьютер - "машина времён и народов".
[свернуть]