Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Krys3000

Pages: [1] 2
1
IMPORTANT UPDATE: THIS GUIDE HAS NOW BEEN INTEGRATED TO THE The newcomer and experienced user's guide to G/S/C Arbitrary Code Execution!. PLEASE PREFER READING THE WHOLE GUIDE RATHER THAN THIS CRYSTAL EARLY WORK

Hello there,

Since Pokémon Crystal gets released on Virtual Console in a few days, I thought it was the right time to write a guide for newcomers who wants to perform Arbitrary Code Execution in this version. This somehow follows my previous guide to G/S ACE, and I think at some point I could merge both together in one big G/S/C ACE guide. I just didn't wanna do that at this point since this is an early work in which I hope you could contribute. Any comments are welcomed!

Many thanks to everyone who helped me writing this on Discord: Crystal_ for the Bad Clone ACE setup, luckytyphlosion for the mail buffer and the discovery of TM15, Epsilon and ISSOtm for their current work on OAM DMA Hijacking

What are the three ACE methods in Crystal?

If you are familiar with ACE in G/S, you probably have heard of Coin Case Glitch, which is an english-only ACE method available in G/S. This doesn't work in Crystal games. You also probably know that it is not the mostly used method in G/S, because Wrong Pocket TM ACE is more permissive. Well, Wrong Pocket TM ACE can also be performed in Crystal, but unfortunately not without using another ACE method before.

Another method is Bad Clone ACE. This somehow can be considered the best method to start ACE in Crystal, because it's easier to setup than other ACE methods and can be performed early in the game. However, the code execution can only be done from a PC, and this may limit your possibilities with the glitch. I would personally recommend to use this method in order to setup the Wrong Pocket TM ACE ; and this is something this guide will teach you to do.

The last method is the Glitch Pokédex ACE which I prefer over the Bad Clone ACE (although this method is clearly not as good as the Wrong Pocket TM ACE), because the code is executed by opening the Pokédex and therefore, it can be done anywhere. However, the setup I present here for this is hard to get early in the game, and this can be a problem for you...

Note that EVERY METHOD uses a Bad Clone. Before freaking out, two things should be pointed here:
- The Bad Clone ACE can use any type of Bad Clone, including Pseudo-Bad Clones (Bad Clone without names but everything else is normal) and False Bad Clones (Bad Clones without names and with every data at 0 but still keeping their original Pokédex ID)
- The two other methods won't, but it's no big deal because in Crystal, you can convert Pseudo and False Bad Clones into Bad Clones that can be used for any method. To do this, store the Bad Clone in a PC Box and store 5 other Pokémon in that same box. Then, use the withdraw option to display that box. Leave it and use the withdraw option again. All Pokémon are now Kingdra. Withdraw the Bad Clone and you can now use it (in case of trouble with getting the Kingdra, please read this).

What is important here is that you can still execute code from items, from box names, OR from the mail buffer. However, if you're playing FRENCH OR GERMAN VERSION, YOU CAN'T COMPOSE CODES WITH BOX NAMES CHARACTERS. You won't have any problem with mail characters, though.

I. Wrong Pocket TM ACE adapted for Crystal version

Much like in G/S, Wrong Pocket TM ACE relies on a TM obtained in the Balls Pocket using luckytyphlosion's Item Shifting Glitch. This glitch works in Crystal games, however in this case, the TM you would need is TM15, not 17. Therefore, you would need to keep 206 Ultra Ball instead of 208. Of course, it is also possible to use another ACE method to get yourself TM15 in the Wrong Pocket.

Then, once again much like in G/S, you will need to catch a Quagsire (or evolve any Wooper). This Pokémon must have RETURN as first move and hold TM50 (to execute from FIRST STORED ITEM), or must have SAFEGUARD as first move (this can only be taught through breeding!) and hold MIRACLE SEED or THICK CLUB (to execute from respectively FIRST OR SECOND CHARACTER IN BOX 1 NAME), or must have RAIN DANCE as first move and hold no item (to execute from mail buffer). Place this Quagsire as first in the team everytime you execute code. I recommend to prepare 3 Quagsire and change it when needed.

Now comes the catch: you need to use any other ACE method to write C3 DF FC to addresses $DA10 to $DA12. There are numerous ways to do that, and with luckytyphlosion we think of writing as soon as possible a code that does it and gives TM15 in the wrong pocket at the same time. In the meantime, here's a unergonomic yet functional box code.
PP Up x252
TM42 x18
TM27 x3
TM10 x(any quantity)
Any other items in any quantities can go from here on

After executing the code once, toss 29 PP Up and 1 TM42 and execute again. Now toss 28 PP Up and 1 TM42 and execute a third time.

With all this done, you can save and you are now ready to execute any code in Crystal using your TM15.

II. Bad Clone ACE: easy but limited
This method has been discussed on some threads here, so I thank everyone involved in it, especially luckytyphlosion and once again Crystal_

There are two different setups available for this ACE method. Crystal_'s one is quick but only works if executing code from ITEMS or BOX NAMES ; luckytyphlosion's one can be used to execute code from the MAIL BUFFER instead.

Crystal_'s setup for ITEMS OR BOX CODES

  • Have a Bad Clone stored in the PC, the same way you would have obtained one for Item Shifting Glitch or a simple Bad Clone Trick. The best is not having any other Pokémon in the box, so they don't get corrupted.
  • Have a Max Elixer or TM21 (FRUSTRATION, giveaway if your first Pokémon is sad at Goldenrod Store), in the bag.
  • Catch a Quagsire (or evolve any Wooper). This Pokémon must have RETURN as first move (to execute from FIRST STORED ITEM), or must have SAFEGUARD as first move (to execute from respectively from BOX 1 NAME - this can only be taught through breeding!). Put it in the first slot of your team.
  • Catch a Spearow and make it hold TM50 (NIGHTMARE, obtained on Route 31, after completing the mail quest) to execute code from FIRST STORED ITEM or make it hold MIRACLE SEED or THICK CLUB to execute from respectively character 1 or 2 in BOX 1 NAME. This Pokémon must be second in the team.

The code execution is then performed this way:
  • Save and reset in front of a Pokémon Center.
  • Enter the Center, go up until reaching the healing machine, go right until hitting the wall, go up to the PC. These steps are very precise, don't do any other pattern.
  • Open the bag, place the cursor on the Max Elixer or TM21 but DON'T CLICK ON IT. Leave the bag.
  • Use the deposit option on Bill's PC to view Quagsire's profile. Go to its moves page, then exit Quagsire's profile and hit down to display Spearow's sprite. Don't click on it.
  • Exit the deposit menu, and use the withdraw option to view the box containing the Bad Clone. You'll see a bunch of "?" but it will also execute code!

luckytyphlosion's setup for MAIL CODES

Here's a pastebin that roughly explains this setup: https://pastebin.com/DaWmYHLF
Please note that you must introduce "4AA" before starting your mail code. Otherwise, s**t will happen.

III. Glitch Pokédex ACE: hard but powerful

You will see that this method is not perfect, but once it's setup the first time, it's practical. In fact, if you intend to setup the TM15 for Wrong Pocket TM ACE, don't bother using this - Bad Clone ACE is way faster.

First, you must perform luckytyphlosion's Item Shifting Glitch in a certain way that I coined 'Double Item Shifting Glitch'. The catch here is that you want to get 255 items (Expanded Balls Pocket) but item 00 ("?") freezes the game when you place the cursor on it, so you need to make sure that there won't be an item 00 before stored items in the Expanded Balls Pocket. In order to avoid this,
  • Have 3 Mystery Egg in the Key Items, instead of 2 (the pocket must still be filled)
  • Have Ultra Ball x1 followed Poké Ball x2 in the Balls Pocket
  • Place 2 Mystery Eggs at the bottom and swap them
  • Go to the Balls Pocket and swap Master Ball x5 with Ultra Ball x255
  • Fill your Balls Pocket by any mean
  • Store the bottom-most Mystery Egg, then take it back
  • Do the trick again with the 2 remaining Mystery Egg
  • Store the remaining Mystery Egg, then take it back

While doing this, you will also need three stored items:
  • TM19 (GIGA DRAIN, obtained at the Radio Tower or at Celadon's store)
  • TM29 (PSYCHIC, given by some NPC in Saffron City or obtained at Celadon's Game Corner)
  • Any item with a quantity of 9

You will then need to catch a Quagsire (or evolve any Wooper). This Pokémon must have RETURN as first move and hold TM50 (to execute from FIRST STORED ITEM), or must have SAFEGUARD as first move (this can only be taught through breeding!) and hold MIRACLE SEED or THICK CLUB (to execute from respectively FIRST OR SECOND CHARACTER IN BOX 1 NAME), or must have RAIN DANCE as first move and hold no item (to execute from mail buffer). Place this Quagsire as second in the team everytime you execute code. I recommend to prepare 3 Quagsire and change it when needed.

Unlike the other methods and much like in G/S, you will need a 'Slide Pokémon' in first position of party. To get it, catch either:
- a Bellsprout in Violet City that you raise at lvl5 then trade for Rocky the Onix with the NPC in Violet City.
- an Abra that you raise at lvl13 then trade for Muscle the Machop with the NPC in Goldenrod Departement Store.
- a lvl2 Sentret in Route 29, that doesn't have a 6 in its SP. DEF. stat (if so, catch another - this stat value appears in 31.25% of lvl2 Sentret).
Onix, Abra or Sentret must then never win any battle, or you won't be able to use it anymore.

Open the Balls Pocket and slide down, you will see the PC Items after the CANCEL that follows the last ball (although only the description might show up). Using SELECT, place the x9 item at position 65, the TM19 at position 165, and the TM29 at position 166.

With this done, everytime you use the Pokédex, code gets executed!

Redirect an execution from items to box names

If you don't feel like breeding a Wooper to get SAFEGUARD or get one of the two crap items that are used to execute box codes, you can also use this item code which will act as a redirection to box names.

Awakening x3
Paralyz Heal x3
Poké Ball x38
TM28 x3
Ultra Ball x46
Ragecandybar x44
X Attack x35
TM41 x(any quantity)

Code will now be executed from character 1 of box name 1.

Can I use a G/S code on my Crystal

Depends. I won't provide box codes translation, but here are translations for some item codes of the the G/S guide.
  • In the INCREASE/DECREASE THE QUANTITY OF AN ITEM CODE, change the quantity of Fresh Water to 7. The first two items must be Awakening x3 and Paralyz Heal x3
  • In the GET ANY ITEM CODE, change the quantity of Fresh Water to 6. The first two items must be Awakening x3 and Paralyz Heal x3
  • In the MEMORY EDITOR CODE, A.K.A. GAMESHARK SIMULATOR, the first two items must be Awakening x3 and Paralyz Heal x3
  • In the MAKE THE SIXTH POKEMON IN PARTY SHINY CODE, change the quantity of X Accuracy to 228, and the TM28 x62 to a TM29 x62. The first two items must be Awakening x3 and Paralyz Heal x3.

How to trigger the Celebi Event

Here is the code.

Great Ball x62
TM02 x38
TM27 x46
Carbos x45
Leaf Stone x04
TM10 x(any quantity)

Then, talk to Kurt to receive the GS Ball. You can now go to Ilex Forest and trigger the event!
2
Generation II Glitch Discussion / Trading Pokémon with impossible items?
« on: January 05, 2018, 01:10:33 am »
Hello,

I have been recently trying to ACE my french Silver game but unfortunately could only get several pseudo-Bad Clone and also a pseudo-pseudo-Bad Clone (a clone for which everything is $00 except for the species ID). Since you can transform any type of Bad Clone into Pokémon 000 in Crystal, I intend to get that game and perform the trick there.

But since Crystal ACE is a mess, I would like to create the Bellsprout/Machoc with Mystery Egg in Crystal but then send it to G/S where I can perform the luckytyphlosion's Item Shifting Glitch to get TM17.

The question is: Can a Pokémon with a held Key Item be traded, or will it be blocked?

Thanks anyone that can help! :)
3
UPDATE: Many extra thanks to Epsilon, spamviech, Evie, Crystal_, ISSOtm and luckytyphlosion for helping, reviewing and contributing to this guide

Hello there! Welcome to the world of Pokémon ACE!

Lately, with the release of Gold, Silver and now even Crystal in 3DS's Virtual Console, there has been a lot of people asking questions about Arbitrary Code Execution (mainly Coin Case), and with this came a lot of new ideas to use it as well as to perform it. Very talented people (luckytyphlosion, gifvex, Crystal_, ISSOtm to mention some...) have restarted working on it especially for G/S non-english adaptation and lately for Crystal. All of this resulted in the information being spread in a lot of different threads, videos, talks on Discord, etc.

I felt like it was the time for a collaborative guide that gathers all of the current knowledge on
- What are the different ways to make ACE in my language
- What can I do with ACE
- On the long term, an introduction to opcodes and how to make codes that go beyond basic memory editing (if you want to write this part, please don't hesitate)
In forms of summaries but also by giving the links to the different threads and videos about it.

Please don't hesitate to contribute to this guide, as I don't know everything about it, especially regarding english games!

TABLE OF CONTENT:
I. WHAT ARE THE DIFFERENT ACE TECHNIQUES IN G/S/C
II. COIN CASE VS. WRONG POCKET TM ACE
III. WRONG POCKET TM ACE EXPLAINED
   III.1: Obtain a Glitch Pokémon n°000
   III.2: Use the Glitch Pokémon n°000 to get Mystery Eggs
   III.3: Use Mystery Eggs to get TM17 (G/S) or TM15 (Crystal)
   III.4: Prepare the Party setup
IV. BAD CLONE ACE EXPLAINED
   IV.1: Get any type of Bad Clone (both setups)
   IV.2 (A): Crystal_'s setup for ITEMS OR BOX CODES
   IV.2 (B): luckytyphlosion's setup for MAIL CODES
V. GLITCH POKEDEX ACE EXPLAINED
   V.1: Obtain a Glitch Pokémon n°000
   V.2: Use the Glitch Pokémon n°000 to get Mystery Eggs
   V.3: Use Mystery Eggs to get the Expanded Balls Pocket
   V.4: Prepare the Party setup
VI. WRITE AND EXECUTE A CODE, REGARDLESS OF THE METHOD
   VI.1: GET TM17 IN THE WRONG POCKET (Box, G/S)
   VI.2: GET ANY TM/HM x255 CODE (Box, G/S)
   VI.3: INCREASE/DECREASE THE QUANTITY OF AN ITEM CODE (Items, G/S/C)
   VI.4: GET ANY ITEM CODE (Items, G/S/C)
   VI.5: MEMORY EDITOR CODE, A.K.A. GAMESHARK SIMULATOR (Items or Box, G/S/C)
   VI.6: CHANGING ID CODE (Items, G/S/C)
   VI.7: MAKE THE SIXTH POKEMON IN PARTY SHINY CODE (Items, G/S/C)
   VI.8: GOTTA CATCH 'EM ALL CODE (Box, G/S)
   VI.9: MORE AND COMPETITIVE CODES (Box)
   VI.10: A WORD ON HOW TO WRITE COMPLEX CODES
ANNEX 1: GET TM ACE SETUP THROUGH A FIRST-GENERATION GAME
   ANNEX 1.1: Gather the needed items
   ANNEX 1.2: Create custom jump Pokémon
   ANNEX 1.3: Use Mystery Eggs to get TM25
ANNEX 2: GET MYSTERY EGGS USING THE MACHOP TECHNIQUE
GENERAL CONCLUSION
   
I. WHAT ARE THE DIFFERENT ACE TECHNIQUES IN G/S/C

Much like in first generation games, arbitrary code execution is about to give you the power to modify the RAM in order to make the game do pretty much everything you want, but also, if you feel like it, change the maps, create scripts, and even program another game inside your game.

A well-known method to perform ACE in G/S is the Coin Case Glitch. This very simple glitch is due a mistake done by the english localization team, who forgot in just one occasion to change the end-of-string terminator that was used in japanese games for the actual terminator of english and european games. This mistake is not a part of the original game, and that's why unfortunately, because the localization team of every other country was more rigorous, this glitch cannot be performed in all other languages. Also, even in english games, the glitch was corrected in Crystal. Lame.

So what are the other options to perform ACE, being either in english games or non-english european games? Well, there is, at least, 5 other ACE methods:

- The best method, by far, is the TM Wrong Pocket ACE. which is about having a certain TM in another Pocket than the TM/HM Pocket of the bag and take advantage of it. This method works in all languages and all three games, but it is relatively hard to setup in non-english G/S, as well as in any language Crystal (for which it would require the use of another ACE method BEFORE using this one).

- There is also the Bad Clone ACE which used the properties of a Bad Clone to execute code from box names, much like Coin Case. However, this method uses code from the Mobile GB Adapter and therefore, is a Crystal-only glitch! Although it has been mainly used only as a speedrunning technique for a long time, Crystal_ and luckytyphlosion have made setups to use it during legit gameplay. Nowadays, this can be considered the best method to start ACE (and setup the Wrong Pocket TM) in Crystal.

- ACE can also be achieved using Glitch Pokédex Mode. This method may be done in G/S but I have no clue how to. However, I recently did a setup to use it in Crystal. This method is quite long to setup and has drawbacks, but it also has huge benefits compared to Bad Clone ACE. As a result, if you play Crystal and don't intend to use Bad Clone ACE to setup Wrong Pocket TM ACE, I recommend to use this method instead.

The two last methods are not considered worth it so I'm not going to explain them in details.

- Move 0x00 ACE (also known as 'Move 00 Type ACE' or 'Type 0xD0 move glitch') is another method found by luckytyphlosion that involves a Ditto traded from R/B in which he has been taught the infamous Cooltrainer move. It can also be performed with a Bad Clone. Originally made for speedrunning, it was adapted for legit gameplay by Torchickens, and seems to be exclusive to english games.
* The method is well explained here.
* You will find more on this glitch in the official thread by Torchickens.

- The 'Withdraw Smash ACE', also known as Stack Corruption, is yet another multi-language G/S ACE technique invented by Crystal_ and ISSOtm which also uses a Bad Clone, this time to extend the number of Pokémon in party, and relies on the withdrawal of many Pokémon to corrupt data.
* Don't hesitate to watch this video if you want to learn it!

II. COIN CASE VS. WRONG POCKET TM ACE

NOTE: These methods can be performed on original cartridge as well as Virtual Console (even if it's a shitty emulator), but if performed on an emulator, you must use one that supports ECHO RAM. VisualBoyAdvance doesn't (although VBA-RR and VBA-M do). BGB does. BGB loves you. Use BGB.

Coin Case Glitch is a ready-to-use ACE technique that has no complicated requirements, and there has been work done to exploit it directly, for example to get Celebi. However, Wrong Pocket TM ACE requires less steps and is easier to handle. Also, it doesn't corrupt the Stack, which is an annoying side-effect of Coin Case Glitch. Thus, it is a more efficient ACE source than Coin Case... as long as you have the good TM in the wrong Pocket, and that is precisely the catch.

Fortunately, it is possible to use Coin Case glitch to get this TM in that Pocket! This to say that nowadays, most people prefer to use Coin Case glitch just once, in order to setup Wrong Pocket TM ACE. Whether what you will be one of them or not is up to you, but if you stick with Coin Case, codes that are designed for Wrong Pocket TM won't work without a prior adaptation step. If you're playing a non-english game and thus don't have access to Coin Case, or if you're playing an english game but for some reason prefer not using Coin Case, you can directly jump to chapter III which explains the Wrong Pocket TM ACE.

This is basically how Coin Case works:

1 ) You need what we call a 'Slide Pokémon' in slot 3 of the party. Unlike Wrong Pocket TM ACE, for which any lvl2 Sentret without 6 in Sp. Def. would work, the 'Slide Pokémon' for Coin Case is less permissive. The perfect Pokémon for this is Rocky, the Onix you can trade for a lvl5 (this is important) Bellsprout in Violet City, or Muscle the Machop traded for a lvl13 Drowzee in Goldenrod Departement Store. If you don't have access to these trades, then you can use a lvl2 female Hoothoot (Route 29) but this has only 60% chance to work and you have no way to figure out if it will before you try. If it doesn't, you need to catch another Hoothoot. In all cases the 'Slide Pokémon' must never be trained of receive an EV-changing item, as well as never receive significant friendship, and must be fully healed (without status) every time you use the glitch.

2 ) You need a Quagsire with some specific requirements in slot 4 of the party. There is two sets of requirements, depending on if you want to write a code from your items, in a similar fashion that what was used in R/B/Y, or from box names. Both methods will be explained in this guide, and codes will be given for both. I actually suggest you prepare two Quagsire so you can use one or the other method at any time.
   For item codes, have Quagsire hold a Protein and know SLEEP TALK (TM35, basement of Goldenrod Store, requires Basement Key) as first move.
   For box codes, have Quagsire hold TM02 (giveaway at Ilex Forest, or bought at Goldenrod Store) and know RETURN (TM27, giveaway if your first Pokémon is happy at Goldenrod Store) as first move.
   
NOTE: If you can't or don't want to get these TMs, you can use a glitch called the Bad Clone Trick to get them. However, as this glitch is the entry (and hot) point of using Wrong Pocket TM ACE if you don't use Coin Case, doing it makes the whole Coin Case thing useless because you will now be able to use TM ACE. If you really want to learn about this, continue this guide and you'll find out how when we'll come to the part of preparing these Quagsire for Wrong Pocket TM ACE.

NOTE: Of course, you can setup only one ACE method for now, as you will learn from this guide how to use it to setup the other method.

3 ) Write whatever code you want using the method you chose. You will learn how to do this later in the guide, since it is exactly the same for Coin Case and Wrong Pocket TM ACE.

4 ) Enter Cherrygrove City's Pokémon Mart.

5 ) Exit it and take exactly 4 steps to the right.

6 ) Open Bellsprout or Machop's entry in the Pokédex.

7 ) Open the bag, switch Pocket at least once, then go to the Key Items Pocket.

8 ) Use Coin Case to launch the code.

Now before we explain how TM ACE works and how to make codes you will be able to use with one or the other method, here are some ressources you might want to look at:
* GCL's official page about the Coin Case Glitch which also gives some troubleshooting.
* Technical explanations about this glitch can be found in this thread
* Crystal_ made this video illustrating the glitch and explaining how to setup Wrong TM ACE with it.

III. WRONG POCKET TM ACE EXPLAINED

This technique relies on the fact that a TM or HM that is placed, using some glitch magic, in another Pocket than the TM/HM Pocket will execute code, instead of teaching a move. Unless you use another ACE technique (such as Coin Case ACE in G/S, or Bad Clone ACE in Crystal) to get that TM, you will need to learn how to perform 'Item Shifting Glitch', a glitch allowing to get any item in the Balls Pocket, by following the steps below (official thread here).

Credits for it essentially goes to Paco81, for the initial discovery of the Bad Clone Trick (and all those who worked to make this glitch better), luckytyphlosion and gifvex (for the discovery of the Item Shifting Glitch) and Háčky (for its initial work discovering the Expanded Balls Pocket).

NOTE: If playing G/S, you can use 'ANNEX 1: GET TM ACE SETUP THROUGH A FIRST-GENERATION GAME (G/S only)' instead of this whole part.

You first need to use the Bad Clone Trick in a certain way to get two Mystery Eggs. The most reliable way to do this, that guarantees that it will work, has been invented by luckytyphlosion and gifvex and is described below (original source is this pastebin). However, there is another method which is described in 'ANNEX 2: GET MYSTERY EGGS USING THE MACHOP TECHNIQUE' if you want to use it instead of III.1 and III.2 (then come back to III.3).

This particular Bad Clone Trick requires:
- One PC box which has 15 random Pokémon currently, but never had 20 Pokémon at one point.
- Either the Daycare Man or Lady must not have a Pokémon (Lady is preferred).
- At least $200.
- A Bellsprout cloned 5 times (so you have 6 of them).

   III.1: Obtain a Glitch Pokémon n°000

Go to the Daycare, south of Goldenrod, and clone Bellsprout once again. However this time, the cloning must be performed in the 15 Pokémon aforementioned box and you must have reset your game right after saying 'YES' to the question about save replacement. If it worked, the obtained clone will be level 0, won't have a name (or many "?" as name in Crystal), and its Pokédex ID (in the profile) also is 000; this is what we call a Bad Clone. If you got a normal clone, release it and try again.
NOTE: In G/S, any clone without name/level but also without the Pokédex ID 000 won't work (treat it as a normal clone). However, if you get such clone in Crystal, it is worth noting that you can convert it into a Bad Clone that can be used for this method. To do this, store the Bad Clone in another PC Box and store 5 other Pokémon in that same box. Then, use the withdraw option to display that box. Leave it and use the withdraw option again. All Pokémon are now Kingdra. Withdraw the Bad Clone and you can now use it (in case of trouble with getting the Kingdra, please read this).

Make a party of the Bad Clone and 5 Bellsprout clones (leaving 1 in the PC).

Give the Bad Clone to the Daycare lady and immediately take it back. It will now be a Glitch Pokémon with n°000 and LAST in your party.

   III.2: Use the Glitch Pokémon n°000 to get Mystery Eggs
   
Open the PC menu and enter the Move Pkmn W/O Mail menu.

Move the last Bellsprout clone from the PC to the 2nd slot of the Party. Note that the Bellsprout names will change to [blank] or your Trainer Name. This is a side effect of the setup and does not have any negative effects.

Move the first Bellsprout to the third party slot, then move the first Bellsprout in place (Press A when the move cursor is shown).

Move the fourth Bellsprout to the first party slot, then move the first Bellsprout in place (Press A when the move cursor is shown).

Move the first Bellsprout to the fourth party slot, then move the first Bellsprout in place TWICE.

Move the second Bellsprout to the third party slot, then move the first Bellsprout in place TWICE.

Exit the Move Pkmn W/O Mail menu and go to the Deposit Menu. Release the first Bellsprout and exit the PC. The first two Bellsprout in the party now have Mystery Egg attached.

Take them and give the Pokémon Glitch n°000 to the Daycare Lady.

   III.3: Use Mystery Eggs to get TM17 (G/S) or TM15 (Crystal)
   
Move the Mystery Eggs in the Key Items Pocket so that they are the last items in the Pocket (do not swap them together).
NOTE: For this trick to work, the Key Items Pocket must be full. If you don't have enough Key Items, you can keep cloning the Bellsprout to get more Eggs in order to fill the Pocket.

Have Great Ball x1 and Poké Ball x2 in the Balls Pocket (nothing else).

Now, swap the first Mystery Egg with the second Mystery Egg (order is important). A S.S. Ticket will appear.

Move to the Balls Pocket. The Great Ball x1 and Poké Ball x2 should have turned into a Master Ball x5 and Ultra Ball x255 respectively (255 is indicated by a [tile]5).

Toss 47 (G/S) or 49 (Crystal) Ultra Balls from the Ultra Ball x255 stack.

Swap the Master Ball x5 with the Ultra Ball x208 (G/S) or x206 (Crystal).

Deposit the Mystery Egg in the Player's PC.

Withdraw the Mystery Egg from the Player's PC. In the Balls Pocket, the Ultra Ball x208 and Master Ball x5 should now have turned into a TM17 x1 (G/S) or TM15 x1 (Crystal) and Poké Ball x255.

Store 255 (all) from the Poké Ball x255 stack in the Player's PC.

   III.4: Prepare the Party setup

Item gathering:
- In G/S, get TM02 (giveaway at Ilex Forest, or bought at Goldenrod Store), TM27 (giveaway if your first Pokémon is happy at Goldenrod Store) and TM35 (basement of Goldenrod Store, requires Basement Key).
NOTE: You can also use the Bad Clone Trick to get these items. If you know how to do that, the corresponding moves you will need are ZAP CANNON (TM02), ENCORE (TM35) and FRUSTRATION (TM27).
- In Crystal, get TM50 (giveaway after the Spearow quest in Route 31), TM27 (giveaway if your first Pokémon is happy at Goldenrod Store), Thick Club (or Miracle Seed) and optionally TM18 (obtained at Slowpoké Well or bought at Celadon Store).

Quagsire preparation:
Similarly to Coin Case ACE, you need a Quagsire.
- In G/S, to execute box codes, get the Quagsire to know RETURN as first move (using TM27), and give it TM02 to hold. To execute item codes, get the Quagsire to know SLEEP TALK as first move (using TM35), and give it a Protein to hold. The Quagsire must be in SECOND position of the party.
- In Crystal, to execute box codes, get the Quagsire to know SAFEGUARD as first move (this can only be done through breeding), and give it Miracle Seed (to execute from character 1) or Thick Club (character 2) to hold. To execute item codes, get the Quagsire to know RETURN as first move (using TM27), and give it TM50 to hold. Finally, to execute mail buffer codes, get the Quagsire to know RAIN DANCE as first move (by leveling up to lvl 47 or using TM18), and make sure it doesn't hold any item. The Quagsire must be in FIRST position of the party.
NOTE: I suggest you actually prepare all the Quagsire, and store the ones you don't use when you don't.

Final jump preparation:
- In G/S, you now need a 'Slide Pokémon' which will be put at FIRST position of the party (fully healed, without status). Catch either a Bellsprout in Violet City that you raise at lvl5 then trade for Rocky the Onix with the NPC in Violet City, or a Drowzee that you raise at lvl13 then trade for Muscle the Machop with the NPC in Goldenrod Departement Store. This Pokémon must then never win any battle, or you won't be able to use it anymore.
NOTE: Instead, you can catch a lvl2 Sentret in Route 29, and make sure it doesn't have a 6 in its SP. DEF. stat (if so, catch another - this stat value appears in 31.25% of lvl2 Sentret). This Pokémon must then never win any battle, or you won't be able to use it anymore.
- In Crystal, you now need to use any other ACE method to execute the following item code (starting from item 1):
PP Up x252
TM42 x18
TM27 x3
TM10 x(any quantity)
Any other items in any quantities can go from here on
Once done, toss 29 PP Up and 1 TM42 and execute again. Then toss 28 PP Up and 1 TM42 and execute a third time.

With all this done, everytime you use the TM from the Wrong Pocket with the Pokémon in right place, code will be executed!

IV. BAD CLONE ACE EXPLAINED

If you're playing Crystal, you will anyway need another ACE method than the one described in section III. to set it up. This method is the most suitable one and can be performed before III. If you're playing G/S, just jump to section 'VI. WRITE AND EXECUTE A CODE, REGARDLESS OF THE METHOD'.

There are two different setups available for this ACE method. Crystal_'s one is quick but only works if executing code from ITEMS or BOX NAMES ; luckytyphlosion's one can be used to execute code from the MAIL BUFFER instead.

   IV.1: Get any type of Bad Clone (both setups)

You will need:
- One PC box which has 15 random Pokémon currently, but never had 20 Pokémon at one point.
- A random Pokémon.

Go to the Daycare, south of Goldenrod, and clone the random Pokémon once again. However this time, the cloning must be performed in the 15 Pokémon aforementioned box and you must have reset your game right after saying 'YES' to the question about save replacement. If it worked, the obtained clone will have many "?" as name. Here, the level and Pokémon ID are not important. If you got a normal clone, release it and try again.

Store the Bad Clone in the PC. The best is not having any other Pokémon in the box, so they don't get corrupted.

   IV.2 (A): Crystal_'s setup for ITEMS OR BOX CODES

  • Have a Max Elixer or TM21 (FRUSTRATION, giveaway if your first Pokémon is sad at Goldenrod Store), in the bag.
  • Catch a Quagsire (or evolve any Wooper). This Pokémon must have RETURN as first move (to execute from FIRST STORED ITEM), or must have SAFEGUARD as first move (to execute from respectively from BOX 1 NAME - this can only be taught through breeding!). Put it in the first slot of your team.
  • Catch a Spearow and make it hold TM50 (NIGHTMARE, obtained on Route 31, after completing the mail quest) to execute code from FIRST STORED ITEM or make it hold MIRACLE SEED or THICK CLUB to execute from respectively character 1 or 2 in BOX 1 NAME. This Pokémon must be second in the team.

The code execution is then performed this way:

  • Save and reset in front of a Pokémon Center.
  • Enter the Center, go up until reaching the healing machine, go right until hitting the wall, go up to the PC. These steps are very precise, don't do any other pattern.
  • Open the bag, place the cursor on the Max Elixer or TM21 but DON'T CLICK ON IT. Leave the bag.
  • Use the deposit option on Bill's PC to view Quagsire's profile. Go to its moves page, then exit Quagsire's profile and hit down to display Spearow's sprite. Don't click on it.
  • Exit the deposit menu, and use the withdraw option to view the box containing the Bad Clone. You'll see a bunch of "?" but it will also execute the code!

   IV.2 (B): luckytyphlosion's setup for MAIL CODES

Here's a pastebin that roughly explains this setup: https://pastebin.com/DaWmYHLF
Please note that you must introduce "4AA" before starting your mail code. Otherwise, s**t will happen.

V. GLITCH POKEDEX ACE EXPLAINED

Only available in Crystal (so far), this method is not perfect, but once it's setup the first time, it's practical. For some reasons, you might not want to setup the Wrong Pocket TM ACE in your Crystal version and if so, I recommend to use this method instead of the Bad Clone ACE, because it allows to execute code from everywhere in the game and not only at a Pokémon Center. If you're playing G/S, just jump to section 'VI. WRITE AND EXECUTE A CODE, REGARDLESS OF THE METHOD'.

As with the Wrong Pocket TM ACE, you first need to use the Bad Clone Trick in a certain way to get Mystery Eggs, but this time, you need three of them. The most reliable way to do this, that guarantees that it will work, has been invented by luckytyphlosion and gifvex and is described below (original source is this pastebin). However, there is another method which is described in 'ANNEX 2: GET MYSTERY EGGS USING THE MACHOP TECHNIQUE' if you want to use it instead of V.1 and V.2 (then come back to V.3).

This particular Bad Clone Trick requires:
- One PC box which has 15 random Pokémon currently, but never had 20 Pokémon at one point.
- Either the Daycare Man or Lady must not have a Pokémon (Lady is preferred).
- At least $200.
- A Bellsprout cloned 5 times (so you have 6 of them).

   V.1: Obtain a Glitch Pokémon n°000

Go to the Daycare, south of Goldenrod, and clone Bellsprout once again. However this time, the cloning must be performed in the 15 Pokémon aforementioned box and you must have reset your game right after saying 'YES' to the question about save replacement. If it worked, the obtained clone will be level 0, won't have a name (or many "?" as name in Crystal), and its Pokédex ID (in the profile) also is 000; this is what we call a Bad Clone. If you got a normal clone, release it and try again.
NOTE: In G/S, any clone without name/level but also without the Pokédex ID 000 won't work (treat it as a normal clone). However, if you get such clone in Crystal, it is worth noting that you can convert it into a Bad Clone that can be used for this method. To do this, store the Bad Clone in another PC Box and store 5 other Pokémon in that same box. Then, use the withdraw option to display that box. Leave it and use the withdraw option again. All Pokémon are now Kingdra. Withdraw the Bad Clone and you can now use it (in case of trouble with getting the Kingdra, please read this).

Make a party of the Bad Clone and 5 Bellsprout clones (leaving 1 in the PC).

Give the Bad Clone to the Daycare lady and immediately take it back. It will now be a Glitch Pokémon with n°000 and LAST in your party.

   V.2: Use the Glitch Pokémon n°000 to get Mystery Eggs
   
Open the PC menu and enter the Move Pkmn W/O Mail menu.

Move the last Bellsprout clone from the PC to the 2nd slot of the Party. Note that the Bellsprout names will change to [blank] or your Trainer Name. This is a side effect of the setup and does not have any negative effects.

Move the first Bellsprout to the third party slot, then move the first Bellsprout in place (Press A when the move cursor is shown).

Move the fourth Bellsprout to the first party slot, then move the first Bellsprout in place (Press A when the move cursor is shown).

Move the first Bellsprout to the fourth party slot, then move the first Bellsprout in place TWICE.

Move the second Bellsprout to the third party slot, then move the first Bellsprout in place TWICE.

Exit the Move Pkmn W/O Mail menu and go to the Deposit Menu. Release the first Bellsprout and exit the PC. The first two Bellsprout in the party now have Mystery Egg attached. Clone one of these Bellsprout in order to have three Pokémon with Mystery Egg attached.

Take them and give the Pokémon Glitch n°000 to the Daycare Lady.

   V.3: Use Mystery Eggs to get the Expanded Balls Pocket
   
The idea here is to perform luckytyphlosion's Item Shifting Glitch (official thread here) in a certain way that I coined 'Double Item Shifting Glitch'. The catch here is that you don't want a specific items in your Balls Pocket, but you want this pocket to get 255 items (<i>Expanded Balls Pocket</i>) so you can access your stored items (and many other data) from the Balls Pocket. However, in Crystal, item 00 ("?") freezes the game when you place the cursor on it, so you need to make sure that there won't be an item 00 before stored items in the Expanded Balls Pocket. This is the way it must be performed:
  • Move the Mystery Eggs in the Key Items Pocket so that they are the last items in the Pocket (do not swap them together).
    NOTE: For this trick to work, the Key Items Pocket must be full. If you don't have enough Key Items, you can keep cloning the Bellsprout to get more Eggs in order to fill the Pocket.
  • Have Ultra Ball x1 followed Poké Ball x2 in the Balls Pocket
  • Swap the second Mystery Egg with the third (order is important). A S.S. Ticket will appear.
  • Move to the Balls Pocket. The Ultra Ball x1 and Poké Ball x2 should have turned into a Master Ball x5 and Ultra Ball x255 respectively (255 is indicated by a [tile]5). Swap them.
  • Fill your Balls Pocket by any mean.
  • Store the bottom-most Mystery Egg, then take it back.
  • Do the swap again with the 2 remaining Mystery Egg (first with last).
  • Store the remaining Mystery Egg, then take it back.

   V.4: Prepare the Party setup
   
Gather the following items and store them in the PC:
  • TM19 x1 (GIGA DRAIN, obtained at the Radio Tower or at Celadon's store)
  • TM29 x1 (PSYCHIC, given by some NPC in Saffron City or obtained at Celadon's Game Corner)
  • Any item with a quantity of 9

Now, similarly to Coin Case ACE or Wrong Pocket TM ACE, you need a Quagsire. To execute box codes, get the Quagsire to know SAFEGUARD as first move (this can only be done through breeding), and give it Miracle Seed (to execute from character 1) or Thick Club (character 2) to hold. To execute item codes, get the Quagsire to know RETURN as first move (using TM27), and give it TM50 to hold. Finally, to execute mail buffer codes, get the Quagsire to know RAIN DANCE as first move (by leveling up to lvl 47 or using TM18), and make sure it doesn't hold any item. The Quagsire must be in SECOND position of the party.
NOTE: I suggest you actually prepare all the Quagsire, and store the ones you don't use when you don't.

Now, similarly to G/S methods, you need a 'Slide Pokémon' which will be put at FIRST position of the party (fully healed, without status). Catch either a Bellsprout in Violet City that you raise at lvl5 then trade for Rocky the Onix with the NPC in Violet City, or an Abra that you raise at lvl13 then trade for Muscle the Machop with the NPC in Goldenrod Departement Store. This Pokémon must then never win any battle, or you won't be able to use it anymore.
NOTE: Instead, you can catch a lvl2 Sentret in Route 29, and make sure it doesn't have a 6 in its SP. DEF. stat (if so, catch another - this stat value appears in 31.25% of lvl2 Sentret). This Pokémon must then never win any battle, or you won't be able to use it anymore.

Finally, open the Balls Pocket and slide down, you will see the PC Items after the CANCEL that follows the last ball (although only the description might show up). Using SELECT, place the x9 item at position 65, the TM19 at position 165, and the TM29 at position 166.

With this done, everytime you use the Pokédex, code gets executed!

VI. WRITE AND EXECUTE A CODE, REGARDLESS OF THE METHOD

At this point, you know how to have your setup ready to execute code and you just need to write it. We will review here some codes, either Item Codes, Box Codes, and possibily Mail Buffer Codes, for use with either Coin Case, Wrong Pocket TM, Bad Clone ACE or Glitch Pokédex, as well as explain how to make some of your own!

NOTE: Unfortunately, there is no way to use most, if not all, box codes in German G/S/C as well as in French Crystal.

   VI.1: GET TM17 IN THE WRONG POCKET (Box, G/S)
   This code is exclusively for Coin Case ACE.
   
NOTE: Of course, this code is destined to Coin Case users willing to have TM17 on the Item Pocket to shift on Wrong Pocket TM ACE (the code is from Crystal_'s video linked in chapter II). It would, of course, be useless to do that with TM ACE, and since it contains a way to fix the Stack, doing it will not work.

Make that the first item in your Item Pocket is disposable, as it will be replaced by TM17.

Go to Bill's PC and use the CHANGE BOX option to rename Box 1 to 5 into as follows:
Ap0'déy♀Pk (Pk is an available symbol, not "P followed by k")
'v't'véé'l2h
'd'd2'v9.9't
é?2hhhhh
h'm♀♀

Follow step 4 to 8 in chapter II while making sure the 'Slide Pokémon' and Quagsire with RETURN and TM02 are placed in the right spots (3 and 4). TM17 will then appear in your Item Pocket.

   VI.2: GET ANY TM/HM x255 CODE (Box, G/S)

Go to Bill's PC and use the CHANGE BOX option to rename Box 1 into Ap09é_♀'d (english game), Ap09é_♀ì (italian and spanish game) or Ap09é_♀n' (french game) while replacing _ by the character corresponding to the TM in the following table:
(space) = TM02
A = TM03
B = TM04
C = TM05
D = TM06
E = TM07
F = TM08
G = TM09
H = TM10
I = TM11
J = TM12
K = TM13
L = TM14
M = TM15
N = TM16
O = TM17
P = TM18
Q = TM19
R = TM20
S = TM21
T = TM22
U = TM23
V = TM24
W = TM25
X = TM26
Y = TM27
Z = TM28
( = TM29
) = TM30
: = TM31
; = TM32
[ = TM33
] = TM34
a = TM35
b = TM36
c = TM37
d = TM38
e = TM39
f = TM40
g = TM41
h = TM42
i = TM43
j = TM44
k = TM45
l = TM46
m = TM47
n = TM48
o = TM49
p = TM50
q = HM01
r = HM02
s = HM03
t = HM04
u = HM05
v = HM06
w = HM07
NOTE: As of now, to my knowledge there is no equivalent to this for german games.

Use TM17 from the Wrong Pocket (or follow step 4 to 8 in chapter II if you use Coin Case) while making sure the 'Slide Pokémon' and Quagsire with RETURN and TM02 are placed in the right spots (1 and 2 for TM ACE, 3 and 4 for Coin Case). The TM/HM x255 will appear in the TM/HM Pocket.

   VI.3: INCREASE/DECREASE THE QUANTITY OF AN ITEM CODE (Items, G/S/C)

Use 'VI.2: GET ANY TM/HM x255 CODE' to get TM10 and TM23, unless you already have them in the necessary quantities below.
NOTE: TM10 can be bought.

Get (unless you already have), then store the following items in the PC, in that order:
Any Item x(any quantity) (nothing in Crystal)
Any item x(any quantity) (nothing in Crystal)
Fresh Water x44 (x7 in Crystal)
Poké Ball x38
TM23 x52 (to increase) or x53 (to decrease)
[ONLY FOR COIN CASE: X Defense x1] (otherwise replace with TM10 x(any quantity))
[ONLY FOR COIN CASE: X Speed + x1] (otherwise replace with Any item x(any quantity))
[ONLY FOR COIN CASE: TM06 x195 (use VI.2 and VI.3 to get them)] (otherwise replace with Any item x(any quantity))
[ONLY FOR COIN CASE: HM03 x18 (use VI.2 and VI.3 to get them)] (otherwise replace with Any item x(any quantity))
[ONLY FOR COIN CASE: TM10 x(any quantity)] (otherwise replace with Any item x(any quantity))
The item that must change x(any quantity)
Any other items in any quantities can go from here on

According to the selected method,
- Use TM17/TM15 from the Wrong Pocket (Wrong Pocket TM)
- Follow step 4 to 8 in chapter II (Coin Case)
- Follow the process in chapter IV.2 (Bad Clone ACE)
- Open the Pokédex (Glitch Pokédex ACE)
While making sure the 'Slide Pokémon'/Spearow/the appropriate Quagsire are placed in the right spots (if needed in your method) and the 11th item will get or lose one unit.
NOTE: Decreasing the quantity is very useful if the item is x1; this way, using the code twice will set the quantity to x255, and then you can toss as many units as you want to reach the quantity you actually need.

   VI.4: GET ANY ITEM CODE (Items, G/S/C)

Use 'VI.2: GET ANY TM/HM x255 CODE' to get TM10 and TM23, unless you already have them in the necessary quantities below.
NOTE: TM10 can be bought.

Use this list: https://glitchcity.info/wiki/The_Big_HEX_List to find an item that you have or can easily buy/get and is the closest possible (above or below) of the wanted item in the Item column. Get this selected item.

Get (unless you already have), then store the following items in the PC, in that order:
Any Item x(any quantity) (nothing in Crystal)
Any item x(any quantity) (nothing in Crystal)
Fresh Water x43 (x6 in Crystal)
Poké Ball x38
TM23 x52 (if the wanted item is below the selected one) or x53 (if the wanted item is above the selected one)
[ONLY FOR COIN CASE: X Defense x1] (otherwise replace with TM10 x(any quantity))
[ONLY FOR COIN CASE: X Speed + x1] (otherwise replace with Any item x(any quantity))
[ONLY FOR COIN CASE: TM06 x195 (use VI.2 and VI.3 to get them)] (otherwise replace with Any item x(any quantity))
[ONLY FOR COIN CASE: HM03 x18 (use VI.2 and VI.3 to get them)] (otherwise replace with Any item x(any quantity))
[ONLY FOR COIN CASE: TM10 x(any quantity)] (otherwise replace with Any item x(any quantity))
The selected item x(any quantity)
Any other items in any quantities can go from here on

According to the selected method,
- Use TM17/TM15 from the Wrong Pocket (Wrong Pocket TM)
- Follow step 4 to 8 in chapter II (Coin Case)
- Follow the process in chapter IV.2 (Bad Clone ACE)
- Open the Pokédex (Glitch Pokédex ACE)
While making sure the 'Slide Pokémon'/Spearow/the appropriate Quagsire are placed in the right spots (if needed in your method) and the 11th item will change.

   VI.5: MEMORY EDITOR CODE, A.K.A. GAMESHARK SIMULATOR (Items or Box, G/S/C)
   
The box version of this code (G/S only) is tricky and described in Crystal_'s videos. First use 'VI.2: GET ANY TM/HM x255 CODE' to get TM09 (unless you already have it) and make Quagsire hold it instead of TM02, then click here for english games (from 10:29) and click here for non-english games (from 9:41). For the items version of the code, do as follows.

If you want to simulate a G/S Gameshark code (which always is 01XXYYZZ):
- Use the Windows Calculator to convert XX into Decimal and note the value.
- Do the same with YY.
- Check in this table http://pastebin.com/raw/arPmsvYu the item that matches ZZ.
If you want to edit a WRAM address value instead:
- Use one of the two following sources to find the $ZZYY memory address that contains the data you want to edit. The first one is more convenient and easier to use, but less exhaustive than the second one.
* Datacrystal's G/S RAM MAP: https://datacrystal.romhacking.net/wiki/Pok%C3%A9mon_Gold_and_Silver:RAM_map
* Pokémon Gold(/Silver) disassembly project: https://github.com/PikalaxALT/pokegold/blob/master/wram.asm
- Determine the XX value you want to put in the address. For example, if the address is the one that controls the quantity of the first item in the Balls Pocket and you want it to be 5, then XX is 5. If the address controls what the first item is and you want it to be a Master Ball, use this table http://pastebin.com/raw/arPmsvYu to see that Master Ball's hex ID is 01. Therefore XX would be 01.
- Use the Windows Calculator to convert XX into Decimal and note the value.
- Do the same with YY.
- Check in the aforementioned table the item that matches ZZ.

Use 'VI.2: GET ANY TM/HM x255 CODE' to get TM10 and TM42, unless you already have them in the necessary quantities below. If ZZ matches a TM and you need it, use it also for this TM.
NOTE: TM10 can be bought.

Use 'VI.4: GET ANY ITEM CODE (Items)' to get PP Up, unless you already have one (or more). If ZZ doesn't match a TM and you need it, use it also for this item.

Get (unless you already have), then store the following items in the PC, in that order:
Any Item x(any quantity) (nothing in Crystal)
Any item x(any quantity) (nothing in Crystal)
PP Up x(decimal conversion of XX)
TM42 x(decimal conversion of YY)
Item that matches ZZ x3
[ONLY FOR COIN CASE: X Defense x1] (otherwise nothing)
[ONLY FOR COIN CASE: X Speed + x1] (otherwise nothing)
[ONLY FOR COIN CASE: TM06 x195 (use VI.2 and VI.3 to get them)] (otherwise nothing)
[ONLY FOR COIN CASE: HM03 x18 (use VI.2 and VI.3 to get them)] (otherwise nothing)
TM10 x(any quantity)
Any other items in any quantities can go from here on

According to the selected method,
- Use TM17/TM15 from the Wrong Pocket (Wrong Pocket TM)
- Follow step 4 to 8 in chapter II (Coin Case)
- Follow the process in chapter IV.2 (Bad Clone ACE)
- Open the Pokédex (Glitch Pokédex ACE)
While making sure the 'Slide Pokémon'/Spearow/the appropriate Quagsire are placed in the right spots (if needed in your method) and the code will get executed.

   VI.6: CHANGING ID CODE (Items, G/S/C)
   Particular usage of 'VI.5: MEMORY EDITOR CODE, A.K.A. GAMESHARK SIMULATOR (Items or Box)'

Use 'VI.2: GET ANY TM/HM x255 CODE' to get TM10, TM42 and TM18 (TM21 in Crystal), unless you already have them in the necessary quantities below.
NOTE: TM10 and TM18 can be bought.

Use 'VI.4: GET ANY ITEM CODE (Items)' to get PP Up, unless you already have one (or more).

Using the Windows Calculator, convert the ID you want into hexadecimal (example: 13579 translates into 350B). Then, split this hexadecimal ID number in two parts (example: in this case, you get '35' and '0B').

Use this list: http://pastebin.com/raw/arPmsvYu to find the number from the Decimal column corresponding to the SECOND part of the hexadecimal ID number (read in the Hexadecimal column) (example: in this case, 0B corresponds to 11).

Use 'VI.3: INCREASE/DECREASE THE QUANTITY OF AN ITEM CODE (Items)' on PP Up to give them the quantity corresponding to this previously obtained number.

Get (unless you already have), then store the following items in the PC, in that order:
Any Item x(any quantity) (nothing in Cristal)
Any item x(any quantity) (nothing in Cristal)
PP Up x(the obtained number)
TM42 x162 (x124 in Crystal)
TM18 (TM21 in Crystal) x3
[ONLY FOR COIN CASE: X Defense x1] (otherwise nothing)
[ONLY FOR COIN CASE: X Speed + x1] (otherwise nothing)
[ONLY FOR COIN CASE: TM06 x195 (use VI.2 and VI.3 to get them)] (otherwise nothing)
[ONLY FOR COIN CASE: HM03 x18 (use VI.2 and VI.3 to get them)] (otherwise nothing)
TM10 x(any quantity)
Any other items in any quantities can go from here on

According to the selected method,
- Use TM17/TM15 from the Wrong Pocket (Wrong Pocket TM)
- Follow step 4 to 8 in chapter II (Coin Case)
- Follow the process in chapter IV.2 (Bad Clone ACE)
- Open the Pokédex (Glitch Pokédex ACE)
While making sure the 'Slide Pokémon'/Spearow/the appropriate Quagsire are placed in the right spots (if needed in your method).

Use this list: http://pastebin.com/raw/arPmsvYu to find the number from the Decimal column corresponding to the FIRST part of the hexadecimal ID number (read in the Hexadecimal column) (example: in this case, 35 corresponds to 53).

Use 'VI.3: INCREASE/DECREASE THE QUANTITY OF AN ITEM CODE (Items)' on PP Up to give them the quantity corresponding to this previously obtained number.

Toss or withdraw 1 TM42, so you now have TM42 x161 (x123 in Crystal) in the PC.

According to the selected method,
- Use TM17/TM15 from the Wrong Pocket (Wrong Pocket TM)
- Follow step 4 to 8 in chapter II (Coin Case)
- Follow the process in chapter IV.2 (Bad Clone ACE)
- Open the Pokédex (Glitch Pokédex ACE)
While making sure the 'Slide Pokémon'/Spearow/the appropriate Quagsire are placed in the right spots (if needed in your method).

   VI.7: MAKE THE SIXTH POKEMON IN PARTY SHINY CODE (Items, G/S/C)

Use 'VI.2: GET ANY TM/HM x255 CODE (Box)' to get TM10 and TM28, unless you already have them in the necessary quantities below.

Use 'VI.4: GET ANY ITEM CODE (Items)' to get Polkadot Bow and Metal Powder.
NOTE: You can also trade respectively Jigglypuff and Ditto from R/B/Y, they will hold these items.

Use 'VI.3: INCREASE/DECREASE THE QUANTITY OF AN ITEM CODE (Items)' on Polkadot Bow and Metal Powder to give them the quantity of x119 (in Crystal, use it also on X Accuracy to give it a quantity of x228).

Get (unless you already have), then store the following items in the PC, in that order:
Any Item x(any quantity) (nothing in Crystal)
Any item x(any quantity) (nothing in Crystal)
X Accuracy x47 (x228 in Crystal)
TM28 x62 (TM29 x62 in Crystal)
Polkadot Bow x119
Metal Powder x119
[ONLY FOR COIN CASE: X Defense x1] (otherwise nothing)
[ONLY FOR COIN CASE: X Speed + x1] (otherwise nothing)
[ONLY FOR COIN CASE: TM06 x195 (use VI.2 and VI.3 to get them)] (otherwise nothing)
[ONLY FOR COIN CASE: HM03 x18 (use VI.2 and VI.3 to get them)] (otherwise nothing)
TM10 x(any quantity)
Any other items in any quantities can go from here on

According to the selected method,
- Use TM17/TM15 from the Wrong Pocket (Wrong Pocket TM)
- Follow step 4 to 8 in chapter II (Coin Case)
- Follow the process in chapter IV.2 (Bad Clone ACE)
- Open the Pokédex (Glitch Pokédex ACE)
While making sure the 'Slide Pokémon'/Spearow/the appropriate Quagsire are placed in the right spots (if needed in your method) and the sixth Pokémon will be Shiny.
   
   VI.8: GOTTA CATCH 'EM ALL CODE (Box, G/S)
   
The standard version of this code is easy and quick to perform:
- For English games, see this post for that gives it for Wrong Pocket TM ACE and Coin Case ACE (a video is also available here). This code also gives shiny Pokémon.
- For italian and spanish games, do the same as English Wrong Pocket TM but replace 'v with ° and 'd with ì in italian and spanish games. This code also gives shiny Pokémon.
- For french games, see this post.
- There doesn't seem to be a German adaptation to this so far.

NOTE: If you don't like this code, you can also apply another method that is significantly longer but uses one code for all Pokémon. This method is explained in Crystal_'s video here.

   VI.9: MORE AND COMPETITIVE CODES (Box)

More G/S codes made by the members of GCLF can be found in this thread. Don't hesitate to read it, but pay attention to what they have been designed for (Coin Case, Wrong Pocket TM, or both).

This thread here by FMK gives more G/S box codes and explain how to convert Coin Case box codes into Wrong Pocket TM box codes. It also gives a slightly different process with TM25 instead.

For some G/S competitive battling codes, check this thread by Torchickens.

   VI.10: A WORD ON HOW TO WRITE COMPLEX CODES

As of now, you know how to create your own code to change a single value in the game's RAM. That's very cool, but you might want to do more complex codes that will affect several values at once or create your own scripts. To do that, you'll need to understand how ACE works.

In G/S, using TM17 in the wrong pocket makes the game read code from address $FA47, which is located in what we call Echo RAM. Starting at $E000, this Echo RAM is a duplicate of WRAM, the memory section going from $C000 to $DFFF which stores the game's data. $FA47 thus contains exactly the same value than $DA47, the caught data of your current first Pokémon. Registered inside two consecutive addresses ($DA47 and $DA48 in the case of Pokémon 1), caught data is an unused section of the Pokémon's data, so its value is always 00. If you ever heard about people using TM25 instead, well the concept is the same, but it reads from the Defense EV of the second Pokémon. Finally, using Coin Case is no different, but this time we read data from the third Pokémon!

In all these cases, writing useful code from Pokémon data is almost impossible because it would require specific stats, EV, sometimes even IV... so we need to get the hell out of this place to reach another section of WRAM in which we have more control (either items or box names). Now let's explain the theory with the case of TM17 and let's take a look at the RAM's data for party Pokémon 1 and 2 (you can see all of this using the RAM Map)

Pokémon 1
($DA2A to $DA46 are all the other datas that are not useful here)
$DA47 to $DA48 = Caught Data
$DA49 = Level
$DA4A to $DA4B = Status
$DA4C to $DA4D = HP
$DA4E to $DA4F = Max HP
$DA50 to $DA51 = Attack
$DA52 to $DA53 = Defense
$DA54 to $DA55 = Speed
$DA56 to $DA57 = Special Defense
$DA58 to $DA59 = Special Attack
Pokémon 2
$DA5A = Species
$DA5B = Item Held
$DA5C to $DA5F = Moves

Every address mentioned here has an hexadecimal value corresponding to the data of your Pokémon (for example, if the attack stat of Pokémon 1 is 21, the value of $DA51 is 15). You must now understand that when the game reads code from a point, it interprets the hexadecimal values into instructions called opcodes. In the corresponding list we've provided before for Hex/Dec/Items correspondance, you also have the opcode for each hex, and you can also find here on this more complete table. To take an example, 41 matches the instruction 'ld B,C'.

I don't want (and it's above my knowledge) to explain all opcodes here, but you can actually find a lot of useful ressources on the Internet (I'll link some later in this guide) but we're going to review some basics:
- nop (matching hexadecimal 00) means no operation. The game just continues reading.
- ld means load, in the way that a variable is loaded with ('becomes') a value.
- inc and dec command to increase or decrease the value of a given variable.
- add and sub means that a given value is added or substracted to the variable A (always).
- jp is a jump. It allows you to move to a given part of the WRAM, that can be either directly set by the user or contained in a duo of variable, HL.
- jr is also a jump, but a relative one. It jumps at a given distance of the current reading position.
- ret is mainly used, here, to end your code (in fact, it pops the top of the stack to the program counter).

At first, we want to jump at $D61B (third stored item) or $D8C0 (box 1 name, character two). In the latter case, that translates to "jp D8C0". We will then use the instruction coded by hexadecimal C3, which is a jump at the position given by the two following hexadecimals (reversed - to understand why, read Wikipedia's page about endianness). That means if the game reads C3 C0 D8, then it will jump at box name 1.

We can't easily control the data we have access to in Pokémon 1 when using TM17, but we could use the species (hex:C3 is Quagsire in the list), held item (hex:C0 is TM02) and first move of Pokémon 2 (hex:D8 is RETURN) because that is not a big requirement. Our best shot is then to make sure Pokémon 1's data matches 'unharmful opcodes' that won't jump or will only affect variables we don't care about to so it can 'slide' until Quagsire: this is why the first Pokémon is called 'Slide Pokémon'. The same goes for Pokémon 3 with Coin Case, although it reads more ot its data, so the 'Slide Pokémon' is less permissive. However, in the case of TM25, we can actually affect the EV of the Pokémon by training it until it reaches these values, so it's not mandatory to use a 'Slide Pokémon' (but then, it's longer to setup).

In Crystal, the process for Wrong Pocket TM is quite the same, but TM15 reads from $DA10, an unused part of the RAM. Using another ACE method, we edit this section to introduce C3 DF FC, which commands a jump to party Pokémon 1 species. With Quagsire, we then write C3 F2 (TM50) D8 (RETURN), C3 75 (Miracle Seed) DB (SAFEGUARD) or C3 00 (no item) F0 (RAIN DANCE) and therefore jump in the appropriate place.

Glitch Pokédex ACE method is about changing the Pokédex mode (usually New, Old, A to Z or Zarbi Mode) to glitched mode 09. Pokédex mode is controlled by address $D959 in Crystal, and can be modified to an invalid value (such as 09) using the expanded Balls Pocket obtained through the Double Item Shifting Glitch, because it matches the quantity of item 65. Placing any x9 item at this position will then affect the Pokédex mode. Then, any opening of the Pokédex executes code from $FA20 (a copy of $DA20). This address is linked to game flags, and you can modify it once again by manipulating items 165 and 166. With CT19 x1 and CT29 x1, we write the code D2 01 DD, which translates into 'jp NC,$DD01'. This is a conditionnal jump to the first Pokémon of the party, and in this case, the jump will always occur. There goes the 'Slide Pokémon' and Quagsire as usual.

Let's finish the Crystal digression with Bad Clone ACE. Bad Clones have no terminated name and once you view them in the PC in Crystal, the reading of their name continues on following memory data. That being said, some characters, named control characters, are used by the game not to write things, but sometimes to execute functions. Character with hex ID 15 is one of them and is used for Mobile Adapter GB. But, because of a programmer mistake, if character 15 is followed by any address containing 00, game executes code from $CD52, the buffer for map data. By following the steps indicated in the guide, you modify this buffer and 'write' a ret instruction at $CD74. This ret is not going to stop the code execution, but deviates it (for technical reasons) to whatever address is located right after the 15 00.

Now, $D106 controls the current position of the item pointer. Thus, it always contains the hex ID of the item on which the pointer currently is. $D107 contains the bag position of the item that you currently have selected; which means that by viewing Max Elixer (hex ID 15) but not selecting it, you write 15 00, which is then read as part of the Bad Clone's name, and therefore executes code at $CD52... which jumps back to $D108! This area is yet another buffer, this time containing visualized Pokémon: $D108 is the hex ID of the last viewed Pokémon in the PC, $D10E is the hex ID of the last Pokémon's displayed profile, $D110 its first move, and $D10F the hex ID of the held item of the last Pokémon viewed by either method. Assuming Quagsire has RETURN and TM50, we order C3 XX XX XX XX XX C3 F2 D8. The three last addresses indeed matches 'jp $D8F2' but the first C3 would jump us somewhere else. By viewing Spearow, without opening its profile, we overwrite the first C3 without touching the one at $D10E - and Quagsire's item doesn't matter since it is overwritten by Spearow's TM50.

Let's now focus on G/S and review the gameshark simulation/single-address value changing code (VI.5). Keep in mind what we want to do here is to put BB as the value of address $DDCC. PP Up's hex ID is 3E, TM42 is EA, and TM10 is C9. Remember that after the address of an item comes the address of its quantity, and only then we can proceed with item 2.
Code: [Select]
$D61B 3E ld A,XXAs mentioned in the table by the small '2' under this opcode, it takes two bytes: XX will be the value of the following address ($D61C, the quantity of item 3 - in our case, "BB"). This instruction thus says 'ld A,BB' and the variable A becomes BB. Therefore, $D61C is not read as an opcode, and we proceed.
Code: [Select]
$D61D EA ld XXXX,A (3 octets) This instruction takes 3 bytes so we need to consider the two following ones.
$D61E "CC"
$D61F "DD" → ld (DDCC),A The parenthesis indicates it's the value of XXXX that changes. Then, the value of $DDCC becomes A which is now BB!
$D620 03 inc BC Increase the duo of variable b and c. It's just a placeholder here, we don't use these variables.
The 4 following items in the code (instructions read from $D621 to $D628) are exclusive to Coin Case. This is because Coin Case has a major drawback compared to Wrong Pocket TM ACE which we mentioned before: it destroys the stack. This set of instructions is meant to fix it, and thus are not used with Wrong Pocket TM ACE. Let's finish this code:
Code: [Select]
$D629 C9 ret Code reading ends.
Isn't that easy? See this other example with the code that changes Stored Item 11 (VI.4). This item's address is $D62B. You should be able to understand that the code read by the game in this case is 2E 2B 05 26 D6 34 [Coin Case Set] C9.
Code: [Select]
$D61B 2E ld l,XX (2 bytes)
$D61C 2B → ld l,2B Variable l becomes 2B.
$D61D 05 dec b Variable b is decreased. This is still a placeholder.
$D61E 26 ld h,XX (2 bytes)
$D61F D6 → ld h,D6 Variable l becomes D6.
$D620 34 inc (hl) Value of address hl ($D62B) is increased. We're done!
$D621 to $D628 Coin Case set.
$D629 C9 ret Code reading ends.

Writing codes with items is easy in theory because you have access to almost all opcodes. However, it can be a bit unpractical when it comes to gathering items. Writing box codes is of course quicker and easier, but you won't have access to all opcodes because the first character, the space, has an hex ID of 7F (followed by A, which has an hex ID of 80). This is why box codes are longer than item codes, since it requires to spam add and sub to workaround the impossibility to use 2-bytes ld. Also, some characters are exclusive to languages, which means codes have to be translated for each language! It is rather easy in italian and spanish, very difficult in french (because of the lack of sub) and almost impossible in german because it doesn't even have 3-bytes ld.

This guide won't get into details for box codes, because it would require more lessons on opcodes and how to use flags. If you're new to this, you can stick to item codes, or ask here for specific help with your codes! We can always go further and ACE can be also used to program something, in the way TheZZAZZGlitch did a Pong game in R/B/Y! Everything cannot be included in this guide, but there is a lot for you to discover. Your very own ACE legend is about to unfold! A world of dreams and adventures with ACE awaits! Let's go!

Useful ressources:
* This website's guide to GB Programming
* A GameBoy opcode summary can be found here for basic understanding of what opcodes do.
* A more detailed guide with syntax is available on this website.

ANNEX 1: GET TM ACE SETUP THROUGH A FIRST-GENERATION GAME (G/S only)
   
You will need:
- A R/B/Y game in which you can perform code execution using either the 8F item, the wsl'm item, or the 4F item (this is NOT a guide to code execution in first generation games, it assumes you already have one of these items and a proper setup to use it. If you don't know what we're talking about here, please go back to the normal process).
- The following TMs (at least 1 of each): TM01, TM14, TM18, HM03.
- At least 1 of each of the following : Thunderstone, Max Revive, X Accuracy, Lemonade, Water Stone, Soda Pop.
- 34 Ice Heal stored in the PC.
- Some other things that can easily be bought in-game.

   ANNEX 1.1: Gather the needed items

Place the following items, in that order, in your pack:
8F (4F or wsl'm in Yellow)
Thunderstone x1
Poké Ball x45
Revive x3
TM01 x(any quantity)
Any other items in any quantities can go from here on

Use the 8F (4F or wsl'm in Yellow) item. You should now have Thunderstone x0 instead of x1. Store them in the PC.

Place the following items, in that order, in your pack:
8F (4F or wsl'm in Yellow)
Max Revive x1
Poké Ball x45
Revive x3
TM01 x(any quantity)
Any other items in any quantities can go from here on

Use the 8F (4F or wsl'm in Yellow) item. You should now have Max Revive x0 instead of x1. Store them in the PC.

Place the following items, in that order, in your pack:
8F (4F or wsl'm in Yellow)
X Accuracy x1
Poké Ball x45
Revive x3
TM01 x(any quantity)
Any other items in any quantities can go from here on

Use the 8F (4F or wsl'm in Yellow) item. You should now have X Accuracy x0 instead of x1. Store them in the PC.

Place the following items, in that order, in your pack:
8F (4F or wsl'm in Yellow)
Lemonade x1
Poké Ball x45
Revive x3
TM01 x(any quantity)
Any other items in any quantities can go from here on

Use the 8F (4F or wsl'm in Yellow) item. You should now have Lemonade x0 instead of x1. Store them in the PC.

Place the following items, in that order, in your pack:
8F (4F or wsl'm in Yellow)
Water Stone x1
Poké Ball x45
Revive x3
TM01 x(any quantity)
Any other items in any quantities can go from here on

Use the 8F (4F or wsl'm in Yellow) item. You should now have Water Stone x0 instead of x1. Store them in the PC.

Place the following items, in that order, in your pack:
8F (4F or wsl'm in Yellow)
Soda Pop x1
Poké Ball x45
Revive x3
TM01 x(any quantity)
Any other items in any quantities can go from here on

Use the 8F (4F or wsl'm in Yellow) item. You should now have Soda Pop x0 instead of x1. Store them in the PC.

Place the following items, in that order, in your pack:
8F (4F or wsl'm in Yellow)
HM03 x1
Poké Ball x45
Revive x3
TM01 x(any quantity)
Any other items in any quantities can go from here on

Use the 8F (4F or wsl'm in Yellow) item. You should now have HM03 x0 instead of x1 (but you won't seen its number). Store them in the PC.

Place the following items, in that order, in your pack:
8F (4F or wsl'm in Yellow)
TM18 (TM17 in Yellow) x1
Poké Ball x45
Revive x3
TM01 x(any quantity)
Any other items in any quantities can go from here on

Use the 8F (4F or wsl'm in Yellow) item. You should now have the TM x0 instead of x1. Store them in the PC.

Place the following items, in that order, in your pack:
8F (4F or wsl'm in Yellow)
TM14 x1
Poké Ball x45
Revive x3
TM01 x(any quantity)
Any other items in any quantities can go from here on

Use the 8F (4F or wsl'm in Yellow) item. You should now have TM14 x0 instead of x1. Store them in the PC.

   ANNEX 1.2: Create custom jump Pokémon
   
Make sure you have at least 2 Pokémon in the active box.
NOTE: If you're playing Yellow, these 2 Pokémon are part of your setup.

Withdrawing items from the x0 stacks in your PC, place the following items, in that order, in your pack:
Any item x(any quantity)
8F (4F or wsl'm in Yellow)
Thunderstone x190 in english R/B (x189 in english Yellow, x195 in non-english R/B, x194 in non-english Yellow)
TM18 x4
Max Revive x69
X Accuracy x205 in english R/B (x204 in english Yellow, x210 in non-english R/B, x209 in non-english Yellow)
Lemonade x195
Water Stone x12
TM14 x3
Ice Heal x34
HM03 x25
Soda Pop x119
TM01 x(any quantity)

Use the 8F (4F or wsl'm in Yellow) item.

Toss 33 Thunderstone.

Toss 33 X Accuracy.

Withdraw 165 TM14 from the PC.

Toss all HM03 and withdraw 188 HM03 from the PC (it takes time!).

Place the following items, in that order, in your pack:
Any item x(any quantity)
8F (4F or wsl'm in Yellow)
Thunderstone x157 in english R/B (x156 in english Yellow, x162 in non-english R/B, x161 in non-english Yellow)
TM18 x4
Max Revive x69
X Accuracy x172 in english R/B (x171 in english Yellow, x177 in non-english R/B, x176 in non-english Yellow)
Lemonade x195
Water Stone x12
TM14 x168
Ice Heal x34
HM03 x188
Soda Pop x119
TM01 x(any quantity)

Use the 8F (4F or wsl'm in Yellow) item.

Withdraw and trade the first two Pokémon in your active box to your G/S game: both will hold a Mystery Egg. They must NEVER win any battle, or you won't be able to use them anymore.

   ANNEX 1.3: Use Mystery Eggs to get TM25

Take both Mystery Eggs and place them in the Key Items Pocket so that they are the last items in the Pocket (do not swap them together).
NOTE: For this trick to work, the Key Items Pocket must be full. If you don't have enough Key Items, you can clone one or both Pokémon before taking the Egg, to get more Eggs in order to fill the Pocket.

Now, swap the first Mystery Egg with the second Mystery Egg (order is important). A S.S. Ticket will appear.

Move to the Balls Pocket. The Great Ball x1 and Poké Ball x2 should have turned into a Master Ball x5 and Ultra Ball x255 respectively (255 is indicated by a [tile]5).

Toss 39 Ultra Balls from the Ultra Ball x255 stack.

Swap the Master Ball x5 with the Ultra Ball x216.

Deposit the Mystery Egg in the Player's PC.

Withdraw the Mystery Egg from the Player's PC. In the Balls Pocket, the Ultra Ball x216 and Master Ball x5 should now have turned into a TM25 x1 and Poké Ball x255.

Store 255 (all) from the Poké Ball x255 stack in the Player's PC.
   
   ANNEX 1.4: Prepare the Party setup

Place the Pokémon that was FIRST in the R/B/Y's PC box at slot 2 of your party everytime you need to execute item codes during 'VI. WRITE AND EXECUTE A CODE' (instead of the Quagsire with SLEEP TALK and Protein), and place the Pokémon that was SECOND in the R/B/Y's PC box at slot 2 of your party everytime you need to execute box codes during 'VI. WRITE AND EXECUTE A CODE' (instead of the Quagsire with RETURN and TM02). In both cases, you won't need any 'Slide Pokémon' in slot 1.

Use TM25 from the Balls Pocket everytime you need to execute codes during 'VI. WRITE AND EXECUTE A CODE' (instead of TM17).

ANNEX 2: GET MYSTERY EGGS USING THE MACHOP TECHNIQUE

This method will NOT work if your Trainer ID is superior to 65280 or is equal to 255 modulo 256[/b] (which means 511, 767, 1023, etc.). It requires:
- A Machop with Seismic Toss as first move (stored in the PC).
- 5 clones of a Pokémon obtained by trading with an NPC that has never been trained before. If this is impossible to you, use clones of any caught Pokémon that has never been trained before, but note that there is 3% chance it won't work.
- At least $200.

Go to the Daycare, south of Goldenrod, and clone Bellsprout once again. However this time, the cloning must be performed in the 15 Pokémon aforementioned box and you must have reset your game right after saying 'YES' to the question about save replacement. If it worked, the obtained clone will be level 0, won't have a name (or many "?" as name in Crystal), and its Pokédex ID (in the profile) also is 000; this is what we call a Bad Clone. If you got a normal clone, release it and try again.
NOTE: In G/S, any clone without name/level but also without the Pokédex ID 000 won't work (treat it as a normal clone). However, if you get such clone in Crystal, it is worth noting that you can convert it into a Bad Clone that can be used for this method. To do this, store the Bad Clone in another PC Box and store 5 other Pokémon in that same box. Then, use the withdraw option to display that box. Leave it and use the withdraw option again. All Pokémon are now Kingdra. Withdraw the Bad Clone and you can now use it (in case of trouble with getting the Kingdra, please read this).

Make a party of the Bad Clone and the 5 clones.

Give the Bad Clone to the Daycare lady and immediately take it back. It will now be a Glitch Pokémon with n°000.

Put the glitch Pokémon n°000 in front at the top of your party, and go to Bill's PC.

Choose 'MOVE PKMN W/O MAIL' and it will seem like your party is empty. Thanks to this, you can move the Machop at first slot (therefore you now have 7 Pokémon).

Exit the PC and give the glitch Pokémon n°000 to the Daycare lady again. Don't take it back this time.
NOTE: It is also possible to move it at slot 7 instead, and give it to the lady only after finishing this step.

Go back to Bill's PC and store Machop. It will now have a Mystery Egg attached.

Before taking the Egg from it, clone this Pokémon once (twice if wanting three Eggs), then take the 2 or 3 Mystery Eggs.
NOTE: I recommend you do a backup clone also, in case you need other Eggs.

GENERAL CONCLUSION

Alright, I'mma stop here with this guide for now. If you're kinda lost, remember this:
  • If playing English G/S, the best you can do is to use Coin Case ONCE, to get the TM17 in the Wrong Pocket. Then, use this as ACE method.
  • If playing European Non-English G/S, the best you can do is to follow the Wrong Pocket TM ACE process using the Bellsprout method.
  • If playing Crystal, the best you can do is to use Bad Clone ACE ONCE, to get and setup the TM15 in the Wrong Pocket. Then, use this as ACE method.

I know I have to add some colours and more BBCodes, but please mention me any improvement, any mistake, any thread that gives more interesting codes, and don't hesitate to ask questions!
4
Hello everyone,

In this thread, asphere asked for assistance regarding using Silver ACE to change its Trainer ID to 13579. I've decided to help him and we've been talking by PM about the best method he could use to reach his goal, and I felt interesting to post the results of this discussion here... for science!

As you all know, 2G has a lot of different ACE methods. Since asphere plays an italian game, Coin Case ACE was therefore excluded. As of now, Glitch Pokédex ACE, Bad Clone ACE and Move 0x00 ACE have not been validated in european games, so I decided to put them aside also. Thanks to the work of the very talented Crystal_ and IssoTM, we now know yet another ACE method, Withdraw Smash ACE, which works in european games, but of course, it wasn't the case back then.

So that leaves only one ACE method, the horrible and very painful TM Code Execution, which by chance, happens to be a little bit less a pain in the ass in G/S games, since unlike in Crystal, you can technically do it without using another game if you're willing to do an insane amount of battles (and use the Bad Clone Trick). Since asphere mentions he has a Yellow, we will avoid any complications by designing a method that uses Item ACE in Yellow (in this case ws*l’||lm|| since he already knew how to do it, although I must insist that 4F is a better shot) to generate a proper TM ACE in Silver.

The process I wrote in this occasion starts from scratch. The point of it is not to be the most efficient way to do it, but to the most newbie-friendly possible. I chose not to use MissingNo. in any ways because it may be tricky in some localizations (but it can be used to get the ws*l’||lm||) but rather I will use ACE to generate the proper amount of every item I need for the glitch. This step-by-step whole process basically allows a player which has nothing more than a Yellow game, a Silver game, the ws*l’||lm|| item and some TMs to change its trainer ID.

As you will read, the result is an incredibly complex process (although by testing it I must say it's really not that long to do) that doesn't seem to make any sense and it's probably the most stupid thing you will read today... but it absolutely works. I'm not expecting anyone else to do such a thing, and I'm posting it "for the record". Asphere is doing it right now, and he's happy, because he will have his wanted ID of 13579... even if I have no idea why would someone want to do that!

Oh, and I'm pretty sure ISSOtm would want me to say that this process won't work with classic VBA, because of Echo RAM.

Before starting, you will need in Yellow:
- 2 different Tangela with 233 HP currently, and all the following Pokémon (1 of each): Nidoking, Metapod, Spectrum, Flareon, Parasect, Kadabra, Tentacool, Grimer.
- The ws*l’||lm|| item.
- The following TMs (at least 1 of each): TM01, TM14, TM50, TM11, TM34 and TM18.
- Some other things that can be easily bought ingame.
In Silver, you will need:
- The following TMs: TM10 x1, TM18 x3, TM23 x53, TM25 x1, TM42 x1. All those can be bought ingame (money or casino chips) except for TM23 that you get from Jasmine. Unfortunately you will have to clone it.
- Some other things that can be easily bought ingame.

STEP I: PREPARE POKEMON MODIFICATION IN YELLOW

Place the following Pokémon, in that order, in PC Box 1 and make sure this box is active (no extra Pokémon!).
Tangela (with 233 current HPs)
Nidoking
Metapod
Spectrum
Flareon
Parasect
Kadabra
Tentacool
Grimer
Any Pokémon

Place the following items, in that order, in your pack.
ws*l’||lm||
Carbos x1
Poké Ball x45
Revive x3
TM01 x1

Use the ws*l’||lm|| item. You should now have Carbos x0 instead of x1. Click on it and toss precisely 38 Carbos. You should now have x218 Carbos, represented by a glitch number. Store them in the PC.

Place the following items, in that order, in your pack.
ws*l’||lm||
X Accuracy x1
Poké Ball x45
Revive x3
TM01 x1

Use the ws*l’||lm|| item. You should now have X Accuracy x0 instead of x1. Click on it and toss precisely 80 X Accuracy. You should now have x176 X Accuracy, represented by a glitch number. Store them in the PC.

Place the following items, in that order, in your pack.
ws*l’||lm||
Any Item x1
Poké Ball x45
Revive x3
TM01 x1

Use the ws*l’||lm|| item. You should now have Any Item x0 instead of x1. Click on it and toss precisely 99 of it, then toss 29 of it. You should now have x128 of this item, represented by a glitch number. Store them in the PC.

Place the following items, in that order, in your pack.
ws*l’||lm||
TM34 x1
Poké Ball x45
Revive x3
TM01 x1

Use the ws*l’||lm|| item. You should now have TM34 x0 instead of x1. Click on it and toss precisely 95 TM34. You should now have x161 TM34, represented by a glitch number. Store them in the PC.

Place the following items, in that order, in your pack.
ws*l’||lm||
TM18 x1
Poké Ball x45
Revive x3
TM01 x1

Use the ws*l’||lm|| item. You should now have TM18 x0 instead of x1. Click on it and toss precisely 55 TM18. You should now have x201 TM18, represented by a glitch number. Store them in the PC.

Place the following items, in that order, in your pack.
ws*l’||lm||
TM14 x1
Poké Ball x45
Revive x3
TM01 x1

Use the ws*l’||lm|| item. You should now have TM14 x0 instead of x1. Click on it and toss precisely 99 TM14, then toss again 99 of it, and then toss 24 of it. You should now have x34 TM14. Store them in the PC.

Place the following items, in that order, in your pack.
ws*l’||lm||
TM50 x1
Poké Ball x45
Revive x3
TM01 x1

Use the ws*l’||lm|| item. You should now have TM50 x0 instead of x1. Click on it and toss precisely 99 TM50, then toss again 99 of it, and then toss 21 of it. You should now have x37 TM50. Store them in the PC.

Buy 3 Full Heal, and place the following items, in that order, in your pack.
ws*l’||lm||
TM11 x1
Poké Ball x45
Full Heal x3
TM01 x1
Revive x3

Use the ws*l’||lm|| item three times in a row. You should now have TM11 x4 instead of x1. Store them in the PC, and toss all 3 Full Heal.

Place the following items, in that order, in your pack.
ws*l’||lm||
Lemonade x1
Poké Ball x45
Revive x3
TM01 x1

Use the ws*l’||lm|| item. You should now have Lemonade x0 instead of x1. Toss 99 Lemonade, then toss 35 Lemonade. You now have Lemonade x122, represented by a glitch number. Go to the PC, store 99 Lemonade and withdraw them back. Now, you will have two stacks of Lemonade, the first being x99, and the second being x23. Toss 98 Lemonade from the 99 pack. From now on, you can switch items to arrange your pack, but it is very important that you NEVER switch both Lemonade together, as it would combine them.

Place the following items, in that order, in your pack.
ws*l’||lm||
Lemonade x1
Poké Ball x45
Revive x3
TM01 x1
Lemonade x23

Use the ws*l’||lm|| item. You should now have Lemonade x0 instead of x1 as second item. Toss 61 Lemonade so this stack is now Lemonade x195.

Place the following items, in that order, in your pack. Remember not to switch both Lemonade together.
ws*l’||lm||
Water Stone x1
Poké Ball x45
Revive x3
TM01 x1
Lemonade x195
Lemonade x23

Use the ws*l’||lm|| item. You should now have Water Stone x0 instead of x1. Toss 2 of them, then store 99 of them, and withdraw them back. Now, you will have two stacks of Water Stone, the first being x99, and the second being x155, represented by a glitch number. Toss 93 Water Stone from the stack of Water Stone x155 (it now should be x62), and 94 Water Stone from the stack of Water Stone x99 (it now should be x5). As for Lemonade, it is very important that you NEVER switch both Water Stone together, as it would combine them.

STEP II: MODIFY THE 2 POKEMON

While keeping the Pokémon in your PC Box, place the following items, in that order, in your pack. Once again make sure you never switch both stack of Water Stone or both stack of Lemonade together.
ws*l’||lm||
Any Item x128
Lemonade x195
Carbos x218
X Accuracy x176
Water Stone x5
Lemonade x23
Water Stone x62
TM14 x34
TM50 x37
TM11 x4
TM34 x161
TM18 x201

Use ws*l’||lm||. Nothing will seem to occur.

Immediately go the PC and withdraw Tangela. THIS POKEMON MUST NEVER, EVER, BE IN A BATTLE AGAIN (nor receive an EV-changing item). Send it to the Silver game, and make sure it holds a Machine Part. Clone it with the item, and take the two Machine Part. Then, go back to your Yellow game.

Place another Tangela with 233 HP at the first position of the active PC Box 1, then go back to your pack, and toss 61 of the "Any Item" so you now have 67. The, use ws*l’||lm||. Immediately withdraw Tangela and send it to the silver game. This time, this Tangela should be holding a SecretPotion, and once again clone it with the item, and take the two SecretPotion.

The Yellow part (and the most annoying part) of the glitch is finished.

STEP III: INFINITE PC ITEMS TRICK AND ITEM GENERATION

Now in the silver game, place both Machine Part and both SecretPotion in the last position of your Rare Items, just like in this screenshot:


Place a Tangela at the second position of your party, but remember to never make it to fight or give it an EV-changing item.

In the PC, place the following items, in that order.
Fresh Water x42
Poké Ball x38
TM23 x53
TM10 x(any quantity)
TM25 x1
TM18 x3
PP Up x1
Any item x(any quantity)
Any item x(any quantity)
TM42 x1

In your pack, make sure to have ABSOLUTELY NOTHING in your Balls pocket (if so, toss them or store them after the TM42). Now, go to the Rare Items pocket, switch both Machine Part. Normally, you should now see an Iron and a Apricorn in the pack. Switch the first SecretPotion with the Apricorn. Switch the second SecretPotion with the Apricorn again. Both should now be at last position of your pack. Now switch both SecretPotion.

Go in the Balls pocket of your pack, you should be able to go down, beyond the CANCEL button. If you keep going down, you will now see your PC items! Go the the TM25 and use it. You should now have x0 TM42. Use again TM25, and you should now have x255 TM42.

Go in the PC, and arrange your items this way.
Fresh Water x42
Poké Ball x38
TM23 x53
TM10 x(any quantity)
TM25 x1
TM18 x3
TM42 x255
Any item x(any quantity)
Any item x(any quantity)
PP Up x1

Leave the PC and go back to your item pack, in the Balls Pocket, and slide down until finding the PC items. Use TM25. You should now have x0 PP Up. Use again TM25, and you should now have x255 PP Up.

STEP IV: CHANGING THE ID TO 13579

From the PC, toss 93 TM42 so you now have x162, represented by a glitch number. Toss also 99 PP Up, then again toss 99 PP Up, so you now have x57. Also toss all Fresh water, all Poké Ball, and all TM23.

Still in the PC, withdraw 46 PP Up, so you now have x11 in the PC. Then don't withdraw anything else in your pack as it may break the glitch, but while using the PC, arrange the remaining items this way.
PP Up x11
TM42 x162
TM18 x3
TM10 x(any quantity)
TM25 x1
You can place any other items in any quantity after the TM25.

Go back to your pack, in the Balls Pocket, and slide down until finding the PC items. Use TM25. Your ID starts changing, but still not is the wanted one.

Go back inside the PC and store 42 of the PP Up you still have. The quantity of stored PP Up shall now be x53. Now, toss 1 TM42.

Go back to your pack, in the Balls Pocket, and slide down until finding the PC items. Use TM25. You now have your wanted ID. Congratulations!
5
Hi folks,

Following my recent work on an easier Yellow ACE using the Day Care and the 4F item, I wanted to demonstrate that the not-so-well known Pikachu Off-Screen ACE can be improved to avoid the ~75 Pokémon battles.

If you don't know about POS Code Execution, see this video from Torchickens.

Anyway, instead of using the trained Pokémon, I suggest we use one of the five following configurations:

4 moves configuration

- 5th Pokémon would be a Nidorina or Nidorino. It has to have been traded to G/S/C, hold a Moon Stone there and then be traded back to Yellow.
- This Pokémon must have 2 'placeholder moves' (typically Bite and Fury Swipes, since it learns both) followed by Double Kick (also learned) and Bubblebeam (TM11).
- The 6th Pokémon can be anything but requires currently 3 PP on its first move (with 3 PP Up used), 33 PP on the second move, and 19 PP for the third move (with 3 PP Up used also).
- The code starts from item 3, so it is performed in a similar fashion than using 4F/wslm.

Code: [Select]
WRA1:D221 08 [cc execute]
WRA1:D222 2C inc l
WRA1:D223 9A sbc d
WRA1:D224 18 3D jr D263
WRA1:D263 C3 21 D3 jp D321

2 moves + HP/Box Level configuration

- 5th Pokémon would be a Nidorina or Nidorino. It has to have been traded to G/S/C, hold a Moon Stone there and then be traded back to Yellow.
- This Pokémon must have Double Kick (learned) as first move and Take Down (TM09) as second.
- The 6th Pokémon can be anything but must have 24 HP currently and also have been lvl24 last time it was stored in the PC.
- This Pokémon requires currently 3 PP on its first move (with 3 PP Up used), 33 PP on the second move, and 19 PP for the third move (with 3 PP Up used also).
- The code starts from item 3, so it is performed in a similar fashion than using 4F/wslm.

Code: [Select]
WRA1:D221 08 [cc execute]
WRA1:D222 18 24 jr D248
WRA1:D248 00 nop
WRA1:D249 18 18 jr D263
WRA1:D263 C3 21 D3 jp D321

4 moves + Glitch Pokémon configuration

- 5th Pokémon would the glitch Pokémon PKMN pゥぁ ゥぇ, that can be obtained via several glitches (although not the Ditto Trick - best is probably LOL Glitch), Equivalent Trade or Time Capsule Exploit.
- This Pokémon must have Ice Punch, DoubleSlap, Double Kick and BubbleBeam (all can be learned except Bubblebeam which is TM11)
- The 6th Pokémon can be anything but requires currently 3 PP on its first move (with 3 PP Up used), 33 PP on the second move, and 19 PP for the third move (with 3 PP Up used also).
- The code starts from item 3, so it is performed in a similar fashion than using 4F/wslm.

Code: [Select]
WRA1:D221 2D [not read]
WRA1:D222 08 [cc execute]
WRA1:D223 03 inc bc
WRA1:D224 18 3D jr D263
WRA1:D263 C3 21 D3 jp D321

Untrained Hitmonchan configuration

Since all previous setup require trading or glitching, here is the only tradeless/glitchless/trainless setup that will work most times.

- 5th Pokémon would be Hitmonchan
- This Pokémon must never have been trained, but must know Strength (HM), Agility, Fire Punch and Ice Punch. This requires rising it to lvl 38 with Rare Candies.
- This Pokémon must also have 00 PP currently at Strength, 24 at Agility, 14 at Fire Punch (Ice Punch doesn't matter)
- The 6th Pokémon can be anything but must be lvl25, requires currently 24 HP, 3 PP on its first move (with 3 PP Up used), 33 PP on the second move, and 19 PP for the third move (with 3 PP Up used also).
- The code starts from item 3, so it is performed in a similar fashion than using 4F/wslm.

The code can be broken at any time by Hitmonchan's IV. The best way is to reset the pick of Hitmonchan to make sure that yours work. For this setup to work, you must check that when converted into hexadecimal, Hitmonchan's trainer ID won't trigger invalid opcodes or many-bytes opcodes

Code: [Select]
WRA1:D221 2D [not read]
WRA1:D222 46 [not read]
WRA1:D223 61 [not read]
WRA1:D224 07 [not read]
WRA1:D225 08 [cc execute]
WRA1:D226 ?? depends on the trainer ID
WRA1:D227 ?? depends on the trainer ID
WRA1:D228-D234 00 nop
WRA1:D235 ?? depends on Hitmonchan's IV
WRA1:D236 ?? depends on Hitmonchan's IV
WRA1:D237 00 nop
WRA1:D238 18 0E jr D248
WRA1:D248 18 19 jr D263
WRA1:D263 C3 21 D3 jp D321

Underflow-based configuration

For informations about a way to use the expanded item pack for an easy setup, see here: http://forums.glitchcity.info/index.php?topic=8063.msg206641#msg206641

I wanted to adapt these to european non-english games, though the POS ACE does not seem to work in non-english games - or at least doesn't seem to read from $D221.
6
Well, here's a setup for english games that should do the job.

- Place/withdraw at the Day Care a Female Nidoran with Bite, Fury Swipes, Double Kick and Growl (the first two moves are placeholders and can be something else)

- Store :
1. Any lvl25 Pokémon with currently 24 HP, 33 PP currently for the first AND second move, 19 PP currently for the third move (3 PP Up used) and no fourth move or no PP currently on it
2. Clefairy, Male Nidoran or Spearow (among many possibilities) with 233 HP

Enjoy!
7
Hey there,

Here's an unusual setup for Yellow games only, using 2 Pokémon only (and a third one but temporarly and not in the PC), instead of 10.

You can use the celadon loop trick to get 4F / S3 (german) / P3 (italian) / 3EME ETAGE. You have to perform 4 steps less than for wslm. Original discovery of the behavior of the 4F item is from Tagada67 on PRAMA's board: http://forum.prama-initiative.com/viewtopic.php?f=3&t=680&p=6192#p6186

4F executes from Echo RAM $FA64. In English games, this is the catch rate of the last Pokémon that visited the Day Care (or the current one). In European non-english games, it's the first current HP byte of that Pokémon.

Note that if you never placed a Pokémon in the Day Care, this item nops until stored Pokémon, so it behaves EXACTLY like wslm, meaning the traditional setup works with 4F. Otherwise, placing (and immediately withdrawing) any lvl25 Pokémon (lvl29 in non-english games) with currently 24 HP will make it jump to stored Pokémon, so it will work also.

Now here's the setup:

English game

- Place and withdraw (or not) at the Day Care a Nidorina (that apparently should not be evolved from a Female Nidoran), with Bite, Fury Swipes, Double Kick and Growl (the first two moves are placeholders and can be something else, the last two are learned)

- Store in the active PC Box:
1. Any lvl25 Pokémon with currently 24 HP, 33 PP currently for the first AND second move, 19 PP currently for the third move (3 PP Up used) and no fourth move or no PP currently on it
2. Clefairy, Male Nidoran or Spearow (among many possibilities) with 233 HP

- Execute code with your items

Code: [Select]
WRA1:DA64 78 ld a,b
WRA1:DA65 2C inc l
WRA1:DA66 9A sbc d
WRA1:DA67 18 2E jr DA97
WRA1:DA97 18 19 jr DAB2
WRA1:DAB2 21 21 D3 ld hl,D321
WRA1:DAB5 00 nop
WRA1:DAB6 04 inc b
WRA1:DAB7 00 nop
WRA1:DAB8 E9 jp hl

European non-english game

- Place and withdraw (or not) a lvl80 Pokémon with currently 24 HP in the Day Care.

- Store in the active PC Box:
1. Any Pokémon with 33 PP currently for the first move, 38 PP currently for the second move, 19 PP currently for the third move (3 PP Up used) and no fourth move or no PP currently on it
2. Clefairy, Male Nidoran or Spearow (among many possibilities) with 233 HP

- Execute code with your items

Code: [Select]
WRA1:DA64 00 nop
WRA1:DA65 18 50 jr DAB7
WRA1:DAB7 21 26 D3 ld hl,D326
WRA1:DABA 00 nop
WRA1:DABB 04 inc b
WRA1:DABC 00 nop
WRA1:DABD E9 jp hl

This setup is still perfectible though so don't hesitate if you can improve it :D
8
Generation III Glitch Discussion / Hints in Gen III Trade Cloning
« on: May 29, 2017, 04:13:17 pm »
Hello everyone,

As you know, cloning by shutting down the console during a trade, which can be done in games from Generation I, II, IV, V and VI (still to be confirmed in VII, as far as I know) is largely considered to be not functional in Gen III, because of two reasons:
- GBA link cable can send and receive simultanously
- Data from unfinished trades are deleted

However, someone named Gary6318 now claims on PRAMA having successfully cloned by trade cloning under these conditions:
- Ruby and Firered
- Using the Game Boy Player (the GameCube thing)
- He didn't actually shut the game but the FR game froze for unknown reason right after the trade started, when you see the GBA on screen.

He has no video/picture proof as of now. Assuming he's not lying, could there be a frame where the trade is actually possible? Could this be related to the use of the Player, or the fact that it froze?

What do you think?
9
4G glitches are harder to explain because of we don't have the tools that we have in 1G/2G glitchology. However, I was wondering if someone has some explanations about the way the Rage Glitch and Acid Rain Glitch works.

I know that in 1G, the Rage move continues until the Pokémon faints, or until there is no opponent; and each time the attacker was hit, its ATK modifier rises up. From 2G on, Rage has to be reselected every turn and there is a specific Rage counter which has the same effect as if the ATK modifier was risen. Though, at this point, if you stop using Rage, the counter goes back to 0.

When this was developed, a specific routine had to be done. Probably there is a flaw in the 4G version of it; for some reason, this routine probably requires a "refreshing" of the attacker's moves (maybe to check out if Rage was still used? I can't find out) and since the Pokémon is morphed during the glitch, it just copies the wrong moves.

Do you have some clues about this? As for the Acid Rain Glitch, I have no clue at all.
10
It works for Darkrai. That's truely amazing, thanks!
11
Generation II Glitch Discussion / Call glitch?
« on: December 11, 2016, 08:43:25 am »
Hello guys,

A while back, I've been told that in Cristal only, if you call a friend then ask your Mom to change the hour, there are good chances that someone will randomly call you immediately.

Could this be a glitch in subroutines or somewhat?

Thanks!
12
Generation IV Glitch Discussion / Destiny Bond glitch ?
« on: November 06, 2016, 08:03:54 am »
Hi everyone,

A guy named Guilz contacted me on Facebook to share a glitch with Destiny Bond in HG/SS. Apparently, if you use the move, then keep using items, Destiny Bond stays active as long as you use items. That means if someone beat your Pokémon after 3 turns in which you used items, Destiny Bond will affect the opponent.

I wasn't able to test this on HG/SS but Haxel did it on OR/AS and it didn't work. Is this known to someone? Was it a normal feature in 4G?
13
Hello there!

As you all probably know, the Tweaking Trick is a 4G glitch with many utilities. It involves moving on loading lines to generate "voids", and is rather limited in Platinum, Heartgold and Soulsilver, being most known for allowing, in Diamond and Pearl, the player to cross the void to reach Fake versions of Sinnoh that you can use to catch Shaymin and Darkrai.

While the tweaking process may cause some problems to users, the major limitation of this glitch is the time you need to reach a Fake-Sinnoh. Depending on your luck, you will be able to use your first Fake-Sinnoh to get the Pokémon you want, or you will have to continue searching for a usable Fake-Sinnoh, which can take literally forever.

A few months ago, a tweaker called Ankeraout developed a lua script for DeSmume to make all of this a piece of cake. Originally, it only worked on french games. Now, it is compatible with other european, US, and japanese games. What PATH (standing for "PRAMA's Advanced Tweaking Heaven") can do is:
- Display a joypad, your X/Y coordinates, matrix, centerpiece and map ID ; load lines on top screen ; your current position in Sinnoh on the bottom screen (which is very cool when you're in Fake-Sinnoh, when combined with the berry map)
- Automatic tweaking, accordingly to the way you need to tweak a line to generate whatever you need.
- Instant warp to any Fake-Sinnoh/Johto/Kanto of your choice, which makes the whole process useless and allows you to check a lot of Fake-Sinnoh for the ability to work with Shaymin/Darkrai in just minutes.
- Automatic steps because you're too lazy to press keys so the script will do that for you.

PATH is user-friendly but is in french, currently. This is why I post a translation of the menus here, if this helps someone.
UPDATE: PATH now includes english language. You can change to english using the menu.. I'll just let the explanations anyway.

How to run the script

Load your game, then go to Tools > Lua Scripting > New Lua Script Window > Browse. You only have to load path.lua in the archive. Stuff displays on the top screen, and you can now use the script.

Press your keyboard key assigned to the L key of the DS to display PATH's menu on the bottom screen. You can now use the keys assigned to A and B to validate and return. L again to close the menu.



Displaying stuff

"Affichage" (display) contains stuff to display:
- Joypad (speaks for itself)
- "Infos du jeu" (game informations). This displays all that I've mentioned before, and also gives you the X/Y coordinates of your current (Fake-)Sinnoh. X increases when you go East and decreases when you go West, Y increases when you go South and decreases when you go North. That means Fake-Sinnoh South-South-East is X=1 Y=2.

"Lignes de chargement" = load lines

As you can guess, "FS Map" is the option displaying your position in Fake-Sinnoh. This cannot be used in Heartgold and Soulsilver games.

Automatic tweak

You must use "Tweak automatique" for that. It then displays all the available tweaks for your loaded game and you have to choose.



SLOW and FAST indicates whether you have to be on slow bike or fast bike (using B button).
"Bas" = Down
"Haut" = Up
"Droite" = Right
"Gauche" = Left

What you need to know here is where you need to move the chunk. For example, here in Jubilife, in the standard tweak used for Shaymin and Darkrai, to move Route 203 from the upper-right corner to the upper-left corner, you need to select "(SLOW) Haut-droite -> Haut-gauche".

Warping to Fake-Regions

This ultimate time-saving option is in the "Teleportation" menu. You then have two choices:
- "Retour à la position normale" (back to normal position) brings you back to Sinnoh/Kanto/Johto.
- "Bouger d'un Fake-région ou bâtiment" (move of one Fake-Region or building) allows you to move to the next Fake-Region in a wanted direction. "Aller au Nord" means go North, "Aller au Sud" means go South, "Aller à l'Est" means go East and "Aller à l'Ouest" means go West.

You then just have to jump from Fakes to Fakes. Aside from the obvious use in getting legendaries in D/P, HG/SS voids being impossible to cross without cheating, this is a quick way to visit Fake-Kanto and Fake-Johto.

Note that from all tests I have done on french games, it seems West-West-West-South Fake-Sinnoh always has a usable location for Newmoon Island (Jubilife or a Route). It seems to be also the case of WN, WWSS, ESS, EEESS, OOSSS and OSSS as long as you have the bike and the first two badges. All other tested FS can either have a good location or not. Remember, tweaking trick is safe as long as you don't f**k up. Once you're there, don't save: just do XABB to refresh the screen, and if it DBSoD, you can restart the game and try another FS.

Programming a path to perform

The last option, "Trajet Automatic", starts the execution of a pre-registered path. To edit it, you have to edit "run.lua" using a text editor (notepad). Find this line:


Write the number of steps, then the direction, then the following instruction. E = East, N = North, S = South, O = West. Save and reload the script and use the option to start the process. PATH automatically detects walls in the void and bypass them if possible. If PATH is not able to finish exactly where it's supposed to, it will tell you.

You can stop at any time using "Arrêter" (stop).

Download link

PATH v.1.2.2
Support (french) : http://forum.prama-initiative.com/viewtopic.php?f=28&t=566

Have fun!
14
Generation I Glitch Discussion / Anything about glitch types?
« on: March 24, 2016, 11:13:23 am »
Hey everyone,

As you know, gen 1 games had 15 types.

Normal     00
Fighting   01
Flying     02
Poison     03
Ground     04
Rock       05
Bug        07
Ghost      08
Fire       14
Water      15
Grass      16
Electric   17
Psychic    18
Ice        19
Dragon     1A

There are missing numbers in the list of hex IDs for types (no 06, 09->13) and I suddenly realize I don't know much about potential glitch types. When you change a Pokémon's type using Gameshark/Memory Viewer/ACE, the new type, while active, is not shown in the stat view. Do you guys know if every missing slot and everything from 1B to FF matches a "null type" with no effect at all or if someone has tested every slot against every real type to check for resistance and super-effectiveness?


Thanks
15
No, and that's the point of the glitch - when you receive
Pages: [1] 2