L'unico OUT su porta pari è quello che eseguo per portare sullo speaker l'audio del filmato. Ovviamente se non attivo lo speaker non si sente nemmeno il rumore di sottofondo. In ogni caso filtrando tutti i bit del dato da inviare allo speaker tranne il bit 3 (and $08) il rumore di fondo si attenua molto. Lasciando solo il bit 4 (and $10) si sente solo il rumore di fondo a volume molto più alto. Sembra quindi che la ZXMMC+ generi involontariamente un cambio di stato del bit 4 della porta $fe quando legge dalla card. Purtroppo da software non è possibile fare molto. Quello che è peggio però è che durante la lettura dalla card viene in qualche modo inibita la porta $fd utilizzata dall'AY; infatti lo stesso codice utilizzato sia per la DivIDE sia per la ZXMMC+ non funziona su quest'ultima. Non è che potresti dare un'occhiata ai sorgenti del cpld e vedere se è possibile apportare qualche modifica che elimini le interferenze? PS: Allego i sorgenti del player e il relativo .tap allo stato attuale (funzionante ma spettinato...). Chi volesse provarlo può scaricare un filmato già pronto qui: http://divideo.zxdemo.org/divideo_outline_demo_dvo.zip Il filmato deve essere salvato su una sd card appena formattata per essere sicuri che non sia frammentato, dato che il player non interroga la FAT ma si limita a leggere sequenzialmente tutti i settori da quando trova l'inizio del filmato. Se volete generare dei .dvo vostri, nel sito di Matt trovate anche i sorgenti e gli eseguibili del programma per convertire i .avi in .dvo. Chi volesse fare degli esperimenti può modificare le ultime righe del sorgente per disattivare l'audio dello speaker e attivare quello dell'AY; basta togliere il ';' prima della linea che invia il dato alla porta dell'AY e commentare le due linee seguenti. ; sample playback in a,(c) ; returns 10x0nnnn where nnnn = sample volume ; T=12 (in a,(0xa3) would be 11 tstates but previous value of A ; is likely to be >0xc0 and therefore a contended port read ; TOGLIERE IL COMMENTO DALLA LINEA SEGUENTE PER ATTIVARE AUDIO AY ; out (0xfd),a ; AY chip is preconfigured to write to register 8 ; T=11 and 0x08 ; COMMENTARE PER ESCLUDERE AUDIO SPEAKER out (0xfe),a ; COMMENTARE PER ESCLUDERE AUDIO SPEAKER Il 13 dicembre 2011 19:28, Alessandro <alessandro.poppi@xxxxxxxxx> ha scritto: > On Tue, 2011-12-13 at 16:17 +0100, Eugenio Ciceri wrote: > >> In che modo posso tracciare le eventuali scritture con D0=0? > > Ho sbagliato a scrivere, intendevo A0 = 0, ovvero scritture su porte > pari (che sono quelle che attivano lo speaker, se non vado errato. > > Se non ci sono out su indirizzi del genere, allora il suono e' un bel > mistero. > > Ciao! > > >