|
Subject: [stella] RESBL strangeness From: "Eric Ball" <eball@xxxxxxxxxx> Date: Thu, 10 Oct 2002 14:31:11 -0400 |
I've been working on adding a skeleton direction pointer to Skeleton.
(status: PAL version working, just adding a couple of enhancements, need to
migrate some of the changes made in the PAL version (less than 181 bytes
free) back to the NTSC version.) The direction pointer is done using the
ball sprite, but I am seeing some very strange behaviour. Here are the
code extracts:
LDA #$31 ; ball width = 8
STA CTRLPF ; reflect playfield
BEQ PBALL1 ; 0=center (ahead)
BPL PBALL2 ; +=right, -=left
LDY #3 ; 3 * 8 * 3 - 68 = pixels 4-11
BNE PBALL3
PBALL1 LDY #6 ; 6 * 8 * 3 - 68 = pixels 76-83
BNE PBALL3
PBALL2 LDY #9 ; 9 * 8 * 3 - 68 = pixels 148-155
STY WSYNC ; -0
STY RESBL ; -2
PBALL0 DEY ; +2
STY RESBL ; +3
BNE PBALL0 ; +2/3
RTS
The kernel then uses ENABL to turn on the ball for the right rows to
indicate ahead/side/behind. The unconventional RESBL loop gives me an 8y
CPU cycle delay. Everything looks right, but both Z26 and Cyberstella
don't agree.
First, left doesn't show up. If I change the LDY #3 to LDY #4, then the
ball shows up, but it seems thinner than the center & right balls (~4
pixels rather than 8 pixles). Right is also all the way to the edge of the
screen (pixels 152-159). I don't have a good way to see if center is
actually on center & the right width.
Does anyone have any suggestions? I can handle an HMOVE to tweak the
position, but the behaviour for left is beyond me.
----------------------------------------------------------------------------------------------
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [stella] Star Fire: Cockpit View, Manuel Polik | Thread | [stella] RESBL strangeness, partial, Eric Ball |
| Re: [stella] Is the FAQ being maint, Eric Ball | Date | [stella] RESBL strangeness, partial, Eric Ball |
| Month |