[zxspectrum] Re: Test sulla durata dell'interrupt

  • From: "Alessandro Poppi" <apoppi@xxxxxxxx>
  • To: <zxspectrum@xxxxxxxxxxxxx>
  • Date: Wed, 15 Feb 2006 16:40:42 +0100

On Wednesday, February 15, 2006 3:54 PM [GMT+1],
Luca Bisti <lucbisti@xxxxxx> wrote:

La durata dell'INT e' importante solo per stabilire se
un'interruzione verra' accettata o no. Alcuni giochi e demo usano la
modalita' IM2 e come routine di interruzione piazzano semplicemente
EI/RET. Contando i 19T per entrare nella routine, i 4T di EI e i 10T
della RET si arriva a 33T, a cui vanno sommati i cicli residui
dell'istruzione interrotta... bastano 2-3 T-states di differenza
sulla durata di INT per cambiare tutto.

Molto interessante. Questo significa che dovro` eliminare il mio sistema, basato sul vero INTACK (M1 + IORQ) e tornare al canonico impulso con durata 32 cicli, che (pensa te`) avevo messo "ad occhio", poi modificato nella gestione dell'intack per poi scoprire che l'hardware originale usava proprio impulsi da 32 cicli. Me lo confermi?


MDA (128K) richiede che le contese sulla memoria e sull'I/O siano
perfette. Come le hai implementate sul Badaloc? Chiedimi pure
qualsiasi informazione sulle temporizzazioni, le abbiamo studiate
apposta :)

Semplicemente NON sono implementate: lo Z80 gira sempre "a badalucco" :-) fino a 21MHz, avendo accesso esclusivo alla memoria, che e` true dual-ported anche se nulla vieta di inserire ad arte delle attese, sebbene inutili dal punto di vista dell'hardware, al solo scopo di aumentare la compatibilita` con questi demo.


Intravedo pero` limiti imposti dalla logica ancora disponibile nella CPLD: probabilmente sarebbe necessario passare alla XCR3384.

Grazie mille delle informazioni, anche a riguardo del "traballamento" della riga nera/gialla.

Ciao!


Other related posts: