[zxspectrum] Re: Filmati DivIDEo su ZXMMC+

  • From: Eugenio Ciceri <eugenio.ciceri@xxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Wed, 14 Dec 2011 10:41:59 +0100

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!
>
>
>

Other related posts: