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

Hmmm...
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.

Sub-Pages

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.
Bugs

Resources

PKMN RS Question Mark.png
Internal Index Order
Not as messy as Kanto, but still interesting.
TextIcon.png
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.

NoAbility.png

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.

Cacophony.png

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

PKMN-RS-UnusedTrainerSprite.png

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.

PKMN-RS-UnusedWeather.png

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

PRS-DiagonalFogTexture.png

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

Downpour

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
SAFARI ZONE.

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.

BERRY JUICE
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 game, however, rendering these assignments unused.

# Pokémon Held Items Note
012 Butterfree (5%) Silver Powder
015 Beedrill (5%) Poison Barb
022 Fearow (5%) Sharp Beak
027 Sandslash (5%) Quick Claw
035 Clefairy (5%) Moon Stone (50%) Leppa Berry
036 Clefable (5%) Moon Stone (50%) Leppa Berry
038 Ninetales (50%) Rawst Berry
046 Paras (5%) Big Mushroom (50%) Tiny Mushroom
047 Parasect (5%) Big Mushroom (50%) Tiny Mushroom
058 Growlithe (100%) Rawst Berry
059 Arcanine (100%) Rawst Berry
061 Poliwhirl (5%) King's Rock
062 Poliwrath (5%) King's Rock
064 Kadabra (5%) TwistedSpoon
065 Alakazam (5%) TwistedSpoon
068 Machamp (5%) Focus Band
075 Golem (5%) Everstone
079 Slowpoke (5%) King's Rock
080 Slowbro (5%) King's Rock
083 Farfetch'd (5%) Stick
085 Dodrio (5%) Sharp Beak
090 Shellder (5%) Big Pearl (50%) Pearl
091 Cloyster (5%) Big Pearl (50%) Pearl
094 Gengar (5%) Spell Tag
104 Cubone (5%) Thick Club
105 Marowak (5%) Thick Club
110 Weezing (5%) Smoke Ball
113 Chansey (5%) Lucky Egg
117 Seadra (5%) Dragon Scale
121 Starmie (5%) Star Piece (50%) Stardust
122 Mr. Mime (5%) Leppa Berry
124 Jynx (100%) Aspear Berry
126 Magmar (100%) Rawst Berry
132 Ditto (5%) Metal Powder Available in Emerald.
143 Snorlax (100%) Leftovers
147 Dratini (5%) Dragon Scale
148 Dragonair (5%) Dragon Scale
149 Dragonite (5%) Dragon Scale
151 Mew (100%) Lum Berry
161 Sentret (5%) Oran Berry
162 Furret (5%) Sitrus Berry (50%) Oran Berry
171 Lanturn (5%) Yellow Shard
173 Cleffa (5%) Moon Stone (50%) Leppa Berry
186 Politoed (5%) King's Rock
199 Slowking (5%) King's Rock
200 Misdreavus (5%) Spell Tag
208 Steelix (5%) Metal Coat
213 Shuckle (100%) Oran Berry Available in Emerald.
215 Sneasel (5%) Quick Claw
230 Kingdra (5%) Dragon Scale
238 Smoochum (100%) Aspear Berry
240 Magby (100%) Rawst Berry
241 Miltank (100%) Moomoo Milk Available in Emerald.
242 Blissey (5%) Lucky Egg
250 Ho-oh (100%) Sacred Ash
251 Celebi (100%) Lum Berry
262 Mightyena (5%) Pecha Berry Available in Emerald.
267 Beautifly (5%) Silver Powder
269 Dustox (5%) Silver Powder
284 Masquerain (5%) Silver Powder
295 Exploud (5%) Chesto Berry
301 Delcatty (5%) Leppa Berry
306 Aggron (5%) Hard Rock
317 Swalot (5%) Big Pearl
323 Camerupt (100%) Rawst Berry
332 Cacturne (5%) Poison Barb
337 Lunatone (5%) Moon Stone Available in Sapphire.
338 Solrock (5%) Sun Stone Available in Ruby & Emerald.
354 Banette (5%) Spell Tag Available in Sapphire & Emerald.
356 Dusclops (5%) Spell Tag Available in Ruby.
362 Glalie (5%) NeverMeltIce
372 Shelgon (5%) Dragon Scale
373 Salamence (5%) Dragon Scale
374 Beldum (5%) Metal Coat
375 Metang (5%) Metal Coat
376 Metagross (5%) Metal Coat
385 Jirachi (100%) Star Piece

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:

Clones!
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:

Pokemon-Ruby-Sapphire-Acro-Bike.png

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.

PokemonRSearlyInterfaceGraphics2.png



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
PokemonRSUnusedBerry.png
PokemonRSCherriBerry.png

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
266
269

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 FIGHTING 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
HEAT WAVE!


(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 CHAMPION RIBBON Pokémon League Champion 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 CHAMPION RIBBON Advance Cup Champion 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.

PokemonRSAdjustRTC1.png

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.

PokemonRSAdjustRTC2.png

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
location
Sapphire
location
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