[zxspectrum] [lungo] compatibilita' chrome

  • From: "Mario Prato" <aticatac70@xxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Thu, 22 Apr 2004 10:23:32 +0200

Cari amici, e' da un po' di tempo che cerco di rendere quanto piu' compatibile il famigerato clone con lo spectrum reale ed ora vorrei rendervi partecipi del punto al quale sono giunto..
Parto col dire che il chrome non e' compatibile al 100%, lo so, qualcuno storcera' il naso ma e' cosi', la buona notizia e' che almeno rispetto allo speccybob al quale mi sono ispirato e' leggermente piu' vicino allo speccy.. e vi spiego perche':
il problema piu' grosso di emulare la ula e', come avrete capito, il floating bus, nato per risparmiare e sfruttato dai coders per sincronizzarsi alla perfezione con il segnale video, ora la ula quando legge la ram video, legge consecutivamente 4 byte cioe' dato video, attributo, dato +1 attributo +1, poi 4 byte a $ff e di nuovo altri 4 byte. All'inizio non capivo il perche' di questa storia poi studiando bene il funzionamento di un altro clone (il mistrum) mi sono reso conto che la ula pre-memorizza quello che sara' il prossimo byte (dato video + attributo) per evitare "contaminazioni" di colore nel caso l'attributo cambi tra un byte e l'altro.
Veniamo allo speccybob, questo invece di memorizzare 4 byte consecutivi, prende prima l'attributo e poi il byte video, cosi' facendo si evita il mescolamento di colore di cui sopra.. tutto cio' genera una incompatibilita' con le demo che cercano prima il byte e poi l'attributo perche' i due sono scambiati..
Il chrome attualmente memorizza prima il byte video e poi l'attributo e riesce a far girare demo che sullo speccybob di fatto non andrebbero (senza considerare che lo speccybob non ha il floating bus).
riepilogando questo e' il risultato:
ula originale Chrome
dato dato
attributo attributo
dato+1 $ff
attributo+1 $ff
$ff $ff
$ff $ff
$ff $ff
$ff $ff
dato+2 dato+1
attributo+2 attributo+1
dato+3 $ff
attributo+3 $ff e cosi' via


Ho provato ad implementare la stessa storia sul chrome ma lo spazio nel cpld video e' finito, ormai scoppia.. Morale della favola, al momento il chrome *non* e' compatibile con lo spectrum, almeno con le applicazioni che sfruttano al 100% le possibilita' della ula, nella maggior parte delle applicazioni e dei giochi per fortuna questo non avviene.. alcune demo pero' non partono affatto, altre hanno un funzionamento non perfetto.. forse in futuro, trovando un dispositivo programmabile piu' capiente (i prezzi pero' sono da capogiro) riusciro' a fare qualcosa in piu'.
Tutto questo per rispondere alle innumerevoli domande sull'argomento e per non deludere chi potra' provare dal vivo il risultato di circa un anno di lavoro.


Con questo e' tutto, scusate la lunghezza (storica credo) del post :)
ciaoo

_________________________________________________________________
Con MSN Hotmail Extra Storage hai fino a 100 MB di Posta! Provalo! http://join.msn.com/?pgmarket=it-it&page=hotmail/es



Other related posts: