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

Pokémon Ruby and Sapphire

From The Cutting Room Floor
Jump to navigation Jump to search
This page contains changes which are not marked for translation.

Title Screen

Pokémon Ruby Version and Sapphire Version

Also known as: Pokémon Version Rubis et Version Saphir (FR), Pokémon Rubin-Edition und Saphir-Edition (DE), Pokémon Edición Rubí y Edición Zafiro (ES), Pokémon Versione Rubino e Versione Zaffiro (IT), Pocket Monsters Ruby & Sapphire (JP/KR)
Developer: Game Freak
Publishers: The Pokémon Company (JP), Nintendo (INT)
Platform: Game Boy Advance
Released in JP: November 21, 2002
Released in US: March 19, 2003
Released in EU: July 25, 2003
Released in AU: April 3, 2003

AreasIcon.png This game has unused areas.
CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
ItemsIcon.png This game has unused items.
Sgf2-unusedicon1.png This game has unused abilities.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
SoundtestIcon.png This game has a hidden sound test.
RegionIcon.png This game has regional differences.
Carts.png This game has revisional differences.

DevelopmentIcon.png This game has a development article
ProtoIcon.png This game has a prototype article
PrereleaseIcon.png This game has a prerelease article
BugsIcon.png This game has a bugs page
DCIcon.png This game has a Data Crystal page

To do:
  • Add more finds from the Pokémon Ruby disassembly project, such as unused graphics found here. Check the text dump.
  • Note transparency palette colors. May help determine who did which sprite. Green potentially is Sugimori's. FRLG changed these.
  • Add an article related to the Enigma Berry and how it gets overwritten by related e-Cards. Everything about the base Enigma Berry in Gen 3 goes unseen unless you hack it into your bag.
  • Add alternate-language versions of all text strings here, and find the hex locations of those that don't currently have it listed.
  • Pokemon sprites lacking black outlines oddity?

Pokémon Ruby and Sapphire are the main third-generation Pokémon games, featuring a new batch of Pokémon, abilities, new stat mechanics, and a LOT of water.


Read about development information and materials for this game.
Development Info
Read about prototype versions of this game that have been released or dumped.
Prototype Info
Read about prerelease information and/or media for this game.
Prerelease Info
Read about notable bugs and errors in this game.


PKMN RS Question Mark.png
Internal Index Order
Not as messy as Kanto, but still interesting.
Unused Text
"This is sample message 1."
Pokémon Ruby sound test 1.png
Debug Menus
A sound test, a handy Pokéblock calculator, and who knows what else?
PokemonRS 27-1.png
Pokémon Festa 2002 Demo Leftovers
Unused content related to the demo that was playable at the Pokémon Festa 2002 event in Japan.
Pokemon Ruby Save Failed Rev 0.png
Version Differences
Various glitches in the games were fixed from the Japanese versions or patched in non-English European versions.

Unused Abilities

The string "No special ability." (Japanese: とくせいなし) is used when the game manages a Pokémon with an Ability of identifier 00. The term is never used in normal gameplay within the final game because all Pokémon were given Abilities.


Cacophony (Japanese: そうおん Noise) is an Ability not assigned to any Pokémon in the final game that has identical flavor text to the used ability Soundproof. It was presumably meant to be the Ability for the Pokémon Whismur, Loudred, and Exploud, given their penchant for noise-based attacks. However, despite there being multiple redundant Abilities for different Pokémon families, Cacophony was dropped in favor of Soundproof, and the Cacophony ability has not reappeared in any later generations.


Palette Oddities

GBA PokemonRubySapphire Venomothpalette.png

Rather interestingly, Venomoth has unused shades of yellow in its palette, despite its design lacking this color entirely. This is, however, explained by the fact that its Generation I artwork depicts it with yellow spots on the back of its wings, a design revision which was even originally planned to appear in Generation II. The presence of these two shades of yellow then makes more sense, especially given how a handful of Kanto Pokémon from Ruby and Sapphire were visibly designed after old Generation I artwork, as seen by Machamp lacking its belt, or by Nidoqueen having fangs. This then means that the devs originally planned for the spots to make a return, only to end up deciding against it, all the while forgetting to update Venomoth's palette data.

GBA PokemonRubySapphire DusclopsPalette.png

Dusclops has a single yellow color in its palette that isn't used anywhere, right beside its eye's palette, and it's both on the normal and the shiny palette, suggesting this color was used late into development before being scrapped.

Unused Map Data

Mossdeep City Gym Tileset

Early Final
PKMN-RS-UnusedTileset.png PKMN-RS-MossdeepCityGym.png

Lilycove Dock Storage Room

An empty map with only one warp, leading to Lilycove Harbor.

Lilycove City Poké Mart

Lilycove City PokeMart.png

A Poké Mart with only two warps and no NPC event data. The warps lead the player to outside Lilycove City's Department Store.

Slateport & Lilycove Harbors

  • There are two unused warps in the Slateport Harbor that lead to an unused warp in Slateport City, itself leading to one of these warps.
  • There are also two unused warps in the Lilycove Harbor that lead to an unused warp in Lilycove City, which was removed in Pokémon Emerald.

Other Unused Maps

CL-Value Name Note
83 Unnamed Contest tileset
84 Unnamed Contest tileset
171-184 Unnamed Cave tileset
227-232 Unnamed Contest Room without Dimension
243 Unnamed No Pointer + Event Data

There are unused duplicates of the landmark names for Meteor Falls, Fiery Path, and Jagged Pass.

Unused Trainer Data

Unused Trainer Sprites


Trainer sprite 0x45 shows an early version of the male Aqua Grunt sprite.

Unused Trainer Classes

There is a "BOARDER" (0x2D) Trainer class that goes unused, presumably leftover from the previous generation. No sprite exists for the Boarder class, so trainers assigned it default to appearing as Youngsters.

Unused Trainers

Ruby and Sapphire contain unused data for several Trainers, some of which are for Trainer classes that don't exist in these games. Most of them have no names; the Boarders have no picture, and appear as Youngsters.

ID Trainer Class Name Money Pokémon 1 Pokémon 2 Pokémon 3 Pokémon 4 Notes
001 AQUA LEADER ARCHIE 1360 Huntail Lv. 17 Sharpedo Lv. 17 Has two Super Potions.
01D AQUA ADMIN 1200 Wailmer Lv. 30 Pelipper Lv. 30
073 LADY 8400 Swablu Lv. 18
089 RICH BOY 8400 Numel Lv. 18
0A8 SWIMMER[m] 336 Sharpedo Lv. 38
144 YOUNGSTER 672 Nincada Lv. 9 Nincada Lv. 9
177 TRIATHLETE 1440 Staryu Lv. 36
179 TRIATHLETE 1440 Staryu Lv. 36
17F TRIATHLETE 1360 Wingull Lv. 26 Staryu Lv. 34 Wingull Lv. 26
181 TRIATHLETE 1440 Staryu Lv. 36
192 BIRD KEEPER 928 Wingull Lv. 29 Taillow Lv. 29 Swablu Lv. 29 Taillow Lv. 29
1F5 BOARDER 580 Roselia Lv. 22 Roselia Lv. 22
1F6 BOARDER 580 Roselia Lv. 21 Roselia Lv. 21 Roselia Lv. 21
1F7 BOARDER 580 Roselia Lv. 23
1F8 BOARDER SONNY 700 Spheal Lv. 35
1F9 BOARDER DONOVAN 680 Spheal Lv. 34 Spheal Lv. 34
1FA BOARDER GERALD 660 Spheal Lv. 33 Spheal Lv. 33 Spheal Lv. 33
1FB BOARDER KELVIN 680 Spheal Lv. 34 Spheal Lv. 34
1FC BOARDER KODY 660 Spheal Lv. 33 Spheal Lv. 33 Spheal Lv. 33
1FD BOARDER TEVIN 700 Spheal Lv. 35
1FE BOARDER DAMON 680 Spheal Lv. 34 Spheal Lv. 34
1FF BOARDER PABLO 700 Spheal Lv. 35
236 MAGMA LEADER MAXIE 1360 Torkoal Lv. 17 Camerupt Lv. 17 Has two Super Potions.
252 MAGMA ADMIN 1280 Carvanha Lv. 30 Mightyena Lv. 30 Uses "Beauty" sprite.
253 MAGMA ADMIN 1280 Poochyena Lv. 30 Swellow Lv. 30
256 MAGMA ADMIN 1280 Carvanha Lv. 21 Sharpedo Lv. 21

Unused Battle Transition Sprites

Unused brendan.png Unused lass.png

Two unused battle transition sprites exist for both Brendan and the Lass Trainer Class. These sprites could be seen in action in a pre-release trailer for the game. Only the Elite Four ever uses the Mugshot screen when the battle begins. It's possible these two sprites were only meant for this trailer or they were planning for every trainer to use it but wouldn't in the end.

(Source: pokeruby)

Unused Weather

The names for the unused weather come from the TAYA menu in the German Ruby debug ROM.

  • Weather ID 04, snow. It depicts four snowflakes falling.


  • Weather ID 09, fog 2. It depicts diagonally moving fog and uses a unique texture.


  • Weather ID 0A, underwater 1. It is the same as underwater 2, except it does not have bubbles.


In Gold, Silver, and Crystal, whenever Rain Dance is used in battle, the game refers to the rain as downpour (Japanese: おおあめ heavy rain).

The exact message still exists in Ruby, Sapphire, FireRed, LeafGreen, Emerald, Diamond, Pearl, Platinum, HeartGold, and SoulSilver to be used when the battle weather type is set to downpour, which never occurs; it was removed in Black and White.

Japanese English
おおあめに なった!
A downpour started!

Ruby and Sapphire added a related message meant to be displayed on each turn while downpour is in effect. It too was removed in Black and White.

Japanese English
おおあめが ふりつづいている
The downpour continues.

The remakes of Ruby and Sapphire, Omega Ruby and Alpha Sapphire, introduced the similarly named battle weather mechanic of heavy rain (Japanese: つよあめ strong rain), triggered by Primal Kyogre's Primordial Sea Ability.

Unobtainable Items

Safari Ball

While Safari Balls can be used in the Safari Zone, they do not appear in the player's Bag there and cannot be obtained elsewhere, rendering their description text unused.

A special BALL that
is used only in the

Berry Juice

The only source of Berry Juice in any of the Generation III games would've been as a held item on wild Shuckle in FireRed and LeafGreen, but the event needed to make Shuckle appear in the wild was never released, so the item is effectively unused.

A 100%
pure juice
that restores HP
by 20 points.

Unused Held Items

Some Pokémon, when found in the wild, have a chance of holding an item. This held item data also exists for some Pokémon which cannot be caught in the wild in the final games. Given how the held item data was carried over, some of these sets are actually used in later series entries. Some of these item rosters were removed in FireRed and LeafGreen.

Unless specified otherwise, all members of a given line share the same held item roster.

# Pokémon Held Items Notes
012 Butterfree (5%) Silver Powder Has held item data, while the rest of its line doesn't.
Butterfree held a Silver Powder in Gen II, and later in HeartGold and SoulSilver.
015 Beedrill (5%) Poison Barb Has held item data, while the rest of its line doesn't.
Beedrill held a Poison Barb in Gen II, and later in HeartGold and SoulSilver.
022 Fearow (5%) Sharp Beak Has held item data, while Spearow doesn't. Used in FireRed and LeafGreen.
027 Sandslash (5%) Quick Claw Changed to a Soft Sand in FireRed and LeafGreen (used).
035 Clefairy (50%) Leppa Berry
(5%) Moon Stone
Changed to only a Moon Stone in FireRed and LeafGreen (used).
036 Clefable (50%) Leppa Berry
(5%) Moon Stone
Changed to only a Moon Stone in FireRed and LeafGreen (unobtainable).
Later used in the Gen V games, and the Moon Stone-only set in Sword and Shield.
038 Ninetales (50%) Rawst Berry Later used in the Gen V games.
046 Paras (50%) Tiny Mushroom
(5%) Big Mushroom
Used in FireRed and LeafGreen.
047 Parasect (50%) Tiny Mushroom
(5%) Big Mushroom
Used in FireRed and LeafGreen.
058 Growlithe (100%) Rawst Berry Changed to only 50% in FireRed and LeafGreen (used).
059 Arcanine (100%) Rawst Berry Changed to only 50% in FireRed and LeafGreen (unobtainable).
061 Poliwhirl (5%) King's Rock Removed in FireRed and LeafGreen. Later used in the Gen IV games onward.
062 Poliwrath (5%) King's Rock Removed in FireRed and LeafGreen. Later used in the Gen V games onward.
064 Kadabra (5%) TwistedSpoon Used in FireRed and LeafGreen.
065 Alakazam (5%) TwistedSpoon Later used in Sword and Shield.
075 Golem (5%) Everstone Changed to a Hard Stone in FireRed and LeafGreen (unobtainable).
079 Slowpoke (5%) King's Rock Removed in FireRed and LeafGreen.
080 Slowbro (5%) King's Rock Removed in FireRed and LeafGreen.
083 Farfetch'd (5%) Stick Later used in the Gen IV games onward.
090 Shellder (50%) Pearl
(5%) Big Pearl
Used in FireRed and LeafGreen.
091 Cloyster (50%) Pearl
(5%) Big Pearl
Later used in the Gen V games onward.
104 Cubone (5%) Thick Club Used in FireRed and LeafGreen.
105 Marowak (5%) Thick Club Used in FireRed and LeafGreen.
110 Weezing (5%) Smoke Ball Removed in FireRed and LeafGreen.
113 Chansey (5%) Lucky Egg Used in FireRed and LeafGreen.
117 Seadra (5%) Dragon Scale Removed in FireRed and LeafGreen.
121 Starmie (50%) Stardust
(5%) Star Piece
Later used in the Gen V games onward.
122 Mr. Mime (5%) Leppa Berry Removed in FireRed and LeafGreen.
124 Jynx (100%) Aspear Berry Removed in FireRed and LeafGreen.
126 Magmar (100%) Rawst Berry Removed in FireRed and LeafGreen.
132 Ditto (5%) Metal Powder Used in FireRed and LeafGreen and Emerald.
143 Snorlax (100%) Leftovers Changed to a Chesto Berry in FireRed and LeafGreen.
Snorlax held Leftovers in Gen II, and later in HeartGold and SoulSilver.
147 Dratini (5%) Dragon Scale Removed in FireRed and LeafGreen..
148 Dragonair (5%) Dragon Scale Changed to a Dragon Fang in FireRed and LeafGreen (used).
Dragonair held a Dragon Scale in Gen II, and later in the Gen IV games onward.
149 Dragonite (5%) Dragon Scale Changed to a Dragon Fang in FireRed and LeafGreen (uobtainable).
Later used in the Gen V games onward.
151 Mew (100%) Lum Berry Used in Emerald as part of the Faraway Island event.
161 Sentret (5%) Oran Berry Used in FireRed and LeafGreen.
162 Furret (50%) Oran Berry
(5%) Sitrus Berry
Later used in HeartGold and SoulSilver.
171 Lanturn (5%) Yellow Shard Holds a Deep Sea Scale in all other games where it can be found in the wild.
173 Cleffa (50%) Leppa Berry
(5%) Moon Stone
Changed to only a Moon Stone in FireRed and LeafGreen (unobtainable).
186 Politoed (5%) King's Rock Later used in the Gen V games onward.
199 Slowking (5%) King's Rock Later used in Black and White and Ultra Sun and Ultra Moon.
200 Misdreavus (5%) Spell Tag Used in LeafGreen.
208 Steelix (5%) Metal Coat Later used in the Gen IV games.
213 Shuckle (100%) Oran Berry Used in Emerald. Changed to a Berry Juice in FireRed and LeafGreen (unobtainable).
215 Sneasel (5%) Quick Claw Used in LeafGreen.
230 Kingdra (5%) Dragon Scale Later used in Black and White and Sword and Shield.
238 Smoochum (100%) Aspear Berry Removed in FireRed and LeafGreen.
240 Magby (100%) Rawst Berry Removed in FireRed and LeafGreen.
241 Miltank (100%) Moomoo Milk Used in Emerald.
242 Blissey (5%) Lucky Egg Later used in Ultra Sun and Ultra Moon and Sword and Shield.
250 Ho-oh (100%) Sacred Ash Removed in FireRed and LeafGreen.
251 Celebi (100%) Lum Berry Has the same held item data as Mew. Was never obtainable holding this item.
262 Mightyena (5%) Pecha Berry Used in Emerald.
267 Beautifly (5%) Silver Powder Has held item data, while the rest of its line doesn't.
Holds a Shed Skin in all other games where it can be found in the wild.
269 Dustox (5%) Silver Powder Has held item data, while the rest of its line doesn't.
Holds a Shed Skin in all other games where it can be found in the wild.
284 Masquerain (5%) Silver Powder Has held item data, while Surskit doesn't. Later used from Platinum onward.
295 Exploud (5%) Chesto Berry Was never obtainable holding this item.
301 Delcatty (5%) Leppa Berry Only found in White 2, where it instead has a 50% chance of holding a Pecha Berry.
306 Aggron (5%) Hard Stone Later used in Ultra Sun and Ultra Moon and Sword and Shield.
317 Swalot (5%) Big Pearl Later used in Black 2 and White 2.
323 Camerupt (100%) Rawst Berry Later used in the Gen IV games.
332 Cacturne (5%) Poison Barb Holds a Sticky Barb in all other games where it can be found in the wild.
362 Glalie (5%) NeverMeltIce Has held item data, while Snorunt doesn't.
372 Shelgon (5%) Dragon Scale Holds a Dragon Fang in all other games where it can be found in the wild.
373 Salamence (5%) Dragon Scale Holds a Dragon Fang in all other games where it can be found in the wild.
374 Beldum (5%) Metal Coat Later used in HeartGold and SoulSilver.
375 Metang (5%) Metal Coat Later used in the Gen IV games onward.
376 Metagross (5%) Metal Coat Later used in the Gen V games.
385 Jirachi (100%) Star Piece Was never obtainable holding this item.
(Source: Pokémon Ruby and Sapphire Disassembly - base_stats.h)

Unused and Region-Exclusive Decorations

Regi Dolls

Regirock, Regice, and Registeel Dolls exist within the games' coding, but they are more or less unobtainable outside Japan, because they were only distributed via a Japan-exclusive "Regi-Dolls Decoration set" e-Reader card. It is possible to obtain them in the non-Japanese versions with the following method:

  1. Scan the appropriate Decoration set card for the Japanese Ruby/Sapphire, which gives a Regi Doll to the Decoration Trader at Mauville City's Pokemon Center.
  2. Exchange records with Japanese Emerald.
  3. Exchange records between Japanese Emerald and non-Japanese Emerald.
  4. Exchange records between the non-Japanese Emerald and non-Japanese R/S of the same language.

Unused Dolls

In the table that holds pointers to graphical data pertaining to object events, there are 6 unused listings for dolls that go unused. The uncompressed graphics start from location 354E28 to 355127 in Ruby and from 354DB8 to 3550B7 in Sapphire.

Index Pokémon Image
76 Natu PokemonRSUnusedNatuDoll.png
77 Magnemite PokemonRSUnusedMagnemiteDoll.png
78 Squirtle PokemonRSUnusedSquirtleDoll.png
79 Wooper PokemonRSUnusedWooperDoll.png
80 Pikachu PokemonRSUnusedPikachuDoll.png
81 Porygon2 PokemonUnusedPorygon2Doll.png

The final game opts for a different, smaller sprite for the Pikachu doll:

Unused Used
PokemonRSUnusedPikachuDoll.png PokemonRSFinalPikachuDoll.png

Unused Graphics

Unused Overworld Sprites

Pokemon RS unused ow sprite.png

An unused character (albeit in a stretched format), present in both games. Notably, it's a revamped version of プランプ/Plump(/the wrestler) from Mendel Palace, Game Freak's first game:

Mendel Palace Pokémon RSE Unstretched
Sumo guy.
Some ugly stretched weird guy.
Pokemon RSE-unused MP sprite-restored.png

These sprites of the Acro Bike go unused because there is no way to get on the front wheel by bunny hopping:


Unused Tiles

PokeRS 104logs.png Log bridge tiles located in ID 2. Comes in vertical and horizontal flavors. These may have been used as placeholders before the unique bridge seen in the final was implemented, as they can be seen on Route 104 in early gameplay footage.

PokeRS vericalbridge.png Vertical bridge tiles located in ID 8. Obviously intended for use in Fortree City, which only uses the horizontal variant.

PokeRS martdoor.pngPokeRS poster.png A door and alternate poster design located in ID 15. The door was possibly intended to be used in a Poké Mart, while the poster goes unused as every map using this tileset uses the poster with horizontal yellow and blue stripes instead.

Early Interface Graphics

Pokemon Ruby & Sapphire early interface graphics.png

What appear to be interface graphics from an early stage of development can be found compressed deeply embedded in the ROM in location 0xD08000C to 0xD085D3, containing graphics for an HP bar and some Pokémon info text. Additionally, five Pokémon icons can be seen. From left to right and top to bottom, these are: Bulbasaur, Ivysaur, Venusaur, Blastoise and Butterfree.

Blastoise's icon only has some minor differences from its icon in the final game, but the icons for the other Pokémon are vastly different; in the case of Butterfree, it's shown in an entirely different pose. The Japanese text, after placing the dakuten in the correct places, reads "Fushigidane", which is the Japanese name of Bulbasaur.


Another set of interface graphics, this time depicting Bulbasaur, Ivysaur and Venusaur again and Charizard compressed in location 0xD07BF4 to 0xD07F57. Interestingly, the Bulbasaur, Ivysaur and Venusaur designs are not identical to the ones above as they have thinner outlines, Ivysaur is thinner and Venusaur's bud is larger. Charizard has a radically different design too, with a thinner head.

Both sets of graphics use the same palette located at 0xD07FB4 to 0xD0800B.

Shiny Celebi

Pokemon Ruby Sapphire Shiny Celebi.png

For the sake of consistency, every Pokémon in every Pokémon game is given a Shiny variant, and Celebi is no exception. However, because the only way to obtain Celebi legitimately was through distributions, which used checks that prevented it from being Shiny, its Shiny version was left unobtainable through normal means. This sprite may still be seen (in a lighter hue) if a Shiny Pokémon Transforms into a Celebi.

Pokédex Pokémon Sprite Placeholder

In the hex slots between Celebi and Treecko (252-276), there exists placeholder data. When one of these slots is forced to appear as a wild Pokémon encounter by the use of a GameShark or similar device, it will use a sprite that looks like a pair of pixelated floating white question marks, and will be named simply "?".

This very placeholder sprite is seen in some early magazine screenshots of Ruby and Sapphire, and was originally used to represent a Pokémon the player hadn't seen yet in the Pokédex. It was eventually replaced by the question-mark-in-a-circle sprite used in the final. This newer version is used for some placeholder Pokémon slots as well, specifically those found in slots 0x00 and everything after 0x19B (the Egg's data).

Unused Used

Unused Berry Sprite

There exists an unused sprite for a berry almost identical to the used Cheri Berry, uncompressed at locations 3C17AC to 3C1C2B in Ruby and 3C1804 to 3C1C83 in Sapphire, with the palette (also uncompressed) coming right after in locations 3C1C2C to 3C1C4B in Ruby and 3C1C84 to 3C1CA3 in Sapphire.

Unused Used

The main difference is in the shading of the berry's shine. Conversely, this graphic is actually used in the debug ROM's Set Ram berry menu.

Unused Timer Ball Frame

When the player throws a Poké Ball, there are 3 frames used, one for the ball closed, partially open and fully open. Each Ball has unique sprites for the first two, however the Dive Ball, Luxury Ball, Premier Ball and Timer Ball are the only ones with unique sprites for the fully open frame, the rest leave that space blank. A generic fully open sprite is used and fills the empty space for the rest of the Poké Balls however due to an oversight, this also overwrites the unique Timer Ball fully open sprite. This is because the function only checks for Poké Ball IDs 6, 10 and 11 corresponding to Dive, Luxury and Premier, but not ID 9 for the Timer Ball.

Unused Used
Unused unique fully open Timer Ball sprite.
Generic fully open sprite with the Timer Ball's palette used in the final games.

Unused Music

Ruby and Sapphire has some unused music, mostly from the previous generation (Gold, Silver, and Crystal). Since they occupy the first slots before new music, they were probably used during testing before new music was made. However, there are exceptions. The Littleroot Town Test Theme with the weird loop is located at $015E, before any other music in the game. $01D3, the Team Rocket theme, is located after all other music.

Bizarrely, the GB Sounds version of the Suicune battle theme in Pokémon HeartGold and SoulSilver is closer to the unused Ruby and Sapphire version than the one originally heard in Crystal.

Source Unused
$015E - Littleroot Town Test Theme (Weird Loop)
$015F - Route 38/39 (G/S/C)
$0164 - Pokémon Communication Center JP (Crystal)
$0165 - Saffron City (G/S/C)
$0166 - Suicune, Raikou, Entei Battle (Crystal)
$01D3 - Team Rocket Invades Goldenrod's Radio Tower (G/S/C)

Unused Pokémon Cries

ID Cry

Two unused cries.

Unused Scripts

Unused Decoration Shop

Next to the script for the Secret Power Club salesman in Slateport City is an unused NPC script. If the player has not yet joined the Secret Power Club, this NPC would say the same text as the used version ("Do you know the TM SECRET POWER?…"), but once the player has joined, they would instead sell the following inventory of decorations: Mud Ball, Slide, Fence Length, Fence Width, Tire, Breakable Door, Solid Board, Stand, TV, Round TV, and Cute TV. All of these decorations, plus a few others, are only available during the Lilycove Department Store's rooftop sales in the final game.

Test Messages

At offset 0x1C6BF9 (English Ruby 1.0), there are three unused scripts which display untranslated Japanese text strings:

Text Translation
テストよう メッセージです!
ポケモンの せかいへ ようこそ!
This is a test message!
Welcome to the world of Pokémon!
テストよう メッセージです!
かんばん です
This is a test message!
This is a signboard.
テストよう メッセージです!
ざひょう チェックの イベントです
This is a test message!
This is a coordinate check event.

There are two more unused scripts next to those. One brings up the screen used to set the clock in the player's bedroom; the other displays the braille text ⠛⠕⠀⠥⠏⠀⠓⠑⠗⠑⠲ ("go up here."), which is used in the game via a different script.

Unused Code

Placeholder Move Texts and Unused Function

Message for using a Normal-type move with an ID greater than 0x162.

When a move with an index number greater than 0x162 (Psycho Boost) is used, the game is programmed not to display the name of the move after "used", but rather a message based on the selected move's type, such as "a NORMAL move" or "an ICE move". This may be an unused debugging leftover. All moves with index numbers greater than 0x162 are invalid in the final game.

If the move's type is invalid, the game may display an invalid string or glitch out.

One of these messages ("a DRAGON move") can be seen with the VBA code 02024BE6:0163, which forces the game to think that the move used was the invalid Dragon-type 0x163 move. Using a hex editor, one can edit the type of this glitch move by changing the byte at offset 0x1FC1D2 in the English Ruby 1.0 or offset 0x1FC162 in the English Sapphire 1.0, to access other messages with the above code.

The equivalent code in Japanese Ruby is 02024946:0163, and the equivalent offset in Japanese Sapphire is 0x1CDF86.

For unknown reasons, in the English versions, there seems to be a bug where if the move's type was Fighting or Electric, the "What should (PKMN) do" and 'Fight/Bag/Pokémon/Run' boxes are temporarily shifted up when the move is used, and black space is left in the area where these boxes are supposed to be. It isn't a side effect of changing an invalid move, because the bug can be seen without changing any glitch move by using the No$GBA debugger to change register r1 to above 0162.

This bug does not appear in the Japanese Ruby when using 02024946:0163 and modifying the relevant offset, so using a Fighting-type or Electric-type move above 0162 displays かくとうわざ or でんきわざ as expected.

The English version messages are as follows. To see them in action, see this video.

a NORMAL move
a FLYING move
a POISON move
a GROUND move
a ROCK move
a BUG move
a GHOST move
a STEEL move
a ??? move
a FIRE move
a WATER move
a GRASS move
an ELECTRIC move
a PSYCHIC move
an ICE move
a DRAGON move
a DARK move

In the Japanese versions, the messages are in the form "(TYPE)わざ" and the types are referred to as they normally are except for the "???" type, which is referred to as a "question" (Japanese: はてな, hatena) move.

(Source: Wack0 and Torchickens (analysis and experimentation))

Unused Move-Combining Code

Hidden in the code is a dummied-out function that allows the player to combine multiple moves into a single, different move during double battles. The function only contains information for the move Gust and Ember, which would combine into Heat Wave.

A text string seemingly corresponding to this combination still exists as well:

The wind turned into a

(Source: Pret Pokeruby Disassembly)

Unseen Struggle Contest Stats

Normally, there is no possible way to use Struggle in a contest, since it is only used when you run out of PP for all moves during a battle. However, it still has full data for contest use coded in, which functions normally in-game if the move is hacked onto a Pokémon's moveset:

Type Appeal Jam Flavor Text
Cool ♥♥♥♥ (none) A highly appealing move.

(Source: ChickasaurusGL)

Unused Mystery Events

The Mystery Events system is designed to add various types of content to the game, primarily by means of the e-Reader. Since Mystery Events are language-locked, and the e-Reader was never released in Europe, the system was entirely useless in the French, German, Italian, and Spanish versions, except for certain Nintendo event distributions. That aside, it includes several features which went unused in all versions of the game.

Special Ribbons

An event of type 08 gives a particular ribbon to all Pokémon in the party, displaying the message "A special RIBBON was awarded to your party POKéMON." The ribbons can use one of seven different sprites and one of the 64 descriptions listed below. Many of these seem to be ribbons that were intended to be awarded at tournaments, but it is not known if they were all actually given out. Four of them refer to towers, such as Darkness Tower, which have not existed in any Pokémon game. There may have been 11 kinds of gift ribbons intended as this event's function "GiveGiftRibbonToParty" (pret naming) allows any index up to 10 to be written to the game's save block, however the last 4 gift ribbon types are unused elsewhere and removed in Gen 4.

(Source: pret pokeruby)
(Source: pret pokeemerald)
Index Name Icon Big Icon
0 Marine Ribbon PokemonRSMarineRibbon-small.png PokemonRSMarineRibbon.png
1 Land Ribbon PokemonRSLandRibbon-small.png PokemonRSLandRibbon.png
2 Sky Ribbon PokemonRSSkyRibbon-small.png PokemonRSSkyRibbon.png
3 Country Ribbon PokemonRSCountryRibbon-small.png PokemonRSCountryRibbon.png
4 National Ribbon PokemonRSNationalRibbon-small.png PokemonRSNationalRibbon.png
5 Earth Ribbon PokemonRSEarthRibbon-small.png PokemonRSEarthRibbon.png
6 World Ribbon PokemonRSWorldRibbon-small.png PokemonRSWorldRibbon.png

Pokémon Colosseum uses the "RIBBON awarded for clearing all difficulties" (with the National Ribbon sprite) and "100-straight Win Commemorative RIBBON" (with the Earth Ribbon sprite), but it awards them by a mechanism other than Mystery Events. The Generation IV games retain compatibility with these ribbons, adding names for each sprite design and slightly altering the descriptions, though they remain unused except for the two from Colosseum.

Gen III name Gen IV text
2003 REGIONAL TOURNEY CHAMPION RIBBON 2003 Regional Tournament Champion Ribbon
2003 NATIONAL TOURNEY CHAMPION RIBBON 2003 National Tournament Champion Ribbon
2003 GLOBAL CUP CHAMPION RIBBON 2003 Global Cup Champion Ribbon
2003 REGIONAL TOURNEY Runner-up RIBBON 2003 Regional Tournament Runner-up Ribbon
2003 NATIONAL TOURNEY Runner-up RIBBON 2003 National Tournament Runner-up Ribbon
2003 GLOBAL CUP Runner-up RIBBON 2003 Global Cup Runner-up Ribbon
2003 REGIONAL TOURNEY Semifinalist RIBBON 2003 Regional Tournament Semifinalist Ribbon
2003 NATIONAL TOURNEY Semifinalist RIBBON 2003 National Tournament Semifinalist Ribbon
2003 GLOBAL CUP Semifinalist RIBBON 2003 Global Cup Semifinalist Ribbon
2004 REGIONAL TOURNEY CHAMPION RIBBON 2004 Regional Tournament Champion Ribbon
2004 NATIONAL TOURNEY CHAMPION RIBBON 2004 National Tournament Champion Ribbon
2004 GLOBAL CUP CHAMPION RIBBON 2004 Global Cup Champion Ribbon
2004 REGIONAL TOURNEY Runner-up RIBBON 2004 Regional Tournament Runner-up Ribbon
2004 NATIONAL TOURNEY Runner-up RIBBON 2004 National Tournament Runner-up Ribbon
2004 GLOBAL CUP Runner-up RIBBON 2004 Global Cup Runner-up Ribbon
2004 REGIONAL TOURNEY Semifinalist RIBBON 2004 Regional Tournament Semifinalist Ribbon
2004 NATIONAL TOURNEY Semifinalist RIBBON 2004 National Tournament Semifinalist Ribbon
2004 GLOBAL CUP Semifinalist RIBBON 2004 Global Cup Semifinalist Ribbon
2005 REGIONAL TOURNEY CHAMPION RIBBON 2005 Regional Tournament Champion Ribbon
2005 NATIONAL TOURNEY CHAMPION RIBBON 2005 National Tournament Champion Ribbon
2005 GLOBAL CUP CHAMPION RIBBON 2005 Global Cup Champion Ribbon
2005 REGIONAL TOURNEY Runner-up RIBBON 2005 Regional Tournament Runner-up Ribbon
2005 NATIONAL TOURNEY Runner-up RIBBON 2005 National Tournament Runner-up Ribbon
2005 GLOBAL CUP Runner-up RIBBON 2005 Global Cup Runner-up Ribbon
2005 REGIONAL TOURNEY Semifinalist RIBBON 2005 Regional Tournament Semifinalist Ribbon
2005 NATIONAL TOURNEY Semifinalist RIBBON 2005 National Tournament Semifinalist Ribbon
2005 GLOBAL CUP Semifinalist RIBBON 2005 Global Cup Semifinalist Ribbon
POKéMON BATTLE CUP CHAMPION RIBBON Pokémon Battle Cup Champion Ribbon
POKéMON BATTLE CUP Runner-up RIBBON Pokémon Battle Cup Runner-up Ribbon
POKéMON BATTLE CUP Semifinalist RIBBON Pokémon Battle Cup Semifinalist Ribbon
POKéMON BATTLE CUP Participation RIBBON Pokémon Battle Cup Participation Ribbon
POKéMON LEAGUE CUP Runner-up RIBBON Pokémon League Runner-up Ribbon
POKéMON LEAGUE CUP Semifinalist RIBBON Pokémon League Semifinalist Ribbon
POKéMON LEAGUE CUP Participation RIBBON Pokémon League Participation Ribbon
ADVANCE CUP Runner-up RIBBON Advance Cup Runner-up Ribbon
ADVANCE CUP Semifinalist RIBBON Advance Cup Semifinalist Ribbon
ADVANCE CUP Participation RIBBON Advance Cup Participation Ribbon
POKéMON Tournament Participation RIBBON Pokémon Tournament Participation Ribbon
POKéMON Event Participation RIBBON Pokémon Event Participation Ribbon
POKéMON Festival Participation RIBBON Pokémon Festival Participation Ribbon
Difficulty-clearing Commemorative RIBBON A Ribbon awarded for overcoming difficult challenges.
RIBBON awarded for clearing all difficulties. A Ribbon awarded for overcoming all difficult challenges.
100-straight Win Commemorative RIBBON A Ribbon awarded for winning 100 matches in a row.
DARKNESS TOWER Clear Commemorative RIBBON A Ribbon awarded for clearing the Darkness Tower.
RED TOWER Clear Commemorative RIBBON A Ribbon awarded for clearing the Red Tower.
BLACKIRON TOWER Clear Commemorative RIBBON A Ribbon awarded for clearing the Blackiron Tower.
FINAL TOWER Clear Commemorative RIBBON A Ribbon awarded for clearing the Final Tower.
Legend-making Commemorative RIBBON A Ribbon awarded for creating a new legend.
POKéMON CENTER TOKYO Commemorative RIBBON Pokémon Center Tokyo Commemorative Ribbon
POKéMON CENTER OSAKA Commemorative RIBBON Pokémon Center Osaka Commemorative Ribbon
POKéMON CENTER NAGOYA Commemorative RIBBON Pokémon Center Nagoya Commemorative Ribbon
POKéMON CENTER NY Commemorative RIBBON Nintendo World NY Commemorative Ribbon
Summer Holidays RIBBON Summer Holidays Ribbon
Winter Holidays RIBBON Winter Holidays Ribbon
Spring Holidays RIBBON Spring Holidays Ribbon
Evergreen RIBBON Evergreen Ribbon
Special Holiday RIBBON Special Holiday Ribbon
Hard Worker RIBBON Hard Worker Ribbon
Lots of Friends RIBBON Lots of Friends Ribbon
Full of Energy RIBBON Full of Energy Ribbon
A commemorative RIBBON for a loved POKéMON. A commemorative Ribbon for a beloved Pokémon.
RIBBON that shows love for POKéMON. A Ribbon that proclaims love for Pokémon.

National Pokédex Upgrade

An event of type 09 displays the message "The POKéDEX has been upgraded with the NATIONAL MODE."

Add a Rare Word

An event of type 0A event adds a specified word from the Trendy Saying category to the game's phrase input system. Upon doing so, it displays the message "A rare word has been added."

In-Game Clock Adjustment

An event of type 0E displays the message "The in-game clock adjustment function is now useable." After this event is received, pressing Left + Select + B on the title screen after Groudon or Kyogre's silhouette appears will lead to a screen which will prompt the user to reset the clock.


Pressing A brings up a second screen on which the in-game time and number of days elapsed can be changed. Despite what the message says, this only changes the timestamps stored in the save file, and not the RTC itself. After the time is adjusted, this function will be disabled, and can only be accessed by receiving the event again.


Unused Messages

"This data cannot be used in this version." is displayed when a received event is marked as being incompatible with that version of the game (Ruby or Sapphire). Because all released Mystery Events are compatible with both games, this message cannot normally be seen in these games. It can, however, be seen in the Japanese Pokémon Emerald when scanning an e-Reader card intended for Ruby and Sapphire.

"The event was safely loaded." is a default message used when there is no specific message for the type of event being loaded. Scripted events, such as the Eon Ticket and Regi doll events, include custom success and failure messages which override the default message, so it is never seen.

(Source: Háčky, Bulbapedia (ribbon list))

Build Dates

version Ruby
ASCII string
Japanese 0x1B32B8 0x1B3248
2002 10 13 16:31
English v1.0 0x1E2810 0x1E27A0
2002 10 15 20:34
English v1.1/1.2 0x1E2828 0x1E27B8
German v1.0/1.1 0x1EF77C 0x1EF710
$Name: debug-Euro-2003-05-09-A $
French v1.0/1.1 0x1EAC08 0x1EAB98
Spanish v1.0/1.1 0x1E7520 0x1E74B0
$Name: debug-Euro-2003-05-19-A $
Italian v1.0/1.1 0x1E449C 0x1E442C