Site cover image

🐾 flag3

RAM Writer Usage Guide in Pokémon Gold/Silver/Crystal (JP)

This is a translation of the original article:

📄Arrow icon of a page linkポケットモンスター 金・銀・クリスタル バイナリエディタ 使い方

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 program⁠1⁠. 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.

References