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.

Generation I Glitch Discussion

English R/B/Y equivalent of Dokokashira door glitch - Page 1

English R/B/Y equivalent of Dokokashira door glitch

Posted by: TheZZAZZGlitch
Date: 2013-05-23 15:30:13
INTRODUCTION

I was recently doing research on JP versions' Dokokashira door glitch, and I noticed something very interesting.

Prior to today, people have been explaining this glitch as either "switching a Pokemon with an item" or "switching an item with the current warp location", which without select glitches sounded impossible to perform on English versions. However, I accidentally noticed while opening up the memory viewer screen, that the switched Pokemon data has nothing to do with item data, nor the warp location byte.

Investigating further, I decided to check exactly what happens while pressing Select on the Pokemon screen, and it looks like it's nothing more than switching the first Pokemon with the second. Or in this particular early-game case, switching the end of list marker (0xFF) to the first position. This confuses the subroutine which applies the poison damage in the overworld, causing it to check way too many "Pokemon" for poison damage, decrementing massive amounts of RAM addresses while thinking they are your Pokemon's health points.

The fact is that no select glitches are necessary to do it - the only thing necessary is a way to either switch the first Pokemon with a end-of-list terminator, or somehow remove the 0xFF terminator from the list - as was beautifully shown by Torchickens' "Forcing select button glitches to work on Pokémon Red and Blue".

So the overall plan to do this in English versions is to either:
1. Get more than 6 Pokemon
2. Swap the (NumberOfPokemon+1)th Pokemon with the first

…or just corrupt the memory so the end-of-list terminator gets erased.

This means that the Dokokashira door glitch still exists in English versions, but it's not available in early game.
How to do it without select glitches or cheating? Well, the easiest possible way to do this is with Super Glitch (I feel like doing everything with Super Glitch recently, lolz). I'm pretty sure it should be possible with the save abuse/save corruption in Yellow as well.

Unfortunately, because English versions have different RAM layout, only some of the effects from Japanese versions could be seen in English games. For example, during the glitch, the "changing map tiles" effect is present in all versions (JP Red/JP Green/EN Red/EN Blue/EN Yellow), but changing the warp destination every 4 steps happens only in Japanese editions (JP Red/JP Green).

MEMORY HACKING METHOD OF GETTING "DOKOKASHIRA DOOR GLITCH" EFFECTS IN INTERNATIONAL RELEASES
FOR THOSE WHO WANT TO TRY IT WITHOUT DOING INSANELY COMPLICATED STUFF:


1. Overwrite addresses D163-D2F6 (Red/Blue) or D162-D2F5 (Yellow) with any value matching a hex number of $X0, $X1, $X2, $X3, $X4, $X5, $X6, $X7.
2. Have fun.

GETTING "DOKOKASHIRA DOOR GLITCH" EFFECTS IN INTERNATIONAL RED/BLUE WITHOUT CHEATING:

Requirements:
- A Pokemon meeting very specific moveset requirements:
  a) It needs to have a Super Glitch as a 4th move,
  b) Its three moves besides the Super Glitch have to contain 27 characters in total
    (for example: BODY SLAM [9 chars], MEGA KICK [9 chars], WATER GUN [9 chars])
- At least 1 Escape Rope in bag

1. Go to the nearest Pokemon Center, turn on the PC and turn it off. This will copy the correct screen data.
2. Walk (!) to the Diglett's Cave. Do not open your start menu while going there.
3. Once you arrive to the cave, encounter a wild Pokemon.
4. Open your fight menu a couple of times, and run away from the battle.
5. There's a slight chance that Super Glitch won't work as expected. If you end up in a glitched copy of Pallet Town, reset the game and start from the beginning.
6. Open up the save menu and cancel the glitched yes/no dialog. Use an Escape Rope afterwards.
7. The English version Dokokashira door glitch is active.

A video is worth a thousand words:
http://www.youtube.com/watch?feature=player_detailpage&v=-h30Q83SUWA#t=0s

GETTING "DOKOKASHIRA DOOR GLITCH" EFFECTS IN YELLOW WITHOUT CHEATING:

In Yellow it is a little bit trickier, but still possible.

Requirements:
- A Pokemon meeting very specific moveset requirements:
  a) It needs to have a Super Glitch as a 4th move,
  b) Its three moves besides the Super Glitch have to contain 27 characters in total
    (for example: BODY SLAM [9 chars], MEGA KICK [9 chars], WATER GUN [9 chars])
- Access to Safari Zone

1. Do the standard Safari Zone reset trick to make the game count your safari steps in the overworld
2. Go to the Pokemon Center, land your second to last step in front of the PC
3. Go to the Pokemon Storage System and continuously view stats of your Super Glitch Pokemon until it changes into Slowbro. This may require a lot of tries.
4. Walk a step more and you will get teleported to the Safari Gate. Walk out and the Yellow version Dokokashira door glitch is active.

A video is worth a thousand words:
http://www.youtube.com/watch?feature=player_detailpage&v=-h30Q83SUWA#t=284s

DOCUMENTED EFFECTS:

Here are some effects I noticed in English Red/Blue only:
- If Clefable is owned/caught (Pokédex), Pokédex byte #3 (Capture flags for Pokédex numbers 17-24) will get decremented every 4 steps
- Also, number of items decrements every 4 steps if the quantity of the first item in the bag matches a hex number of $X8, $X9, $XA, $XB, $XC, $XD, $XE, $XF
- If the 4th Pokémon in the party has a hex identifier of $X8, $X9, $XA, $XB, $XC, $XD, $XE, $XF, the identifier of Pokémon #2 will get decremented every 4 steps
- Some of the items in the PC (16th, 21st, 39th and 43rd to be exact) have their identifiers decremented every 4 steps

Here are some effects I noticed in Yellow only:
- After walking a huge amount of steps (around 300) the map connection byte gets decremented once. This may cause weird effects like entering Lavender Town through Vermilion City's map connection.
- The sprites will randomly teleport across the screen or change into Red sprites
- Sometimes, after entering a new location, the music will take a lot more time to fade out
- The walking speed becomes very slow

Those effects are present in both Red and Yellow:
- Random Pokemon keep fainting even though nothing is poisoned
- Sometimes artifacts appear on the screen
- Some of the map tiles get changed around every 4 steps
- In some locations (locations where music track ID matches a hex number of $X8, $X9, $XA, $XB, $XC, $XD, $XE, $XF) music gets screwed up after walking 4 steps
- Some event flags also get reset or set every 4 steps. Not sure which ones.
- If quantity of item #5 in bag matches a hex number of $X8, $X9, $XA, $XB, $XC, $XD, $XE, $XF, the quantity of item #4 will get decremented every 4 steps
- Certain maps turn into a mess of illegible tiles after walking 4 steps in them (caves, Pokemon Centres, Celadon Mansion…)


IMPORTANT ENDING REMARK

If you're using VisualBoyAdvance for emulating, make sure you have the most recent version.
Anything Dokokashira-related doesn't work in early VBA versions, as versions before VBA RR v20.0 didn't emulate echo RAM correctly.

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: coczero
Date: 2013-05-23 15:45:03
You are so god damn awesome.
Thanks for this.

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: Torchickens
Date: 2014-05-27 19:31:32
TheZZAZZGlitch, I've made a red link on the wiki for international 'dokokashira door glitch'. May you make an article for it while I work on fixing up existing pages (I've just done dokokashira door glitch) please? It's fine if you don't want to, of course.

Also, I'd appreciate it if you could fact check this, below. Thanks in advance.


==International version equivalent==
{{main article|International 'Dokokashira door glitch'}}
If the player removes the end marker (hex:FF) for their party that is located in the relevant address for the number of Pokémon +1, essentially the equivalent of the dokokashira door glitch will occur (where 'post-6' Pokémon take poison damage), with the degree of corruption depending on how many addresses it takes for the game to find an FF, with more addresses basically causing more corruption. The warping effect does not happen in the English versions, however.

This is possible by activating the [[ZZAZZ glitch]] with working party values of one Pokémon (01 xx FF), three Pokémon (03 xx yy zz FF), four Pokémon (04 ww xx yy zz FF) and six Pokémon (06 uu vv ww xx yy zz FF). The FFs will get replaced with hex:99.

It is also possible to pull off this glitch with Super Glitch. See this thread [link to this thread] on the forums for more information.

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: TheZZAZZGlitch
Date: 2014-05-28 10:31:12
I have just created the article you mentioned.
Also, the article section you presented in the previous post is 100% accurate.

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: Torchickens
Date: 2014-05-28 10:56:37

I have just created the article you mentioned.
Also, the article section you presented in the previous post is 100% accurate.


Thanks a bunch! :D

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: Spoink
Date: 2016-07-27 14:34:00
Sorry for the NB, but what subroutine causes DDG to not work in English RBY? Just asking.

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: ISSOtm
Date: 2016-07-27 18:10:04
The reason why DDG exists in JP versions is chance : the poison routine is confused, and, by chance, the memory addresses concerned by door warping data match to Pokémon #Idontknowwhichone 's HP, and by chance this "Pokémon" is poisoned.

This "Pokémon" just isn't poisoned in localizations.

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: Spoink
Date: 2016-07-27 18:29:59
Sorry, I meant select glitches.

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: ISSOtm
Date: 2016-07-27 19:13:29
I guess the state of the SELECT button is reset upon closing the item menu.

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: Krys3000
Date: 2016-07-28 03:52:14
There is actually a lot of things you can do with the English DKD, including warping to anywhere. See this thread : http://forums.glitchcity.info/index.php/topic,7398.0.html

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: Spoink
Date: 2016-07-28 10:30:20

There is actually a lot of things you can do with the English DKD, including warping to anywhere. See this thread : http://forums.glitchcity.info/index.php/topic,7398.0.html

Yeah, I've looked everywhere for the subroutine that sets CC35 to 0, i've never found it.

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: TheUnReturned
Date: 2016-07-29 05:55:32
God damn, what a good find!




Are we gonna put this in blubapedia? X)

Re: English R/B/Y equivalent of Dokokashira door glitch

Posted by: ISSOtm
Date: 2016-07-29 06:16:45


There is actually a lot of things you can do with the English DKD, including warping to anywhere. See this thread : http://forums.glitchcity.info/index.php/topic,7398.0.html

Yeah, I've looked everywhere for the subroutine that sets CC35 to 0, i've never found it.

Try placing a read watchpoint on this address in BGB ?