[zxspectrum] Re: Chrome VS Spectrum

  • From: "FALCO CESARE" <cesare.falco@xxxxxx>
  • To: <zxspectrum@xxxxxxxxxxxxx>
  • Date: Fri, 3 Dec 2004 15:48:39 +0100

 
> > >           No     |  Reset  | N:1, C:3
> > >
> > >           No     |   Set   | N:4
> > >
> > >          Yes     |  Reset  | C:1, C:3
> > >
> > >          Yes     |   Set   | C:1, C:1, C:1, C:1
> 
> >credo che C stia per conteso e N per non conteso.. ma allora perche' 
> >scrivere C:1, C:1, C:1, C:1 e non C4?
Penso che sia per chiarire meglio come calcolare le temporizzazioni
della
contesa per chi scrive un emulatore. Come probabilmente gia' saprai,
le pause cui lo Z80 e' costretto dalla ULA intervengono all'inizio
del ciclo macchina, e *non* all'inizio dell'esecuzione di un'istruzione.
Il che significa che, a parte per le istruzioni elementari, che vengono
eseguite in un solo ciclo, lo Z80 si ferma anche *durante* l'esecuzione
di un'istruzione. Quindi e' meglio scrivere 4 volte C:1 per chiarire
che lo Z80 si ferma per un T state, esegue il ciclo macchina, si ferma
una seconda volta per un T state e cosi' via.

Se ho ragione, per le tue esigenze puoi fermarti alla prima
parte della FAQ, quella dove si spiega che la contesa avviene solo
per alcune porte (dalla 0x4000 alla 0x7FFF).

Ciao!
Cesare.

Other related posts: