pushpc org $06FFF8 ; New Jumptable for sprites NewMainSprFunction: JSL SpriteActiveExp_MainLong RTS org $068EB9 NewSprPrepFunction: JSL Sprite_PrepExp_Long RTS pullpc SpriteActiveExp_MainLong: { PHB : PHK : PLB JSL NewSprTable PLB RTL } NewSprTable: { LDA $0E20, X ; Load Sprite ID REP #$30 AND.w #$00FF STA $06 ASL A ; *2 CLC : ADC $06 ; *3 TAY LDA NewSprRoutinesLong, Y ; Load sprite Address STA $06 SEP #$20 LDA NewSprRoutinesLong+2, Y STA $08 SEP #$30 JMP [$0006] ;do a JML and sprite will RTL back to previous code } Sprite_PrepExp_Long: { PHB : PHK : PLB JSL NewSprPrepTable PLB RTL } NewSprPrepTable: { LDA $0E20, X ; Load Sprite ID REP #$30 AND.w #$00FF STA $06 ASL A ; *2 CLC : ADC $06 ; *3 TAY LDA NewSprPrepRoutinesLong, Y ; Load sprite Address STA $06 SEP #$20 ; Previously SEP #$30 -_- (that's fine for sprites below ~0x40 over that it will crash) LDA NewSprPrepRoutinesLong+2, Y STA $08 SEP #$30 JMP [$0006] } NewSprRoutinesLong: { fillbyte $00 fill $2FD } NewSprPrepRoutinesLong: { fillbyte $00 fill $2FD }