Le gros défaut des premières consoles CD disponibles était très probablement leur incapacité à sauvegarder quoique ce soit directement sur le média. Bien sûr, il reste la parade des mots de passe, mais chacun sait que ça reste moins pratique qu'une vulgaire sauvegarde de la progression. De ce point de vue, les cartouches gardent un côté simplicité/praticité/tu-branches-ça-marche que l'on peut difficilement égaler. Cependant, il existe une parade infaillible pour les fabriquants de console : la carte mémoire.

Comment que c'est foutu…

Que ce soit en cartouche ou en carte mémoire, il y a finalement assez peu de méthodes permettant de sauvegarder des données de volumétrie relativement faible et à faible coût (s'agit pas de mettre trop de brouzoufs dedans quand même !) :

  • puce EEPROM qui est claqué à chaque sauvegarde (et qui, de ce que je me souviens, a une durée de vie à peu près illimité) ;
  • une puce SRAM maintenue par une pile (dont la durée de vie est donc celle de la pile) ;
  • une puce de FlashRAM, dont le fonctionnement est proche au niveau adressage de la SRAM, mais dont la durée de vie est quasi illimitée.

Le gros problème, c'est que la FlashRAM coûte beaucoup plus cher que le reste. Elle sera donc très rarement utilisée, en tout cas dans les cartouches. À ma connaissance, seul Command & Conquer 64 utilise une sauvegarde interne à base de FlashRAM.

Nous avons donc d'un côté des cartouches, faciles à utiliser et où ajouter une sauvegarde est possible, mais malheureusement augmente drastiquement le prix et de l'autre des cartes mémoires, certes moins faciles à utiliser, mais qui permettent de mutualiser les sauvegardes des jeux et de donner un peu de souplesse au joueur (il est possible de copier, de transporter ces sauvegardes, on est plus dépendant du média de jeu en lui-même).

Avec l'apparition d'Internet, pouvoir échanger des fichiers de sauvegarde (ou simplement garantir l'intégrité de ces fichiers de sauvegarde en les sauvegardant (sic !)) est devenu un vrai besoin. C'est bien gentil d'avoir débloqué tous les persos de ton jeu de baston préféré, mais c'est bien aussi d'en faire profiter les potes. Si aujourd'hui, ce besoin est en général couvert (via des hacks ou non) par les consoles modernes, pour les vieux clous, il faut se débrouiller tout seul !

Le « controller pak »

La Nintendo 64 étant une console à cartouches, la carte mémoire, « controller pak » ou « memory pak », conçue pour la console peut paraître un peu inutile (voire un peu ridicule). Au départ, elle a été vendue comme permettant de transporter plus facilement ses sauvegardes, ses profils hors de chez soi. Ça aurait effectivement pu être bien, si elle ne possédait pas 3 défauts majeures :

  • la console n'est capable d'adresser que 32Kio sur la carte mémoire de la console. Toutes les cartes mémoires fonctionnent donc sur le même modèle : les cartes mémoires ne peuvent contenir que 16 fichiers (16 « notes », codés sur 8 bits donc) et 123 pages de 2Kb chacun (10Kb étant réservés à l'adressage et à la gestion des notes en question) ;
  • elle fonctionne avec de la SRAM maintenue par une batterie (ce qui est mal mais alors super mal) ;
  • énormément de jeux utilisent quasiment l'intégralité d'une carte mémoire pour sauvegarder, sans possibilité de réduire ou de compresser ! World Cup '98 et ISS 98 utilise respectivement 121 et 117 pages sur les 123 disponibles !

Quand on a une grosse ludothèque, il peut arriver de jongler avec 5 ou 6 cartes mémoires différentes, sans compter le fait que les cartes mémoires non-officielles ont une certaine tendance à se corrompre ou à perdre des données sans crier gare.

Ce petit projet va donc permettre deux choses : ne conserver qu'une ou deux cartes mémoires pour un usage quotidien ; permettre de sauvegarder les sauvegardes dans un endroit plus sûr (en l'occurence mon PC). Accessoirement, cela va aussi permettre de continuer sur émulateur une partie commencée sur console et inversement.

Officieusement, il n'existe qu'un seul moyen de faire : le DexDrive 64. Vendu seulement aux États-Unis, cet accessoire se branche sur secteur et sur un port série et, à l'aide d'un logiciel qui ne tourne que sous Windows et qui n'est plus du tout maintenu, permet de récupérer les sauvegardes d'une carte mémoire.

Mais, ça c'est pas drôle. Il y a en fait une caractéristique des cartes mémoires N64 qui va être très sympa à exploiter : au lieu d'être branché sur la console, les cartes mémoires N64 se branchent sur les manettes. Hors la manette N64 est un vulgaire périphérique série que l'on peut très facilement manipuler avec… Arduino !