Random addressing of the screen area

ZXNet echo conference «real.speccy»

From Ruslan Abdullaev To All 1 June 2004

Hello, All.

Is it possible on the Spectrum to implement a hardware
random addressing mode for the screen area? The simplest option,
which will allow you to display the screen from any page of RAM,
is not difficult to implement, in my opinion.
;conditional example of mode control
ld bc,SomePort
ld a,SomePage
out (c),a
;SomePage is an arbitrary page number in which the screen area is located from address
#c000.

How much more difficult is the implementation of the following options.

;conditional example of mode control
ld bc,SomePort
ld a, ScrAdr/256; high byte of the screen area address (#40-#FF)
out (c),a

In this option, by writing to the high address port,
the current read address of the video memory changes. In this case, it is necessary
to first enable the corresponding RAM page.

or a more radical option, but a less flexible option.

;conditional example of mode control
ld bc,SomePort
ld a,%xxxxyyyy
out (c),a

;where yyyy is the RAM page number, and xxxx is the high byte of the address
of the screen area (#40-#F0). The truth in this option is a limited
range of addresses, from #4000 to #f000, in increments of #1000.


ra.id


--
Subject to mail @mail.ru - http://talk.mail.ru