Per essere più precisi una soluzione senza fare troppe modifiche ci sarebbe...
devi semplicemente rilocare il file...
In altre parole sostituisci
org $1000-2
incbin "music.sid"
con
org $1000-124
incbin "music.sid"
e così dovrebbe funzionare!
(io in questo momento non posso provare perchè scrivo da un computer non mio, quindi se non è 124 prova o con 123 o con 125, ma stai sicuro che funzionerà).
Un alternativa sarebbe quella di far caricare il file dall'indirizzo contenuto nell'header del file sid (anche se non è un header, ma un testo indicante la scritta "PSID") e cioè:
org $5350
incbin "music.sid"
e quindi rilocare il tutto tramite un'apposita routine subito dopo il tuo "sei":
ldx #$00
ciclo lda $53cc,x
sta $1000,x
lda $54cc,x
sta $1100,x
lda $55cc,x
sta $1200,x
lda $56cc,x
sta $1300,x
lda $57cc,x
sta $1400,x
lda $58cc,x
sta $1500,x
lda $59cc,x
sta $1600,x
lda $5acc,x
sta $1700,x
lda $5bcc,x
sta $1800,x
dex
bne ciclo
e continuare con la tua routine. In questo modo la parte del file sid che realmente ti interessa verrebbe correttamente "locata" a partire da $1000 e stavolta il tuo jsr $1000 funzionerebbe.
Tiene a mente che affinchè tu possa sentire un qualche suono è necessario che ad ogni frame video tu esegua un semplice salto "jsr 1003", altrimenti non sentirai mai nulla.
Se vuoi fare una prova, basta che inserisci una routine del tipo:
suona lda #$ff
frame cmp $d012
bne frame
jsr $1003 ;suona la musica
jmp suona
Fammi sapere. A limite più tardi (dal mio computer) ti assemblo il file correttamente e te lo allego... ma secondo me, almeno questo lo dovresti fare tu!!!
Buona serata.