Contenidos
Introducción
Hola. Primero bajarse el Chipdisk para darse una idea de lo que abarca el cursito:
Listo, empecemos. Tocar un sid en una Commodore 64 es muy sencillo:
setup:
sei ; prohibir interrupciones
lda #<irq_vector ; setear vector IRQ para ser llamado
sta $0314 ; una vez por cada refresh de pantalla
lda #>irq_vector
sta $0315 ; el vector $314/$315 apunta a la rutina raster IRQ
lda #$00
jsr $1000 ; inicializar sid para que toque canción 0
; ya que un sid puede tener más de una canción
cli ; habilitar interrupciones nuevamente
rts
irq_vector:
asl $d019 ; ACK interrupción de raster
jsr $1003 ; llamar a tocar el sid
jmp $ea31 ; salir de la interrupción
...y listo. Cada sid sabe tocarse solo, ya que un sid es código + data. La llamada jsr $1003 hace toda la magia, y ese código esta dentro del sid.
Lo complicado de hacer un Chipdisk, no es tocar el sid, sino todo lo demás. Veamos el porqué.