Ciao ragazzi, sono nuovamente qui a chiedere una vostra indicazione...spero non mi maledirete...
Sono alle prese con i miei esperimentucoli di programmazione assembly e in questo momento sto provando un pò di programmazione a livello base del SID, al momento ho scritto una semplicissima melodia con una sola voce (che per ora non usa nemmeno le interruzioni del timer per la temporizzazione) che però mi lascia un pò perplesso: mi sembra di notare un certo ritardo tra il primo settaggio del suono e la sua riproduzione (questo in Vice v.1.6, in CCS non si presenta il problema), non so se questa è una caratteristica dell'emulazione del sintetizzatore sotto Vice oppure se sto sbagliando qualcosa, ho provato a leggere un pò di documentazione ma non si fa accenno a questo fenomeno... Il codice che sto utilizzando è riportato sotto... si nota il ritardo tra la stampa del carattere e l'inizio della melodia... secondo voi è qualcosa legato all'emulatore o sono io che sbaglio nella programmazione? Vi ringrazio ancora una volta per la disponibilità. Ciao! Fabrizio.
fl = $d400 ; freq low
fh = $d401 ; freq hi
vol = $d418 ; volume
ad = $d405 ; attack-decay
sr = $d406 ; sustain-release
wave = $d404 ; forma onda
* = $c000
sei ; disabilto interruzioni
lda #$0f; volume a 15 (max)
sta vol
lda #$00; attack-decay (2ms, 6ms)
sta ad ; vale per tutto il brano
lda #$98; sustain-release (0.25s e 0.30s)
sta sr
ldy #$00
lda #113
jsr $ffd2; segnala a video la partenza
play lda music,y; carica nota
sta fh
iny
lda music,y
sta fl
lda #17 ; forma d'onda triangolo
sta wave
iny
ldx #$ff
pausa lda music,y; ritardo
pausa_ nop
sbc #$01
bne pausa_
dex
bne pausa
iny
cpy #$8d; prosegui
bne play
lda #16 ; forma d'onda reset
sta wave
cli
rts
music .byte 13,10,240, 14,162,60, 17,103,60, 16,109,60, 14,162,60, 19,137,120, 19,137,60
.byte 19,137,60, 21,237,60, 16,109,60, 17,103,60, 14,162,120, 14,162,120, 14,162,60
.byte 17,103,60, 16,109,60, 14,162,60, 13,10,60, 26,20,60, 24,157,60, 21,237,60
.byte 19,137,60, 17,103,60, 16,109,60, 14,162,60, 13,10,240, 14,162,60, 17,103,60
.byte 16,109,60, 14,162,60, 19,137,120, 19,137,120, 19,137,60, 21,237,60, 16,109,60
.byte 17,103,60, 14,162,120, 14,162,120, 14,162,60, 17,103,60, 16,109,60, 14,162,60
.byte 13,10,60, 19,137,60, 14,162,60, 16,109,60, 13,10,240