[zxspectrum] Re: test velocita' 6510

  • From: spottedkat <spottedkat@xxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Fri, 29 Oct 2004 00:11:15 +0200


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);

Tutti i lavori di vera velocità, a meno che il video non ti serva davvero, sul C64 andavano fatti a schermo spento, soprattutto nei load di cassetta (se mi ricordo bene si usava la memoria video come buffer aggiuntivo! O.O). Sono solo un dilettante, perciò non posso darti dati cronometrici sull'effettivo guadagno.

Ma ti confesso che più che la macchina, credo che fossero i commodoriani ad essere scadenti. Credo che mi sarei messo a ridere anch'io davanti a tutti quegli strafalcioni. :D :D :D
Bhà, tanto meglio che non abbiano attivato le modalità in Hi-res e Multicolor, perchè nude e crude (senza aver predisposto prima la Ram) sono un vero cesso da vedere, e la metà sarebbe morta dal ridere. Te lo conferma uno che ha smanettato un pò il Raster e ha visto esperimenti strani. :)


>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).



Hum, sono anni che ho inscatolato (in maniera sicura) le macchine e i libri tecnici, e non dò un'occhiata all'assembly, perciò non ti posso aiutare. Sulla rete però ci potrebbe essere la documentazione.
Comunque mi ricordo bene che tutto quello che basta è settare un registro del VIC II su "off". Credo che un LDA# ed un STA# con il valore e gli indirizzi giusti (scusami, ma proprio non me li ricordo...) bastano al lavoro.


mentre il 6502 e' ridotto al minimo indispensabile ed ha come filosofia di fondo quella che piace ai programmatori di piccoli firmware.


Il 6502 venne usato sul Vic 20. Sul c64 hanno impiegato un modello un poco più recente. Sembra però che essendo più semplici questi processori possono eseguire le singole istruzioni in modo più veloce ed avere meno bisogno di clock più alti. Purtroppo non credo che la cosa sia stata vantaggiosa nella struttura del commodore perchè, difatti, doveva dividere Clock e memoria col processore video: se non erro, se finiva una istruzione nel momento in cui il VIC usava il clock, la CPU era costretta ad "aspettare" che si liberasse. E mi viene il dubbio che forse con lo Z-80 la lentezza sarebbe stata peggiore!
Mi chiedo però se la scelta del 6510 sia stata fatta per economia, VIC 2 e SID furono progettati dalla Commodore e tutto questo doveva essere costato parecchio (senza contare che nessuno volle comprare i chip VIC quando li presento sul mercato :P)...


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...


So che questo venne invece usato sul C128, almeno una versione spinta al massimo di 2Mhz (anche se mi pare che avesse una media sul 1.4 Mhz.)

Spotted

Other related posts: