Re: [stella] Try this demo, please.

Subject: Re: [stella] Try this demo, please.
From: Eckhard Stolberg <Eckhard_Stolberg@xxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 01 Apr 2000 14:01:43 +0200
At 08:22 31.03.2000 -0800, you wrote:

>Thank you.  I will have to think about what to do in
>the case of writing 0 to RESPx, since that's what is
>causing the problem with the delay table.

The problem is not with what you write to RESPx, it's with when
you write something to it. If you use a value of 0 in the DEY/BPL
loop, the STA RESP0 will end at cycle 21. But the TIA will treat
it as if it had finished at cycle 22. Therefore the sprite will
be positioned three pixels further to the right than you think.
To fix the problem you simply have to change the fine coarse values
for all spots in your positioning table that have a value of 0 for
the DEY/BPL loop.

>How'd you figure that out? I've read about leaving
>fine coarse positioning registers alone until 24
>cycles after an HMOVE, but never anything about
>writing to GRPx within 24 cycles of a WSYNC. 
>Interesing.

What I meant was that you have to change the graphics and colour
registers before a sprite gets drawn, if you want these values to
take effect in the same scanline in which you write them to the
registers. You have a playfield border of four pixels, where the
sprite can't be positioned. Therefore you have to update the colour
and graphics registers before pixel five gets drawn. Pixel five
will be drawn at 24 processor cycles after the WSYNC.


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