Commodore 64
Retour Informatique
dernire mise jour le
16 nov. 2006
Le Commodore 64 (C64) a t le premier ordinateur que j'ai possd. S'il est bien sr mentionn dans tous les "muses" virtuels de micro-informatique, il est souvent dcrit de manire trop succincte. En fait, il n'a pas rencontr en France le succs qu'il a eu aux tats-Unis et dans le reste de l'Europe, probablement cause du contexte nationaliste du dbut des annes 1980 qui tendait rejeter tout ce qui avait un clavier QWERTY et qui supportait mal le standard franais SECAM et dont la plupart des logiciels ncessitaient la connaissance de l'anglais.
Le cur du Commodore 64 est le microprocesseur 6510, un driv trs proche du 6502
microprocesseur de l'Apple ][ et des Atari 600/800 et des Commodore PET et Vic-20 (ce
dernier fut le prdcesseur du C64 sur le mme march). C'est un chip 8 bits dont la
porte d'adressage est limit 64 Ko (un systme de "bank switching"
permettra plus tard une extension sur le C128) dvelopp par Chuck Peddle.
Chuck Peddle dveloppa chez Motorola le microprocesseur de premire gnration
MC6800 puis quitta Motorola pour entrer chez MOS Technology. En 1976, MOS Technology fut
acquise par Jack Tramiel qui avait mont Commodore au Canada sur le march de la
rparation des machines crire et des caisses enregistreuses. Peddle dveloppa le
PET, un ordinateur de gestion de PME -un peu le march que conquit R2E en France avec les
Micrals interactifs- Outre le processeur 6502, Peddle utilisa l'interface IEE-488 -aussi
connue sous le nom de HP-GPIB- pour connecter les priphriques. Le VIC-20 fut introduit
en 1981, le C64 en 1982. Introduit $600, le C64 (sans cran, ni disquette) valait $200
deux ans plus tard et devenait l'un des moins chers des ordinateurs domestiques, ce qui a
permis d'tre vendu prs de 10 millions d'exemplaires. En ralit, le chiffre
effectif compte tenu des retours et des importations parallles en Europe est inconnu.
Le C64 possde 64 Ko de mmoire DRAM et 20 Ko de mmoire ROM.
L'alimentation est externe 5 volts, la tension classique des circuits TTL disponibles l'poque. Cependnat, il faut noter que le C64 fait appel une proportion de LSI assez rare pour l'poque et due son contrle de MOS Technology. La mmoire DRAM est sous forme de chips Micron Semi 64K x 1 bits (4164-2), la mmoire ROM est aussi sous forme de chips 64Kb chips. Les registres "couleur" sont raliss avec des National Semiconductors static RAM de 1K x 4 bits. Une partie de logique est ralise par un LSI PLA (programmed line array)
Processeur
Le microprocesseur 6510A MPU dont la frquence d'horloge est de 0.985 MHz -version PAL un peu plus lente que la version amricaine NTSC-. En fait l'horloge de base est fournie par un cristal 16MHz servant piloter la vido.
Le 6510 diffre du 6502 originel par sa gestion d'interruption et les programmes sont interchangeables entre ces processeurs sous rserve d'une compatibilit des entres-sorties et de l'adressage des zones rserves de mmoire, ce qui veut dire que les programmes objets ne sont pas compatibles avec ceux de l'Apple II, de l'Atari ou mme du Vic-20, mais qu'une transposition entre ces machines est relativement aise surtout en ce qui concerne les programmes peu exigeants sur le plan des graphiques.
Disquette 1541
Ce modle de drive utilise des disquettes 5" 1/4 enregistres en simple face,
simple densit, format GCR avec 35 pistes -en standard- contenant de 17 21 secteurs
par piste (soit 169 984 octets disponibles). La vitesse de rotation est de 300 tpm. Le
1541 inclut son propre microprocesseur 6502 1 MHz utilisant 2 Ko de mmoire RAM (1
chip de 16 Kb) et 16 Ko de ROM (2 chips de 64 Kb). L'unit de disquette est alimente
directement par le secteur.
Le 6502 de la disquette effectue en local (sous un systme d'exploitation nomm
DOS 2.6)les oprations de formatage de disquette et de boot. Le 1541 gre en interne une
BAM "block allocation table" analogue la FAT des PC.
Le 1541 est connect au C64 par un bus srie multipoint pouvant recevoir jusqu' 5
appareils. Je l'ai utilis personnellement avec 2 disquettes et une imprimante.
Mon second 1541 fut un modle plus rcent 1541C verrouillage manuel (et non plus par simple enfichage de la disquette).
Un problme -voire LE problme- du 1541 fut celui de l'alignement des ttes. La piste 0 se trouvait sur une position de bute mcanique fixe avec une colle devenant visqueuse sous l'effet de la temprature. De trop nombreux programmes et en particulier ceux protgs par un bricolage de pistes caches -l'adressage physique du 1541 permet d'adresser la demi-piste- "s'amusaient" se repositionner sur la bute et finissaient par repousser le butoir hors des pistes dj enregistres.
Lecteur de Cassette 1530
Ce petit lecteur de cassette lit et crit des cassette audio standard. Il est autoaliment par le C-64. Sa fiabilit laissait quelque peu dsirer, sans parler de ses performances en rebobinage. J'ai parfois modifi le "boot" des cassettes de faon transposer un programme bande sous forme de disque.
cran vido
L'cran du C64 est un poste de tlvision. Il contient 25 lignes de 40 caractres. Chaque caractre occupe une matrice de 8x8 pixels. Outre le mode caractre utilis en texte ou en semi-graphique ( la Minitel ou comme les premiers IBM PC), le C64 a un mode graphique permettant d'adresser une matrice de 320x200 pixels (soit la dfinition prsente des PDA de qualit). Le C64 supporte 16 couleurs.
Clavier
Le clavier standard du C64 est un clavier QWERTY 66 touches dont 4 touches de fonction programmables. Le clavier et l'unit centrale constituent un ensemble monobloc.
Alimentation
L'alimentation fournit du 5V continu et du 9v alternatif servant gnrer du 12v pour des priphriques externes (tels que modems)
Ports d'entres-sorties
L'unit centrale du C54 inclut les ports suivants
Ces ports sont connects intrieurement des LSI custom
Contenu de la ROM du C64
La ROM fournie en standard avec le C-64 se dcompose en 3 parties faisant indpendamment partie ou non de l'espace d'adresse du processeur: 8 Ko de "kernal", 8 Ko de BASIC et 4 Ko de "character map".
La ROM de base contient des instructions 6502 remplissant trois fonctions, celle d'un
superviseur (aussi appel kernal), celle d'un interprteur BASIC et celle d'un diteur
cran. La machine telle qu'elle fut conue initialement tait une machine BASIC,
similaire la plupart des machines de cette gnration. Rappelez-vous le slogan des
annes 1960 "le langage de nos pres tait FORTRAN, le notre est LISP, celui de
nos enfants est BASIC". Donc, la mise sous tension de la machine -sans extension-
initialise l'diteur cran et l'interprteur BASIC. Celui-ci est capable de
reconnatre la commande LOAD et de charger un autre programme depuis cassette ou
disquette. L'interprteur fonctionne en deux modes: le mode immdiat qui fonctionne
comme une calculette et le mode diffr qui dite un fichier d'instructions BASIC sous
forme "tokenize" qui sera interprt plus tard par une commande
RUN. Quand
est programme BASIC est sauv sur une mmoire externe (disquette ou cassette), il l'est
sous forme tokenize et l'diteur cran peut le traduire sous forme lisible. L'diteur
cran permet des corrections en fait il s'agit plutt d'un diteur "ligne"
travaillant sur un buffer de 80 caractres -la taille d'une ligne logique en BASIC.
BASIC utilise le mode graphique via des primitives de bibliothque ou directement au
moyen d'un instructions POKE de la mmoire centrale utilise comme buffer d'cran. Il
peut aussi lire le contenu d'une position quelconque de la mmoire par une instruction
PEEK.
LA ROM peut tre lue par programme et copie en RAM. La version copie peut tre altre par un programme de hacker. Il en est de mme de celle de la disquette du 1541 et c'est ce qui a permis la ralisation de systmes de protection des programmes par criture dans les zones normalement interdites sur la disquette ou l'utilisation du bus en mode parallle sur 4 bits au lieu du mode srie normal.
Extensions cartouches
La distribution de logiciel dans les annes 1980 se faisait par des boutiques que
frquentaient des fanatiques de tous ges curieux de toutes les nouveauts et se
faisant faire des dmonstrations par des vendeurs aussi comptents qu'eux et non pas par
des distributeurs anonymes en grande surface ou via le Web. Le cot intrinsque de la
distribution du logiciel par cartouches de ROM n'apparaissait prohibitif et avait
l'avantage d'tre davantage hors de la porte des pirates que les cassettes ou les
disquettes. Dans le cas particulier du C64, cela permettait d'offrir au joueur ou au
programmeur une oprabilit trs simple approprie au programme concern.
En dehors du cas de CP/M, je n'ai pas eu connaissance de l'utilisation de ces cartouches
pour autre chose que des programmes en ROM.
Cette distribution par cartouches avait dj t trs utilise sur VIC et perdurera
sur les futures "consoles de jeu". Sur C64, la mode des cartouches s'affaiblira
assez rapidement lorsque des priphriques nouveaux non compatibles apparatront
et que
les dmontages de cartouches s'avreront plus inconfortables (ncessiter de remise sous
tension, vrifications de l'enfichage des connecteurs) que les changements de disquettes.
Logiciels
On trouvera ici une description sommaire des logiciels achets et utiliss pour le Commodore 64.
Ref: http://en.wikipedia.org/wiki/Commodore_64