[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: