<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>