Logo de l'association MO5.COM ARCHIVES !
Cliquez ici pour accéder au nouveau site !
Connexion / S'inscrire
 Association MO5.COM pour la préservation du patrimoine informatique et vidéo-ludique

 Communauté > Articles
 
Sur le nouveau site
 
Musées en ligne
 
Communauté
 
Pour nostalgiques
 
C64 Next Generation et puces FPGA
Comment redonner vie à un C64 dont la carte mère est morte ? Voila une solution peu onéreuse !

Par Philippe Dubois - Crée le 30/06/2007 - Dernière modification le 21/07/2007

C64 Next Generation

Où comment redonner vie à une machine légendaire datant de 1982 !


  Le plus gros problème auquel est confronté le collectionneur est la mort à plus ou moins long terme des composants de la carte mère des machines qu'il affectionne. Et ceci est particulièrement vrai avec le Commodore 64, dont certains composants comme la puce graphique ou la puce sonore (le célèbre SID) ne se fabriquent bien entendu plus, et ne peuvent être remplacés par des équivalents actuels.

Que faire dès lors lorsque la machine s'éteinds définitivement ?


La solution pour les bricoleurs :

  La meilleure solution serait bien entendu de pouvoir changer intégralement la carte mère par quelque chose d'autre, mais qui resterait très proche de la machine d'origine. La technologie des FPGA est donc particulièrement adaptée à notre problématique, car elle permet avec plus ou moins de facilité de "fondre" toutes les puces et composants d'un ordinateur 8 ou 16 bits dans une seule puce.

Des machines mythiques ont d'ores et déjà leur implémentation dans ses fameuses puces FPGA :

ZX81, ZX Spectrum, TRS-80 : 
http://zxgate.sourceforge.net/index.html

Cartes d'arcade et Videopac :
http://www.fpgaarcade.com/

Oric Atmos dans une puce :
http://passionoric.free.fr

Thomson MO5 dans une puce :
http://torlus.com/index.php?2007/03/19/200-thomson-mo5-in-a-fpga


Etc. Il existe bien sûr des projets plus "mûrs" commercialement : Ce sont notamment les Amiga One et le MSX One ! 

  Les FPGA, sans donner ici un cours complet, sont des puces comportants des millions de transistors que l'on peux inter-connecter à volonté et comme on le souhaite. Pour ce faire, on utilise un langage de haut-niveau dénomé VHDL. Ce langage ressemble à un mixte entre langage C et quelque chose de plus moderne comme le Java.
  L'utilisateur peux dès lors importer des librairies spécifiques en langage VDL dans son projet. Ces librairies couvrent la plus grande majorité des besoins numériques spécifiques (portes ET, OU, NAND, vidéo, adressage, décodage etc etc.) et sont disponibles, pour notre problématique, des librairies pour microprocesseur 8 et 16 bits, tels que les Zilog Z80, Motorola 6809, MOS 6502 etc. Certaines puces graphiques et sonores sont mêmes présentes ! Et le catalogue s'enrichit bien sûr chaque jour.

  En ajoutant et en interconnectant comme il se doit les différentes librairies et les composants virtuels qu'elles créent, vous pouvez simuler le fonctionnement électronique d'une carte mère complète.

  Dès lors, dans le concept du moins, pour créer un émulateur hardware d'une machine, vous ouvrez un nouveau projet, glissez les librairies qui vous intéressent (de la RAM, un endroit avec le bios en hard comme de la ROM, une librairie pour Zilog Z80, une librairie pour puce graphique Texas Instruments TI9918A, une librairie pour puce sonore General Instruments AY-3-8910, quelques portes etc.) et vous voila avec tout ce dont vous avez besoin pour créer un "MSX en une puce". A chaque ajout d'un composant, l'éditeur vous donne le montant de transistors (ou Jonctions) consommés dans la puce FPGA, de sorte qu'il est immédiatement possible de voir si la puce FGPA sélectionnée dispose d'assez de transistors pour implémenter toute la machine que vous souhaitez. Le prix d'une puce FPGA est bien entendu directement proportionnel au nombre de transistors qu'elle contient !

Reste ensuite la partie la plus délicate, car entièrement à votre besogne : le câblage virtuel de tous ces composants ! Et cela peux devenir très complexe, comme dans le cas d'un ordinateur 16 bits comme l'Amiga. Mais les bases sont là.


Et pour les autres ?

  A part mettre la main ou acheter directement un kit déjà monté d'une "machine dans une puce", vous pouvez aussi bricoler notamment un C64 refait à neuf à partir de divers éléments achetés sur le net ici et là. Le remplacement de carte mère que nous allons voir est très simple et fait simplement appel à deux cartes : une est une carte mère d'un jouet disponible facilement sur internet à l'achat pour une trentaine d'Euros, l'autre est une carte spécifique créée par des afficionados, et disponible sur certains sites pour quelques dizaines d'Euros également. 

Voyons tout cela en une image !

Cliquez pour agrandir !
Cliquez pour agrandir !
La carcasse vidée de notre pauvre C64 reçoit maintenant un tout autre appareillage !

  La carte mère est maintenant celle d'un joystick C64 (C64DTV) qui a été extirpée du joystick d'origine. Quelques simples soudures permettent de relier un lecteur de disquette d'origine à la nouvelle carte mère. Une petite extension spécifique, disponible pour quelques dizaines de dollars auprès d'amateurs, permet de relier le clavier d'origine du C64 en lieu et place d'un clavier PC de type PS/2, prévu à l'origine.


  Notre machine est maintenant complète et le C64 a maintenant une nouvelle vie : il embarque 256 Ko de ROM dans laquelle le Basic d'origine est disponible, ainsi que 30 jeux mythiques. Toutes les prises externes du C64 sont respectées et on peux brancher les mêmes périphériques que la machine d'origine.


Liens :

Page "officielle" (?) avec des liens sur le modding (modifications) :
http://www.c64dtv.co.uk/

Comment connecter un clavier PS/2 et un lecteur de disquette :
http://www.colmer.info/c64/c64dtv.asp



Conclusion :

  Nous avons vu ici une des principales solutions qui s'offrent à nous pour offrir une nouvelle jeunesse à nos machines, sans passer par des émulateurs softwares très souvent imparfaits, et qui nécessiteraient d'implémenter des machines sur base PC ou Macintosh très puissantes. Espérons que la technique des puces FPGA évoluera rapidement pour être plus accessible encore, plus facile à manier, et que la facilité avec laquelle on pourra les utiliser pour créer des "machines en une puce" sera accrue ! 

La sauvegarde de nos chères machines 8 et 16 bits en dépend peut-être.

Merci à Torlus, notre maître à tous en matière de FPGA, pour ses corrections !


Cordialement,
Philippe Dubois, Association MO5.COM, Président.

 
En discuter dans les ForumsTous les articles