Originally posted by autoclean JML Pain3 bytes were the difference between this patch not needing freespace, after optimizing the original routine.
I would be
very surprised if one couldn't wring
at least three spare bytes out of this patch. Given some quick poking at, would this not work:
CodeJSR $D378
LDA !15A0,x
ORA !186C,x
BNE DontDraw
TXA
AND #$03
PHA
TAY
LDA $F3E2,y
LDY !157C,x
ORA $F3E0,y
;STA $02 ; -2 bytes
XBA ; +1 byte
PLY
LDA $F3E6,y
TAY
XBA ; \
STA $0203|!addr,y ; / +4 bytes
REP #$20 ; +2 bytes
LDA $00
STA $0200|!addr,y
;LDA $01 ; \
;STA $0201|!addr,y ; / -5 bytes
SEP #$20 ; +2 bytes
PHY
LDY !1602,x
LDA $F3DB,y
PLY
STA $0202|!addr,y
;LDA $02 ; \
;STA $0203|!addr,y ; / -5 bytes
TYA
LSR #2
TAY
LDA #$00
STA $0420|!addr,y
DontDraw:
; 9 bytes added, 12 bytes saved, 3 bytes shorter overall
Follow Us On