sidreloc.exe -f -k -p 40 InfilePageXY.sid OutfileTo4000.sid pause
*= $c000 InitAddress bne +; Accumulator not Zero -> 2nd tune lda #<$1003; 1st PlayAdress LowByte sta PlayAdress+1 lda #>$1003; 1st PlayAdress HighByte sta PlayAdress+2 jmp $1000; 1st tune's init address no JSR/RTS as Init should end with RTS + lda #<$2003; 2nd tune's play adress sta PlayAdress+1 lda #>$2003 sta PlayAdress+2 jmp $2000; 2nd tune's init no JSR/RTS as Init should end with RTS *= $c080 PlayAdress jmp $1003; JMP because play routine ends with RTS
!to "BT2rmx.prg", cbm * = 1000 !bin "BT2-1r.sid",, $7c+2 * = 2100 !bin "bt2-2r.sid" * = 3300 !bin "bt2-3r.sid" * = 4400 !bin "bt2-4r.sid" * = 5500 !bin "bt2-5r.sid" * = 6600 !bin "bt2-6r.sid" * = 7700 !bin "bt2-7r.sid" *= $1000 InitAddress bne +; Accumulator not Zero -> 2nd tune lda #<$1003 sta PlayAdress+1 lda #>$1003 sta PlayAdress+2 jmp $1000; no JSR/RTS as Init should end with RTS + jsr $2100; 2 init adress lda #<$2103 sta PlayAdress+3 lda #>$2103 sta PlayAdress+4 jmp $2100; + jsr $3300; 3 init adress lda #<$3303 sta PlayAdress+5 lda #>$3303 sta PlayAdress+6 jmp $3300; + jsr $4400; 4 init adress lda #<$4403 sta PlayAdress+7 lda #>$4403 sta PlayAdress+8 jmp $4400; + jsr $5500; 5 init adress lda #<$5503 sta PlayAdress+9 lda #>$5503 sta PlayAdress+10 jmp $5500; + jsr $6600; 6 init adress lda #<$6603 sta PlayAdress+11 lda #>$6603 sta PlayAdress+12 jmp $6600; + jsr $7700; 7 init adress lda #<$7703 sta PlayAdress+13 lda #>$7703 sta PlayAdress+14 jmp $7700; *= $c080 PlayAdress jmp $1003; JMP because play routine ends with RTS
sei lda #$00 tax tay jsr $1000 again lda #$40 cmp $d012 bne *-3 inc $d020 jsr $1003 dec $d020 jmp again
,, $7c+2