22 ans après sa sortie, le DRM de la Sega Saturn est enfin piraté
La Sega Saturn est l'avant-dernière console de Sega, sortie en 1994 au Japon. Celle-ci n'est pas longtemps restée dans l'esprit des joueurs, notamment car Sega avait précipité sa mort en sortant rapidement la Dreamcast. En conséquence, la ludothèque est pauvre, mais n'en reste pas moins intéressante. Aujourd'hui, les consoles à CD de la firme, que ce soit pour la Dreamcast ou la Sega Saturn, souffrent d'un problème handicapant : le lecteur CD tombe en panne et la console ne reconnaîtra plus les jeux.
Alors que la Dreamcast possède déjà des solutions, la Sega Saturn ne semble pas avoir eu un succès auprès des bidouilleurs. Alors que généralement, il ne faut que quelques années aux chercheurs pour trouver des méthodes de piratage, la Sega Saturn a tenu plus de 20 ans. Heureusement, l'ingénieur James Laird-Wah, aussi connu sous le pseudonyme Dr Abrasive (concepteur de la cartouche Drag'n Derp : cartouche GameBoy pour lancer des jeux par USB) s'est penché sur la console et a trouvé une méthode pour lancer des jeux.
cTrix (un musicien chiptune), nous propose une vidéo de 27 minutes, dans laquelle Dr Abrasive explique sa méthode et nous livre de nombreuses informations sur la console :
On apprend notamment que la protection CD est plutôt avancée. La console possède une puce spécifique pour la gestion du lecteur CD. La puce contient un micrologiciel spécifique que personne n'a rétro-ingéniéré. De plus, les CD possèdent une zone spécifique en bordure du CD permettant à la console de lire les données protégées. Évidemment, impossible de graver de tels CD soi-même. Par contre, pour copier les CD, rien de plus simple : un copier/coller sur un PC.
L'idée du hack est d'utiliser l'emplacement pour l'adaptateur vidéo CD afin d'injecter les jeux dans la partie matérielle gérant le CD (à la bonne vitesse, évidemment). Avec un adaptateur approprié, il est ainsi possible de lancer ses jeux à partir d'une clé USB. Le prototype est expérimental (et on y remarquera des retouches de dernière minute), mais le premier pas est fait.
Grâce à ce hack, la scène homebrew/demoscene pourra être plus active, les émulateurs pourront être améliorés. Aussi, les collectionneurs pourront toujours utiliser leur console. Du côté de Dr Abrasive, il retournera à son objectif premier : utiliser la console pour jouer des chiptunes.
Parallèlement, Johannes Fetz a publié un moteur de jeux vidéo 2D, appelé Jo Engine en C, open source, sous licence MIT pour la Sega Saturn. Le moteur fonctionne sous Windows, mais devrait prochainement aussi être disponible pour Linux.
Voici ce dont est capable le moteur :
Le moteur permet de gérer les fichiers à partir du CD, de charger des sprites, de les animer, de gérer des maps (un éditeur est inclus avec le moteur), de gérer l'audio, les manettes et permet d'afficher un défilement avec parallaxe et aussi de reproduire les effets du Mode7.
Voici un exemple de code, pour charger un sprite à partir du CD et le dessiner :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <jo/jo.h> void my_draw(void) { jo_sprite_draw3D(0, 0, 0, 500); } void jo_main(void) { jo_core_init(JO_COLOR_Black); jo_sprite_add_tga("TEX", "A.TGA", JO_COLOR_Transparent); jo_core_add_callback(my_draw); jo_core_run(); }
Votre opinion
Avez-vous une Sega Saturn ?
Êtes-vous intéressé dans la programmation sur Sega Saturn ?
Que pensez-vous de ce hack ? Pourquoi a-t-il fallu attendre 20 ans pour l'obtenir ?
Pensez-vous qu'il faille préserver le patrimoine vidéoludique ? Que faut-il faire pour cela ?
Source
Gamasutra
Site officiel de Jo Sega Saturn Engine
Partager