Why does hall of fame data corrupted by Missingno not return to normal when loading an old save file? [duplicate]
![Why does hall of fame data corrupted by Missingno not return to normal when loading an old save file? [duplicate] - Interior of elegant spacious multistory library Why does hall of fame data corrupted by Missingno not return to normal when loading an old save file? [duplicate] - Interior of elegant spacious multistory library](/assets/images/why_does_hall_of_fame_data_corrupted_by_missingno_not_return_to_normal_when_loading_an_old_save_file_duplicate_0.jpeg)
In Pokémon Red and Blue, MissingNo. is a well-documented phenomenon. As stated in the question "Does MISSINGNO. actually destroy saved game files?", one of the areas MissingNo can corrupt is the hall of fame records.
The accepted answer confirms that
No, it just messes with your save files, permanently messing them up, but not actually deleting them.
and includes the recommendation that
[to fix the problems] try releasing the MissingNo Pokémon. If the problem persists, the only solution is to re-start your game. This means erasing your current game and starting a brand new one.
This suggests that the act of saving after catching MissingNo is in part responsible for the corruption. To clarify, I saved the game before encountering MissingNo, performed the MissingNo glitch, and reloaded my old save. I confirmed that the hall of fame data was initially uncorrupted, and that catching MissingNo has corrupted it. However, not having saved my game post-MissingNo, I reloaded my old save to find that my hall of fame data was still corrupted.
What I am wanting to know is why MissingNo corrupts the hall of fame data, or more specifically,
Why does the MissingNo glitch permanently corrupt the hall of fame data.
Best Answer
TL;DR
Missingno is not a real Pokémon, but is treated as such by the game. This makes the game execute code it shouldn't execute, which in turn causes all sorts of undefined behavior, including tampering with save files.
To understand why Missingno alters already existing savegames, one must first understand how Gameboy games work.
On the Gameboy, savegames are saved on the cartridge's RAM (Random Access Memory), which requires a battery to keep its data. The game itself is stored on ROM (Read Only Memory).
Back then, games had complete control over both the console's hardware and the cartridge. There was no OS (Operating System) running on the console which the game had to communicate with. If the game said "jump", the console would (if it could), even if the order made no sense at all. This allowed games to include additional hardware in the cartridge to allow the console to do what it couldn't normally do, like add 3D capabilities. It's a feature that was hardly ever used, since it would've made cartridge costs skyrocket.
So how does Missingno corrupt savegames in the first place? The answer is simple: Missingno is not part of the game. Let me explain in a bit more detail.
Whenever you reach an area in Pokémon, the game would load a list of Pokémon you could encounter in that area. Not all areas have tall grass or water where you could catch Pokémon, so not all areas would have that list.
Cinnabar Island and Viridian City are two such areas; with no tall grass or water, there is no need for a Pokémon list, right? Well, that's not true for Cinnabar island. There is this one column of water at the Eastern end of the island that still belongs to the island itself. Since the devs overlooked that patch, they didn't bother giving Cinnabar island its own Pokémon list. This is why you could encounter Safari Zone Pokémon at Cinnabar island. Since Fuchsia City also doesn't have a list, leaving the Safari Zone doesn't reset it, making Safari Pokémon encounterable at Cinnabar island.
So what's the deal with the old man of Viridian City and Missingno? Remember what the old man does? He teaches you how to catch Pokémon, but you can't actually encounter any Pokémon in Viridian City. Because of that, the devs had to load some special data into that list to ensure the old man could have a scripted battle in which he'd quickly catch his target. That data is later interpreted as a real Pokémon at Cinnabar island, and rendered as Missingno.
This is where it gets technical: Since the data that had been loaded in the Pokémon list by the old man isn't actually a Pokémon, the engine would try to execute part of the code it's not supposed to execute. This is quite similar to how malware works, only it's not a malware but a glitch. At this point, there is no telling what the game could do. The game could theoretically overwrite your savegame with all zeroes (deleting your save in the process), or corrupt it beyond recognition, or sit down and drink tea, or ignite all the nukes worldwide (slight exaggeration).
Since RAM is very easy to access, savegame corruption isn't very unlikely. And luckily, since the game itself is stored on ROM, all you need to do is start a new game and avoid Missingno this time around.
Pictures about "Why does hall of fame data corrupted by Missingno not return to normal when loading an old save file? [duplicate]"
![Why does hall of fame data corrupted by Missingno not return to normal when loading an old save file? [duplicate] - Tax Documents on the Table Why does hall of fame data corrupted by Missingno not return to normal when loading an old save file? [duplicate] - Tax Documents on the Table](/assets/images/why_does_hall_of_fame_data_corrupted_by_missingno_not_return_to_normal_when_loading_an_old_save_file_duplicate_1.jpeg)
![Why does hall of fame data corrupted by Missingno not return to normal when loading an old save file? [duplicate] - Person Filing Tax Documents Why does hall of fame data corrupted by Missingno not return to normal when loading an old save file? [duplicate] - Person Filing Tax Documents](/assets/images/why_does_hall_of_fame_data_corrupted_by_missingno_not_return_to_normal_when_loading_an_old_save_file_duplicate_2.jpeg)
![Why does hall of fame data corrupted by Missingno not return to normal when loading an old save file? [duplicate] - Filing Tax Return Why does hall of fame data corrupted by Missingno not return to normal when loading an old save file? [duplicate] - Filing Tax Return](/assets/images/why_does_hall_of_fame_data_corrupted_by_missingno_not_return_to_normal_when_loading_an_old_save_file_duplicate_3.jpeg)
Why does MissingNo glitch the Hall of Fame?
Encountering MissingNo. has been known to interfere with the save game data in various ways, such as adversely affecting the Hall of Fame data. The Hall of Fame is corrupted because of its proximity to a buffer used to store decompressed sprite data, which is too small to properly hold MissingNo.'s garbage sprite data.Does catching MissingNo ruin your game?
It doesn't delete the save game files. But it does make them unusable.What happens if you encounter MissingNo?
Encountering Missingno. will corrupt your Hall of Fame data, which cannot be fixed without starting a new save game file. This can be avoided by encountering it before beating the Pok\xe9mon League for the first time.Can you catch MissingNo?
The effects of catching MissingNo. include making your Pok\xe9mon appear glitchy in battle and making random sprites appear on your party and Hall of Fame screens. If caught at level zero, MissingNo. (and similar glitched Pok\xe9mon such as 'M) can also corrupt your save file, forcing you to erase your data.Can I fix a CORRUPT PlayStation 2 save file?
Sources: Stack Exchange - This article follows the attribution requirements of Stack Exchange and is licensed under CC BY-SA 3.0.
Images: Ryutaro Tsukata, Nataliya Vaitkevich, Nataliya Vaitkevich, Nataliya Vaitkevich