Произвольная адресация экранной области
ZXNet echo conference «real.speccy»
From Ruslan Abdullaev → To All 1 June 2004
Возможна ли на Спектруме, аппаратная реализация режима
произвольной адресации экранной области. Простейший вариант,
который позволит выводить экран из любой страницы ОЗУ,
реализовать, как мне кажется, не сложно.
;условный пример управления режимом
ld bc,SomePort
ld a,SomePage
out (c),a
;SomePage - произвольный номер страницы, в которой с адреса
#c000 размещается экранная область.
Насколько сложнее реализация следующих вариантов.
;условный пример управления режимом
ld bc,SomePort
ld a, ScrAdr/256; старший байт адреса экранной области (#40-#FF)
out (c),a
В этом варианте, путем записи в порт старшего адреса,
меняется текущий адрес чтения видеопамяти. При этом, необходимо
предварительно включить соответствующую страницу ОЗУ.
или более радикальный вариант, но менее гибкий вариант.
;условный пример управления режимом
ld bc,SomePort
ld a,%xxxxyyyy
out (c),a
;где yyyy - номер страницы ОЗУ, а xxxx - старший байт адреса
экранной области (#40-#F0). Правда в этом варианте, ограниченный
диапозон адресов, с #4000 по #f000, с шагом #1000.
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru