[zxspectrum] x Alessandro: riguardo alla ZXMMC...

  • From: Paolo Ferraris <pieffe8@xxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sat, 03 Feb 2007 11:06:33 -0600

Tre cose sul ZXMMC...

1) La voglio !!!! :-) Possibilmente montata, ma direi che ne parliamo
quando hai le schede.

2) Volevo sapere quali sono le differenze, in pratica, tra la ZXMMC e la
divIDE, a parte il fatto che la divIDE supporta piu' tipi di memoria di
massa e che la ZXMMC e' interna.

3) Ho guardato il codice di prova della ZXMMC, che usa inir/otir per la
lettura/scrittura veloce. Non so se abbia molto senso velocizzare
ulteriormente l'accesso alla scheda, ma, spendendo un po' di bytes in
piu', si potrebbe accelerare il tutto del 20% con la tecnica
dell'unrolling. Per esempio, si potrebbe sostituire un otir con

STARTLOOP:
    outi
    ...   (16 istruzioni outi in totale)
    outi
jr nz,STARTLOOP

L'istruzione OTDR e' piu' onerosa di una sequenza di OUTI per via del
salto indietro per la ri-esecuzione che OTIR fa. D'altra parte, dato che
il numero di scritture (256) e' un multiplo di 16, e' inutile
controllare se siamo alla fine del ciclo se il numero di output che
abbiamo eseguito non e' un multiplo di 16.

Se ho fatto bene i conti, si passa da 5371 T-states a 4283. Certo, da
due bytes di codice se ne passa a 34, ma non mi sembra comunque eccessivo.

Al di la' che convenga farlo o meno, sarei curioso di sapere (almeno dal
punto di vista teorico) se l'interfaccia riuscirebbe a reggere questo
aumento di velocita' anche sul Badaloc con la CPU a 21MHz.


Ciao
Paolo


Other related posts: