Super Mario RPG (SNES): Unused Content, Lost Dialogue, Debug Menus, Hidden Enemies, and ROM Secrets
Unused content from the 1996 U.S. SNES cartridge, a comparison with the Japanese Super Famicom release, and a final look at the unofficial translation patches.
I went through the original Super Mario RPG: Legend of the Seven Stars ROMs looking for things Square left behind: unused enemies, cut dialogue, unfinished boss encounters, discarded rooms, debug menus, oddball items, and graphics that never appear in a normal playthrough. I also compared the Japanese release with the American one, then checked the fan-translated versions for anything unusual. I have played this game a crazy number of times, not to mention the fan forums and friends I made as a kid due to this, but until now I had never sat down with its data in this way.
This is the long, insane, hyper-fan deep-dive post. If you know your Yaridovich from your Drill Bit, or have ever wondered why a developer would leave four battle formations full of Torte chefs in the game, you’re in the right place. This has been my favorite video game since it came out!
Note that I’m definitely not the first person to do this kind of thing, and I relied heavily on other documentation already out there, which I have linked throughout and at the end, and to those people I give full credit. This project was more about independent verification and research practice for myself, as well as to compile one huge source of information myself.
I did notice one discrepancy. Super Mario Wiki reports that Crippo, the unused brown Hippopo variant, has 800 HP. However, in the ROM, Crippo only has 10 HP. I don’t know why Super Mario Wiki says 800 and if there’s a reason for it that I’m not seeing.
My memory isn’t perfect. It has been a while since I played the SNES version from beginning to end, and the game has plenty of obscure conditional dialogue that is easy to mistake for something unused. I checked the cartridge’s text records against published transcripts and existing ROM research, and I have tried to say when an interpretation goes beyond what I can find. An abandoned room layout isn’t automatically a finished secret dungeon and some of the “hidden text” could be unreachable for any number of reasons.
Everything here concerns the 1996 SNES game unless I specifically say otherwise. I mention the 2023 remake where it helps identify or explain a leftover, but I have kept its new material separate. Most of these discoveries were documented by other researchers long before I started comparing the ROMs; links to their work are throughout the article and collected at the end.
So what is actually hidden in the original Super Mario RPG ROM? More than one kind of thing: functioning development menus, unused items and attack code, enemies with names and battle scripts but no normal encounters, surviving formations for third Croco and Belome fights, old map collision data, abandoned character animations, and English dialogue you ordinarily cannot see. Some of it is nearly finished. Some of it is a handful of bytes that became meaningless when something else changed.
The original SNES ROMs and how I checked them
My starting point was a 7z archive containing 18 4 MB ROM files: the clean American release, Japanese v1.0, fan translations, and a few catalogued bad or modified dumps. I concentrated first on the American release, checked its enemy-name, item, battle-formation, text, and Psychopath data, and then compared Japanese records and the other patched versions. The original American file is an unheadered 4,194,304-byte ROM, CRC32 1B8A0625, SHA-256 740646f3535bfb365ca44e70d46ab433467b142bd84010393070bd0b141af853. The original Japanese file is CRC32 5527071E, SHA-256 5d6aa9daec8525495510cda7cbd0bf476466dc4d8d86c28420e31715db351c64.
All offsets below beginning with 0x are hexadecimal. Unless I say “CPU address,” they refer to positions in the unheadered ROM file, not an address you can enter directly into an SNES memory viewer. Enemy, item, and formation IDs are also hexadecimal. That is why 0xA1 is an enemy identifier, not 101 in decimal.
I use three evidence categories: ROM record for a value or text I can identify in these files, documented behavior for things other researchers have made the game display or execute, and reconstruction for attempts to explain what an abandoned feature was meant to be. I did not complete a full disassembly of every event script, and I did not run all the debug encounters in an emulator. That limitation applies wherever I discuss exactly why a given string cannot appear.
Useful starting references are The Cutting Room Floor’s main Super Mario RPG page, Data Crystal’s ROM map, Super Mario Wiki’s prerelease and unused-content catalog, the SNES text dump preserved on GameFAQs, and The Photic Zone’s Super Mario RPG pages.
Square shipped the game with much of its internal battle-testing interface intact. In the U.S. ROM, a single instruction byte at 0x0106AF is F0. A documented test patch changes it to 80, allowing the battle menu to be summoned while a party member is taking a turn. The often-cited Pro Action Replay code is C106AF80. I checked the original byte in this cartridge; the behavior of the patched code comes from existing emulator research, not a test I performed here.
The menu labels start around 0x010798. These are not generic strings guessed from a hacking guide; they are stored in the actual game. The main features are:
| Command | Purpose / oddities |
|---|---|
| SCENE | Select a formation or scripted battle by hexadecimal number. The entries include normal encounters, discarded boss slots, and scenes never intended for a normal playthrough. |
| OBJ | Browse uncompressed sprite objects and cycle their animation sequences. This is particularly useful for unused character poses and test effects. |
| BG | Switch battle backgrounds without changing the encounter itself. |
| HPMAX | Restore characters’ HP to their current maximum values. |
| MUSIC / SE | Audition music tracks and sound effects. |
| LINE | Display an internal performance or CPU-usage indicator. |
| EFFECT | Inspect animation-effect objects, including stars, rocks, and other special-attack graphics. |
| EVT 1 / EVT 2 / EVT 3 | Jump into scripted battles: the opening Bowser fight, Boomer, and Smithy. |
| TEST | Run a Smithy transformation test. Published investigations report that execution hangs afterward. |
The OBJ browser covers ordinary character sprites, battle enemies, weapons and effects, plus miscellaneous graphics. An object can have multiple sequence numbers; stepping through them is how abandoned poses become visible even when no surviving NPC or battle ever calls them. Some records are malformed or rely on resources that were changed later, so a crash or nonsensical sprite is not itself proof of some bizarre monster.
The ROM also contains the strings MAGIC, LASTER, and BGLASTER around 0x010822. This is another technical menu for testing special effects. The last two names seem to be Japanese-influenced spellings of raster. Research describes LASTER as working with a Big Boo graphic and BGLASTER with vertical scaling. The documented patch combination is C106AF80 C106D2F3 C106D307.
Overworld debugger, test warps, and debug room 00
There is also a separate overworld testing system. In the American release, a documented code combination is D4AFC100 D4AFC226 DF000001, used before entering Mario’s Pad; the Fungi Light then gives access to the menu. This is a different tool from the in-battle debugger, and much of its English text was wiped or blanked. The Japanese cartridge retains more of those labels, which I discuss below.
One of the most entertaining leftovers is debug room 00, a large grassland-like room with Toad NPCs, Bowser, and a Mario actor that does not do much. The debug-room access code published by researchers is 7FF40400 7FF40501, followed by a loading transition. One Toad is essentially a walking administrative console: save, grant members or locations, supply the Signal Ring, and even send the player directly to the credits. Other characters warp to destinations including Nimbus Land, Barrel Volcano, Bean Valley, Monstro Town, Land’s End, and Bowser’s Keep. The option to make “Member 1” or “Member 2” drop out of the party survives in the dialogue bank.
The literal string Star Menu Test occurs at 0x22B3F8, next to overworld debug travel text such as The World Map. The funny part is that this isn’t a black test screen full of random junk. Somebody at Square made an actual room where they could get around the game without replaying hours of story.
Developer signatures, debug text, and controller code
At 0x030010, the American ROM carries an internal signature: ENGLISH VER. and by M.YOSHIOKA, followed by Japanese text associated with programmer Mitsuo Yoshioka and a dedication to Hideji Ootaki. A different signature around 0x09E02E reads START OF MULTI5 CONNECT CHECK, followed by a modified version of Nintendo’s MULTI5 detection routine. Despite its wonderful name, that is controller hardware-detection code. It is not evidence for a planned five-player Mario RPG.
Other surviving developer-style strings include 000-0FF/ EVENT/100-1FF/ BATTLE/, an Error message record, and the baffling Go, World!. That last one becomes more interesting once the Japanese original is consulted: there it means something like “The monster is provoked!” rather than an obvious “Hello World” joke. It has been reported under particular glitch conditions involving sheep effects and regenerated enemies; nobody should infer a completely functional taunt system from that line alone.
Unused items, Debug Bombs, and abandoned equipment behavior
The American ROM has 256 item-name slots, beginning at 0x3A46EF, with 15 bytes per name. Item parameter records are 18 bytes each, beginning at 0x3A014D. A lot of slots are simply named DUMMY; those are unused allocations, not dozens of fully designed secret items. A smaller collection, however, is plainly there for testing.
| Item | Hex ID | Actual behavior or remaining purpose |
|---|---|---|
| Debug Bomb | 85 | 255 damage to every enemy at once. |
| Bomb | AD | 255 damage to one enemy. |
| Doom Bomb | A8 | 255 damage to a targeted ally. |
| Bane Bomb | A7 | Poison a targeted ally. |
| Fear Bomb | A9 | Inflict Fear on a targeted ally. |
| Sleep Bomb | AA | Put a targeted ally to sleep. |
| Mute Bomb | AB | Silence a targeted ally. |
| S.Crow Bomb | A5 | Turn a targeted ally into a Scarecrow. |
| Secret Game | A4 | An earlier item-based version of Beetle Mania, with a 999-coin selling value. |
The purpose is obvious. If I were testing an enemy animation or a poison cure, I wouldn’t want to wander around Forest Maze waiting for the right attack. I’d want to poison Mallow on command. These bombs do exactly that. Some of the names are wonderfully literal in Japanese: デバッガーボム is the Debugger Bomb, and ころしボム is the Kill Bomb.
Secret Game is different. Its description is “A super popular video game!” and its item-price storage is consistent with a selling value of 999 coins. It appears to be an older way to represent Beetle Mania before the minigame was invoked through the regular menu. That points to a change in how Beetle Mania was accessed, not a missing separate video game.
Permanent-stat items that nobody can normally obtain
Item-handling code at CPU addresses C2:C074–C2:C0B1 includes a branch that can permanently add to Speed, Attack, Defense, Magic Attack, and Magic Defense. Setting an item’s attack flag to 03 reaches that behavior. Ordinary consumables in the shipped game do not use it that way. It would have supported the familiar RPG idea of consumables that permanently raise a statistic, instead of merely healing HP, restoring Flower Points, or affecting a battle temporarily.
Elemental physical weapons
The equipment-record format also includes bits for Ice, Thunder, Fire, and Jump elemental typing on physical weapon damage. Those bits still exist even though normal weapons do not take advantage of the system. There are also unused hammer and shell palettes. It’s tempting to label a red hammer a canceled Fire Hammer or a blue shell an Ice Shell, but the spare colors don’t establish which weapon, if any, they belonged to. The engine support is established. The exact original assignment of the spare artwork is not.
The battle scripts for Bowyer and his Machine Made counterpart both contain a check for the Carbo Cookie. Under that condition, buttons that Bowyer has disabled can be restored. The problem is that the Carbo Cookie is a story/key item, not something you can select and throw at Bowyer in an ordinary battle. Either an earlier item behaved differently, or this was a developer test that got left in.
There is also an unused spell-parameter behavior that lets a magical attack calculate using physical Attack and Defense instead of their magical counterparts, while the Mushroom status effect carries control-flag logic that is basically redundant in the shipped turn-skipping implementation. You could play the game a hundred times and never notice either of these branches.
Unused attacks, Confusion, and discarded battle mechanics
The battle engine contains a condition often described as Confusion or Berserk. Affected party members can lose player control and automatically make physical attacks against random targets, even themselves or allies. Enemies can also target themselves, although the enemy behavior is clearly broken in several circumstances: some attacks miss automatically, and other unusual attacks appear when both sides are afflicted. The condition uses status byte 0x10 in the documented research, with an unused character portrait sequence. It looks like a mechanic that made it into the program but did not make it into the game design.
| Abandoned move | What the remaining data indicates |
|---|---|
| Toxicyst | A green spore attack applying Poison. |
| Dahlia Dance | Transforms an opponent into a Mushroom. |
| Chain Saw | Uses a battle effect apparently recycled from Corona. |
| Knock Out | An extreme 9,999-damage attack capable of wiping out a party. |
| Royal Flush | A high-damage 8× physical attack modifier; plausible extra Jester move. |
| Sickle | An attack with a 1.5× multiplier and Scarecrow transformation. |
The Royal Flush name makes sense next to the Jester enemy’s established card-themed attacks, Full House and Wild Card, but that is an interpretation of the naming and multipliers, not a recorded design memo. I verified the U.S. strings for Royal Flush at 0x395B2D, Toxicyst at 0x395CC0, Dahlia Dance at 0x395DEB, Chain Saw at 0x3A19D4, and Knock Out at 0x3A1911.
Another interesting leftover: individual Axem Rangers retain experience-point rewards that cannot normally be collected, because their final encounter handles defeat and reward distribution unusually. The Blade and the battle’s scripted result take precedence over the individual enemies’ ordinary reward data. There are also dummy party specials and a spare battle-button-coordinate entry. These do not establish that there was ever a sixth playable party member.
Unused enemies: names, stats, behaviors, and placeholder monsters
The enemy name bank starts at 0x3992D1, with 256 thirteen-byte slots. Their statistics are located through a pointer table beginning at 0x390026. Several apparently discarded enemies still have names, palette data, attack scripts, and occasionally Psychopath thoughts. Many of their current stat records are placeholders with 10 HP and nearly all the other combat attributes zero. That is a strong sign of unfinished or overwritten data, not evidence that Crippo was meant to be the easiest boss ever invented.
| Enemy (U.S. label) | Appearance | What is left / reported attacks |
|---|---|---|
| Baba Yaga | Blue Fautso | Sand Storm, Mega Recover, Thornet; some self-targeting oddities. 10 HP in current record. |
| Crippo | Brown Hippopo | Lightning Orb, Doom Reverb, Thornet, and a Vigor Up action that may target the player inappropriately. 10 HP. |
| Juju | Blue Reacher | Mush Funk, Scream, Knock Out, and Silver Bullet; a unique inaccessible thought. The old name is not the monster’s ordinary in-game identity. |
| Lumbler | Blue Stumpet | Crystal and a three-egg attack associated with Birdo; inaccessible “Grrr!” thought. |
| Mastablasta | Blue Mastadoom | Crystal, Blast, Storm, Eerie Jig, and Goomba summoning. 10 HP placeholder. |
| Pile Driver | Blue, partially broken Corkpedite | Hammer attack and Fear Roulette. 10 HP placeholder; its body animation can malfunction spectacularly. |
| Radish | White Carroboscis | Endobubble, watery attack, normal physical attack. 10 HP placeholder. |
| Harlequin | Green Jester | Mainly a physical attack; no completed spell set. 10 HP placeholder. |
| Super Spike | Red Spikey variant | Physical and spike attacks; 10 HP placeholder. |
| Chompweed | Pipe Vault overworld plant | A real enemy-style record despite its ordinary role as a field hazard; 10 HP placeholder. |
| Unnamed Bahamutt variant | Purple Bahamutt with dark glasses | Reported Somnus Waltz, Flame, and Bolt. |
| Unnamed Gunyolk variant | Yellow-brown Gunyolk | Lightning Orb. |
Pile Driver is an especially good demonstration of why old records can look haunted. Researchers forcing the body component to act have seen it briefly turn into Bowser making a claw motion, then a thin white graphic, before dying. I doubt Square intended a secret Bowser-transforming caterpillar. This looks more like outdated sprite or animation references being interpreted through the final battle engine.
Drill Bit is an unusually complete discarded combatant
The Drill Bit monster record, ID 0xE3 at 0x390F26, is far more developed than the 10-HP placeholders. Its current stats are HP 80, Attack 85, Defense 70, Magic Attack 40, Magic Defense 56, and Speed 15; it can use Skewer and has actual resistances and rewards (11 EXP and one coin). Its thought is “This is for Yaridovich!” Drill Bits do turn up in Smithy-related story material, but this full, normally fightable enemy record is never used as an ordinary target in the released adventure. The Yaridovich wording suggests an older encounter relationship worth investigating, though it does not establish a complete missing Yaridovich sequel.
The cactus boss Sabon, known mostly from what does not survive
Sabon is more substantial than most of these recolors. Early Japanese concept and promotional material depicts a large cactus-like boss with a pacifier and smaller cactus companions called Boten. The Japanese word saboten means cactus. The finished ROM preserves an animation-set index (0x30) and sequences for standing, taking damage, attacking, and a special attack; the complete original sprite art and full battle definitions are no longer there. It has been described as a regional guardian for a desert-area concept, and prerelease art places the cactus around what became Booster Pass. The visual and animation evidence is real; an exact battle location, script, move list, or connection to Artichoker cannot be proved.
A few other partially developed enemy ideas can be seen through prerelease material and abandoned palette variants: alternate Magikoopas, extra Wiggler and Lakitu battle roles, blue or differently tinted enemies, and a Smithy first-form variant. The Mario Wiki catalog has pictures and scans for much of this. I am leaving the graphics out of this article, but the visuals are worth looking at alongside the underlying records.
Unused battle formations, extra Croco and Belome encounters
The game contains 512 battle formations, 26 bytes each. The original formation data occupies 0x39C000–0x39F3FF. Some groups are never selected by regular encounters; others contain enemies whose IDs were later reassigned, producing combinations that probably did not exist as designed fights.
| Formation / group | Contents or function | What I make of it |
|---|---|---|
| 0x117 | A third Croco slot, pointing at nameless enemy 0xF2 with 10 HP | Evidence of an extra boss encounter stub, not a finished third fight. |
| 0x120 | A third Belome slot, pointing at nameless enemy 0xC9 with 10 HP | Another boss stub; no proper surviving behavior scripts. |
| 0x06C–0x06F | Between one and four Torte chefs | Possibly once fightable in Marrymore, or used to test battle arrangements. |
| 0x09C–0x09F | One through four Drill Bits | A fuller family of formations for the otherwise inaccessible enemy. |
| 0x040–0x043 | Goombas, Shy Rangers, Piranha Plants, Sparkies | Earlier or test Pipe Vault encounters. |
| 0x08C–0x08F | Bandana Blues, Greapers, Straw Heads | Unusual groupings outside their finished placements. |
| 0x0EC–0x0EF | Magikoopa with ordinary enemies | May indicate a non-boss or otherwise differently implemented Magikoopa. |
| 0x104 / 0x106 / 0x107 | Mad Mallets, sometimes with Clerk | Discarded Factory combinations. |
| 0x108–0x10B | Pounders with or without Clerk | Another set of Factory tests. |
| 0x140–0x143 | Poundettes with or without Clerk | More Factory combinations. |
| 0x160–0x161 | Three or four Super Spikes | Fighting groups for a half-finished enemy. |
| 0x1FD | Bundt, Raspberry, and two Terrapins | A strange mixture probably reflecting overwritten IDs rather than a deliberate cake-and-Koopa fight. |
There are also leftover formations involving Exor’s Right Eye with Bandana Reds, a solo Axem Yellow, King Bomb and Mezzo Bomb, and a Microbomb in a boss-like position. This is where I have to resist turning an interesting data structure into a nonexistent secret plot. The formations survived; the intentions frequently did not.
A collision map tells the engine where Mario can stand, where a wall or gap exists, and how one area connects to another. When the developers replace a map’s graphics but leave an older collision layout behind, the resulting remnant can look like a floor plan from a lost building. Sometimes the real tiles are still intact; sometimes the shape is all we get.
Mushroom Kingdom used to be different
Earlier map data shows a Mushroom Kingdom with the item shop in a different, lower position, a two-door building, a changed connection to Mushroom Way, and a different approach to the castle. The Bandit’s Way approach is also absent in one early layout. Separately, the finished town retains collision geometry extending beyond what the player can see. The former is an identifiable early redesign. The latter suggests the final map was reduced or rearranged, but it does not tell us what would have occupied the extra area.
There are also old interior layouts and odd room geometries, some resembling basement or winding underground spaces. I would rather call them unassigned rooms than declare that Mushroom Kingdom originally had a vast dungeon beneath the bakery. That said, I would absolutely like to play the version with the extra basement.
Forest Maze, Kero Sewers, caves, and Bowser’s Keep
| Area | Surviving abandoned layout |
|---|---|
| Forest Maze | Several deleted rooms and branches; some shapes resemble a question mark and exclamation mark. It is unclear whether that resemblance is deliberate. |
| Kero Sewers | Extra rooms and a possible chest area, plus differing passage arrangements. |
| Booster’s Tower | Earlier collision arrangement, especially around a springboard/climbing section. |
| Other caves | Some rooms with apparent dead ends or exits that may have depended on springboards or scripted movement. |
| Bowser’s Keep | Multiple groups of missing passages, basement-like areas, and a long corridor containing a donut-shaped platform within a pit. |
| Mountain settlement | A stepped, rugged village-like collision map, sometimes suggested as an early Moleville, though the missing graphics make the identification uncertain. |
| Tadpole Pond / Melody Bay | Older spatial arrangement and a different or longer musical-pond approach. |
The possible prison dungeon
One especially interesting collision map appears to be a dungeon with cells or a prison-like arrangement. A 1995 prerelease screenshot shows Mario and Princess Toadstool apparently imprisoned, with early Terrapins and an unidentified figure nearby. The matching architecture makes it plausible that the scene belonged to a cut captivity or escape sequence. It would be a major story change, but it is not safe to claim that an entire playable jailbreak chapter survives. We do not have the complete script, and nobody has established who captured them or when it happened. Treat the pairing of image and map as an informed reconstruction.
The casino’s inaccessible guests
Grate Guy’s Casino and Seaside Town share some underlying map resources. In an inaccessible part of the casino-loaded map, researchers found a male Toad bobbing with dialogue normally associated with Geno, Geno himself pacing back and forth, and two Terrapins displaying walking animations while standing in place. Touching the Terrapins calls a battle against two Goombas on the Mushroom Kingdom battle background. Geno’s assigned dialogue is “Come on! Let’s get this show on the road.” This is programmed NPC behavior outside the player-accessible space, which is much more specific evidence than a stray sprite file.
Two abandoned battle backgrounds
An unused underwater battle arena survives with substantial finished artwork, a good candidate for an encounter in or around the Sea. Another is an ornate sunlit interior with greenery and tall windows, sometimes compared with Nimbus Castle imagery but not confidently assignable to a specific final room. Both backgrounds have been reconstructed by ROM researchers. I have not independently reassembled their tile and palette data in this project, so I am not pretending to know exactly which abandoned encounter would have used either.
Unused graphics, animation frames, sprites, and props
There is an impressive amount of visual debris. Some of it is material that was drawn and abandoned; some was implemented but never called; some looks like an early version of something that remains in the game. I’m grouping it by what survives rather than treating every palette as a new enemy.
| Asset / character | What survived and why it is odd |
|---|---|
| Banana peel with eyes | A recognizable cartoon banana peel that might have been a field obstacle; Booster Hill has been suggested, without supporting placement data. |
| Small sea urchin | A Super Mario World-like Urchin. Two instances are loaded outside the normal visible area during the Marrymore wedding-belongings scene. |
| Different Mario doll | A miniature Mario-like graphic, unlike the more toy-looking doll Booster uses in the final game. |
| Older Sunken Ship | Shows a larger, more complete hull facing the other way, with a changed crow’s nest. An early appearance survives in the ending parade. |
| Old sewer pipes | Wall-entering pipe tiles that were later replaced or remapped to Belome-related gargoyles. |
| Casino blackjack table | An earlier, rounder, simpler table. |
| Belome temple art | Alternate statue orientation and extra decorative assets. |
| Wedding props | Unused bouquets and variations of scenery. |
| Lakitu with air pump | A complete peculiar animation. A Royal Bus connection is imaginable but unproved. |
| Toadofsky | A more elaborate conducting animation than the brief movement the final game uses. |
| Geno | An unused head-holding motion. |
| Peach | Extra floor-crying and peeking animations, associated with alternative staging of her Booster Tower scenes. |
| Czar Dragon | An unused charging pose for a spell or special move. |
| Leuko / Muckle | Unused regular physical attacks despite their magic-oriented behavior. |
| Chester | A discarded physical attack exposes an Ameboid inside the chest. Its Attack statistic is 220, although it does not ordinarily make that attack. |
| Exor | Extra eye movements in both directions. |
| Smithy | Extra first-form normal-head attack and Tank-head casting poses, plus small hidden transformation graphics. |
| Shy Guys | Sitting, falling, and other low-detail poses stored with test art. |
| Spiderweb | An effect that expands and disintegrates but is not normally invoked. |
| Yo’ster Isle ending flowers | Extra frame sequences for flowers or parade decoration. |
| Extra palettes | Colored hammers, shells, Mallow’s cymbals, teleport effects, cave colors, enemy variants, and a little border-highlight palette for menus. |
| Stray Mario-colored graphic | An abstract-looking fragment near Mario/Smithy-related graphics, with no established purpose. |
The Chester discovery is my favorite of the graphic-only mysteries because the unused attack animation and the conspicuously high Attack stat point in the same direction. There was apparently at least an experiment with Chester hitting you, complete with a surprise inside the chest. That is still not the same as proof that it was once used in a finished room.
Lost English dialogue and other inaccessible writing
This is the category I care most about. Sprite leftovers are neat, but an abandoned line can tell us what a character was going to do, what a quest might have asked for, or what joke the writers decided against. I decoded the English text records from the ROM and compared the suspect ones with old playthrough transcripts and the unused-text research. Appendix A below reproduces all 79 recovered records in a table, including their offsets, instead of cherry-picking only the funny ones.
Princess Toadstool may have walked through town incognito
An abandoned cluster of Mushroom Kingdom lines looks like a different version of Peach’s departure after joining the party. She tells Mario:
TOADSTOOL: Shhhh…. If people see who I’m with, they’ll flip out, so… Let’s be real quiet!
Another line says she loves the smell of flowers but is in a hurry and will return later. Nearby dialogue includes a person noting that the Princess has not been around to inspect the flowers, someone getting startled, and a townsperson inviting Mario to eat. The grouping makes it look like there was once a walk through town where Peach did not want to be spotted, with residents reacting along the route. I can’t demonstrate the precise order or every trigger from the text alone. It might have been a more interactive departure sequence; that is the sensible guess, not an observed playable event.
There is also an extended complaint addressed to Mario, with the speaker unspecified in the text dump: “Mario, where have you been? I’ve never been so worried!” It ends by asking whether Mario would want to marry someone so angry she cannot see straight. I wouldn’t assign that to Peach, a generic Toad, or a scrapped fiancée without stronger script evidence.
Croco knew when you had already found everything
A discarded contingency for Croco’s Signal Ring delivery in Nimbus Land starts by recognizing that the player has already discovered all hidden treasure, then complains: “So, youse guys found ’em ALL? …Geez…I’ve failed… …I’m humiliated…!” It is a splendidly mean little joke. The ring helps locate treasure, and Croco would have been admitting that his big contribution was useless. The string survives at 0x247318; the extent of the completed conditional logic is a separate question.
Unused Marrymore, Belome, and Tadpole Pond business
The Marrymore hotel has extra bellhop lines asking Mario to escort a guest, calm down, and take care of things. A guest says they are exhausted from walking all day and have no requests. Those fragments suggest a more elaborate or differently scripted hotel job. Over at Belome Temple, Belome has an unused response after a rusty key, “Eww, a mouthful of rust. Thanks anyway,” and an inaccessible fallback fortune predicting hardship. Tadpole Pond has an unused statement that its items are all sold out. A limited-shop mechanic might have been considered, although there is no reason to state as fact that shops once had a complete stock-depletion economy.
Extra lines from Mallow, the Axem Rangers, and Smithy
Mallow has a particularly telling unused line during the Nimbus Castle reunion: “Please! These people aren’t your enemies. They’re my friends.” Its presence could indicate an earlier confrontation with the royal family or different staging of the reunion. Axem Red can bark “SHUT UP, all of you! We’ve got a job to do!” and Smithy can reprimand the party for making him upset after his first form is defeated. The Japanese versions give the latter two lines a somewhat harsher tone. Those are actual battle-dialogue records, even though normal story flow does not use those exact lines.
The weird small lines are sometimes just as good
Pa’Mole has a longer panic about an apparently missing bomb; Chef Torte objects to interrupting a wedding; Garro has a nervous, stammering reaction around the statue disguise; an unidentified speaker complains about hating males; Moleville has an alternate child discussing the trolley; and there are spare win/loss messages for minigames. One deleted prompt asks whether the player wants to give a puzzle another shot. Those are fragments, but they show quite a lot of editing and rearrangement in the game’s event writing.
Old battle rewards and level-up text
An earlier results interface is represented by unused strings for EXP gained, coins received, an item acquired, a character reaching a level, maximum HP increasing by five, and learning a special attack. There are also alternate Battle, Lucky, ATTACK UP!!, and DEFENSE UP!! strings. Several contain variable control codes, so they were designed to insert the right values at runtime rather than being mere mockup captions. The Japanese source sometimes preserves slightly different details, including a variable HP increase rather than the English fixed “5”.
The two earlier Peach scenes in Booster Tower
The battle-event debugger can load two unfinished or alternate Peach scenes as BG 11 / SCENE 150 and BG 11 / SCENE 151. They involve Peach recognizing Mario at Booster Tower and reacting in a more exaggerated way. A floor-crying pose survives, and there is a peeking motion that seems almost made for a fake-crying joke. The scene text in the shipped ROM has been overwritten by Count Down clock announcements, so the displayed words are not reliable evidence of the scenes’ original script. We know a good deal more about the poses and staging than the dialogue.
Inaccessible Psychopath thoughts and enemy dialogue
The Psychopath data is especially useful for this. The U.S. ROM has a pointer table of 256 thoughts beginning at 0x399FD1. Some enemies are unencounterable, and some appear before Mallow is recruited, so their thoughts exist but cannot be seen in an ordinary run. The following are relevant inaccessible or cut examples:
| Enemy / internal ID | Psychopath thought | Why normally inaccessible |
|---|---|---|
| Opening Terrapin, 0x00 | Yo! What’s going on? | Mallow is not present. |
| Opening Hammer Bro, 0x1B | I love my hammer! | Mallow is not present. |
| Opening Bowser, 0xF4 | Mario! It’s time! | Mallow is not present. |
| Baba Yaga, 0x27 | Feelin’ kinda round… | Unused enemy. |
| Juju, 0x69 | K-9 is after my bones! | Unused enemy. |
| Lumbler, 0x77 | Grrr! | Unused enemy. |
| Harlequin, 0x79 | Kekekekekekekekekeka! | Unused enemy. |
| Mastablasta, 0x7E | Life is tough, ain’t it? | Unused enemy. |
| Hangin’ Shy, 0xA1 | Minimum wage for THIS?! | Non-targetable chandelier actor; same English wording is used by Snifit. |
| Drill Bit, 0xE3 | This is for Yaridovich! | Not encountered as an ordinary Psychopath-targetable enemy. |
Some other discarded enemy records, including Radish and Crippo, simply have empty thoughts. I did not invent sentences to fill them. Also, an inaccessible thought is not necessarily a globally unused piece of writing. Hangin’ Shy’s English line is shared with Snifit. In Japan, though, the chandelier-holder has a more specific and unique complaint about earning only two coins an hour. More on that later.
Prerelease screenshots, abandoned character designs, and Small Mario
For some things, the best evidence is not in the cartridge anymore. Promotional screenshots, magazine scans, and footage from 1995 show areas and actors that differ from what shipped. I do not treat these as “hidden in my ROM” when the relevant art or code is gone.
The earlier Chancellor was an elderly gray-spotted Mushroom person with a beard. Mario’s house was bigger and called Pipe House, with a chest releasing a green 1-Up-looking mushroom. Yo’ster Isle was more expansive and looked different before its final race configuration. Early Nimbus Castle had more vegetation, different towers, and the word HOLLOW on entrances. Screenshots show a fishing Lakitu, extra Magikoopas around Booster Tower, Buzzer enemies in early field areas, Knife Guy outside the tower, and an appearance by Luigi inside Nimbus Castle. The Luigi image is real prerelease evidence, but a screenshot of Luigi in a room is not evidence that he could join Mario’s party.
The director, Chihiro Fujioka, discussed an especially interesting canceled idea in a 1995 interview: changing Mario’s size, with some dungeons accessible only to Small Mario. The designers abandoned it partly because of the hardware and partly because the size changes were awkward in the isometric presentation. That is a documented canceled design. It is not a working secret mode I found by setting a particular bit. The English translation of the interview is available at Shmuplations.
Japanese ROM differences and Japan-only material
After going through the American version, I compared it with the original Japanese v1.0 cartridge. The raw files are 86.43% identical byte for byte, which does not tell us much on its own: translated strings move around, while enormous banks of graphics and game data match exactly. The useful comparison is in the game-data tables. The ordinary enemy stats, rewards, behavior scripts, 512 formations, and 256 item-parameter records are identical in the known data regions. The Japanese version does not secretly have another fully populated boss roster in those tables.
While the Japanese menu is open, the original Super Famicom game accepts Down, Up, Right, Left, Select, Start, Select, Start, B. A Toad turns up to announce that a secret code has been discovered. He checks statistics and experience, then concludes nothing happened. He more or less tells the player not to bother searching for another useful code. It is a complete intentional Easter egg and a very good joke, especially in 1996 when tips magazines were full of elaborate button combinations. The American SNES release does not expose it as an accessible feature. The 2023 remake restored the gag internationally with modified controls.
Japanese debug labels tell us what the old tests did
The Japanese overworld debugger retains labels erased or left blank in English. Among them are different Hillside configurations for Booster Hill (including Beetle Box present and absent), a flower-search event, direct jumps to parts of the Midas River waterfall or barrel sequence, Land’s End Donut Block and Sky Troopa challenges, a mine-cart ending test, and looping demos for Wigglers, Bowser’s troop movements, invincibility, and Booster Hill. It also offers 99 flowers, 500 coins, and level-up commands. One cryptic Croco-related object test remains hard to interpret. None of this proves that Japan shipped a finished extra area; it does tell us precisely what kinds of things Square needed to test.
The chandelier-holder’s two-coin hourly wage
The Japanese Hangin’ Shy thought (ID 0xA1, text at 0x39A20B) reads ツライ、、コレデジキュウ2コイン、、ヤリキレナイ。 I would translate it roughly as “This is miserable… Two coins an hour for this… I can’t take it.” The U.S. substitutes the more generic “Minimum wage for THIS?!” and also gives that English line to Snifit. I like the Japanese version better. Somebody actually decided that chandelier maintenance at Bowser’s Keep pays two coins an hour. The 2023 remake later drew on this discarded thought.
More character-specific Japanese thoughts
The opening Terrapin’s original Japanese thought includes a Dragon Ball-style Goku reference involving Grandpa. The Hammer Bro’s original thought plays off Goemon’s famous sword line from Lupin III, except he is talking about a hammer. Opening Bowser is more directly challenging Mario. In English these become “Yo! What’s going on?”, “I love my hammer!”, and “Mario! It’s time!” All three are inaccessible in the opening because Mallow has not joined the party yet. The extra cultural information is useful even if the underlying English strings are already accounted for.
The original names explain several discarded enemies
| U.S. internal name | Japanese internal name | Meaning or useful reading |
|---|---|---|
| Baba Yaga | ポット | Pot. |
| Juju | グレイバー | Graver. |
| Lumbler | クールフンガー | Cool Stumpet. |
| Harlequin | スティング | Sting. |
| Crippo | ヒッポポスーパー | Super Hippopo. |
| Mastablasta | ジュラマンゾー | Jura Mastadoom. |
| Super Spike | トゲへいスーパー | Super Spikey. |
| Chompweed | プチパックン | Small Piranha Plant / Nipper-type plant. |
| Pile Driver | ジダタンダー | Related to Corkpedite’s Japanese name. |
An early/demo Magikoopa named MERLIN in English is identified as カメック, Kamek, in the Japanese internal table. The normal boss Magikoopa has a different Japanese name, Kamezard. That distinction matters: it points to a recognizable character identity in the demo-related record without proving a lost Kamek boss story. A few spare labels go the other direction: the English ROM contains names such as BB-BOMB, MAGIDRAGON, and HANGIN’ SHY where the corresponding Japanese name fields are blank.
The Japanese wording helps explain a few English mysteries
The American Go, World! string is a badly misleading localization of Japanese text about a monster being provoked. The unexplained English “I REALLY hate males…!” ends in Japanese with めえ~, a sheep or goat sound, and the Japanese wording has been connected to a Gundam reference. Neither identifies a definite speaker. Japanese older battle-result text refers explicitly to acquiring a weapon in one place, where the English says “Got a(n) [item]!” Japan also uses a variable in an old Max HP increase string that the English rendering simplifies to a fixed five HP.
A few real presentation and behavior differences
Japan gives Bowser a victory gesture with one bent arm and the other hand across it, which was replaced for the American release with both fists raised. Its save-selection screen has little mustache icons that were removed for longer English location labels. Geno’s unpronounceable name uses more distinctive special glyphs, where the American localization uses familiar symbols. The Royal Bus’s JB initials relate to Jugemu, Lakitu’s Japanese name, a connection lost in translation.
There is also a tiny Japanese version bug in the Marrymore hotel suite: a lamp can face the wrong way after a room sequence because its sprite orientation is not overridden. The U.S. build supplies the corrective instruction. At Bowser’s Keep’s 3-D maze, Japan can tell you which of the stacked levels (0–7) you are on when giving up; the American message omits that useful information even though the game still tracks it.
For comparison studies, I relied on The Mushroom Kingdom’s Japanese–English comparison, Legends of Localization on Japanese references, their article on Geno’s introduction, and the lamp bug investigation.
Unofficial translations: extra jokes, hacks, and oddities
I made a single pass through the remaining ROM files: French, German, Norwegian, Spanish, Italian, and Portuguese patches, plus a few non-translation variants. They are fan work, not additional Square releases, so I am putting them here rather than mixing them with original game-development evidence. None of the checked translation variants changes the ordinary enemy stats, 512 formation records, or item parameters. I did not run every translated event, so that says nothing about every possible font or display glitch.
Brazilian Portuguese Geno learns Dragon Ball Z
The Brazilian CBT patch changes Geno Beam to Kame Hame Ha and Geno Boost to Kaio Ken. There are further Ki-related references. Smelter’s mind-reading line about brushing after meals is replaced with Vou comer um churrasco. (“I’m going to eat barbecue.”) The chandelier worker’s complaint becomes Qual sua idade, filho? (“How old are you, son?”). The translators were having their own fun. This patch is documented as a 2000 release, and the liberties were noticed by reviewers at the time. See the Brazilian patch history and review.
A supposedly French ROM has Portuguese inside it
One French-labelled alternate ROM, [T-Fre][a1], contains ordinary early French thoughts but a remarkable number of Portuguese thoughts and even Portuguese unused Smithy dialogue. Across the 256-entry thought table, 194 records match the Portuguese patch exactly, although that number also includes shared empty or unchanged entries. It appears to have been patched with overlapping translation material, but the exact chain of releases is unknown. It is a hybrid file, not evidence of an alternate official French script.
Translation completeness is very uneven
| Patch | Changed Psychopath entries out of 256 |
|---|---|
| Portuguese CBT | 211 |
| German Alemanic 99a | 208 |
| Norwegian Just4Fun 98A | 207 |
| Spanish Pkt alternate | 196 |
| French Ryusan 2.1 | 62 |
| Italian Dewos v0.45 | 1 |
| Spanish Pkt main release | 0 |
These are raw entry differences, not percentages of the game translated. The “complete” Spanish Pkt build leaves the entire Psychopath bank in English while another Spanish variant changes most of it. The Italian v0.45 gives us the lovely unfinished thought Grazie to you I’m free!. A translated menu does not necessarily mean somebody bothered translating a non-targetable monster’s mind.
Translators left notes in Square’s own signature
At the internal Yoshioka signature location, the French Ryusan builds replace the English identification with TRADUCTIONS / par RYUSAN. The full German Alemanic patch writes GERMAN VER. / by stefan k.. The Japanese dedication bytes that follow remain. This is the kind of little ROM-hacker signature I was hoping the extra files would contain: ROM hackers signing their work over an original developer’s hidden note.
Two catalogued bad dumps are just altered data rather than authenticated prototypes. The American bad dump differs by two bytes; the Japanese bad dump differs by 4,159 bytes in one text bank. A Japanese [h1C] version changes 19 bytes of the internal game title to 1822 SUPER MARIO RPG and nothing else. None is a mysterious new game build.
Appendix A: 79 recovered English text records, with ROM offsets
These are the 79 English records I recovered and catalogued in this pass, with their original file offsets. Some are unused dialogue, some are alternate lines, some are unreachable in normal progression, and some are just older interface messages. I’m keeping the wording as extracted, including control-code placeholders in square brackets, and giving each entry its context instead of pretending all 79 are secret conversations.
| ROM offset | Record / speaker | Recovered English text | Context or limitation |
|---|---|---|---|
0x22001A |
Unused location label: INN / ITEM SHOP | INN / ITEM SHOP | Unused location/UI label, not a cut quest. |
0x2200B8 |
Unused location label: BEDROOM | BEDROOM | Unused location/UI label. |
0x2206FD |
Mushroom Kingdom shopkeeper: get down | Get down from there! | Alternate response to Mario climbing on the counter. |
0x220732 |
Unused minigame: victory | You win | Unassigned minigame win message. |
0x22073D |
Unused minigame: defeat | You lose | Unassigned minigame loss message. |
0x220EB3 |
Chancellor reacting to kidnapping | Things are ALWAYS happening to her! What an UNLUCKY child! | Original or alternative Chancellor reaction to Peach being kidnapped. |
0x22164F |
Watchman after Mallow makes it rain | Rain or shine, I stand watch! [pause] But this is getting ridiculous! | Unreachable portion of a line; part of a string containing a used watchman remark. |
0x22262B |
Mushroom Kingdom: noise outside | There’s a lot of noise out there today. | Unassigned NPC line, possibly unused during invasion. |
0x222973 |
Mushroom Kingdom watchman: shaken and stirred | I’m shaken and stirred but still standing. | Alternate frightened-watchman line. |
0x222AA6 |
Mushroom Kingdom: what did you find | So, what did you find? | Unassigned Mushroom Kingdom line; possibly private-room item. |
0x2242C7 |
Rose Town: vengeance | Just you wait… | Alternate line near Rose Town dialogue. |
0x22527E |
Yo’ster Isle: finish announcement | GOAL! | Unused race-finish banner/message. |
0x225787 |
Yo’ster Isle: found cookie | Found a Cookie! | Unused Yoshi Cookie find message. |
0x22583D |
Yo’ster Isle: farewell | [new page] (See you around!) | Unassigned Yoshi farewell. |
0x225B7D |
Yo’ster Isle: race cookie reminder | [new page] (Remember, you need Cookies if you want to race!) | Unused race reminder. |
0x2264B1 |
Marrymore Hotel: escort guest | Please escort our guest! | Extra hotel bellhop/escort dialogue. |
0x2264CD |
Marrymore Hotel: calm down | Please calm down. | Extra hotel bellhop/escort dialogue. |
0x2264E2 |
Marrymore Hotel: take care of belongings | Please take care of these things. | Extra hotel bellhop/escort dialogue. |
0x2265DD |
Marrymore Hotel: exhausted guest | I’m tired from walking all day long. I have no requests now, [pause] thank you. | Unused guest dialogue; could be an untipped guest. |
0x228F97 |
Moleville: child cannot ride trolley | Ma and Pa say little ones aren’t allowed on the trolley. I can’t wait to get older! | Earlier wording for Moleville child. |
0x22A059 |
Belome: after giving key | Eww, a mouthful of rust. Thanks anyway. | Unused Belome Temple line after obtaining a key. |
0x22A163 |
Belome: mishandled fortune | Yikes, looks like you’ll have hardships ahead of you. | Failsafe for invalid Belome Temple fortune condition; requires hacking. |
0x22A303 |
Puzzle retry prompt | Giving up? Wanna give it another shot? [pause] ▸ (Yes) ▸ (No) | Unknown puzzle/reset context. |
0x22B351 |
Debug room: drop member | ▸ Next Page ▸ Member 1 will drop out ▸ Member 2 will drop out | Unreachable options in retained debug room. |
0x22C6F8 |
Pa’Mole: missing bomb | WHAT?! NO BOMB?! This can’t BE!! It should be around somewhere! [pause] Maybe someone stole it! | Earlier version of Coal Mine bomb dialogue. |
0x22C74E |
Pa’Mole: get out of way | Come on, come on, outta the way! | Neighboring unused mine scene instruction. |
0x230DB2 |
Chef Torte: wedding interrupted | CHEF TORTE: Ve should not interrupt za vedding! | Unused chef line in wedding sequence. |
0x2327F7 |
Peach-related marriage joke: original long complaint | Mario, where have you been? I’ve never been so worried! I’m so angry I can’t see straight! [pause] Would you want to marry someone who can’t see straight?! | Extended unused Mushroom Kingdom dialogue preceding the Princess departure texts; speaker uncertain. |
0x23287B |
Mushroom Kingdom: princess at flowers | Lately, the Princess hasn’t been around to look at the flowers. | Unused NPC comment near Princess-departure strings. |
0x2328B3 |
Mushroom Kingdom: startled NPC | Wow! That sure woke me up! | Unused line near Princess-departure strings. |
0x2328CF |
Peach: stay quiet | TOADSTOOL: Shhhh…. [pause] If people see who I’m with, they’ll flip out, so… [pause] Let’s be real quiet! | Unused Peach instruction from departure sequence. |
0x232929 |
Peach: the flowers | I just love the smell of flowers! [new page] I’m sorry…I’m in a rush right now. I’ll come back another time. | Unused Peach dialogue in/near Mushroom Kingdom flower area. |
0x232AFE |
Mushroom Kingdom: offer to eat | Hey Mario! Wanna grab something to eat? | Unused town food invitation. |
0x232B1E |
Mushroom Kingdom: food invitation followup | Go on now, don’t hang back! | Unused food invitation follow-up. |
0x235A2B |
Garro: nervous about his statue | GARRO: OH! You mean… THAT…That’s …um… | Unused Garro text when discovered by Valentina. |
0x23825E |
Tadpole Pond: old greeting | Hi! Welcome to Tadpole Pond. [pause] Who are you? | Old welcome line for Pond tadpole. |
0x2383E1 |
Tadpole Pond: inventory sold out | Sorry, Tadpole Pond items are all sold out! [new page] Thanks for coming by. | Unused sold-out branch, possible limited inventory. |
0x2380B7 |
Tadpole Pond: item not yet made | I haven’t had one made yet. | Unassigned NPC line around shops/composer. |
0x239309 |
Toadofsky: old introductory reaction | TOADOFSKY: Hmmm. Was that your song I just heard? | Earlier Melody Bay response. |
0x239335 |
Toadofsky: masterpiece complaint | It won’t do at all! It is not the masterpiece I am trying to compose! | Earlier Melody Bay response; maybe same exchange. |
0x239863 |
Booster Amulet alternate | Received an “Amulet” | Alternate amulet award message; depends on context. |
0x239992 |
Toad: alternate Mushroom Way dialogue | TOAD: Thanks for saving me! In my rush to tell the Chancellor, I didn’t watch where I was going. [pause] Mushroom Kingdom’s just ahead, Mario. Let’s hurry there. | Earlier Toad greeting after Hammer Bros. |
0x239A18 |
Generic item test message | Get an item! | Placeholder item text. |
0x239F4A |
Generic locked door | The door won’t budge. | Unused locked-door line. |
0x23ADEC |
Room key variant | Got the Room Key | Unused variation lacking quotes. |
0x23AFA7 |
Booster: train noise variant | BOOSTER: [pause] Ah: HA:::::::! | Unused alternate Booster train sound text; control codes appear as pauses. |
0x23CE7C |
Seaside Town: inventory full | Speaking of items, it looks like you’ve got too many and can’t carry them all. | Unused inventory-full branch. |
0x23D62E |
Possible Culex goodbye | See you around. | Alternate goodbye near Monstro Town content. |
0x2413A5 |
Geno at Star Hill before Frogfucius | GENO: +++ I feel the energy of the Star Piece. | Functional condition, inaccessible under normal progression. |
0x240A74 |
Raz: Star Hill proposal | I hope she’ll say “yes”. | Apparently timing-locked wish. |
0x240A91 |
Raini: Star Hill proposal | I wish he’d pop THE question. | Apparently timing-locked wish. |
0x24681D |
Nimbus Castle: wait a minute | Wait a minute, please… | Unused reunion/arrival dialogue. |
0x246838 |
Mallow: reassure Nimbus royalty | MALLOW: Please! These people aren’t your enemies. They’re my friends. | Unused reassurance during Nimbus court scene. |
0x24687D |
Nimbus Castle: follow me | This way, come on! | Unused movement prompt in Nimbus castle. |
0x247318 |
Croco: all treasures collected | [new page] So, youse guys found ’em ALL? …Geez…I’ve failed… …I’m humiliated…! | Unused Signal Ring contingency if all treasures were found. |
0x247A6A |
Nimbus Land: bustling again | Things have finally picked up! | Unused Nimbus NPC line. |
0x247BF0 |
Nimbus inn: quiet dream | You slept quietly, so I’m sure you had pleasant dreams! | Unused Dream Cushion reaction. |
0x247FCB |
Nimbus Land: beautiful weather | Everyone’s happy when the weather is nice! | Unused NPC weather comment. |
0x248FC2 |
Overworld battle-style outcome: victory | Victory!! | Unassigned overworld victory string. |
0x248FCE |
Overworld battle-style outcome: defeat | Defeated!! | Unassigned overworld defeat string. |
0x248FDB |
Overworld battle-style outcome: retreat | Run Away!! | Unassigned overworld retreat string. |
0x396D88 |
Mallow chases Mario | Mario… wait! | Unused Forest Maze/Bowyer scene message; battle-dialog ID 0x25 |
0x3985B2 |
Axem Red reprimands his team | AXEM RED: SHUT UP, all of you! We’ve got a job to do! | Unused Axem Rangers battle line; battle-dialog ID 0xBB |
0x399121 |
Smithy complains to the party | SMITHY: You kids should be ashamed of yourselves for making me so upset! | Unused Smithy first-to-second-form dialogue; battle-dialog ID 0xF9 |
0x3A29C9 |
Unused battle line about men | I REALLY hate males…! [new page] | Unused enemy battle message; original context unclear |
0x3A29E3 |
Battle victory style: Defense Up | DEFENSE UP!! [new page] | Alternate buff message |
0x3A29F2 |
Battle victory style: Attack Up | ATTACK UP!! [new page] | Alternate buff message |
0x3A3932 |
Spare item: alternate wastebasket wording | Throw away unwanted items | Item-description bank; unused alternative to the normal Waste Basket description. |
0x3992B4 |
Debug error message | Error message | Battle string at tail of battle text table; debug message. |
0x3992C4 |
Glitch/debug Go World | Go, World! | Internally present, can surface under rare glitches; not ordinary playable dialogue. |
0x3A274D |
Alternate battle reward: EXP | Exp. up [VAR:1C,30] point(s)! | Early battle result text, separate from final results screen. |
0x3A2763 |
Alternate battle reward: weapon | Got a(n) [VAR:1C,31]! | Early battle result item/weapon text. |
0x3A2771 |
Alternate battle reward: coins | Got [VAR:1C,32] coin(s)! | Early battle result coin text. |
0x3A2782 |
Alternate level-up | [VAR:1C,33] reaches Level [VAR:1C,34]!! | Early level-up message, with name and level placeholders. |
0x3A2799 |
Alternate max HP upgrade | [VAR:1C,33]’s MAX HP up by 5! | Early HP gain announcement; displayed English says 5 HP. |
0x3A27C4 |
Alternate spell learning | [VAR:1C,33] learns [VAR:1C,37]! | Alternate newly learned special attack message. |
0x3A28D3 |
No escape | Can~t run{ | Earlier escape failure menu text with reassigned punctuation glyphs. |
0x3A299A |
Old battle label: Battle | Battle | Generic early battle label. |
0x3A29A1 |
Old Lucky label | Lucky | Old version of Lucky message shown in text box. |
The original Psychopath pointer bank contains 256 entries, many of them entirely ordinary or empty. The table above isolates the inaccessible entries. Appendix B has all 256 slots, including ordinary and empty ones, with offsets so you can compare the actual thought data.
Appendix B: all 256 Psychopath thoughts by enemy ID
This is the complete U.S. SNES Psychopath pointer-table catalog, not a list of 256 unused lines. It includes everyday monsters, bosses, blank slots, and the inaccessible thoughts discussed above. I have kept the enemy IDs, decoded text, ROM pointers, and the original accessibility classifications so that an obscure thought can be checked without guessing who said it. Blank messages are shown as an em dash; the classifications are preliminary, and “ordinary enemy” does not prove every battle state is reachable.
| Enemy ID | Internal name | Thought offset | Psychopath thought | Access / status |
|---|---|---|---|---|
0x00 |
TERRAPIN | 0x39A1D1 |
Yo! What’s going on? | Mallow absent in encounter |
0x01 |
SPIKEY | 0x39A1E8 |
Just try and jump on me! | Ordinary enemy; not shown to be unused |
0x02 |
SKY TROOPA | 0x39A203 |
What a gorgeous day! | Ordinary enemy; not shown to be unused |
0x03 |
MAD MALLET | 0x39A21A |
Work, work, work… | Ordinary enemy; not shown to be unused |
0x04 |
SHAMAN | 0x39A230 |
I’m losing this fight! | Ordinary enemy; not shown to be unused |
0x05 |
CROOK | 0x39A249 |
You can’t run away! Ha! | Ordinary enemy; not shown to be unused |
0x06 |
GOOMBA | 0x39A263 |
Goomba gumba…phew! | Ordinary enemy; not shown to be unused |
0x07 |
PIRANHA PLANT | 0x39A27A |
Pretty boring nowadays. | Ordinary enemy; not shown to be unused |
0x08 |
AMANITA | 0x39A294 |
Gotta work on my tan! | Ordinary enemy; not shown to be unused |
0x09 |
GOBY | 0x39A2AC |
Blub blub blub… | Ordinary enemy; not shown to be unused |
0x0A |
BLOOBER | 0x39A2C0 |
I love floating around. | Ordinary enemy; not shown to be unused |
0x0B |
BANDANA RED | 0x39A2DA |
I love the color RED! | Ordinary enemy; not shown to be unused |
0x0C |
LAKITU | 0x39A2F2 |
Why do people hate me? | Ordinary enemy; not shown to be unused |
0x0D |
BIRDY | 0x39A30B |
I HATE Valentina. | Ordinary enemy; not shown to be unused |
0x0E |
PINWHEEL | 0x39A31F |
What a day it’s been… | Ordinary enemy; not shown to be unused |
0x0F |
RAT FUNK | 0x39A339 |
Squeek, squeek… | Ordinary enemy; not shown to be unused |
0x10 |
K-9 | 0x39A34D |
May I take a BITE? | Ordinary enemy; not shown to be unused |
0x11 |
MAGMITE | 0x39A362 |
Got a thorn in my foot. | Ordinary enemy; not shown to be unused |
0x12 |
THE BIG BOO | 0x39A37C |
Stop staring at me! | Ordinary enemy; not shown to be unused |
0x13 |
DRY BONES | 0x39A392 |
I’m sick of gettin’ hit! | Ordinary enemy; not shown to be unused |
0x14 |
GREAPER | 0x39A3AD |
Any reaping to be done? | Ordinary enemy; not shown to be unused |
0x15 |
SPARKY | 0x39A3C7 |
Fire EVERYWHERE! | Ordinary enemy; not shown to be unused |
0x16 |
CHOMP | 0x39A3DA |
Workin’ on a chain gang. | Ordinary enemy; not shown to be unused |
0x17 |
PANDORITE | 0x39A3F5 |
I’m trying to sleep, OK? | Ordinary enemy; not shown to be unused |
0x18 |
SHY RANGER | 0x39A410 |
Transmitting information.[0x0A] Over and out. | Ordinary enemy; not shown to be unused |
0x19 |
BOB-OMB | 0x39A43C |
Ouch. HEY! Watch it! | Ordinary enemy; not shown to be unused |
0x1A |
SPOOKUM | 0x39A453 |
Que pasa? | Ordinary enemy; not shown to be unused |
0x1B |
HAMMER BRO | 0x39A45F |
I love my hammer! | Mallow absent in encounter |
0x1C |
BUZZER | 0x39A473 |
Buzzzzz… | Ordinary enemy; not shown to be unused |
0x1D |
AMEBOID | 0x39A480 |
Get outta my face. | Ordinary enemy; not shown to be unused |
0x1E |
GECKO | 0x39A495 |
Red? What about Green? | Ordinary enemy; not shown to be unused |
0x1F |
WIGGLER | 0x39A4AE |
I’m just a helpless wiggler… | Ordinary enemy; not shown to be unused |
0x20 |
CRUSTY | 0x39A4CF |
Look at THIS! | Ordinary enemy; not shown to be unused |
0x21 |
MAGIKOOPA | 0x39A4DF |
That’s…my child? | Ordinary enemy; not shown to be unused |
0x22 |
LEUKO | 0x39A4F4 |
Floating’s a bad habit. | Ordinary enemy; not shown to be unused |
0x23 |
JAWFUL | 0x39A50E |
Huh? | Ordinary enemy; not shown to be unused |
0x24 |
ENIGMA | 0x39A515 |
Gather around! Watch it! | Ordinary enemy; not shown to be unused |
0x25 |
BLASTER | 0x39A530 |
Wanna join me? | Ordinary enemy; not shown to be unused |
0x26 |
GUERRILLA | 0x39A541 |
Don’t confuse me[0x0A] with someone else! | Ordinary enemy; not shown to be unused |
0x27 |
BABA YAGA | 0x39A569 |
Feelin’ kinda round… | Unused monster |
0x28 |
HOBGOBLIN | 0x39A582 |
Havin’ a blast today! | Ordinary enemy; not shown to be unused |
0x29 |
REACHER | 0x39A59A |
Hope you’ll stay close. | Ordinary enemy; not shown to be unused |
0x2A |
SHOGUN | 0x39A5B4 |
Do as you like. | Ordinary enemy; not shown to be unused |
0x2B |
ORB USER | 0x39A5C6 |
I hate Kinklinks! | Ordinary enemy; not shown to be unused |
0x2C |
HEAVY TROOPA | 0x39A5DA |
I’ll make ya beautiful! | Ordinary enemy; not shown to be unused |
0x2D |
SHADOW | 0x39A5F4 |
You’re a model, right? | Ordinary enemy; not shown to be unused |
0x2E |
CLUSTER | 0x39A60D |
I’ll psyche you out! | Ordinary enemy; not shown to be unused |
0x2F |
BAHAMUTT | 0x39A624 |
Give me a chance, here. | Ordinary enemy; not shown to be unused |
0x30 |
OCTOLOT | 0x39A63E |
Check out my legs! | Ordinary enemy; not shown to be unused |
0x31 |
FROGOG | 0x39A653 |
This bright sunlight[0x0A] better not fry me! | Ordinary enemy; not shown to be unused |
0x32 |
CLERK | 0x39A67F |
10 years I’ve been here! | Ordinary enemy; not shown to be unused |
0x33 |
GUNYOLK | 0x39A69A |
If we’re beaten, the boss is alone! | Ordinary enemy; not shown to be unused |
0x34 |
BOOMER | 0x39A6C0 |
It’s all over now… | Ordinary enemy; not shown to be unused |
0x35 |
REMO CON | 0x39A6D7 |
The world is history. | Ordinary enemy; not shown to be unused |
0x36 |
SNAPDRAGON | 0x39A6EF |
I did a lot in my youth. | Ordinary enemy; not shown to be unused |
0x37 |
STUMPET | 0x39A70A |
Express yourself! | Ordinary enemy; not shown to be unused |
0x38 |
DODO | 0x39A71E |
I’m starved…later! | Ordinary enemy; not shown to be unused |
0x39 |
JESTER | 0x39A735 |
I’ve failed my King… | Ordinary enemy; not shown to be unused |
0x3A |
ARTICHOKER | 0x39A74E |
Relax a little, okay? | Ordinary enemy; not shown to be unused |
0x3B |
ARACHNE | 0x39A766 |
%Day-o… | Ordinary enemy; not shown to be unused |
0x3C |
CARROBOSCIS | 0x39A772 |
I ALWAYS eat my vegetables! | Ordinary enemy; not shown to be unused |
0x3D |
HIPPOPO | 0x39A790 |
This is a drag… | Ordinary enemy; not shown to be unused |
0x3E |
MASTADOOM | 0x39A7A4 |
Phew, I’m FREEZING.. | Ordinary enemy; not shown to be unused |
0x3F |
CORKPEDITE | 0x39A7BB |
Off! FORGET IT! | Ordinary enemy; not shown to be unused |
0x40 |
TERRA COTTA | 0x39A7CD |
Oh, Mr.Bowser:: | Ordinary enemy; not shown to be unused |
0x41 |
SPIKESTER | 0x39A7DF |
Why, you’re AFRAID of me! | Ordinary enemy; not shown to be unused |
0x42 |
MALAKOOPA | 0x39A7FB |
Just call me “General!# | Ordinary enemy; not shown to be unused |
0x43 |
POUNDER | 0x39A815 |
Wham bam SLAM! | Ordinary enemy; not shown to be unused |
0x44 |
POUNDETTE | 0x39A826 |
Love conquers ALL. | Ordinary enemy; not shown to be unused |
0x45 |
SACKIT | 0x39A83B |
This is just how I am. | Ordinary enemy; not shown to be unused |
0x46 |
GU GOOMBA | 0x39A854 |
Hey, maybe I CAN win! | Ordinary enemy; not shown to be unused |
0x47 |
CHEWY | 0x39A86C |
I’m just a fresh flower. | Ordinary enemy; not shown to be unused |
0x48 |
FIREBALL | 0x39A887 |
Blurb blurb blurb… | Ordinary enemy; not shown to be unused |
0x49 |
MR.KIPPER | 0x39A89E |
I’m a fresh little fish. | Ordinary enemy; not shown to be unused |
0x4A |
FACTORY CHIEF | 0x39A8B9 |
Who DARES to fight ME?! | Ordinary enemy; not shown to be unused |
0x4B |
BANDANA BLUE | 0x39A8D3 |
Color me Blue, mates!! | Ordinary enemy; not shown to be unused |
0x4C |
MANAGER | 0x39A8EC |
25 years of working, sigh. | Ordinary enemy; not shown to be unused |
0x4D |
BLUEBIRD | 0x39A909 |
You are… magnificent | Ordinary enemy; not shown to be unused |
0x4E |
— | 0x39A922 |
— | Empty / placeholder |
0x4F |
ALLEY RAT | 0x39A924 |
Don’t pity me, Mario! | Ordinary enemy; not shown to be unused |
0x50 |
CHOW | 0x39A93C |
Hey, I fought you already! | Ordinary enemy; not shown to be unused |
0x51 |
MAGMUS | 0x39A959 |
Clobber me for good life! | Ordinary enemy; not shown to be unused |
0x52 |
LI~L BOO | 0x39A975 |
Beep pa doodle-dee!% | Ordinary enemy; not shown to be unused |
0x53 |
VOMER | 0x39A98C |
Nobody, NOBODY likes me. | Ordinary enemy; not shown to be unused |
0x54 |
GLUM REAPER | 0x39A9A7 |
Comin’ through… | Ordinary enemy; not shown to be unused |
0x55 |
PYROSPHERE | 0x39A9BB |
Vroom, VROOM!! | Ordinary enemy; not shown to be unused |
0x56 |
CHOMP CHOMP | 0x39A9CC |
Hey, let’s PLAY! | Ordinary enemy; not shown to be unused |
0x57 |
HIDON | 0x39A9DF |
You wanna run, huh?! | Ordinary enemy; not shown to be unused |
0x58 |
SLING SHY | 0x39A9F6 |
Hear my song. | Ordinary enemy; not shown to be unused |
0x59 |
ROB-OMB | 0x39AA06 |
Disappear? Maybe later! | Ordinary enemy; not shown to be unused |
0x5A |
SHY GUY | 0x39AA20 |
Hold still, okay?! | Ordinary enemy; not shown to be unused |
0x5B |
NINJA | 0x39AA35 |
Wooo HOOO! I’m a FOO! | Ordinary enemy; not shown to be unused |
0x5C |
STINGER | 0x39AA4D |
Strike the pose! | Ordinary enemy; not shown to be unused |
0x5D |
GOOMBETTE | 0x39AA60 |
Me speak soft, BIG STICK! | Ordinary enemy; not shown to be unused |
0x5E |
GECKIT | 0x39AA7C |
Geck…Geck…GOCK? | Ordinary enemy; not shown to be unused |
0x5F |
JABIT | 0x39AA92 |
This is the pits! | Ordinary enemy; not shown to be unused |
0x60 |
STAR CRUSTER | 0x39AAA6 |
I’M NOT A CRAB!! | Ordinary enemy; not shown to be unused |
0x61 |
MERLIN | 0x39AAB9 |
— | Empty / placeholder |
0x62 |
MUCKLE | 0x39AABB |
Gotta know your limits. | Ordinary enemy; not shown to be unused |
0x63 |
FORKIES | 0x39AAD5 |
Shikashikashika::! | Ordinary enemy; not shown to be unused |
0x64 |
GORGON | 0x39AAEA |
I just wanna go home. | Ordinary enemy; not shown to be unused |
0x65 |
BIG BERTHA | 0x39AB02 |
Adabing, ADABANG! | Ordinary enemy; not shown to be unused |
0x66 |
CHAINED KONG | 0x39AB16 |
A tad warm, isn’t it?! | Ordinary enemy; not shown to be unused |
0x67 |
FAUTSO | 0x39AB2F |
Thanks to you I’m free! | Ordinary enemy; not shown to be unused |
0x68 |
STRAW HEAD | 0x39AB49 |
Gotta press this shirt! | Ordinary enemy; not shown to be unused |
0x69 |
JUJU | 0x39AB63 |
K-9 is after my bones! | Unused monster |
0x6A |
ARMORED ANT | 0x39AB7C |
Do one good turn a day! | Ordinary enemy; not shown to be unused |
0x6B |
ORBISON | 0x39AB96 |
Don’t jump on me! | Ordinary enemy; not shown to be unused |
0x6C |
TUB-O-TROOPA | 0x39ABAA |
My shell’s shot! | Ordinary enemy; not shown to be unused |
0x6D |
DOPPEL | 0x39ABBD |
This’s been a bad year! | Ordinary enemy; not shown to be unused |
0x6E |
PULSAR | 0x39ABD7 |
I’m a mini-pulsar. | Ordinary enemy; not shown to be unused |
0x6F |
— | 0x39ABEC |
— | Empty / placeholder |
0x70 |
OCTOVADER | 0x39ABEE |
I’m a part-time typist! | Ordinary enemy; not shown to be unused |
0x71 |
RIBBITE | 0x39AC08 |
My dad says, “Hello.# | Ordinary enemy; not shown to be unused |
0x72 |
DIRECTOR | 0x39AC20 |
I just lost EVERYTHING. | Ordinary enemy; not shown to be unused |
0x73 |
— | 0x39AC3A |
— | Empty / placeholder |
0x74 |
— | 0x39AC3C |
— | Empty / placeholder |
0x75 |
PUPPOX | 0x39AC3E |
What does it all MEAN? | Ordinary enemy; not shown to be unused |
0x76 |
FINK FLOWER | 0x39AC57 |
Gimme your best shot! | Ordinary enemy; not shown to be unused |
0x77 |
LUMBLER | 0x39AC6F |
Grrr! | Unused monster |
0x78 |
SPRINGER | 0x39AC77 |
What’s going on here? | Ordinary enemy; not shown to be unused |
0x79 |
HARLEQUIN | 0x39AC8F |
Kekekekekekekekekeka! | Unused monster |
0x7A |
KRIFFID | 0x39ACA7 |
Aloe: there! | Ordinary enemy; not shown to be unused |
0x7B |
SPINTHRA | 0x39ACB6 |
Oh! I’m gonna poison ya! | Ordinary enemy; not shown to be unused |
0x7C |
RADISH | 0x39ACD1 |
— | Empty / placeholder |
0x7D |
CRIPPO | 0x39ACD3 |
— | Empty / placeholder |
0x7E |
MASTABLASTA | 0x39ACD5 |
Life is tough, ain’t it? | Unused monster |
0x7F |
PILE DRIVER | 0x39ACF0 |
— | Empty / placeholder |
0x80 |
APPRENTICE | 0x39ACF2 |
I’ve had ENOUGH. | Ordinary enemy; not shown to be unused |
0x81 |
— | 0x39AD05 |
— | Empty / placeholder |
0x82 |
— | 0x39AD07 |
— | Empty / placeholder |
0x83 |
— | 0x39AD09 |
— | Empty / placeholder |
0x84 |
— | 0x39AD0B |
— | Empty / placeholder |
0x85 |
— | 0x39AD0D |
— | Empty / placeholder |
0x86 |
BOX BOY | 0x39AD0F |
Been waitin’ 100 years! | Ordinary enemy; not shown to be unused |
0x87 |
SHELLY | 0x39AD29 |
Slow down! | Ordinary enemy; not shown to be unused |
0x88 |
SUPER SPIKE | 0x39AD36 |
— | Empty / placeholder |
0x89 |
DODO | 0x39AD38 |
I’m STARVED! | Ordinary enemy; not shown to be unused |
0x8A |
OERLIKON | 0x39AD47 |
I live to eat. | Ordinary enemy; not shown to be unused |
0x8B |
CHESTER | 0x39AD58 |
I love my job!$ | Ordinary enemy; not shown to be unused |
0x8C |
BODY | 0x39AD6A |
+++ | Ordinary enemy; not shown to be unused |
0x8D |
— | 0x39AD70 |
+++ | Empty / placeholder |
0x8E |
TORTE | 0x39AD76 |
Cake! Vatch zee CAKE. | Ordinary enemy; not shown to be unused |
0x8F |
SHY AWAY | 0x39AD8E |
La Dee Dah: Ha Ha. | Ordinary enemy; not shown to be unused |
0x90 |
JINX CLONE | 0x39ADA3 |
I’m the REAL thing! | Ordinary enemy; not shown to be unused |
0x91 |
MACHINE MADE | 0x39ADB9 |
Boing, boing, boing. | Ordinary enemy; not shown to be unused |
0x92 |
MACHINE MADE | 0x39ADD0 |
Look out, LOSERS! | Ordinary enemy; not shown to be unused |
0x93 |
FORMLESS | 0x39ADE4 |
I have a secret! | Ordinary enemy; not shown to be unused |
0x94 |
MOKURA | 0x39ADF7 |
Mwa ha ha… | Ordinary enemy; not shown to be unused |
0x95 |
FIRE CRYSTAL | 0x39AE06 |
I gotta vacuum tonight! | Ordinary enemy; not shown to be unused |
0x96 |
WATER CRYSTAL | 0x39AE20 |
Get me back underground! | Ordinary enemy; not shown to be unused |
0x97 |
EARTH CRYSTAL | 0x39AE3B |
I hate being awakened! | Ordinary enemy; not shown to be unused |
0x98 |
WIND CRYSTAL | 0x39AE54 |
Whhhhhhooooo… | Ordinary enemy; not shown to be unused |
0x99 |
MARIO CLONE | 0x39AE66 |
+++ | Ordinary enemy; not shown to be unused |
0x9A |
TOADSTOOL 2 | 0x39AE6C |
It’s tough to be pretty! | Ordinary enemy; not shown to be unused |
0x9B |
BOWSER CLONE | 0x39AE87 |
Grr…my castle… | Ordinary enemy; not shown to be unused |
0x9C |
GENO CLONE | 0x39AE9C |
Star Pieces…Star… | Ordinary enemy; not shown to be unused |
0x9D |
MALLOW CLONE | 0x39AEB4 |
Ma? Pa? Where are ya? | Ordinary enemy; not shown to be unused |
0x9E |
SHYSTER | 0x39AECC |
Boing, boing, boing. | Ordinary enemy; not shown to be unused |
0x9F |
KINKLINK | 0x39AEE3 |
— | Empty / placeholder |
0xA0 |
— | 0x39AEE5 |
— | Empty / placeholder |
0xA1 |
HANGIN~ SHY | 0x39AEE7 |
Minimum wage for THIS?! | Chandelier actor; not targetable |
0xA2 |
SMELTER | 0x39AF01 |
I brush after each meal! | Ordinary enemy; not shown to be unused |
0xA3 |
MACHINE MADE | 0x39AF1C |
Mario! I’m BAAAAAAAACK! | Ordinary enemy; not shown to be unused |
0xA4 |
MACHINE MADE | 0x39AF36 |
Nya! I’ll SNUFF ya! NYA! | Ordinary enemy; not shown to be unused |
0xA5 |
MACHINE MADE | 0x39AF51 |
My promotion’s at stake! | Ordinary enemy; not shown to be unused |
0xA6 |
MACHINE MADE | 0x39AF6C |
Oh! My makeup! | Ordinary enemy; not shown to be unused |
0xA7 |
MACHINE MADE | 0x39AF7D |
Will I make the team? | Ordinary enemy; not shown to be unused |
0xA8 |
MACHINE MADE | 0x39AF95 |
Gotta fight for evil! | Ordinary enemy; not shown to be unused |
0xA9 |
MACHINE MADE | 0x39AFAD |
I’m STARVED! | Ordinary enemy; not shown to be unused |
0xAA |
MACHINE MADE | 0x39AFBC |
Whew! Vertigo! | Ordinary enemy; not shown to be unused |
0xAB |
GOOMBA | 0x39AFCD |
— | Empty / placeholder |
0xAC |
HAMMER BRO | 0x39AFCF |
— | Empty / placeholder |
0xAD |
BIRDO | 0x39AFD1 |
— | Empty / placeholder |
0xAE |
BB-BOMB | 0x39AFD3 |
— | Empty / placeholder |
0xAF |
MAGIDRAGON | 0x39AFD5 |
— | Empty / placeholder |
0xB0 |
STARSLAP | 0x39AFD7 |
They think I’m goofy… | Ordinary enemy; not shown to be unused |
0xB1 |
MUKUMUKU | 0x39AFF1 |
Ya trying to bug me?! | Ordinary enemy; not shown to be unused |
0xB2 |
ZEOSTAR | 0x39B009 |
Oh, I can’t stand him! | Ordinary enemy; not shown to be unused |
0xB3 |
JAGGER | 0x39B022 |
Oh! I’m so excited! | Ordinary enemy; not shown to be unused |
0xB4 |
CHOMPWEED | 0x39B038 |
— | Empty / placeholder |
0xB5 |
SMITHY | 0x39B03A |
Don’t shock me! DON’T! | Ordinary enemy; not shown to be unused |
0xB6 |
SMITHY | 0x39B053 |
Nothin’ can hurt me! | Ordinary enemy; not shown to be unused |
0xB7 |
— | 0x39B06A |
— | Empty / placeholder |
0xB8 |
MICROBOMB | 0x39B06C |
Small is as small does. | Ordinary enemy; not shown to be unused |
0xB9 |
— | 0x39B086 |
— | Empty / placeholder |
0xBA |
GRIT | 0x39B088 |
— | Empty / placeholder |
0xBB |
NEOSQUID | 0x39B08A |
I’m so utterly alone… | Ordinary enemy; not shown to be unused |
0xBC |
YARIDOVICH | 0x39B0A4 |
I’m not the real McCoy! | Ordinary enemy; not shown to be unused |
0xBD |
HELIO | 0x39B0BE |
I’m burnin’ up inside! | Ordinary enemy; not shown to be unused |
0xBE |
RIGHT EYE | 0x39B0D7 |
I’ve got an astigmatism! | Ordinary enemy; not shown to be unused |
0xBF |
LEFT EYE | 0x39B0F2 |
I can’t see a thing! | Ordinary enemy; not shown to be unused |
0xC0 |
KNIFE GUY | 0x39B109 |
Happiness is hip! | Ordinary enemy; not shown to be unused |
0xC1 |
GRATE GUY | 0x39B11D |
Peace is just a dream. | Ordinary enemy; not shown to be unused |
0xC2 |
BUNDT | 0x39B136 |
Congratulations. | Ordinary enemy; not shown to be unused |
0xC3 |
JINX | 0x39B149 |
You’re just a beginner! | Ordinary enemy; not shown to be unused |
0xC4 |
JINX | 0x39B163 |
Sympathy!? Not from me! | Ordinary enemy; not shown to be unused |
0xC5 |
COUNT DOWN | 0x39B17D |
We’re into overtime! | Ordinary enemy; not shown to be unused |
0xC6 |
DING-A-LING | 0x39B194 |
Wake up sleepy heads! | Ordinary enemy; not shown to be unused |
0xC7 |
BELOME | 0x39B1AC |
I just…wanna sleep. | Ordinary enemy; not shown to be unused |
0xC8 |
BELOME | 0x39B1C4 |
Gotta yummy in my tummy! | Ordinary enemy; not shown to be unused |
0xC9 |
— | 0x39B1DF |
— | Empty / placeholder |
0xCA |
SMILAX | 0x39B1E1 |
Turn your eyes! | Ordinary enemy; not shown to be unused |
0xCB |
THRAX | 0x39B1F3 |
— | Empty / placeholder |
0xCC |
MEGASMILAX | 0x39B1F5 |
I was a water baby! | Ordinary enemy; not shown to be unused |
0xCD |
BIRDO | 0x39B20B |
I just love life! | Ordinary enemy; not shown to be unused |
0xCE |
EGGBERT | 0x39B21F |
What a glorious day! | Ordinary enemy; not shown to be unused |
0xCF |
AXEM YELLOW | 0x39B236 |
We’re lookin’ GOOD! | Ordinary enemy; not shown to be unused |
0xD0 |
PUNCHINELLO | 0x39B24C |
Yeeha! I see we’re already famous! | Ordinary enemy; not shown to be unused |
0xD1 |
TENTACLES | 0x39B271 |
Keep me in cool! | Ordinary enemy; not shown to be unused |
0xD2 |
AXEM RED | 0x39B284 |
I’m all thumbs today! | Ordinary enemy; not shown to be unused |
0xD3 |
AXEM GREEN | 0x39B29C |
Are we done here? | Ordinary enemy; not shown to be unused |
0xD4 |
KING BOMB | 0x39B2B0 |
I LIVE to explode! | Ordinary enemy; not shown to be unused |
0xD5 |
MEZZO BOMB | 0x39B2C5 |
Look out! | Ordinary enemy; not shown to be unused |
0xD6 |
— | 0x39B2D1 |
— | Empty / placeholder |
0xD7 |
RASPBERRY | 0x39B2D3 |
Congratulations! | Ordinary enemy; not shown to be unused |
0xD8 |
KING CALAMARI | 0x39B2E6 |
The ship’s MINE! SCRAM! | Ordinary enemy; not shown to be unused |
0xD9 |
TENTACLES | 0x39B300 |
You wouldn’t…EAT me?! | Ordinary enemy; not shown to be unused |
0xDA |
JINX | 0x39B31A |
Ooh! I’m gonna hurt ya! | Ordinary enemy; not shown to be unused |
0xDB |
ZOMBONE | 0x39B334 |
Hey! We’re not done yet! | Ordinary enemy; not shown to be unused |
0xDC |
CZAR DRAGON | 0x39B34F |
Flamin’ hot, right at ya! | Ordinary enemy; not shown to be unused |
0xDD |
CLOAKER | 0x39B36B |
I love cold hard steel! | Ordinary enemy; not shown to be unused |
0xDE |
DOMINO | 0x39B385 |
MAGIC! DEAL with it! | Ordinary enemy; not shown to be unused |
0xDF |
MAD ADDER | 0x39B39C |
I’m alive and kicking. | Ordinary enemy; not shown to be unused |
0xE0 |
MACK | 0x39B3B5 |
Boing, boing, boing. | Ordinary enemy; not shown to be unused |
0xE1 |
BODYGUARD | 0x39B3CC |
Boing, boing, boing. | Ordinary enemy; not shown to be unused |
0xE2 |
YARIDOVICH | 0x39B3E3 |
My promotion’s at stake! | Ordinary enemy; not shown to be unused |
0xE3 |
DRILL BIT | 0x39B3FE |
This is for Yaridovich! | Not normally targetable |
0xE4 |
AXEM PINK | 0x39B418 |
Red, WRONG POSITION! | Ordinary enemy; not shown to be unused |
0xE5 |
AXEM BLACK | 0x39B42F |
You’re timing stinks! | Ordinary enemy; not shown to be unused |
0xE6 |
BOWYER | 0x39B447 |
What’s with these folks? | Ordinary enemy; not shown to be unused |
0xE7 |
AERO | 0x39B462 |
— | Empty / placeholder |
0xE8 |
— | 0x39B464 |
— | Empty / placeholder |
0xE9 |
EXOR | 0x39B466 |
Gotta mow the lawn soon. | Ordinary enemy; not shown to be unused |
0xEA |
SMITHY | 0x39B481 |
Eh?! Not bad! | Ordinary enemy; not shown to be unused |
0xEB |
SHYPER | 0x39B491 |
Ooh! This’ll be fun! | Ordinary enemy; not shown to be unused |
0xEC |
SMITHY | 0x39B4A8 |
What a heavy head! | Ordinary enemy; not shown to be unused |
0xED |
SMITHY | 0x39B4BD |
This isn’t good at all! | Ordinary enemy; not shown to be unused |
0xEE |
SMITHY | 0x39B4D7 |
Good magic, bad defense. | Ordinary enemy; not shown to be unused |
0xEF |
SMITHY | 0x39B4F2 |
What’s hidden inside?! | Ordinary enemy; not shown to be unused |
0xF0 |
CROCO | 0x39B50B |
Gosh, I’m good! | Ordinary enemy; not shown to be unused |
0xF1 |
CROCO | 0x39B51D |
Ooh! I’m good! | Ordinary enemy; not shown to be unused |
0xF2 |
— | 0x39B52E |
— | Empty / placeholder |
0xF3 |
EARTH LINK | 0x39B530 |
What a royal pain! | Ordinary enemy; not shown to be unused |
0xF4 |
BOWSER | 0x39B545 |
Mario! It’s time! | Mallow absent in encounter |
0xF5 |
AXEM RANGERS | 0x39B559 |
It’s a melee! | Ordinary enemy; not shown to be unused |
0xF6 |
BOOSTER | 0x39B569 |
This is like realizing[0x0A] you’re outside without[0x0A] your clothes on! | Ordinary enemy; not shown to be unused |
0xF7 |
BOOSTER | 0x39B5AE |
— | Empty / placeholder |
0xF8 |
SNIFIT | 0x39B5B0 |
Minimum wage for THIS?! | Ordinary enemy; not shown to be unused |
0xF9 |
JOHNNY | 0x39B5CA |
Whoa! It’s all over. | Ordinary enemy; not shown to be unused |
0xFA |
JOHNNY | 0x39B5E1 |
— | Empty / placeholder |
0xFB |
VALENTINA | 0x39B5E3 |
I tell ya, he’s NOTHING! | Ordinary enemy; not shown to be unused |
0xFC |
CLOAKER | 0x39B5FE |
I can’t think straight! | Ordinary enemy; not shown to be unused |
0xFD |
DOMINO | 0x39B618 |
Sh…sho…shocked! | Ordinary enemy; not shown to be unused |
0xFE |
CANDLE | 0x39B62E |
— | Empty / placeholder |
0xFF |
CULEX | 0x39B630 |
A little off, eh? | Ordinary enemy; not shown to be unused |
Appendix C: ROM offsets, pointers, and test codes
| Data / feature | Location / value | Note |
|---|---|---|
| U.S. developer signature | 0x030010 | English identification and Yoshioka dedication. |
| Battle debugger gate | 0x0106AF, F0 → 80 | One documented unlock patch byte. |
| Battle debug strings | 0x010798 | SCENE, OBJ, BG, HPMAX, MUSIC, SE, LINE, EFFECT, events. |
| Spell-effect tester | 0x010822 | MAGIC, LASTER, BGLASTER. |
| Test event text | 0x01A76F | EVENT/BATTLE mode ranges. |
| Star Menu Test | 0x22B3F8 | Hidden developer-facing text. |
| Multi5 signature | 0x09E02E | Controller detection, not multiplayer. |
| Item parameter table | 0x3A014D | 256 18-byte records. |
| Item-name table | 0x3A46EF | 256 15-byte records. |
| Enemy stat pointers | 0x390026 | Use these to locate the individual stats. |
| Enemy names | 0x3992D1 | 256 13-byte records. |
| U.S. Psychopath pointers | 0x399FD1 | 256 pointers into battle/thought text. |
| Japanese Psychopath pointers | 0x399411 | Text bank shifted in Japanese release. |
| Battle formations | 0x39C000–0x39F3FF | 512 formations, 26 bytes each. |
| Third Croco stub | formation 0x117, enemy 0xF2 | 10 HP placeholder and blank name. |
| Third Belome stub | formation 0x120, enemy 0xC9 | 10 HP placeholder and blank name. |
| Drill Bit stats | enemy 0xE3, 0x390F26 | More complete unused combat record. |
| Permanent stat routine | CPU C2:C074–C2:C0B1 | CPU memory address, not ROM file offset. |
| Japanese Hangin’ Shy thought | 0x39A20B | Two coins an hour. |
| U.S. Hangin’ Shy thought | 0x39AEE7 | Reused English Snifit line. |
Questions I had while checking the ROM
Are the third Croco and Belome fights playable?
No finished third boss fight has been established. Both have formation records, but their associated enemy slots contain placeholder HP and lack the scripts needed for a proper fight. The records are real. The finished encounters are not.
Does the Japanese version have more unused enemies?
Not in the ordinary enemy-stat and formation tables I compared. The Japanese and American releases share those records. Japan does retain some additional text and presentation details, including the original chandelier-holder thought and a menu Easter egg.
Can Mallow use Psychopath on every enemy?
No. Some named records refer to actors that cannot be targeted in battle, and the opening fights happen before Mallow joins. Other entries are leftovers for enemies that never appear in a normal encounter.
Does the ROM contain complete deleted dungeons?
Some rooms and collision maps survive, occasionally with recognizable graphics. Other remnants have no working art or events attached. The supposed prison dungeon has prerelease-image support, but no complete, playable escape sequence has been demonstrated.
Sources and original Super Mario RPG research
I have linked the research pages, patch documentation, and historical material wherever I could, rather than padding the references with listicles. Several of these researchers have done the difficult work of reconstructing scripts, renderers, and maps. I checked data against the files I had, but their documented emulator demonstrations and prerelease scans are essential context.
- The Photic Zone: Wind Crystal / SMRPG section
- The Cutting Room Floor: main SNES game page
- The Cutting Room Floor: unused text
- The Cutting Room Floor: unused enemies
- The Cutting Room Floor: unused maps and battle backgrounds
- Data Crystal: ROM map
- Super Mario Wiki: prerelease and unused content
- Super Mario Wiki: research notes on unused Japanese names
- Shmuplations: 1995 Fujioka interview
- GameFAQs: SNES text dump
- GameFAQs: older dialogue/transcript walkthrough
- Super Mario RPG randomizer patch-builder source
- The Mushroom Kingdom: Japanese–English comparison
- Legends of Localization: Japanese pop-culture references
- Legends of Localization: Geno’s name
- GameFAQs: Japanese-only lamp glitch investigation
- Nintendo Life: secret-code Easter egg in the remake
- The Spriters Resource: debug room graphics
- Video walkthrough of unused material and debug menus
- CBT Brazilian fan translation history
- Terminus: Ryusan French translation
- Dorando: historical translation patch listings
- Atelier Traduction: later independent French patch
- SadNES City: Italian patch information
If you are doing your own inspection, the main trap is confusing “present in the ROM” with “present in the finished game.” The reverse trap is assuming that something never seen by a normal player must have been a completely implemented, canceled feature. Often all we have is a name, a flag, and a few 1995 screenshots. That is enough to be interesting. It does not need embellishment.
I came into this wondering how much of the game Square had left behind. The answer is: quite a lot, from tiny glitches to abandoned mechanics and what may be remnants of entire story sequences. But what I like best are the little specific details. The Toad who can send you to the credits. The chefs with battle formations. The deleted joke about Croco being useless. A treasure chest with an Ameboid hiding inside. Some poor Shy Guy hanging from a chandelier for two coins an hour. That is a much better record of how this game was made than any generalized claim that there was once a “darker, bigger Mario RPG” hidden in the cartridge.