[zxspectrum] Re: studio ULA

  • From: Luca Bisti <lucbisti@xxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 30 Jul 2006 17:21:56 +0200


- istanti di lettura della ULA della VRAM sul suo bus privato
- primo istante di contesa (memoria e I/O)

Queste due le abbiamo, giusto?

Yes :)

- lettura via floating bus del contenuto della locazione 0x4000 sul
bus con una IN A,(255)
- snow effect: fetch di un'istruzione in memoria contesa con registro
I=0x40 (IR indirizzo conteso) - snow effect

Per essere sicuro, qui avrei bisogno di un riferimento software da far girare. Domani dovrei poter fare le prove.

Per il floating bus usa il mio programma FloatSpy, che ha anche un'interfaccia BASIC con la quale puoi spostare in avanti e indietro nel tempo l'operazione di IN con precisione di un singolo tstate. La routine che legge il floating bus all'istante specificato inizia a 32924 (chiamata dalla linea 250 del BASIC). Occhio che fa un giochino particolare: il primo frame lo passa ad effettuare contese per fissare la fase iniziale con cui lo Z80 accettera' l'interrupt successivo. In questo modo siamo sicuri che la prima istruzione del ciclo di attesa che portera' poi all'istante desiderato per effettuare la IN inizi sempre allo stesso t-state dall'inizio del quadro, cioe' il riferimento temporale e' fisso. Usare le contese e' l'unico modo per avere questa certezza, se non lo fai ti puo' capitare che la tua routine una volta parta diciamo a T=26, al quadro successivo a T=27, poi T=26 di nuovo ecc, rendendo instabili le misure. La nostra routine dovrebbe essere perfettamente stabile. Ovviamente puoi modificare la IN con qualsiasi altra istruzione per testare anche le contese. A 0xC000 ci finisce il loop di ritardo eseguito dentro il vettore di interruzione e a 0xC011 c'e' la IN A,(0xFF) con cui testiamo il floating bus. I valori dei tstates stampati nell'interfaccia BASIC sono relativi alla base di RealSpectrum, quindi l'IM2_OFS e' quello da stabilire con certezza per stabilire la base dei tempi assoluta in modo che il tstate di lettura/contesa assuma il valore misurato sperimentalmente con la CPLD.


Per lo snow effect ti faccio sapere :)

Luca


Other related posts: