Guides:Mail Writer Codes: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
Line 2,050: Line 2,050:
==Constant effect codes==
==Constant effect codes==


By hijacking the OAM DMA routine, we can trick the game into executing a small bit of code on every frame. This allows for certain continuous effects to be applied. As a drawback, only one of these codes can be used at a time, you will need to reapply the effect after every reset.
By hijacking the OAM DMA routine, we can trick the game into executing a small bit of code on every frame. This allows for certain continuous effects to be applied. Before you can use constant effect codes, you'll first need to execute the following code.

To use these effects you first need to set up an OAM DMA hijack. This can be done by either executing the first code of this section or using the RAM writer, if you have the last one installed.


===Setting up an OAM DMA hijack===
===Setting up an OAM DMA hijack===


Every frame, the game will execute an OAM DMA routine. The instructions for this routine is kept in HRAM, in the area between $FF80 and $FF89. By removing the final return instruction and inserting a custom jump instruction, the game will execute up to 15 bytes of custom code.
Every frame, the game will execute an OAM DMA routine. The instructions for this routine is kept in HRAM, in the area between $FF80 and $FF89. By inserting a custom jump instruction at the start of this routine, the game will execute custom code during the vblank interrupt.


Under normal circumstances, any modifications to the OAM DMA routine would need to be reapplied after every reset. As a workaround, the Special Call ACE exploit is used. Under certain conditions, the game will cue up a Special Call due to story events, for example when Elm calls after beating the 1st gym. As a part of this routine, the game needs to check whether it's allowed to perform the call, since certain calls are only permitted to occur outdoors. By manually setting up invalid call IDs, we can trick the game into executing ACE at the end of every step.
In addition, the OAM DMA hijack for Crystal contains additional logic to prevent custom code from being executed when the current active WRAM bank isn't WRAM bank 01.


After reloading, simply taking a single step restores the OAM DMA hijack setup and reactivates any codes that were previously entered. Due to space constraints, the current setup is designed to have three different "slots", each capable of containing a single code.
This code only enables the OAM DMA hijack and will not have any immediately visible effects on gameplay. After executing this code, another code needs to be used to insert a custom byte code so that it can be executed on every frame. Codes that do this can be found further on in this section.

This code takes care of the Special Call ACE and adds the proper framework for the OAM DMA hijack structure. It only enables the OAM DMA hijack and will not have any immediately visible effects on gameplay. After executing this code, another code needs to be used to insert a custom byte code so that it can be executed on every frame. Codes that do this can be found further on in this section.

Due to practical restrictions, the setup for the following versions must take special care of the following:
* German Crystal: the player is not allowed to refight Wilton or Kenji.
* Japanese Crystal: the setup requires that the pokémon left with the Day Care lady has a specific nickname. The setup automatically applies this nickname. When replacing this pokémon, either make sure the new pokémon uses the nickname "アてがれ" or use the "Reapply the bootstrap" code provided further on the guide.

'''Warning:''' if you installed the RAM writer before the 2nd of May 2024, you will need to update it to the latest version before you're able to use these codes.


{| class="wikitable"
{| class="wikitable"
Line 2,069: Line 2,075:
! scope="row"| English
! scope="row"| English
||
||
01 03 00 11 8A FF 21 6B DD CD 1A 31 3E C9 EA 21
3E 8C EA 7B D9 21 30 D8 3E C3 22 3E A5 22 36 D7
AF 01 40 00 21 5C D7 CD 4C 31 0E 1B E5 D1 21 79
DF AF EA 89 FF C9 C3 01 DF
DD C3 1A 31 C9 CD 5C D7 3E C3 0E 46 C9 F3 0E 04
11 80 FF 21 B3 D7 CD 1A 31 AF D9 CD 9D D7 E2
||
||
01 0A 00 11 F4 FF 21 9A D2 CD 26 30 3E C9 EA 20
3E 9C EA 31 DC 3E 03 CD CB 2F AF 01 40 00 21 B3
C0 3E 6B E0 88 3E 18 E0 87 C9 20 90 F0 70 D6 F9
BF CD 41 30 0E 0D E5 D1 21 A6 D2 CD 26 30 0E 22
C0 C3 00 C0
11 21 DA C3 26 30 C9 F0 70 D6 F9 CC 00 C0 3E C4
0E 46 C9 F3 3E 03 CD CB 2F 0E 4D 11 00 C0 21 B3
BF CD 26 30 0E 04 11 80 FF 21 3F DA CD 26 30 AF
D9 CD 41 C0 E2
|-
|-
! scope="row" | French
! scope="row" | French
||
||
01 03 00 11 8A FF 21 6B DD CD 2C 31 3E C9 EA 21
3E 33 EA 7B D9 21 30 D8 3E C3 22 3E A5 22 36 D7
AF 01 40 00 21 5C D7 CD 5E 31 0E 1B E5 D1 21 79
DF AF EA 89 FF C9 C3 01 DF
DD C3 2C 31 C9 CD 5C D7 3E C3 0E 46 C9 F3 0E 04
11 80 FF 21 B3 D7 CD 2C 31 AF D9 CD 9D D7 E2
||
||
01 0A 00 11 F4 FF 21 9A D2 CD 13 30 3E C9 EA 20
3E 9B EA 31 DC 21 21 FB 3E 25 22 36 E9 3E 03 CD
C0 3E 6B E0 88 3E 18 E0 87 C9 20 90 F0 70 D6 F9
B8 2F AF 01 40 00 21 B3 BF CD 2E 30 0E 0D E5 D1
21 AE D2 CD 13 30 0E 22 11 21 FA C3 13 30 C9 F0
C0 C3 00 C0
70 D6 F9 CC 00 C0 3E C4 0E 46 C9 F3 3E 03 CD B8

2F 0E 4D 11 00 C0 21 B3 BF CD 13 30 0E 04 11 80
FF 21 3F DA CD 13 30 AF D9 CD 41 C0 E2
|-
|-
! scope="row"| German
! scope="row"| German
||
||
01 03 00 11 8A FF 21 6B DD CD 47 31 3E C9 EA 21
3E 33 EA 7B D9 21 30 D8 3E C3 22 3E A5 22 36 D7
AF 01 40 00 21 5C D7 CD 79 31 0E 1B E5 D1 21 79
DF AF EA 89 FF C9 C3 01 DF
DD C3 47 31 C9 CD 5C D7 3E C3 0E 46 C9 F3 0E 04
11 80 FF 21 B3 D7 CD 47 31 AF D9 CD 9D D7 E2
||
||
01 0A 00 11 F4 FF 21 9A D2 CD 10 30 3E C9 EA 20
3E ED EA 31 DC 21 0A FA 3E 18 22 36 15 3E 03 CD
C0 3E 6B E0 88 3E 18 E0 87 C9 20 90 F0 70 D6 F9
B5 2F AF 01 40 00 21 B3 BF CD 2B 30 0E 0D E5 D1
21 AE D2 CD 10 30 0E 22 11 21 FA C3 10 30 C9 F0
C0 C3 00 C0
70 D6 F9 CC 00 C0 3E C4 0E 46 C9 F3 3E 03 CD B5
2F 0E 4D 11 00 C0 21 B3 BF CD 10 30 0E 04 11 80
FF 21 3F DA CD 10 30 AF D9 CD 41 C0 E2
|-
|-
! scope="row"| Italian
! scope="row"| Italian
||
||
01 03 00 11 8A FF 21 6B DD CD 3F 31 3E C9 EA 21
3E 33 EA 7B D9 21 30 D8 3E C3 22 3E A5 22 36 D7
AF 01 40 00 21 5C D7 CD 71 31 0E 1B E5 D1 21 79
DF AF EA 89 FF C9 C3 01 DF
DD C3 3F 31 C9 CD 5C D7 3E C3 0E 46 C9 F3 0E 04
11 80 FF 21 B3 D7 CD 3F 31 AF D9 CD 9D D7 E2
||
||
01 0A 00 11 F4 FF 21 9A D2 CD 14 30 3E C9 EA 20
3E EB EA 31 DC 21 AA DA 3E C3 22 3E 21 22 36 DA
C0 3E 6B E0 88 3E 18 E0 87 C9 20 90 F0 70 D6 F9
3E 03 CD B9 2F AF 01 40 00 21 B3 BF CD 2F 30 0E
0D E5 D1 21 B1 D2 CD 14 30 0E 22 11 21 FA C3 14
C0 C3 00 C0
30 C9 F0 70 D6 F9 CC 00 C0 3E C4 0E 46 C9 F3 3E
03 CD B9 2F 0E 4D 11 00 C0 21 B3 BF CD 14 30 0E
04 11 80 FF 21 3F DA CD 14 30 AF D9 CD 41 C0 E2
|-
|-
! scope="row"| Spanish
! scope="row"| Spanish
||
||
01 03 00 11 8A FF 21 6B DD CD 3E 31 3E C9 EA 21
3E 33 EA 7B D9 21 30 D8 3E C3 22 3E A5 22 36 D7
AF 01 40 00 21 5C D7 CD 70 31 0E 1B E5 D1 21 79
DF AF EA 89 FF C9 C3 01 DF
DD C3 3E 31 C9 CD 5C D7 3E C3 0E 46 C9 F3 0E 04
11 80 FF 21 B3 D7 CD 3E 31 AF D9 CD 9D D7 E2
||
||
01 0A 00 11 F4 FF 21 9A D2 CD 10 30 3E C9 EA 20
3E A5 EA 31 DC 21 E5 DA 3E C3 22 3E 21 22 36 DA
C0 3E 6B E0 88 3E 18 E0 87 C9 20 90 F0 70 D6 F9
3E 03 CD B5 2F AF 01 40 00 21 B3 BF CD 2B 30 0E
0D E5 D1 21 B1 D2 CD 10 30 0E 22 11 21 FA C3 10
C0 C3 00 C0
30 C9 F0 70 D6 F9 CC 00 C0 3E C4 0E 46 C9 F3 3E
03 CD B5 2F 0E 4D 11 00 C0 21 B3 BF CD 10 30 0E
04 11 80 FF 21 3F DA CD 10 30 AF D9 CD 41 C0 E2
|-
|-
! scope="row"| Japanese
! scope="row"| Japanese
||
||
01 03 00 11 8A FF 21 DC DC CD D6 30 3E C9 EA 21
3E DB EA 41 D9 21 CF D1 3E C3 22 3E 98 22 36 D7
AF 01 40 00 21 4F D7 CD 08 31 0E 1B E5 D1 21 EA
DF AF EA 89 FF C9 C3 01 DF
DC C3 D6 30 C9 CD 4F D7 3E C3 0E 46 C9 F3 0E 04
11 80 FF 21 A6 D7 CD D6 30 AF D9 CD 90 D7 E2
||
||
01 0A 00 11 F4 FF 21 CB D2 CD F2 2F 3E C9 EA 20
3E 68 EA F7 DB 21 BA DE 3E C3 22 3E 26 22 36 DA
C0 3E 6B E0 88 3E 18 E0 87 C9 20 90 F0 70 D6 F9
3E 03 CD 9D 2F AF 01 40 00 21 B3 BF CD 0D 30 0E
0D E5 D1 21 E2 D2 CD F2 2F 0E 22 11 22 DA C3 F2
C0 C3 00 C0
2F C9 F0 70 D6 F9 CC 00 C0 3E C4 0E 46 C9 CD 41
C0 E2 F3 3E 03 CD 9D 2F 0E 4D 11 00 C0 21 B3 BF
CD F2 2F 0E 04 11 80 FF 21 22 DA CD F2 2F AF D9
|-
|-
! scope="row"| Korean
! scope="row"| Korean
||
||
01 03 00 11 8A FF 21 68 DE CD C2 31 3E C9 EA 12
3E CD EA 7E DA 21 EA D9 3E C3 22 3E 38 22 36 D8
D8 AF EA 89 FF C9 C3 F2 D7
AF 01 40 00 21 EF D7 CD F4 31 0E 1B E5 D1 21 76
DE C3 C2 31 C9 CD EF D7 3E C3 0E 46 C9 F3 0E 04
11 80 FF 21 46 D8 CD C2 31 AF D9 CD 30 D8 E2
|}
|}


===Walk Through Walls===
===1st constant effect slot===

Only one of these codes can be active at the same time. Using a second code from this section safely overwrites all preexisting data in slot 1.

====Run Button & Walking Through Walls====


Executing this code, while an OAM DMA hijack was set up, will trigger the following effects:
Executing this code, while an OAM DMA hijack was set up, will trigger the following effects:
* If B is held, the player will run at a faster speed. This speed is equal to Bicycle speed.
* Causes the player to ignore all map-related collisions.
* If A is held, the player can ignore (nearly) all collision and walk through walls.
* Collisions can be temporarily re-enabled by holding B while walking.


If you hold B + a direction on the dpad when transitioning to another map, it's possible that the player's sprite changes to riding a bicycle. This is not an issue, since the code tricks the game into believing the player is riding a bicycle without altering the player's sprite or changing the music. This can easily be fixed by opening and closing the start menu.
Please note that leaving the boundaries of the current map and entering an undefined map will crash the game. Certain exits, especially indoors areas, rely on player collision to properly function. Make sure to hold B to re-enable collision before appreaching such exits.


Due to how this code works, using the Bicycle will not have an effect outside of changing the music.
{| class="wikitable"

Do not save while surrounded by solid tiles. The OAM DMA Hijack setup will only be activated by taking at least one step after a reset, meaning that you'll be stuck. In case this happens, use the "Manually activate the setup" code down below to be able to escape.

'''Warning:''' leaving the boundaries of the current map and entering an undefined map will crash the game. Certain exits, especially indoors areas, rely on player collision to properly function. Make sure to hold B to re-enable collision before appreaching such exits.

{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
|-
Line 2,143: Line 2,190:
! scope="row"| English
! scope="row"| English
||
||
01 0F 00 11 01 DF 21 61 DD C3 1A 31 F0 A6 E6 02
F3 01 1D 00 11 5C D7 21 63 DD CD 1A 31 D9 F0 A6
C0 AF 21 A3 CE 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A6 0F 4F 30 08 AF 21 A3 CE 22 22
22 22 79 E6 01 EA 82 D6 00 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 26 30 F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 8E D2 C3 CF 65 F0 A4
C0 AF 21 FA C2 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A4 0F 4F 30 08 AF 21 FA C2 22 22
22 22 79 E6 01 EA 5D D9 00 00 00
|-
|-
! scope="row" | French
! scope="row" | French
||
||
01 0F 00 11 01 DF 21 61 DD C3 2C 31 F0 A6 E6 02
F3 01 1D 00 11 5C D7 21 63 DD CD 2C 31 D9 F0 A6
C0 AF 21 A3 CE 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A6 0F 4F 30 08 AF 21 A3 CE 22 22
22 22 79 E6 01 EA 82 D6 00 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 13 30 F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 8E D2 C3 A4 65 F0 A4
C0 AF 21 FA C2 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A4 0F 4F 30 08 AF 21 FA C2 22 22
22 22 79 E6 01 EA 5D D9 00 00 00
|-
|-
! scope="row"| German
! scope="row"| German
||
||
01 0F 00 11 01 DF 21 61 DD C3 47 31 F0 A6 E6 02
F3 01 1D 00 11 5C D7 21 63 DD CD 47 31 D9 F0 A6
C0 AF 21 A3 CE 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A6 0F 4F 30 08 AF 21 A3 CE 22 22
22 22 79 E6 01 EA 82 D6 00 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 10 30 F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 8E D2 C3 D3 65 F0 A4
C0 AF 21 FA C2 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A4 0F 4F 30 08 AF 21 FA C2 22 22
22 22 79 E6 01 EA 5D D9 00 00 00
|-
|-
! scope="row"| Italian
! scope="row"| Italian
||
||
01 0F 00 11 01 DF 21 61 DD C3 3F 31 F0 A6 E6 02
F3 01 1D 00 11 5C D7 21 63 DD CD 3F 31 D9 F0 A6
C0 AF 21 A3 CE 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A6 0F 4F 30 08 AF 21 A3 CE 22 22
22 22 79 E6 01 EA 82 D6 00 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 14 30 F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 8E D2 C3 D1 65 F0 A4
C0 AF 21 FA C2 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A4 0F 4F 30 08 AF 21 FA C2 22 22
22 22 79 E6 01 EA 5D D9 00 00 00
|-
|-
! scope="row"| Spanish
! scope="row"| Spanish
||
||
01 0F 00 11 01 DF 21 61 DD C3 3E 31 F0 A6 E6 02
F3 01 1D 00 11 5C D7 21 63 DD CD 3E 31 D9 F0 A6
C0 AF 21 A3 CE 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A6 0F 4F 30 08 AF 21 A3 CE 22 22
22 22 79 E6 01 EA 82 D6 00 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 10 30 F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 8E D2 C3 A1 65 F0 A4
C0 AF 21 FA C2 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A4 0F 4F 30 08 AF 21 FA C2 22 22
22 22 79 E6 01 EA 5D D9 00 00 00
|-
|-
! scope="row"| Japanese
! scope="row"| Japanese
||
||
01 0F 00 11 01 DF 21 D2 DC C3 D6 30 F0 A6 E6 02
F3 01 1D 00 11 4F D7 21 D3 DC CD D6 30 D9 F0 A6
C0 AF 21 97 CE 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A6 0F 4F 30 08 AF 21 97 CE 22 22
22 22 79 E6 01 EA 75 D6 00 00 00
||
||
01 0F 00 11 00 C0 21 BD D2 C3 F2 2F F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 BF D2 C3 8C 68 F0 A4
C0 AF 21 3E D1 22 22 22 22 00 00 10 10 10 10 10
E6 F0 28 0F F0 A4 0F 4F 30 08 AF 21 3E D1 22 22
22 22 79 E6 01 EA 50 D9 00 00 00
|-
|-
! scope="row"| Korean
! scope="row"| Korean
||
||
01 0F 00 11 F2 D7 21 5E DE C3 C2 31 F0 A6 E6 02
F3 01 1D 00 11 EF D7 21 60 DE CD C2 31 D9 F0 A6
C0 AF 21 78 CE 22 22 22 22 00 00 00 00 00 00 00
E6 F0 28 0F F0 A6 0F 4F 30 08 AF 21 78 CE 22 22
22 22 79 E6 01 EA 35 D7 00 00 00
|}
|}


====Catch a trainer's pokémon====
===Run while the B button is held===


Executing this code, while an OAM DMA hijack was set up, will trigger the following effects:
Executing this code, while an OAM DMA hijack was set up, will trigger the following effects:
* When in a trainer battle, press select. This will turn the trainer battle into a wild encounter battle, allowing you to catch the opponent's current active pokémon.
* When the B button is held, the player will run at the same speed as when using a bike.
* Unlike previous versions of this code, the caught pokémon will have the exact same moveset as it did when it was used by the opposing trainer.
* When the B button is released, the player will walk at normal walking speed.
* After catching or defeating the current active pokémon, the battle will end. You won't receive prize money, but the trainer will be registered as beaten.


{| class="wikitable"
Holding the B button will change the player's state to the "bike-riding" state. When the B button is held during map transitions, the player may look as if they are riding a bicycle instead of walking.

{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
|-
Line 2,210: Line 2,269:
! scope="row"| English
! scope="row"| English
||
||
01 0F 00 11 01 DF 21 61 DD C3 1A 31 F0 A6 E6 02
F3 01 1D 00 11 5C D7 21 63 DD CD 1A 31 D9 21 16
28 01 3C E6 01 EA 82 D6 00 00 00 10 10 10 10 10
D1 3E 02 AE 20 12 F0 A6 E6 04 28 0C 35 01 04 00
11 13 CC 21 F1 D0 CD 1A 31 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 26 30 F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 8E D2 C3 CF 65 21 2D
28 01 3C E6 01 EA 5D D9 00 00 00 10 10 10 10 10
D2 3E 02 AE 20 12 F0 A4 E6 04 28 0C 35 01 04 00
11 35 C7 21 08 D2 CD 26 30 00 00
|-
|-
! scope="row" | French
! scope="row" | French
||
||
01 0F 00 11 01 DF 21 61 DD C3 2C 31 F0 A6 E6 02
F3 01 1D 00 11 5C D7 21 63 DD CD 2C 31 D9 21 16
28 01 3C E6 01 EA 82 D6 00 00 00 10 10 10 10 10
D1 3E 02 AE 20 12 F0 A6 E6 04 28 0C 35 01 04 00
11 13 CC 21 F1 D0 CD 2C 31 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 13 30 F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 8E D2 C3 A4 65 21 2D
28 01 3C E6 01 EA 5D D9 00 00 00 10 10 10 10 10
D2 3E 02 AE 20 12 F0 A4 E6 04 28 0C 35 01 04 00
11 35 C7 21 08 D2 CD 13 30 00 00
|-
|-
! scope="row"| German
! scope="row"| German
||
||
01 0F 00 11 01 DF 21 61 DD C3 47 31 F0 A6 E6 02
F3 01 1D 00 11 5C D7 21 63 DD CD 47 31 D9 21 2D
28 01 3C E6 01 EA 82 D6 00 00 00 10 10 10 10 10
D2 3E 02 AE 20 12 F0 A4 E6 04 28 0C 35 01 04 00
11 35 C7 21 08 D2 CD 47 30 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 10 30 F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 8E D2 C3 D3 65 21 2D
28 01 3C E6 01 EA 5D D9 00 00 00 10 10 10 10 10
D2 3E 02 AE 20 12 F0 A4 E6 04 28 0C 35 01 04 00
11 35 C7 21 08 D2 CD 10 30 00 00
|-
|-
! scope="row"| Italian
! scope="row"| Italian
||
||
01 0F 00 11 01 DF 21 61 DD C3 3F 31 F0 A6 E6 02
F3 01 1D 00 11 5C D7 21 63 DD CD 3F 31 D9 21 2D
28 01 3C E6 01 EA 82 D6 00 00 00 10 10 10 10 10
D2 3E 02 AE 20 12 F0 A4 E6 04 28 0C 35 01 04 00
11 35 C7 21 08 D2 CD 3F 30 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 14 30 F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 8E D2 C3 D1 65 21 2D
28 01 3C E6 01 EA 5D D9 00 00 00 10 10 10 10 10
D2 3E 02 AE 20 12 F0 A4 E6 04 28 0C 35 01 04 00
11 35 C7 21 08 D2 CD 14 30 00 00
|-
|-
! scope="row"| Spanish
! scope="row"| Spanish
||
||
01 0F 00 11 01 DF 21 61 DD C3 3E 31 F0 A6 E6 02
F3 01 1D 00 11 5C D7 21 63 DD CD 3E 31 D9 21 16
28 01 3C E6 01 EA 82 D6 00 00 00 10 10 10 10 10
D1 3E 02 AE 20 12 F0 A6 E6 04 28 0C 35 01 04 00
11 13 CC 21 F1 D0 CD 3E 31 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 10 30 F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 8E D2 C3 A1 65 21 2D
28 01 3C E6 01 EA 5D D9 00 00 00 10 10 10 10 10
D2 3E 02 AE 20 12 F0 A4 E6 04 28 0C 35 01 04 00
11 35 C7 21 08 D2 CD 10 30 00 00
|-
|-
! scope="row"| Japanese
! scope="row"| Japanese
||
||
01 0F 00 11 01 DF 21 D2 DC C3 D6 30 F0 A6 E6 02
F3 01 1D 00 11 4F D7 21 D3 DC CD D6 30 D9 21 08
28 01 3C E6 01 EA 75 D6 00 00 00 10 10 10 10 10
D1 3E 02 AE 20 12 F0 A6 E6 04 28 0C 35 01 04 00
11 07 CC 21 E3 D0 CD D6 30 00 00
||
||
01 0F 00 11 00 C0 21 BD D2 C3 F2 2F F0 A4 E6 02
3E 03 01 1D 00 11 B3 BF 21 BF D2 C3 8C 68 21 5E
28 01 3C E6 01 EA 50 D9 00 00 00 10 10 10 10 10
D2 3E 02 AE 20 12 F0 A4 E6 04 28 0C 35 01 04 00
11 29 C7 21 39 D2 CD F2 2F 00 00
|-
|-
! scope="row"| Korean
! scope="row"| Korean
||
||
01 0F 00 11 F2 D7 21 5E DE C3 C2 31 F0 A6 E6 02
F3 01 1D 00 11 EF D7 21 60 DE CD C2 31 D9 21 D3
28 01 3C E6 01 EA 35 D7 00 00 00 00 00 00 00 00
D1 3E 02 AE 20 12 F0 A6 E6 04 28 0C 35 01 04 00
11 1B CC 21 AE D0 CD C2 31 00 00
|}
|}


===2nd constant effect slot===
===Make every encountered pokémon shiny or set their DVs===

Only one of these codes can be active at the same time. Using a second code from this section safely overwrites all preexisting data in slot 2.

====Make every wild pokémon shiny or set their DVs====


Executing this code, while an OAM DMA hijack was set up, will trigger the following effects:
Executing this code, while an OAM DMA hijack was set up, will trigger the following effects:
* Make every encountered pokémon, including trainer pokémon, shiny.
* Make every encountered wild pokémon shiny. Trainer pokémon are not affected.


Customizability: the two values marked in bold determine the DVs that all encountered pokémon will receive. These values are divided and ordered as follows:
Customizability: the two values marked in bold determine the DVs that all encountered pokémon will receive. These values are divided and ordered as follows:
Line 2,272: Line 2,348:
Set to '''FF FF''' to maximize DVs, set to '''FA AA''' for a shiny male pokémon, set to '''2A AA''' for a shiny female (if possible) pokémon.
Set to '''FF FF''' to maximize DVs, set to '''FA AA''' for a shiny male pokémon, set to '''2A AA''' for a shiny female (if possible) pokémon.


{| class="wikitable"
{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
|-
Line 2,279: Line 2,355:
! scope="row"| English
! scope="row"| English
||
||
01 0F 00 11 01 DF 21 61 DD C3 1A 31 21 F5 D0 01
F3 01 12 00 11 79 D7 21 63 DD CD 1A 31 D9 21 16
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10
D1 3E 01 AE 20 08 21 F5 D0 01 '''FA AA''' 71 23 70 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 26 30 21 0C D2 01
3E 03 01 12 00 11 D0 BF 21 8E D2 C3 CF 65 21 2D
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D2 3E 01 AE 20 08 21 0C D2 01 '''FA AA''' 71 23 70 00
|-
|-
! scope="row" | French
! scope="row" | French
||
||
01 0F 00 11 01 DF 21 61 DD C3 2C 31 21 F5 D0 01
F3 01 12 00 11 79 D7 21 63 DD CD 2C 31 D9 21 16
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D1 3E 01 AE 20 08 21 F5 D0 01 '''FA AA''' 71 23 70 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 13 30 21 0C D2 01
3E 03 01 12 00 11 D0 BF 21 8E D2 C3 A4 65 21 2D
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D2 3E 01 AE 20 08 21 0C D2 01 '''FA AA''' 71 23 70 00
|-
|-
! scope="row"| German
! scope="row"| German
||
||
01 0F 00 11 01 DF 21 61 DD C3 47 31 21 F5 D0 01
F3 01 12 00 11 79 D7 21 63 DD CD 47 31 D9 21 16
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D1 3E 01 AE 20 08 21 F5 D0 01 '''FA AA''' 71 23 70 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 10 30 21 0C D2 01
3E 03 01 12 00 11 D0 BF 21 8E D2 C3 D3 65 21 2D
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D2 3E 01 AE 20 08 21 0C D2 01 '''FA AA''' 71 23 70 00
|-
|-
! scope="row"| Italian
! scope="row"| Italian
||
||
01 0F 00 11 01 DF 21 61 DD C3 3F 31 21 F5 D0 01
F3 01 12 00 11 79 D7 21 63 DD CD 3F 31 D9 21 16
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D1 3E 01 AE 20 08 21 F5 D0 01 '''FA AA''' 71 23 70 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 14 30 21 0C D2 01
3E 03 01 12 00 11 D0 BF 21 8E D2 C3 D1 65 21 2D
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D2 3E 01 AE 20 08 21 0C D2 01 '''FA AA''' 71 23 70 00
|-
|-
! scope="row"| Spanish
! scope="row"| Spanish
||
||
01 0F 00 11 01 DF 21 61 DD C3 3E 31 21 F5 D0 01
F3 01 12 00 11 79 D7 21 63 DD CD 3E 31 D9 21 16
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D1 3E 01 AE 20 08 21 F5 D0 01 '''FA AA''' 71 23 70 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 10 30 21 0C D2 01
3E 03 01 12 00 11 D0 BF 21 8E D2 C3 A1 65 21 2D
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D2 3E 01 AE 20 08 21 0C D2 01 '''FA AA''' 71 23 70 00
|-
|-
! scope="row"| Japanese
! scope="row"| Japanese
||
||
01 0F 00 11 01 DF 21 D2 DC C3 D6 30 21 E7 D0 01
F3 01 12 00 11 6C D7 21 D3 DC CD D6 30 D9 21 08
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D1 3E 01 AE 20 08 21 E7 D0 01 '''FA AA''' 71 23 70 00
||
||
01 0F 00 11 00 C0 21 BD D2 C3 F2 2F 21 3D D2 01
3E 03 01 12 00 11 D0 BF 21 BF D2 C3 8C 68 21 5E
'''FA AA''' 71 23 70 00 00 00 00 00 00 10 10 10 10 10
D2 3E 01 AE 20 08 21 3D D2 01 '''FA AA''' 71 23 70 00
|-
|-
! scope="row"| Korean
! scope="row"| Korean
||
||
01 0F 00 11 F2 D7 21 5E DE C3 C2 31 21 B2 D1 01
F3 01 12 00 11 0C D8 21 60 DE CD C2 31 D9 21 D3
'''FA AA''' 71 23 70 00 00 00 00 00 00 00 00 00 00 00
D1 3E 01 AE 20 08 21 B4 D0 01 '''FA AA''' 71 23 70 00
|}
|}


===Catch a trainer's pokémon===
====Force encounters with a specific pokémon at a specific level====


Executing this code, while an OAM DMA hijack was set up, will trigger the following effects:
Executing this code, while an OAM DMA hijack was set up, will trigger the following effects:
* All opponent pokémon will be altered to the selected species and the selected level.
* When in a trainer battle, press select. This will turn the trainer battle into a wild encounter battle, allowing you to catch the opponent's current active pokémon.
* This does not affect any trainer pokémon
* After catching or defeating the current active pokémon, the battle will end. You won't receive prize money, but the trainer will be registered as beaten.
* The DVs of this wild pokémon is still randomized like usual, making it possible to shiny hunt it.
* Pokémon caught this way will not have any moves. Use TMs or use another ACE code to give them moves they can use.


Customizability: the two values marked in bold determine the species and level that all encountered pokémon will be set to. These values are divided and ordered as follows:
{| class="wikitable"
# '''96''' - Pokédex number
# '''46''' - Level
By converting the pokédex number/level of the desired encounter to their hexadecimal equivalents, you can force specific encounters. For example, selecting a pokédex number of $96 (150) and level of $64 (70) will force encounters with a lvl 70 Mewtwo.

{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
|-
Line 2,345: Line 2,426:
! scope="row"| English
! scope="row"| English
||
||
01 0F 00 11 01 DF 21 61 DD C3 1A 31 F0 A6 E6 04
F3 01 12 00 11 79 D7 21 63 DD CD 1A 31 D9 21 16
28 09 21 16 D1 3E 02 AE C0 35 00 10 10 10 10 10
D1 3E 01 AE 20 0A 01 '''96 46''' 21 ED D0 71 2E 13 70
||
||
01 0F 00 11 00 C0 21 8C D2 C3 26 30 F0 A4 E6 04
3E 03 01 12 00 11 D0 BF 21 8E D2 C3 CF 65 21 2D
28 09 21 2D D2 3E 02 AE C0 35 00 10 10 10 10 10
D2 3E 01 AE 20 0A 01 '''96 46''' 21 04 D2 71 2E 13 70
|-
|-
! scope="row" | French
! scope="row" | French
||
||
01 0F 00 11 01 DF 21 61 DD C3 2C 31 F0 A6 E6 04
F3 01 12 00 11 79 D7 21 63 DD CD 2C 31 D9 21 16
28 09 21 16 D1 3E 02 AE C0 35 00 10 10 10 10 10
D1 3E 01 AE 20 0A 01 '''96 46''' 21 ED D0 71 2E 13 70
||
||
01 0F 00 11 00 C0 21 8C D2 C3 13 30 F0 A4 E6 04
3E 03 01 12 00 11 D0 BF 21 8E D2 C3 A4 65 21 2D
28 09 21 2D D2 3E 02 AE C0 35 00 10 10 10 10 10
D2 3E 01 AE 20 0A 01 '''96 46''' 21 04 D2 71 2E 13 70
|-
|-
! scope="row"| German
! scope="row"| German
||
||
01 0F 00 11 01 DF 21 61 DD C3 47 31 F0 A6 E6 04
F3 01 12 00 11 79 D7 21 63 DD CD 47 31 D9 21 16
28 09 21 16 D1 3E 02 AE C0 35 00 10 10 10 10 10
D1 3E 01 AE 20 0A 01 '''96 46''' 21 ED D0 71 2E 13 70
||
||
01 0F 00 11 00 C0 21 8C D2 C3 10 30 F0 A4 E6 04
3E 03 01 12 00 11 D0 BF 21 8E D2 C3 D3 65 21 2D
28 09 21 2D D2 3E 02 AE C0 35 00 10 10 10 10 10
D2 3E 01 AE 20 0A 01 '''96 46''' 21 04 D2 71 2E 13 70
|-
|-
! scope="row"| Italian
! scope="row"| Italian
||
||
01 0F 00 11 01 DF 21 61 DD C3 3F 31 F0 A6 E6 04
F3 01 12 00 11 79 D7 21 63 DD CD 3F 31 D9 21 16
28 09 21 16 D1 3E 02 AE C0 35 00 10 10 10 10 10
D1 3E 01 AE 20 0A 01 '''96 46''' 21 ED D0 71 2E 13 70
||
||
01 0F 00 11 00 C0 21 8C D2 C3 14 30 F0 A4 E6 04
3E 03 01 12 00 11 D0 BF 21 8E D2 C3 D1 65 21 2D
28 09 21 2D D2 3E 02 AE C0 35 00 10 10 10 10 10
D2 3E 01 AE 20 0A 01 '''96 46''' 21 04 D2 71 2E 13 70
|-
|-
! scope="row"| Spanish
! scope="row"| Spanish
||
||
01 0F 00 11 01 DF 21 61 DD C3 3E 31 F0 A6 E6 04
F3 01 12 00 11 79 D7 21 63 DD CD 3E 31 D9 21 16
28 09 21 16 D1 3E 02 AE C0 35 00 10 10 10 10 10
D1 3E 01 AE 20 0A 01 '''96 46''' 21 ED D0 71 2E 13 70
||
||
01 0F 00 11 00 C0 21 8C D2 C3 10 30 F0 A4 E6 04
3E 03 01 12 00 11 D0 BF 21 8E D2 C3 A1 65 21 2D
28 09 21 2D D2 3E 02 AE C0 35 00 10 10 10 10 10
D2 3E 01 AE 20 0A 01 '''96 46''' 21 04 D2 71 2E 13 70
|-
|-
! scope="row"| Japanese
! scope="row"| Japanese
||
||
01 0F 00 11 01 DF 21 D2 DC C3 D6 30 F0 A6 E6 04
F3 01 12 00 11 6C D7 21 D3 DC CD D6 30 D9 21 08
28 09 21 08 D1 3E 02 AE C0 35 00 10 10 10 10 10
D1 3E 01 AE 20 0A 01 '''96 46''' 21 DF D0 71 2E 13 70
||
||
01 0F 00 11 00 C0 21 BD D2 C3 F2 2F F0 A6 E6 04
3E 03 01 12 00 11 D0 BF 21 BF D2 C3 8C 68 21 5E
28 09 21 5E D2 3E 02 AE C0 35 00 10 10 10 10 10
D2 3E 01 AE 20 0A 01 '''96 46''' 21 35 D2 71 2E 13 70
|-
|-
! scope="row"| Korean
! scope="row"| Korean
||
||
01 0F 00 11 F2 D7 21 5E DE C3 C2 31 F0 A6 E6 04
F3 01 12 00 11 0C D8 21 60 DE CD C2 31 D9 21 D3
28 09 21 D3 D1 3E 02 AE C0 35 00 00 00 00 00 00
D1 3E 01 AE 20 0A 01 '''96 46''' 21 AA D1 71 2E 13 70
|}
|}


===3nd constant effect slot===
===Force encounters with a specific pokémon at a specific level===

====Enable use of RAM Writer in battle====


Executing this code, while an OAM DMA hijack was set up, will trigger the following effects:
Executing this code, while an OAM DMA hijack was set up, will trigger the following effects:
* In battle, you select the wrong pocket TM that is used to activate the RAM Writer, the index of the cursor so that pressing A will activate the RAM Writer.
* All opponent pokémon will be altered to the selected species and the selected level.
* This counts as using an item, meaning that the opponent's turn starts immediately after closing the RAM Writer.
* As a side effect, all trainer pokémon will become hybrids of the selected species and their original species, with their level altered to the selected level. It is not advised to battle against trainers while the effect is active.


{| class="wikitable"
Customizability: the two values marked in bold determine the species and level that all encountered pokémon will be set to. These values are divided and ordered as follows:
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
# '''96''' - Pokédex number
|-
# '''46''' - Level
! Language !! Gold & Silver !! Crystal
By converting the pokédex number/level of the desired encounter to their hexadecimal equivalents, you can force specific encounters. For example, selecting a pokédex number of $96 (150) and level of $64 (70) will force encounters with a lvl 70 Mewtwo.
|-
! scope="row"| English
||
F3 01 11 00 11 8B D7 21 63 DD CD 1A 31 D9 FA AB
CE FE E1 C0 FA C2 CE FE 90 C0 3E 0D EA E0 CE
||
3E 03 01 11 00 11 E2 BF 21 8E D2 C3 CF 65 FA 8B
CF FE 90 C0 FA 74 CF FE D0 C0 3E 0D EA A9 CF
|-
! scope="row" | French
||
F3 01 11 00 11 8B D7 21 63 DD CD 2C 31 D9 FA AB
CE FE E1 C0 FA C2 CE FE 91 C0 3E 0D EA E0 CE
||
3E 03 01 11 00 11 E2 BF 21 8E D2 C3 A4 65 FA 74
CF FE D0 C0 FA 8B CF FE 91 C0 3E 0D EA A9 CF
|-
! scope="row"| German
||
F3 01 11 00 11 8B D7 21 63 DD CD 47 31 D9 FA AB
CE FE E1 C0 FA C2 CE FE 99 C0 3E 0D EA E0 CE
||
3E 03 01 11 00 11 E2 BF 21 8E D2 C3 D3 65 FA 74
CF FE D0 C0 FA 8B CF FE 99 C0 3E 0D EA A9 CF
|-
! scope="row"| Italian
||
F3 01 11 00 11 8B D7 21 63 DD CD 3F 31 D9 FA AB
CE FE E1 C0 FA C2 CE FE 84 C0 3E 0D EA E0 CE
||
3E 03 01 11 00 11 E2 BF 21 8E D2 C3 D1 65 FA 74
CF FE D0 C0 FA 8B CF FE 84 C0 3E 0D EA A9 CF
|-
! scope="row"| Spanish
||
F3 01 11 00 11 8B D7 21 63 DD CD 3E 31 D9 FA AB
CE FE E1 C0 FA C2 CE FE 92 C0 3E 0D EA E0 CE
||
3E 03 01 11 00 11 E2 BF 21 8E D2 C3 A1 65 FA 74
CF FE D0 C0 FA 8B CF FE 92 C0 3E 0D EA A9 CF
|-
! scope="row"| Japanese
||
F3 01 11 00 11 7E D7 21 D4 DC CD D6 30 D9 FA DF
CE FE E1 C0 FA F6 CE FE D4 C0 3E 0D EA 14 CF
||
3E 03 01 11 00 11 E2 BF 21 BF D2 C3 8C 68 FA 68
CF FE D0 C0 FA 7F CF FE D4 C0 3E 0D EA 9D CF
|-
! scope="row"| Korean
||
F3 01 12 00 11 0C D8 21 60 DE CD C2 31 D9 FA 80
CE FE F1 C0 FA 92 CE FE C0 C0 3E 0D EA B5 CE
|}


===Cleanup===
{| class="wikitable"

Use the following codes to safely remove all contents of specific OAM DMA hijack slots. Use this if you no longer wish to use a specific effect.

====Clear slot 1====

{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
|-
Line 2,415: Line 2,558:
! scope="row"| English
! scope="row"| English
||
||
01 0F 00 11 01 DF 21 61 DD C3 1A 31 01 '''96 46''' 21
F3 AF 21 5C D7 01 1D 00 CD 4C 31 D9
35 D1 71 2E 44 70 00 00 00 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 26 30 01 '''96 46''' 21
3E 03 CD CB 2F AF 21 B3 BF 01 1D 00 C3 41 30
04 D2 71 2E 13 70 00 00 00 00 00
|-
|-
! scope="row" | French
! scope="row" | French
||
||
01 0F 00 11 01 DF 21 61 DD C3 2C 31 01 '''96 46''' 21
F3 AF 21 5C D7 01 1D 00 CD 5E 31 D9
ED D0 71 2E FC 70 00 00 00 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 13 30 01 '''96 46''' 21
3E 03 CD B8 2F AF 21 B3 BF 01 1D 00 C3 2E 30
04 D2 71 2E 13 70 00 00 00 00 00
|-
|-
! scope="row"| German
! scope="row"| German
||
||
01 0F 00 11 01 DF 21 61 DD C3 47 31 01 '''96 46''' 21
F3 AF 21 5C D7 01 1D 00 CD 79 31 D9
ED D0 71 2E FC 70 00 00 00 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 10 30 01 '''96 46''' 21
3E 03 CD B5 2F AF 21 B3 BF 01 1D 00 C3 2B 30
04 D2 71 2E 13 70 00 00 00 00 00
|-
|-
! scope="row"| Italian
! scope="row"| Italian
||
||
01 0F 00 11 01 DF 21 61 DD C3 3F 31 01 '''96 46''' 21
F3 AF 21 5C D7 01 1D 00 CD 71 31 D9
ED D0 71 2E FC 70 00 00 00 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 14 30 01 '''96 46''' 21
3E 03 CD B9 2F AF 21 B3 BF 01 1D 00 C3 2F 30
04 D2 71 2E 13 70 00 00 00 00 00
|-
|-
! scope="row"| Spanish
! scope="row"| Spanish
||
||
01 0F 00 11 01 DF 21 61 DD C3 3E 31 01 '''96 46''' 21
F3 AF 21 5C D7 01 1D 00 CD 70 31 D9
ED D0 71 2E FC 70 00 00 00 00 00
||
||
01 0F 00 11 00 C0 21 8C D2 C3 10 30 01 '''96 46''' 21
3E 03 CD B5 2F AF 21 B3 BF 01 1D 00 C3 2B 30
04 D2 71 2E 13 70 00 00 00 00 00
|-
|-
! scope="row"| Japanese
! scope="row"| Japanese
||
||
01 0F 00 11 01 DF 21 D2 DC C3 D6 30 01 '''96 46''' 21
F3 AF 21 4F D7 01 1D 00 CD 08 31 D9
DF D0 71 2E EE 70 00 00 00 00 00
||
||
01 0F 00 11 00 C0 21 BD D2 C3 F2 2F 01 '''96 46''' 21
3E 03 CD 9D 2F AF 21 B3 BF 01 1D 00 C3 0D 30
35 D2 71 2E 44 70 00 00 00 00 00
|-
|-
! scope="row"| Korean
! scope="row"| Korean
||
||
01 0F 00 11 F2 D7 21 5E DE C3 C2 31 01 '''96 46''' 21
F3 AF 21 EF D7 01 1D 00 CD F4 31 D9
AA D1 71 2E B9 70 00 00 00 00 00
|}
|}


====Clear slot 2====
===Clearing an active constant effect code===


{| class="wikitable"
This codes can be used to quickly and safely clear a constant effect that is no longer wanted.
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Gold & Silver !! Crystal
|-
! scope="row"| English
||
F3 AF 21 79 D7 01 12 00 CD 4C 31 D9
||
3E 03 CD CB 2F AF 21 D0 BF 01 12 00 C3 41 30
|-
! scope="row" | French
||
F3 AF 21 79 D7 01 12 00 CD 5E 31 D9
||
3E 03 CD B8 2F AF 21 D0 BF 01 12 00 C3 2E 30
|-
! scope="row"| German
||
F3 AF 21 79 D7 01 12 00 CD 79 31 D9
||
3E 03 CD B5 2F AF 21 D0 BF 01 12 00 C3 2B 30
|-
! scope="row"| Italian
||
F3 AF 21 79 D7 01 12 00 CD 71 31 D9
||
3E 03 CD B9 2F AF 21 D0 BF 01 12 00 C3 2F 30
|-
! scope="row"| Spanish
||
F3 AF 21 79 D7 01 12 00 CD 70 31 D9
||
3E 03 CD B5 2F AF 21 D0 BF 01 12 00 C3 2B 30
|-
! scope="row"| Japanese
||
F3 AF 21 6C D7 01 12 00 CD 08 31 D9
||
3E 03 CD 9D 2F AF 21 D0 BF 01 12 00 C3 0D 30
|-
! scope="row"| Korean
||
F3 AF 21 0C D8 01 12 00 CD F4 31 D9
|}

====Clear slot 3====


{| class="wikitable"
{| class="wikitable"
Line 2,478: Line 2,654:
! scope="row"| English
! scope="row"| English
||
||
AF 01 0F 00 21 01 DF C3 4C 31
F3 AF 21 8B D7 01 11 00 CD 4C 31 D9
||
||
AF 01 0F 00 21 00 C0 C3 41 30
3E 03 CD CB 2F AF 21 E2 BF 01 11 00 C3 41 30
|-
|-
! scope="row" | French
! scope="row" | French
||
||
AF 01 0F 00 21 01 DF C3 5E 31
F3 AF 21 8B D7 01 11 00 CD 5E 31 D9
||
||
AF 01 0F 00 21 00 C0 C3 2E 30
3E 03 CD B8 2F AF 21 E2 BF 01 11 00 C3 2E 30
|-
|-
! scope="row"| German
! scope="row"| German
||
||
AF 01 0F 00 21 01 DF C3 79 31
F3 AF 21 8B D7 01 11 00 CD 79 31 D9
||
||
AF 01 0F 00 21 00 C0 C3 2B 30
3E 03 CD B5 2F AF 21 E2 BF 01 11 00 C3 2B 30
|-
|-
! scope="row"| Italian
! scope="row"| Italian
||
||
AF 01 0F 00 21 01 DF C3 71 31
F3 AF 21 8B D7 01 11 00 CD 71 31 D9
||
||
AF 01 0F 00 21 00 C0 C3 2F 30
3E 03 CD B9 2F AF 21 E2 BF 01 11 00 C3 2F 30
|-
|-
! scope="row"| Spanish
! scope="row"| Spanish
||
||
AF 01 0F 00 21 01 DF C3 70 31
F3 AF 21 8B D7 01 11 00 CD 70 31 D9
||
3E 03 CD B5 2F AF 21 E2 BF 01 11 00 C3 2B 30
|-
! scope="row"| Japanese
||
F3 AF 21 7E D7 01 11 00 CD 08 31 D9
||
3E 03 CD 9D 2F AF 21 E2 BF 01 11 00 C3 0D 30
|-
! scope="row"| Korean
||
F3 AF 21 1E D8 01 11 00 CD F4 31 D9
|}

===Fixing issues===

====Reactivate constant effects====

When the game sets up a normal Special Call, it will overwrite the invalid call ID that we've set up. Use this code to restore the functionality of the setup.

{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Gold & Silver !! Crystal
|-
! scope="row"| English
||
3E 8C EA 7B D9 C9
||
3E 9C EA 31 DC C9
|-
! scope="row" | French
||
3E 33 EA 7B D9 C9
||
3E 9B EA 31 DC C9
|-
! scope="row"| German
||
3E 33 EA 7B D9 C9
||
3E ED EA 31 DC C9
|-
! scope="row"| Italian
||
3E 33 EA 7B D9 C9
||
3E EB EA 31 DC C9
|-
! scope="row"| Spanish
||
3E 33 EA 7B D9 C9
||
3E A5 EA 31 DC C9
|-
! scope="row"| Japanese
||
3E DB EA 41 D9 C9
||
3E 68 EA F7 DB C9
|-
! scope="row"| Korean
||
3E CD EA 7E DA C9
|}

====Deactivate constant effects====

If you no longer wish to use the OAM DMA Hijack setup, you can use this code to simply remove the invalid call ID, deactivating the setup. The remainder of the setup is left intact and can, if needed, easily be reactivated using the previous code.

{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Gold & Silver !! Crystal
|-
! scope="row"| All other languages
||
AF EA 7B D9 C9
||
AF EA 31 DC C9
|-
! scope="row"| Japanese
||
AF EA 41 D9 C9
||
AF EA F7 DB C9
|-
! scope="row"| Korean
||
AF EA 7E DA C9
|}

====Reset bootstrap====

In case the setup malfunctions, you can use this code to repair the setup's bootstrap code. This is especially relevant for German Crystal and Japanese Crystal, whose setups are slightly more volatile.

{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Gold & Silver !! Crystal
|-
! scope="row"| English
||
21 30 D8 3E C3 22 3E A5 22 36 D7 C9
||
Not applicable
|-
! scope="row" | French
||
21 30 D8 3E C3 22 3E A5 22 36 D7 C9
||
21 FB 3E 25 22 36 E9 C9
|-
! scope="row"| German
||
21 30 D8 3E C3 22 3E A5 22 36 D7 C9
||
21 0A FA 3E 18 22 36 15 C9
|-
! scope="row"| Italian
||
21 30 D8 3E C3 22 3E A5 22 36 D7 C9
||
21 AA DA 3E C3 22 3E 21 22 36 DA C9
|-
! scope="row"| Spanish
||
21 30 D8 3E C3 22 3E A5 22 36 D7 C9
||
21 E5 DA 3E C3 22 3E 21 22 36 DA C9
|-
! scope="row"| Japanese
||
21 CF D1 3E C3 22 3E 98 22 36 D7 C9
||
21 BA DE 3E C3 22 3E 26 22 36 DA C9
|-
! scope="row"| Korean
||
21 EA D9 3E C3 22 3E 38 22 36 D8 C9
|}

====Manually activate constant effects====

This code manually activates the OAM DMA Hijack setup without needing to take at least one step. Use this if saved and reset at a location surrounded by solid tiles.

{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Gold & Silver !! Crystal
|-
! scope="row"| All other languages
||
C3 A5 D7
||
||
C3 21 DA
AF 01 0F 00 21 00 C0 C3 2B 30
|-
|-
! scope="row"| Japanese
! scope="row"| Japanese
||
||
C3 98 D7
AF 01 0F 00 21 01 DF C3 08 31
||
||
C3 26 DA
AF 01 0F 00 21 00 C0 C3 0D 30
|-
|-
! scope="row"| Korean
! scope="row"| Korean
||
||
C3 38 D8
AF 01 0F 00 21 F2 D7 C3 F4 31
|}
|}