This is a translation of the original article:
📄ポケットモンスター 金・銀・クリスタル バイナリエディタ 使い方
It was mostly processed by Notion AI.
This article explains how to use the RAM Writer in Pokémon Gold, Silver, and Crystal. It assumes you have already installed a RAM Writer. Please refer to the following guides for RAM Writer installation. Note that operation is not guaranteed with RAM Writers installed through other methods.
Changing Value
Party Pokémon
Held Items
The held item of the first Pokémon in your party is stored in address D9F1 for Gold/Silver and DCA6 for Crystal. You can change the held item by changing these values. For example, setting the value to 01 will give the Pokémon a Master Ball.
Moves
The moves of the first Pokémon in your party are stored in addresses D9F2-D9F5 for Gold/Silver and DCA7-DCAA for Crystal. You can change the moves by changing these values. Note that PP will not change. For example, setting the values to 01 02 03 04 will give the Pokémon the moves Pound, Karate Chop, Double Slap, and Comet Punch.
Original Trainer ID (OT ID)
The Original Trainer ID of the first Pokémon in your party is stored in addresses D9F6 and D9F7 for Gold/Silver, DCAB and DCAC for Crystal. You can change the OT ID by changing these values. Convert any number between 00000-65535 to hexadecimal to set the desired ID. For example, setting the values to 59 0C will set the OT ID to 22796.
Stat Experience
The stat experience of the first Pokémon in your party is stored in addresses D9FB-DA04 for Gold/Silver and DCB0-DCB9 for Crystal. You can change the stat experience by changing these values. For example, setting all values to FF will maximize the stat experience. After changing the values, place the Pokémon in the PC to recalculate the stats. These 10 addresses store HP, Attack, Defense, Speed, and Special in two pairs.
DVs
The DVs of the first Pokémon in your party are stored in addresses DA05 and DA06 for Gold/Silver, DCBA and DCBB for Crystal. You can change the DVs by changing these values. For example, setting the values to FF FF will maximize the DVs. After changing the values, place the Pokémon in the PC to recalculate the stats. Setting the values to AA AA will make the Pokémon shiny.
Move PP
The first party Pokémon's move PP is stored in addresses DA07-DA0A for Gold/Silver and DCBC-DCBF for Crystal. For example, setting the values to C0 will maximize PP with three PP Ups.
Happiness/Egg Cycles
The first party Pokémon's happiness is stored in address DA0B for Gold/Silver and DCC0 for Crystal. You can change happiness by changing these values. For eggs, this address stores the egg cycle count, and setting it to 01 will make the egg hatch faster.
Pokérus
The first party Pokémon's Pokérus status is stored in address DA0C for Gold/Silver and DCC1 for Crystal. Setting the value to 73 will give the Pokémon Pokérus 3 days until immunity develops.
Party Pokémon Addresses
Gold/Silver | 1st Pokémon | 2nd Pokémon | 3rd Pokémon | 4th Pokémon | 5th Pokémon | 6th Pokémon |
---|---|---|---|---|---|---|
Party Count | D9E8 | |||||
Party Species | D9E9 | D9EA | D9EB | D9EC | D9ED | D9EE |
Party End | D9EF | |||||
Species | D9F0 | DA20 | DA50 | DA80 | DAB0 | DAE0 |
Held Item | D9F1 | DA21 | DA51 | DA81 | DAB1 | DAE1 |
Move 1 | D9F2 | DA22 | DA52 | DA82 | DAB2 | DAE2 |
Move 2 | D9F3 | DA23 | DA53 | DA83 | DAB3 | DAE3 |
Move 3 | D9F4 | DA24 | DA54 | DA84 | DAB4 | DAE4 |
Move 4 | D9F5 | DA25 | DA55 | DA85 | DAB5 | DAE5 |
OT ID Upper | D9F6 | DA26 | DA56 | DA86 | DAB6 | DAE6 |
OT ID Lower | D9F7 | DA27 | DA57 | DA87 | DAB7 | DAE7 |
Exp Upper | D9F8 | DA28 | DA58 | DA88 | DAB8 | DAE8 |
Exp Middle | D9F9 | DA29 | DA59 | DA89 | DAB9 | DAE9 |
Exp Lower | D9FA | DA2A | DA5A | DA8A | DABA | DAEA |
HP Exp Upper | D9FB | DA2B | DA5B | DA8B | DABB | DAEB |
HP Exp Lower | D9FC | DA2C | DA5C | DA8C | DABC | DAEC |
Attack Exp Upper | D9FD | DA2D | DA5D | DA8D | DABD | DAED |
Attack Exp Lower | D9FE | DA2E | DA5E | DA8E | DABE | DAEE |
Defense Exp Upper | D9FF | DA2F | DA5F | DA8F | DABF | DAEF |
Defense Exp Lower | DA00 | DA30 | DA60 | DA90 | DAC0 | DAF0 |
Speed Exp Upper | DA01 | DA31 | DA61 | DA91 | DAC1 | DAF1 |
Speed Exp Lower | DA02 | DA32 | DA62 | DA92 | DAC2 | DAF2 |
Special Exp Upper | DA03 | DA33 | DA63 | DA93 | DAC3 | DAF3 |
Special Exp Lower | DA04 | DA34 | DA64 | DA94 | DAC4 | DAF4 |
Attack/Defense DVs | DA05 | DA35 | DA65 | DA95 | DAC5 | DAF5 |
Speed/Special DVs | DA06 | DA36 | DA66 | DA96 | DAC6 | DAF6 |
Move 1 PP | DA07 | DA37 | DA67 | DA97 | DAC7 | DAF7 |
Move 2 PP | DA08 | DA38 | DA68 | DA98 | DAC8 | DAF8 |
Move 3 PP | DA09 | DA39 | DA69 | DA99 | DAC9 | DAF9 |
Move 4 PP | DA0A | DA3A | DA6A | DA9A | DACA | DAFA |
Happiness/Egg Cycles | DA0B | DA3B | DA6B | DA9B | DACB | DAFB |
Pokérus Status | DA0C | DA3C | DA6C | DA9C | DACC | DAFC |
Caught Time/Level | DA0D | DA3D | DA6D | DA9D | DACD | DAFD |
Caught Gender/Location | DA0E | DA3E | DA6E | DA9E | DACE | DAFE |
Level | DA0F | DA3F | DA6F | DA9F | DACF | DAFF |
Status Condition | DA10 | DA40 | DA70 | DAA0 | DAD0 | DB00 |
Unused | DA11 | DA41 | DA71 | DAA1 | DAD1 | DB01 |
Current HP Upper | DA12 | DA42 | DA72 | DAA2 | DAD2 | DB02 |
Current HP Lower | DA13 | DA43 | DA73 | DAA3 | DAD3 | DB03 |
Max HP Upper | DA14 | DA44 | DA74 | DAA4 | DAD4 | DB04 |
Max HP Lower | DA15 | DA45 | DA75 | DAA5 | DAD5 | DB05 |
Attack Upper | DA16 | DA46 | DA76 | DAA6 | DAD6 | DB06 |
Attack Lower | DA17 | DA47 | DA77 | DAA7 | DAD7 | DB07 |
Defense Upper | DA18 | DA48 | DA78 | DAA8 | DAD8 | DB08 |
Defense Lower | DA19 | DA49 | DA79 | DAA9 | DAD9 | DB09 |
Speed Upper | DA1A | DA4A | DA7A | DAAA | DADA | DB0A |
Speed Lower | DA1B | DA4B | DA7B | DAAB | DADB | DB0B |
Special Attack Upper | DA1C | DA4C | DA7C | DAAC | DADC | DB0C |
Special Attack Lower | DA1D | DA4D | DA7D | DAAD | DADD | DB0D |
Special Defense Upper | DA1E | DA4E | DA7E | DAAE | DADE | DB0E |
Special Defense Lower | DA1F | DA4F | DA7F | DAAF | DADF | DB0F |
OT Name 1st | DB10 | DB16 | DB1C | DB22 | DB28 | DB2E |
OT Name 2nd | DB11 | DB17 | DB1D | DB23 | DB29 | DB2F |
OT Name 3rd | DB12 | DB18 | DB1E | DB24 | DB2A | DB30 |
OT Name 4th | DB13 | DB19 | DB1F | DB25 | DB2B | DB31 |
OT Name 5th | DB14 | DB1A | DB20 | DB26 | DB2C | DB32 |
OT Name End | DB15 | DB1B | DB21 | DB27 | DB2D | DB33 |
Nickname 1st | DB34 | DB3A | DB40 | DB46 | DB4C | DB52 |
Nickname 2nd | DB35 | DB3B | DB41 | DB47 | DB4D | DB53 |
Nickname 3rd | DB36 | DB3C | DB42 | DB48 | DB4E | DB54 |
Nickname 4th | DB37 | DB3D | DB43 | DB49 | DB4F | DB55 |
Nickname 5th | DB38 | DB3E | DB44 | DB4A | DB50 | DB56 |
Nickname End | DB39 | DB3F | DB45 | DB4B | DB51 | DB57 |
Crystal | 1st Pokémon | 2nd Pokémon | 3rd Pokémon | 4th Pokémon | 5th Pokémon | 6th Pokémon |
---|---|---|---|---|---|---|
Party Count | DC9D | |||||
Party Species | DC9E | DC9F | DCA0 | DCA1 | DCA2 | DCA3 |
Party End | DCA4 | |||||
Species | DCA5 | DCD5 | DD05 | DD35 | DD65 | DD95 |
Held Item | DCA6 | DCD6 | DD06 | DD36 | DD66 | DD96 |
Move 1 | DCA7 | DCD7 | DD07 | DD37 | DD67 | DD97 |
Move 2 | DCA8 | DCD8 | DD08 | DD38 | DD68 | DD98 |
Move 3 | DCA9 | DCD9 | DD09 | DD39 | DD69 | DD99 |
Move 4 | DCAA | DCDA | DD0A | DD3A | DD6A | DD9A |
OT ID Upper | DCAB | DCDB | DD0B | DD3B | DD6B | DD9B |
OT ID Lower | DCAC | DCDC | DD0C | DD3C | DD6C | DD9C |
Exp Upper | DCAD | DCDD | DD0D | DD3D | DD6D | DD9D |
Exp Middle | DCAE | DCDE | DD0E | DD3E | DD6E | DD9E |
Exp Lower | DCAF | DCDF | DD0F | DD3F | DD6F | DD9F |
HP Exp Upper | DCB0 | DCE0 | DD10 | DD40 | DD70 | DDA0 |
HP Exp Lower | DCB1 | DCE1 | DD11 | DD41 | DD71 | DDA1 |
Attack Exp Upper | DCB2 | DCE2 | DD12 | DD42 | DD72 | DDA2 |
Attack Exp Lower | DCB3 | DCE3 | DD13 | DD43 | DD73 | DDA3 |
Defense Exp Upper | DCB4 | DCE4 | DD14 | DD44 | DD74 | DDA4 |
Defense Exp Lower | DCB5 | DCE5 | DD15 | DD45 | DD75 | DDA5 |
Speed Exp Upper | DCB6 | DCE6 | DD16 | DD46 | DD76 | DDA6 |
Speed Exp Lower | DCB7 | DCE7 | DD17 | DD47 | DD77 | DDA7 |
Special Exp Upper | DCB8 | DCE8 | DD18 | DD48 | DD78 | DDA8 |
Special Exp Lower | DCB9 | DCE9 | DD19 | DD49 | DD79 | DDA9 |
Attack/Defense DVs | DCBA | DCEA | DD1A | DD4A | DD7A | DDAA |
Speed/Special DVs | DCBB | DCEB | DD1B | DD4B | DD7B | DDAB |
Move 1 PP | DCBC | DCEC | DD1C | DD4C | DD7C | DDAC |
Move 2 PP | DCBD | DCED | DD1D | DD4D | DD7D | DDAD |
Move 3 PP | DCBE | DCEE | DD1E | DD4E | DD7E | DDAE |
Move 4 PP | DCBF | DCEF | DD1F | DD4F | DD7F | DDAF |
Happiness/Egg Cycles | DCC0 | DCF0 | DD20 | DD50 | DD80 | DDB0 |
Pokérus Status | DCC1 | DCF1 | DD21 | DD51 | DD81 | DDB1 |
Caught Time/Level | DCC2 | DCF2 | DD22 | DD52 | DD82 | DDB2 |
Caught Gender/Location | DCC3 | DCF3 | DD23 | DD53 | DD83 | DDB3 |
Level | DCC4 | DCF4 | DD24 | DD54 | DD84 | DDB4 |
Status Condition | DCC5 | DCF5 | DD25 | DD55 | DD85 | DDB5 |
Unused | DCC6 | DCF6 | DD26 | DD56 | DD86 | DDB6 |
Current HP Upper | DCC7 | DCF7 | DD27 | DD57 | DD87 | DDB7 |
Current HP Lower | DCC8 | DCF8 | DD28 | DD58 | DD88 | DDB8 |
Max HP Upper | DCC9 | DCF9 | DD29 | DD59 | DD89 | DDB9 |
Max HP Lower | DCCA | DCFA | DD2A | DD5A | DD8A | DDBA |
Attack Upper | DCCB | DCFB | DD2B | DD5B | DD8B | DDBB |
Attack Lower | DCCC | DCFC | DD2C | DD5C | DD8C | DDBC |
Defense Upper | DCCD | DCFD | DD2D | DD5D | DD8D | DDBD |
Defense Lower | DCCE | DCFE | DD2E | DD5E | DD8E | DDBE |
Speed Upper | DCCF | DCFF | DD2F | DD5F | DD8F | DDBF |
Speed Lower | DCD0 | DD00 | DD30 | DD60 | DD90 | DDC0 |
Special Attack Upper | DCD1 | DD01 | DD31 | DD61 | DD91 | DDC1 |
Special Attack Lower | DCD2 | DD02 | DD32 | DD62 | DD92 | DDC2 |
Special Defense Upper | DCD3 | DD03 | DD33 | DD63 | DD93 | DDC3 |
Special Defense Lower | DCD4 | DD04 | DD34 | DD64 | DD94 | DDC4 |
OT Name 1st | DDC5 | DDCB | DDD1 | DDD7 | DDDD | DDE3 |
OT Name 2nd | DDC6 | DDCC | DDD2 | DDD8 | DDDE | DDE4 |
OT Name 3rd | DDC7 | DDCD | DDD3 | DDD9 | DDDF | DDE5 |
OT Name 4th | DDC8 | DDCE | DDD4 | DDDA | DDE0 | DDE6 |
OT Name 5th | DDC9 | DDCF | DDD5 | DDDB | DDE1 | DDE7 |
OT Name End | DDCA | DDD0 | DDD6 | DDDC | DDE2 | DDE8 |
Nickname 1st | DDE9 | DDEF | DDF5 | DDFB | DE01 | DE07 |
Nickname 2nd | DDEA | DDF0 | DDF6 | DDFC | DE02 | DE08 |
Nickname 3rd | DDEB | DDF1 | DDF7 | DDFD | DE03 | DE09 |
Nickname 4th | DDEC | DDF2 | DDF8 | DDFE | DE04 | DE0A |
Nickname 5th | DDED | DDF3 | DDF9 | DDFF | DE05 | DE0B |
Nickname End | DDEE | DDF4 | DDFA | DE00 | DE06 | DE0C |
Item Pocket
First Item ID and Quantity
The first item's ID is stored in address D5AB for Gold/Silver and D886 for Crystal. The quantity is stored at D5AC in Gold/Silver and D887 in Crystal. You can change these values to change the ID and quantity of the first item. For example, setting the values to 20 63 will give you 99 Rare Candies.
Item Pocket Addresses
Gold/Silver | ID | Quantity |
---|---|---|
Number of Items | D5AA | |
1st Item | D5AB | D5AC |
2nd Item | D5AD | D5AE |
3rd Item | D5AF | D5B0 |
4th Item | D5B1 | D5B2 |
5th Item | D5B3 | D5B4 |
6th Item | D5B5 | D5B6 |
7th Item | D5B7 | D5B8 |
8th Item | D5B9 | D5BA |
9th Item | D5BB | D5BC |
10th Item | D5BD | D5BE |
11th Item | D5BF | D5C0 |
12th Item | D5C1 | D5C2 |
13th Item | D5C3 | D5C4 |
14th Item | D5C5 | D5C6 |
15th Item | D5C7 | D5C8 |
16th Item | D5C9 | D5CA |
17th Item | D5CB | D5CC |
18th Item | D5CD | D5CE |
19th Item | D5CF | D5D0 |
20th Item | D5D1 | D5D2 |
Item End | D5D3 |
Crystal | ID | Quantity |
---|---|---|
Number of Items | D885 | |
1st Item | D886 | D887 |
2nd Item | D888 | D889 |
3rd Item | D88A | D88B |
4th Item | D88C | D88D |
5th Item | D88E | D88F |
6th Item | D890 | D891 |
7th Item | D892 | D893 |
8th Item | D894 | D895 |
9th Item | D896 | D897 |
10th Item | D898 | D899 |
11th Item | D89A | D89B |
12th Item | D89C | D89D |
13th Item | D89E | D89F |
14th Item | D8A0 | D8A1 |
15th Item | D8A2 | D8A3 |
16th Item | D8A4 | D8A5 |
17th Item | D8A6 | D8A7 |
18th Item | D8A8 | D8A9 |
19th Item | D8AA | D8AB |
20th Item | D8AC | D8AD |
Item End | D8AE |
Ball Pocket
First Ball ID and Quantity
The first ball's ID is stored in address D5F0 for Gold/Silver and D8CB for Crystal. The quantity is stored at D5F1 in Gold/Silver and D8CC in Crystal. You can change these values to change the ID and quantity of the first ball. For example, setting the values to 01 63 will give you 99 Master Balls.
Ball Pocket Addresses
Gold/Silver | ID | Quantity |
---|---|---|
Number of Balls | D5EF | |
1st Ball | D5F0 | D5F1 |
2nd Ball | D5F2 | D5F3 |
3rd Ball | D5F4 | D5F5 |
4th Ball | D5F6 | D5F7 |
5th Ball | D5F8 | D5F9 |
6th Ball | D5FA | D5FB |
7th Ball | D5FC | D5FD |
8th Ball | D5FE | D5FF |
9th Ball | D600 | D601 |
10th Ball | D602 | D603 |
11th Ball | D604 | D605 |
12th Ball | D606 | D607 |
Ball End | D608 |
Crystal | ID | Quantity |
---|---|---|
Number of Balls | D8CA | |
1st Ball | D8CB | D8CC |
2nd Ball | D8CD | D8CE |
3rd Ball | D8CF | D8D0 |
4th Ball | D8D1 | D8D2 |
5th Ball | D8D3 | D8D4 |
6th Ball | D8D5 | D8D6 |
7th Ball | D8D7 | D8D8 |
8th Ball | D8D9 | D8DA |
9th Ball | D8DB | D8DC |
10th Ball | D8DD | D8DE |
11th Ball | D8DF | D8E0 |
12th Ball | D8E1 | D8E2 |
Ball End | D8E3 |
Player Character
Player Gender (Crystal Only)
The player's gender is stored in address D463. Setting the value to 00 makes the player male, while 01 makes the player female. Note that this change does not affect the character's color palette. To save the gender change, you must also change the value in address A000 in SRAM bank 04 to 00 or 01.
Player ID
The player ID is stored in addresses D1B3 and D1B4 for Gold/Silver, D48C and D48D for Crystal. You can change these values to change the player ID. Convert any number between 00000 and 65535 to hexadecimal to set the desired ID. For example, setting the values to 59 0C will set the player ID to 22796.
Player Appearance
The player's appearance is stored in address D1F2 for Gold/Silver and D4CB for Crystal. You can change the appearance by setting the values in multiples of 0C, though the appearance depends on the current map. Setting the value to 00 will restore the default player appearance.
Player Color Palette
The player's color palette is stored in address D1F6 for Gold/Silver and D4CF for Crystal. You can change the color palette by setting the values between 00-07. Male characters use palette 00, while female characters use palette 01.
Value | Color Palette |
---|---|
00 | Red |
01 | Blue |
02 | Green |
03 | Brown |
04 | Pink |
05 | Silver |
06 | Wood |
07 | Rock |
Other Features
Money
Money is stored in addresses D566-D568 for Gold/Silver and D841-D843 for Crystal. For example, setting these values to 0F 42 3F will give you 999,999 yen.
Game Corner Coins
Game Corner coins are stored in addresses D56D and D56E for Gold/Silver, D848 and D849 for Crystal. For example, setting these values to 27 0F will give you 9,999 coins.
Badges
Johto region badges are stored in address D56F for Gold/Silver and D84A for Crystal. Setting this value to FF will give you all Johto badges, allowing you to use all field moves. Kanto region badges are stored in address D570 for Gold/Silver and D84B for Crystal.
Select Button
In Gold/Silver, setting addresses D673 and D674 to 80 E1 will register TM33 to the Select button. In Crystal, setting addresses D94E and D94F to 80 D0 will register TM17. Make sure the corresponding TM is in your Items pocket for this to work properly.
Fly Destinations
Fly destinations are stored in addresses D9B4-D9B7 for Gold/Silver and DC6B-DC6E for Crystal. Setting all these values to FF will unlock all Fly destinations.
Celebi Event (Crystal Only)
You can trigger the Celebi event by setting the values in addresses A000 and A083 in SRAM bank 05 to 0B. After changing these values, restart the game and go to the Goldenrod City Pokémon Center. When you try to leave, the GS Ball event will trigger.
Running Existing Programs
Time Change
You can set the time by changing the ROM bank to 08, moving the cursor to address 4027, and pressing SELECT+A. After "じかんをさいせっていしました!" appears, press START to end the program.
Name Changes
Player Name
You can change the player's name by setting the ROM bank to 01 and moving the cursor to address 6237 (Gold/Silver) or 6208 (Crystal), and then pressing SELECT+A. After naming, press START to exit the RAM Writer once.
The player's name can also be directly changed by changing values in addresses D1B5-D1BA for Gold/Silver and D48E-D493 for Crystal.
Rival Name
You can change the rival's name by setting the ROM bank to 03 and moving the cursor to address 43DF (Gold/Silver) or 4288 (Crystal), and then pressing SELECT+A. After naming, press START to exit the RAM Writer once.
The rival's name can also be directly changed by changing values in addresses D1C1-D1C6 for Gold/Silver and D49A-D49F for Crystal.
Box Names
You can reset box names to default by setting the ROM bank to 01 and moving the cursor to address 5D16 (Gold/Silver) or 5C95 (Crystal), and then pressing SELECT+A.
Box names can also be directly changed by changing values in addresses D8B2-D902 for Gold/Silver and DB68-DBB8 for Crystal.
Wild Pokémon
Disable Wild Encounters
You can disable wild encounters by setting the ROM bank to 25, moving the cursor to address 786A (Gold/Silver) or 79D2 (Crystal), then pressing SELECT+A. To re-enable encounters, use the following re-enable wild encounters program.
Re-enable Wild Encounters
You can re-enable wild encounters by setting the ROM bank to 25, moving the cursor to address 7870 (Gold/Silver) or 79D8 (Crystal), then pressing SELECT+A. This has no effect if wild encounters are not currently disabled.
Running Custom Programs
You can run custom programs with SELECT+A after creating them in the RAM Writer. Good addresses to use for programs are CF21-CF4A and DCC6-DE35 in Gold/Silver, or D002-D02B and D2B1-D420 in Crystal.
Party Pokémon
Original Trainer Name for First Party Pokémon
You can set the original trainer name for the first party Pokémon by creating and executing the following program:
Gold/Silver
06 01 11 10 DB 3E 04 21 3D 5A CF C9
Crystal
06 01 11 C5 DD 3E 04 21 51 56 CF C9
After naming, press START once to exit the binary editor. You can also directly change the original trainer name by changing values in addresses DB10-DB15 for Gold/Silver or DDC5-DDCA for Crystal.
Nickname for First Party Pokémon
You can set the nickname for the first party Pokémon by creating and executing the following program:
Gold/Silver
06 00 11 34 DB 3E 04 21 3D 5A CF C9
Crystal
06 00 11 E9 DD 3E 04 21 51 56 CF C9
After naming, press START once to exit the binary editor. You can also directly change the nickname by changing values in addresses DB34-DB39 for Gold/Silver or DDE9-DDEE for Crystal.
Pokémon Respawning
Lugia
You can make Lugia respawn by executing the following program:
Gold/Silver
21 0D D8 CB 86 C9
Crystal
21 C8 DA CB 86 C9
After execution, go to the Whirl Islands with the Silver Wing to battle Lugia again. This has no effect if you haven't battled Lugia before.
Ho-Oh
You can make Ho-Oh respawn by executing the following program:
Gold/Silver
21 0C D8 CB BE C9
Crystal
21 C7 DA CB BE C9
After execution, go to Tin Tower with the Rainbow Wing to battle Ho-Oh again. This has no effect if you haven't battled Ho-Oh before.
Pokémon Obtaining
You can obtain any Pokémon at any level by executing the following program and closing the menu. Make sure you have space in your party before execution. The values FB
and 1E
in the program correspond to the Pokémon's Pokédex number and level respectively, and can be changed to specify the desired Pokémon and level:
Gold/Silver
01 07 00 09 C3 F5 26 47 2D FB 1E 00 00 49 90
Crystal
01 07 00 09 C3 E2 25 47 2D FB 1E 00 00 49 90
Egg Obtaining
You can obtain an egg of any Pokémon by executing the following program and closing the menu. Make sure you have space in your party before execution. The value FB
in the program corresponds to the Pokémon's Pokédex number and can be changed to specify the desired Pokémon:
Gold/Silver
01 07 00 09 C3 F5 26 2E FB 05 90
Crystal
01 07 00 09 C3 E2 25 2E FB 05 90
Trade Evolution
You can evolve Pokémon that normally require trading by executing the following program. This will bring up a Pokémon selection screen. Select a Pokémon that meets trade evolution conditions to evolve it. After evolution, press START to exit the binary editor:
Gold/Silver
AF C6 02 EA 3C D0 C8 3C 21 FC 71 CF AF 18 F4
Crystal
AF C6 02 EA DC C2 C8 3C 21 46 71 CF AF 18 F4
TMs
You can get 99 of all TMs by executing the following program:
Gold/Silver
3E 63 01 32 00 21 71 D5 C3 08 31
Crystal
3E 63 01 32 00 21 4C D8 C3 0D 30
You can also directly change TM quantities by changing values in addresses D571-D5A2 for Gold/Silver or D84C-D87D for Crystal.
Pokédex
You can complete your Pokédex by executing the following program. This will also register all Unown in alphabetical order and set the first seen Unown as alphabet A:
Gold/Silver
3E FF 01 3F 00 21 78 DB CD 08 31 3E 07 22 AF 0E
1A 3C 22 0D 20 FB 3E 01 23 22 2E 97 36 07 C9
Crystal
3E FF 01 3F 00 21 2D DE CD 0D 30 3E 07 22 AF 0E
1A 3C 22 0D 20 FB 3E 01 23 22 2E 4C 36 07 C9
You can also directly change Pokédex data by changing values at these addresses:
Gold/Silver | Crystal | |
---|---|---|
Caught Pokémon | DB78-DB97 | DE2D-DE4C |
Seen Pokémon | DB98-DBB7 | DE4D-DE6C |
Unown Pokédex | DBB8-DBD1 | DE6D-DE86 |
First seen Unown | DBD3 | DE88 |
Decoration Items
You can obtain all decoration items by executing the following program:
Gold/Silver
01 34 01 C5 3E 09 21 D6 73 CF C1 0D 20 F5 C9
Crystal
01 34 01 C5 3E 09 21 FF 71 CF C1 0D 20 F5 C9
Persistent Effects
You can maintain certain effects by executing arbitrary code every frame. First, you need to perform the following setup.
Setup
The game executes address FF80 every frame, so we can change this with arbitrary code execution for setup.
First, change the contents of addresses D41B-D436 (Gold/Silver) or D6E9-D708 (Crystal) as follows:
Gold/Silver
D41B~D436:
CD 22 D4 3E C3
18 83 AF DC 64 D8 AF DC CB D7 AF DC 7A D6 AF DC
89 D6 AF DC E3 D7 C9
Crystal
D6E9~D708:
F0 70 D6 F9 CC F4 D6
3E C4 18 83 AF DC 1F DB AF DC 86 DA AF DC 01 DA
AF DC 10 DA AF DC 9E DA C9
Next, change the contents of addresses D813-D826 (Gold/Silver) or DACE-DAE1 (Crystal) as shown below, then move the cursor to address D813 (Gold/Silver) or DACE (Crystal) and press SELECT+A to execute arbitrary code:
Gold/Silver
D813~D826:
3E 18 21 80 FF 22 36 76 21 1B D4 11 F8
FF 01 07 00 C3 D6 30
Crystal
DACE~DAE1:
3E 18
21 80 FF 22 36 72 21 E9 D6 11 F4 FF 01 0B 00 C3
F2 2F
If the arbitrary code execution succeeds without freezing and the address FF80's content changes to 18, the setup is successful. Note that persistent effects are lost when resetting the game, so you'll need to rerun this program after restarting if you want to use persistent effects again.
Wall Phasing
To phase through walls by ignoring collision detection, change the contents of addresses D864-D871 (Gold/Silver) or DB1F-DB2C (Crystal) as follows:
Gold/Silver
D864~D871:
F0 A6 CB 4F C8 AF 21 97 CE 22 22 22 77 C9
Crystal
DB1F~DB2C:
F0 A4 CB 4F C8 AF 21 3E D1 22 22 22 77 C9
Then execute the following program to enable wall phasing when pressing the B button:
Gold/Silver
21 22 D4 36 37 C9
Crystal
21 F4 D6 36 37 C9
Warning
The game will freeze if you cross map boundaries into undefined maps. Buildings use collision detection for exits, so be sure to release the B key before approaching exits.
Catching Trainer's Pokémon
To catch the trainer's Pokémon, change the contents of addresses D7CB-D7E2 (Gold/Silver) or DA86-DA9D (Crystal) as follows:
金・銀
D7CB~D7E2:
21 08 D1 3E 02
96 C0 47 F0 A6 E6 04 C8 4F 35 11 07 CC 21 E3 D0
C3 D6 30
クリスタル
DA86~DA9D:
21 5E D2 3E 02 96 C0 47 F0 A4
E6 04 C8 4F 35 11 29 C7 21 39 D2 C3 F2 2F
Then execute the following program1. During trainer battles, pressing SELECT will turn the battle into a wild Pokémon encounter, allowing you to catch the trainer's current Pokémon:
Gold/Silver
21 26 D4 36 37 C9
Crystal
21 F8 D6 36 37 C9
The caught Pokémon will have a PP of 0, but will have the same move set as when the trainer used it. The battle ends when you catch or defeat the current Pokémon. While you won't receive any prize money, the trainer is considered defeated.
Warning
Be careful not to hold the SELECT button when starting a trainer battle.
Making Wild Pokémon Shiny
To make all wild Pokémon appear as shiny, change the contents of addresses D67A-D688 (Gold/Silver) or DA01-DA10 (Crystal) as follows:
Gold/Silver
D67A~D688:
21 08 D1 CB 46 C8 21 E7 D0 36 FA 23 36 AA C9
Crystal
DA01~DA10:
21 5E D2 CB 46 C8 21 3D D2 36 FA 23 36 AA C9
Then execute the following program to make wild Pokémon appear as shiny:
Gold/Silver
21 2A D4 36 37 C9
Crystal
21 FC D6 36 37 C9
The values FA
and AA
values in the program correspond to the Individual Values of appearing Pokémon, and can be changed to make Pokémon appear with specific IVs.
Encountering Specific Pokémon at Specific Levels
To make wild Pokémon appear as specific species at specific levels, change the contents of addresses D689-D698 (Gold/Silver) or DA10-DA1F (Crystal) as follows:
Gold/Silver
D689~D698:
21 08 D1 CB 4E C0 21 DF D0 36 FB 2E EE 36 1E C9
Crystal
DA10~DA1F:
21 5E D2 CB 4E C0 21 35 D2 36 FB 2E 44 36 1E C9
Then execute the following program to enable specific wild Pokémon encounters:
Gold/Silver
21 2E D4 36 37 C9
Crystal
21 00 D7 36 37 C9
The values FB
and 1E
values in the program correspond to the Pokédex number and level of appearing Pokémon respectively, and can be changed to specify which Pokémon should appear and at what level.
RAM Writer During Battle
The RAM Writer is normally started by using a TM. However, since TMs cannot be used during battle, you cannot normally start the RAM Writer during battle. You can change this by writing a program that starts the RAM Writer you select "やめる" after selecting a TM in battle. Change the contents of addresses D7E3-D7F4 (Gold/Silver) or DA9E-DAAF (Crystal) as follows:
Gold/Silver
D7E3~D7F4:
FA DF CE FE E1 C0 FA F6 CE FE D4 C0 3E
0D EA 14 CF C9
Crystal
DA9E~DAAF:
FA 68
CF FE D0 C0 FA 7F CF FE D4 C0 3E 0D EA 9D CF C9
Then execute the following program to enable using the binary editor during battle:
Gold/Silver
21 32 D4 36 37 C9
Crystal
21 04 D7 36 37 C9
Persistent Effect Control
To stop the persistent effects mentioned above, execute the following program:
Gold/Silver | Crystal | |
---|---|---|
Stop All Effects | 21 80 FF 36 3E 23 36 C3 C9 | 21 80 FF 36 3E 23 36 C4 C9 |
Wall Phasing | 21 22 D4 36 AF C9 | 21 F4 D6 36 AF C9 |
Catch Trainer's Pokémon | 21 26 D4 36 AF C9 | 21 F8 D6 36 AF C9 |
Shiny Wild Pokémon | 21 2A D4 36 AF C9 | 21 FC D6 36 AF C9 |
Specific Wild Encounters | 21 2E D4 36 AF C9 | 21 00 D7 36 AF C9 |
Battle Binary Editor | 21 32 D4 36 AF C9 | 21 04 D7 36 AF C9 |
To use persistent effects again, execute their respective activation programs.