Riproduzione ZX Spectrum AY-3-8912 in XNA Game Studio
-
02-07-2019 - |
Domanda
Ci sono librerie, pezzi di codice o simili che mi permettono di giocare ZX Spectrum .ay file nei miei giochi XNA Game Studio?
Soluzione
Se hai bisogno di audio in XNA e desideri il supporto per XBOX 360 devi usare i formati di file supportati. Stai decisamente meglio provando a convertire i file .ay in un formato che XNA supporta nativamente.
Se si desidera supportare solo Windows, quindi cercare una libreria .NET in grado di riprodurli, funzionerà in XNA su Windows se funziona in .NET.
Altri suggerimenti
Devi prima convertire i file .ay in wav. C'è un programma qui fare quello. Viene fornito anche con il codice sorgente, quindi chi ha un po 'di tempo libero potrebbe aiutare creando un importatore di contenuti & amp; processore da esso? : -)
Se vuoi codificarlo tu stesso devi:
Emulatore CPU Zilog Z80A
non è così facile da fare ma ci sono alcune fonti C / C ++ gratuite per questo. Uso il mio.
Emulatore di chip PSG AY 8910/8912 a 3 canali
questo è molto più semplice della CPU. è solo un generatore di toni, ma la documentazione non è molto utile, quindi è necessario sperimentare molto.
Emulazione altoparlante digitale a 1 bit
I file* .AY non usano sempre il chip AY per l'uscita audio. Alcuni giochi combinano AY e Build In speaker. Non sono sicuro ora se anche AY abbia supprot per covox o no ... Ma se sì, allora devi includere anche covox mono / stereo a 8/16 bit di solito su alcuni chip i8255.
emulazione tastiera
supporto per l'architettura HW variabile
* I file .AY memorizzano musica per più architetture ... ci sono differenze tra Sharp, Amstard CPC, ZX48, ZX128, cloni ... Alcuni hanno frequenze di cristallo diverse, altri hanno un mixaggio di canali diverso per i riproduttori, e anche l'IO gli indirizzi possono differire per non parlare dei problemi di paging della memoria.
Uscita audio
Questo dipende dalla piattaforma di destinazione e poiché non uso XNA non toccherò questo argomento (poiché è già stato risposto / accettato)
Il giocatore AY è simile al seguente:
- prima carica l'intestazione AY
- rileva la piattaforma di destinazione e configura il tuo emulatore per abbinarlo
- carica il binario AY nelle zone di memoria di destinazione
- imposta i registri e avvia l'emulazione
Quindi se vuoi codificare AY player finirai con la scrittura dell'emulatore Z80 poiché i file * .AY sono programmi non registrazioni audio. Poiché molti file AY utilizzano l'altoparlante, dovrai emulare correttamente il modello di contesa, altrimenti si verificheranno problemi di temporizzazione che possono essere ascoltati soprattutto su Altoparlante ...
Per migliorare la qualità puoi applicare i filtri FIR per simulare il PWM controllo simile a quello degli altoparlanti che usano molti effetti.