Guides:Mail Writer Codes: Difference between revisions
m
→Force a trade evolution to occur
(32 intermediate revisions by the same user not shown) | |||
Line 185:
|}
==Changing party pokémon #
===Change held item===
Changes the held item of party pokémon #
Customizability: The value marked in bold determines the held item given to party pokémon. Use [[The Big HEX List|the Big HEX List]] to search what values correspond with specific items.
Line 200:
! scope="row"| English
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row" | French
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row"| German
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row"| Italian
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row"| Spanish
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row"| Japanese
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row"| Korean
||
3E '''01''' EA
|}
===Change moves===
Using this mail code will overwrite party pokémon #
Customizability: The four value marked in bold correspond to the moves that will be given to the pokémon. First value corresponds with first move, and so on. Use [[The Big HEX List|the Big HEX List]] to search what values correspond with specific items.
Line 252:
! scope="row"| English
||
01 04 00 11
||
01 04 00 11
|-
! scope="row" | French
||
01 04 00 11
||
01 04 00 11
|-
! scope="row"| German
||
01 04 00 11
||
01 04 00 11
|-
! scope="row"| Italian
||
01 04 00 11
||
01 04 00 11
|-
! scope="row"| Spanish
||
01 04 00 11
||
01 04 00 11
|-
! scope="row"| Japanese
||
01 04 00 11
||
01 04 00 11
|-
! scope="row"| Korean
||
01 04 00 11
|}
Line 306:
! scope="row"| English
||
21
||
21
|-
! scope="row" | French
||
21
||
21
|-
! scope="row"| German
||
21
||
21
|-
! scope="row"| Italian
||
21
||
21
|-
! scope="row"| Spanish
||
21
||
21
|-
! scope="row"| Japanese
||
21
||
21
|-
! scope="row"| Korean
||
21
|}
===Change OT ID===
Using this mail code will alter the original trainer ID of party pokémon #
Customizability: The values in bold determine the OT ID that party pokémon #
{| class="wikitable"
Line 358:
! scope="row"| English
||
01 '''FF FF''' 21
||
01 '''FF FF''' 21
|-
! scope="row" | French
||
01 '''FF FF''' 21
||
01 '''FF FF''' 21
|-
! scope="row"| German
||
01 '''FF FF''' 21
||
01 '''FF FF''' 21
|-
! scope="row"| Italian
||
01 '''FF FF''' 21
||
01 '''FF FF''' 21
|-
! scope="row"| Spanish
||
01 '''FF FF''' 21
||
01 '''FF FF''' 21
|-
! scope="row"| Japanese
||
01 '''FF FF''' 21
||
01 '''FF FF''' 21
|-
! scope="row"| Korean
||
01 '''FF FF''' 21
|}
===Change level===
Using this mailcode sets the level of party pokémon #
Customizability: change the value marked in bold with the value corresponding to the desired level.
Line 410:
! scope="row"| English
||
3E '''64''' 3D EA
22 36 05 C3 70 6F
||
3E '''64''' 3D EA
22 36 05 C3 6E 6F
||
3E '''64''' 3D EA
22 36 05 C3 1C 6F
|-
! scope="row" | French
||
3E '''64''' 3D EA
22 36 05 C3 43 6F
||
3E '''64''' 3D EA
22 36 05 C3 41 6F
||
3E '''64''' 3D EA
22 36 05 C3 C1 6E
|-
! scope="row"| German
||
3E '''64''' 3D EA
22 36 05 C3 3B 6F
||
3E '''64''' 3D EA
22 36 05 C3 39 6F
||
3E '''64''' 3D EA
22 36 05 C3 EB 6E
|-
! scope="row"| Italian
||
3E '''64''' 3D EA
22 36 05 C3 43 6F
||
3E '''64''' 3D EA
22 36 05 C3 3F 6F
||
3E '''64''' 3D EA
22 36 05 C3 F2 6E
|-
! scope="row"| Spanish
||
3E '''64''' 3D EA
22 36 05 C3 43 6F
||
3E '''64''' 3D EA
22 36 05 C3 41 6F
||
3E '''64''' 3D EA
22 36 05 C3 C1 6E
|-
! scope="row"| Japanese
| colspan="2" |
3E '''64''' 3D EA
22 36 05 C3 20 73
||
3E '''64''' 3D EA
22 36 05 C3 6A 72
|-
! scope="row"| Korean
| colspan="2" |
3E '''64''' 3D EA
22 36 05 C3 30 6F
|}
===Change stat experience===
Using this mail code sets the stat experience values of party pokémon #
Customizability: the ten values marked in bold determine the stat experience that party pokémon #
# '''FF FF''' - HP
# '''FF FF''' - Attack
Line 496:
! scope="row"| English
||
01 0A 00 11
'''FF FF FF FF FF FF'''
||
01 0A 00 11
'''FF FF FF FF FF FF'''
|-
! scope="row" | French
||
01 0A 00 11
'''FF FF FF FF FF FF'''
||
01 0A 00 11
'''FF FF FF FF FF FF'''
|-
! scope="row"| German
||
01 0A 00 11
'''FF FF FF FF FF FF'''
||
01 0A 00 11
'''FF FF FF FF FF FF'''
|-
! scope="row"| Italian
||
01 0A 00 11
'''FF FF FF FF FF FF'''
||
01 0A 00 11
'''FF FF FF FF FF FF'''
|-
! scope="row"| Spanish
||
01 0A 00 11
'''FF FF FF FF FF FF'''
||
01 0A 00 11
'''FF FF FF FF FF FF'''
|-
! scope="row"| Japanese
||
01 0A 00 11
'''FF FF FF FF FF FF'''
||
01 0A 00 11
'''FF FF FF FF FF FF'''
|-
! scope="row"| Korean
||
01 0A 00 11
'''FF FF FF FF FF FF'''
|}
===Change DVs===
Using this mail code sets the DVs of party pokémon #
Customizability: the two values marked in bold determine the DVs that party pokémon #
# '''FA''' - Attack | Defense
# '''AA''' - Speed | Special
Line 564:
! scope="row"| English
||
01 '''FA AA''' 21
||
01 '''FA AA''' 21
|-
! scope="row" | French
||
01 '''FA AA''' 21
||
01 '''FA AA''' 21
|-
! scope="row"| German
||
01 '''FA AA''' 21
||
01 '''FA AA''' 21
|-
! scope="row"| Italian
||
01 '''FA AA''' 21
||
01 '''FA AA''' 21
|-
! scope="row"| Spanish
||
01 '''FA AA''' 21
||
01 '''FA AA''' 21
|-
! scope="row"| Japanese
||
01 '''FA AA''' 21
||
01 '''FA AA''' 21
|-
! scope="row"| Korean
||
01 '''FA AA''' 21
|}
===Change level, stat experience and DVs in one code===
Using this mailcode sets the level, along with stat experience and DVs, of party pokémon #
Customizability: change the value marked in bold on the first line with the value corresponding to the desired level.
The first ten values marked in bold on the second & third lines determine the stat experience that party pokémon #
# '''FF FF''' - HP
# '''FF FF''' - Attack
Line 617:
These values are big endian (most significant byte first). Set them to '''FF FF''' to maximize the stat experience given.
The last two values marked in bold on the last line determine the DVs that party pokémon #
# '''FA''' - Attack | Defense
# '''AA''' - Speed | Special
Line 629:
! scope="row"| English
||
01 0C 00 11
70 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
6E 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
1C 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
|-
! scope="row" | French
||
01 0C 00 11
43 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
41 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
C1 6E '''FF FF FF FF FF FF FF FF FF FF FA AA'''
|-
! scope="row"| German
||
01 0C 00 11
3B 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
39 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
EB 6E '''FF FF FF FF FF FF FF FF FF FF FA AA'''
|-
! scope="row"| Italian
||
01 0C 00 11
43 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
3F 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
F2 6E '''FF FF FF FF FF FF FF FF FF FF FA AA'''
|-
! scope="row"| Spanish
||
01 0C 00 11
43 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
41 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
C1 6E '''FF FF FF FF FF FF FF FF FF FF FA AA'''
|-
! scope="row"| Japanese
| colspan="2" |
01 0C 00 11
20 73 '''FF FF FF FF FF FF FF FF FF FF FA AA'''
||
01 0C 00 11
6A 72 '''FF FF FF FF FF FF FF FF FF FF FA AA'''
|-
! scope="row"| Korean
| colspan="2" |
01 0C 00 11
30 6F '''FF FF FF FF FF FF FF FF FF FF FA AA'''
|}
===Change happiness/time to hatch===
Using this mail code sets the happiness value of party pokémon #
Customizability: change the value marked in bold on the first line with the value corresponding to the desired happiness/egg cycles left before hatching.
Line 727:
! scope="row"| English
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row" | French
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row"| German
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row"| Italian
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row"| Spanish
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row"| Japanese
||
3E '''01''' EA
||
3E '''01''' EA
|-
! scope="row"| Korean
||
3E '''01''' EA
|}
===Give PokéRus===
Using this mail code will give party pokémon #
{| class="wikitable"
Line 777:
! scope="row"| English
||
3E 73 EA
||
3E 73 EA
|-
! scope="row" | French
||
3E 73 EA
||
3E 73 EA
|-
! scope="row"| German
||
3E 73 EA
||
3E 73 EA
|-
! scope="row"| Italian
||
3E 73 EA
||
3E 73 EA
|-
! scope="row"| Spanish
||
3E 73 EA
||
3E 73 EA
|-
! scope="row"| Japanese
||
3E 73 EA
||
3E 73 EA
|-
! scope="row"| Korean
||
3E 73 EA
|}
===Change OT name===
{| class="wikitable"
Line 827:
! scope="row"| English
||
06 01 11 80 DD D5 3E 04 21 A3 5A CF E1 11
01 08 00 C3 1A 31
||
06 01 11 96 D2 D5 3E 04 21 B7 56 CF E1 11
01 08 00 C3 26 30
|-
! scope="row" | French
||
06 01 11 80 DD D5 3E 04 21 A2 5A CF E1 11
01 08 00 C3
||
06 01 11 96 D2 D5 3E 04 21 B6 56 CF E1 11
01 08 00 C3
|-
! scope="row"| German
||
06 01 11 80 DD D5 3E 04 21 9A 5A CF E1 11
01 08 00 C3
||
06 01 11 96 D2 D5 3E 04 21 AE 56 CF E1 11
01 08 00 C3
|-
! scope="row"| Italian
||
06 01 11 80 DD D5 3E 04 21 A2 5A CF E1 11
01 08 00 C3
||
06 01 11 96 D2 D5 3E 04 21 B6 56 CF E1 11
01 08 00 C3
|-
! scope="row"| Spanish
||
06 01 11 80 DD D5 3E 04 21 B6 5A CF E1 11
01 08 00 C3
||
06 01 11 96 D2 D5 3E 04 21 CA 56 CF E1 11
01 08 00 C3
|-
! scope="row"| Japanese
||
06 01 11 DC DC D5 3E 04 21 3D 5A CF E1 11
01 06 00 C3 D6 30
||
06 01 11 C7 D2 D5 3E 04 21 51 56 CF E1 11
01 06 00 C3 F2 2F
|-
! scope="row"| Korean
||
06 01 11 68 DE D5 3E 04 21 32 5A CF E1 11
01 0B 00 C3 C2 31
|}
===Change nickname===
{| class="wikitable"
Line 890:
! scope="row"| English
||
06 00 11 80 DD D5 3E 04 21 A3 5A CF E1 11
01 0B 00 C3 1A 31
||
06 00 11 96 D2 D5 3E 04 21 B7 56 CF E1 11
01 0B 00 C3 26 30
|-
! scope="row" | French
||
06 00 11 80 DD D5 3E 04 21 A3 5A CF E1 11
01 0B 00 C3
||
06 00 11 96 D2 D5 3E 04 21 B7 56 CF E1 11
01 0B 00 C3
|-
! scope="row"| German
||
06 00 11 80 DD D5 3E 04 21 A2 5A CF E1 11
01 0B 00 C3
||
06 00 11 96 D2 D5 3E 04 21 B6 56 CF E1 11
01 0B 00 C3
|-
! scope="row"| Italian
||
06 00 11 80 DD D5 3E 04 21 9A 5A CF E1 11
01 0B 00 C3
||
06 00 11 96 D2 D5 3E 04 21 AE 56 CF E1 11
01 0B 00 C3
|-
! scope="row"| Spanish
||
06 00 11 80 DD D5 3E 04 21 B6 5A CF E1 11
01 0B 00 C3
||
06 00 11 96 D2 D5 3E 04 21 CA 56 CF E1 11
01 0B 00 C3
|-
! scope="row"| Japanese
||
06 00 11 DC DC D5 3E 04 21 3D 5A CF E1 11
01 06 00 C3 D6 30
||
06 00 11 C7 D2 D5 3E 04 21 51 56 CF E1 11
01 06 00 C3 F2 2F
|-
! scope="row"| Korean
||
06 00 11 68 DE D5 3E 04 21 32 5A CF E1 11
01 0B 00 C3 C2 31
|}
Line 1,013:
! scope="row"| English
||
01 '''20 01''' 21 FD D5 71 23 70 C9 10 10 10 10 10 10
||
01 '''20 01''' 21 D8 D8 71 23 70 C9 10 10 10 10 10 10
|-
! scope="row" | French
||
01 '''20 01''' 21 FD D5 71 23 70 C9 10 10 10 10 10 10
||
01 '''20 01''' 21 D8 D8 71 23 70 C9 10 10 10 10 10 10
|-
! scope="row"| German
||
01 '''20 01''' 21 FD D5 71 23 70 C9 10 10 10 10 10 10
||
01 '''20 01''' 21 D8 D8 71 23 70 C9 10 10 10 10 10 10
|-
! scope="row"| Italian
||
01 '''20 01''' 21 FD D5 71 23 70 C9 10 10 10 10 10 10
||
01 '''20 01''' 21 D8 D8 71 23 70 C9 10 10 10 10 10 10
|-
! scope="row"| Spanish
||
01 '''20 01''' 21 FD D5 71 23 70 C9 10 10 10 10 10 10
||
01 '''20 01''' 21 D8 D8 71 23 70 C9 10 10 10 10 10 10
|-
! scope="row"| Japanese
Line 1,112:
||
21 AC D8 CB 86 C9
|}
===Respawn Sudowoodo===
This mail code respawns the static Sudowoodo encounter on route 36.
Please note that if you're on route 36 when using this code, Sudowoodo will temporarily be displayed with an incorrect twin girl trainer sprite.
Similarly, while Sudowoodo is active, the twin girl trainers on route 37 will use the Sudowoodo sprite instead of their normal sprites.
{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Gold & Silver !! Crystal
|-
! scope="row"| English
||
21 5B DD C3 48 27 32 2A 00 6E 04 6C 04 52 90
||
21 86 D2 C3 1F 26 32 2A 00 6F 04 6D 04 52 91
|-
! scope="row" | French
||
21 5B DD C3 5A 27 32 2A 00 6E 04 6C 04 52 90
||
21 86 D2 C3 00 26 32 2A 00 6F 04 6D 04 52 91
|-
! scope="row"| German
||
21 5B DD C3 75 27 32 2A 00 6E 04 6C 04 52 90
||
21 86 D2 C3 09 26 32 2A 00 6F 04 6D 04 52 91
|-
! scope="row"| Italian
||
21 5B DD C3 6D 27 32 2A 00 6E 04 6C 04 52 90
||
21 86 D2 C3 01 26 32 2A 00 6F 04 6D 04 52 91
|-
! scope="row"| Spanish
||
21 5B DD C3 6C 27 32 2A 00 6E 04 6C 04 52 90
||
21 86 D2 C3 FD 25 32 2A 00 6F 04 6D 04 52 91
|-
! scope="row"| Japanese
||
21 CC DC C3 F5 26 32 2A 00 6E 04 6C 04 52 90
||
21 B7 D2 C3 E2 25 32 2A 00 6E 04 6C 04 52 90
|-
! scope="row"| Korean
||
21 58 DE C3 A5 27 32 2A 00 6F 04 6D 04 52 91
|}
Line 1,663 ⟶ 1,717:
01 02 00 11 7A D5 21 61 DD C3 1A 31 27 0F
||
01 02 00 11
|-
! scope="row" | French
Line 1,669 ⟶ 1,723:
01 02 00 11 7A D5 21 61 DD C3 2C 31 27 0F
||
01 02 00 11
|-
! scope="row"| German
Line 1,675 ⟶ 1,729:
01 02 00 11 7A D5 21 61 DD C3 47 31 27 0F
||
01 02 00 11
|-
! scope="row"| Italian
Line 1,681 ⟶ 1,735:
01 02 00 11 7A D5 21 61 DD C3 3F 31 27 0F
||
01 02 00 11
|-
! scope="row"| Spanish
Line 1,687 ⟶ 1,741:
01 02 00 11 7A D5 21 61 DD C3 3E 31 27 0F
||
01 02 00 11
|-
! scope="row"| Japanese
Line 1,749 ⟶ 1,803:
! scope="row"| English
||
21 5B DD C3 48 27 47 2D '''
||
21 86 D2 C3 1F 26 47 2D '''
|-
! scope="row" | French
||
21 5B DD C3 5A 27 47 2D '''
||
21 86 D2 C3 00 26 47 2D '''
|-
! scope="row"| German
||
21 5B DD C3 75 27 47 2D '''
||
21 86 D2 C3 09 26 47 2D '''
|-
! scope="row"| Italian
||
21 5B DD C3 6D 27 47 2D '''
||
21 86 D2 C3 01 26 47 2D '''
|-
! scope="row"| Spanish
||
21 5B DD C3 6C 27 47 2D '''
||
21 86 D2 C3 FD 25 47 2D '''
|-
! scope="row"| Japanese
||
21 CC DC C3 F5 26 47 2D '''
||
21 B7 D2 C3 E2 25 47 2D '''
|-
! scope="row"| Korean
||
21 58 DE C3 A5 27 47 2D '''
|}
===Force a trade evolution to occur===
Using this mailcode opens a party menu and asks you to select a party pokémon. The game will then attempt to force a trade evolution for the selected pokémon.
Please note that a pokémon will only evolve if it fulfills the trade evolution requirement.
- It can evolve via trade.
- If the trade evolution requires an item, that item must be held by the selected pokémon.
Note: the party menu will show "NOT ABLE" for every party pokémon. This can be freely ignored and won't alter the effectiveness of the code.
{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Gold !! Silver !! Crystal
|-
! scope="row"| English
||
AF EA 02 D0 C6 02 EA 42 D0 C8 CD 63 6E AF 18 F6
||
AF EA 02 D0 C6 02 EA 42 D0 C8 CD 61 6E AF 18 F6
||
AF EA 06 D1 C6 02 EA DC C2 C8 CD 0F 6E AF 18 F6
|-
! scope="row" | French
||
AF EA 02 D0 C6 02 EA 42 D0 C8 CD 36 6E AF 18 F6
||
AF EA 02 D0 C6 02 EA 42 D0 C8 CD 34 6E AF 18 F6
||
AF EA 06 D1 C6 02 EA DC C2 C8 CD B4 6D AF 18 F6
|-
! scope="row"| German
||
AF EA 02 D0 C6 02 EA 42 D0 C8 CD 37 6E AF 18 F6
||
AF EA 02 D0 C6 02 EA 42 D0 C8 CD 35 6E AF 18 F6
||
AF EA 06 D1 C6 02 EA DC C2 C8 CD E3 6D AF 18 F6
|-
! scope="row"| Italian
||
AF EA 02 D0 C6 02 EA 42 D0 C8 CD 32 6E AF 18 F6
||
AF EA 02 D0 C6 02 EA 42 D0 C8 CD 2E 6E AF 18 F6
||
AF EA 06 D1 C6 02 EA DC C2 C8 CD E1 6D AF 18 F6
|-
! scope="row"| Spanish
||
AF EA 02 D0 C6 02 EA 42 D0 C8 CD 33 6E AF 18 F6
||
AF EA 02 D0 C6 02 EA 42 D0 C8 CD 31 6E AF 18 F6
||
AF EA 06 D1 C6 02 EA DC C2 C8 CD B1 6D AF 18 F6
|-
! scope="row"| Japanese
| colspan="2" |
AF EA FF CF C6 02 EA 3C D0 C8 CD FC 71 AF 18 F6
||
AF EA C9 D0 C6 02 EA DC C2 C8 CD 46 71 AF 18 F6
|-
! scope="row"| Korean
| colspan="2" |
AF EA C1 D0 C6 02 EA FD D0 C8 CD 24 6E AF 18 F6
|}
Line 1,849 ⟶ 1,969:
3E FF 01 40 00 21 E1 DC CD F4 31 AF 0E 1A 3C 22
0D 20 FB 2E 3C 36 01 2E 20 36 07 2E 00 36 07 C9
|}
===Turn wild encounters off===
This mail code turns off all random wild encounters. This state is preserved between saves.
To disable this effect, use the "Turn wild encounters on" code.
{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Gold & Silver !! Crystal
|-
! scope="row"| English
| rowspan="5" |
21 71 D5 CB EE C9
| rowspan="5" |
21 4C D8 CB EE C9
|-
! scope="row" | French
|-
! scope="row"| German
|-
! scope="row"| Italian
|-
! scope="row"| Spanish
|-
! scope="row"| Japanese
||
21 64 D5 CB EE C9
||
21 3F D8 CB EE C9
|-
! scope="row"| Korean
||
21 24 D6 CB EE C9
|}
===Turn wild encounters on===
This code reenables random wild encounters if these were previously disabled using the "Turn wild encounters off code".
If encounters weren't disabled, this code won't have any effect.
{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Gold & Silver !! Crystal
|-
! scope="row"| English
| rowspan="5" |
21 71 D5 CB AE C9
| rowspan="5" |
21 4C D8 CB AE C9
|-
! scope="row" | French
|-
! scope="row"| German
|-
! scope="row"| Italian
|-
! scope="row"| Spanish
|-
! scope="row"| Japanese
||
21 64 D5 CB AE C9
||
21 3F D8 CB AE C9
|-
! scope="row"| Korean
||
21 24 D6 CB AE C9
|}
Line 2,050 ⟶ 2,242:
==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.
===Updating the Mail Writer (compatibility with old setups)===
In the past, a code was made to move the Mail Writer from the TM/HM pocket to unused memory. Due to practical limitations, if you used the old moving code (prior to the 2nd of May 2024), installing the OAM DMA Hijack setup will break the Mail Writer.
If you fall under this group, you can use the following code to reinstall the Mail Writer in a different location in unused memory that is fully compatible with the OAM DMA Hijack setup. If you are unsure whether this applies to you or not, this code is safe to use under all circumstances. '''Please ensure you verify that the newly copied Mail Writer works before saving'''
This code is currently not available for the Japanese releases, since the Japanese version of the Mail Writer does not require specific TM quantities to set up.
{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Crystal
|-
! scope="row"| English
||
01 32 00 11 C0 D9 21 94 D2 CD 26 30 0E 05 11 10
DA C3 26 30 11 80 D2 D5 D5 D5 21 75 5E CF E1 D1
2A FE 50 38 FB 28 0A 87 86 12 13 23 81 4F 12 18
EF 21 01 C5 4D CD CC 38 1B CD 4B 35 BD 28 D9 38
F0 FE 08 C8 18 F2 3E 04 C3 C0 D9
|-
! scope="row" | French
||
01 32 00 11 C0 D9 21 94 D2 CD 13 30 0E 05 11 10
DA C3 13 30 11 80 D2 D5 D5 D5 21 7A 5E CF E1 D1
2A FE 50 38 FB 28 0A 87 86 12 13 23 81 4F 12 18
EF 21 01 C5 4D CD AF 38 1B CD 38 35 BD 28 D9 38
F0 FE 08 C8 18 F2 3E 04 C3 C0 D9
|-
! scope="row"| German
||
01 32 00 11 C0 D9 21 94 D2 CD 10 30 0E 05 11 10
DA C3 10 30 11 80 D2 D5 D5 D5 21 63 5E CF E1 D1
2A FE 50 38 FB 28 0A 87 86 12 13 23 81 4F 12 18
EF 21 01 C5 4D CD B6 38 1B CD 35 35 BD 28 D9 38
F0 FE 08 C8 18 F2 3E 04 C3 C0 D9
|-
! scope="row"| Italian
||
01 32 00 11 C0 D9 21 94 D2 CD 14 30 0E 05 11 10
DA C3 14 30 11 80 D2 D5 D5 D5 21 C5 5E CF E1 D1
2A FE 50 38 FB 28 0A 87 86 12 13 23 81 4F 12 18
EF 21 01 C5 4D CD BA 38 1B CD 39 35 BD 28 D9 38
F0 FE 08 C8 18 F2 3E 04 C3 C0 D9
|-
! scope="row"| Spanish
||
01 32 00 11 C0 D9 21 94 D2 CD 10 30 0E 05 11 10
DA C3 10 30 11 80 D2 D5 D5 D5 21 E8 5E CF E1 D1
2A FE 50 38 FB 28 0A 87 86 12 13 23 81 4F 12 18
EF 21 01 C5 4D CD AC 38 1B CD 35 35 BD 28 D9 38
F0 FE 08 C8 18 F2 3E 04 C3 C0 D9
|}
===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
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.
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 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:
* French Crystal: the player is not allowed to refight Wilton or Kenji.
* 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.
A separate code is provided further on that reapplies the bootstrap, to be used in the case it accidentally gets overwritten.
'''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"
Line 2,069 ⟶ 2,324:
! scope="row"| English
||
AF 01 40 00 21 5C D7 CD 4C 31 0E 1B E5 D1 21 79
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
||
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
||
AF 01 40 00 21 5C D7 CD 5E 31 0E 1B E5 D1 21 79
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
||
21 AE D2 CD 13 30 0E 22 11 21 FA C3 13 30 C9 F0
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
||
AF 01 40 00 21 5C D7 CD 79 31 0E 1B E5 D1 21 79
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
||
21 AE D2 CD 10 30 0E 22 11 21 FA C3 10 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"| Italian
||
AF 01 40 00 21 5C D7 CD 71 31 0E 1B E5 D1 21 79
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
||
0D E5 D1 21 B1 D2 CD 14 30 0E 22 11 21 FA C3 14
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
||
AF 01 40 00 21 5C D7 CD 70 31 0E 1B E5 D1 21 79
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
||
0D E5 D1 21 B1 D2 CD 10 30 0E 22 11 21 FA C3 10
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
||
AF 01 40 00 21 4F D7 CD 08 31 0E 1B E5 D1 21 EA
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
||
0D E5 D1 21 E2 D2 CD F2 2F 0E 22 11 22 DA C3 F2
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
||
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
|}
===
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:
* If B is held, the player will run at a faster speed. This speed is equal to Bicycle speed.
* If A is held, the player can ignore (nearly) all collision and walk through walls.
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.
Due to how this code works, using the Bicycle will not have an effect outside of changing the music.
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]
|-
Line 2,143 ⟶ 2,439:
! scope="row"| English
||
F3 01
22 22 79 E6 01 EA 82 D6 00 00 00
||
3E 03 01
22 22 79 E6 01 EA 5D D9 00 00 00
|-
! scope="row" | French
||
F3 01
22 22 79 E6 01 EA 82 D6 00 00 00
||
3E 03 01
22 22 79 E6 01 EA 5D D9 00 00 00
|-
! scope="row"| German
||
F3 01
22 22 79 E6 01 EA 82 D6 00 00 00
||
3E 03 01
22 22 79 E6 01 EA 5D D9 00 00 00
|-
! scope="row"| Italian
||
F3 01
22 22 79 E6 01 EA 82 D6 00 00 00
||
3E 03 01
22 22 79 E6 01 EA 5D D9 00 00 00
|-
! scope="row"| Spanish
||
F3 01
22 22 79 E6 01 EA 82 D6 00 00 00
||
3E 03 01
22 22 79 E6 01 EA 5D D9 00 00 00
|-
! scope="row"| Japanese
||
F3 01
22 22 79 E6 01 EA 75 D6 00 00 00
||
3E 03 01
22 22 79 E6 01 EA 50 D9 00 00 00
|-
! scope="row"| Korean
||
F3 01
22 22 79 E6 01 EA 35 D7 00 00 00
|}
====Catch a trainer's pokémon====
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.
* 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.
* 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"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
Line 2,210 ⟶ 2,518:
! scope="row"| English
||
F3 01
11 13 CC 21 F1 D0 CD 1A 31 00 00
||
3E 03 01
11 35 C7 21 08 D2 CD 26 30 00 00
|-
! scope="row" | French
||
F3 01
11 13 CC 21 F1 D0 CD 2C 31 00 00
||
3E 03 01
11 35 C7 21 08 D2 CD 13 30 00 00
|-
! scope="row"| German
||
F3 01
11 13 CC 21 F1 D0 CD 47 30 00 00
||
3E 03 01
11 35 C7 21 08 D2 CD 10 30 00 00
|-
! scope="row"| Italian
||
F3 01
11 13 CC 21 F1 D0 CD 3F 30 00 00
||
3E 03 01
11 35 C7 21 08 D2 CD 14 30 00 00
|-
! scope="row"| Spanish
||
F3 01
11 13 CC 21 F1 D0 CD 3E 31 00 00
||
3E 03 01
11 35 C7 21 08 D2 CD 10 30 00 00
|-
! scope="row"| Japanese
||
F3 01
11 07 CC 21 E3 D0 CD D6 30 00 00
||
3E 03 01
11 29 C7 21 39 D2 CD F2 2F 00 00
|-
! scope="row"| Korean
||
F3 01
11 1B CC 21 AE D1 CD C2 31 00 00
|}
===2nd 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 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:
* Make every encountered wild pokémon
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 ⟶ 2,597:
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.
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
Line 2,279 ⟶ 2,604:
! scope="row"| English
||
F3 01
D1 3E 01 AE 20 09 21 F5 D0 01 '''FA AA''' 71 23 70 00
||
3E 03 01
D2 3E 01 AE 20 09 21 0C D2 01 '''FA AA''' 71 23 70 00
|-
! scope="row" | French
||
F3 01
D1 3E 01 AE 20 09 21 F5 D0 01 '''FA AA''' 71 23 70 00
||
3E 03 01
D2 3E 01 AE 20 09 21 0C D2 01 '''FA AA''' 71 23 70 00
|-
! scope="row"| German
||
F3 01
D1 3E 01 AE 20 09 21 F5 D0 01 '''FA AA''' 71 23 70 00
||
3E 03 01
D2 3E 01 AE 20 09 21 0C D2 01 '''FA AA''' 71 23 70 00
|-
! scope="row"| Italian
||
F3 01
D1 3E 01 AE 20 09 21 F5 D0 01 '''FA AA''' 71 23 70 00
||
3E 03 01
D2 3E 01 AE 20 09 21 0C D2 01 '''FA AA''' 71 23 70 00
|-
! scope="row"| Spanish
||
F3 01
D1 3E 01 AE 20 09 21 F5 D0 01 '''FA AA''' 71 23 70 00
||
3E 03 01
D2 3E 01 AE 20 09 21 0C D2 01 '''FA AA''' 71 23 70 00
|-
! scope="row"| Japanese
||
F3 01
D1 3E 01 AE 20 09 21 E7 D0 01 '''FA AA''' 71 23 70 00
||
3E 03 01
D2 3E 01 AE 20 09 21 3D D2 01 '''FA AA''' 71 23 70 00
|-
! scope="row"| Korean
||
F3 01
D1 3E 01 AE 20 09 21 B2 D1 01 '''FA AA''' 71 23 70
|}
===
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.
* This does not affect any trainer pokémon
* The DVs of this wild pokémon is still randomized like usual, making it possible to shiny hunt it.
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:
# '''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.
'''Warning''': this code is not compatible with the "catch trainer pokémon" constant effect. While it will won't cause any harm, the newly caught pokémon's species and level will be overwritten by the previous code.
{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
Line 2,345 ⟶ 2,677:
! scope="row"| English
||
F3 01
||
3E 03 01
|-
! scope="row" | French
||
F3 01
||
3E 03 01
|-
! scope="row"| German
||
F3 01
||
3E 03 01
|-
! scope="row"| Italian
||
F3 01
||
3E 03 01
|-
! scope="row"| Spanish
||
F3 01
||
3E 03 01
|-
! scope="row"| Japanese
||
F3 01
||
3E 03 01
|-
! scope="row"| Korean
||
F3 01
|}
===3nd constant effect slot===
====Enable use of RAM Writer in battle====
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.
* This counts as using an item, meaning that the opponent's turn starts immediately after closing the RAM Writer.
{| class="wikitable"
|+ Codes to be used with [https://timovm.github.io/MailConverter/ TimoVM's MailConverter]
|-
! Language !! Gold & Silver !! Crystal
|-
! 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 11 00 11 1E 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===
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]
|-
Line 2,415 ⟶ 2,809:
! scope="row"| English
||
||
|-
! scope="row" | French
||
||
|-
! scope="row"| German
||
||
|-
! scope="row"| Italian
||
||
|-
! scope="row"| Spanish
||
||
|-
! scope="row"| Japanese
||
||
|-
! scope="row"| Korean
||
|}
====Clear slot 2====
{| class="wikitable"
|+ 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"
Line 2,478 ⟶ 2,905:
! scope="row"| English
||
F3 AF
||
|-
! scope="row" | French
||
F3 AF
||
|-
! scope="row"| German
||
F3 AF
||
|-
! scope="row"| Italian
||
F3 AF
||
|-
! scope="row"| Spanish
||
F3 AF
||
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 ED 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 1F 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.
Note that this will not disable any active OAM DMA Hijacks. It is recommended to save and reset after using this code to disable any hijacks that are still active.
{| 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; French 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 0A DA 3E 18 22 36 15 C9
|-
! scope="row"| German
||
21 30 D8 3E C3 22 3E A5 22 36 D7 C9
||
21 0A DA 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 CD D4 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
|-
! scope="row"| Japanese
||
C3 98 D7
||
C3 26 DA
|-
! scope="row"| Korean
||
C3 38 D8
|}
|