Puis c'est aussi pour ce pd de Batou, pro de la bite mais pas du cartmod .
Je remercie par avance Redfield,Runik, maptou et Ryuga pour toute l'aide qu'ils m'apportent. Ryuga, il y aura surement ici des choses en doublon avec ton tutorial en cours, mais comme c'est une section privée, pas de soucis . J'espère que tu ne m'en voudras pas.
Le cartmod est le fait de prendre un jeu Nes, Snes, Megadrive, etc... existant, d'enlever le programme contenu dessus, et de le remplacer par un autre auquel on souhaite jouer sur la console d'origine. C'est-à-dire prendre par exemple Virtual Soccer sur Super Nintendo, et remplacer le programme contenu dans la cartouche par BS F-Zero. Cela signifie également le sacrifice du jeu d'origine, donc d'un point de vue éthique le cartmod est ambiguë, et on préférera sacrifier dans la mesure du possible des jeux "pourris" et pas chers.
Le principe fondamental pour réussir un cartmod est de trouver le bon donneur. De manière générale, un donneur compatible aura les mêmes caractéristiques que le jeu qu'on désire mettre à la place, logique. Nous verrons par la suite que parfois cela se complique pas mal, et que la compréhension des aspects techniques qui définissent l'identité matérielle d'un jeu est nécessaire.
- Un fer à souder, pas trop puissant (max 45W), pour ma part j'utilise une station pour dessouder (température à 400°C) et un fer Antex 12W panne très fine pour souder.
- De la tresse à dessouder 1,5 mm pré-étamée. Une pompe à dessouder c'est possible aussi, chacun fait selon la méthode avec laquelle il est le plus à l'aise.
- De l'étain (Sn 60%- Pb 40% par exemple).
- Des eproms, selon la console je mettrai les références requises.
- Un effaceur UV d'eproms, il y en a des pas chers sur ebay, sinon pour les fortunés y en a des plus chers mais de meilleurs qualité en Allemagne.
- Un programmeur d'eprom, il y en a à tous les prix, j'ai un top3000 qui me donne satisfaction (malgré des débuts difficiles), qui vaut dans la centaine d'€. Après il y a des bêtes de courses pour les budgets plus élevés.
- Des embouts de vis gamebit ou équivalents, afin d'ouvrir les jeux.
- L'utilitaire Fixchecksum.
- L'utilitaire Ucon ou Ucon64.
- L'utilitaire Snes Rom Util.
- L'utilitaire Famirom ou NesMapperProgram.
- Un éditeur héxadécimal ou équivalent permettant la fonction Swapbyte.
Romlaboratory : http://nintendoallstars.w.interia.pl/romlab/romlab.htm
Tout ce qu'il faut pour cartmoder et hacker à tout va.
NesDevWiki : http://wiki.nesdev.com/w/index.php/Nesdev_Wiki
Tout sur la Nes et la Famicom.
Nescartdb : http://bootgod.dyndns.org:7777/
Database impressionnante des jeux nes. Tout y est, de la photo de pcb jusqu'à la marque des maskroms.
Callanbrown : http://callanbrown.com/
Site de Callan Brown qui réalise et explique les cartmods Nes.
Snescentral : http://www.snescentral.com/
Database sur les jeux et système Super nintendo (listes des différentes pcb utilisées, photo des pcb de jeu,...)
EXEMPLE AVEC UNE EPROM 27C1001, c'est pareil pour toute programmation.
- Le programmeur branché en USB et également sur le secteur, démarrer le logiciel topwin et aller dans "LIST" pour définir le modèle et la marque de l'eprom utilisé. Dans l'exemple, une 27C1001 de marque ST.
- Une fois l'eprom définie, mettre celle-ci dans le socket du programmeur et baisser le levier du socket. Faire READ permet de voir ce que l'eprom contient.
- Il n'y a que des "FF", l'eprom semble vierge. Le bouton BLANK permet de s'assurer que l'eprom est bien vierge. Si ce n'est pas le cas (le programmeur indiquera "error at" quelque chose), il faut passer l'eprom à l'effaceur.
- L'eprom est vierge, il est temps de la déflorer. Ouvrir le fichier à brûler sur l'eprom, dans cet exemple un fichier CHR Nes de Mr Gimmick (j'expliquerai plus tard ce que c'est). Faire OK sur la fenêtre Load File.
- Le fichier ouvert, il suffit de cliquer sur "WRITE", pour le programmeur brûle l'eprom. Une barre de progression apparaît et si tout se passe bien, la boite de dialogue indiquera "COMPLETE" à la fin. La fonction "VERIFY" permet de vérifier que le contenu de l'eprom est bien identique au fichier de base.
Voilà, l'eprom est programmée .
Pour reprendre les propos de Refield, le cartmod megadrive c'est "l'enfance de l'art". C'est le plus "simple" si on peut dire ça comme ça. Pour le moment je n'aborde que le cartmod des jeux sans sauvegarde, j'en ai pas encore fait avec des jeux à sauvegarde^^.
L'exemple ici est Alien Soldier, fait à partir d'un ultimate soccer qui trainait à ma vue (dommage pour lui). On peut prendre n'importe quel donneur pour le cartmod megadrive sans sauvegarde, c'est là que c'est plus simple par rapport aux autres consoles.
- Etape 1 : Préparation de la rom du jeu.
Une fois la rom du jeu désiré récupérée, il y a besoin de lui faire subir un petit traitement préparatif. Tout d'abord, il peut être nécessaire de fixer le "Checksum", si jamais il n'est pas bon la megadrive ne sera pas capable de le lire. J'utilise pour cela FixChecksum, un petit utilitaire fort sympathique.
Une fois la rom ouverte, si le checksum est indiqué "incorrect", cliquer sur Fix Checksum, la rom sera alors modifiée avec le bon checksum.
Ensuite, il peut arriver que la rom contienne des protections contre la copie. Pour enlever d'éventuelles protections, j'utilise UCON64. Je créé un dossier "Ucon" sous D: par exemple, je mets le programme dedans ainsi que ma rom à traiter.
Une fois cela fait, je démarre l'invit de commande windows puis :
D: (pour aller sur le disque D)
cd Ucon (pour aller dans le dossier Ucon se trouvant sur le disque D)
Et afin de traiter la rom, je rentre la ligne de commande suivante : Ucon64 -k -f --chk Nomdelarom.extention
Dans l'exemple de la rom d'alien soldier : Ucon64 -k -f --chk aliensoldier.bin
J'ai renommé exprès la rom en supprimant les espaces, sinon le traitement d'Ucon ne fonctionnera pas.
Une fois le traitement fait et les diverses protections supprimées s'il y en a, la rom sera directement modifiée. Un fichier .bak est également créé mais on ne l'utilise pas.
Enfin, il faut réaliser un "swapbyte de la rom, c'est à dire inverser les bits, avant de brûler la rom sur l'eprom. Ne trouvant pas d'éditeur hexadécimal pour faire cela, et le logiciel topwin ne le faisant pas, j'ai téléchargé le soft "EPROM45" normalement utilisé si on a un willem comme programmeur.
Une fois le programme démarré, sélectionner l'onglet "DEVICE", puis sélectionner "27C322" (eprom utilisée pour le cartmod megadrive).
Sélectionner ensuite l'onglet "BUFFER", puis charger la rom. Ensuite, aller dans l'onglet "ACTION" et cliquer sur "SWAPBYTE".
Sauvegarder la rom ainsi modifiée !
- Etape 2 : Brûler la rom sur une eprom. Se référer à l'utilisation de topwin et du top3000.
Pour le choix de l'eprom, généralement une 27C322 (4 Mo) est utilisée. Cependant, il est possible de prendre une eprom et un jeu sacrificiel de la taille du mod souhaité (voir plus bas)
- Etape 3 : Dessouder la maskrom en place sur le donneur.
On peut déjà, pour notre exemple, souder de suite 3 brins de fils sur les pins 7, 8 et 9 du connecteur cartouche.
- Etape 4 : Souder l'eprom programmée : cas d'une 27C322.
Tout d'abord, relever les pattes 1, 32 et 42 de l'eprom. En effet, le brochage de l'eprom 27C322 (42 pins) est différent de celui de la maskrom sega d'origine (40 pins) :
Il faut donc rediriger les pins 1, 32 et 42.
Remarque : Comme dit précédemment, il est possible de se simplifier la vie en utilisant un donneur faisant la même taille que le cartmod désiré. Ainsi, il n'y aura alors aucune redirection à réaliser, et l'eprom pourra être soudée directement.
Rom et donneur de 512 Ko : 27C400
Rom et donneur de 1 Mo : 27C800
Rom et donneur de 2 Mo : 27C160
Rom et donneur de 4 Mo : 27C322
Souder le reste de l'eprom à la place de la maskrom d'origine. Ne pas mettre d'étain sur le trou laissé vaquant à la place du pin 42.
Puis relier à l'aide des trois brins de fils le pin 7 du connecteur cartouche au pin 1 de l'eprom, le pin 8 du connecteur cartouche au pin 32 de l'eprom et le pin 9 di connecteur cartouche au pin 42 de l'eprom.
Avant de refermer le jeu, il faudra probablement limer un peu la coque ; en effet des fils viennent d'être soudés direct sur le connecteur de la cartouche.
Si tout a bien roulé, victoire :
Voilà pour les jeux sans sauvegarde et à un emplacement d'eprom.
Des subtilités existent pour des cartmods spécifiques, avec quelques rares jeux de 3 ou 4 Mo à sauvegardes comme les Shinning. Il est nécessaire de trouver une PCB moins commune à 2 emplacements de maskrom.
De même quelques rares titres comme Rockman ou Wonder Boy in Monster World IV qui utilisent une sauvegarde de type ferro-magnetique, utiliser une classique PCB à SRAM + Pile ne sera d'aucune utilité.
Le cartmod sur nos chères 8 bits n'est pas simple et il est nécessaire de comprendre les principes fondamentaux du matériel nes/famicom afin de s'en sortir.
Tout d'abord, voici des sites incontournables pour trouver de bonnes infos (pinouts des connecteurs cartouche, pinout des maskroms, schémas de redirections, infos sur les jeux...) :
NesDevWiki : http://wiki.nesdev.com/w/index.php/Nesdev_Wiki
Tout sur la Nes et la Famicom.
Nescartdb : http://bootgod.dyndns.org:7777/
Database impressionnante des jeux nes. Tout y est, de la photo de pcb jusqu'à la marque des maskroms.
Callanbrown : http://callanbrown.com/
Site de Callan Brown qui réalise et explique les cartmods Nes.
Principes fondamentaux des jeux Nes et Famicom :
Les jeux fonctionnent à l'aide de iNes mappers et de mappers, leurs références définissent le type de mémoire logique utilisée pour un jeu donné. A chaque mapper sera également associé une référence de pcb. Le site NesCartdb propose la liste complète des mappers (il y en existe une tétrachié) et leurs caractéristiques.
Pour trouver un donneur au cartmod qu'on désire réaliser, une bonne méthode est donc d'aller sur le site NesCartdb, de chercher le jeu qu'on veut réaliser, le site donnera alors toutes les infos techniques sur le jeu, et il suffira d'aller un autre jeu ayant les mêmes caractéristiques et qui servira de donneur.
Exemple : Je veux me faire un Dynamite Batman sur Famicom.
Recherche sur NesCartdb :
Le site me donne toutes les caractéristiques du jeu : mapper utilisé ("PCB class"), taille des mémoires (CHR pour les graphismes, et PRG pour le programme), etc...Y a même la marque des composants utilisés^^.
Dynamite Batman utilise donc le iNes mapper 69 ainsi que le mapper sunsoft FME-7, il faudra alors rechercher les jeux fonctionnant avec ce mapper pour trouver un donneur potentiel. Entre autres, Barcode World, Dodge Danpei 2 sont des donneurs.
Une fois le donneur trouvé, il va falloir évidemment enlever les maskroms en place. Et là ça se gâte, car sur Nes et Famicom les composants sont soudés à la fois côté soudures et côté composants.
Soit on y va à l'arrache en zigouillant les maskroms au dremel en coupant les pattes et en les enlevant une par une ensuite au fer à souder, soit on est un gentleman et on garde les maskroms intactes en jouant de la tresse à dessouder.
Pour ma part, j'utilise de la tresse pré-étamée, et une station à souder dont je règle la température à 400°C pour dessouder à la tresse. La technique consiste à poser la tresse sur chaque patte côté composants, et à poser sur la panne du fer par-dessus la tresse. Cela doit normalement enlever toute la soudure de la patte. S'il en reste côté soudures, il faudra finir de l'enlever.
Avec de l'entrainement on prend le coup de main, mais gare à être doux car un accident peut vite arriver avec une piste cassée et à refaire :
Une piste rompue, hop un fil et c'est reparti. Les PCB sont fragiles, donc be careful !
Une fois les maskroms originales enlevées, il faut programmer les eproms. Selon la taille des fichiers à brûler, il faudra utiliser les eproms suivantes :
- 27C256 (pour fichiers de 32 KB),
- 27C512 (pour fichiers de 64 KB),
- 27C1001 ou 27C010 (pour fichiers de 128 KB),
- 27C2001 ou 27C020 (pour fichiers de 256 KB).
Il faudra une eprom pour ce qu'on appelle le "CHR" et une eprom pour ce qu'on appelle le "PRG". Une fois la rom du jeu récupéré, utiliser le programme iNes mapper program ou encore Famirom. Ces utilitaires permettent de préparer la rom afin de la scinder en deux fichiers, l'un le CHR, l'autre le PRG. A noter que iNes mapper program permet également de déterminer le mapper et les caractéristiques techniques d'un jeu, grâce à la fonction "analyse rom". Il proposera alors une liste de jeu utilisant les mêmes fonctions, mais attention cela ne veux pas toujours dire que ce sont des donneurs compatibles.
Les fichiers CHR et PRG ainsi obtenus, ils peuvent être brûlés sur les eproms. La soudure des eproms peut commencer...
Si vous utilisez des 27C256 ou 27C512, il n'y aura généralement pas de redirections à faire, ouf. Par contre, en utilisant des 27C1001/010 et 27C2001/020, il y aura la plupart du temps des redirections à faire, qui sont le plus souvent de la sorte (schéma de Callan Brown) :
Ce schéma couvre pas mal de cartmods, mais il existe pas mal de subtilités ; parfois, il arrive que les maskroms originales aient le même pinout que les eproms 1001/010 et 2001/020, c'est le cas de certains jeux sunsoft par exemple. Egalement, on peut se retrouver avec un emplacement de maskrom à 28 pins et une eprom de 32 pins à adapter. Il est donc fortement conseillé de vérifier au multimètre les pinouts des maskroms à chaque cartmod !
Exemple de cartmod une fois terminé :
A SUIVRE !