Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Pokémon Glitch Discussion

Testing Crystal_'s Corruptions - Page 1

Testing Crystal_'s Corruptions

Posted by: J92R
Date: 2019-03-21 11:09:06
So, I saw Crystal_'s videos on Hyper Corruption and Random Memory Corruption, and well, it got me thinking… maybe I should catalog or keep track of different outcomes.


So with that said, here's what I have so far for Hyper Corruption: Pokemon Yellow, after I finish this, I will try it for Crystal, Gold, Silver, Blue, Red, and Spaceworld (if I can find a Spaceworld version or modify the gold/silver version to work)

(NOTE: All of this was done (and is being done) on my phone using a simple hex editor and on the emulator My OldBoy.)

Hyper Corruption Yellow

NOTE: This corruption process can also be done with 0040 being corrupted, followed by C3 E5 1D to enforce the boot sequence on some emulators that didn't allow for 0041 to be corrupted. The corruption findings below are the exact same if you corrupt 0040 with the numbers instead of 0041, if of course after the code change is followed by C3 E5 1D to boot the game.

0040=00
0041=?? (random combinations = random results)
0042=C3
0043=E5
0044=1D

This is to keep track of every outcome that happens when you corrupt a certain vector.


0041=00 (no noticeable corruption during Pikachu catch and Gary battle)

0041=01/03/06/08/10/21/36/38/48 (permanent white screen, nothing loads)

0041=02 (game crashes when you click NEW GAME)

0041=04 (standard creepy glitched pikachu, eventually autoloads into a flashing black & red full screen Oak, then locks the moment he talks)

0041=05 (loads into immediately creepy glitched pikachu, if you don't click NEW GAME fast enough, it restarts itself (and still resets itself even if you click it), 2nd time you click NEW GAME it loads to a glitchy Oak and locks)

0041=07 (loads normally, crashes if you don't click NEW GAME fast enough, crashes when Oak speaks)

0041=09 (fast scrolling POKMON title text that eventually slows down into just pikachu eyes and text, followed by weird noises and a split second menu chance, which crashes anyways)

0041=11/16/31/51/54/55/56/57/76 (permanent black screen)

0041=12 (mostly normal title screen, loads into glitchy sprites, then generates a game where you constantly black out after 1 step, yet have a clickable invisble Pokémon that plays music when moveset is viewed)

0041=13/29/58/61/69 (loads into endless scrolling POKMON text)

0041=14 (upwards scrolling text, followed by glitched pikachu eyes, and then crashes when Oak talks)

0041=15 (same as 0041=14, minus the scrolling text)

0041=17 (loads normally, crashes when Oak talks)

0041=18/20/26/28/30/33 (instant crash)

0041=19 (loads into scrolling text, followed by longer speaking Pikachu, clicking NEW GAME loads up a glitchy and oddly colored Oak, then freezes to noise)

0041=22 (erases the GameFreak© then freezes to white screen)

0041=23 (same as 0041=19, but has a different pikachu voice, and instead of freezing to noise, it crashes)

0041=24 (combination of 0041=19 with Pikachu, then 0041=23 with Pikachu again, then repeats 0041=04 with Oak and then crashes)

0041=25 (longer scrolling text, then glitchy pikachu, then longer pikachu cry, followed by an automated instant trade of a glitch pokemon with a trainer named NINTEN whom then trades that same pokemon back, where it then loads into a permanent waiting screen)

0041=27 (loads normally, then autoloads into noise, then crashes eventually)

0041=32 (same as 0041=23 but with erasing Creatures Inc© and Nintendo©)

0041=34/71 (starts with glitchy © next to GameFreak but then freezes to a white screen)

0041=35 (removes © next to GameFreak, makes the pikachu animation glitchy, removes pikachu's eyes on title screen (if you skip the animation), removes text box borders and all sprites, goes F-ing nuts with pokemon cries and sounds, randomly autoclicks in text boxes, screws up the music, eventually loads into a glitched world if you click through it, if you don't, it plays creepy sounds constantly, its F-ing eerie)

0041=37 (with the exception of a glitchy trainer card, everything loads normally, however, it crashes when Professor Oak talks to you)

0041=39 (immediately loads into glitch pikachu after skipping animation, loads up a glitchy Oak, if you click buttons and wait long enough, it then plays a bunch of noises before crashing)

0041=40/49/52/64 (loads normally and seems to have no glitches at all)

0041=41/42/43/44/46/47 (loads into glitchy pikachu, crashes when NEW GAME is selected)

0041=45 (crashes at title screen)

0041=50 (loads to glitch pikachu, NEW GAME loads to glitchy professor, stays like that permanently)

0041=53 (longer than usual black screen, loads into pikachu, then crashes when talking to Oak)

0041=60 (loads normally, then into static noise, pikchu has a long cry again, crashes when Oak talks)

0041=62 (loads normally, kills pikachu's cry, crashes when talking to Oak)

0041=63 (loads into scrolling text, then crappy pikachu, followed by black & red screen crap again, then crashes)

0041=64 (loads into upward scrolling text, crappy pikachu as usual, but kills the cry, and crashes when glitchy Oak talks)

0041=66 (loads normally, kills pikachu's cry, crashes when clicking NEW GAME)

0041=67 (same as 0041=04, but with two seperate pikachu cries, followed by red & black screen, then game crashes)

0041=68 (same as 0041=67, but everything is yellow now)

0041=70/73/77 (same as 0041=35, but instead goes to a white screen permanently)

0041=72 (completely glitches out and sometimes removes animation sequence, creates glitchy eyeless pikachu title screen, screws up the menu pointer, loads into standard Oak intro, but with everything glitchy, gets to the Pikachu cry and suddenly goes insane like 0041=35, eventually loads the overworld, where it looks like s**t and the scrolling is F-ed up (and makes your sprite invisible) and the PC box begins playing that creepy sound s**t when you grab the potion)

0041=74 (same as 0041=35 except it glitches out the animation sequence, messed up the GameFreak logo, gives pikachu 4+ eyes below him, but this time, never gets past the pikachu cry part and plays endless amounts of creepy sounds)

0041=75 (same as 0041=34, but changes the © next to GameFreak into a diamond shaped glitched Pokéball)

0041=78 (loads normally, but when you go to select NEW GAME, it autoclicks back to the title screen, the 2nd time you select NEW GAME, it loads into a massive fully glitched screen and then crashes, overall, it crashes immediately when talking to Oak)

0041=79/80/85/86/87/88/90/94/97 (loads normally, crashes when NEW GAME menu opens)

0041=81/89 (loads normally, when you talk to Oak, it spams the text box with 9s and stays there permanently)

0041=82 (loads normally, minor glitch on Oak, crashes at Pikachu)

0041=83 (loads normally, runs the CUT move in the Oak intro, repeats it twice, then crashes)

0041=84 (loads normally, but loops back to title screen unless you click NEW GAME fast enough, which then crashes it after Oak says "Hel.")

0041=91 (loads normally, but then loads into glitchy door Oak, and crashes as soon as he speaks)

0041=92/93 (same as 0041=82, but crashes after Oak speaks a little)

0041=95 (same as 0041=07, but crashes when you open the NEW GAME, and also crashes on the 2nd attempt at opening it if you don't click fast enough the first time)

0041=96 (loads normally, messes with text in new game box by replacing it with tiles, it then loads up the Oak Stops You From Leaving Pallet Town sequence music and text box, and then crashes)

0041=98 (loads normally, as soon as you open the MENU for NEW GAME, it auto clicks into it, from there, it
does one more autoclick through the text before crashing)

0041=99 (loads up normally, but then NEW GAME loads up some kind of tile generator (sometimes) before eventually crashing or a small piece of Oak dialogue before crashing)


PART 2: LETTER COMBOS

(Tested on 0040 at the time)

0040=0A (boots into a double load sequence, then crashes/freezes)

0040=0B/0C/0D/4A/4B/4C/4D/3E/4E (immediate white screen)

0040=0E/3B/1E (immediate freeze/crash)

0040=0F/7B/3C/7C (loads to menu, then crashes/freezes)

0040=1A (same as 0A, except it glitches out, then freezes to a weird tile pattern)

0040=2A/3A (makes the POKEMON text scroll for a while, then screws up Pikachu's sprite, then plays a Pikachu sound, then glitches, then becomes the tile pattern or freezes/crashes)

0040=5A/6B/1C/2C/5C/6C/5D/5E/6E (endlessly scrolling POKEMON text on title screen)

0040=6A (same usual title screen glitching, then loads to a glitchy all yellow monochrome-esque Professor Oak, freezes for a while, and then loads to some broken tile logo-esque crap that plays music if you press buttons)

0040=7A/8C/9C/3D/7E/8E/9E (loads normally, crashes/freezes at main menu)

0040=8A/9A/8B (slightly improved version of 7A, except it crashes/freezes when talking to a glitchy Professor Oak)

0040=1B/1D (glitchy Pikachu title screen, loads into glitchy Professor Oak, crashes during his speech)

0040=2B/2D (same glitchy title screen, eventually breaks sequence and loads to a color Hell glitchy introduction, and eventually loads into a glitchy world, crashes/freezes when Oak goes to capture Pikachu)

0040=5B/6D (made it all the way to Viridian Forest, no glitches encountered so far)

0040=9B/8D/9D (loads normally, then glitches out and freezes before talking to Oak)

0040=7D/9F (loads normally, then when you get to the menu, it auto clicks into a glitchy mess before freezing/crashing)

0040=2E (loads into a normal white screen, then half of a white screen, then crashes)

PART 3: LETTERS ONLY

0040=AA/AB (loads normally, then into glitchy Oak, then crashes when he speaks)

0040=BA/BB (loads normally, randomly glitches during Oak speech, randomly restarts during speech and gameplay)

0040=CA/DA/EA/FA/CB/CC/DC (loads to a white screen)

0040=DB/EB/FB/EC/FC (loads normally, nothing weird happened all the way to Viridian Forest, no glitches so far)

TO BE CONTINUED… (Will add pics later, maybe)

Re: Testing Crystal_'s Corruptions

Posted by: Sherkel
Date: 2019-03-21 13:02:22
I suppose it could potentially be of use to hackers to see what happens when changing certain values in the ROM. Maybe for demonstrations too, like the April Fools day ones.

Re: Testing Crystal_'s Corruptions

Posted by: ISSOtm
Date: 2019-03-22 10:23:27
You're simply editing the VBlank handler. The first `00` byte is useless, and putting a `00` there won't change anything.
Some instructions will always cause crashes - any `push` will cause the game to return to one of the registers' content, which I can guarantee will crash; some instructions (such as the three-byte `ld bc, imm16`) will eat the jump and cause instant crashes.
You can't go blind with this if you want to achieve good results, you need to know ASM.

Re: Testing Crystal_'s Corruptions

Posted by: J92R
Date: 2019-03-22 18:55:20

You're simply editing the VBlank handler. The first `00` byte is useless, and putting a `00` there won't change anything.
Some instructions will always cause crashes - any `push` will cause the game to return to one of the registers' content, which I can guarantee will crash; some instructions (such as the three-byte `ld bc, imm16`) will eat the jump and cause instant crashes.
You can't go blind with this if you want to achieve good results, you need to know ASM.


I'm not doing this as a means to learning hack, heck, I don't think ASM is even possible without a PC (which I don't have). I'm just learning hex and testing outcomes out of curiosity and to inform others of what the outcomes are.

Re: Testing Crystal_'s Corruptions

Posted by: ISSOtm
Date: 2019-03-26 07:00:04
That won't get you very far. If you want to do proper hacking, hex editing is not the way to go. Even for toying, it's more than limited.

Re: Testing Crystal_'s Corruptions

Posted by: J92R
Date: 2019-03-28 09:41:41

That won't get you very far. If you want to do proper hacking, hex editing is not the way to go. Even for toying, it's more than limited.


If I owned a PC, then I would be doing actual hacking.

Re: Testing Crystal_'s Corruptions

Posted by: ISSOtm
Date: 2019-03-30 08:59:40
You should really, really get a PC. I know you may have things preventing you from getting one, but sorry to say, phones where never designed to do anything related to programming, and won't ever be a near-decent choice for that.