If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

New Super Mario Bros.

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

New Super Mario Bros.

Also known as: New Chāojí Mario Xiōngdì (CN)
Developer: Nintendo EAD
Publisher: Nintendo
Platform: Nintendo DS
Released in JP: May 25, 2006
Released in US: May 15, 2006
Released in EU: June 30, 2006
Released in AU: June 8, 2006
Released in KR: March 8, 2007
Released in CN: July 2009


AnimationsIcon.png This game has unused animations.
AreasIcon.png This game has unused areas.
DevTextIcon.png This game has hidden development-related text.
ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
ItemsIcon.png This game has unused items.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
DebugIcon.png This game has debugging material.
RegionIcon.png This game has regional differences.
Carts.png This game has revisional differences.


DevelopmentIcon.png This game has a development article
PrereleaseIcon.png This game has a prerelease article
NotesIcon.png This game has a notes page

New Super Mario Bros. pretty much resuscitated the idea of all-new side-scrolling Mario games. Not unlike its kinda-sorta-sequel, this game has a lot of unused stuff.

Sub-Pages

Read about development information and materials for this game.
Development Info
Read about prerelease information and/or media for this game.
Prerelease Info
Miscellaneous tidbits that are interesting enough to point out here.
Notes

Resources

NSMBUnusedWorldIconFourAncient.png
Unused Scenes
Menus abound!
NSMB-UnusedLevel5SubPageIconMockup.png
Unused Levels
Stages that didn't make the cut.
NSMB-Unused Lightning Powerup Graphic.png
Unused Graphics
Including leftovers from Super Mario 64 DS!
NSMB-UnusedTilesBossRoomLavaSubPageIconMockup.png
Unused Tiles
All sorts of stuff.
NSMB-Volcano3BgBothFixedSubPageIcon.png
Unused Tilesets And Backgrounds
Some 8-bit background fun in here.
NSMBWNote.png
Unused Music and Sounds
Things the DS speaker didn't get to play.

Unused Features/Data

NSMB BasabasaBig.png
Unused Actors And Features
Giant thing is glitchy? SCRAP IT.
Blank.png
Unused Level Features

Misc

NSMB-5-C A1 JP.png
Version Differences
A lot of layout changes.

Unused Level Header Options

Floaty Physics

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.

Mario uses the otherwise unused animation zero_g_walk and appears to use some sort of variation of the Mini Mario physics (e.g., floating and leg kicking) no matter which powerup he has. However, he can't wall jump and flies huge distances when fired from a Pipe Cannon. When this mode is on while the player is Mini, Mario won't be nearly as floaty.

You can activate it while in-level by setting one of the following memory addresses to 0x01.

US JP US
kiosk demo
EU EU
kiosk demo
KO CH
021B69E6 021ADF1A 021A15FA 021C189A 021B411A 021AF61A 021B393A


(Memory Addresses: Original TCRF research)

Start as Mini Mario

Mario will start a stage as Mini Mario. It was probably used for testing, rather than for any real gameplay purpose. You can activate it while in-level by changing any of the relevant addresses above to 0x02.

Per-zone backgrounds and tilesets

The level header blocks defining backgrounds and tilesets can contain multiple entries. Each zone can be set to use different background and tileset entries, which would in theory allow for multiple zones with different graphics in the same level. Unused level 3 uses this.

In practice, the code for this feature is incomplete, and a number of issues prevent it from working as intended:

  • The feature was designed for an older revision of the game which used a different VRAM layout.
  • The code handling backgrounds is inconsistent, reading the several background properties from different entries. This results in broken backgrounds.
  • When changing zones, new graphics aren't loaded, except for the Jyotyu (blocks) palette.

It is also unclear how the support for multiple tilesets would have worked. It seems extra zones would have used tilesets 2 and up. However, in the final game, tileset 2 is occupied by the end-of-level castle.

Unused Entrance Types

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Are these behaving as intended? The first three may be used.

Each level has an entrance type setting which affects how Mario enters the area (exit from a pipe, jump from bottom of the screen, etc.). There are several entrance types that are not used by any levels.

  • 7: The player spawns in the tile above where the entrance is placed, then jumps.
  • 11: Like Entrance 1, the player spawns in the tile above where the entrance is placed.
  • 12: Like the used "Exit from door" entrance, the player spawns coming out of a 3D door which disappears to reveal whatever is behind it once it has closed. In this instance, though, the player and door spawn in the tile above where the entrance is placed.
  • 14: Like the entrance used when the player first spawns or re-spawns after dying in Mario vs. Luigi mode, the player comes out of a pipe which grows out of the ground and then fades away. With this one, however, the player appears to be walking out of a door while coming out of the pipe. When the player spawns from this entrance after exiting from another area, the player looks like they are coming out of a doorway but without the door. What is possibly an earlier version of this entrance can be seen in the 2005 demo version.
  • 15: Seemingly a duplicate of Entrance 14.


(Source: skawo)
(Source: Original TCRF research)

Crash Debugger

This is why you don't eject the game while it is running.

There is a hidden crash debugger in the game, similar to screens seen in other DS games developed by Nintendo, like Super Mario 64 DS and Animal Crossing: Wild World. To access the crash debugger, first crash the game (the easiest way to do this is by removing the game card during gameplay), then hold L + R + A + Left, let go, hold Down + B, let go, and finally hold Start + Select.

The top screen shows the contents of the file BUILDTIME and the reason for the crash, while the bottom screen shows a stack dump.

Unused Code

Overridden Debug Trigger

There is code that would bring up the Scene Load Debug Menu if Start + Select were pressed, but it isn't used as the Start + Select + L + R soft reset code overrides it.

(Source: Skawo)

Carry/Shoot with R

// ov11:0212C648
u16 PlayerBase::getFireKeyPressed()
{
    u16 pressed;
    if ( byte_2085A0C == 2 )
        pressed = this->getRKeyPressed();
    else
        pressed = this->getRunKeysPressed();
    return pressed;
}
// ov11:0212C67C
u16 PlayerBase::getCarryKeysPressed()
{
    u16 pressed;
    if ( byte_2085A0C == 2 )
        pressed = this->getRKeyPressed();
    else
        pressed = this->getRunKeysPressed();
    return pressed;
}
// ov11:0212C6B0
u16 PlayerBase::getCarryKeysHeld()
{
    u16 held;
    if ( byte_2085A0C == 2 )
        held = this->getRKeyHeld();
    else
        held = this->getRunKeysHeld();
    return held;
}


There is an unused variable, that if enabled, triggers some unused code that allows the player to carry items and shoot fireballs with the R button. This can be done independently from running using the normal run button. This may be related to how you could kick (as Big and/or Mega Mario)/throw fireballs (as Fire Mario) using the R button in the E3 2005 demo.

You can use this Action Replay code to enable the variable:

USA
22085A0C 00000002


(Source: Ed_IT)

Unused Text

Build Date

Every version of the game has a plain-text file called BUILDTIME in the root of the ROM filesystem. Its used in the crash debugger and mini game debug menu. Some things of note:

Blue indicates this release is a kiosk demo.
A yellow background indicates this release has autoboot functionality, meaning this version will skip the Nintendo DS BIOS and start the game up right away.
Region Gamecode String
USA A2DE UROM2006-03-29 09:48:19nitro-mj
Japan A2DJ JROM2006-04-04 19:07:45nitro-mj
Japan A85J JROM2006-04-07 11:17:21matoba_t
USA A85E UROM2006-04-07 11:29:13matoba_t
Europe A2DP EROM2006-04-26 14:20:08nitro-mj
Europe A85P EROM2006-04-27 11:13:34matoba_t
Europe* Y78P
Japan** Y3EJ JROM2006-09-11 20:30:18matoba_t
Korea A2DK KROM2006-12-27 14:32:43matoba_t
China A2DC CROM2009-04-27 20:29:28nitro-mj
Japan Y7QJ JROM2009-10-23 16:23:25soejima

*This kiosk demo identifies itself as Y78P on the cartridge and the leaked Nintendo lotcheck sheet, though the gamecode in the header is still A85P. In fact, aside from the autoboot flag, this cartridge is identical to the previous European release.
**This kiosk demo is bundled on a compilation cartridge titled 2006-Nen 10-Gatsu Taikenban Soft.

matoba_t refers to the game's Assistant Director, Taku Matoba and soejima may refer to Yasunari Soejima, one of the enemy programmers, nitro is the DS's code name. mj is likely the internal name for New Super Mario Bros.. New Super Mario Bros. Wii uses this for part of its save file name.


(initial info: Treeki)
(Source: Original TCRF research)

Internal Project Name

Another possible internal name, "Mario2d", appears twice in the arm9 binary. This is used internally in the save data, and isn't present in the demo versions because they do not use save data. This name is possibly reflected in the game's two-letter code (as seen on the front of the game cart, etc) - "2D".

(Source: Original TCRF research)

World Prefix List

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: How is this used by the "get prefix for world" code exactly?
J VS
G W7-
H W8-
B W2-
F W6-
E W5-
C W3-
D W4-
A W1-
I KINOKO

A list that explains the meaning of the prefixes used in the level filenames. It is unknown what the strange order signifies, if anything. Found in the ARM9 code. It appears to be used by the "get prefix for world" code, but the game seems to function fine if the text is blanked out.

(Source: Original TCRF research)
(Source: Skawo)

Oddities

Toads in the Intro

In the introduction where Mario walks towards the castle after observing a lightning strike, there appears to be moving people in the background, but due to the resolution of the game, it is difficult to tell what they are supposed to be, although common sense suggests they are are meant to be Toads, and a leaked document confirms this. But when the game is played in a higher resolution, it turns out they are copies of the Toadsworth model moving around with no animations. This could suggest that Toadsworth was originally Toad, but maybe they just chose the Toadsworth model as he resembles Toad.

Internal Names

Tilesets

Filename Identification Translation Notes
d_2d_I_S_tikei_nohara_ncg.bin Secondary general tileset [...] Sub Tileset Grassland [...] This filename suggests that this tileset was once an extension of the grassland tileset.

Misc. 2D Graphics

Filename Identification Translation Notes
I_star_red_ncg.bin Big Star - This filename suggests that the Big Star was once red.

Music

Filename Identification Translation Notes
BGM_WATER_3 Underwater - This filename suggests that there were multiple underwater tracks at one point, or that the underwater theme was replaced multiple times.

Sound Effects

Filename Identification Notes
SE_SYS_ONE_DOWN Tapping a "W" during the credits This filename suggests this was for some sort of "lose life" event, although it's possible that this sound was created exclusively for the credits.
SE_OBJ_GET_DRAGON_COIN Getting a Star Coin This filename suggests that Star Coins were once Dragon Coins, or maybe its a leftover from Super Mario Advance 2, which is probably the origin of this sound effect.
SE_PLY_STAR_ATTACK Enemy/block debris created by certain enemies or Mega Mario This filename suggests that this sound was used when enemies were defeated by touching them as Invincible Mario.
SE_OBJ_BIG_ROCK_CRASH Giant spiked ball hitting a wall The sounds for small spiked balls rolling and hitting walls are SE_OBJ_TEKKYU_ROLL and SE_OBJ_TEKKYU_CRASH, respectively ("tekkyu" means "spiked ball"). The sound effect names for giant spiked balls suggest that they were once boulders instead.
SE_OBJ_BIG_ROCK_ROLL Giant spiked ball rolling
SE_OBJ_ITEM_APPEAR Item spawning from a ? block These sounds are identical, and the game uses them interchangeably in various situations where items spawn.
SE_OBJ_GOOD_ITEM_APPEAR

Model Containers

Filename Identification Translation Notes
firebar1.nsbmd Fire Bar ball - This filename suggests that there were multiple Fire Bar ball models, or that the Fire Bar ball model was replaced.
donketu.nsbmd Snailicorn Bully This filename suggests that this enemy was a Bully.
obj_e3_ring.nsbmd Red Ring - This ring model (though likely an early version of it) was first seen by the public at E3 2005, and this filename suggests that it was created for one of the versions shown or playable at the event.

Models

Filename Identification Translation Notes
new_donketsu Snailicorn New Bully This filename suggests that the Snailicorn model was replaced at some point in development.
(Source: Original TCRF research)

Obscure Detail

The Flying ? Blocks on the World Map only give Mini Mushrooms if you have got at least one Mini Mushroom previously in the current save file. But this isn't obvious due to the fact that Flying ? Blocks give random items, and that you can get a Mini Mushroom very early in the game - from a Red Toad House or from a block in World 1-4.

(Source: NSMB-ASMReference)