|
Subject: Re: [stella] Space Treat with score From: Thomas Jentzsch <tjentzsch@xxxxxx> Date: Tue, 31 Dec 2002 11:17:43 +0100 |
Fabrizio wrote:
>Tasty optimizations to work on... thanks! :)
Here is another one. :-)
Instead of writing ten times something like
LDA <#SoundMovePlayer
STA SoundChannel0Ptr
LDA >#SoundMovePlayer
STA SoundChannel0Ptr+1
JSR ActivateChannel0
you should use an index here and load the values from a table:
ldy #SOUND_MOVEPLAYER ; = 0
jsr ActivateChannel0
...
SetSoundPtr
lda SoundTbl_Lo,y
sta SoundChannel0Ptr
lda SoundTbl_Hi,y
sta SoundChannel0Ptr+1
LDY #0 ; save two extra bytes
rts
ActivateChannel0
jsr SetSoundPtr
LDA (SoundChannel0Ptr),Y
STA SoundChannel0Cnt ; Load index to the sound data...
INY
STY SoundChannel0Delay ; ...and start sound
LDA (SoundChannel0Ptr),Y
STA AUDC0
RTS
ActivateChannel1
jsr SetSoundPtr
LDA (SoundChannel1Ptr),Y
STA SoundChannel1Cnt ; Load index to the sound data...
INY
STY SoundChannel1Delay ; ...and start sound
LDA (SoundChannel1Ptr),Y
STA AUDC1
RTS
Then you'd save 6 bytes with every subroutine call and need two
bytes for the table. That gives 4 saved bytes/call (or 40 bytes
in total). The new code requires 19 bytes and saves 4 bytes. So
you gain (at least) 25 bytes here.
SoundTbl_Lo:
<SoundMovePlayer, <SoundIntro,...
SoundTbl_Hi:
>SoundMovePlayer, >SoundIntro,...
And if you put all sounds into one page, you don't need the hi-
table and only have to set the hi-pointer once.
And with some rather weird optimizations (e.g. using X as an
index for the channels) there are a few bytes more to gain.
Have fun!
Thomas
----------------------------------------------------------------------------------------------
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] Space Treat with score, Fabrizio Zavagli | Thread | Re: [stella] Space Treat with score, Fabrizio Zavagli |
| Re: [stella] Space Treat with score, Thomas Jentzsch | Date | Re: [stella] Space Treat with score, Fabrizio Zavagli |
| Month |