Subject: RE: [stella] need 1 cycle From: Glenn Saunders <mos6507@xxxxxxxxx> Date: Sun, 21 Aug 2005 04:38:20 -0400 |
I was able to fix this by doing two things. First, I moved the instruction to sta.w COLUPF back so that it actually occurs at the top of the loop. This also involved adding the last line of the loop that loads the color _above_ the loop. Then I reordered the instructions so the playfield colors work just right to enable two playfield pixels on the left and right of the score for the gear indicators. However, I still noticed a 1-pixel wide fringe of blue bleeding into the right score, and 1-pixel of corrupt graphics on the tens digit of the left score. So I got sneaky. I squeezed the font together by 1 pixel! So now the display is rock solid and the font still looks okay. So in the enclosed binary I added the Color/BW code so you can see that all 3 elements are dynamic. And I added the missiles in. Since they are a mask, you only see the copy of each missile that is on top of the playfield. I'm thinking toggling the missile would be the best visual indicator of reverse gear, with the missile indicating reverse. BTW, I can not move the indicators further to the edge because on the right, the playfield color is switching to red way before the scanline ends. So this is about as good as it's going to get. This kernel is only BARELY possible within the timing constraints. The two LAX instructions look like they save 4 cycles which is an eternity here. Boy am I relieved that this display code is going to work. I didn't come up with 99.9% of this code but it feels satisfying to have been able to successfully customize it this way. Thanks you Thomas! here is the fixed snippet: lda Car0_Color ; 3 .loopScore: sta.w COLUPF ; 3 @07 lax (ptrScore+10),y ; 5 txs ; 2 lax (ptrScore+ 4),y ; 5 lda (ptrScore+ 0),y ; 5 sta GRP0 ; 3 @15 lda (ptrScore+ 6),y ; 5 sta GRP1 ; 3 @23 lda (ptrScore+ 2),y ; 5 sta GRP0 ; 3 @31 lda (ptrScore+ 8),y ; 5 sta GRP1 ; 3 @39 lda Timer_Color;#$0f;Timer_Color ; 2 stx GRP0 ; 3 @47 sta COLUPF ; 3 @44 tsx lda Car1_Color;#$dc ; 2 stx GRP1 ; 3 @54 sta COLUPF ; 3 @57 ;SLEEP 6 ; 2 lda Car0_Color ; 3 dey ; 2 bpl .loopScore ; 23 __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://stella.biglist.com [demime 1.01d removed an attachment of type application/x-zip which had a name of score_3x2_07.zip]
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [stella] need 1 cycle, Fred Quimby | Thread | Re: [stella] need 1 cycle, Thomas Jentzsch |
[stella] Atari non-interlaced frame, SeaGtGruff | Date | Re: [stella] Atari non-interlaced f, Eric Ball |
Month |