[zxspectrum] Re: R: Re: R: Re: R: Re: R: Re: DEMO PENTAGON su ZX-UNO

  • From: Enrico Maria Giordano <e.m.giordano@xxxxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Fri, 2 Sep 2016 14:39:59 +0200



Il 02/09/2016 14:25, Stefano Donati ha scritto:

Le specifiche dello Z80 dicono che l'indirizzo da cui prelevare il
vettore di interrupt quando ha luogo un'interruzione viene composto
utilizzando il contenuto del registro I per la parte alta, mentre per la
parte bassa viene utilizzato quanto si trova sul bus dati. Dunque nel
caso in cui siamo assolutamente sicuri che il bus dati sia sempre a
livello logico alto otterremmo un indirizzo hex del tipo xxFF (dove xx è
il valore del registro I)... ma in caso di dispositivi esterni che
"trafficano" con il bus dati (il floating bus non può essere perché si
verfica durante la lettura di pixel e attributi per il disegno dello
schermo, quindi ben lontano dall'interrupt) il risultato potrebbe non
essere sempre lo stesso; ecco perché per evitare rischi se ad esempio
I=0xB8 viene creata una tabella di indirizzi (tipicamente tutti uguali)
che prende da 0xB800 a 0xB900 (compresi).

Esattamente.

EMG

--
EMAG Software Homepage: http://www.emagsoftware.it
The EMG Music page: http://www.emagsoftware.it/emgmusic
The EMG's ZX-Spectrum Page: http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: http://www.emagsoftware.it/tbosg

Other related posts: