Je suis en train de finir Mario's Picross, comme évoqué plus haut. J'ai fini les niveaux champignon et étoile assez facilement, et en suis maintenant aux niveaux "time trial" : le jeu suit une rotation de 64 nouveaux niveaux dans lesquels les erreurs ne sont pas annoncées et le chrono, au lieu de décompter jusqu'à 0, compte le temps écoulé jusqu'à complétion. Un top 5 des meilleurs temps (commun, quelque soit le niveau joué) est ainsi sauvegardé.
Il m'a fallu quelques niveaux pour m'en rendre compte, mais bien que j'avais effacé toutes les précédentes sauvegardes, les records du time trial étaient restés dans la sauvegarde.
(Note:
il semble que la notice US offre un moyen de tout remettre à zéro en page 12, mais ça ne fonctionne pas sur le jeu japonais...)
Malheureusement, ces scores sont imbattables. Je me considère plutôt bon à Picross, et j'ai du mal à imaginer comment quelqu'un pourrait faire de tels temps sur les niveaux proposés. (Je suis autour de 6~7 minutes minimum.) Bon il se peut que SAT(OSHI?) soit un surdoué, mais je suspecte la tricherie...
J'ai donc entrepris de remettre à zéro ces temps, sans pour autant supprimer ma sauvegarde, ce qui est impossible par des moyens conventionnels.
Le hasard fait bien les choses: je viens de recevoir aujourd'hui même mon
GBxCart RW, commandé le mois dernier afin de m'assurer que je pourrai conserver mes sauvegardes, même entre changements de pile.
J'ai commencé par dumper ma sauvegarde, et l'ouvrir dans un éditeur hexadécimal.
(Je ne m'en suis pas rendu compte de suite, mais le petit bout de texte sélectionné sauvegarde à lui seul les temps records.)
J'ai produit une sauvegarde vide en effaçant la sauvegarde de ma cartouche, puis en relançant le jeu. En dumpant cette sauvegarde, je pouvais maintenant comparer les deux pour voir ce qu'il y a de différent.
Ça n'a pas
beaucoup aidé, mais j'ai au moins pu récupérer les valeurs par défaut (NIN, APE, JUP, MAR, PIC, pour
Nintento,
APE inc.,
Jupiter Co.,Ltd.,
Mario et
Picross).
J'ai essayé à plusieurs reprises de remplacer le bloc de données autour de SAT par la même région provenant de la sauvegarde vide, mais toutes mes tentatives échouaient, le jeu effaçant complètement la sauvegarde (car corrompue ?)...
J'ai alors tenté d'éditer la mémoire pendant que le jeu tourne dans un émulateur, pensant que si j'arrive à modifier la donnée appropriée, alors le jeu s'occupera de la réécrire proprement dans les données de sauvegarde lors de... ben d'une sauvegarde justement.
(Une autre note: les mêmes SAT apparaissent à deux endroits du fichier de sauvegarde dumpé. Il s'agit sûrement là d'un contrôle d'intégrité.)
SameBoy m'a permis cela assez facilement.
J'ai d'abord lancé le jeu, me suis dirigé vers l'écran juste avant celui des records, et ai changé un SAT en NIN, pour voir ce qui allait se passer. Confirmant que ma modification était prise en compte par le jeu, je tente un reset: le NIN est toujours là! C'est alors que je m'aperçois que la plage de donnée correspondant aux time trials est très courte. Je copie donc exactement cette partie, la pose au bon endroit dans l'éditeur de mémoire, reset le jeu: c'est gagné !
Pour finir, j'ai flashé le nouveau fichier de sauvegarde sur ma cartouche, fait une partie et confirmé que tout fonctionne bien !
On peut même s'amuser à introduire des données invalides:
Ou comment j'ai passé deux heures à hacker une sauvegarde de jeu GameBoy par vanité...