[zxspectrum] Re: infinity
- From: Luca Bisti <lucbisti@xxxxxx>
- To: zxspectrum@xxxxxxxxxxxxx
- Date: Mon, 03 Apr 2006 17:58:26 +0200
Il problema dipende sicuramente da questo, perche` in realta` io
verifico tutte le 16 linee di indirizzo affinche` abbiano il valore
ufficiale della porta. E` piu` pulito, ma capisco che non posso mantenerlo.
La decodifica che ti ho detto proviene direttamente dal schema
elettrico, quindi ti puoi fidare. Ci sono moltissimi demo che
pilotano l'AY su porte assurde per risparmiare qualche ciclo di clock
sull'inizializzazione completa di BC prima delle OUT. Ricordo per
certo qualche player di musica sintetizzata a 3 canali.
>Dal debugger del realspec si evince che l'output del secondo ciclo
viene effettuato con un OUTI, dopo aver >diligentemente caricato
$BFFD (valore esatto della porta I/O) in BC. Il registro B viene
infatti ripristinato dopo >ogni OUTI, che e` sfruttata per il fatto
di incrementare da sola HL. Dovrebbe funzionare, quindi. E invece no.
Se ti serve trappare tutti gli accessi all'AY, premi ALT-O e
inserisci "8000 8002" (scegli R/W, RDONLY o WRONLY a seconda di che
tipo di accesso ti interessa).
>Quello che non dice chiaramente, e che ho scoperto
sperimentalmente, e` che il registro B viene DECREMENTATO PRIMA >DELL'OUT!!!!
Eh si'! :) Ci sono un sacco di stranezze nello Z80, che sono tutte
riassunte nel documento di Sean Young che trovi su www.z80.info. Noi
autori di emulatori le sappiamo tutte :D
Ciao!
Luca
Other related posts: