Identification CD

Avatar de l’utilisateur
Fomashead
Messages : 629
Enregistré le : mar. 17 oct. 2017 16:04
Contact :

Identification CD

Messagepar Fomashead » mar. 21 nov. 2017 09:52

Je m’adresse à mes collègue développeur / démerdards / fouineurs. Je suis sur un projet qui m'occupe un peu, et je me heurte à une difficulté interested, car à priori abordée nulle part.

Objectif
Reconnaître un type de galette, en l’occurrence, sa console de destination

L'idée, c'est de réaliser un soft, voir une option d'OS, voir un OS, d'émulation galette parfait : en gros, un insère un disque, et ça boot automatiquement l'émulateur adapté, bien paramétré etc.

L’intérêt, c'est de pouvoir disposer d'un support facile à encastrer sans sacrifier de consoles, facilement remplaçable, et économique en terme de cablage.

Pourquoi pas un RPI3 me dirons certains, je répondrais PS2.

Tatouille
Donateur 2017
Donateur 2017
Messages : 1686
Enregistré le : mar. 3 sept. 2013 00:00
Localisation : Pélissanne (13)
Contact :

Identification CD

Messagepar Tatouille » mar. 21 nov. 2017 20:29

Alors déjà, tous les supports optiques ne sont pas des standards, par exemple le GD-ROM de la Dreamcast, ou les disques de la Wii/WiiU.
Ensuite si tu mets ça dans une PS2, elle ne pourra qu’émuler ce qui est de génération précédente, donc en optique il n'y a pas grand monde, principalement PS et Sat. Pour la PS elle l'émule déjà très bien de base, pour la Saturn, c'est même pas la peine d'essayer, il a fallu attendre plusieurs années des PC disposant d'une puissance phénoménale pour émuler son système à deux processeurs symétriques (et encore je ne suis pas sûr que ça tourne bien de nos jours).
Donc l'utilité de la chose risque de vite décourager ton projet...
"Les sphères qui tiennent à aller dans l'espace sont inférieures aux autres."
                                                                                     - Sphère-Info -

Avatar de l’utilisateur
Fomashead
Messages : 629
Enregistré le : mar. 17 oct. 2017 16:04
Contact :

Identification CD

Messagepar Fomashead » mar. 21 nov. 2017 20:31

Je ne parlais pas de console, mais d'ordi'.
En l’occurrence, je sais déjà déclencher l'emu PS1 quand je pousse un disque PS1 NTSC/PAL.
JE travaille sur la reconnaissance des fichiers et de leur contenu.

Avatar de l’utilisateur
krHACKen
Messages : 224
Enregistré le : dim. 20 nov. 2016 16:55
Contact :

Identification CD

Messagepar krHACKen » mer. 22 nov. 2017 00:26

Pour la portion PS1/PS2, je pense qu'il vaudrait mieux faire le check PS2 d'abord pour plus de commodité.

I - Check PS2
1) Vérifier la présence du fichier SYSTEM.CNF
2) Vérifier la présence d'une variable BOOT2 dans SYSTEM.CNF
3) Optionnel : ouvrir l'exécutable lié au SYSTEM.CNF et vérifier l'en-tête ELF (qui doit commencer par le magic 0x7F, 0x45, 0x4C, 0x46)
4) Optionnel : décrypter le logo PS2 pour obtenir la région
5) Optionnel : supposer une région à partir de l'ID du ELF (SLxx, SCxx...) si le décryptage échoue ou que le logo est invalide/inexistant)
Ne pas accéder aux fichiers des DVDs via l'UDF, sinon ça ne marchera pas avec les jeux patchés ESR
Pour le décryptage du logo PS2, https://github.com/mlafeldt/ps2logo
Certains jeux patchés ont leur logo remplacé (par un release group ou par un crack/trainer).
Certains jeux patchés ont l'ID de leur ELF modifié (pour le vieux swap trick).
Beaucoup de homebrews et de disques shrinkés/rippés ne possèdent pas de logo.

II - Check PS1
1) Vérifier la présence du fichier SYSTEM.CNF
2) Vérifier la présence d'une variable BOOT dans SYSTEM.CNF
3) Optionnel : ouvrir l'exécutable lié au SYSTEM.CNF et vérifier l'en-tête PS-X EXE
4) Si il n'y a pas de fichier SYSTEM.CNF, vérifier la présence du fichier PSX.EXE
5) Optionnel: ouvrir PSX.EXE et vérifier l'en-tête PS-X EXE (ou SCE EXE dans les disques Q&A de $ONY)
6) Optionnel: déterminer la région à partir du texte de licence du bootsector (il en existe deux pour l’Europe, deux pour l'Amérique du nord et un pour le Japon)
7) Optionnel: si le bootsector est absent ou hacké, supposer une région à partir de l'ID de l'executable (SLxx, SCxx...)
Beaucoup de jeux patchés ont leur logo et/ou leur texte de licence remplacé.
Certains softs commerciaux comme l'Action Replay CDX v3.3 n'ont pas de logo PS ni de texte de licence original.
La PS2 vérifie la présence d'autres fichiers (spécifiques à certains jeux) pour déterminer si c'est un disque PS1. Peut être parce que ces jeux ont un SYSTEM.CNF malformé...

Avatar de l’utilisateur
Fomashead
Messages : 629
Enregistré le : mar. 17 oct. 2017 16:04
Contact :

Identification CD

Messagepar Fomashead » mer. 22 nov. 2017 08:52

Merci pour la PS2, c'est exactement ce que je fait pour la PS1.

Avatar de l’utilisateur
Fomashead
Messages : 629
Enregistré le : mar. 17 oct. 2017 16:04
Contact :

Identification CD

Messagepar Fomashead » mer. 22 nov. 2017 08:53

Reste DC, MC, Saturn, et GC.


Retourner vers « Vos Problémes à Résoudre »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités