В этом исходнике (что в файле) экран вылазит за 0x7FFF - а что там у РК86, вроде ОЗУ уже нет?
//0x76D0 + (78*38=2964) = 0x8264
Может в этом проблема?
В моём тестовом примере адрес экранной области можно указывать произвольный, тем самым не загоняя себя в рамки стандартного экрана. А зачем вообще его помещать с адреса 0x76DO? Пускай там живёт экран Монитора.
Ну или если очень надо, то применять спецсимволы 0xF0, 0xF1, 0xF2 и 0xF3. Тогда нужно пересчитать размер экранной области пересылаемой контроллером ПДП.
- - - Добавлено - - -
0x07 = UUUU_LLLL = 0000_0111
0000 - линия подчёркивания = 1
0111 - линий в строке = 8
0x73 = M_F_CC_ZZZZ = 0_1_11_0011
0 - символ выводится нормально, без сдвига
1 - атрибуты отображаются в виде пустого знакоместа
11 - курсор немигающее подчёркивание
0011 - 8 символов в строчном синхроимпульсе
Вот тут всё расписано http://emuverse.ru/wiki/Intel_8275/Документация. См. параметры команды Сброс.
- - - Добавлено - - -
= 0x4B93, где 0x4 это вид обмена ПДП (чтение), а 0xB93 = 2963 (78*38=2964 байта для пересылки контроллером ПДП в экранную область).
Вроде так. Подробнее тут http://emuverse.ru/wiki/Intel_8257/Документация
- - - Добавлено - - -
Это просто способ получить для ассемблера старший и младший байт начала экранной области.





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