это так забавно...
изучил код этой "аппаратной прокрутки"...
в общем, смотрите сами:
Код:
...
тут инициализация контроллеров,
хотя она ничем не отличается от Мониторной версии
...
0037: 21 C1 77 LXI H, 77C1h ; 30657
003A: 11 00 01 LXI D, data
003D: LBL2: ; [2]
...
всякий код
...
0053: 1A LDAX D
0054: E6 7F ANI 7Fh ; 127 ; '█'
0056: 77 MOV M, A
...
всякий код
...
0076: 1A LDAX D
0077: 77 MOV M, A
0078: 13 INX D
0079: 23 INX H
...
всякий код
...
00A3: C3 3D 00 JMP LBL2
...
0100: data:
тут данные того, что выводится на экран
полная версия в архиве.
и нет, цикл LBL2 -- это не начальная инициализация экрана. этот цикл крутится постоянно и только благодаря ему двигается экран. "DMA-SCROLL - NO MEMOY MOVES !!" как говорится.
и вот пара скринов из консоли эмулятора, что творится в видеопамяти через несколько итераций:
и нет никакого перемещения видеопамяти, ага-ага... А-а-а! Это другое!