
|
[zxspectrum]
||
[Date Prev]
[02-2007 Date Index]
[Date Next]
||
[Thread Prev]
[02-2007 Thread Index]
[Thread Next]
[zxspectrum] Re: x Alessandro: riguardo alla ZXMMC...
- From: "Alessandro" <apoppi@xxxxxxxx>
- To: <zxspectrum@xxxxxxxxxxxxx>
- Date: Sat, 3 Feb 2007 19:54:02 +0100
On Saturday, February 03, 2007 7:24 PM [GMT+1],
Paolo Ferraris <pieffe8@xxxxxxxxx> wrote:
Cosi` ad occhio, temo che una serie di OUTI consecutive non lascino
abbastanza tempo. Basterebbe 1T-state in piu`, probabilmente. Faro`
sicuramente una prova!
Direi anche io. Siamo troppo al limite. Se anche funzionasse su uno
Spectrum/Badaloc potrebbe essere "di culo" e magari su un'altro
potrebbe fallire.
E infatti non ha funzionato. Per essere sicuro di non aver commesso qualche
errore banale, ho verificato il corretto funzionamento a 14MHz della routine
costituita dai 16 INI (che purtroppo e` risultata ok).
Si potrebbe mettere un NOP dopo ogni OUTI (20 T-states invece dei 21
del OTIR) ma il guadagno in termine di velocita' diventerebbe
ridicolo.
Certo che ne pensi una piu` del diavolo! Se non altro, se tu dici che non
c'e' modo di avere I/O cadenziato sui 17/18T-states, allora sono sicuro che
NON C'E`.
...e se io mettessi 1 wait state sugli I/O eseguiti sulla porta SPI? :-)
C'e' anche da dire un altra cosa: sullo spectrum il problema sarebbe
risolvibile dotando l'interfaccia di un proprio oscillatore piu` veloce,
anche se
l'operazione sarebbe molto piu` complessa di quanto possa sembrare perche`
il clock Z80 serve per sincronizzare il latch dei dati. Magari un
multiplo...
Sul badaloc piu` di 21MHz temo mi creerebbero qualche grattacapo... il clock
principale e` 85MHz e quello a 21 viene ottenuto mediante divisione /4
(21.25MHz)... /3 non si puo` fare perche` la cpld dovrebbe commutare anche
sull'altro fronte. Dovrei portarlo a 42.5MHz, eccedendo pero` in tal modo la
frequenza massima accettabile per la SD card, che e` 20MHz (SPI_CLK
diventerebbe 21.25MHz).
Poco male, comunque...
Un vero peccato. L'ultimo incremento di velocita` l'ho ottenuto quando ho
alzato la frequenza di clock della cpld I/O (prima era 14MHz fissi),
arrivando agli attuali 1011KB/sec @21MHz (OTIR/INIR). Col tuo trucco avrei
potuto raggiungere i 25fps di video :-)
Ciao!
|

|