[zxspectrum] Test sulla durata dell'interrupt

  • From: Luca Bisti <lucbisti@xxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 06 Mar 2005 17:58:26 +0100

Ciao a tutti!

Avrei bisogno di qualche volontario per una piccola ricerca. Stiamo cercando di determinare la durata esatta del segnale di INT generato dalla ULA negli Spectrum, la cui conoscenza esatta e' fondamentale per emulare alla perfezione gli effetti multicolor di alcuni demo.

Se ricordate, circa un anno fa salto' fuori un fatto molto strano: scoprimmo che alcuni Spectrum 128K, seppur dello stesso identico modello, riproducevano in maniera diversa gli effetti multicolor di certi demo; ad esempio, i vu-meter sul bordo superiore della prima parte di MDA Demo appaiono perfettamente centrati in alcuni 128K, mentre sono spostati a destra di un carattere su altri.
Lo stesso fenomeno riguarda anche i 48K, dove pure li' sono stati identificati due gruppi distinti che si comportano in modo diverso con alcuni programmi.
La differenza riguarda il segnale di INT che arriva allo Z80 e sta tutta in un singolo ciclo di clock che mancherebbe all'appello negli Spectrum di un certo tipo. A quanto pare potrebbe essere proprio la lunghezza di INT ad essere diversa: 35T in un caso e 36T nell'altro.
Per avere una conferma, Mark Woodmass (coautore di SPIN) ha preparato un programmino per misurare la durata di INT. Ci serve qualche volontario che provi questo programmino su uno Spectrum vero (qualsiasi modello, dal 48K al +3) e ci faccia sapere i risultati compilando lo schemino qua sotto.
Il link e' http://www.ramsoft.bbk.org/tech/int_test.zip


Per mettere in correlazione i valori con il comportamento dei multicolor abbiamo bisogno che venga effettuato anche un altro test. Per i 128K basta provare il demo MDA (incluso nello zip) e vedere come si posizionano le barre dei vu-meter nella prima parte (dopo il conto alla rovescia); per i 48K bisogna caricare il programma STRIPES48.TAP e prendere nota del punto in cui la linea sul bordo superiore da gialla diventa nera, ovvero se tra i caratteri 9 e 0 oppure tra 0 e 1.

Grazie a tutti! :)

Luca



1) Modello di Spectrum:
[ ] 48K
[ ] 128K Sinclair (nero)
[ ] +2
[ ] +2A
[ ] +3
Se possibile indicare issue della motherboard e marca dello Z80: [ ]


2) Durata di INT riportata da INTTEST.TZX:
[    ] T-states

3A) Solo per 48K: la spezzatura giallo/nero in STRIPES48 avviene tra
[ ] 9-0
[ ] 0-1

3B) Solo per 128K/+2/+2A/+3: i vu-meter di MDA sono
[ ] centrati
[ ] spostati a destra di un carattere


Other related posts: