|
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 |