Ну вот такой момент я вижу так. Цикл регенерации задаётся перебором адресов байтов в тв. строке Н3-Н7 от 0 до 31. Номер знакоместной строки задаются V3-V5 от 0 до 7. Во временном интервале пока V3 = 0 проходит 8 циклов Н3-Н7.(выводит на экран 8 строк, но регенерирует 32 одни и те же адреса 8 раз подряд из за V3 = 0) далее V3 = 1 проходит ещё 8 циклов (выводит на экран ещё 8 строк, регенерирует следующие 32 одни и те же адреса 8 раз подряд из за V3 = 1). И так ещё 2 раза пока V5 будет равен 0. Пока V5 равен 0 происходит перебор 128 адресов. В итоге цикл регенерации проходит за время вывода на экран 32 теле строк(4 знакоместные строки). При выводе на экран 312 строк регенерация произойдёт 9,75 раз. 32 строки множим на 9 полных циклов получаем 288 строк с полным циклом регенерации. Время регенерации в этих 9 циклах составит 32 строки умноженное на 64 микросекунды равно 2,048 миллисекунды. В не законченном цикле время удваивается для четверти адресов.
В каком месте видео контроллер может выбрать 4 теле строки подряд с перебором 128 адресов?
Ответ ни в каком, он так не работает.
Возьми к примеру 1 знакоместо в экранной области.
1 телестрока 1 знакоместо имеет адрес #4000 двоичный 01000000 00000000
2 телестрока 1 знакоместо имеет адрес #4100 двоичный 01000001 00000000
3 телестрока 1 знакоместо имеет адрес #4200 двоичный 01000010 00000000
4 телестрока 1 знакоместо имеет адрес #4300 двоичный 01000011 00000000
5 телестрока 1 знакоместо имеет адрес #4400 двоичный 01000100 00000000
6 телестрока 1 знакоместо имеет адрес #4500 двоичный 01000101 00000000
7 телестрока 1 знакоместо имеет адрес #4600 двоичный 01000110 00000000
8 телестрока 1 знакоместо имеет адрес #4700 двоичный 01000111 00000000
Заметь младший байт не меняется от строки к строке, а ведь он ответственен за регенерацию.
Думать, что всё довольно просто, не значит знать.
Вы напишите что именно вам непонятно, я объясню.





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