remarque Missing language! Please use another... And help me to translate!
Langue absente ! Utilisez en une autre SVP... et aidez moi à faire cette traduction !
-> fr





Cet article est encore une ébauche et n'est pas fini !



L'essentiel sur les EPROM et leur flashage.


Pour tout commentaire, suggestion, correction ou demande, il y a ce sujet dédié sur le forum. Surtout n'hésitez pas à participer ! Merci de votre aide. :-)





Sommaire :

présentation, les types d'EPROM, technique, montages




EPROM

Les EPROM (Erasable Programmable Read-Only Memory) sont des puces mémoire très utiles pour nous autres joueurs, et principalement rétrogamers. En effet les contructeurs stockent les données des jeux, BIOS,... dans des mask ROM (MROM) ou des EPROM, remplaçables par des EPROM flashées à volonté pour modifier un jeu (cartmodding, mise à jour), changer le région ou la version du BIOS... Différentes utilisations et techniques seront abordées ici.




Les types d'EPROM :

Ici nous nous intéresseront aux UV-EPROM qui sont celles exploitables pour nous autres particuliers et sont compatible avec les anciens systèmes. Elles ont la particularité de s'effacer grâce à un effaceur à UV (la technique sera abordées dans la partie suivante).
On les trouve encore en neuves, ou à bas prix en occasion (c'est très solide) sur eBay par exemple.

Il existe différents modèles avec des brochages (pinout) différents, DIP (ou DIL) définissant le nombre de pates disposées en latéral pour une puce en longueur (boitier PDIP : Plastic Dual Inline Package ).
La mémoire est stockée en 8*x. Le Vpp est à 12,5V. Pour la valeur en Ko, diviser celle en Kb par 8.
Note : ces EPROM avec le "C" sont des CMOS par rapport aux anciennes NMOS (mêmes références sans le "C", exemple : 2732) qui sont compatibles mais consomment plus et demande 25V pour le flash.

EPROM 8 bits
DIP 24 : 2732 (32Kb)
DIP 28 : 27C64 (64Kb), 27C128 (128Kb), 27C256 (256Kb), 27C512 (512Kb)
DIP 32 : 27C010/27C1001 (1024Kb), 27C020/27C2001 (2048Kb), 27C040/27C4001 (4096Kb), 27C080/27C801 (8192Kb)

EPROM 16 bits (via adaptateurs, attention la 27C400 est en DIP 40 mais nécessite l'adaptateur DIP 42 car fait partie de la série des 27C800+ et pas 27C1024+.)
DIP 40 : 27C400/27C4100 (512Kb), 27C1024/27C210 (1024Kb), 27C2048/27C2002 (2048Kb), 27C4096/27C4002 (4096Kb)
DIP 42 : 27C800 (1024Kb), 27C160 (2048Kb), 27C322 (4096Kb)

Les utilisations :
ST-V BIOS : 27C400 (simple) / 27C800 (dual)
NeoGeo MVS et AES BIOS: 27C1024
MegaDrive jeux : 27c400, 27c800, 27c160, 27c322
NES jeux : 27C64, 27C128, 27C256, 27C512, 27C010, 27C020, 27C040

Note : autres types de mémoires.
_ types de pattes :
*DIP = pattes séparées 0.1"
*SOP = pattes à plat resserrées
_ position des pates :
P*** = pattes sur le grand coté
T*** = pattes sur le petit coté
_type de mémoire :
UV-EPROM (abordée)
EEPROM (similaires, effaçables électriquement), flash memory


présentation, les types d'EPROM, technique, montages




Techniques :

Programmeur :
Il existe différents programmeurs, certains en USB plutôt onéreux (60-250€, bien vérifier 42 pins), et le très classique programmeur Willem en prise parallèle qui est robuste, fiable et surtout très peu cher (20-40€) ! Il existe différentes versions du PCB plus ou moins officielles (3, 3B, 3.5, 4.5, 5), des plans libres disponibles pour se le construire soi-même, et un soft très simple pour s'en servir (en versions 0.97 et 0.98 selon le PCB utilisé ; généralement plusieurs versions fonctionnent, il faut tester).
Vous trouverez votre bonheur sur Internet ou sur eBay sans difficulté.

Willem   Willem

Flasher :
_ Lancer le soft "EPROMxx". Choisir Device > EPROM > 27Cxxx > celle voulue.
_ Selon l'EPROM (virege, voir la partie effacer), la mettre dans le support du Willem ou via l'adaptateur concerné (DIP 40, DIP 42). Penser à regarder les cavaliers de l'adaptateur pour les accorder à l'EPROM utilisée (généralement réglage 27C400 - 27C800/27C160 - 27C322).
_ Bien régler les switchs du Willem comme indiqué dans le soft.
_ Brancher le Willem par la prise parallèle (données) et par le câble USB OU le transfo (alimentation).
_ Faire File > Load (ou le petit dossier jaune ouvert) et choisir le fichier à flasher.
_ Lancer la procédure.
C'est fait !

Vous trouverez des actions complémentaires dans "Action" (lire un contenu "Read", vérifier que l'EPROM est vierge "Blank Check", vérifier le flash "Compare/Verify" après avoir fait un Load d'une ROM, …)

software

Effacer :
Pour effacer il faut un "UV EPROM eraser", un équipement là encore très peu cher (15-20€). Généralement 20 à 30 minutes effacent les EPROM. Parfois il faut bien nettoyer la fenêtre et laisser un peu plus longtemps si le flash (ou le Blank Check) échoue. Je conseille d'effacer systématiquement une EPROM achetée d'occasion même si elle est sensée être vierge et de faire un Blank Check systématiquement avant chaque flash.
(N'ayez pas peur il en existe écrit en anglais ou français, le mien a été acheté quand j'étais en Chine !)

erraser


présentation, les types d'EPROM, technique, montages




Montages :

La méthode la plus élégante consiste à mettre plusieurs ROMS dans une EPROM de taille supérieure avec un petit soft de sélection. Mais pour ça il faut savoir programmer ou avoir l'outil tout prêt !


Il existe la technique de la mise en parallèle d'une ou plusieurs EPROM de même type, parfois appelé piggyback (quand empilées), ce qui permet par exemple d'avoir plusieurs BIOS sélectionnables avec un interrupteur.
On peut aussi se faire un petit PCB (les 2 EPROM côte à côte) ou relier les pates avec du fil (fastidieux mais facile et quasi gratuit), le mieux étant de mettre la 2e à l'envers par facilité pour les fils et la possibilité d'en effacer une seule des 2.
Comme il faut relier la pate "CE" pour activer l'EPROM, on va pouvoir se servir de ça. Pour l'emplacement des pates rechercher les datasheets ou regarder les schémas un peu plus haut. Attention à la hauteur finale du montage !
Donc :
_ Relier toutes les pates ensemble des EPROM sauf la "CE".
_ Mettre une résistance (entre 10 et 47KR) depuis cette pate vers la pate "VCC" pour chaque EPROM.
_ Mettre un interrupteur reliant la borne commune de l'interrupteur à l'emplacement "CE" du PCB et les autres bornes vers chaque EPROM.
Voilà, la position de l'interrupteur déterminant quelle pate "CE" est reliée, il impose l'EPROM en fonctionnement ! Ce montage est donc valide quel que soit le nombre d'EPROM (il faut juste l'interrupteur adapté).
Par exemple pour une 27C1024 (BIOS NeoGeo) la pate "CE" et la 2 et la "VCC" la 40 (voir le schéma).
En piggyback, j'utilise des supports pour plus de facilité s'il faut flasher à nouveau une ou les 2 EPROM. Pensez que si les EPROM sont soudées directement la fenêtre de celle du dessous devient inaccessible pour l'effacer et donc changer la ROM interne, il convient donc d'intercaler un support entre les 2. Je mets l'empilage dans un support pour pouvoir souder conserver la pate "CE" PCB dessus sans soucis et pouvoir enlever le tout. (Voir le schéma : le support est soudé sur l'EPROM 1.)
Remarque : pour le flash, l'interrupteur fonctionne normalement, celle active sera flashée et pas l'autre.
piggyback


Une autre méthode consiste à faire du dualbank : il faut concaténer les 2 ROM et les flasher dans une EPROM de double de taille. Un interrupteur permettra de passer d'un emplacement mémoire (bank) à l'autre.
Je prends exemple de 2*27C400 (DIP 40 512Kb) remplacées par une 27C800 (DIP 42 1024Kb) comme pour le BIOS ST-V.
_ Une fois les 2 fichiers sous la main taper en DOS ou sous CMD de Windows : "copy /b [1er BIOS avec extension]+[2e BIOS idem] [fichier de sortie en .bin]" (exemple : copy /b epr-20091.ic8+epr-stv-multi_v111.bin dual_stv.bin).
(remarque : pour Windows il faut taper cmd dans "exécuter" pour accéder à la ligne de commande)
Sous Unix la commande est : "cat [1er BIOS] [2e BIOS] > [fichier de sortie]".
_ Flasher le fichier obtenu (exemple dual_stv.bin) dans une EPROM 27C800.
_ Souder sur l'interrupteur 2 positions (3 pattes ON-ON) 3 fils aux pattes de l'EPROM 1 (A18), 22 (VCC), 31 (VSS) : la 1 au centre et chacun des 2 autres à chaque extrémité. Utiliser des fils courts pour éviter tout soucis.
_ Pour le passage de DIP 40 à 42, placer l'EPROM à la place de la MROM d'origine avec les pattes 1 (A18) et 42 (NC) (= extrémité côté encoche) en dehors du support.
dualbank


présentation, les types d'EPROM, technique, montages




Références :
http://col2000.free.fr/vocal/evolutio.htm
http://www.ultimate-console.fr/=-Nintendo-NES-=/=-Cartmoding-=/=-Introduction-au-Cartmodding-NES-=.html
http://www.ultimate-console.fr/index.php?option=com_jfusion&Itemid=69&jfile=viewtopic.php&f=84&t=1000
http://www.ultimate-console.fr/index.php?option=com_jfusion&Itemid=69&jfile=viewtopic.php&f=81&t=1062
http://www.sega-naomi.com/forum/viewtopic.php?t=974&highlight=dualbios
http://gakman.forumactif.com/jeux-videos-f4/flashs-eprom-mises-a-jour-bios-cardmodding-t24.htm
http://www.nerd-out.com/darrenk/500W/DualBoot_piggyback.htm
http://www.knurl.com/Eproms.html


présentation, les types d'EPROM, technique, montages