Coin Case glitches

From Glitch City Wiki
(Redirected from Coin Case glitch)
Jump to navigation Jump to search
Arbitrary code execution in the Pokémon series

0x1500 control code arbitrary code execution (Crystal) | Cart-swap arbitrary code execution | Generation I custom map script pointer | Generation I invalid meta-map scripts | Generation I item ("8F", "ws m", "-g m", "5かい", "てへ" etc.) | Generation I move ("-", "TM42") | Generation I Trainer escape glitch text boxes | Generation II bad clone | Generation II Burned Tower Silver | Japanese Crystal Pokémon Communication Center SRAM glitches | Coin Case glitch | Generation II glitch Pokédex sortings | Pikachu off-screen glitch ACE | OAM DMA hijacking | Pikachu glitch emote | Generation III glitch Pokémon summary | Generation III glitch move animation) | Remote code execution | TM/HMs outside of the TM/HM pocket | Type 0xFF mail arbitrary code execution (Japanese Crystal) | ZZAZZ glitch Trainer FC


List of arbitrary code execution programs

(view, talk, edit)
Major glitches of the Pokémon series


Arbitrary code execution

0x1500 control code arbitrary code execution (Crystal) | Cart-swap arbitrary code execution | Generation I custom map script pointer | Generation I invalid meta-map scripts | Generation I item ("8F", "ws m", "-g m", "5かい", "てへ" etc.) | Generation I move ("-", "TM42") | Generation I Trainer escape glitch text boxes | Generation II bad clone | Generation II Burned Tower Silver | Japanese Crystal Pokémon Communication Center SRAM glitches | Coin Case glitch | Generation II glitch Pokédex sortings | Pikachu off-screen glitch ACE | OAM DMA hijacking | Pikachu glitch emote | Generation III glitch Pokémon summary | Generation III glitch move animation) | Remote code execution | TM/HMs outside of the TM/HM pocket | ZZAZZ glitch Trainer FC


No further extensions

Cloning | Item duplication glitch (Generation I) | Pokémon merge glitch ("Q Glitch", Generation I) | Time Capsule exploit | Bug-Catching Contest data copy glitch (Generation II, Japan only) | Berry glitch | Battle Tower Lati@s glitch (Generation III) | (Mimic) Transform Rage glitch (Generation IV)

Transform held item glitch (Generation IV, Japan only) | Mimic glitch (Generation IV, Japan only)


Buffer overflow techniques

99 item stack glitch | LOL glitch | Rival LOL glitch | Instant LOL glitch | RAM LOL glitch | Out of bounds LOL glitch | blockoobLG | Instant encounter infinite chain glitch | LGFly | Super Glitch (Generation I) | Party remaining HP glitch | Super Glitch (Generation III) | Text pointer manipulation mart buffer overflow glitch | CoolTrainer♀-type move | Double distort CoolTrainer♀ corruption | Yami Shop glitch | Party Pokémon box data shift glitch | Unterminated name glitch item instant encounter (Japanese Red/Green)


Item stack duplication glitch (Generation I)

Generation I expanded items pack (Glitch Rocket HQ maps, Map FE (English and non-English European Yellow) | Map script pointer manipulation (arbitrary code execution | Map script pointer item ball manipulation) | Text pointer manipulation (arbitrary code execution | Item ball manipulation | Mart buffer overflow) | Trainerless instant encounter glitch


Bad clone glitch (Generation II)

????? party overloading (Type 0xD0 move glitch | ????? map corruption | Celebi trick | Celebi Egg trick | Shiny Celebi trick | Glitch move map corruption | Overloaded party map corruption | Glitch Unown (Glitch Unown map corruption) | Duplicate key items glitch (Infinite items and item creation, Expanded Balls pocket (Wrong pocket TM/HMs, Glitch Pokédex categories))


Closed menu Select glitches (Japanese Red/Green)

Dokokashira door glitch (International) | Fossil conversion glitch (international) | Second type glitch | Skip to Level 100 glitch | Trainer mutation glitch | Walk through walls (International) | Lift glitch | Badge describer glitch


Pomeg glitch (Generation III)

Pomeg data corruption glitch ("Glitzer Popping") | Charm glitch


Voiding (Generation IV)

Tweaking

Broken escalator glitch (Japan only) | Elite Four door glitch (Japan only)


2x2 block encounter glitches (Generation I)

Left-facing shore tile glitch (in-game trade shore encounter trick, Old man trick, Trade link up shore encounter trick, Fight Safari Zone Pokémon trick) | Viridian Forest no encounter grass tiles glitch


Glitch City

Safari Zone exit glitch | RAM manipulation | Out of bounds Glitch City (Generation II) | Slowpoke Well out of bounds corruption (French Gold/Silver/Crystal)


Large storage box byte shift glitch

Storage box remaining HP glitch | Generation I max stat trick


Pikachu off-screen glitch

Trainer corruption glitch


SRAM glitches

Generation I save corruption | 255 Pokémon glitch | Expanded party encounter table manipulation (Generation I) | Send party Pokémon to a new game (Generation I) | Generation II save corruption | Mailbox glitches | Mystery Gift item corruption | Trainer House glitches


Trainer escape glitch

Death-warp | Ditto trick | Experience underflow glitch | Mew trick | Text box ID matching | Meta-map script activation


Walk through walls

Ledge method | Museum guy method | Rival's effect | Select glitch method (International Select glitch method), Brock Through Walls


Surf down glitch

Grass/rock Surfing glitch (Spanish/Italian only) (adaptions: Submerge glitch (international)) | 8 8 (0x7C) grass/rock surfing glitch (English Red/Blue))

(view, talk, edit)
This article is outdated

Feel free to update it.

Reason given: Document new exploits, in particular simpler box name exploits


This article is a summary page for different variations of a glitches, etc. when talked about as a whole.
This article is incomplete. Please feel free to add any missing information about the subject. It is missing: {{{1}}}.
A glitch dimension caused by listening to Machop or Bellsprout's cry then viewing the Coin Case.

The Coin Case glitches are glitches that are exclusive to the English versions of Pokémon Gold and Silver. These glitches do not exist in any other localization of the game, such as the Japanese version, and do not exist in Pokémon Crystal.

Coin Case glitches were previously thought to be relatively useless, with things like Glitch Dimensions, 'glitchy coin counts' and freezes, being the only effects found, however, after Sanky and TheZZAZZGlitch researched the glitch, it was found that is possible to perform arbitrary code execution with it to do many things.

These began with exploits such as causing a custom message to be displayed by the Coin Case, warping to Mt. Silver and enabling Red, obtaining Celebi or a ????? (FF), but can be expanded to perform a wide variety of effects

How to set up arbitrary code execution using the Coin Case

The latest up-to-date guide on how to set up Coin Case ACE, along with ready-to-use codes for various applications, can be found on the Coin Case ACE guide page.

ACE exploits summary

While using the Coin Case triggers ACE, setups are still required to ensure that the execution gets redirected to a location that we can safely manipulate, such as box names, last read mails or stored PC items.

All known methods of redirecting the effects of Coin Case ACE require destabilising the stack. If the stack isn't fixed once arbitrary code execution finishes, the game will be guaranteed to crash. Due to this, all setups also need to provide a way to fix the stack.

The Coin Case tends to be quite inconvenient to use. Setups often require specific movement patterns at specific locations to be used. Due to this inconvenience, most Coin Case ACE focus on enabling the use of other, more convenient ACE methods such as Wrong Pocket TM ACE.

Throughout the years, various known variations of Coin Case ACE setups were developed. These are listed below, roughly in chronological order.

Radio Tower method

This setup can be executed once the player reaches Goldenrod City and will redirect the effects of the Coin Case to the start of box names with the help of the last read mail.

This setup was developed by TimoVM.

Preparation

  • Obtain the Coin Case
  • Make sure that the first digit of the total number of held coins equals "1". (for example, 100 coins)
  • Buy a Flower Mail at the Goldenrod Dept. Store
  • Make sure to set box 1 as the current active box.
  • Always make sure to have a valid box name code set up. You can find an example of a valid box code a bit down below.
  • Give this Flower Mail to a party pokémon with the following message:

Execution

In order to use ACE, always perform the following steps:



  • Go to the Goldenrod Radio Tower and take the stairs up to the second floor. Move to the spot indicated by the above screenshot on the left. Save the game while you're still standing on this spot and reset the game.
  • After reloading, take the following steps until you reach the spot indicated by the above screenshot on the left:
    1. 3 steps rightwards
    2. 2 steps upwards
    3. 1 step leftwards
  • Open the start menu, open the pokédex, then listen to the cry of Bellsprout.
  • Go to the Pokémon menu and read the previously written mail.
  • Open the item bag, switch item pockets at least once, then use the Coin Case. This will execute ACE.

Using the Radio Tower setup to switch to Wrong Pocket TM25 ACE

If the player uses arbitrary code execution to spawn a wrong pocket TM/HM in the inventory, it can be used as an alternative to the Coin Case glitch, with the wrong pocket TM taking the place of the Coin Case. The main advantages to this are that the player can use the item without having to move in a specific movement pattern, and codes are both often shorter/of aid to programmers because it is no longer necessary to fix the stack.

When used outside the TM/HM pocket, TM25 is able to execute ACE starting from address $DA6A, the stat experience data of the second party pokémon.

The following box name code can be used to change the first item in the main item pocket to TM25, along with changing the stat experience data of the third party pokémon.

  • Change the names of box names 1 through 3 to the following (credit to TimoVM):
Box 1: A p 0 'm é ( 4 5
Box 2: 'v 4 é y ♀ é : 4
Box 3: H 'v * é ) 4 h 'd
  • Put a pokémon in party slot #3. After being set up, this pokémon can never gain experience again without destroying the setup. Optionally, give it a nickname so you can recall that you will use it as part of the TM25 setup.
  • Follow the steps from the previous section to execute Coin Case ACE.

Once you are done, swap party pokémon #3 into the second party slot. As long as this pokémon is present in the second party slot, you can use TM25 to execute box name codes. This pokémon can safely be deposited and withdrawn from the PC, but can never earn experience in battle again without destroying the setup.

The code used here is also compatible with Quagsire method Coin Case ACE and can be used to easily update older setups.

Quagsire method

This setup relies on a specific party composition. Execution will first be redirected to the third party pokémon. By ensuring that all remaining data of the third party pokémon are safe to execute (this is known as a "slide pokémon"), execution can continue until it encounters a Quagsire in slot 4. This Quagsire will then redirect execution to a secondary location based on its held item and first move.

Quagsire is chosen because its species ID corresponds with an unconditional jump instruction. Wooper is also elegible, but its species ID corresponds to a conditional jump instead. This means that Wooper's effectiveness depends on the exact stats of the used slide pokémon. Due to this general unreliability, Quagsire is preferred for the setup.

Due to the higher flexibility of box name codes, execution is often redirected to the second character of the first box name. Older setups will instead redirect to stored PC items.

Preparation

In its current form, it is recommended to have access to Fly so you can easily access both Cherrygrove City and Goldenrod City.

  • Obtain the Coin Case
  • Catch or evolve a Quagsire
  • Catch a slide pokémon (see section after "Execution")
  • Give the Quagsire a held item and first move depending on the place where code must be executed:
    • (Recommended) to redirect to box names, give Quagsire a TM02 as a held item and teach it Return in the 1st move slot.
    • To redirect to the second stored PC item, give Quagsire a HP Up as a held item and teach it Sleep Talk in the 1st move slot.
    • To redirect to the third stored PC item, give Quagsire a Protein as a held item and teach it Sleep Talk in the 1st move slot.
  • Put the slide pokémon in the third party slot, put the Quagsire in the fourth party slot.
  • Make sure to set up a valid box name code or item name code (depending on the final location). You can find an example of a valid box code a bit down below.

Execution

  • Fly to Cherrygrove City and enter the poké mart. Save and reset at the entrance of the poké mart.
  • Exit the poké mart, walk exactly 4 steps to the right.
  • Open the start menu, open the pokédex, then listen to the cry of Bellsprout or Machop.
  • Open the item bag, switch item pockets at least once, then use the Coin Case. This will execute ACE.

Catching a slide pokémon

Slide pokémon are pokémon whose data doesn't contain any problematic opcode instructions, allowing execution to safely pass through the third party pokémon until it reaches Quagsire. Getting a slide pokémon is somewhat dependent on luck, but there are methods to ensure that a pokémon is usable as a slide pokémon.

Rocky the Onix

(credit to Crystal_ for the provided method)

In Violet City, in the house to the right of the pokémon center, an NPC will offer to trade you a Bellsprout for an Onix. This Onix, nicknamed "ROCKY", has set DVS and is guaranteed to work as a slide pokémon when obtained as follows:

  • Catch any Bellsprout
  • Raise it to lvl 5
  • Trade it with ROCKY, since Bellsprout is lvl 5, ROCKY will also be lvl 5

This Onix can now be used as a slide pokémon as long as its happiness value isn't too high. It is recommended to either keep it stored in the PC as much as possible or to switch to another method of ACE, such as Wrong Pocket TM ACE.

Low level Sentret

(credit to TimoVM for the provided method)

This method requires a measure of luck to work and is meant as a backup in case ROCKY isn't available.

  • Go to route 29. The time of day must be either morning or daytime, to be able to encounter Sentret.
  • Encounter and catch a level 2 Sentret.
  • Check its stats. If its Special Defense is either 6 or 8, it cannot be used. Otherwise, proceed to the next step.
  • Encounter another Sentret (any level)
  • Send out the Sentret you captured along with one other Pokémon (the goal is to divide the stat experience between the two Pokémon). Knock out the wild Sentret.

Doing this setup correctly will guarantee that your Sentret can be used as a slide Pokémon as long as its happiness value isn't too high. It is recommended to either keep it stored in the PC as much as possible or to switch to another method of ACE, such as Wrong Pocket TM ACE.

Using the Quagsire setup to switch to Wrong Pocket TM17 ACE

If the player uses arbitrary code execution to spawn a wrong pocket TM/HM in the inventory, it can be used as an alternative to the Coin Case glitch, with the wrong pocket TM taking the place of the Coin Case. The main advantages to this are that the player can use the item without having to move in a specific movement pattern, and codes are both often shorter/of aid to programmers because it is no longer necessary to fix the stack.

  • Rename box codes 1 through 5 to the following box name codes (credit to Crystal_). This code will change the first item in the main item pocket to a TM17.
Box 1. A p 0 'd é y ♀ Pk
Box 2. 'v 't 'v é é 'l 2 h
Box 3. 'd 'd 2 'v 9 . 9 't
Box 4. é ? 2 h h h h h
Box 5. h 'm ♀ ♀
  • Once that is done, execute Coin Case ACE according to the previous sections.
  • In order to use TM17, put the slide pokémon in slot 1 and the Quagsire in slot 2. This will redirect TM17's effect to the location specified by the Quagsire's held item and first move.

Please note that Quagsire method box name codes are not compatible with wrong pocket TM17 box name codes.

Quagsire method extension: TM/HM pocket quantities as code

In this method, the quantities of the TM/HM pocket are used as the code. The Quagsire must be holding a Lucky Egg with Attract as its first move. If the player does not have a Lucky Egg, they can find one on a wild Chansey or get one in item slot 1 with the following box name codes, designed for TM17 (these codes will not work with the regular Coin Case method):

1. Ap09'vB55
2. éy♀'d
3+ (Leave unchanged)

As both this structure only holds quantities in succession at D57E (the item IDs themselves aren't stored in this structure), it is efficient for programming because the player can write the original code in GBZ80, then represent it in hexadecimal byte form (for example, by writing it in BGB debugger), then in decimal byte form, without having to comply with limits such as a limited number of writable box name characters. Normally, this would be impossible, but obtaining 255 of every TM/HM is possible with the following TM17 codes:

1: Ap'vCé225
2: 'vj'vué125
3: 'v.é52p'v9
4: é42pé625
5: 'vué82'v 5 (there is a space after the 'v and before the 5)
6: é72'v:é92
7: 09♀5♀555
8: 555555x'd (regular x not multiply sign)

After acquiring 255 of every TM/HM quantity, any value from 0-255 can be acquired by selling them at the Poké Mart. These quantities represent the code.

Example

These quantities (from TM01 through TM19) are the required TM quantities for an every wild Pokémon is Shiny code. In order to get them, toss (255-n) of the 255 stack quantity after first obtaining it; so for TM01 toss 222 (255-33), for TM02 toss 116, and so on.

33 139 255 62 213 50 62 139 50 62 195 50 201 62 7 234 25 209 201

In hexadecimal form this is:

21 8B FF 3E D5 32 3E 8B 32 3E C3 32 C9 3E 07 EA 19 D1 C9

In the original GBZ80 form:

ld hl,ff8b
ld a,d5
ldd (hl),a
ld a,8b
ldd (hl),a
ld a,c3
ldd (hl),a
ret
ld a,07
ld (d119),a
ret

Troubleshooting

Emulation problems

Coin Case arbitrary code execution sadly will only work on English (both NA, EU, likely AUS) versions of Pokémon Gold and Silver. It will not work in the French, German, Spanish, Italian versions nor the Japanese and Korean versions.

If Coin Case arbitrary code execution is being performed on an emulator, it should first be performed on one that supports Echo RAM, as the Coin Case will always execute code in this region, and if there is incorrect emulation any Coin Case arbitrary code execution glitches will not work. An example of an emulator that doesn't support Echo RAM emulation is an older version of VisualBoyAdvance (however some newer versions support it), while an example of an emulator that correctly supports Echo RAM emulation is the latest version of BGB emulator.

Furthermore Coin Case arbitrary code execution may not work on Pokémon Stadium 2's GB Tower again due to incorrect Echo RAM emulation.

A few glitches that rely on obscure hardware details, such as YouTube user Crystal_'s real time walk through walls glitch OAM DMA exploit may also fail to work on certain platforms/emulators (possibly even including the 3DS Virtual Console Pokémon Gold and Silver).

Slide Pokémon

One of the most common problems with Coin Case arbitrary code execution is from having a bad slide Pokémon in slot 3. A "slide Pokémon" is a Pokémon that hasn't been trained, has good DVs, is at a good level (preferably low, caught from Route 29), has good stats and a non-problematic happiness value.

Unfortunately getting a good slide Pokémon is luck dependent, and it could take many attempts (even over 20 Pokémon) for you to get one.

The reason why bad attributes on the slide Pokémon is problematic is because these attributes are executed as code, until the game gets to Pokémon 4 where it reads the Quagsire's held item and first move as a jump location (because Quagsire's index number C3 represents the instruction jp yyxx) to a place like box names or stored PC items (depending on the item and move). This means bad opcodes such as FF (rst $38) could cause the game to not 'fall through' to the Quagsire's data, causing the game to never be able to execute the box names or stored PC items as code.

If a slide Pokémon was working in the past and suddenly stopped working the problem could be caused if the Pokémon gained experience (increasing its stat experience) or gained a bad happiness value. For this reason one should not walk too many steps with the slide Pokémon, and it is a good idea to faint the slide Pokémon if it previously worked but you can't get it to work anymore and didn't make it gain any experience.

Wrong box names/stored PC items

It is very important for the box names (if using a box name method) to be exactly right. If they are wrong (even if it is a small mistake such as using a character without an apostrophe before it or the wrong "x" character) the glitch will most likely not work. For this reason be extra careful when entering the box names.

It is also important to have stored PC items that are exactly right and are in the exact order if using a stored PC item method.

Sometimes as well a box name or stored PC item code will expect that the code begins at a specific location (such as character 2 of the first box name if using TM02 and Return). If the code is meant to be for another setup (like character 1 of the first box name if using TM01 and Return) then the code may not work.

Not switching pockets

Before using the Coin Case it is very important to switch item pockets at least once, or the glitch may not work.

Cries and movement pattern

If the player listened to a Pokémon cry other than Bellsprout, Machop (and a select few other compatible Pokémon) the glitch won't end up executing code in the desired location.

The player must also make the exact number of steps for the movement method (most commonly four steps right after walking outside of Professor Elm's lab or Cherrygrove City's Poké Mart) as making the wrong movement pattern will cause the arbitrary code execution glitch not to work.

Pressing A after viewing the Coin Case

For some box name codes, pressing A instead of B after viewing the number of coins in the Coin Case may cause the game to reset or freeze. For this reason one should always press B.

Immediately using the Coin Case again for the box name method can also cause the game to freeze, so one should never use the code again until they save and reset the game.

These codes may also slow down menus to the extreme and disable sprites. This is a workaround to the Coin Case glitch corrupting the stack pointer and can be fixed by tapping down to get to the save option, tapping A to save the game and resetting the game. Changing "Menu Account" to off in the settings beforehand will also disable the lag caused by the glitch.

Cause

In the Japanese versions of Pokémon Gold and Silver, the text displayed when the Coin case is used is "あなたの コイン <x>まい" (you have <x> coins). Notably, after printing the number of coins (which happens in text command mode), the game goes back into plain text mode to print the string "まい". This is followed by a 0x57 character (<DONE> in the disassembly), which is a terminator that terminates both the string and the enclosing text script[1].

In the English versions, this text is translated to "Coins: <x>", which is still followed by a 0x57 <DONE> character. However, the game remains in text command mode after printing the number <x>, and 0x57 is not a valid text command byte (the only valid terminator checked by the text command processor is 0x50 [2]). Trying to execute text command 0x57 causes the game to jump to echo RAM address E112, which is essentially C112 and executes arbitrary code from there. This section of the memory can be changed by listening to cries, but if the player didn't listen to any cry, it is mainly 00, so 'nothing happens'.

When the player listens to a certain Pokémon cry before using the Coin Case, the game will execute code that has a noticeable effect, including glitch dimensions, altered number of coins text and freezes, due to the data no longer being mainly 00.

Machop, Bellsprout and other Pokémon's cries are special because they put a hex:33 at ECHO:E117. This is read as the opcode 'inc sp' (increment stack pointer) causing the next 'ret' (return) to go elsewhere, specially to EB12, which contains overworld data. Even though there is no known way to predict the contents of this data, the results are consistent if you move in a specific pattern.

By having useful overworld data here, which can be manipulated by moving around, it is possible for the game to jump to an address that can reasonably be manipulated.

If the 'out of New Bark Town lab' four steps right method is used, the game will jump to ECHO:FA98 (essentially DA98), which is the second byte of the third Pokémon's Attack stat experience.

If the 'out of Cherrygrove City mart' four steps right method is used, the game will jump to ECHO:FA99 (essentially DA99), which is the first byte of the third Pokémon's Defense stat experience.

This glitch was patched in language versions later than the English version and never occurred in the original Japanese versions; Kin/Gin. Foreign versions other than the Japanese versions use the valid hex:50 terminator instead of a hex:57 'terminator' in at least the French, German, Italian and Spanish versions. While Pocket Monsters Kin/Gin use a hex:57 character, it is a valid terminator here.

It does not exist in English Pokémon Crystal, which also uses the correct 50 terminator (at offset 1C5C88).

(Thanks to Sanky from the forums for the explanation, Wack0 for pointing out the changes to 50 in foreign non-Japanese versions and Torchickens for noticing there is a 57 as a terminator in the Japanese version)

Get Celebi with Coin Case arbitrary code execution

YouTube video by TheZZAZZGlitch


This trick allows you to change the recipient byte of a Pokémon in Day-Care south of Goldenrod City to hex:FB, the same as Celebi. It was made by TheZZAZZGlitch.

Since withdrawing a Pokémon from Day-Care makes the game match the donor byte to the value in the recipient byte, it will be a perfectly stable Celebi when it is withdrawn.

Requirements

This glitch requires specific items in the player's item storage system (see below), and they need to be in the exact order they appear in the table, from top to bottom. For this trick, when it is done correctly, the last jump the game makes will be to the address which governs the item storage system's quantity of the second item (D61A).

Item Quantity
[ANY ITEM] [ANY QUANTITY]
[ANY ITEM] x38
TM27 x2
Fresh Water x42
Lovely Mail x1
HM07 x1
Poke Ball x65
Great Ball x4
Everstone x1
[ANY ITEM] [ANY QUANTITY]
Surf Mail x51
Full Heal x18
Flower Mail x46
HM03 x1
X Speed x1
TM06 x1
[ANY ITEM] [ANY QUANTITY]
TM41 x1

When the items above exist in the PC, the player will also need in the party:

  • A freshly caught low level Pokémon.
  • A Quagsire holding a HP UP, with Sleep Talk as the first move.
  • Any Pokémon (this will become Celebi).

The player also needs:

  • The Coin Case
  • A Pokémon including Bellsprout, Machop, Machoke or Omanyte registered in the Pokédex.
  • Access to the Pokémon Day-Care on Route 34 and New Bark Town via Fly.

Steps

First confirm that you meet the requirements above.

  1. Put the low level Pokémon in your third slot. Put your Quagsire in your 4th slot. Put the chosen Pokémon (which will become Celebi) in your first slot.
  2. Fly to New Bark Town and enter Prof. Elm's lab. Save and reset.
  3. Step out of Prof. Elm's lab, take four steps right (so you are below the tree), then open the Pokédex and listen to either Bellsprout, Machop, Machoke or Omanyte's cry.
  4. Exit the Pokédex, and open the items pack and switch over to the Key Items pocket. Switching pockets before viewing the Coin Case after listening to the cry in the current session is important, otherwise the trick won't work properly.
  5. Use the Coin Case. If you followed the steps properly the game won't cause a glitch dimension or freeze.
  6. Fly over to Goldenrod City and walk south to the Pokémon Day-Care Center. Enter it.
  7. Deposit the chosen Pokémon (do not deposit another Pokémon) with the Day-Care man or lady and get it back to get Celebi. Its name will not be changed (e.g. it may be still called 'Rattata'), so you will have to rename it at the Name Rater in Goldenrod City north of the Magnet Train station. It will also have its old moves, but you can remove illegal moves at the Move Deleter in Blackthorn City at the house west of the Poké Mart.

Get ????? (FF) with arbitrary code execution

To get ????? (FF), you can do the exact same Celebi trick described above, but with two extra stacks of Great Ball x4 below the first one (item 8). This is because Great Ball x4 corresponds to two of the opcodes 'inc b' (as one address is for the item identifier, and another is for the quantity), and the opcode 'inc b' increases the register 'b' by one. Normally the result here is FB; Celebi's index number, but having two extra Great Ball x4 adds four inc b, and FB + 4 = FF, which is ????? (FF)'s index number.

"Hello world" program

YouTube video by TheZZAZZGlitch


This trick was made by TheZZAZZGlitch and lets the player change the 'number of coins' to a Pokémon's nickname.

Requirements

Like the Celebi trick described above, this trick requires certain items in the PC, and the order matters. They are listed below.

Item Quantity
[ANY ITEM] [ANY QUANTITY]
[ANY ITEM] x38
TM27 x2
Nugget x1
[ANY ITEM] [ANY QUANTITY]
Surf Mail x46
Charcoal x1
[ANY ITEM] [ANY QUANTITY]
Squirtbottle x1
[ANY ITEM] [ANY QUANTITY]
Leaf Stone x1
[ANY ITEM] [ANY QUANTITY]
Ice Heal x62
Revive x7
Lovely Mail x60
Ultra Ball x34
Flower Mail x51
Max Repel x43
TM37 x1
[ANY ITEM] [ANY QUANTITY]
Full Heal x18
Portraitmail x46
HM03 x1
[ANY ITEM] [ANY QUANTITY]
TM41 x1

Like the species changing trick described above, a freshly caught low level Pokémon is needed, as well as a Quagsire holding a HP UP with Sleep Talk as its first move. Other requirements include the stored items above, the Coin Case, access to the Name Rater in Goldenrod City and the ability to use Fly to Goldenrod City and New Bark Town.

Steps

  1. Put the low level Pokémon in the third slot.
  2. Put the Quagsire in the fourth slot.
  3. Go to the Name Rater north of the Magnet Train station and change the first Pokémon's nickname to something that is 10 characters ('AAAAAAAAAA' is used in the video).
  4. Afterwards, change the nickname of the first Pokémon to something nine characters long, which will be what you want the Coin Case to display.
  5. Fly to New Bark Town and enter Prof. Elm's laboratory, save the game and reset.
  6. Exit the lab, take four steps right (so you're below the tree), then open the Pokédex and listen to Machoke's cry (other cries like Bellsprout may work, but they are unconfirmed).
  7. Switch to the Key Items pocket (it is important that you do the switch after listening to the cry and before using the Coin Case), then use the Coin Case.
  8. The first Pokémon's nickname will be displayed under 'Coins:' instead of the current amount of coins.

Known 'random' but consistent effects

This section lists effects that happen randomly, but may happen consistently after a player listens to a Pokémon's cry.

A Pokémon listed under any of these effect headers does not mean it will always cause the effect, but simply that it may without further manipulation.

The effects here happen for:

Saving the game and resetting next to the Machop in Vermilion City, and not moving before or after listening to the Pokémon's cry. But they commonly happen in other circumstances.

Glitch Dimension

Main article: Glitch Dimension

This was one of the first known applications of the glitch, and the described requirements were talking to the Machop flattening out the land in Vermillion City and then using the Coin Case.

However, the player does not need to talk to that particular Machop; the cry of any Machop may cause the same effect (not when following one of the arbitrary code execution steps described in earlier sections).

The cries of the following Pokémon in the Pokédex can be used to start a Glitch Dimension.

  1. Bulbasaur[citation needed]
  2. Caterpie[citation needed]
  3. Metapod[citation needed]
  4. Weedle[citation needed]
  5. Kakuna[citation needed]
  6. Beedrill[citation needed]
  7. Pidgey[citation needed]
  8. Arbok[citation needed]
  9. Pikachu[citation needed]
  10. Raichu[citation needed]
  11. Nidoran♀[citation needed]
  12. Nidorina (without switching item pockets)
  13. Nidorino[citation needed]
  14. Clefairy (may require not having switched items pockets)
  15. Clefable (may require not having switched items pockets)
  16. Vulpix[citation needed]
  17. Ninetales[citation needed]
  18. Jigglypuff[citation needed]
  19. Wigglytuff[citation needed]
  20. Zubat[citation needed]
  21. Oddish[citation needed]
  22. Paras[citation needed]
  23. Diglett[citation needed]
  24. Dugtrio[citation needed]
  25. Psyduck[citation needed]
  26. Mankey[citation needed]
  27. Poliwhirl[citation needed]
  28. Abra[citation needed]
  29. Machop
  30. Machoke
  31. Machamp[citation needed]
  32. Bellsprout (works like Machop)
  33. Tentacool[citation needed]
  34. Geodude[citation needed]
  35. Magnemite[citation needed]
  36. Farfetch'd (after switching item pockets)
  37. Doduo[citation needed]
  38. Seel[citation needed]
  39. Drowzee[citation needed]
  40. Krabby[citation needed]
  41. Voltorb[citation needed]
  42. Hitmonlee[citation needed]
  43. Horsea
  44. Meganium (without switching item pockets)
  45. Cyndaquil[citation needed]
  46. Totodile[citation needed]
  47. Croconaw[citation needed]
  48. Natu[citation needed]
  49. Xatu[citation needed]
  50. Mareep[citation needed]
  51. Flaaffy[citation needed]
  52. Miltank[citation needed]
  53. Celebi

"Which move?he PP of." (Dratini glitch)

This effect is also known as the "Dratini glitch". It will cause the text "Coins:Which move?PP of." to pop up after viewing a certain cry and using the Coin Case. This text is long enough to go outside of the text box border.

The following cries have been confirmed to work:

  1. Charmander
  2. Charmeleon
  3. Squirtle
  4. Wartortle
  5. Butterfree
  6. Ekans
  7. Sandshrew
  8. Gloom
  9. Dratini
  10. Articuno
  11. Moltres
  12. Larvitar

"Which move?"

This effect will cause the text 'Coins:Which move?PP of.' to pop up after viewing a certain cry, not switching item pockets, and using the Coin Case.

The cries of the following Pokémon have been confirmed to work.

  1. Venusaur
  2. Dragonair
  3. Ho-oh
  4. Lugia
  5. Tyranitar
  6. Pupitar

Other effects

Other Coin Case glitch effects include game freezes and 'random' tiles being placed on the screen. The effects may depend on whether the player switched item pockets before viewing the Coin Case.

Here is a list of Pokémon that can cause effects other than a Glitch Dimension or the effects 'which move?he PP of.' or 'Which move?':

  1. Clefairy[citation needed]
  2. Clefable[citation needed]
  3. Paras (switching pockets before viewing the Coin Case may cause a different effect, including a tile being placed on the screen)
  4. Dodrio (may require not switching item pockets)
  5. Nidorina (after switching item pockets it may place a tile on the screen)
  6. Farfetch'd (without switching item pockets, it may freeze the game)
  7. Meganium (after switching item pockets the game may print a glitch character after the number of coins)

See also

  1. Arbitrary code execution.
  2. Glitch Dimension - One of the effects which can be caused by a Coin Case glitch.
  3. Game freeze.

External Links