Subject: Re: [stella] single digit scoring... From: KirkIsrael@xxxxxxxxxxxxx Date: 26 Aug 2003 02:27:52 -0000 |
Thanks for all your help so far...I got it working, but the hacking to get the display quite right alarms me. And when I tried to make it less hacky, I had some odd results, maybe someone wants to look, it's kind of intruguing. I find that Erik's line LDA (pointerP0ScoreOffset), Y won't assemble... "Illegal Addressing mode" for that line, alas So Chris's suggestion seemed to be the next best match for my thinking. Except since it requires a dedicated register for the memory offset, and I want to draw two scores, I decided to just do a single nonlooping "5 line kernal". You can get the full source and a binary at http://alienbill.com/joustpong , final entry at the bottom. I made it so every time you hit the button, both player's score advance, so you can see all 10 digits. The relevant (I think! ;-) lines are: ;early on...do I still need to have 2 bytes for each of these? pointerP0ScoreOffset = $92 pointerP1ScoreOffset = $94 ; ; in the vblank... ; ;-------------------------------------- ;CALCULATE SCORE POINTERS ;-------------------------------------- LDA p0score ;accumulator = score ASL ;accumulator = score * 2 ASL ;accumulator = score * 4 ADC p0score ;accumulator = (score * 4) + score = score * 5 STA pointerP0ScoreOffset LDA p1score ;accumulator = score ASL ;accumulator = score * 2 ASL ;accumulator = score * 4 ADC p1score ;accumulator = (score * 4) + score = score * 5 STA pointerP1ScoreOffset ;;;;;;;;;;;;;;then at the top of the kernal: ;-------------------------------------- ;SCORE DISPLAY KERNAL ;-------------------------------------- STA WSYNC LDX pointerP0ScoreOffset LDY pointerP1ScoreOffset INX INX INX INX INY INY INY INY STA WSYNC LDA Score0Graphic,X STA GRP0 LDA Score0Graphic,Y STA GRP1 DEY DEX STA WSYNC LDA Score0Graphic,X STA GRP0 LDA Score0Graphic,Y STA GRP1 DEY DEX STA WSYNC LDA Score0Graphic,X STA GRP0 LDA Score0Graphic,Y STA GRP1 DEY DEX STA WSYNC LDA Score0Graphic,X STA GRP0 LDA Score0Graphic,Y STA GRP1 DEY DEX STA WSYNC LDA Score0Graphic,X STA GRP0 LDA Score0Graphic,Y STA GRP1 DEY DEX STA WSYNC LDA Score0Graphic,X STA GRP0 LDA Score0Graphic,Y STA GRP1 DEY DEX LDA #0 STA GRP0 STA GRP1 STA WSYNC STA WSYNC STA WSYNC STA WSYNC ;flip p1 before game kernal LDA #%00001000 STA REFP1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; I think I'm playing way too fast and lose with the time or something... because when I tried to remove all the INX and INY and use Score0Graphic+4 instead, it more or less worked fine, EXCEPT the left most pixel of only the "0" digit was missing! Which doesn't make any kind of intuitive sense to me. Oy, anyway, I'm happy to see it more or less working, I welcome any suggestions for tweaks to it. (I'm probably not going to start down a totally different path if I can avoid it.) Also, Z26 reports a pretty steady 242 scanlines...that's too few, innit? Hrrm. Thanks for your help! You guys are such a supportive bunch for blunderers like me.... -Kirk -- "My mind is especially empty today." --goofy looking buddhist monk to second monk, New Yorker cartoon ---------------------------------------------------------------------------------------------- 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 -> |
---|---|---|
Re: [stella] single digit scoring.., Dennis Debro | Thread | Re: [stella] single digit scoring.., Andrew Davie |
Re: [stella] single digit scoring.., Eckhard Stolberg | Date | Re: [stella] single digit scoring.., Andrew Davie |
Month |