Произвольная адресация экранной области

ZXNet echo conference «real.speccy»

From Ruslan Abdullaev To All 1 June 2004

Здравствуй, All.

Возможна ли на Спектруме, аппаратная реализация режима
произвольной адресации экранной области. Простейший вариант,
который позволит выводить экран из любой страницы ОЗУ,
реализовать, как мне кажется, не сложно.
;условный пример управления режимом
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.


ra.id


--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru