lorom if read1($00FFD5) == $23 !SA1 = 1 sa1rom else !SA1 = 0 endif ; Example usage if !SA1 ; SA-1 base addresses ;Give thanks to absentCrowned for this: ;http://www.smwcentral.net/?p=viewthread&t=71953 !Base1 = $3000 ;>$0000-$00FF -> $3000-$30FF !Base2 = $6000 ;>$0100-$0FFF -> $6100-$6FFF and $1000-$1FFF -> $7000-$7FFF else ; Non SA-1 base addresses !Base1 = $0000 !Base2 = $0000 endif org $049037 ; runs whenever you move to a new tile PHX PHY PHP PHB REP #$30 LDX #$1EA2+!Base2 ;>bytes to take from LDY #$1F49+!Base2 ;>bytes to take to LDA.w #141-1 ;>how many bytes to transfer if !SA1 MVN $40,$40 ;>in banks else MVN $7E,$7E endif SEP #$30 PLB JSL $009BC9 PLP PLY PLX RTS warnpc $049058