Commodore 64

cbmlogo2.gif (596 octets)

Le grand classique de la marque, 10 millions ont officiellement été vendu. Une bonne machine, malgré un Basic médiocre. Ce fut le premier familial à offrir un synthétiseur sonore. Le Commodore 64 est l'évolution du Vic 20 donc il conserve le boîtier.

Découvrez aussi le portable SX64, le C64c et le C128, plus récents
Le musée recherche : des accessoires et des logiciels originaux.

Commodore 64
Commodore 64

Première acquisition: 1995
Généreux donateur: Jean-Claude Melet

Constructeur: Commodore
Modèle: 64
Année/Prix: 01/1982 / 4000F

CPU: 6510 à 1MHz (variante de 6502)
RAM/ROM: 64Ko/20Ko
Graphisme: 320x200x16 couleurs (avec contraintes) scrolling câblé, 8 sprites câblés 21x24, zoom x2 texte : 40x25
Mémoire de Masse: généralement 1 floppie 170ko (1541) externe ou magnétocassette (1530)

Périphériques:
Joystick, imprimante...

Informations techniques

 


Commodore 64 rose : modèle spécial Vieumikro 2001


Pierre nous explique quelques raisons de ce succès :

"Qu'est ce qui faisait la force de cet ordinateur mythique ?

Le 6502 à 1 MHz ? Non, la plupart des micros de l'époque en étaient pourvus. Il faut plutôt chercher du coté de ces capacités graphiques et sonores. Commodore avait une filiale MOS Technologies qui fabriquait ces circuits intégrés (CI). MOS avait conçu le chip graphique et le chip sonore qui, outre des capacités en terme de nombre de voies, simulation d'instruments, nombre de pixels et de couleurs, étaient capable de prouesses :

Le Chip graphique (VDC) : 320 x 200 en 16 couleurs (enfin presque, une couleur sur des blocs de 8*8)

On pouvait augmenter le nombre de couleurs en descendant en 160*200, la capacité de faire des défilements (scrolls) sans faire appel au CPU, mais juste via la programmation de quelques registres. Ce n'était déjà pas si mal pour l'époque.

Mais il y avait aussi 8 sprites que l'on déplaçait juste en modifiant deux registres (position X et Y) un autre registre du VDC nous indiquait une collision entre deux sprites ou un sprite et un caractère.

On était limité à huit sprites mais c'était facilement contournable en programmant une interruption du faisceau d'électron de l'écran, par exemple à la ligne 100 et on donnait la position de huit nouveau sprites dans la deuxième moitié de l'écran et l'on avait 16 sprites. Tout cela était très peu gourmand en temps machine, juste quelques octets dans les bons registres. Cela a permis la réalisation de magnifiques jeux.

Pour les capacités sonores, c'était un peu pareil, jouer de superbes musiques se faisait sans consommer de ressource CPU.

L'architecture mémoire était également très bien pensée : 64 ko de RAM + 8 ko de ROM basic + 8 ko de ROM E/S, + 4ko pour le générateur de caractères. Dans la pratique, le 6502 ne pouvait adresser que 64 ko. Il fallait faire des choix, mais on pouvait désactiver telle ou telle ROM pour retrouver la RAM qui était derrière par exemple : pas besoin de BASIC car tout est en assembleur. On le désactive et on récupère 8 ko de RAM (énorme pour l'époque) On veut changer les formes des caractères, on crée un nouveau jeu de caractères, on désactive celui en ROM. On utilise ainsi la RAM derrière pour y placer le siens.

Bref, toutes ces possibilités et d'autres ont fait du 64 une superbe machine. Il y en avait pourtant des défauts : un BASIC simpliste sans instruction graphique ni sonore. Il fallait passer par des PEEK et POKE (lecture et écriture en mémoire), ce qui fit la fortune de l'éditeur Micro Application avec les livres "Peek et Poke pour le 64", pour le 128 etc...

 Ce basic était surprenant. On pouvait définir des nombres entiers, mais pour multiplier deux entiers, le BASIC convertissait ces deux nombres en virgule flottante, effectuait la multiplication et convertissait le résultat en entier. Superbe, non ?

Le calcul de la mémoire libre pouvait donner des résultats négatif car il n'était pas prévu que celle ci dépasse 32 ko et si je vous dis que ce BASIC était signé MicroSoft ! On faisait avec, et puis à force PEEK et POKE, on passait facilement à l'assembleur.

 J'ai débuté avec un C64, j'ai passé de longues soirées à recopier les programmes d'Hebdogiciel puis d'autres soirées à corriger les " Syntax Error", puis d'autres encore à trouver les bugs et enfin d'autres à trouver les erreurs dans le code source. C'est comme ça que j'ai appris à programmer en basic, puis en assembleur.

Par contre au niveau des périphériques, c'était la catastrophe ...Lecteur de K7 signé Commodore (donc au prix Commodore) à 300 baud (30 caractères par seconde) Imaginez pour charger un programme de 32 ko ! D'un autre coté, il fonctionne toujours en 2006, je charge encore des

jeux c64 comme Dragon's Lair. Le lecteur de disquette est à peine plus rapide : 3000 baud. Il coûtait aussi cher qu'un C64. Normal, il avait aussi son 6502, sa RAM, sa ROM, pour formater une disquette, on donnait l'ordre au lecteur de formater et le c64 pouvait continuer son travail (depuis combien de temps on peut le faire sur un PC ?)

Dernier point, le port d'E/S donnait directement accès au bus processeur. Un tas d'extension ont fleuri : extension mémoire, cartouche freezer (pour bloquer un jeu et en faire un copie de sauvegarde ;o)) CPM, nouveau processeur. Saviez-vous qu'il y a eu des cartouches avec un processeur 16 bits à 20 MHz ?

 Des mordus ont continué à utiliser le C64 jusqu'en 2000 au moins il y a eu des lecteurs CDROM, floppies HD, et même un navigateur Web !

J'ai chez moi quelques fanzine des années 2000 qui montrent que la communauté c64 était encore active à cette date. En 2000, Amiga disparaissait."