Please be aware that the server hosting our IRC channel was hijacked.
Old links now point to the incorrect server; please update your links and clients to point to irc.badnik.zone.
The Cutting Room Floor now has a Patreon page. Thanks for all your support!

If you've blocked our ad, please consider unblocking it.
We promise it isn't annoying. No flash, no sound, ever.

Ads by Project Wonderful! Your ad here, right now: $0

Pokémon Ruby and Sapphire

From The Cutting Room Floor
Jump to: navigation, search

Title Screen

Pokémon Ruby and Sapphire

Developer: Game Freak
Publisher: Nintendo
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.


ProtoIcon.png This game has a prototype article

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

Sections

PokemonRS 27-0.png
Pokémon Festa 2002 Demo
Unused content related to the demo that was playable at the Pokémon Festa 2002 event in Japan.
Pokémon Ruby sound test 1.png
Debug Menus
A sound test, a handy Pokéblock calculator, and who knows what else?

Prototype Pokédex Order

While it's not in the same disarray as that of Pokémon Red and Blue, the new Pokémon are nonetheless in a markedly different internal order, compared to the in-game listing. Most notably, Ralts, Kirlia, and Gardevoir apparently weren't so early-game at one point; they're bunched up with the Bagon and Beldum lines at the end. Furthermore, Chimecho appears to have been a late addition, as it's beyond all of the other Hoenn Pokémon, even Deoxys.

There are 25 blank, formatted spots between Celebi and Treecko, too. By default, they all share the cries of Unown in battle, and have Deoxys's Normal Forme stats.

Unused Abilities

Lack of Ability

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

Cacophony is an Ability identical to Soundproof, which is not assigned to any Pokémon in the final game. 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 does not exist in the Generation IV, V, or VI games.

Unused Maps

Lilycove Dock Storage Room

Map 13.11 contains an empty map which has only one warp. This leads to map 13.10, Lilycove Harbor.

Lilycove City PokéMart

Lilycove City PokeMart.png

Map 13.8 is a PokéMart with only two warps near the entrance, and no sprites or shop data. The exits place you outside Lilycove City's Department Store.

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

Unused Warps

Slateport City

PKMN-RS-KainaCityUnusedWarp.png

Warp 09 is an unused warp at X=41 Y=08 (out-of-bounds). The warp leads to 9.9.2, an unused warp in the Slateport City Harbor.

Slateport City Harbor

PKMN-RS-LilycoveHarborUnusedRoom.png

There are two unused warps located at X=19 Y=16 and X=20 Y=16 (out-of-bounds). Both lead to 9.0.1, an unused warp in Slateport City.

Lilycove City Harbor

PKMN-RS-LilycoveHarborUnusedRoom.png

There are two unused warps located at X=19 Y=16 and X=20 Y=16 (out-of-bounds). Both lead to 13.11.1, an unused warp in Lilycove City. Interestingly, the warp was removed in Pokémon Emerald.

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 the game doesn't use, presumably from the previous generation. No sprite exists for the Boarder class, so all trainers appear as Youngsters.

Unused Trainers

Ruby and Sapphire contains unused data for several Trainers, some of which are for Trainer classes that don't exist in this game. Most of them have no names.

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 He 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 THRIATLETE 1440 Staryu Lv. 36
179 THRIATLETE 1440 Staryu Lv. 36
17F THRIATLETE 1360 Wingull Lv. 26 Staryu Lv. 34 Wingull Lv. 26
181 THRIATLETE 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 He 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 Tileset

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

ID 38. It seems to be an early version of the Mossdeep City Gym tileset.

Unused Weathers

There are some unused weather in the game, which can be accessed by using the following GameShark/CodeBreaker code 32025762 00??. The "??" need to be filled with the weather ID and after activating the code, it needs to enter or exit a building.

Three Snowflakes

PKMN-RS-UnusedWeather.png

Weather effect ID 04 appears to show three snowflakes falling, which hints that snow-based routes were originally supposed to make their debut in the third-generation games. This may explain the unused "Boarder" trainer class.

Diagonal Fog

PRS-DiagonalFog.png PRS-DiagonalFogTexture.png

Weather effect ID 09 appears to show a diagonally moving fog, with a unique unused texture.

Bright Fog

PRS-DiagonalFog.png

Weather effect ID 0A appears to show a bright, horizontally moving fog. The fog texture is the same for the used fog weather, with ID 06.

Unused Decoration

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.

Unused Graphics

Unused Overworld sprite

Clones!

This sprite (in its stretched format) exists in Ruby and Sapphire. It's unused, but actually a revamp of a sprite from the first game developed by Game Freak: Mendel Palace.

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

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

Pokemon-Ruby-Sapphire-Acro-Bike.png

Early Interface Graphics

Hmmm...
To do:
Find the offset(s) to the graphics.
Pokemon Ruby & Sapphire early interface graphics.png

What appear to be interface graphics from an early stage of development can be found deeply embedded in the ROM, 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, they 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 reads "Fushigidane", which is the Japanese name of Bulbasaur.

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 it legitimately was through distributions, the Shiny version of Celebi 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.

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.

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)
$0189 - Contest Test 1
$018A - Contest Test 2
$018B - Contest Test 3
$018C - Contest Test 4
$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. This NPC would use the same text if the player has not yet joined the Secret Power Club ("Do you know the TM SECRET POWER?…"), but once the player has joined, he/she would 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 in the final game during the Lilycove Department Store's rooftop sales.

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 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 Text

Development

Hmmm...
To do:
Confirm what text is actually used when the Lilycove Department Store is having a sale.

Several unused messages appear in a group of strings which starts at 0x1A089A in English Ruby 1.0. Many of them were obviously used for testing during development, but they're interspersed with strings related to the Pokémon Center, Poké Mart, and Lilycove Department Store which are used in the final game. Unlike the messages above, these are not referenced by any script, but are fully localized in all releases of the game.

This is sample message 1.
Welcome to the world of POKéMON AGB!
We hope you enjoy this!

This is sample message 2.
Welcome to the world of POKéMON AGB!
We hope you enjoy this!

This is sample message 3.
Welcome to the world of POKéMON AGB!
We hope you enjoy this!

Note that these messages refer to "Pokémon AGB", rather than Ruby and Sapphire. "Pokémon AGB" was the tentative name for both games before the Game Boy Advance was officially revealed, with "AGB" standing for "Advanced Game Boy".

Welcome to the POKéMON CABLE CLUB
TRADE CENTER.

Welcome to the POKéMON CABLE CLUB
COLOSSEUM.

Welcome to the POKéMON CABLE CLUB
TIME CAPSULE.

The Trade Center, Colosseum, and Time Capsule were the three areas of the Pokémon Cable Club in Pokémon Gold, Silver, and Crystal. The Generation III games are infamously known to lack the Time Capsule, and have a Record Corner in its place. These may have been dummy messages; the messages used in the final game go on to explain the service and ask if the player would like to use it.

Welcome!
We’re having a discount sale today!

This text seems to be meant for when the Lilycove Department Store is having a sale, but it's unreferenced.

Fufufu...

Mumble, mumble...

Oh!

Closed today!

Text for one or more obstinate NPCs. This might read like a continuous monologue, but it's stored as four separate strings.

You like the \v4-type POKéMON
\v2?

It contains a POKéMON!

These strings might have been used if the player were choosing their starter Pokémon in a lab, like in previous games. The first is in desperate need of a comma.

We’re making preparations.

I’m a pseudo-GYM LEADER for
interviews.

Ready for a test battle.

These refer to test scripts which seem to have been removed.

What should I do for fun today?

I don't know, maybe you'd like to browse TCRF?

Warp to BATTLE TOWER.

Warp to LILYCOVE.

The time is \v2!

The HALL OF FAME will be accessed.

Lastly, a few shortcuts for the developers. In the final game, the S.S. Tidal can be used to travel to the Battle Tower or Lilycove from Slateport, so these "warp" messages may have been used before the S.S. Tidal was programmed.

Eon Ticket Event

At 0x1C5033 in English Ruby 1.0, there are two text strings intended to be spoken by Norman as part of the Eon Ticket event. No script in the ROM references this text. The actual Eon Ticket event, as distributed through an e-Reader card in North America, includes its own text as part of the event data, instead of using this text in the ROM. The text from the event is very similar, perhaps having been retranslated from the same Japanese source. However, the event's text has several punctuation errors, suggesting that whoever wrote it had a poor understanding of the game's character set. The event also includes specific text for Norman when he cannot give the Eon Ticket because the player's Key Items pocket is full; this text is not present in the ROM.

Unused (ROM) Used (e-Reader Event)
DAD: \v1! Good to see you!
There’s a letter here for you, \v1.

DAD: I guess this is a PASS for a ship.
But I’ve never seen this ship before.
You should find out what this is about
in LILYCOVE.
DAD“\v1! Good to see you!
There’s a letter here for you,\v1.

DAD“It appears to be a ferry TICKET.
but I’ve never seen one like it before.
You should visit LILYCOVE and ask
about it there.

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 hex:0163 move. Using a hex editor; one can edit the type of this glitch move by changing the byte at offset 0x1FC1D2 in a US Ruby (MD5 53D1A2027AB49DF34A689FAA1FB14726) or offset 0x1FC162 in a US Sapphire (MD5 F34E91399C719812E66E2C828A2E93D7), to access other messages with the above code.

The equivalent code in Japanese Ruby (MD5 27C9F37193977828F9808F3F76FF8C76) is 02024946:0163, and the equivalent offset 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 is not a side effect of changing an invalid move, because the bug can be seen without changing any glitch move with No$GBA debugger when changing register r1 to above 0162.

This bug has not been seen in the Japanese Ruby when using 02024946:0163 and modifying the relevant offset, as 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, apart from the "???" type, which is referred to as a "question" (Japanese: はてな, hatena) move.

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

Pokédex Pokémon Sprite Placeholder

Unused Used
??
(?)

In the hex slots between Celebi and Treecko (252-276), there exists placeholder data. Generally, this data is inaccessible by normal means. However, with the use of a GameShark or similar device, it is possible to bring this placeholder data up in a wild Pokémon Battle as it is coded as an actual Pokémon in the game to prevent crashing when the data is force loaded. A similar method was employed with the infamous Glitch Pokémon Missingno. from Generation 1 games, which is why it existed in the first place. This odd placeholder Pokémon appears as a pair of pixelated floating white question marks and goes by simply "?".

This very placeholder is seen in some early screenshots of Ruby and Sapphire found in some magazines in the Pokédex 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 picture in the final. This version is coded as an actual Pokémon as well and is found in slots 0x00 and everything after 0x19B (the Egg's data).

Struggle Oddity

When the move Struggle is used in a contest, it is considered a Cool move. However, 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 fight.

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

Hmmm...
To do:
Upload the unused ribbon sprites.

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 ever were awarded. Four of them refer to towers, such as Darkness Tower, which have not existed in any Pokémon game.

Pokémon Colosseum awards 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 does this using 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 will lead to a screen which asks "Reset RTC? A: Confirm, B: Cancel". 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 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
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

Regional Differences

Acro Bike lockup

Hmmm...
To do:
How long do you have to keep bunny hopping for?

In the Japanese version, continuously doing bunny hops (by holding B) in a patch of grass may cause the game to freeze after a wild battle. The game will not freeze if you weren't bunny hopping for too long, but the exact time you are required to bunny hop for is unknown. If the freeze is caused at the peak of Mt. Pyre, the clouds still move. This has been fixed in international versions.

YouTube videos: Mt. Pyre, Route 117.

Sand Ornament Glitch

Another Japan-exclusive glitch. In a Secret Base, it's possible to create a hole where a poster originally was, with a Sand Ornament and either a one-tile or three-tile poster.

Place a Sand Ornament against the wall, then collapse it by pressing A. After collapsing it, put either a one-tile or three-tile poster behind the crumbled Sand Ornament, then exit and return to the Secret Base. This will cause the Sand Ornament to reappear in its original form, but with the poster behind it (placing a poster behind an un-collapsed Sand Ornament is normally impossible). When you collapse the Sand Ornament again, a hole will appear on the tile where the top of the Sand Ornament was.

In the localizations, it's not possible to place a poster behind a collapsed Sand Ornament.

YouTube video.

Surf On Land Glitch

In the Japanese version, you could use the Acro Bike to surf on land by jumping right next to the coast at a specific spot of Route 118 and using Surf at the right moment while in mid-air. This was fixed in the international versions.

YouTube video.

Trick Glitch

In the Japanese version, Trick can be used to switch mail with another item that the enemy Pokémon was holding. This results in an item that has the mail icon, but acts like the item received with Trick. If this glitch is repeated six times, mail can be given to the Pokémon without having to attach a message, and you can just infinitely withdraw the item from your Pokémon by giving it mail then withdrawing it again. This can also glitch up tiles (allowing you to walk on water and similar things) if you try to give the glitch mail to another Pokémon in your party and change a phrase field. The type of a corrupted tile depends on the phrase. The location of a corrupted tile depends on the phrase field that the new phrase was written to.

In all other versions of Ruby and Sapphire, Trick will fail if either Pokémon is holding mail, making the glitch impossible to perform.

YouTube video.

Trainer Ledge/Fence/Wall Glitch

In earlier versions of Ruby and Sapphire, such as the English version, there are trainers in Route 118, Route 121, and the Abandoned Ship (Aroma Lady Rose, Gentleman Walter, and Tuber Charlie, respectively) which can walk through ledges/walls if they spot the player. This glitch was fixed in later versions of Ruby and Sapphire, such as the Spanish version, as well as all versions of Emerald.

Hmmm...
To do:
Take a thorough look at the Japanese, French, German, and Italian versions and see if this glitch works or not.

YouTube video.

Victory Road

In B1F of Victory Road, there is a ledge near a certain staircase in the Japanese and English versions. Here, if the player jumps the ledge to the left, s/he must go through a long path through B1F and B2F to be able to go back to the right of the ledge. In non-English European versions, the ledge was shortened by one tile, making this path accessible in both directions. The ledge was removed entirely in Emerald and the remakes.

Japanese/English Spanish/Italian/French/German
Pokemon RS JU Victory Road.png Pokemon RS Eur Victory Road.png

Trainer Sprites

Japan International
PKMNRSE Trainer1JAP.png PKMNRSE Trainer1INT.png
PKMNRSE Trainer2JAP.png PKMNRSE Trainer2INT.png
Pokemonrs-coolmalejap.png Well, at least his head doesn't look like an anvil anymore...
Pokemonrs-sailorjap.png Pokemonrs-sailorint.png

Certain trainer sprites in Ruby, Sapphire, and Emerald were changed for the international versions. For example, Hex Maniacs were changed to have smaller eyes with pupils in their battle pose, and the female Psychics have their arms stretched outwards (possibly because players might confuse the hands around their chest due to the handheld screen's resolution). The Male Cooltrainer has minor changes to his hairstyle.

The most notable is the sailor, whose pose resembles a gesture called the "Bras d'honneur" involving raising a fist and slapping the biceps on the same arm as the fist used, also known as the Iberian slap or Iberian finger, which is equivalent to giving the middle finger in countries that speak Spanish, Portuguese, or French.

Font Differences

The large font used for most text in the game was redesigned for the European localizations, so that accented and unaccented capital letters are the same height. In the English version, unaccented caps are taller and accented caps are shorter. The letter ç was also significantly redesigned, and the ligatures Œ œ, letter Q, and digit 0 were made wider. Shown here is the font from the German games; the French, Italian, and Spanish fonts differ from the German only in the quotation marks and the translations of the "Lv" and "POKéBLOCK" characters.

English (Revision 1) German
Pokemon Ruby Large Font E.png Pokemon Ruby Large Font D.png

The quotation mark characters 0xB10xB4 differ between languages, and are available for use in nicknames. Trading a Pokémon between different language versions will cause its name to be displayed differently if it contains quotation marks, with the exception that Japanese names are always displayed using the Japanese font in other versions. If the Pokémon is transferred to Generation IV, the characters will be converted based on the language in which the Pokémon was originally generated.

0xB1 0xB2 0xB3 0xB4
Japanese
English
Italian
Spanish
French « »
German

Battle-e Cards

The image displayed by the Japanese Pokémon Battle-e Trainer cards when they are scanned into the e-Reader+ seems to show some sort of bizarre circuitry above the elevator doors. On the English cards, this is replaced by a placard with the words "BATTLE TRAINER". The red palette used for this placard is present, but unused, on the Japanese cards.

Japanese English
Hey, kid! I just had a double shot of espresso, and I am wired! I need to talk to someone, so you'll have to do!

Revision Differences

English Revision 1

This revision was issued only for the English versions, primarily to correct localization errors in the original.

Font Differences

Original Revision 1
Pokemon Ruby Large Font Rev 0.png
Pokemon Ruby Small Font Rev 0.png
Pokemon Ruby Large Font Rev 1.png
Pokemon Ruby Small Font Rev 1.png

The six glyphs highlighted in red were replaced with glyphs created for the French localization. The superscript er is simply a more legible version of the glyph which was already in that slot; the others replace leftover Japanese small kana. None of these characters are used in the English game, and they are not available to be entered as nicknames or Trainer names, so these changes have no apparent effect. (The small kana can be used in names in the Japanese version, but non-Japanese versions use a separate font to display Japanese names.)

Name Change During Evolution

Hmmm...
To do:
Specific cause of the glitch.

In the original English release, any Pokémon will have its name changed when it evolves as long as its current name is the same as the species name (which presumably means it's not a nickname; the game doesn't actually keep track of whether a Pokémon has been nicknamed until Generation IV). In Revision 1, this was changed so that it only applies to Pokémon which originated in an English-language game. For example, a Bulbasaur named BULBASAUR recevied in a Spanish-language game, if traded to the original English Ruby or Sapphire, would be named IVYSAUR when it evolves, but if traded to a later revision, its name would remain BULBASAUR. The Revision 1 behavior was carried over to the European localizations of Ruby and Sapphire and to all releases of FireRed, LeafGreen, and Emerald.

This change prevents an issue which can occur if a Pokémon whose English name is 5 letters or fewer is given that name as a nickname in a Japanese game, traded to the original English Ruby or Sapphire, and then evolved into a Pokémon with a name longer than 5 letters (e.g., Pichu into Pikachu). Because the Pokémon is still treated as having a Japanese name but the name is longer than 5 characters, the English game may freeze when trying to display the new name.

Text Differences

Original Revision 1
Welcome to the POKéMON CABLE CLUB
RECORD CENTER.
You may mix your records as a TRAINER
with the records of your friends.
Would you like to mix records?
Welcome to the POKéMON CABLE CLUB
RECORD CORNER.
You may mix your records as a TRAINER
with the records of your friends.
Would you like to mix records?

The name "Record Corner" was used everywhere else in the game, so this was changed for consistency.

Original Revision 1
Hello!
It’s time for TODAY’S SMART SHOPPER.
INTERVIEWER: How are you, viewers?
Today we’re visiting the POKéMON MART
in \v3.
Let’s check on what the hot sellers
have been recently.
Hello!
It’s time for TODAY’S SMART SHOPPER.
INTERVIEWER: How are you, viewers?
Today we’re visiting a shop
in \v3.
Let’s check on what the hot sellers
have been recently.

This TV program can be shown after mixing records with another game, and will mention an item purchased by the player of that game. Since items can be purchased from shops that are not Poké Marts, the original English text would sometimes be inaccurate.

Original Revision 1
PARAS has parasitic mushrooms growing
on its back called tochukaso. They grow
large by drawing nutrients from the BUG
POKéMON host. They are highly valued as
a medicine for extending life.
PARAS has parasitic mushrooms growing
on its back called tochukaso. They grow
large by drawing nutrients from this
BUG/GRASS POKéMON host. They are
highly valued as a medicine for
extending life.

Paras is a dual-typed Pokémon, and it's apparently vital that the Pokédex description tells you this. But the remakes Omega Ruby and Alpha Sapphire use the original description with "Bug Pokémon", minus the caps lock, so maybe it's not so vital after all.

Original Revision 1
MAWHILE’s huge jaws are actually steel
horns that have been transformed.
Its docile-looking face serves to lull
its foe into letting down its guard.
When the foe least expects it, MAWHILE
chomps it with its gaping jaws.
MAWILE’s huge jaws are actually steel
horns that have been transformed.
Its docile-looking face serves to lull
its foe into letting down its guard.
When the foe least expects it, MAWILE
chomps it with its gaping jaws.

Mawile's Pokédex entry in Ruby mistakenly spelled its name with an H. Sapphire has a different Pokédex entry which spells the name correctly.

Original Revision 1
A TOPGEPI doll.
Place it on a mat
or a desk.
A TOGEPI doll.
Place it on a mat
or a desk.

Togepi's name was also misspelled, in the description for the Togepi Doll. It would take quite some effort to actually encounter this typo, since the Togepi Doll is only obtainable in Ruby and Sapphire by sending it from Emerald using the Trader in Mauville City.

Original Revision 1
This item can’t be used on
that POKéMON.
This can’t be used on
that POKéMON.

This message has nothing to do with items; it's actually seen when attempting to use the field move Softboiled or Milk Drink to heal a Pokémon which is either fainted or already at full health. As with the Togepi Doll, this may have slipped through the cracks because Softboiled and Milk Drink cannot be learned by any Pokémon available in Ruby and Sapphire; they can only be obtained by trading with a later game.

"Save Failed" Text Overflow

Original Revision 1
There is nothing wrong with your television set. Do not attempt to adjust the picture.
We will control the horizontal. We will…um…
…okay, NOW we'll control the vertical.
Changing the battery isn't going to help.

This screen is shown when the game is unable to save the game correctly because of a hardware error in the cartridge's flash memory (which, by the way, has nothing to do with the internal battery). The original English version tries to fit four-line messages into a three-line text box; the results aren't pretty, with text cut off at the edge of the screen and overwriting the text box graphics. Revision 1 fixed this by making the text box taller. However, both versions fail to fully clear the first line during the checks, which can result in the text reading as "Save failed.eted." during the process.

(Source: source needed)

Berry Glitch

In the original release, Berry growth and other events based on the game's day counter will become frozen for 366 days, starting 366 days after the cartridge's real-time clock is initialized. This is caused by an off-by-one error in the function which translates the calendar date supplied by the real-time clock into a day counter for in-game use. It was fixed in English Revision 2, and in Revision 1 for all other languages.

For players with older cartridges, a "Berry Program Update" was distributed in Pokémon FireRed, LeafGreen, Emerald, Colosseum, and XD, the Colosseum Bonus Disc, non-Japanese versions of Pokémon Box Ruby & Sapphire, European and Australian versions of Pokémon Channel, GameCube Interactive Multi-Game Demo Disc Versions 14 and 16, and a pair of Japanese e-Reader+ cards. These programs will set the real-time clock forward if needed to compensate for the effects of the glitch.

(Source: Háčky, Bulbapedia)