Il Commodore 64 usava il microprocessore MOS Technology 6510, con 64 KByte di RAM e 20 KByte di ROM con il KERNAL (che sta per Keyboard Entry Read, Network, And Link) e il CBM BASIC versione 2.0: audio e video erano gestiti da due chip separati. Poiché il processore 6510 poteva indirizzare solo 64 Kbyte di memoria in tutto, 20 Kbyte della RAM erano nascosti dalla ROM. Un registro permetteva di mappare in memoria la RAM nascosta escludendo la ROM, cosa molto utile nei programmi assembly che non avevano bisogno dell'interprete BASIC. Il progetto hardware originale del Commodore 64 fu opera di un gruppo di circa dodici ingegneri i quali, successivamente, lasciarono la Commodore.
Il microprocessore utilizzato era il MOS Technology 6510, una versione modificata del 6502 con alcuni segnali hardware aggiuntivi per il registratore a cassette, che veniva gestito direttamente dal microprocessore. La frequenza di clock era pari a 0,9875 MHz. Le istruzioni più semplici prendevano almeno 2 cicli di clock, quelle più complicate 5. Quindi il Commodore 64 aveva una potenza di calcolo di una piccola frazione di MIPS. Poteva però delegare molti compiti ai due chip aggiuntivi descritti di seguito (più il CIA, Complex Interface Adapter = Adattatore di interfaccia complessa). Questa caratteristica, cioè l'architettura a coprocessori, costituì la base sulla quale venne in seguito sviluppato il primo computer Amiga dalla Hi-Toro, il quale venne poi commercializzato ed ulteriormente sviluppato dalla Commodore e spopolò negli anni '80 e nei primi anni '90 con i successivi modelli.
Esistevano anche delle schede aggiuntive Z-80, che consentivano di utilizzare lo Zilog Z80 (evoluzione dell'Intel 8080A) sul Commodore 64. Una di queste era la cartuccia CP/M Z80 della Commodore che permetteva di utilizzare il suddetto OS (versione 2.2) tramite una combinazione di emulazione hardware/software.
Il Commodore 64 possedeva un chip video (VIC-II) che poteva produrre 16 colori (un numero maggiore di colori era ottenibile con particolari algoritmi software). Aveva una risoluzione massima di 320 x 200 punti nel modo "hi-res" (2 colori possibili per ogni cella 8 x 8), e di 160 x 200 nel modo "multicolor" (4 colori possibili per ogni cella 8 x 8). Il modo testo forniva una visualizzazione di 40 colonne per 25 righe. Il font di caratteri di default era modificabile (bastava ordinare al circuito grafico di prelevare le definizioni dei caratteri dalla RAM anziché dalla ROM). Il chip gestiva fino a 8 sprite hardware, cioè delle forme grafiche facilmente gestibili dal chip per ottenere immagini e animazioni, disegnate sopra allo schermo tradizionale. Il VIC-II era capace di generare un interrupt in una qualunque linea di scansione del video desiderata. Questo permetteva al processore centrale di riprogrammarlo "al volo" in modo da usare un set di parametri diverso per zone diverse dello schermo, per esempio per riutilizzare un'altra volta gli 8 sprite, avendone così 16 o anche più disponibili sullo schermo (oltre 50 in alcuni casi). I registri del VIC-II erano mappati nella RAM del processore, ossia potevano essere letti e scritti come ogni altra locazione.
Il supporto audio superava tutti i computer della stessa classe. Alla base c'era il chip SID-6581, progettato da Bob Jannes (il progettista del VIC-20), che poteva riprodurre tre voci hardware, permettendo la riproduzione della voce umana senza hardware aggiuntivo (vedere ad esempio il programma "SAM" - SoftwAre Mouth = "bocca software"). A livello di sintesi, il SID costruiva i suoni a partire da tre forme d'onda basilari, più l'ADSR. Tra queste forme d'onda mancava quella sinusoidale. Il numero di voci poteva essere "aumentato" mediante tecniche software. Anche i registri di controllo del SID, come quelli del VIC-II, erano memory-mapped (essendo il SID, così come il VIC-II, il CIA, ecc... un adattatore di interfaccia, cioè mappato in memoria). Il SID poteva anche campionare segnali analogici, con risoluzione di 4 bit.
Fonte: it.wikipedia.org
Myspace Contact Tables , hosting by Imgdump.net