Also known as: Mario Story (JP)
This game has unused areas.
This game has a prerelease article
This game has a notes page
This game has a bugs page
Paper Mario is the second RPG starring Nintendo's mustachioed mascot, and the first in the successful Paper Mario series.
- 1 Sub-Pages
- 2 Unused Music
- 3 Unused Graphics
- 4 Unused Models
- 5 Unused Enemies
- 6 Unused Party Members
- 7 Internal Map Group Names
- 8 Test Areas
- 9 Unused Text
- 10 Unseen Behavior
- 11 Crash Handler
- 12 Oddities
| Unused Enemy Formations|
The amount of unused enemy formations is just ridiculous.
| Unused Items|
Some of these are quest items
| Unlocalized Japanese Text|
This message shouldn't appear.
| Version Differences|
Welcome to Kinoko Town!
Two unused tracks can be found in the game's soundtrack, which seem to be early versions of the intro/title themes. The segment at 0:50 is the same in the final intro theme, accompanying Bowser's appearance. The second track would be for the title screen following it. Interestingly enough, the beginning of the first track was reworked into the song played in the ending scene after Bowser's Castle is destroyed.
The intro song is actually split into two parts. The first part plays until 1:07 before being replaced by the second part, but the actual song is 1:27 long.
Unused Music Variations
Some songs in the game have unused variations. Details on the Notes page.
It's a sped up and shorter version of the normal song.
Starts mid-song, ends abruptly.
The End Theme
Begins as a sped up version of the normal song, it returns to normal tempo when the "Chanterelle's Song" segment starts.
Lakilester's "Spike's" Theme
All ROM offsets given are for the Japanese version.
A simple test graphic.
A sprite of Princess Peach kissing someone (likely Mario, if the rest of the franchise is any indication). Her palette suggests the scene would take place during the first part of the ending when Peach's Castle is descending to the earth.
A sprite of Tutankoopa without his headdress, revealing blond hair underneath. It's possible in an earlier version of the cutscene preceding his boss battle his floating headdress returned to his head, rather than Tutankoopa being assembled from particles underneath it. In the final cutscene, the individual particles use his normal standing sprite, with the headdress on.
Alternate colors of Ninjis, as only black ones appear in-game.
Pause Menu Icons
Offsets: 139DB4, 139F20
Badge and map icons from an earlier version of the pause menu.
Mario's head in profile. Appears right before the smaller Mario head used on the stats menu, so it is likely just a larger version of it.
Offsets: 13BE40, 13BFA0
"Super" and "Ultra" prefixes, which go untranslated in the international versions.
Battle Menu Icons
Offsets: 1C00E0, 1C0C30
Some early battle icons. The blue bag was used for the partners menu at one point.
Offsets: 9B040, 9B180
Charge icon for Goombario, as well as a generic version. While a corresponding jump/hammer icon shows up whenever Mario uses Jump/Smash Charge, Goombario never gets one.
A battle counter reading ○かいめ ("X-th time") that goes up to 3. What this was for is unknown, and it too goes untranslated. The numeral font closely resembles one used for the main HUD in early screenshots.
An earlier version of the star that appears at the end of dialogue boxes. This one is in the same graphical style as the character sprites, with no shading and a thick outline.
An earlier version of Chuck Quizmo's audience. This one is static and divided into left and right halves, while the used audience members are full-body sprites that move individually.
Offsets: 92EA0, 930C0
Action Command prompts for the Control Stick moving up and down. No moves require you to tilt the stick vertically, but there is unused text in the Japanese version for a cut Action Command that involved rotating it Mario Party-style, which these graphics may have been part of.
Close to the sprite for the Super Block disc is a variant with a "U" insignia. Text exists in the Japanese version for a scrapped "Ultra Block" object (which was replaced with the Ultra Stone), which this almost certainly would have been used for.
Early General Guy
The textures for the Shy Guy's Toy Box map (the map itself, not NPCs) has a seemingly unused texture depicting an early design of General Guy. Its called "omo_shy_atafuta0tif". "Atafuta" refers to the sound of something being done in a hurried, slapdash fashion-- likely in reference to the rough nature of the sprite rather than anything General Guy's doing.
Add the Star-Rod-extracted-ROM folder, if necessary.
What it says on the header. These were later used for the butterflies flying around Petalburg in Paper Mario: The Thousand-Year Door.
Broken "Fully Cracked" Frozen Lake
The frozen lake in Shiver City has a third, fully-cracked model that would've appeared if Mario ground pounded the ice three times. Since Mario gets kicked out of the area after the second ground pound and the lake resets upon re-entering the area, the third model can't be seen normally.
It can be seen by performing a glitch or by using a GameShark code.
Fun with palette swapping. You can see the working enemies in action here.
These enemies appear as living statues in the Crystal Palace, but are never actually fought. However, they can be fought using GameShark codes. They only know one attack, which is a charging ram that hurts Mario. Goombario even has a tattle for them:
This is an Albino Dino. Albino Dinos are the guards of this frosty place.
Max HP: 8, Attack Power: 4, Defense Power: 4 Fire attacks won't work.
Their defense power is huge, so let's reduce their HP steadily using our strongest damage-dealing attacks.
A blue Fuzzy. All that's been found is the enemy name and blue palette.
A winged version of the Dark Koopa enemy that was just never used. However, this enemy would later go on to be used in the game`s sequel. They too can be fought with GameShark codes. Their attacks are basically the regular Paratroopa's attacks sped up. If jumped on, they lose their wings and become Dark Koopas. Goombario has a tattle for it as well:
This is a D. Paratroopa. D. Paratroopas are Para- troopas who live in the Toad Town Tunnels.
Max HP: 8, Attack Power: 3, Defense Power: 2
Hammer attacks won't work because they're airborne.
They'll lose their wings if you jump on 'em.
They'll become Dark Koopas when they fall, but be careful! They'll do a dizzy attack once they're grounded.
This is not the sub-boss with the same name. There are two different entries for Red Goomba in the enemy name table.
This is a Red Goomba with wings. Yep. Red Paragoombas originally appeared in Super Mario Bros. 3, which this game draws a number of elements from.
Looking in the scripts extracted with the Star Rod tool, it seems like there are three enemy versions of Whacka. Also, maybe he's less buggy in the Japanese version of the game.
Interestingly, Whacka has an entry in the enemy name table and a tattle! Based on the tattle, it seems that earlier in development, instead of disappearing after being hit enough times, he would attack. Whacka also crashes the game if he does an attack.
コブロンだ あのタンコブって タコヤキみたいだよね
This is a Whacka. That Bump on his head looks like a donut hole.
マリオが あんまり 何回もたたくから おこって 出てきたみたいだよ
It seems he's gotten mad because you hit him so many times.
You probably shouldn't have hit him so much. He looks a little peeved.
Unused Party Members
You can add Goombaria as a party member by using the GameShark code 8010F2F4 0001. She'll appear at the end of the party member list (by pressing C-Right) after all others, but with Kooper's icon.
She'll follow Mario around on the overworld like normal party members, but she has no special ability. She'll also show up on the Change Member menu inside a battle, however she doesn't appear to have anything programmed for battles and thus will crash the game. If she is the currently active party member, pressing C-Right to bring up the party member menu will crash the game if you're not playing the Japanese version in which an unused option will be spawned but not selectable.
Goompa is technically another 'unused' party member. He does join you at the beginning of the game but he is not active in battle. However, by switching a status flag you can make him active. He has up to 4 abilities but none of them are programmed in so they do not function. It is heavily indicated though that he was intended to be playable but got scrapped.
Internal Map Group Names
In addition to the short abbreviated map group names, Japanese map group names exist as Shift-JIS text in the ROM. Only "Abbreviated Name" and "Japanese Name" in the below table are from the data in the ROM. The rest of it is supplementary. The table below lists them in the opposite order to how they are in the ROM (if we are interpreting the data as just a basic struct-like list).
|Goomba Village||area_kmr||クリむら||Kuri-mura||Chestnut Village||Same as in-game Japanese name.|
|Toad Town Tunnels||area_tik||まちのちか||Machi no Chika||Town underground||"Ti" is the Kunrei-shiki romanization of "chi".|
|Whale's belly||area_kgr||くじらのなか||Kujira no naka||Inside the Whale|
|Peach's Castle||area_kkj||きのこ城||Kinoko-jō||Mushroom Castle||Same as in-game Japanese name.|
|Shooting Star Summit
|area_hos||星ふる丘||Hoshi furu oka||Falling Star Hill||Same as in-game Japanese name, except without the possessive particle (星の降る丘).|
|Koopa Village||area_nok||ノコノコむら||Nokonoko-mura||Koopa Village||Same as in-game Japanese name, except without the kanji for mura (村).|
|Koopa Bros. Fortress||area_trd||とりで||Toride||Fortress|
|Mt. Rugged||area_iwa||岩山||Iwayama||Rocky mountain|
|Dry Dry Outpost||area_dro||カラカラタウン||Karakarataun||Dried-Up Town||The abbreviated name may come from dorobō (ドロボー), meaning "thief". Dry Dry Outpost is mentioned as having been founded by thieves.|
|Dry Dry Desert||area_sbk||カラカラ砂漠||Karakara sabaku||Dried-Up Desert||Same romaji as in-game Japanese name.|
|Dry Dry Ruins||area_isk||カラカラいせき||Karakara iseki||Dried-Up Ruins||This differs from the in-game Japanese name of アラビンいせき (Arabin iseki, "Arabin Ruins").|
|Forever Forest||area_mim||迷いの森||Mayoi no mori||Lost Forest||Same romaji as in-game Japanese name.|
|Boo's Mansion||area_obk||テレサハウス||Teresahausu||Boo House||Differs from the in-game Japanese name of テレサのおやしき (Teresa no o-yashiki, "Boo's Mansion"), though the area is referred to by the earlier name at least once in the Japanese script. "obk" comes from obake (お化け), which means "ghost".|
|Tubba Blubba's Castle||area_dgb||ドガボンの城||Dogabon no shiro||Tubba Blubba's Castle||Same as in-game Japanese name.|
|Shy Guy's Toy Box||area_omo||ヘイホーのおもちゃばこ||Heihō no omochabako||Shy Guy's Toy Box||Same as in-game Japanese name.|
|area_flo||フラワーランド||Furawārando||Flower Land||Same as in-game Japanese name for Flower Fields.|
|area_sam||さむいさむい村||Samuisamui-mura||Cold Cold Village||Same as in-game Japanese name for Shiver City.|
|Crystal Palace||area_pra||パラレルきゅうでん||Parareru kyūden||Parallel Palace||This differs from the in-game Japanese name of クリスターしんでん (Kurisutā shinden, "Crystar Temple"). However, the Crystal King's name in Japanese is パラレラー (Pararerā, "Paraleller"), indicating a connection.|
|Bowser's Castle||area_kpa||クッパ城||Kuppa-jō||Bowser's Castle||Same as in-game Japanese name.|
|Outside Peach's Castle||area_osr||きのこ城そと||Kinoko-jō soto||Outside Mushroom Castle||From o-shiro (お城), meaning simply "castle".|
|Game Over Map||area_gv||ゲームオーバー||Gēmuōbā||Game Over|
|Test Rooms||area_tst||テストマップ||Tesuto mappu||Test map|
There are several test areas in the game which can be accessed with GameShark code D10740B0 0000 810740B0 ????, where "????" is the room's ID number. This works best when using the exit from Goomba Village's main room to the room where Mario is found in the Prologue. Be aware that other exits are also affected by the code, and that your progress in the game can cause freezes depending on where you end up. The colored circles added to each of the renders here are to show scale. Each circle has the same size relative to the game models. Each of these rooms have no background music.
machi (town) - Room FFE0
This room uses the background from Toad Town and contains a collection of various objects and pathways. The paths lead to the chapter indicated by the number, with 0 leading to the Prologue. The number textures themselves are from Super Mario 64. Upon actually entering each numbered pathway, the player ends up as follows:
- 0: The right entrance of the first path from Goomba Village to Toad Town.
- 1: The left entrance of the part in Dry Dry Desert with a Stopwatch item in it.
- 2: The left entrance of the second room of Mt. Rugged. (Warps to a room in the Toad Town Tunnels with a Super Block if the code is still enabled.)
- 3: Nowhere.
- 4: Nowhere.
- 5: Entrance to Lavalava Island on the whale's back with Kolorado. (Warps to a water-based puzzle room in Bowser's Castle if the code is still enabled.)
- 6: Nowhere.
- 7: The left of Room FFE0. (Warps to the Crystal Palace if the code is still enabled.)
Given that its room ID falls in the middle of the Toad Town rooms and that it leads to the chapters of the game, it is likely that this room was used during much of the game's development. In the center of the room is the name "MARIO RPG" spelled out in separate polygons, from when the game was still Super Mario RPG 2. Above the logo is Goompa and five Mushrooms. Beyond that are a few dummy switches for testing purposes.
The small treasure chest up in the corner is empty, while the bigger chest next to it contains the Super Hammer, but freezes before any sound is played or text is shown. By the large switch is Misstar, who flies away when Mario gets too close. Talking to the Koopa NPC sets Mario's max HP to 8 and gives him the Normal Hammer. Talking to Kolorado does the same, but sets the max HP to 11 instead. An NPC Star Rod sits in front of the Prologue exit, and it can even be talked to; however, as it has no associated dialogue, the game will immediately softlock. In front of the NPC Star Rod is a hidden block.
tst_01 - Room 0175
A blocky room containing item blocks. The yellow block that requires the Ultra Boots and the red block both contain a Flower. The block on the floor is empty.
The path on the left leads to Room FFE0, right in front of the Chapter 7 exit, while the path on the right leads to Room 0176. The room sports Super Mario 64 textures and has no background.
tst_02 - Room 0176
A room containing a staircase, already-hit blocks, and a couple of empty treasure chests. The path on the left leads to Room 0175, while the path on the right leads to Room 0177. Like the previous room, it has no background.
tst_03 - Room 0177
A large room containing a variety of objects. Mario is able to walk around in the "water" area, with only an invisible wall that blocks off the small lowered ledge from the water. The blocks in the second area all function properly, with the exception of the POW Block and the Super Block. Hitting the POW block does nothing, and hitting the Super Block crashes the game. The stacked boxes both contain a mushroom, and the single box has nothing in it. Touching either the spikes or lava crashes the game after Mario rockets skyward.
The path on the left leads to Room 0176, while the path on the right leads to Room 0178. The ground has an unused blocky texture.
tst_04 - Room 0178
There are codes here and here that may stop this room from crashing on real hardware and newer emulators.
A room containing some rotating platforms and Goompa. Mario is also mirrored along the middle of the area, but not like the mirroring in Crystal Palace. The path on the left leads back to Room 0177, while the path on the right leads nowhere. Entering this room will crash most emulators, except when entering through the Debug Hub. Pressing START will also crash.
tst_10 - Room 0179
A forest room with only a handful of features. Four colored arrows point around the path on the floor. The camera will move around with Mario when he moves near an area that is between paths, or moves onto a path. Next to the Heart Block in the center is a standard hidden Star Piece panel; collecting the Star Piece resets Mario's HP to 10 and FP to 5.
All paths lead to the opposite end of the same room. It uses the background from Toad Town.
tst_11 - Room 017A
A room that looks like an early version of a hallway of Crystal Palace. The far wall mirrors Mario twice, with one reflection being locked to the plane of the mirror, the other following the depth of his movement. The mirror itself is not solid and can be passed through. Most of the textures are unused, including a reflection image of Mario stuck on the floor.
There are mirrored polygons under the room, but the floor is not transparent and thus they cannot be seen.
tst_12 - Room 017B
|This needs some investigation.|
Discuss ideas and findings on the talk page.
Specifically: Accessing this room softlocks the game for some reason. It doesn't crash it however, the music continues playing and the crash handler isn't triggered.
A room sporting a Flower Fields-like design. While it crashes in-game, it can be viewed within a map editor.
tst_13 - Room 017C
A room containing a line of Koopas. Talking to them changes them into a partner character, with three copies of Lakilester. In the center is a ground panel that gives out a Heart each time, but it can only be flipped with a super stomp. A strange ripply distortion effect follows Mario around as he moves.
Compared to the sides of the ground, the camera is facing the wrong way. There are no boundaries on the sides of the room, leaving Mario to fall and re-spawn at the edge when the player walks off it. The room uses Toad Town's background.
tst_20 - Room 017D
A room containing a collection of pipes, none of which work. The floor sports an unused texture similar to the one used for Shooting Star Summit.
mgm_03 - Room 0183
A mysterious room containing a variety of objects. It is extremely large compared to Mario and normal rooms, with Mario taking up less than a third of the width of a single square on the floor. It's actually part of the Toad Town Playground rooms, right after Smash Attack (mgm_02).
Interestingly, this is the only unused room where Goombario can tattle, although his tattle is the same as for the Jump Attack game.
Is "Don't wear more!" (from the Badges menu) used? The French and Spanish localizations left it untranslated, so I'm guessing no.
This message has the distinction of being the very first message in the ROM, making it, most likely, a test. That blank area in the Japanese script is a single space character.
ここで ジャンプすると ２０コインを 使って レバーを たたくことができます ジャンプしますか？
If you jump here, you can spend 20 coins to hit the lever. Will you jump?
Jump here and hit the lever for 20 coins. Do you want to jump?
This comes right after the text for the sign by the Li'l Oink Farm.
Munch munch munch... Ummm... I really don't like this type of berry at all. You'd better get me a better flavor, or you can't go through.
Supposed to be spoken by the Red Flower Gate Guard in Flower Fields if he were given a Yellow or Blue Berry. They're impossible to obtain before going through his gate, making this unused. You can still see it by hacking either berry into the inventory.
An unused string located among the list of enemy names. Presumably, the holes that the Monty Mole enemies pop out of would have been possible to target, but this is impossible in the final game.
An unused command for the Strategies menu that doesn't appear to have any functionality associated with it. Possibly an earlier version of Do Nothing.
Prg Ver.00/07/06 22:22
Prg Ver.00/12/05 16:54
Prg Ver.01/06/08 21:14
Prg Ver.04/05/18 10:52
Map Ver.00/07/05 19:13
Map Ver.00/11/07 15:36
Map Ver.01/03/23 16:30
Map Ver.04/05/18 13:41
These dates are in plaintext, unlike most in-game text.
This plaintext date is the same in all versions of the game.
Partner Moves Without Action Commands
Since Mario receives the Lucky Star, and thus the ability to use action commands, early on in the game, it's not possible to see how most partner moves behave without the action command. It turns out that many of them behave correctly, but some have oddities:
- Shell Toss and Power Shell softlock the game
- Shell Shot and Spiny Flip always have the action command on
- Electro Charge accepts input as if you had the action command, but there doesn't seem to be a way to deal more damage with it
- Turbo Charge, Water Block, and Cloud Nine will always fail to inflict any statuses on Mario
- Turbo Charge still makes the boosted sound
- Sushie doesn't spray water over Mario when performing Water Block
- Lakilester doesn't hold up a Spiny Egg when performing Spiny Surge
Items Used On Partners
A few select items were intended to be used on partners. These items are Mushroom, Life Shroom, Super Soda and Tasty Tonic.
- Mushroom: As seen in the video this was intended to be used on partners to recover their status from being 'knocked down' for five turns. Mario throws the item to the partner.
- Life Shroom: Does the same as Mushroom except that it heals for ten turns. Mario throws the item to the partner.
- Super Soda: Seemingly does nothing. Mario goes to throw the item to the partner, but the graphic turns into a present and then falls onto the partner.
- Tasty Tonic: Does the same as Mushroom/Life Shroom except it heals the partner ENTIRELY. Mario raises his hands like he does for any item usage and it instantly heals the partner.
Why these functions go unused is uncertain but they still exist in-game and function properly.
There is a name string, icon, and some unfinished functionality for a "Defense" command similar to the one from The Thousand-Year Door (which replaced this game's "Do Nothing"). Modifying some memory when the Strategies menu is open will allow it to be used. Mario flips through a few animations when used at first but otherwise he goes into a defense pose. It functions completely as well! It lowers the damage by one and you can time your block to reduce its damage by one more point too! Why this was scrapped though is unknown.
While impossible in normal gameplay, an equipment status for not having any boots on (similarly to the hammer at the beginning of the game) exists and can be enabled with the following GameShark codes:
It doesn't prevent Mario from jumping in the overworld, but it does keep him from using it to get First Strikes, and the command is disabled in battle (saying there's nothing to jump on, even when that isn't the case).
Unused Badge Selling Prices
Is the selling price data and the badge shop price data one and the same thing? If so, update the description .
By using the Badge Duplication glitch or GameShark codes, it is possible to get badges into the normal item inventory. This allows badges to have normal item behavior, including the ability to sell badges. Strangely enough, all badges have set prices, despite being unable to sell them without using exploits. Some of these badges are available on Rowf's Badge Shop and have the same price there as they have here. This could mean that at some point, either all badges were meant to be available at said badge shop, or that regular badges could be sold at regular item shops. Badge selling was eventually fully added to Paper Mario's sequel, Paper Mario: The Thousand Year Door.
Badges available in Rowf's Badge Shop are marked in blue, while the unused badges (which cannot be obtained in normal gameplay) are marked in bold.
|ID||Name||Selling Value||ID||Name||Selling Value||ID||Name||Selling Value|
|00E0||Spin Smash||75||0107||Hammer Throw||75||012E||D-Down Jump||100|
|00E1||Multibounce||75||0108||Mega Quake||200||012F||Shrink Stomp||75|
|00E2||Power Plus||250||0109||Smash Charge||50||0130||Damage Dodge||150|
|00E3||Dodge Master||100||010A||Jump Charge||50||0131||Quake Jump||100|
|00E4||Power Bounce||100||010B||S. Smash Chg.||100||0132||Deep Focus||50|
|00E5||Spike Shield||100||010C||S. Jump Chg.||100||0133||Deep Focus||50|
|00E6||First Attack||100||010D||Power Rush||50||0134||HP Plus||150|
|00E7||HP Plus||150||010E||One-Shot Jump||50||0135||FP Plus||150|
|00E8||Quake Hammer||100||010F||One-Shot Smash||50||0136||Happy Heart||100|
|00E9||Double Dip||100||0110||Happy Happy Heart||300||0137||Happy Heart||100|
|00EA||Mysteerious Scroll||100||0111||Last Stand||50||0138||Flower Saver||250|
|00EB||Sleep Stomp||75||0112||Close Call||50||0139||Flower Saver||250|
|00EC||Fire Shield||75||0113||P-Up, D-Down||100||013A||Damage Dodge||150|
|00ED||Quick Change||200||0114||Lucky Day||300||013B||Damage Dodge||150|
|00EE||D-Down Pound||75||0115||Super Get||100||013C||Power Plus||250|
|00EF||Dizzy Stomp||75||0116||P-Down, D-Up||100||013D||Power Plus||250|
|00F0||Hammer Charge 0||30||0117||Power Quake||150||013E||Defend Plus||250|
|00F1||Pretty Lucky||100||0118||Multibounce||75||013F||Defend Plus||250|
|00F2||Feeling Fine||100||0119||Total Saver||300||0140||Happy Flower||100|
|00F3||Attack FX A||30||011A||Heart Finder||75||0141||Happy Flower||100|
|00F4||All Or Nothing||100||011B||Flower Finder||75||0142||Happy Flower||100|
|00F5||HP Drain||50||011C||Spin Attack||150||0143||Group Focus||100|
|00F6||Jump Charge 0||30||011D||Dizzy Attack||100||0144||Peekaboo||100|
|00F7||Slow Go||10||011E||I Spy||200||0145||Attack FX D||30|
|00F8||FP Plus||150||011F||Speedy Spin||50||0146||Attack FX B||30|
|00F9||Mega Rush||50||0120||Bump Attack||200||0147||Attack FX E||30|
|00FA||Ice Power||75||0121||Power Jump||50||0148||Attack FX C||30|
|00FB||Defend Plus||250||0122||Bagōn Jump||100||0149||Attack FX F||30|
|00FC||Pay-Off||50||0123||Mega Jump||200||014A||HP Plus||150|
|00FD||Money Money||200||0124||Power Smash||50||014B||HP Plus||150|
|00FE||Chill Out||50||0125||Bagōn Smash||100||014C||HP Plus||150|
|00FF||Happy Heart||100||0126||Mega Smash||200||014D||FP Plus||150|
|0100||Zap Tap||100||0127||Power Smash||50||014E||FP Plus||150|
|0101||Power of Rage||300||0128||Power Smash||50||014F||FP Plus||150|
|0102||Right On!||300||0129||Deep Focus||50||0150||Healthy Healthy||100|
|0103||Runaway Pay||50||012A||Super Focus||100||0151||Attack FX F||30|
|0104||Refund||50||012B||Shrink Smash||75||0152||Attack FX F||30|
|0105||Flower Saver||250||012C||Shell Crack||100||0153||Attack FX F||30|
|0106||Triple Dip||200||012D||Initiation||300||0154||Attack FX F||30|
Find out if there's a way to trigger the crash handler in the Japanese version, as well as find out if it's in the PAL and iQue versions.
Paper Mario has a crash handler similar to other N64 games by Nintendo (such as The Legend of Zelda: Ocarina of Time). It can be accessed by triggering a fatal exception through exploiting one of the game's various glitches or through tilting the cartridge. Although it only appears to be triggered in the North American version, the error cause texts and other data related to the handler can still be found in the Japanese ROM at offset 0x73210.
A few seconds after the game crashes, the exception handler prints information about the state of the Nintendo 64's processors and coprocessors at the time the game crashed. The crash handler's information can be broken down as follows:
- THREAD: The thread ID.
- The error names (in parentheses) are standard MIPS exceptions. In the example, the error is TLB EXCEPTION ON LOAD; TLB (translation lookaside buffer) exceptions are related to virtual memory.
- PC: Program counter (where was the CPU running code in when the exception occurred). Likely actually the EPC register in the exception handling coprocessor.
- SR: A MIPS state/control register. Should be interpreted on a bit basis: bits can either signal a state or control a setting for the CPU. Likely actually the Status register in the exception handling coprocessor.
- VA: The BadVAddr register in the exception handling coprocessor: address in memory where the exception occurred.
- AT, V0-V1, A0-A3, T0-T7, S0-S7, T8-T9, GP, SP, S8, RA: State of registers. Since MIPS has general-purpose registers, they are named as in the "O32" calling convention, one of the more common ways to label the registers. Here's the purpose of these registers according to O32:
- AT is an "assembler temporary" register used in some common CPU operations
- V0-V1 contains return values of functions
- A0-A3 contains function arguments
- T0-T9 are temporary registers
- S0-S7 are saved temporary registers, values that should never be changed by any called function (so after calling a function, values of S0-S7 will always be the same as before calling it).
- GP has the global pointer used to access global variables.
- SP is the stack pointer.
- S8 (also called FP in MIPS programming) is the frame pointer, which contains the location of the stack frame within memory.
- RA contains a return address. This is used when calling "leaf" subroutines - as in subroutines that do not call other ones, since it's faster than having the return address in the stack. This sort of register is usually called a link register.
- MM: The opcode that was attempted at the time of the crash.
The rest are values from the floating-point coprocessor:
- FPCSR: FPU control and status register.
- F0-F30: Floating-point general purpose registers. There are actually 32 of these registers, but Paper Mario seems to use them in 2 register pairs to store double-precision (64-bit) floating-point numbers.
Duplicate Luigi Actors
In the Smash Attack mini-game, one of two mini-games found in the Playroom, ten(!) Luigi actors are loaded underneath the room. Paper Mario stores all of a room's actors out-of-bounds when not in use; however, Luigi is never seen in this room. The fact that there is not just one, but ten Luigi sprites loaded in the room heavily implies that Luigi would have originally popped out of a block instead of a picture of Peach.
Many objects in the game that require movement only for cutscene or aesthetic purposes use pre-existing actors to control their movement. The actors used to control the movement of these objects are not meant to be visible, but can be made visible through hacking.
Examples of objects controlled by actors include:
- The Li'l Oinks in Toad Town, whose movements are controlled by blue Toad actors.
- The Snowmen in Shiver Snowfield, whose jumping animations are controlled by Bumpty actors.
- The letter to Mayor Penguin in the same room is also temporary controlled by a Bumpty actor when it is knocked off the tree. Collecting this letter before the animation completes causes the game to throw an exception and crash.
Misaligned Bomb Hitboxes
Objects that can be shaken by Mario's hammer, such as trees, can also have Bombette exploded by them for the same effect. Strangely, these two functions are assigned separate hitboxes; even stranger still, the hitbox that can be triggered using Bombette is sometimes not aligned with the hammer hitbox. The most notorious example of this is in the train station area of Toad Town, where the bomb hitbox for the tree that activates the pipe to the Playroom is placed at the opposite end of the room at X: 265, whereas the tree object itself is located at X: -265.