mouthporn.net
#glitches – @enchantmen-was-taken on Tumblr
Avatar

ENCHANTMEN

@enchantmen-was-taken / enchantmen-was-taken.tumblr.com

one of the tumblr users of all time
Avatar
Avatar
didyougaming

I'm into Gen 1/2 glitches, and after reviewing the Gold/Silver Decompilation, I think I have a working theory.

For link battles in Gens 1 and 2, the party data gets transferred before the start of the battle and the two games sync their RNG seeds (that's why it has to load for a few seconds). After that, each turn it only exchanges a 4-bit number.

Essentially, it sends over a number between 0 to 15, with 0-3 being the Pokemon's 1st through 4th moves, and 4-9 indicating switching to your 1st through 6th Pokemon. 13-15 are special actions (no action, struggle, and forfeit).

When a Pokemon faints, however, it's assumed that the next action it receives is a switch action. This allows you to switch to party Pokemon #7-#11 and #253-255. Obviously, these don't exist, which means it will send out a Pokemon from unrelated data.

My theory is that some hardware malfunction or glitch caused your Gameboy to enter a loop of sending over some number between 0 and 3. This would cause it to send out a Pokemon whose data comes from the cartridge's ROM.

Doing the math on the hex values and looking it up in the US Gold version ROM data, attempting to send out Pokemon #254 gives us... A Tangela.

It's Level 0 instead of 1 and only knows Wrap and Hydro Pump, but perhaps the details were lost with memory or you played on another version?

As for why it went first, I suspect this is because it just had a wildly high speed stat. A Pokemon's current stats are saved every time they change to avoid needing to recalculate them, so initially they would be unrelated to level and species. Checking the data, it's speed stat would have been 57,423.

After the Tangela faints, it then runs a check to see if every Pokemon in the party is fainted. It would see that your Drowzee is still healthy and thus continue the battle.

Since your Gameboy is stuck sending the same number over and over, it would then tell the other game to send out the exact same Pokemon: a level 0 Tangela.

The reason why it would still be healthy even after fainting is because it comes from the ROM. When switching a Pokemon in, it copies its data from the party slot to a special active slot. Then, when it faints or switches, it copies it back. But because ROM cannot be altered, it would not remember that the Tangela has fainted. Thus, the Tangela is immortal.

Had it continued, they would have fought the exact same Tangela, over and over, until they ran out of PP and Struggled themselves to death. Therefore and thusly I hereby crown you the true winner of that battle. Kinda.

You are using an unsupported browser and things might not work as intended. Please make sure you're using the latest version of Chrome, Firefox, Safari, or Edge.
mouthporn.net