Per emettere il digitalizzato con il SID viene sfruttato il registro del volume che genera dei "pop" se acceso e spento, ripetuto velocemente con diversi valori (0-15) genera il digitalizzato.
Purtroppo essendo il registro del volume uno solo per tutte le voci, se contemporaneamente al digitalizzato deve suonare una nota con gli oscillatori, questa verra' emessa al volume che in quel momento ha il registro $d418, causando variazioni "noiose" come ad esempio in
/MUSICIANS/G/Galway_Martin/Game_Over.sid
La risoluzione dei samples su c64 e' di 4 bit, perche' il registro del volume prevede solo 16 valori, appunto 0-15.
Con il SID 6581 generare il digitalizzato e' piu' semplice che con il 8580, ma con un paio di accorgimenti anche con il nuovo chip e' possibile emettere digisamples.
Ultimamente hanno scoperto una nuova tecnica per emettere samples sfruttando ANCHE i registri delle 3 voci e non solo il registro del volume.
Bisogna sentire questi nuovi player di samples a 8bit in
/MUSICIANS/F/Fanta/Fanta_in_Space.sid
e nel demo Vicious SID
Ciao iAN CooG/HF, ciao a tutti
dunque, al secondo link avevo già dato un'occhiata (in quanto si parlava di come poter ottenere gli stessi risultati su entrambe le versioni del SID), il listato del primo link, più semplice, rende bene l'idea.
Non ho invece avuto occasione di ascoltare le demo che hai menzionato nel terzo link (mi sto ancora attrezzando).
Quel che però intendevo non era tanto il fatto di poter suonare campioni digitali a 4 bit controllando il livello del volume. La documentazione del SID parla di hard-conding quando spiega la funzionalità del bit di TEST; cercando di tradurre quanto più fedelmente dall'inglese, la documentazione recita:
ponendo a livello alto il bit di TEST, i registri relativi alla voce per la quale il bit è stato impostato, vengono tutti resettati. In particolare l'oscillatore viene posto ad un livello DC costante finché il bit di TEST non viene nuovamente posto a zero. Mentre il bit di TEST è impostato a livello alto, qualsiasi variazione di frequenza e qualsiasi impostazione di forma d'onda verrà ignorata.
Questo mi fa capire che potrei variare il volume di uscita del singolo oscillatore (sempre con 16 livelli da zero a 15) agendo sul parametro S del registro ADSR.
L'unica cosa di cui non sono sicuro è se le variazioni del parametro S vengano recepite anche con il ciclo di inviluppo già avviato (bit del GATE ad 1).
Ovviamente siamo sempre nell'ambito del "suonare un campione digitale" e siamo un po' lontanti dal sentire distintamente quattro timbri diversi (sentire, ad esempio, le song utilizzate nei loading di alcuni livello di Last Ninja II/System 3)
Che ne pensi?
Marcus