On Wednesday, February 08, 2006 12:07 PM [GMT+1],
Stefano <flydream@xxxxxxxx> wrote:
Sono capitato da queste parti perche` sto cercando spunti per i
dettagli per un progetto gia` avviato e stabile, ovvero un
(ennesimo?) clone di zx-spectrum.
il chrome?
No no, intendo un progetto mio, che non ho (ancora?) pubblicato. Ho iniziato
lo sviluppo a dicembre, dopo aver visto molti lavori (tra cui il chrome,
progetto veramente notevole).
Nonostante ci fosse molto materiale in giro, data la natura "ludica" dello
sviluppo, ho deciso di partire da zero (a parte, ovviamente, l'influenza che
ho avuto vedendo altri progetti). Ne e` uscito qualcosa che mi piace molto.
Ha caratteristiche diverse da altri progetti proprio per non "sovrapporsi".
Che senso avrebbe avuto fare un clone di un clone?
Ad esempio non supporta il floating-bus. Per una serie di motivi, alla fine
ho deciso di non utilizzare logica nella CPLD a tale scopo, privilegiando
altri aspetti. Uno di questi e` la presenza di uno scan-converter con un
banco di ram dedicata da 128K che permette il pilotaggio di un monitor VGA
ad esattamente 100Hz. Il banco di ram viene spazzolato due volte per ogni
ciclo di aggiornamento da parte della vera ram video spectrum, in modo da
mantenere per quanto possibile una coerenza con i timing con i quali una
vera ULA effettuerebbe l'operazione.
Anche i pixel relativi al border vengono trasferiti sotto forma di singoli
pixel letti momento per momento, altrimenti non potrebbero mai funzionare i
cambiamenti "on-the'fly" tipici ad esempio di un caricamento da cassetta.
La velocita` di clock dello Z80 e` selezionabile a 3.5, 7, 7 con raddoppio
anche nella scansione del video (quindi interrupt a 100Hz), 14 con 100Hz,
21MHz con 50Hz sul video.
Ho anche implementato una seriale veloce gestita da un handler NMI in una
rom aggiuntiva che viene "swappata dentro" al momento opportuno, e che
consente di effettuare trasferimenti di memoria ed anche snapshot 16/48/128K
con un programma in VC++ che ho preparato.
Ho due banchi da 16KB che possono essere messi in SHADOW con altrettanti di
rom e che mi hanno consentito di testare facilmente il mio handler NMI senza
dover riprogrammare nessuna eprom.
Insomma, ci ho lavorato un bel po`. Ho molte foto e documentazione, ma non
le ho preparate per metterle in un sito o cose del genere. Se interessa
posso cmq condividerle.
meglio puntare sulla DivIDE :)
Ho visto un progetto molto interessante di interfacciamento compact flash:
http://user.tninet.se/~vjz762w/ La cosa che mi stuzzica e` la presenza di un
DOS gia` pronto. So gia` pero` che anche questa volta partiro` dal basso,
magari potrei mantenere l'indirizzo dei registri in modo da avere una
qualche compatibilita` futura.