Date : Fri, 09 Dec 1994 14:14:09 GMT
From : David Alan Gilbert <gilbertd@...>
Subject: Re: Screen updates on Changes
> From lamcw%sun.aston.ac.uk@... Fri Dec 9 14:08:54 1994
> From: lamcw <lamcw@...>
> Date: Fri, 9 Dec 1994 14:03:34 +0000
> To: bbc-emu@...
> Subject: RE: Screen updates on Changes
> X-Sun-Charset: US-ASCII
> Content-Length: 1880
> X-Lines: 43
>
>
> Dave Barnett wrote:
>
> ;The overhead is very small. Suppose the screen is divided into a 4*4 or
> ;8*8 Grid (or even into a number of horizontal bands). A screen write would
> ;mark the region on the changed list.
>
> Okay, this means we need to trap any opcodes which alters beeb's vram.
> Off the top of my head these will include STA, STX, STY, ASL, LSR, ROL, ROR
> and maybe a few others. Say we divide the screen up into a 2 x 2 grid. We
> need to work out the start of vram, subtract that from &8000 and then work
> out the address boundries. So for each of the opcodes above, we need to include
> 4 IFs, i.e.
Using only the currently active 'vram' bit is not sufficient - scrolling
and double
buffering would kill it. What I would do would be to divide the whole of
RAM into 256
byte pages, and have a changed flag for each page - this should simplify
the process
a lot.
Dave