Продолжая начатую тему в этом посте http://zx-pk.ru/showpost.php?p=578643&postcount=147 , где в pdf- ке была эквивалентная схема синхрогенератора.
Вот нарисовал приблизительную схему формирования текстового режима (см. вложение).
Опишу то, как я это вижу. По сути у меня синхронная схема доступа к памяти. Память работает как бы в турбо режиме (6,25МГц). Память разделена на два банка, четный байт и нечетный. Сигнал H1(6,25МГц) как и в Спеке отвечает за доступ к памяти H1 =0 - обращается процессор, H1 =1 обращается видеоконтроллер.
Сигнал H2(3,125 МГц) отвечает за считывание видеоданных. А именно, при H2 =0 считывается код символа(четный байт) и его цвет (нечетный байт).
При H2 =1 происходит считывания видеоинформации из знакогенератора.
Так, как память как бы линейна, т.е. вторая строка текста идет непосредственно за первой, то пришлось применить сумматоры. Но вроде получилось все изящно
На картинке как бы теоретически выглядят некоторые сигналы.
Вобщем смотрите, желательно поразбираться в схеме. Вдруг что упустил
И еще вот небольшая табличка раскладки текстовых строк
Код:V8 V7 V6 V5 V4 H9 H8 H7 H6 H5 H4 H3 VA11 VA10 VA9 VA8 VA7 VA6 VA5 VA4 VA3 VA2 VA1 VA0 0 0 0 0 0 0 0 0 0 0 0 0 - 1 строка 000h -> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 - 2 строка 0A0h -> 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 - 3 строка 140h -> 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 - 4 строка 1E0h -> 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 - 5 строка 280h -> 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 - 6 строка 320h -> 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 - 7 строка 3C0h -> 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 - 8 строка 460h -> 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 - 9 строка 500h -> 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 - 10 строка 5A0h -> 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 - 11 строка 640h -> 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 - 12 строка 6E0h -> 0 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 - 13 строка 780h -> 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 - 14 строка 820h -> 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 - 15 строка 8C0h -> 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 - 16 строка 960h -> 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 - 17 строка A00h -> 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 - 18 строка AA0h -> 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 - 19 строка B40h -> 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 - 20 строка BE0h -> 1 0 1 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 - 21 строка C80h -> 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 - 22 строка D20h -> 1 1 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 - 23 строка DC0h -> 1 1 0 1 1 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 - 24 строка E60h -> 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 - 25 строка F00h -> 1 1 1 1 0 0 0 0 0 0 0 0 V8 V7 V6 V5 V4 H9 H8 + 0 0 V8 V7 V6 V5 V4 VA11 VA10 VA9 VA8 VA7 VA6 VA5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 1 строка 000h -> 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 - 2 строка 0A0h -> 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 - 3 строка 140h -> 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 - 4 строка 1E0h -> 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 - 5 строка 280h -> 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 - 6 строка 320h -> 0 0 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 - 7 строка 3C0h -> 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 - 8 строка 460h -> 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 - 9 строка 500h -> 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 - 10 строка 5A0h -> 0 1 0 1 1 0 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 - 11 строка 640h -> 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 - 12 строка 6E0h -> 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 - 13 строка 780h -> 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 - 14 строка 820h -> 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 - 15 строка 8C0h -> 1 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 - 16 строка 960h -> 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 - 17 строка A00h -> 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 - 18 строка AA0h -> 1 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 - 19 строка B40h -> 1 0 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0 1 1 - 20 строка BE0h -> 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 - 21 строка C80h -> 1 1 0 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 - 22 строка D20h -> 1 1 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 1 0 - 23 строка DC0h -> 1 1 0 1 1 1 0 1 0 1 1 1 0 0 0 0 1 0 1 1 1 - 24 строка E60h -> 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 - 25 строка F00h -> 1 1 1 1 0 0 0






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