Arduino e TV

Il SID era il chip audio, il VIC-II era il chip grafico (immagine e sprite).

Detto questo, non ho capito cosa vuoi fare, allora. Emulare un sistema (CPU, computer o quel che sia) significa riprodurne le funzioni tramite un differente hardware. Ricreare un C64 usando un Atmega significa in buona sostanza emularne le funzioni, no?

Per me un emulatore è una "cosa SW", un programma che fa finta di essere un computer.

E per simulare un OS devi scrivere anche un emulatore della macchina su cui gira quell'OS, altrimenti come puoi ad esempio dirgli di scrivere la lettera "A" nella prima locazione dello schermo se non hai riprodotto l'hardware del C64?

Allora diciamo che più precisamente mi chiedevo se sarebbe tenicamente possibile fare il porting del S.O. del C64 da 6502 ad Atmel.

Cmq, il SO del C64 era composto da diverse parti: c'era il KERNAL, ovvero il SO vero e proprio, poi la mappa caratteri (sempre in ROM), e l'interprete BASIC che fungeva da interfaccia e da linguaggio. Per non parlare di tutte quelle decine di KB di RAM usate per le impostazioni del sistema (pagina 0), i dati degli sprite del VIC-II, i dati audio del SID ecc... (Commodore 64 memory map)

Detto questo, dovrai anche ricreare un sistema per gestire l'Input dall'utente e l'output su qualche dispositivo, altrimenti il computer sarebbe inusabile. Quindi devi scrivere tutte le routine per gestire una tastiera e mandare l'output su qualcosa: un LCD o una TV che dir si voglia.

Insomma, NON è assolutamente un progetto facile. Ed usare un solo Atmega mi pare quasi impossibile. Considera che l'Atmega328 dell'Arduino ha solo 32 KB di Flash RAM (quella dove è possibile inserire il codice da eseguire): l'Eeprom interna è usabile solo come memoria non volatile ma non come memoria per il codice; l'SRAM interna viene usata dall'Atmega come spazio per le variabili del programma.

Si', s', tutto l'ambaradam; se ho capito bene ci sono Atmel anche da 128 KB, quindi mi chiedevo, appunto, se sarebbe possibile il porting.
Ma solo per curiosità, non credo che sarei in grado di farlo io. A casa ho un libro col disassemblato commentato di tutta la ROM del C64, e una volta mi misi ad esaminare come funziona punto per punto, fino a scoprire la routine che andava ad accendere uno per uno i pixel sullo schermo per stampare i caratteri! :wink:

Ma, sempre per capire, sulla Arduino si puo' montare un qualunque Atmel compatibile a livello di piedini?

Cioe', questo potrebbe diventare un commodore sessantaduino? ;D