Re: [stella] sexp8.bin Multi-Japanese Sprites.

Subject: Re: [stella] sexp8.bin Multi-Japanese Sprites.
From: Eckhard Stolberg <Eckhard_Stolberg@xxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 18 Apr 1998 14:25:04 +0200
At 01:01 18.04.98 -0400, you wrote:

>Some problems I still have to work out. For some reason the top of each
>sprite gets cut off in the first few inches of the screen. It also
>pauses slightly on the left hand side.

I think, this means it's cycle counting time for you now.

The sprite gets cut off, because the first scanline uses more
cycles than the rest. This is because you set up the pointers 
etc. in that scanline. You need to move the STA WSYNC in the
first line of the loop.

The sprites get paused on the left, because your delay loop
is too short with low values. The STA RESP0 ends within the
horizontal blanking time. In that case the sprite gets positioned
on the left side of the screen. If you have several values, that
are too low, the sprite stays there for several moving rounds.

Also your program looses colour on PAL. It would be nice, if
you could make sure, that you do an even number of scanlines
in each frame.

>But now that I've gotten this taken care of, I'll work on making a
>fine tuned HMOVE version. But can it be done all on one scanline?
>The SoundX routine was too big.

Fine movement always takes a little more than one scanline.
You could store the value for HMOVE in the high nibble of
a byte and the value for the delay loop in the low nibble of 
that byte. Than the positioning routine would look like:

   STA WSYNC
   LDA position
   STA HMP0
   AND #$0F
   TAY
L: DEY
   BPL L
   STA RESP0
   STA WSYNC
   STA HMOVE

I don't think positioning can be done much faster.


I don't speak Japaneese, but I tried typing very slowly, so
that you can understand, what I wrote. :-)


Auf Wiedersehen, Eckhard Stolberg

  


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

Current Thread