Mysterious map FE (Pokémon Yellow)
Posted by: Torchickens
Date: 2014-10-12 19:43:26
When you enter it the game typically freezes. Pretty unremarkable. I thought there was no way to work around this, but when I looked its level-script pointer (map script) was 0E DC (or DC0E in big endian). This is in WRAM in the middle of boxed Pokémon data!
Specifically, DC0E is the first experience byte of Pokémon 12. This means with a total experience of 00 C9 (51546) or 00 00 C9 (201), you can just ret the level script pointer.
When I did this and entered map FE through an expanded items pack (or you can just enter the codes 01FE64D3 01C90EDC and go through an exit mat), the cycling music played and I warped again to map:99h (99, coincidence?), which was fortunately valid; it's a house in Fuchsia City. I also lost the Pokédex for some reason. The side effects of the perpetual spinning glitch happened too. I was forced to spin around while I walk and tiles had bits of a spinning tile on them.
I wonder why the things in the last paragraph happen. I hope that the level script pointer wasn't just DC0E by coincidence. When I got warped to the Fuchsia City house, D364 became FE. This essentially traps you, but you can alter it with an expanded items pack, so you can keep the side effects.
I can't think of a way you could pull of arbitrary code with this, but custom map script arbitrary code is probably more convenient for ACE without a hard to get bootstrap.
Edit: I got glitched Fly destinations, that lead to me glitching my name and box-set somehow and causing the automatic item selection effect. I wonder if that works like Super Glitch. I also messed up the events near the beginning of the game. Oak is outside the lab like when you do (coincidentally) the dokokashira door glitch. Talking to him makes him tell you not to go out, and causes a "!" box to appear above Red's head, but nothing else happens. There is a copy of Oak in the lab who just says "?". I can get a starter Pokémon again, but can't leave the lab, the game locks up before the Rival battle.