jeudi 14 juillet 2016

Mod sans interrupteur pour la console Sega Saturn

Cette article présente en premier le principe du choix de zone puis le fonctionnement du mod sans interrupteur.

NB: l'encodage sécurité de la console à récemment était craqué, il va bientôt être possible de charger des jeux par USB/ clef USB en rajoutant simplement une carte sur le port extension d'origine de la console !

Zonage 

Le zonage de chaque console est défini par le PCB par le biais de 4 broches.

JP6/JP7
JP8/JP9
JP10/JP11
JP12/JP13
bit0
bit1
bit2
bit3
 315-5744, broche 5
 
315-5
744, broche 6
 
315-5
744, broche 7
 
315-5
744, broche 8
 
L'état de chaque broche (+5V/0V) défini le code pays comme affiché sur ce tableau:

bit3
JP12/JP13
bit2
JP10/JP11
bit1
JP8/JP9
bit0
JP6/JP7
Zone Valeur
Hexa
0 0 0 0 non utilisé 0
0 0 0 1 Japon 1
0 0 1 0 Taiwan, Philipines 2
0 0 1 1 inconnu 3
0 1 0 0 USA, Canada 4
0 1 0 1 Brésil 5
0 1 1 0 inconnu 6
0 1 1 1 inconnu 7
1 0 0 0 inconnu 8
1 0 0 1 inconnu 9
1 0 1 0 inconnu A
1 0 1 1 inconnu B
1 1 0 0 Europe C
1 1 0 1 inconnu D
1 1 1 0 inconnu E
1 1 1 1 inconnu F

Ici JP8/9 ne nous intéressent pas à moins que vous n'ayez des jeux/ou une console provenant de Taïwan/ des Philippines.

Pour le format de vidéo NTSC (60 Hz) ou PAL (50 Hz) c'est sur une autre broche qu'il faut agir (état bas pour le PAL) :

PALJP1/JP2f315-5690, broche 79

Il nous faut donc changer l'état à chaque broche par le biais des jumpers.

Mod sans interrupteur

J'ai modifié le "saturnswitchless" mod pour travailler avec un compileur plus récent (XC8) que le projet original par Sebastian Kienzl. J'ai également choisi un PIC qui me revenait moins cher sur ebay, le PIC16f628a, me disant qu'il ne serait pas difficile d'adapter le code.

Le code se trouve ici avec le fichier .hex à charger sur le PIC (avec le pickit).

Une fois installé, il fonctionne ainsi : en fonction de l'appui sur le bouton reset on a :

  • pour un appui court - Reset classique de la console
  • pour un appui mi-long - changement 50/60 Hz (clignotement de la DEL de mise sous tension plus rapide et plus long une fois en en 60 Hz)
  • pour un appui long - Changement de la zone : Europe/Japon/USA. Un appui maintenu fera défiler les différentes zones en boucle.
Le voyant de mise sous tension est remplacé par une diode bicolore ce qui donne directement un code couleur pour la zone sélectionée.

Dès que vous changer les paramètres, ceux-ci sont sauvegradé dans l'EEPROM du PIC.

Guide d'installation

Voici un petit guide pour la console saturn modèle 1, plus précisèment le PCB version 837-11892-01:PAL, pour les autres modèles vous pouvez vous baser sur cet article qui vous permetra d'identifier le routage de chaque jumper.

J'ai défini le brochage du PIC16f628a ainsi :

RB0 (entrèe) utilisé comme une interruption externe, relié RESET BUTTON
RB1 (sortie) mode vidéo PAL si 0 NTSC si 1 (JP1)
RB2 (sortie) le reset de la console
RB4 (sortie) DEL verte
RB5 (sortie) DEL rouge
RA0 (sortie) JP6 (bit 0 du zonage)
RA1 (sortie) JP10 (bit 2 du zonage)
RA2 (sortie) JP12 (bit 3 du zonage)

Chaque broche de zone/mode vidéo des puces de la console peut être reliée à la masse ou au +5V pour être activé.  J'ai reproduit ici le routage des jumpers du modèle que j'ai.


mode vidéo


bit 0


bits 2 et 3

Voici donc ce qu'il faut faire en photo : chaque point rouge est l'endroit où connecter une broche du PIC.

Carte mère coté verso :

Enlever R29 et relier RB1
Une piste à couper (JP7), RA0 à relier
Carte mère coté recto :

RA1 et RA2 à relier au PIC (chacun ont deux points où il peuvent être souder), deux pistes à couper (JP10 et JP12)

Carte fille :
Carte fille, une piste à couper, deux points à souder RB0 et RB2

Il y faut également mettre la diode bicolore à anode commune, dont les deux cathodes sont reliées à RA4 et RA5 en série avec des resistances de 200 ohms.

Il ne faut pas oublier de mettre un condensateur céramique de 100 nF au plus proche du +5V et la masse du PIC.

Profitez des jeux japonais à bas prix !
Fréquence :