Продолжая начатую тему в этом посте 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 происходит считывания видеоинформации из знакогенератора.
Так, как память как бы линейна, т.е. вторая строка текста идет непосредственно за первой, то пришлось применить сумматоры. Но вроде получилось все изящно :)
На картинке как бы теоретически выглядят некоторые сигналы.
http://i072.radikal.ru/1305/60/6d3ada4cb9a7.gif
Вобщем смотрите, желательно поразбираться в схеме. Вдруг что упустил :)
И еще вот небольшая табличка раскладки текстовых строк
Код:
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

