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 |