Re: [stella] VDEL

Subject: Re: [stella] VDEL
From: Eckhard Stolberg <Eckhard_Stolberg@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 26 Jul 2000 14:21:45 +0200
At 21:35 25.07.2000 -0700, you wrote:

>So if this diagram is correct, then what VDEL does is perform an INVERSE 
>function to the TIA latching, so that as long as you maintain an 
>interleaved kernel with P1 and P0 being updated on alternate lines (not 
>just alternate lines but flip flopping the alternation depending on where 
>each sprite needs to be) then this flip flopping plus VDEL provides the 
>necessary independent ability to shift sprites up or down a scanline.

It's probably too late by now, but anyway.

You almost got it, but not quite. The latching feature for TIA graphics
applys for both the normal and the delayed GRPx register.

If VDELP0=0, then the TIA takes the graphics for player0 from GRP0-A.
It continues to display this data in every scanline until the contends
of GRP0-A get changed. The contends of GRP0-A get changed by writing
to GRP0.

If VDELP0=1, then the TIA takes the graphics for player0 from GRP0-B.
It continues to display this data in every scanline until the contends
of GRP0-B get changed. The contends of GRP0-B get changed by writing
to GRP1 (data gets copied from GRP0-A).

So what VDEL actually does is to provide you with the possibility to put
the graphics data for one player on hold, so that you can apply the data
for both players with a single write to the graphics register of the player
with VDEL turned off.

Players with VDEL turned on will only get their graphics displayed, if you
write to the graphics register of the other player inbetween the writes to
the graphics register of the first player. This means that, even if you don't
want to diaplay a player in a frame, you still must write blank graphics
data to it's register in every other scanline, because the other player
might have VBLANK turned on.

Lets illustrate that with a table: 

line  action            register                     display
                     GRP0-A GRP0-B GRP1-A GRP1-B  VDELP0 VDELP0 VDELP1 VDELP1
                     00     00     00     00      0      1      0      1

1  write FF to GRP0  FF     00     00     00      FF     00     00     00
2  write EE to GRP1  FF     FF     EE     00      FF     FF     EE     00
3  write DD to GRP0  DD     FF     EE     EE      DD     FF     EE     EE
4  write CC to GRP1  DD     DD     CC     EE      DD     DD     CC     EE


Ciao, Eckhard Stolberg



--
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/

Current Thread