print "INIT ",pc RTL print "MAIN ",pc PHB ; \ PHK ; | main sprite function PLB ; | JSR START_SPRITE_CODE ; | PHX ; | PLB ; | RTL ; / ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; START_SPRITE_CODE: LDA #$27 ; \ STA $1DFB TAX ; hold song # in X STA $0DDA ;\ this stuff is required by romi's addmusic STA $1DFB ;| LDA #$11 ;| STA $0100 ;/ STZ $4200 ; disable NMI LDA $13BF ;\ stuff required by romi's addmusic PHA ;| STZ $13BF ;| LDA $0DAE ;| PHA ;| LDA $0DAF ;| PHA ;/ PHK ; We push our return address onto the stack PER RETURNADDR-1 TDC ;\ PHA ;| set bank 0 PLB ;/ TXA ; get song # back in A JML [$9741] ; We use the addmusic hijack RETURNADDR: PLA ; now just pull all this stuff back STA $0DAF PLA STA $0DAE LDA #$14 STA $0100 PLA STA $13BF LDA #$81 STA $4200 ; reenable NMI PLX STZ $14C8,x RTS