Лучше выходить из формирования экрана раньше, тогда - да, размер по вертикали будет меньше.
Постом выше я ошибочно вышел из 170-й строки, хотя планировал выйти - из 192-й...
Только необходимо будет гасящим импульсом компенсировать размер по вертикали.
А кадр размером 256х256 выглядит вот так:
Собственно, под такой размер это всё изначально и проектировалось...
В общем затеялся я выполнить этот проект, чтобы убедиться, что в СССР при желании могли сделать что-то типа
zx80 (
zx81) но на микропроцессоре
К580ВМ80А.
Собственно, этот проект как есть - хороший аналог
zx80, но с графическим экраном.
Да, я понимаю, что в то время память была дорогой, поэтому у
zx80 экран алфавитно-цифровой.
Если в программную генерацию импульса обратного хода по кадру добавить опрос клавиатуры, то получится полная
аналогия действий
zx80: микропроцессор формирует изображение программно-аппаратно, и если его послали что-то
делать - он отображение видео бросает и экран гаснет.
Выйдя из задачи, микропроцессор снова формирует изображение и опрашивает клавиатуру...
В оригинальном проекте у меня было устройство для ввода информации в проект из файла.
В Протеусе такой фичи нет, поэтому вместо видео-ОЗУ подключено ПЗУ, а видео-информация в него заложена
заранее из файла
C000RAM.bin.
В этом файле изображение находится по смещению
4000Н, в экране оно - по адресу
0C000H до
0EFFFH.
Структура экрана следующая: каждые 32 байта от начала (два параграфа) - это изображение по строке.
Следующие 16 байт микропроцессор исполняет - это расчитаный по тактам импульс обратного хода по строке.
И так далее: следующие 32 байта - изображение, 16 байт - импульс обратного хода по строке...
Изображение
256х256 точек черно-белое.
Чтобы прекратить генерацию изображения, надо передать управление на адрес за диапазон
0C000H...
0EFFFH.
Я передаю на адрес
0BFF0H, поскольку предполагаю, что с адреса
0F000H до
0FFDFH будет системное ПЗУ.
Порты ввода-вывода, как в ПК "
Специалист-МХ", расположены по адресам
0FFE0H...0FFFFH .
Хотел я написать утилиту, формирующую из
*.bmp файла
*.bin-файл структуры экрана, но
Венда 7 меня подвела.
А с понедельника мне будет довольно-таки некогда этим всем заниматься...
Поэтому - вот файлы проекта, выполненного под
Proteus 6.7 Pro:
При запуске - светодиод внизу моргает синим - отработал обратный ход по кадру, после чего следует уверенно
нажать
кнопку INT - начнётся генерация изображения.
Долго лучше не ждать, данная модель дисплея нуждается в кадровом импульсе О.Х. - сбрасывает буфер.
Без кадрового буфер переполняется и проект падает. Модель дисплея я взял как есть из проекта
Galaksija здесь
на форуме, там такое предупреждение было, и факт имеет место быть...