Pokémon Ruby (Debug Version)

From The Cutting Room Floor
Revision as of 14:11, 15 February 2012 by BMF54123 (Talk | contribs)

Jump to: navigation, search

Contents

This is a leaked debug version of Pokémon Ruby, in German, that so far hasn't yet made its way into the hands of the general public. Nevermind, fixed! See below.

TODO: Someone more familiar with the game and/or the German language will have to replace some of the German names with their English translations.

General info

Menus

The debug functions mostly use the game's existing menu system, but lack the polish of a finished product. Some menu items are in Japanese (which displays as gibberish due to font changes), some are in English, and most of the text is in German. Most submenus don't return to their parent menu when closed but just return to the game entirely, sometimes leaving textboxes or cursors on the screen. Some don't make any cursor movement sound, etc. Many options don't give any indication that they've done anything.

Some menus have multiple pages; press left/right to switch page. A activates, B cancels. Some have other controls shown on the screen.

Items described as "???" don't have any apparent effect.

Metadata

The filename is pokemon_ruby_german_final_d.bin; the d probably stands for debug or development. The "final" suggests that there may be prototypes around as well.

Debug functions

  • During any battle, press R+Select to instantly win.

Test Menu

Pressing Select on the title screen opens the test menu.

Ruby-debug-testmenu-1.png Ruby-debug-testmenu-2.png

This menu displays some information about the ROM and a number of testing functions.

Battle

Ruby-debug-battle-setup.png

Leads to a setup screen where you can set up and start a battle between any two teams. Pressing L+Select returns to the title screen.

BATTLE selects the battle type. 01 is a wild battle, 02 to 04 are trainer double battles, 05 is a link battle, 08 is the Wally battle where he captures a wild Pokemon, 09 a Safari Zone battle. Other options are either obvious or unknown. A/B adjust by 1, and L/R adjusts by 10, but adjusting by 10 will only change the background.

Also, pressing Select while the BATTLE option is highlighted will activate additional functions, depending on the current value of the option.

  • 01: This will display the Pokémon evolution sequence, showing the first Pokémon on the opponent's team evolving into the second. As this feature appears to be purely for demonstration purposes, no Pokémon will disappear from the team after the sequence finishes and neither will moves learned during the evolution be retained by the second Pokémon.
Hmmm...
To do:
02 does -something- (shows battle BG, Pokémon is selectable, Y position of sprite can be changed, D-pad changes modes, hangs sometimes), R+Select returns


Move the cursor to the far right to edit the player's team. A/B adjust by 1, L/R by 10. Press Select to edit movesets. Configurations can be saved to 9 different slots. Start begins the battle. Start toggles displaying enemy's HP as numbers instead of a bar.

Editing moveset during battle.

This mode also enables several battle debug functions:

During battle, pressing Start at the move select screen displays some information about the selected move. You can then press Start to view the animation of it being used against the opponent, and Select to see it used against yourself. Left/right/L/R select a move. Up/down adjust the "turn" value. Other values' purposes are unknown.

Press L+R to replace this move with the one selected. (Pressing L will change the selected move, but pressing R will then return to the previous selection and save it.)

Your inventory is stocked with several useful items. You can catch the Pokémon, which ends the battle, but nothing from test battles is saved. Your badges do carry over from the saved game however, so high-levelled Pokémon may disobey.

After the battle, the game returns to this menu.

Sound Test

Ruby-debug-sound-test.png

Just what it says on the tin. Use left/right to select a song or sound effect (not L/R as the text would have you believe) and A to play it. Pressing L opens another sound effect test screen. Pressing R opens a sound driver test screen.

SE Test

Ruby-debug-se-test.png

Accessed by pressing L. Press A to play a sound, left/right to select, L/R to adjust panning. Pan options are 63 (full right), -64 (full left), 0 (centre), LR (transition left to right), RL (transition right to left).

Driver Test

Ruby-debug-sounddriver-test.png

Accessed by pressing R. Gives all sorts of options to experiment with Pokémon cry sounds. Left/right adjust by 1, L/R adjust by 10. Select toggles the first option at the right which seems to be echo. Start toggles the second option which plays the sound in reverse.

Sound Meter

RubySoundtest.png

Accessed by pressing A+Start. It allows you to listen to Pokémon cry sounds similar to the previous menu, but also includes a sound meter for measuring the volume. Since the numbering stops at 384, the last few Pokemon cries are not accessible.

PokéRIEGEL Test

Ruby-debug-riegeltest-1.png Ruby-debug-riegeltest-2.png Ruby-debug-riegeltest-3.png

Seems to be for testing the Pokéblock making function. Left/right select a berry/block type, up/down select a row, L/R adjust the BPM value by 10 (range 0-300). Pressing A displays some results below (6 hex numbers - presumably the block's stats - and the colour). Pressing Select enables display of two sets of hex numbers in place of the colour; the first seems to be a 16-bit counter which stops when you display it, and the second cycles through random-seeming numbers from 0 to 5.

LINK Test2

Ruby-debug-link-test2.png

Displays an odd-looking screen. Pressing L makes it disappear and fade in again. Pressing R also appears to do something, as it makes the game freeze for a few seconds. One of the diamonds in the upper left corner changes to a vertical line occasionally. (May be zeros and ones?) This screen may be a menu with a corrupted palette.

Crash backup data

Erases all save data without any warning or confirmation. Careful!

e-Card Test

Ruby-debug-ecard-test.png

Reads "Connecting... ...Press the B-Button to cancel." message, probably trying to connect to an E-Reader.

Mimic e-Card

Displays the message "CARD-E emulation...". No buttons respond. Presumably emulates an E-Reader for use with another copy of the game.

Time in game

Ruby-debug-timegame-reset.png Ruby-debug-timegame-adjust.png Ruby-debug-timegame-processing.png Ruby-debug-timegame-success.png

Lets you adjust the clock, including number of days passed (up to 9999). Current (Aktuelle) and previous (Vorherige) time always seem to be the same.

The screens read as such in English: "Actual time in game", "Previous time in game", "Reset real-time clock? A: Confirm, B: Back", "Please reset the time", "The time will reset. Data will be backed up. Please wait.", and "Save completed."

RTC reset

Ruby-debug-rtcreset-confirm.png Ruby-debug-rtcreset-success.png

Resets the clock (after pressing A to confirm or B to cancel).

Converter

Ruby-debug-convert-confirm.png Ruby-debug-convert-success.png

Prompts to press A to confirm or B to cancel along with some corrupted Japanese beginning with "save data" decoding to "Convert save data" (セーブデータを コンバートします). Pressing A delays a few seconds (probably doing something to save data), then displays a corrupted "Conversion completed." message (へんかんが しゅうりょう しました!).

Debug menu

Ruby-debug-menu-page1.png

During gameplay, press R+Start to display the debug menu, featuring 8 pages of options. The first several options seem to be named for different programmers. "EXIT" does exactly what you'd expect. (Apparently pressing B is too hard.)

Many of these options only function in appropriate circumstances. For example the berry info option does nothing unless there's a berry plant or soil patch in front of you.

At the right, the current map ID and player's position are displayed.

WATANABE

Saves the game.

SOGABE

Leads to a menu with options "1st round", "2nd round", and so on up to "8th round". Purpose unknown.

TAMADA

Ruby-debug-tamada.png

Displays a corrupted message and plays a sound effect. The first number is always 50000; the second varies. Perhaps related to memory usage? Decodes to "Ran 50000 times. Used 2148 units of time." (50000かい じっこう 2148たんいじかん しょうひ)

KAGAYA

Leads to a submenu:

Trainer's card

Displays your trainer card with all badges and all fields present. Pressing R adjusts the number of stars shown and the corresponding card colour.

Card to exchange

Ruby-debug-dummycard.png Ruby-debug-dummycard2.png

Displays a dummy trainer card with all fields maxed out.

Slot machine

Leads to slot machine game, giving you 1000 credits.

MATUDA

Leads to a submenu:

Contest

Ruby-debug-contest-settings.png

Lets you start a Pokémon beauty contest with any settings. Pressing Select cancels.

Contest results

Displays contest results screen. Crashes if you haven't done "Set highest score" first.

Contest (comm.)

Seems to do the same as "Contest".

Init comm. data

Selecting this doesn't appear to do anything, but the menu will no longer respond except pressing B to close.

Set highest score

Sets up contest results. Choosing "Contest results" after this displays a results screen with a very high score.

Reset highest score

Sets up contest results. Choosing "Set highest score", then this, then "Contest results" displays a results screen with zero score.

Set all art museum items

Not hard to guess what this does.

NOHARA

Leads to a submenu:

TV

Leads to yet another submenu. Most of these options don't seem to actually do anything, but maybe we just need to poke around some more.

Secret type

Ruby-debug-secret-type.png

Displays a lot of numbers and asks "Want to change data type to see secret type now?". Doesn't seem to do anything. The numbers correspond to various TV broadcast information.

Start

???

Create TV

Lets you create/arrange TV broadcasts in some unclear way. If there's a TV in the current room, you must leave and return to see the result. The TVs in your player's/rival's homes don't display these events.

All clear

Resets all TV flags. (The numbers displayed under "Secret type" all become zero.)

All seen

???

Create CM

Similar to "Create TV".

Not yet seen

???

Hit Table

Ruby-debug-hit-table.png

Displays some numbers.

Set full

???

Fan

Guess what, another submenu. Probably related to Pokémon Fan Club?

Start

Make the people on Lilycove Fan Club go towards you.

Increase

Displays a number on the screen.

Reduce

Displays a number on the screen.

Points

Displays a number on the screen.

Play time 6

Adds 6 hours to your play time.

P ELITE FOUR

???

P SECRET BASE

???

P CONTEST

???

P BATTLE TOWER

???

Battle (vs Dad)

Lets you rematch Norman.

Dad after battle

Makes the game assume you've already battled Norman.

SOOTOPOLIS CITY

???

Embark

Forces Mr. Briney to appear in Mr. Briney's Cottage (Route 104).

Yes 9999

???

Legends flag ON

???

Add num of winning streaks

Adds a number of wins to the record on your trainer card.

NAKAMURA

Another submenu!

Berries

Gives you 999 of all berries.

PkMn list

Displays a Pokémon list animation.

Goods

???

Move your base

Displays a menu where you can edit secret base(?) data. (Use "Make bases" option to fill some in.) Press left/right to select a base number. Press up/down to select either the name or the number shown below and A to edit. Use up/down to edit the selected character/digit. When editing the name, Select switches character groups and B erases the name. A accepts.

Although two 5-digit numbers are shown, it is actually a single 32-bit value with a space in the middle.

Make bases(to max)

Fills in all secret bases.

Base location

Displays locations of secret bases.

Moving PkMn

Displays a menu with the name of a place and ADD/DEL/EXIT.

Fishing points

Ruby-debug-fishing-data.png

Displays information about fishing and wild encounters.
The Route 119 locations refer to Feebas, which only appears on thee random spots on this route, selected at random every day.

Set PoKéRIEGEL

Lets you create a PoKéRIEGEL with any stats, which is automatically added to your PoKéRIEGELBOX.

MORI

Another submenu.

Search a child

Displays the name of your first Pokémon along with some corrupted text.

Egg

Creates an Egg instantly (needs compatible parents)

Egg (male)

Creates an Egg instantly (needs compatible parents)

1000 steps

Gives 1000 Exp. Points to each Pokémon in Day Care.

10000 steps

Gives 10000 Exp. Points to each Pokémon in Day Care.

MOVE TUTOR

Displays the Move Tutor menu for your first Pokémon.

Breed an egg

Hatches the first Egg in your party with ~2 steps.

Long name

Overwrites your first Pokémon's name with 10 characters of gibberish. The gibberish name appears to be like "ßがÁßまÇぽÌó+".

Delete PoKéRIEGEL

Empties your PoKéRIEGELBOX.

TOMOMITI

Leads to a submenu:

Contest graphics

Ruby-debug-contest-gfx1.png Ruby-debug-contest-gfx2.png

Lets you view all variations of contest photos.

Art Mus. graphics

Lets you view all variations of art museum photos.

Preview data

Similar to above, but displays without text or background.

TRICK HOUSE

Lets you edit trick house flags.

Control events

Lets you activate various events.

Control flags

Lets you toggle all game mode and event flags. L/R toggle. Events mostly have not-very-descriptive names like FE-CYCLE-01-P01-P01-C103-R0201. There are far too many to list, though they are fortunately categorized. Some interesting ones are under SYSFLAGS:

  • BATCH: Whether you have each gym badge.
  • GET: Whether you have the Pokémon and Pokénav options in the start menu, and some other flags.
  • ...1: Some interesting ones like "SYS-GAME-CLEAR" and "SYS-WEATHER-CTRL".
    • SYS-SAFARI-MODE sets whether you're in the safari game.
  • ...3: SYS-EXDATA-ENABLE sounds interesting.
  • ...4: SYS-ENC-UP-ITEM, SYS-ENE-DOWN-ITEM, SYS-CTRL-OBJ-DELETE sound like possible debugging functions.
    • SYS-B-DASH gives you the running shoes.

Control WORK

Lets you edit various game state variables. L/R adjust. Each is a 16-bit integer.

  • SAVEWORK looks like game progress.
  • SYSWORK is various global settings.
    • WK-SPRAY-COUNT is Repel step counter.
    • WK-FRIENDLY-STEP-COUNT is probably the counter that makes your Pokémon happier by being with you.
    • WK-POISON-STEP-COUNT is poison step counter.
  • LOCALWORK is probably variables for the current map.
  • OBJWORK is probably variables for NPCs.
  • ANSWORK is just one variable with a corrupt name.
  • SAVEWORT part2 is more game progress.

AOKI

Does nothing apparent.

TAYA

Leads to a submenu. This menu has 2 pages.

Weather

Lets you change the weather using L/R.

LANETTE'S PC

Brings up the PC menu.

SimpleText

Lets you set any of the "enter a few words" event texts.

Old man

Displays a submenu: BARD, HIPSTER, RECYCLE, STORYTELLER, GIDDY GUY, Flag OFF, 21 letters, and a corrupted option. None seem to do anything. From the options, should let you choose what character appears in the top left of Mauville's Pokemon Center, but whether it does so is unknown.

Trend

Ruby-debug-trend.png

Displays some data. Translated:

  • HEALTHY SONG
  • HEAT TOURNAMENT
  • APPROVED WATER SPORTS
  • APPEARANCE PHOTOS
  • PRECIOUS RIGHT

Trend R

Seems to change (Randomize?) the data shown under "Trend".

Town flag

Marks all cities as visited on town map, allowing you to fly to any of them.

Award a ribbon

Lets you award ribbons. Use D-pad to move, then A to select. Up/down adjusts value (0/1), A accepts, B cancels. When you close the menu, your first Pokémon receives the selected ribbons.

PkMnLOTTERY

Displays and lets you edit the winning lottery number. Woohoo!

Trainer

Marks some (not all?) trainers as beaten.

POKéNAV D

Displays some corrupt text which appears extremely slowly.

IWASAWA

Leads to a submenu:

CABLE CAR U

Displays the cable car going up scene. You come out at Blütenburg City though, because it's map #0.

CABLE CAR D

Displays the cable car going down scene. Again, drops you off at map #0.

ROULETTE1

Lets you set your casino coin balance, then lets you play the roulette game.

ROULETTE3

Seems to do the same as ROULETTE1.

View a MAIL

Presents a few corrupted submenus that let you view different mail backgrounds.

Make items

Ruby-debug-makeitem.png

Lets you give yourself any item. Up/down advance by 1, left/right by 10.

Transport

Displays the world map. Choose any location (including routes) to fly there, regardless of whether you actually have any Pokémon that can fly, or indeed any Pokémon at all.

Teleport

Returns you to the last Pokémon Center you visited, just like the move of the same name.

Edit your PkMn

Ruby-debug-pkmn-edit.png

Displays a simple menu to adjust your party Pokémon's species, gender, and level. A/B/L/R adjust. You can add new Pokémon by editing empty slots; their encounter type is "Gef" (found). Note that this will not give your Pokémon any moves beyond those they start with.

Switch BG

Lets you turn background layers on/off. Left/right toggle. Takes effect when you press A.

Use HM

Use any HM move. Nothing happens if the move isn't applicable (e.g. using Surf when not facing water).

Control Encounter

Lets you disable random encounters.

Mirage island RND

Ruby-debug-miracleisland.png

Displays message: "Miracle Island emerged - Random numbers:0". Up/down/left/right change the number, A accepts.

Clear flag ON/OFF

Lets you turn something on/off.

Time records

Ruby-debug-timerecords.png

Displays RTC information.

Set time

Another way to adjust the clock.

National PoKéDex

Adds original 251 Pokémon to Pokédex. They won't show up until you also select "Hoenn National Dex".

Create PkMn

Ruby-debug-create-pkmn1.png Ruby-debug-create-pkmn2.png Ruby-debug-create-pkmn3.png

Ruby-debug-create-pkmn4.png Ruby-debug-create-pkmn5.png Ruby-debug-create-pkmn6.png

Lets you create Pokémon and add them to your party. New Pokémon automatically go to the PC if party is full.

This menu has 6 pages (select with L/R).

  • Page 1: Set species, level, EXP, trainer ID, and random variables. The gender and personality defined by the random variables are shown below. Level and EXP automatically adjust when the other is set.
    • ID is a 32-bit value which contains both your displayed trainer ID (low 16 bits) and "secret" trainer ID (high 16 bits).
  • Page 2: Set status (SLP/PSN/BRN/FRZ/PAR/PSN2), Tameness (happiness?), PokéRUS.
  • Page 3: Set moveset, item and special ability.
  • Page 4: Set random values ("IVs") and stat EXP for HP, ATK, DEF. The resulting stats are shown below. The stat EXP cap is not enforced.
  • Page 5: Set random values and stat EXP for SPD, SP ATK, SP DEF.
  • Page 6: Set Cool, Beauty, Cute, Smart, Tough, Sheen.

Pressing Select here plays a sound effect for some reason.

Some information can't be set from this menu:

  • OT name is "Debug-G".
  • Encounter type is "fateful encounter".

However, using the "Edit your Pokémon" menu above changes them to your name and the current location.

Note that the Pokémon created this way will have the full moveset they normally would have at their level, unlike the Edit your PkMn menu.

See PkMn graphics

Lets you view Pokémon sprites and edit their palettes. Start switches normal and shiny palettes. Select plays their cry.

Battle for debug

Ruby-debug-battle.png Ruby-debug-battle-flags.png

Lets you start a battle with any settings. This menu doesn't enable the debug options like the test menu does (showing HP and editing movesets). Nothing appears to be saved (EXP gained, Pokémon caught etc are gone after the battle).

Full set of badges

Gives you all badges.

Hoenn National Dex

Adds all Hoenn Pokémon to Pokédex.

Set Ram berry

Displays a submenu: HP, PAR, SLP, PSN and a corrupted item. None seem to do anything.

See portraits

Lets you view information about trainers or something.

BGM ON/OFF

Turns music on/off. Takes effect next time music would change.

Size comparison

Ruby-debug-sizecompare.png

Displays size comparison of Pokémon and trainer. Up/down position the Pokémon, left/right scale it, select/start choose Pokémon. A switches to editing the trainer sprite.

Safari

Displays a menu that lets you edit safari game settings. The first option just seems to display corrupt text and set your step count to some odd value. The others set step and ball counts. Your current step count is shown below.

Does nothing if not in safari mode.

Rematch trainers

Displays 5 options: See trainers, Max num of steps, Clear num of steps, Flag all set, Flag all clear. Probably controls when trainers will call you.

Hall of fame

Runs the hall of fame registration sequence (which saves the game) and ending.

Mystery event

Lets you turn something on/off.

Legends records

Displays a submenu:

Confirmation

Displays some numbers and corrupted names. Up/down selects.

Max-1 set

Same as "Confirmation", except pressing A sets the displayed number to one less than its maximum.

Zero clear

Same as "Confirmation", except pressing A sets the displayed number to zero.

Weather events

Lets you turn something on/off.

Cell info.

Displays information about the tile you're facing.

Check PoKéRIEGEL

Displays some corrupted text and a number that can be adjusted. Regardless what number you select, it fills every slot in your PoKéRIEGELBOX with 30 black PoKéRIEGELs. The quantity doesn't seem to decrease when using one.

Effort values

Displays "effort values" (stat EXP) of your party. Left/right select a Pokémon. Second last row is total stat EXP. Last is happiness/"tameness".

Hoenn National Dex

Adds all Hoenn Pokémon to Pokédex.

See trainers

Ruby-debug-viewtrainers.png

Lets you view trainer sprites and edit their palettes. Including the unused Team Aqua Trainer's sprite. This is the same menu used for viewing Pokémon sprites, so pressing Start tries to switch normal/shiny palette, but since trainers don't have shiny palettes it just corrupts them instead.

Berrie Info

Ruby-debug-berry-info.png

Displays information about the berry/soil in front of you. Does nothing if you aren't facing one of these.

Battle Tower stages

Lets you edit some parameters related to the battle tower.

End sequence demo

Displays the ending.

Random number test

Ruby-debug-randomnumbertest.png

Lets you test random number generation.

Me-too BackupMan

Displays two options: "write to flash" and "read from flash".

PTIME

Lets you set your total play time counter.

MURAKAWA

Displays a message "Set FLASH ERR" and a yes/no prompt.

KINA(FONT)

Displays a test message.

Message Translations

  • Ja/Nein
    • Yes/No
  • PokéRIEGEL
    • Pokéblock
  • Es existiert kein Speicherstand. Uhrzeit kann nicht eingestellt werden.
    • There is no save point. Time can not be set.
  • Verbindungsfehler... Die Kabelverbindungen überprüfen und die Gerade aus-und wieder einschalten.
    • Connection error ... Check the cable connections and switch straight off and on.
  • Du kannst ohne MÜNZKORB nicht spielen.
    • You can not play without a Coin Case.
      • The Coin Case is item #260.

Most of the corrupted text could probably be read (in Japanese) by replacing the font with that of the Japanese ROM or reading tile numbers from VRAM to see what characters are supposed to appear.

Running the game

Download.png Download Pokemon Ruby (German Debug Version)
File: Pokemon Ruby (German Debug ROM).7z (4.2 MB or so) (info)

Be sure to set the Save Type to Flash 128K, and the ROM should run in most emulators/flash carts.