Projet de préservation CD-ROM² [Game Preservation Society]
Publié : ven. 02 nov. 2012 11:55
Bonjour à tous.
Je profite de la visibilité sur ce forum au sein de la communauté PC Engine française pour présenter ce nouveau projet. Désolé pour l'impression un petit peu arriviste que ça laisse (ce n'est que mon troisième post ici). Mais bien que je sois nouveau sur le forum, je pense que pas mal de personnes ici me connaissent en off depuis plus longtemps (20 ans pour certains). Ce projet cogite depuis quelques années déjà mais je veux croire que les éléments fondateurs sont aujourd'hui réunis pour l'entreprendre.
Avant de rentrer dans des débats trop techniques, je vais tenter d'expliquer pourquoi il est nécessaire de redumper la PC Engine.
Tout d'abord NEC (avec l'expertise d'Hudson) a réussi le tour de force de lancer son système CD-ROMROM (écrit CD-ROM², le 2 étant au carré) à une époque où le CD n'avait pour vocation que de contenir de l'audio, et avant que les standards du CD-ROM ne soient définitivement établis. On ne peut pas leur en vouloir là-dessus, tellement ce système a contribué à notre épanouissement personnel et social ! Mais cette prouesse technologique rend aussi ce support difficile à préserver.
J'annonce la couleur d'entrée : la copie parfaite (1:1) d'un CD PC Engine est un mythe.
Le non-respect des règles élémentaires (comme mélanger audio et data au sein d'un même secteur, ou bien partager un gap avec ses deux secteurs adjacents, et j'en passe car la liste est longue), les erreurs lors de la masterisation (dûes à des modification à la volée de la position des tracks créant une désynchronisation avec la TOC), et enfin un pressage plus qu'aléatoire créant un mini-chaos ; tout cela empêche définitivement de savoir si les erreurs précédentes sont volontaires ou dûes au pressage en lui-même.
Fort heureusement pour nous, le lecteur encaisse bien ces défauts (pour notre plus grand bonheur), mais le taux de déchet/remasterisation n'a pas dû être marginal (surtout pour les premiers CD-ROM²).
Au final on pourra toujours corriger ces erreurs manuellement, mais il n'y a pas de règle absolue et chaque personne/soft/algorythme/lecteur donnera un résultat différent. Et surtout, nous ne pourrons JAMAIS être certain à 100% du résultat, le dump de la PC Engine étant plus une interprétation qu'une science exacte. CDRWin par exemple gère très bien tout ça... ou plutôt a l'air de gérer, car le résultat est proche du hack (on est loin d'une copie 1:1, même si l'algorythme donnera toujours le même résultat). D'où le fait que CDMage rapporte zéro erreur pour un CD-ROM², ce qui devrait normalement être inquiétant.
Quelles solutions ?
Deux en fait : une idéale mais qui va prendre du temps, et une autre en backup au cas où la première n'est pas réalisable pour diverses raisons. Car les CD-ROM² se détériorent assez vite, on ne peut pas tout miser sur le rouge. Même si le "main channel" (contenant les datas) est encore lisible, le "sub channel" avec le temps qui passe devient un casse-tête à capter (je n'ose dire lire).
La première solution consiste à utiliser un équipement qui va lire de manière 100% analogique la surface du CD (un peu comme un enregistrement de cassette audio). La matière "brute" étant ensuite analysée pour reconstruire un master avec ses erreurs (encore une fois c'est une interprétation, on ne saura JAMAIS comment était le master original). Pour ceux que ça intéresse, c'est une solution proche du KryoFlux (kryoflux.org) mais adapté au CD.
Cependant ce type de matériel n'existe pas (et serait de toute manière prohibitif), ou bien existe mais dans les usines afin de valider le premier master fraîchement pressé (mes sources parlent d'une machine coûtant au bas mot des centaines de milliers d'euros, mais je n'ai pas d'infos fiables). L'idée étant de "construire" un tel matériel avec les moyens du bord (customisation hard extrême). En incluant le temps de développement et les ressources financières nécessaires, les chances d'arriver au bout du projet sont aujourd'hui difficiles à évaluer (en tout cas ça avance). Sans compter que notre bébé risque d'être un exemplaire unique.
C'est là qu'intervient le Plan B, plus proche de notre monde et des moyens dont nous disposons. Je vais dire que si les CD-ROM² devaient disparaître rapidement, ce serait la moins pire des solutions à court terme pour en garder une trace.
Voici les pré-requis (quasiment la méthode), compte tenu de la spécificité du CD-ROM² :
- dump "brut" (raw), donc non décrypté du main channel
- prise en compte de l'inévitable décalage du master lors du pressage ("write offset")
- prise en compte du décalage à la lecture du CD-ROM² ("read offset")
- récupération des bytes perdus dans le lead-in/out par les 2 décalages
- récupération des bytes en dehors de la TOC (pregap et/ou après le lead-out pour certains jeux)
- lecture et analyse du subcode principal (idéalement conduisant à un dump exempt de défauts grâce a une méthode de correction fiable)
- idem pour la récupération du subcode dans la partie pregap de la première track
- récupération de la TOC brute (subcode du lead-in)
- création d'une cue "réelle" basée non pas sur la TOC mais le subcode
- découpage du fichier brut corrigé en fonction de la cue obtenue
- décryptage des data tracks
- création d'un fichier ISO à partir des morceaux obtenus
- création d'une cue basée sur la vraie TOC
Avec cette méthode, on a récupéré 99.9% de ce qu'il y a sur le CD et le résultat sera identique pour chaque jeu ayant le même "ring number". Ce qui veut dire que la moindre différence dans le ring number justifie un nouveau dump. Mais surtout il est possible pour plusieurs personnes de partager leur subcode afin d'en obtenir un parfait et sans aucun glitch
D'où l'importance de mobiliser des volontaires. Certains initiés reconnaitront une partie de la méthode "redump.org", mais pas seulement (redump.org ne fait pas de "rawdump" et ignore le subcode). Par contre la procédure est longue (de 2 à 5 heures selon l'état du CD) et il ne sera pas toujours possible d'obtenir un dump du subcode sans défauts. L'idéal étant de dumper un jeu neuf sans rayures (mais qui lui aussi, avec le temps et selon comment il a été conservé, va inexorablement se détériorer).
Autre contrainte importante : il faut disposer d'un lecteur Plextor original (pas ceux avec un chip Sanyo) type PX-760A ou PREMIUM/2. Les derniers Plextor (avant que l'entreprise ne devienne une simple marque) sont un cadeau des dieux et possèdent des fonctions permettant de lire là où d'autres lecteurs ne vont pas.
Attention cependant : aucun hardware n'est capable de réécrire/presser de telles anomalies.
Si bien qu'il faudra à terme développer un hardware (c'est en fait déjà sur les rails) capable de remplacer le lecteur de la PC Engine, mais aussi améliorer l'émulation pour apprivoiser au mieux le comportement du vrai lecteur. Mais c'est une autre histoire... Une gravure, en tout cas, ou un repressage à l'identique étant aujourd'hui strictement impossible. Nous sommes donc surtout dans une logique en priorité préservationiste... Désolé pour les ROM collectors
On a encore un petit peu de temps devant nous car nous sommes toujours en phase préparatoire et la base de données devant accueillir ce projet n'est pas prête. D'ici là j'essaierai de répondre à vos questions (parfois par personne interposée car le "père technique" du projet est un Japonais). Je parlerai un petit peu plus tard des racines et de l'organisation du projet.
En espérant avoir un écho positif (que je n'ai pas vraiment de la part des Japonais en général, véridique).
MAJ 25 nov 2012
Le soft de dump est en béta.
Pour votre participation j'ai besoin d'une liste de vos ring number.
Et vous devez avoir un lecteur Plextor.
MAJ 15 fév 2017
Voici la liste des rings répertoriés à ce jour.
N'hésitez-pas à partager les nouveaux que vous pourriez trouver dans votre collection.
Jusqu'a maintenant à chaque fois que j'ai demandé à quelqu'un de checker, j'ai pu trouver de nouveaux rings.
A mon avis il doit encore en rester... (surtout pour les petites séries qui se sont bien vendues comme les jeux Arcade Card)
https://www.gamepres.org/public/pcering.xlsx
Par défaut tout est trié par nom de jeu (japonais).
Mais sous Excel vous pouvez trier par serial, barcode ou ring number.
MAJ 09 oct 2019
Nouvelle adresse du tableau :
https://docs.google.com/spreadsheets/d/ ... N5t3jdzEFs
Je profite de la visibilité sur ce forum au sein de la communauté PC Engine française pour présenter ce nouveau projet. Désolé pour l'impression un petit peu arriviste que ça laisse (ce n'est que mon troisième post ici). Mais bien que je sois nouveau sur le forum, je pense que pas mal de personnes ici me connaissent en off depuis plus longtemps (20 ans pour certains). Ce projet cogite depuis quelques années déjà mais je veux croire que les éléments fondateurs sont aujourd'hui réunis pour l'entreprendre.
Avant de rentrer dans des débats trop techniques, je vais tenter d'expliquer pourquoi il est nécessaire de redumper la PC Engine.
Tout d'abord NEC (avec l'expertise d'Hudson) a réussi le tour de force de lancer son système CD-ROMROM (écrit CD-ROM², le 2 étant au carré) à une époque où le CD n'avait pour vocation que de contenir de l'audio, et avant que les standards du CD-ROM ne soient définitivement établis. On ne peut pas leur en vouloir là-dessus, tellement ce système a contribué à notre épanouissement personnel et social ! Mais cette prouesse technologique rend aussi ce support difficile à préserver.
J'annonce la couleur d'entrée : la copie parfaite (1:1) d'un CD PC Engine est un mythe.
Le non-respect des règles élémentaires (comme mélanger audio et data au sein d'un même secteur, ou bien partager un gap avec ses deux secteurs adjacents, et j'en passe car la liste est longue), les erreurs lors de la masterisation (dûes à des modification à la volée de la position des tracks créant une désynchronisation avec la TOC), et enfin un pressage plus qu'aléatoire créant un mini-chaos ; tout cela empêche définitivement de savoir si les erreurs précédentes sont volontaires ou dûes au pressage en lui-même.
Fort heureusement pour nous, le lecteur encaisse bien ces défauts (pour notre plus grand bonheur), mais le taux de déchet/remasterisation n'a pas dû être marginal (surtout pour les premiers CD-ROM²).
Au final on pourra toujours corriger ces erreurs manuellement, mais il n'y a pas de règle absolue et chaque personne/soft/algorythme/lecteur donnera un résultat différent. Et surtout, nous ne pourrons JAMAIS être certain à 100% du résultat, le dump de la PC Engine étant plus une interprétation qu'une science exacte. CDRWin par exemple gère très bien tout ça... ou plutôt a l'air de gérer, car le résultat est proche du hack (on est loin d'une copie 1:1, même si l'algorythme donnera toujours le même résultat). D'où le fait que CDMage rapporte zéro erreur pour un CD-ROM², ce qui devrait normalement être inquiétant.
Quelles solutions ?
Deux en fait : une idéale mais qui va prendre du temps, et une autre en backup au cas où la première n'est pas réalisable pour diverses raisons. Car les CD-ROM² se détériorent assez vite, on ne peut pas tout miser sur le rouge. Même si le "main channel" (contenant les datas) est encore lisible, le "sub channel" avec le temps qui passe devient un casse-tête à capter (je n'ose dire lire).
La première solution consiste à utiliser un équipement qui va lire de manière 100% analogique la surface du CD (un peu comme un enregistrement de cassette audio). La matière "brute" étant ensuite analysée pour reconstruire un master avec ses erreurs (encore une fois c'est une interprétation, on ne saura JAMAIS comment était le master original). Pour ceux que ça intéresse, c'est une solution proche du KryoFlux (kryoflux.org) mais adapté au CD.
Cependant ce type de matériel n'existe pas (et serait de toute manière prohibitif), ou bien existe mais dans les usines afin de valider le premier master fraîchement pressé (mes sources parlent d'une machine coûtant au bas mot des centaines de milliers d'euros, mais je n'ai pas d'infos fiables). L'idée étant de "construire" un tel matériel avec les moyens du bord (customisation hard extrême). En incluant le temps de développement et les ressources financières nécessaires, les chances d'arriver au bout du projet sont aujourd'hui difficiles à évaluer (en tout cas ça avance). Sans compter que notre bébé risque d'être un exemplaire unique.
C'est là qu'intervient le Plan B, plus proche de notre monde et des moyens dont nous disposons. Je vais dire que si les CD-ROM² devaient disparaître rapidement, ce serait la moins pire des solutions à court terme pour en garder une trace.
Voici les pré-requis (quasiment la méthode), compte tenu de la spécificité du CD-ROM² :
- dump "brut" (raw), donc non décrypté du main channel
- prise en compte de l'inévitable décalage du master lors du pressage ("write offset")
- prise en compte du décalage à la lecture du CD-ROM² ("read offset")
- récupération des bytes perdus dans le lead-in/out par les 2 décalages
- récupération des bytes en dehors de la TOC (pregap et/ou après le lead-out pour certains jeux)
- lecture et analyse du subcode principal (idéalement conduisant à un dump exempt de défauts grâce a une méthode de correction fiable)
- idem pour la récupération du subcode dans la partie pregap de la première track
- récupération de la TOC brute (subcode du lead-in)
- création d'une cue "réelle" basée non pas sur la TOC mais le subcode
- découpage du fichier brut corrigé en fonction de la cue obtenue
- décryptage des data tracks
- création d'un fichier ISO à partir des morceaux obtenus
- création d'une cue basée sur la vraie TOC
Avec cette méthode, on a récupéré 99.9% de ce qu'il y a sur le CD et le résultat sera identique pour chaque jeu ayant le même "ring number". Ce qui veut dire que la moindre différence dans le ring number justifie un nouveau dump. Mais surtout il est possible pour plusieurs personnes de partager leur subcode afin d'en obtenir un parfait et sans aucun glitch
D'où l'importance de mobiliser des volontaires. Certains initiés reconnaitront une partie de la méthode "redump.org", mais pas seulement (redump.org ne fait pas de "rawdump" et ignore le subcode). Par contre la procédure est longue (de 2 à 5 heures selon l'état du CD) et il ne sera pas toujours possible d'obtenir un dump du subcode sans défauts. L'idéal étant de dumper un jeu neuf sans rayures (mais qui lui aussi, avec le temps et selon comment il a été conservé, va inexorablement se détériorer).
Autre contrainte importante : il faut disposer d'un lecteur Plextor original (pas ceux avec un chip Sanyo) type PX-760A ou PREMIUM/2. Les derniers Plextor (avant que l'entreprise ne devienne une simple marque) sont un cadeau des dieux et possèdent des fonctions permettant de lire là où d'autres lecteurs ne vont pas.
Attention cependant : aucun hardware n'est capable de réécrire/presser de telles anomalies.
Si bien qu'il faudra à terme développer un hardware (c'est en fait déjà sur les rails) capable de remplacer le lecteur de la PC Engine, mais aussi améliorer l'émulation pour apprivoiser au mieux le comportement du vrai lecteur. Mais c'est une autre histoire... Une gravure, en tout cas, ou un repressage à l'identique étant aujourd'hui strictement impossible. Nous sommes donc surtout dans une logique en priorité préservationiste... Désolé pour les ROM collectors
On a encore un petit peu de temps devant nous car nous sommes toujours en phase préparatoire et la base de données devant accueillir ce projet n'est pas prête. D'ici là j'essaierai de répondre à vos questions (parfois par personne interposée car le "père technique" du projet est un Japonais). Je parlerai un petit peu plus tard des racines et de l'organisation du projet.
En espérant avoir un écho positif (que je n'ai pas vraiment de la part des Japonais en général, véridique).
MAJ 25 nov 2012
Le soft de dump est en béta.
Pour votre participation j'ai besoin d'une liste de vos ring number.
Et vous devez avoir un lecteur Plextor.
MAJ 15 fév 2017
Voici la liste des rings répertoriés à ce jour.
N'hésitez-pas à partager les nouveaux que vous pourriez trouver dans votre collection.
Jusqu'a maintenant à chaque fois que j'ai demandé à quelqu'un de checker, j'ai pu trouver de nouveaux rings.
A mon avis il doit encore en rester... (surtout pour les petites séries qui se sont bien vendues comme les jeux Arcade Card)
https://www.gamepres.org/public/pcering.xlsx
Par défaut tout est trié par nom de jeu (japonais).
Mais sous Excel vous pouvez trier par serial, barcode ou ring number.
MAJ 09 oct 2019
Nouvelle adresse du tableau :
https://docs.google.com/spreadsheets/d/ ... N5t3jdzEFs