# GC6E01 - Pokémon Colosseum [OnFrame] # This game has extra memory card checks compared to most games, # presumably to prevent Pokémon duping. These can interfere with # saving your game when using savestates. # # 0x801cfc2c: # Originally a branch that checks if the save counter in memory # matches the one on the memory card. We patch this to instead # overwrite the counter in memory with the one from the memory # card. We need to do this because each memory card file actually # contains three save slots the game rotates when saving, and # when loading it loads the save with the biggest save counter. # So we need to make sure the newly written save (which uses # the value from memory + 1) is higher than any save currently # on the card. # # 0x801cfc7c: # Another branch. Not entirely sure what this one checks, but # not patching this one sometimes still makes it recognize the # memory card as 'not the same Memory Card as the one used to # load the saved data', so nop it out. # $Allow Memory Card saving with Savestates 0x801cfc2c:dword:0x9005002c 0x801cfc7c:dword:0x60000000 [OnFrame_Enabled] $Allow Memory Card saving with Savestates [Patches_RetroAchievements_Verified] $Allow Memory Card saving with Savestates