libretro / gambatte-libretro

Hard fork of Gambatte to the libretro API.
http://sourceforge.net/projects/gambatte/
GNU General Public License v2.0
105 stars 79 forks source link

Pokemon Crystal crash (.rtc from bgb) #132

Closed ghost closed 4 years ago

ghost commented 5 years ago

If someone were to attempt using their Pokemon Crystal save files from bgb and then use it with Gambatte people will likely see the Game Boy Color bootscreen followed by a white screen meaning Gambatte/RetroArch have crashed.

This is due to the .rtc file which stores the Real Time Clock data from bgb is different somehow compared to the one created by Gambatte.

There is a fix/workaround for this issue which involves in a couple of necessary steps.

  1. Delete the non compatible .rtc from bgb in the saves folder and only keep the .srm save file

  2. Start the game and a new .rtc file will be created automatically although date and time will be wrong (this is what we're going to fix)

  3. Load your save and write down the following stats: Name (super important to write it down like it is, my in-game name is ETHAN with all caps), PlayerID and Money value

  4. Go to this website (it's a calculator that generates a code enable to reset date and time)

  5. In that website enter your Name, PlayerID and Money value and the code will be generated immediately, write it down!

  6. Start the game and to access the RESET CLOCK option, you must go to the Pokemon Crystal Title Screen. (The splash screen "Pokemon: Crystal Version" with Suicine running, 2001 Game Freak Inc.......)

  7. Press DOWN + SELECT + B

  8. While holding SELECT, let go of DOWN + B, and press LEFT + UP

  9. Now let go of SELECT

  10. You will be asked to change date and time and you will be prompted to enter the code you just generated earlier

  11. Follow the onscreen instructions and you'll have a proper .rtc file with correct date and time

This is the only way at the moment to fix this issue and I have no clue what the real difference between bgb's .rtc is compared to Gambatte's .rtc is

I also don't know about Pokemon Gold and Silver but this might work the same for those as well although you only have to Press DOWN + SELECT + B at the Title Screen.

Just thought I give you guys a heads up on this, it might save people some headache.

distay0xGit commented 4 years ago

I'm trying to do this, but it always outputs "00NaN". I think you'll need to fix this. nan

ghost commented 4 years ago

I have noticed your name have a space in it, DANK PU which could be the problem here.

I don't know how the time reset calculator handles user names with spaces, remove the space and the 00NaN password changes to 01299.

Unfortunately I'm not the author behind that calculator so there is not much I can do about it.

ghost commented 4 years ago

@JG-GIT

I have managed to fix the 00NaN issue, I have rebuilt that calculator I linked to from scratch in Visual Studio and based on the values you provided your code is 01574.

I will probably later upload my calculator here so it can be used by anyone offline.

ghost commented 4 years ago

For anyone who wants to reset the time in Pokemon Crystal, everything you need is here: https://github.com/RokkumanX/CrystalCalculator

The linked calculator in my first post is bugged and only accepts 5 characters despite the game accepts 7 and also it does not seem spaces or any of the special characters is handled correctly which mine does perfectly.

However with this being said the initial issue is still present and that's why I'm leaving this open, the different .rtc files between bgb and Gambatte is not cross compatible.

ghost commented 4 years ago

People have my calculator so they can technically fix the issue themselves, no need to keep this open anymore. Bye bye.