[zxspectrum] test velocita' 6510

  • From: Alfonso Martone <a.martone@xxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Thu, 28 Oct 2004 20:14:07 +0200

> http://www.alfonsomartone.itb.it/rqftcg.html
> Aspetta... questi hanno fatto un piccolo errore nel programma in
> assembler per testare la velocità del 6510...

Ricordavo bene i risultati ("due minuti e mezzo" contro "meno di due 
minuti") e lo schema della routine del C64; il resto della faccenda 
l'ho ricostruito a mano, ho visto che quadrava e che andava bene anche 
nei rispettivi emulatori (155 secondi e 111 secondi); di mio ci ho 
aggiunto la considerazione sulla variante JP al posto di JR (che fa 
scendere il tempo dello Spectrum a 101 secondi). Le routine erano 
state fortunatamente fatte girare con interrupts disabilitati e in una 
pagina di memoria che per puro caso non era "contesa" su nessuno dei 
due (all'epoca importava di metterla "al centro", a 32k).

Ora, per pura curiosita', sei in grado di correggere il listatino in 
questione (quello del C64) aggiungendo le istruzioni per spegnere il 
VIC-II all'inizio e riaccenderlo alla fine? Si potrebbe poi provare su 
un emulatore o una macchina vera (faccio lo spavaldo perche' sono gia' 
convinto che la performance del C64 non migliorera' di tantissimo).


Lo Z80 e' un processore "all-purpose" con una discreta carretta di 
istruzioni (non meraviglia che sia stato inventato da un italiano, 
fondamentalmente "creativo") mentre il 6502 e' ridotto al minimo 
indispensabile ed ha come filosofia di fondo quella che piace ai 
programmatori di piccoli firmware.

Piccola parentesi: ho lavorato per anni in un'azienda che si creava in 
casa il firmware per le proprie apparecchiature, ma hanno sempre 
preferito gli Z80 perche' quando le cose si facevano complesse, era 
bello avere quella ricca quantita' di feature. Ricordo i cicli piu' 
infami ottimizzati a mano per fare "tutto nei registri"... una volta 
chiedevo al collega: "a Paoli', ma non e' che avanza un registro, pure 
piccolo?", e lui, ridendo sotto i baffi: "avanza solo R". Poi sudavo 
per ore e trovavo un buco dove infilare quel che mi serviva, e lui 
ammirato: "Aho', ma a te te chiamavano jimmi er fenomeno!". Bei tempi, 
quando dovevi quotidianamente combattere con i limiti dell'hardware...

Per i lavori in "filosofia 6502" si usava invece l'8051 (che, a 
distanza di tempo, riconosco che scelsero perche' aveva quel 
qualcosina in piu' che ordinariamente c'era solo sullo Z80). Fra 
parentesi, l'8051 aveva 12 cicli di clock per istruzione, e quindi uno 
di quelli spinto a 12MHz performava quanto uno Z80 a 4 MHz...

-- 
alf

Other related posts: