|
Subject: Re: [stella] Qb: BETA 1.0 From: Thomas Jentzsch <tjentzsch@xxxxxx> Date: Fri, 2 Mar 2001 23:54:44 +0100 |
At 02.03.2001, 14:25, Andrew Davie wrote:
> I have about 4 bytes free, so if
> you see some savings let me know! Thanks to those who have recently posted
> optimisations - I will get to those shortly, if I haven't already done so.
Ok, here are some more suggestions... (all rights
reserved:)
1. There are several subroutines (SetFrame,
CountDown...), where you can do something like this:
SoundOff
ldy #SOUND_OFF
.byte $2c ; bit.w
SoundSliding
ldy #SOUND_SLIDING
Sound
2. Replace:
lda #0
jsr CountDown
With:
jsr CountDown0
...
bne NotEnd
CountDown0:
clc
lda PlayerCounter,x
...
3. move DoAI directly behind ChangeCreature and
eliminate jmp (this should be possible for other
subroutines too)
4. jsr MBlock
; lda #0
sta PF0 ; MBlock returns a=0
If you document the state of registers and flags when
returning you might find some more.
5. in SetupBottomScore change:
lda level
lsr
lsr
lsr
lsr
lsr
; clc
; adc #1
; sta S5
tax
inx
stx S5
6. in PointsInit change:
lda PlayerFlags,x
and #%1110 ; frame
; tay
; lda Point,y
; pha
; lda Point+1,y
; tay
; pla
tax
lda Point,x
ldy Point+1,x
7. it should be possible to replace some jumps with
branches, some code rearrangement should help there
too.
8. there are some place where you could eliminate rts.
Example:
NotSameC
cmp #1 ; 0 = carry C -> collision, else no collision
Incomplete
rts
WrapUp
; If the grid is complete (checked during MoveCube) then the player is informed
ldx MC_Complete
bne Incomplete
lda #MODE_PLAYER_LOCK+10
; jsr ChangeMode ; lock for completion (X=0)
jmp ChangeMode ; lock for completion (X=0)
;Incomplete
; rts
9. exchange x and y here:
ZapPF sta playfield,y
sta playfield+PFC,y
stx playfield+PFC+PFC,y
dey
bpl ZapPF
10: replace:
MTADone
;->64
ldx #3
jsr MBlock
jsr MBlock
jsr MBlock
jsr MBlock
with:
jsr MB4a
> But now, I think things are getting pretty tight :)
Yes, I think there aren't many more byte optimizations
left. Maybe with some redesign of larger parts of code
you could get some more bytes, but it's much easier for
you to find out.
Have fun!
Thomas
_______________________________________________________
Thomas Jentzsch | *** Every bit is sacred ! ***
tjentzsch at web dot de |
-
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] Qb: BETA 1.0, Eckhard Stolberg | Thread | Re: [stella] Qb: BETA 1.0, Andrew Davie |
| Re: [stella] Qb: BETA 1.0, Eckhard Stolberg | Date | RE: [stella] Little Help Here, Tempest |
| Month |