melonDS-emu / melonDS

DS emulator, sorta
https://melonds.kuribo64.net
GNU General Public License v3.0
3.02k stars 500 forks source link

Pokémon Origin Platinum 1.51 screen freeze (romhack) #1177

Open dgcampea opened 2 years ago

dgcampea commented 2 years ago

Game: Pokémon Platinum (US) with Origin Platinum patch 1.51 applied. Original ROM SHA1: ce81046eda7d232513069519cb2085349896dec7

Tested with:

Settings:

Symptom: Ascending the stairs in Mt. Coronet that eventually lead to Spear Pillar freezes the game for a brief period of time, with lots of spam in the console:

(..., truncated: series of addresses counting upwards)
unknown arm9 read32 FFFEFF58 | FFFEFF58 04000000
unknown arm9 read32 FFFEFF5C | FFFEFF5C 04000000
unknown arm9 read32 FFFEFF60 | FFFEFF60 04000000
unknown arm9 read32 FFFEFF64 | FFFEFF64 04000000
unknown arm9 read32 FFFEFF68 | FFFEFF68 04000000
unknown arm9 read32 FFFEFF6C | FFFEFF6C 04000000
unknown arm9 read32 FFFEFF70 | FFFEFF70 04000000
unknown arm9 read32 FFFEFF74 | FFFEFF74 04000000
unknown arm9 read32 FFFEFF78 | FFFEFF78 04000000
unknown arm9 read32 FFFEFF7C | FFFEFF7C 04000000
unknown arm9 read32 FFFEFF80 | FFFEFF80 04000000
unknown arm9 read32 FFFEFF84 | FFFEFF84 04000000
unknown arm9 read32 FFFEFF88 | FFFEFF88 04000000
unknown arm9 read32 FFFEFF8C | FFFEFF8C 04000000
unknown arm9 read32 FFFEFF90 | FFFEFF90 04000000
unknown arm9 read32 FFFEFF94 | FFFEFF94 04000000
unknown arm9 read32 FFFEFF98 | FFFEFF98 04000000
unknown arm9 read32 FFFEFF9C | FFFEFF9C 04000000
unknown arm9 read32 FFFEFFA0 | FFFEFFA0 04000000
unknown arm9 read32 FFFEFFA4 | FFFEFFA4 04000000
unknown arm9 read32 FFFEFFA8 | FFFEFFA8 04000000
unknown arm9 read32 FFFEFFAC | FFFEFFAC 04000000
unknown arm9 read32 FFFEFFB0 | FFFEFFB0 04000000
unknown arm9 read32 FFFEFFB4 | FFFEFFB4 04000000
unknown arm9 read32 FFFEFFB8 | FFFEFFB8 04000000
unknown arm9 read32 FFFEFFBC | FFFEFFBC 04000000
unknown arm9 read32 FFFEFFC0 | FFFEFFC0 04000000
unknown arm9 read32 FFFEFFC4 | FFFEFFC4 04000000
unknown arm9 read32 FFFEFFC8 | FFFEFFC8 04000000
unknown arm9 read32 FFFEFFCC | FFFEFFCC 04000000
unknown arm9 read32 FFFEFFD0 | FFFEFFD0 04000000
unknown arm9 read32 FFFEFFD4 | FFFEFFD4 04000000
unknown arm9 read32 FFFEFFD8 | FFFEFFD8 04000000
unknown arm9 read32 FFFEFFDC | FFFEFFDC 04000000
unknown arm9 read32 FFFEFFE0 | FFFEFFE0 04000000
unknown arm9 read32 FFFEFFE4 | FFFEFFE4 04000000
unknown arm9 read32 FFFEFFE8 | FFFEFFE8 04000000
unknown arm9 read32 FFFEFFEC | FFFEFFEC 04000000
unknown arm9 read32 FFFEFFF0 | FFFEFFF0 04000000
unknown arm9 read32 FFFEFFF4 | FFFEFFF4 04000000
unknown arm9 read32 FFFEFFF8 | FFFEFFF8 04000000
unknown arm9 read32 FFFEFFFC | FFFEFFFC 04000000
(end)

After the "last read to FFFEFFFC", the game BGM resumes but the screen remains broken (screenshot shows what happens after going up the stairs, both during the ARM9 reads and after it reaches FFFEFFFC). I can provide the save file if necessary.

image

Edit: The reads begin from 0x8c2008e2 and go on to increment until FFFEFFFC.

dgcampea commented 2 years ago

Further testing (with old 3DSXL):

Workaround (for reference): The issue can be either worked around by importing the savefile and using the unpatched Pokémon Platinum ROM to walk through the problematic area (the stairs leading to the room and the room exit) or by using DeSmuME (the bug doesn't seem to happen under it).

Arisotura commented 2 years ago

an alternate solution would be to change your ROM's gamecode to something that doesn't start in IR, for now.

RSDuck commented 2 years ago

Pokemon Platinum doesn't have IR. Only Heart Gold, Soul Silver, Black, White, Black 2 and White 2 have it, it has to be a different issue.

RSDuck commented 2 years ago

a bit later, but we need a savefile for reproduction.

LOuroboros commented 2 years ago

Ascending the stairs in Mt. Coronet that eventually lead to Spear Pillar freezes the game for a brief period of

If you check the thread of this hack at PokeCommunity, you'll see many more people who experienced freezes such as that one. It feels like a problem with the ROM Hack and the tools this Lazerith person used to modify the original Pokémon Platinum ROM, rather than a problem with this, or any emulator.