If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Pokémon Crystal/Debugging Material

From The Cutting Room Floor
Jump to navigation Jump to search
This page contains changes which are not marked for translation.
Other languages:
English • ‎日本語 • ‎한국어

This is a sub-page of Pokémon Crystal.

Crystal features a good handful of debug options, most of which can be accessed through varying levels of tinkering.

Contents

Access

The following patch must be applied to the Japanese ROM in order to access the main debug menu. Then, boot up the game and press Select while in the overworld to load the menu.

Download.png Download Pokémon Crystal Debug Patch
File: Pokémon Crystal JP Debug.zip (1,011 B) (info)
Current version: 1.0


Main Debug Menu

Accessed by default, this menu lists eight options, though sadly not all of them are functional. As with all the other debug menus, it doesn't always display properly, and may cause graphical issues once closed. Thus, it is recommended to press Start before opening a menu, and to go through a loading zone afterwards to fix any of the graphical jank.

Here, the message on the left half of the screen, "ROM version" (ロム バージョン) refers to the build date, which is listed as October 17 2000.

Visual Japanese Translation
Pokemon Crystal JP Debug Options.png
ファイト Battle
つうしんよう Link Type
フィールド Field
サウンド Sound
いろいろ Various
アニメ Animation
グラフィック Graphics
そのた Etc.

Battle (ファイト)

Pokemon Crystal JP Debug Battle Test.png

This screen simply leads to the Battle Tester first seen in the Space World '97 demo of Gold and Silver. It still works just the same, though the behavior of the two "MissingNo." was altered slightly, the "ディーラー" (Dealer) option was renamed to "トレーナー" (Trainer), and the pack is now properly filled with 99 of every important item.

Interestingly, while it's possible to battle against any class/trainer, Eusine is missing, which is likely because this menu wasn't updated to include him and his newly introduced class, which sits at ID spot 67. Listed below are the number values and their corresponding trainers. To select a given party ID, simply adjusts the "Level" (レベル) slider.

Number Japanese Translation
001. ジムリーダー Leader (Falkner)
002. ジムリーダー Leader (Whitney)
003. ジムリーダー Leader (Bugsy)
004. ジムリーダー Leader (Morty)
005. ジムリーダー Leader (Pryce)
006. ジムリーダー Leader (Jasmine)
007. ジムリーダー Leader (Chuck)
008. ジムリーダー Leader (Clair)
009. <RIVAL> Rival (Silver #1)
010. ポケモンはかせ Prof. Oak
011. してんのう Elite Four (Will)
012. ポケモントレーナー PKMN Trainer (Cal)
013. してんのう Elite Four (Bruno)
014. してんのう Elite Four (Karen)
015. してんのう Elite Four (Koga)
016. チャンピオン Champion (Lance)
017. ジムりーダー Leader (Brock)
018. ジムりーダー Leader (Misty)
019. ジムりーダー Leader (Lt. Surge)
020. はぐれけんきゅういん Scientist
021. ジムりーダー Leader (Erika)
022. たんパンこぞう Youngster
023. じゅくがえり Schoolboy
024. とりつかい Bird Keeper
025. ミニスカート Lass
026. ジムりーダー Leader (Janine)
027. エりートトレーナー Cooltrainer♂
028. エりートトレーナー Cooltrainer♀
029. おとなのおねえさん Beauty
030. かいじゅうマニア Pokémaniac
031. ロケットだんいん Rocket Grunt♂
032. ジェントルマン Gentleman
033. スキーヤー Skier
034. せんせい Teacher
035. ジムりーダー Leader (Sabrina)
036. むしとり Bug Catcher
037. つりびと Fisher
038. かいパンやろう Swimmer♂
039. ビキニのおねえさん Swimmer♀
040. ふなのり Sailor
041. りかけいのおとこ Super Nerd
042. ライバル Rival (Silver #2)
043. ギタりスト Guitarist
044. やまおとこ Hiker
045. ぼうそうぞく Biker
046. ジムりーダー Leader (Blaine)
047. かじばドロボウ Burglar
048. ひふきやろう Firebreather
049. ジプシージャグラー Juggler
050. からておう Blackbelt
051. ロケットだんいん Rocket Executive♂
052. サイキッカー Psychic
053. ピクニックガール Picknicker
054. キャンプボーイ Camper
055. ロケットだんいん Rocket Executive♀
056. ぼうず Sage
057. イタコ Medium
058. ボーダー Boarder
059. だいすきクラブ PokéFan♂
060. まいこはん Kimono Girl
061. ふたごちゃん Twins
062. だいすきクラブ PokéFan♀
063. ポケモントレーナー PKMN Trainer (Red)
064. ジムりーダー Leader (Blue)
065. おまわりさん Officer
066. ロケットだんいん Rocket Grunt♀


Additionally, after completing a battle and exiting the menu, the following will occur:

  • The player's name is set to "ゴールド" (Gold).
  • The player's party is deleted.
  • The Rising Badge is marked as obtained, thus allowing all Pokémon to obey the player.
  • Any Pokémon used in a debug battle will be listed as obtained in the Pokédex.


Moreover, the following items will be added to the pack, with anything already there overwritten:

  • Master Ball ×99
  • Ultra Ball ×99
  • Great Ball ×99
  • Poké Ball ×99
  • Heavy Ball ×99
  • Level Ball ×99
  • Lure Ball ×99
  • Fast Ball ×99
  • Friend Ball ×99
  • Moon Ball ×99
  • Love Ball ×99
  • Full Restore ×99
  • Revive ×99
  • Max Revive ×99
  • X Attack ×99
  • X Defend ×99
  • X Speed ×99
  • X Special ×99
  • Ether ×99
  • Max Ether ×99
  • Elixer ×99
  • Guard Spec. ×99
  • Poké Doll ×99
  • X Accuracy ×99
  • Full Heal ×99
  • Super Potion ×99
  • Antidote ×99
  • Burn Heal ×99
  • Ice Heal ×99
  • Awakening ×99
  • Parlyz Heal ×99

Link Type (つうしんよう)

Non-functional, simply refreshing the screen when selected. This option attempts to call 01:5bb9, which doesn't return to anything defined, suggesting that its function was deliberately excluded from the retail build. Unknown if related or not to a similarly named option in the Space World '97 demo.

Field (フィールド)

Non-functional, crashing the game and setting it to SGB mode. This option attempts to call offset $a800 and 01:5b96, both of which are related to way save data is handled. Definitely intended to work just like the similarly named option in the '97 demo.

Sound (サウンド)

The sound test makes a return here, though this time it actually works. However, and almost as a trade-off, there is no longer a way to exit this screen once selected. Moreover, not only was this menu's interface and controls changed, but it's now possible to listen to sound effects.

Visual Japanese Translation
Pokemon Crystal JP Debug Sound Test.png
おんがく <SONG>

じょうげ エー

Music <SONG>

Up/Down A

こうかおん<SFX #>

さゆう スタート

Sound Effect<SFX #>

Left/Right Start


Listed below are the song labels which are displayed in the Sound menu:

Japanese Translation Notes
ストップ
タイトル
どうろ1
どうろ3
どうろ4
りニア
バトル1
バトル3
バトル4
ポケセン
しせん1
しせん2
しせん3
あさ
シオン
ちか2
ちか3
つれてく2
カジノ
じてんしゃ
でんどう
タウン1
タウン3
かち1
かち2
かち3
かち4
ジム
マイホーム
ラボ
オーキド
ライバル1
ライバル2
なみのり
しんか
こうえん
おしまい
キキョウ
タウン12
まいこ
ちか17
バトル11
バトル13
どうろ13
ヒワダ
ヨシノ
バトル12
バトル14
バトル15
バトル16
ラボ11
ちか112
どうろ15
どうろ18
こうそく
しょうねん
しょうじょ
ロケット
あやしい
ぼうさん
ワカバ
コガネ
クチバ
ラジオ
ふえ
とう11
とう11ー
とう12
とう14
みち111
みち112
みち113
ちか12ー
ちか113
バト112
アンノーン
かち22
ごうロード
つれてく1
とう15
こもり
マーチ
タイトル1
タイトル2
スタート
いせき
せんきょ
ぶよう
たいまい
たいかい
かいでんぱ
プりンタ
エンド2
イブキ
インプット
モバイル1
あいことば
ミナキ
タイトル3
バトルタワ
スイクン
バトタワ2
ポケコミ
STOP
TITLE
ROUTE 1
ROUTE 3
ROUTE 4
TRAIN
BATTLE 1
BATTLE 3
BATTLE 4
POKéCENTER
ENCOUNTER 1
ENCOUNTER 2
ENCOUNTER 3
HEAL
LAVENDER
DUNGEON 2
DUNGEON 3
TAKE ME 2
CASINO
BIKE
HALL OF FAME
TOWN 1
TOWN 3
VICTORY 1
VICTORY 2
VICTORY 3
VICTORY 4
GYM
MY HOME
LAB
OAK
RIVAL 1
RIVAL 2
SURFING
EVOLUTION
PARK
CREDITS
VIOLET
TOWN 12
KIMONO
DUNGEON 17
BATTLE 11
BATTLE 13
ROUTE 13
AZALEA
CHERRYGROVE
BATTLE 12
BATTLE 14
BATTLE 15
BATTLE 16
LAB 11
DUNGEON 112
ROUTE 15
ROUTE 18
FAST SHIP
YOUNGSTER
LASS
ROCKET
WEIRDO
SAGE
NEW BARK
GOLDENROD
VERMILION
RADIO
FLUTE
TOWER 11
TOWER 11'
TOWER 12
TOWER 14
ROUTE 111
ROUTE 112
ROUTE 113
DUNGEON 12'
DUNGEON 113
BAT(TLE) 112
UNOWN
VICTORY 22
HARDY ROAD
TAKE ME 1
TOWER 15
LULLABY
MARCH
TITLE 1
TITLE 2
START
RUINS
TAKEOVER
DANCE
REWARD
CONTEST
MYSTERY WAVES
PRINTER
CREDITS 2
CLAIR
INPUT
MOBILE 1
PASSWORD
EUSINE
TITLE 3
BATTLE TOWE(R)
SUICUNE
BAT(TLE) TOWE(R) 2
POKéCOM
Silence.
Title screen.
Route 1.
Route 3.
Route 12. 
Magnet Train.
Kanto Leader.
Kanto Trainer.
Kanto Wild.
Pokémon Center.
Hiker Encounter.
Lass Encounter.
Officer Encounter.
Healing machine.
Lavender Town.
Viridian Forest.
Mt.Moon.
Show Me Around.
Game Corner.
Bike.
Hall of Fame.
Viridian City.
Celadon City.
Trainer victory.
Wild Victory.
Gym Victory.
Mt. Moon Square.
Gym.
Pallet Town.
Pokémon Talk.
Professor Oak.
Rival Encounter.
Rival Post-Battle.
Surfing.
Evolution.
National Park.
End Credits.
Azalea Town.
Cherrygrove City.
Kimono Girl Encounter.
Union Cave.
Johto Wild.
Johto Trainer.
Route 30.
Ecruteak City.
Violet City.
Johto Leader.
Champion Battle.
Rival Battle.
Rocket Battle.
Professor Elm's Lab.
Dark Cave.
Route 29.
Route 36.
Fast Ship.
Youngster Encounter.
Beauty Encounter.
Rocket Encounter.
Poké Maniac Encounter.
Sage Encounter.
New Bark Town.
Goldenrod City.
Vermilion City.
Pokémon Channel.
Poké Flute Channel.
Tin Tower.
Sprout Tower.
Burned Tower.
Glitter Lighthouse.
Lake of Rage.
Indigo Plateau.
Route 37.
Rocket Hideout.
Dragon's Den.
Johto Wild (Night).
Ruins of Alph Radio.
Pokémon Caught.
Route 26.
Player's Mom.
Victory Road.
Pokémon Lullaby Channel.
Pokémon March Channel.
Opening #1 (GS).
Opening #2 (GS).
Continue Screen.
Ruins of Alph.
Rocket Overture.
Dancing Hall.
Bug-Catching Ranking.
Bug-Catching Contest.
Rocket Radio Channel.
GB Printer.
Post-Credit.
Clair.
Mobile Adapter Menu.
Mobile Adapter.
Buena's Password.
Eusine Encounter.
Opening.
Battle Tower.
Suicune Battle.
Battle Tower Lobby.
PokéCom Center.

Various (いろいろ)

Non-functional, crashing the game and setting it to SGB mode. This option attempts to call 41:68dd, which doesn't return to anything defined, suggesting that its function was deliberately excluded from the retail build. Unknown what it was related to.

Animation (アニメ)

Non-functional, crashing the game and setting it to SGB mode. This option attempts to call 34:4695, which is found immediately after code related to Pokémon front sprite animations. Thus, it's likely this option was a sprite viewer of sort, as a way to visualize the animations in-game as they were being worked on. If so, then this would make it a spiritual successor to the "Monsters" option in the '97 demo.

Graphics (グラフィック)

Pokemon Crystal JP Debug Color Test.png Pokemon Crystal JP Debug Color Test 2.png

This option works just like the sprite palette editor from Gold and Silver. First option is Pokémon mode (ポケモン), second option is Trainer mode (トレーナー). The only change made to this menu is that the front and back Pokémon sprites were swapped, now looking closer to the way they're laid out in the battle interface.

Etc. (そのた)

Selecting this option brings the player to the title screen, though no music is playing, and the graphics are rather messed-up. Pressing A will freeze Suicune, and then pressing either A or B will prompt the game to load the unused auto-trade from Gold and Silver, using the mobile trade interface. The animation will loop around three or four times, and afterwards the player will be brought back to the main menu. From there, the game will behave as normal, though every object sprite will appear broken.


(Source: Video of the trade in action.)

Clock Function (とけいきのう)

As it turns out, the base debug menu has nine defined options, but only eight are ever displayed under normal circumstances. This option is non-functional, and calls for 3f:40be, which doesn't return to any valid function. Very likely related to the time system, not unlike the "Toolgear" option in the '97 demo.


Alternate Debug Menu

This robust debug menu is accessed by inputting Select when in the overworld. A list of options then appears on the left, split in three pages which can be flipped through by using "つぎ►" (Next►), and can be exited by using "とじる" (Close).

This menu can be accessed by inputting the following Game Genie code, and hitting Select:

3FB-609-F75
3DB-619-3BF
5CB-629-2A7

Page 1

Warp (ワープ)

Pokémon Crystal Debug Warp Menu 1.pngPokémon Crystal Debug Warp Menu 2.png

Works just like its Space World '97 counterpart, down to even playing the Safari Zone PA sound prior to warping away. Pressing Down will make you go forward in the location list, while Up makes you go backward. You get to fly over to any town or city, as well as the Lake of Rage, Mt.Silver, Route 10, and the Pokémon League. The first Pokémon in your party will be used as the "Fly cursor", with a garbled sprite used in its place if this option is used with an empty party.

Breed (こづくり)

This option checks the compatibility of the two Pokémon over at the Day Care. If there aren’t two Pokémon deposited, the first message is displayed. If the two Pokémon are incompatible, the second one is displayed. If they are compatible, the third is, and a Yes/No prompt appears. Selecting "Yes" generates an Egg which can be obtained from the Day-Care Man.

Japanese Translation
2かい いないので こづくり できません You need two POKéMON for breeding.
こづくりできません Breeding is not possible.
あいしょう <Value at d296>です こづくり しますか? The compatibility is [$D265]. Should they breed?

Make (つくる)

Pokémon Crystal Debug Make Menu 1.pngPokémon Crystal Debug Make Menu 2.pngPokémon Crystal Debug Make Menu 3.png

This option brings you to a screen which will let you select any Pokémon name, using A to go forward, and B for going backward. Pressing Down will make the level slider appear, as well as between one and four move slots. Said slots will appear and disappear accordingly, based on level, but can be customized nonetheless. Illegal moves will be denoted by an ×, and will be reverted to valid moves when hovering over the level slider.

Going further down will reveal three more sliders: the first is the Attack/Defense IV stat, the second is the Speed/Special IV stat, and the last represents the square root of the stat experience that will be assigned to every stat (essentially the EV). Each value can be set banywhere etween 0 and 255, and will update accordingly on the right-side table. Finally, pressing Start closes the menu, generates the Pokémon, and sends it to your PC. If your current box is full, "making" the Pokémon will fails, triggering an error message stating "The BOX is full!" (ボックスが いっぱい!).

Toolgear (ツールギア)

Pokémon Crystal Debug Toolgear Menu.png

This sub-menu lists the same option as the debug option of the same name first seen in the '97 demo. However, here their behavior is completely broken here:

  • とけい (Clock). Non-functional. Sets bit 0 of $d831 and clears bit 0 of $d835.
  • ざひょう (Coordinates). Non-functional. Sets bit 0 of $d831 and clears bit 0 of $D835.
  • アジャスト (Adjust). Simply refreshes the screen. Attempts to call 3f:4000, which doesn't have any parameter defined.
  • 60びょう (60 Seconds). Sets bit 7 to $d835, then loads the same behavior as "Adjust".
  • 24じかん (24 Hours). Clears bit 7 to $d835, then loads the same behavior as "Adjust".
  • けす (Erase). Non-functional. Clears bit 0 to $d831.

PC (パソコン)

Pokémon Crystal Debug PC Menu.png

Another debug option from '97 demo. Works just as intended.

Page 2

Item (どうぐ)

Pokémon Crystal Debug Item Menu.png

Allows the player to obtain any item of their choosing. Use Up to go forward in the item ID list, and Down to go backwards, with Left increasing the item quantity and Right decreasing it. There is actually a small bug with this option, as the game doesn't prevent the player from going above 99 in the quantity slider. Pressing A gives you the item and displays "The <ITEM> was put in the PACK." (<ITEM>を リュックにいれました). If the selected pocket is full, the string "That item can’t be put in the PACK" (どうぐを リュックに いれられません!).

Revover (かいふく)

Heals your party, displaying the string "Your POKéMON’s HP was healed." (ポケモンの たいりょうくを かいふくしました).

Experimental (じっけん)

Non-functional, simply refreshing the screen. Attempts to call a full-screen menu at 40:76b0. A debug option of the same name from the '97 demo used it to open the Poké Gear.

Game (ゲーム)

Pokémon Crystal Debug Game Menu.png

Loads the debug option of the same name from the '97 demo. The player can choose between "Slots" (スロットマシン), "Poker" (ポーカーゲーム), and "Pair Game" (ペアゲーム). These correspond to the Game Corner slots, Card Flip, and the unused pair game. The fourth option, "Picross" (ピクロス), once again goes unused.

When selecting an option, the string "Will you play with <MINIGAME>?" (<MINIGAME>で あそびますか?) is shown.

Various (いろいろ)

Calls the option of the same name from the main debug menu.


Page 3

Test 1 (テスト1)

Each of the following "Test" options display the line ">Test event <EVENT#>?" (イベント <EVENT#>を テストしますか?), followed by a Yes/No prompt. Here, selecting yes will trigger the message "Start!" (はじめ!) to load, followed by a screen refresh, and then by the message "End!" (おわり!) appearing in a new window. This option appears to be a simple event test, and doesn't do anything besides slightly messing certain overworld palettes.

Test 2 (テスト2)

If the player character is a girl, selecting yes will trigger the message " For a boy!" (おとこのこに!) and then change their spriteset and palette to that of the male player, which is the function used when using the Cable Club (given how Kris's spriteset didn't exist in Gold and Silver). Afterwards, selecting this option again will revert back to the female player, with the line "For a girl!" (おんなのこに!) printed alongside it. This option doesn't work if the player is male, simply returning a line stating "This doesn’t concern a boy!" (おとこのこには かんけいないよ!).

Test 3 (テスト3)

Here, selecting yes hands the player an egg containing a level 20 Abra. If the party is full, then this egg will overwrite the sixth Pokémon.

Test 4 (テスト4)

Here, selecting yes warps the player to the Hall of Fame, though Lance isn't present alongside you. Regardless, the registry works as intended, and so do the credits and subsequent return to New Bark afterwards.

Hatch (うまれる)

If there player has an egg in their party, selecting yes will reduce its hatch counter to one, making it hatch on the next step. This displays the string "It’s going to hatch!" (うまれる!), and if no egg is present then the message "There is no EGG." (タマゴが ない!) is shown. This option only affects one egg at a time, in case the player has several on hand.

Page 4

Tamada (タマダ)

Named after programmer Sousuke Tamada. Attempt to load the same behavior as "Various", though with one of the values set to 1 instead of 0. This causes the game to reboot in SGB mode.

Sogabe (ソガべ)

Pokémon Crystal Debug Sogabe Menu.png

Named after programmer Hishahi Sogabe. Displays the option for selecting the level cap for a Battle Tower challenge. After choosing a level, the game then attempts to make a mobile connection.

Kogaya (カガヤ)

Named after programmer Keita Kagaya. This option deletes the contents of the Card Folder, and removes its password.

Matsuda (マツダ)

Named after programmer Yoshinori Matsuda. Non-functional. The game attempts to call 12:66d0, which doesn't return anything valid.

Tetsuji (テツジ)

Named after designer Tetsuji Oota. This leads the player to a good handful of options, and thus will be discussed in details later on in the page.


Unused Options

The following options are unused within the multi-page debug menu. To access them, use the following Game Genie code ??c-36a-b32, and select the "Tamada" option. Insert hex value 03 for Chara, 0e for Timer, 10 for Floor, 11 for Record, or 13 for Bug Catching.

Test Functions

While only four "Test" debug options are listed, there exists behavior code for a few unused variants:

  • 3f:64ae. Triggers the Dude's Pokémon catching tutorial.
  • 3f:64b8. Hatches the Egg in the player's first party slot. If the first party member isn't an Egg, the screen will just flash white briefly.
  • 3f:64c1. Causes the player character to briefly run in place, disappear, then fall back into place from the top of the screen.
  • 3f:652a. Triggers a wild battle against a level 10 Ditto.
  • 3f:6543. Initiates Team Rocket's takeover of the Radio Tower.
  • 3f:654a. Triggers the credits sequence, specifically the one set to play after defeating Red. Accordingly, the player will found themselves outside Mt.Silver after the credits end.
  • 3f:654c. Overwrites the PC item storage with 99 of items IDs 1 through 50.
  • 3f:6566. Non-functional. Calls function 41:68d6, which is very close to the one called by Various, 41:68dd.
  • 3f:656e. Displays the Mobile connection prompt, though with an incorrect palette.

Chara (キャラ)

An option which was stubbed-out completely. Would have likely behaved like the debug option option of the same name from the '97 demo.

Timer (タイマー)

Loads the same behavior as the "Clock Function" option.

Floor (フロア)

Pokémon Crystal Debug Floor Menu.png

Only seen when standing in the elevator of the Celadon Department Store. From there, this option displays this elevator menu, which has the six floors in reverse order. The elevator will move to the selected floor without any sound or visual effects. Interestingly, this menu can be viewed outside the elevator as long as the backup map ID is one of Celadon Department Store floors. That is, if after stepping in the Celadon Dept.Store elevator, the player hasn't entered another special map, such as the second floor of all Pokémon Center, or elevator of the Goldenrod Dept.Store. However, selecting a floor has no effect outside of the elevator.

Record (きろく)

Pokémon Crystal Debug Record 1.pngPokémon Crystal Debug Record 2.png

When selected, this option triggers two dialogue boxes. The first one prints the string "Number of wild PKMN battles: <#>" (やせいのポケモンとたたかった かいすう <#>かい), with the number of wild battles determined by the two-byte value at $dbd3. However, this value doesn't actually track anything, and so it always returns zero. It's likely this option was intended to be related to the Pokémon News Machine, which does track certain values across your adventure, namely Colosseum wins, and the current Magikarp size record. It's also possible this might have been intended for a newly introduced NPC, not unlike the Poké Seer in Cianwood City.

Afterwards, closing this window triggers a second dialogue box. This one states "Timer status: 00000000" (タイマーのステータス), where the number is the value at SRAM address 0:AC80 displayed in binary… Which also always outputs zero.

Bug Catching (むしとり)

Only seen during the Bug-Catching Contest. This option displays "Remaining Time" (たいかい のこりじかん) followed by remaining time, with it updating in real time!


Debug Event Flag Menu

The contents of the "Tetsuji (テツジ)" debug option.

Visual Japanese Translation
Pokemon Crystal JP Debug Options Tetsuji.png
でんわ Phone
でんわフラグ Phone Flag
ラジオせんきょ Radio Takeover
アオイポイント Buena Points
ジーエスボール GS Ball
カウンター Counter

Phone (でんわ)

Pokemon Crystal JP Debug Options Phone.png

This option brings up a sub-menu on the right side of the screen, which lists every trainer who can be registered in the Poké Gear, as well as Buena. Selecting someone and then closing the menu will then trigger a phone call with the selected character. The full list of contacts goes like so:

Japanese Translation
シュウイチ Schoolboy Jack
メグミ PokéFan Beverly
ゲンキ Sailor Huey
シュン Cooltrainer Gaven
ヒトミ Cooltrainer Beth
エイジ Bird Keeper Jose
ナツホ Cooltrainer Reena
ゴロウ Youngster Joey
コウイチ Bug Catcher Wade
ヤスアキ Fisher Ralph
カオリ Picnicker Liz
ツトム Hiker Anthony
ヨウイチ Camper Todd
ミズホ Picnicker Gina
マイク Juggler Irwin
ヨウタ Bug Catcher Arnie
マナブ Schoolboy Alan
リカ Lass Dana
クリオ Schoolboy Chad
ミエハル PokéFan Derek
ミノル Fisher Tully
マコト Pokémaniac Brent
チサト Picnicker Tiffany
モトヒロ Bird Keeper Vance
ヒデノリ Fisher Wilton
タケノリ Blackbelt Kenji
タロウ Hiker Parry
エミ Picnicker Erin
アオイ Buena

Phone Flag (でんわフラグ)

Pokemon Crystal JP Debug Options Phone Flags.png

This option has nothing to do with the Poké Gear, and instead brings up a sub-menu which lists a series of story flags. The list goes like so:

Japanese Translation Notes
ラジオとう Radio Tower Sets the Radio Tower occupation as over.
ポケモンリーグ Pokémon League Sets the Pokémon League as beaten.
てつどう Railway Sets the Power Plant event as completed.
ロケットだん Team Rocket Sets the Mahogany Hideout as cleared.
ぜんぶオフ All off Clears all four flags.

Radio Takeover (ラジオせんきょ)

Selecting this option gives the player seven badges, which is when the Team Rocket event is set to begin over at the Goldenrod Radio Tower.

Buena Points (アオイポイント)

Selecting this option gives the player 29 points on their Blue Card, one point short of the maximum 30.

GS Ball (ジーエスボール)

Selecting this option will trigger the GS Ball delivery event. To obtain it, simply enter the PokéCom Center, and the Nurse cutscene will play as intended.

Counter (カウンター)

This option calls for function 41:6255, which is among the mobile-related code. It looks like this option was intended to print a number on-screen, but there doesn't set appear to be any defined parameter behind it.


Debug Mobile Adapter Menu

Pokemon Crystal JP Debug Options Mobile Adapter.png

This menu was used to test out the various mobile adapter types. All options besides the first and last trick the game into thinking that the Mobile System GB is plugged in, though of course the game returns a connection error is any mobile-exclusive function attempts to be accessed. The first option, meanwhile, disables the connection spoof, and "Unlimited Mobile" is, as it turns out, not related to any adapter type. Indeed, it simply disables the capped 10 minute limit on mobile battles.

This menu can be accessed by inputting the following Game Genie code, and hitting Select:

3FB-609-F7A
9DB-619-3BF
57B-629-2A7
Japanese Translation
なし なにも つながっていない Nothing There is nothing
connected.
けいたい けいたいでんわの

アダプタを かくにん!

Mobile Check cell phone
adapter.
シーディエムエー シーディーエムエーの

アダプタを かくにん!

CDMA Check CDMA
adapter.
ドコモけいピッチ ドコモけいピッチの

アダプタを かくにん!

DoCoMo PHS Check DOCOMO PHS
adapter.
ディーディーアイピッチ ディーディーアイピッチの

アダプタを かくにん!

DDI PHS Check DDI PHS
adapter.
むせいげんけいたい たいせんむせいげんの けいたい

アダプタを かくにん!

Unlimited Mobile Check unlimited
battle mobile
adapter.


Isolated Debug Options

The following debug options can be accessed by inputting the following Game Genie code and picking the "Options" tab in the overworld menu. The first set of question marks is for the first half of the address, the second set for the third, and the third one for the second (for example, the field option is at 3f:5983, so enter 3f 83 59).

008-189-D5D
008-199-085
008-1A9-4C2
??8-1C9-E6E
??8-1E9-A27
??8-1F9-807
018-229-F72

Field Option

Found at 3f:5983, this option works basically just like the "Field" debug option from the '97 demo.

  • The player gets renamed, though the setup behind it is fairly interesting. Indeed, the game selects a random class (besides Mysticalman), and then uses the name of the first trainer in that class as the new player name.
  • The rival's name is set to "レッド" (Red).
  • The player's money is maxed out at 999999.
  • The player's Coin Case is set to contain 99 coins.
  • The game adds a level 80 Meganium, Typhlosion, or Feraligatr, chosen at random, to the party.
  • The game generates ten random Pokémon between Bulbasaur and Suicune (excluding Unown), and sends them to the PC. The first one listed will be level 21, the second level 22, the third 23, and so on up to level 30.
  • All 251 Pokémon will be listed as both seen and owned in the Pokédex.
  • The Unown Dex will be available, with Unown A set as the first entry (in comparison, Unown G is the form shown in the Pokédex).
  • The Poké Gear is available with all its cards, and the phone numbers ID 01 through 0A are registered.
  • All room decorations are available.
  • Both Raikou and Entei are set to roam the region.
  • The Mystery Egg is set to have already been given to Prof. Elm.
  • The Lucky Number Show's number are randomized.


Moreover, the Pack will be set to contain the following items:

  • Bicycle
  • Old Rod
  • Good Rod
  • Super Rod
  • Coin Case
  • Itemfinder
  • Flower Mail ×6
  • Master Ball ×99
  • Ultra Ball ×99
  • Poké Ball ×99
  • Heavy Ball ×99
  • Level Ball ×99
  • Lure Ball ×99
  • Fast Ball ×99
  • Potion ×30
  • Rare Candy ×20
  • Full Heal ×99
  • One of each TM and HM.

Coordinates Viewer

Pokemon Crystal JP Debug Options Coordinates.png

Found at 12:7048 is a more broken version of a debug option already present all the way back in the '97 demo. This option displays the player's X (エックス) and Y (ワイ) coordinates, though they get frozen on the spot, and trying to exit this window crashes the game.

Rainbow Wing Test

Pokemon Crystal JP Debug Rainbow Wing Test 1.pngPokemon Crystal JP Debug Rainbow Wing Test 2.pngPokemon Crystal JP Debug Rainbow Wing Test 3.png

This option at 12:7173 brings up a menu where the player gets to select either one or all of the three Legendary Beasts. Each option checks if the Pokémon are in the party/PC, and if they have the player's OT name and ID. If all criteria are met, then a text box stating "In" (いる) will be printed at the bottom on the screen. Otherwise, the message will instead state "Not In" (いない). This menu is used to check if the Rainbow Wing check works as intended, given how in order to obtain this time, the player fist has to catch all three Legendary Beasts, and have them in their PC/party.

It's also worth noting that just like with the Rainbow Wing check, this menu will return a negative if one of the beasts is in the Daycare, as the game doesn't check for the Pokémon stored there.

Japanese Translation
みんな
ライコウ
エンテイ
スイクン
All
Raikou
Entei
Suicune

OT ID Editor

Pokemon Crystal JP Debug OT ID Editor.png

Found at 3f:610d, this function prints the string "Which number should be changed?" (へんこうするナンバーを してい してください), and loads a five-number slider the player can adjusts. Using Left/Right moves the cursor according, and so does Up/Down with changing the selected value. Pressing A confirms the new OT ID, which will be assigned not to the player, but to the first Pokémon in the party.

OT ID Randomizer

Function 4b213 is programmed in such a way that it randomizes the player's ID. Maybe have been needed to test out the ID Lottery.

Dummy Function

Found at 3f:5d0a, all this function does is print the string "That can’t be used right now." (げんざい このきのうは つかうことが できません) and nothing else. Maybe a placeholder for debug options which weren't ready yet.

Overwritten Function

Found at 3f:58fc, this function attempts to call an offset which, in the retail builds, is occupied by Weedle's shiny palette. It's anyone's guess what was once found at that spot.

Mobile Trade Test

Pokemon Crystal JP Debug Mobile Trade Broken.png

Function 4b16c is programmed in such a way that it calls for a broken, non-functional mobile trade interface.

Celebi Animation Test

Pokemon Crystal JP Debug Celebi Animation.png

Function 4aea5 is rather simple, merely calling for overworld animation played by Celebi during the GS Ball event, where it swoops down from the sky. Likely just a test to see how it looked during gameplay.

Isolated ID List

Found at 3f:7261 is what appears to be a list of Generation I Pokémon ID numbers. It's unclear what exactly this list was intended for, though it seems to more or less match with a list of Pokémon which could only be obtained via evolution. However, even if that's the case then why is Jigglypuff there, and why are some Pokémon missing (namely Persian, Poliwrath, Primeape, and Rapidash)?

Raw Values Gen I Pokémon ID
07
09
0A
0E
10
14
16
1C
31
42
53
59
5B
63
64
67
68
69
72
7D
7E
8B
8E
95
98
9A
9B
B2
B3
B4
BB
BE
FF
Nidoking
Ivysaur
Exeggutor
Gengar
Nidoqueen
Arcanine
Gyarados
Blastoise
Golem
Dragonite
Ninetales
Dragonair
Kabutops
Omastar
Jigglypuff
Flareon
Jolteon
Vaporeon
Beedrill
Butterfree
Machamp
Cloyster
Clefable
Alakazam
Starmie
Venusaur
Tentacruel
Charmeleon
Wartortle
Charizard
Vileplume
Victreebel
[End Byte]

Isolated Item List

Found at 3f:6e6f is a list of what appears to be item ID numbers, with every second being a quantity of 99. These items were likely handed out to the player by a long-gone debug option, though the presence of items like BrightPowders and Ice Heals suggest that this list might be older than originally expected. Indeed, when converted to Generation I ID values, you end up with two types of Poké Balls, and a series of health items, mainly potion variants

Raw Values Gen II Item ID Gen I Item ID
03 63
04 63
0B 63
10 63
11 63
12 63
13 63
14 63
FF
BrightPowder ×99
Great Ball ×99
Ice Heal ×99
Hyper Potion ×99
Super Potion ×99
Potion ×99
Escape Rope ×99
Repel ×99
[End Byte]
Great Ball ×99
Poké Ball ×99
Antidote ×99
Full Restore ×99
Max Potion ×99
Hyper Potion ×99
Super Potion ×99
Potion ×99
[End Byte]


(Source: Háčky - Research)