Re: [stella] Unending VDEL hell

Subject: Re: [stella] Unending VDEL hell
From: "Eckhard Stolberg" <Eckhard_Stolberg@xxxxxx>
Date: Mon, 29 Apr 2002 16:59:51 +0200
> I tried to take Thomas' suggestions from a while back and implement them
> literally as I could, and no matter what I do I either get 1-scanline
> precision with the 2nd car down a line or both cars offset by 2 scanlines
> or on the same scanline but animating in 2-scanline jumps.

If you are trying to get double scanline display precision with
single scanline positioning precision, then the trick is to change
the state of the VDEL registers and the vertical object position
depending on whether the objects have to be displayed in the first
or the second scanline of you double scanline block.

You have to create a two line kernel. In the first line you write
to GRP0, and in the second line you write to GRP1. The writes have
to happen during the horizontal blank. If there are areas where
the players can't be positioned, then the writes can happen in these
areas too.

Now lets look at two double lines with different VDEL states. The
displayed value in each line would be like this:

               player0 display      player1 display
       write  VDELP0-on VDELP0-off VDELP1-on VDELP1-off
line1: P0=$01             $01
line2: P1=$01   $01       $01                  $01
line3: P0=$02   $01       $02        $01       $01
line4: P1=$02   $02       $02        $01       $02

So the rules that you can derive from that are:

P0 in line 1: VDELP0=off, start writing in this double line

P0 in line 2: VDELP0=on, start writing in this double line

P1 in line 1: VDELP1=on, start writing in previous double line

P1 in line 2: VDELP1=off, start writing in this double line

Ciao, Eckhard Stolberg

Archives (includes files) at
Unsub & more at

Current Thread