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. Wii

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

New Super Mario Bros. Wii

Developer: Nintendo EAD
Publisher: Nintendo
Platforms: Wii, NVIDIA Shield
Released in JP: December 3, 2009
Released in US: November 15, 2009
Released in EU: November 20, 2009
Released in AU: November 11, 2009
Released in KR: August 7, 2010
Released in CN: December 5, 2017 (NVIDIA Shield)
Released in HK: July 3, 2010
Released in TW: July 3, 2010


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


PrereleaseIcon.png This game has a prerelease article
NotesIcon.png This game has a notes page
BugsIcon.png This game has a bugs page

New Super Mario Bros. Wii takes the revamped 2D side-scrolling action from the DS title and kicks it up a notch by what many fans would consider a dream come true: simultaneous cooperative multiplayer in the main game. It also marks the return of Yoshi, the Koopalings, and Kamek, and pretty much set the standard for the Mario universe in the years that followed.

Sub-Pages

Read about prerelease information and/or media for this game.
Prerelease Info
Miscellaneous tidbits that are interesting enough to point out here.
Notes
Read about notable bugs and errors in this game.
Bugs
NewSuperMarioBrosWii-WatterBubbleBodyTemporaryImage.png
Unused Objects
New hits and old favorites.
NSMBWUnusedKoopaIcon.png
Unused Level Features
Things that just don't come into play.
NSMBWUnusedPenguinIcon.png
Unused Graphics
Quite a lot of graphics ended up getting scrapped.
ChineseNSMBWIIHUD.png
Version Differences
Having Wii in the title when it's on an entirely different platform.
NotesIcon.png
English Translation Differences
Sigh. Yep. This again.

Tournament Mode

Hmmm...
To do:
  • Investigate and if possible reactivate the code.
  • Fully investigate and get proper renders of the layouts.

From February to March 2010, Nintendo hosted a Coin Battle tournament in Japan (NewスーパーマリオブラザーズWii コインバトル日本一決定戦). This apparently used a special version of the game. There was also a "Coin Battle Championship" in Italy and a "National Coin Challenge" in Australia, but for the latter at least, it seems like the retail version of the game was used.

Interestingly, layout files for some of the special screens used for the tournament still exist, but only in the Korean, Taiwanese, and NVIDIA Shield TV versions, which were built after the tournament. They are "MultiCourseSelect_tournament" and "MultiCourseSelect_tournamentButton". There are also code leftovers in the Korean, Taiwanese, and NVIDIA Shield TV versions. There are strings that reference layout files and actors that aren't in the other versions, "MULTI_COURSE_SELECT_TOURNAMENT" and "MULTI_COURSE_SELECT_TOURNAMENT_BUTTON".

(Source: CLF78)

E3 Demo Leftovers

There are a few leftovers from the E3 2009 demo (which was also used at later events that year).

Text

You can play for 10 minutes. After 10
minutes, the session will automatically end.

This was shown on the title screen.

EVENT VERSION

Shown on the level selection screen and the time up screen.

Thank you for playing!
You can continue
your adventure
in the retail version!

Displayed when the session ended.

SCORE
COINS
ENEMIES
LIVES LEFT

Displayed in the Free for All results.

(Source: Original TCRF research)

TIME_UP Actor

NSMBWEventVersionTimeUp.png

Displayed when the session ended, after which the game would reboot. Renders a layout from /Layout/timeUp/timeUp.arc.
You can display this actor in-game by enabling the following Action Replay code (for PAL version 1) and entering any stage:

cc30a6b8 fffffff0
04926010 386002be
047b35f4 989f0259

Earlier Time Up Layout

NSMBWTimeUpTrialPlay.png

Present in the Korean version (and all versions thereafter) is a "timeUp_trialPlay" layout, which seems to be an earlier or alternate version of the layout used by the above actor.

(Source: CLF78)

Unused Hint Movies

There are a total of 82 hint movies. While 62 of them are used, the rest of them go unused. They mostly contain Super Skills, and are broken due to the level layout being different from when the inputs were recorded.

1-3: Four unused Super Skills
2-2: Four unused Super Skills
2-5: Three unused Super Skills
3-2: One unused Infnite 1-Ups
3-5: Three unused Super Skills
6-Castle: One unused Super Skills
7-Tower: One unused Star Coin & one Super Skill
9-8: Two unused Super Skills

World 7-Tower

Star Coin

~ Player jumps on Bullet Bills to get 1-Ups
~ Collects the first star coin above the Banzai Bill
~ Breaks the hidden block and jumps onto the roof
~ He goes into the pipe and collects the second star coin
~ Jumps onto the moving platform and kills himself

Super Skills

~ Player starts with a Propeller Suit
~ The player gets hurt two times
~ Shows the secret exit

Unused Behaviors

Hmmm...
To do:
Star Coins can be moved by Sand Spouts, even before being displaced with a POW Block?
  • Spike Tops and Chain Chomps can be bounced off with Yoshi. The former is also unused in New Super Mario Bros. U but the latter doesn't work in that game. Both are used in Super Mario Maker.
  • Chain Chomps, Thwomps and Prickly Goombas have hitboxes that are impenetrable by Yoshi's tongue.
  • Switches can be pressed by Yoshi, even when the player is not riding Yoshi.
  • Dry Bones have the standard behavior for overworld enemies being in water (splashing when entering and moving slowly when in).
  • Yoshi detaches from Mario if they enter water.
(Source: Original TCRF research)

Switching Layers

The game has good support for changing Mario's active layer, letting him stand on foreground or background tiles. This is used to implement the Mini-Mario pipe secrets in 1-3, but it seems Nintendo planned to do more with it:

  • Entrances have an unused setting to spawn Mario on any layer.
  • The unused sprite EN_REVERSE can switch Mario between layers, too.
  • Every sprite can be placed on any layer; this is the only configurable setting in the game that applies to all types of sprites. This feature is only used in 1-3 to move three types of sprites (coin, invisible 1UP, and special exit controller) to the background layer.

Unused Darkness Setting

NSMBW-UnusedLightingSettingScreenshot.png

There is an unused darkness setting which causes triangular light beams to be generated by each player. The beams face the same way as the players and each can be rotated between 0 and 180 degrees by tilting the relevant Wii Remote.

(Source: Original TCRF research)

Unused Camera Settings

All settings described here are configurable in level files.

Modes

The camera has eight modes, of which 2, 5 and 7 go unused.

Mode 2 causes the camera to only zoom out in multiplayer mode if the players are far apart vertically, instead of in any direction. Even then, it won't zoom out the entire way unless the player who's moving away vertically is flying with a Propeller Suit or Block. Interestingly, this mode has its own unique list of zoom-level options.

Mode 7 is the horizontal equivalent of Mode 2, but without the unique zoom levels.

Mode 5 enables an unused feature that lets the level designer switch the camera to different settings (mode, zoom, bounds, and "ZoomChange") based on activated flag IDs. The configuration for this is actually stored in its own section of the level data, which is empty in all levels in the final game.

Unfortunately, there's no transition when the settings change, making this feature jarring and unusable unless zoom sprites (206) are used to hide the change. It's also buggy: the first set of camera settings in the level data can't be the first one to activate, due to an incorrectly initialized variable, and any changes to the camera bounds are immediately reverted on the next frame.

(Source: Original TCRF research)

Zoom Levels

Anyone who complains about zoom levels in handheld platformers should try playing this.

There are a few unused zoom level options, but most aren't very interesting. One fixes the camera's size at just 7 tiles tall. Another is similar, but also allows the camera to expand in multiplayer mode up to the absolute maximum of 28, which is the size used in the giant bonus area in World 9-3.

(Source: Original TCRF research)

Flying-Only Upward Scrolling

One unused camera setting is the direct equivalent of one used in New Super Mario Bros. and New Super Mario Bros. 2. In those games, it prevents the camera from scrolling upward more than a certain, adjustable number of tiles unless Mario is climbing a vine (in the former) or flying as Raccoon Mario (in the latter), and is used for hiding secret areas. Here, it prevents the camera from scrolling upward at all unless Mario is flying using a Propeller Suit or Block. Oddly, instead of adjusting the scroll distance as in the other games, the attached numeric value adjusts the camera's size in multiplayer mode.

This is actually enabled in a few areas, but only ones where the camera can't scroll at all anyway. It might be enabled just due to laziness, since value "0" enables it and "15" is needed to disable it.

The feature was probably scrapped in this game because it looks glitchy and probably wouldn't work well in multiplayer.

(Source: Original TCRF research)

Other Settings

  • Bounds: Levels can specify how close the players need to be to the top/bottom edges of the screen for the camera to scroll vertically. That's used, but the values can also be different between single-player and multiplayer modes, which isn't.
  • "ZoomChange": This unused setting does nothing.
  • The camera can be configured to consider any cardinal direction as "forward" through the area, including leftward, which is unused.
(Source: Original TCRF research)

Unused Text

test1

First message in the file with obvious purpose. In the Japanese, USA Spanish text, it is the same, the meaning is the same, except there is no "1" on the end.

Story Mode

Seems to be a label for the main mode on the menu.

VS Mode
As you make progress in Story mode,
you'll unlock more courses to play
in VS mode.

Seems to be text for an early/scrapped multiplayer mode.

Select a Mode

Another piece of unused text for the main menu.

(Source: Original TCRF research)

Unused Audio

Hmmm...
To do:
  • Add rips for all of these.
  • Check why the inaudible ones are inaudible, and if they are "used" despite not being audible. Even better, create a setup that automatically logs all the sounds triggered by the game while playing.

Many, if not all, the sounds that were in New Super Mario Bros. are also present here with their original filenames. They aren't listed below.

Streams

Unused track in the game, named cheepfanfare_lr.ry.32.

This fanfare, named down_multi_lr.n.32, uses the same melody as "all players in bubble", but is never heard anywhere, not even in the other multiplayer modes.

BGM_MINIGAME_FANFARE_KOOPA.32 is an empty music file.

The BRSAR has a entry called "STRM_BGM_DEMO_OMAKE" (demo = cutscene, omake = bonus), but there is no BRSTM to go along with it.

(Source: Original TCRF research)

Sequence Data for Animations

Similar to the "bahps" in much of the game's level music, all of the world map themes contain sequence data instructing certain actors to animate at a handful of points in the song. World 9 is the only world to have no such actors, making this data unused there.

Sound Effects

Hmmm...
To do:
Sounds 1648 to 1846 seem to be ported straight from NSMB's sounds (with some of them playing improperly). Are they changed at all and are any of them used?

135 - SE_SYS_CTRL_0_CONNECTED_RC
Inaudible.

137 - SE_SYS_CTRL_1_CONNECTED_RC
Inaudible.

139 - SE_SYS_CTRL_2_CONNECTED_RC
Inaudible.

141 - SE_SYS_CTRL_3_CONNECTED_RC
Inaudible.

181 - SE_SYS_ONE_DOWN
Inaudible. Used in New Super Mario Bros.

181 - SE_SYS_STOCK_ITEM
Used in New Super Mario Bros.

182 - SE_SYS_STOCK_ITEM_USE
Used in New Super Mario Bros.

306 - SE_PLY_JUMP_CLIFF
Inaudible.

307 - SE_PLY_SCALE_CLIFF
Inaudible.

332 - SE_PLY_OTHER_OFF
Inaudible.

333 - SE_PLY_BREAK_FREE
Inaudible.

334 - SE_PLY_BREAK_FREE_PRPL
Inaudible.

354 - SE_PLY_PNGN_WATER_SLIDE
Inaudible.

359 - SE_OBJ_RADAR_ONPU
"Onpu" means "note". This could be related to the strange note icon seen in the E3 2009 trailer.

360 - SE_OBJ_RADAR_ONPU_1
xxxx

361 - SE_OBJ_RADAR_ONPU_2
xxxx

362 - SE_OBJ_RADAR_ONPU_3
xxxx

363 - SE_OBJ_RADAR_ONPU_4
xxxx

364 - SE_OBJ_RADAR_ONPU_5
xxxx

365 - SE_OBJ_RADAR_ONPU_1_1
xxxx

366 - SE_OBJ_RADAR_ONPU_2_1
xxxx

367 - SE_OBJ_RADAR_ONPU_3_1
xxxx

368 - SE_OBJ_RADAR_ONPU_4_1
xxxx

369 - SE_OBJ_RADAR_ONPU_5_1
xxxx

370 - SE_OBJ_ONPU
xxxx

498 - SE_EMY_IGAKURIBO_OPEN
"IGAKURIBO" refers to the Chestnut Goomba.

499 - SE_EMY_IGAKURIBO_OPEN
xxxx

566 - SE_OBJ_GET_COIN_OLD
A coin sounds similar to the Super Mario Bros. and New Super Mario Bros. coin sound, but cut off earlier and with a slight echo.

681 - SE_OBJ_RC_CANNON_READY
Inaudible. "RC_CANNON" refers to the Wii Remote-controlled cannons in the Green Toad Houses.

686 - SE_OBJ_RC_LIFTLINE_MOVE
Inaudible. Possibly refers to the Wii Remote-controlled on-track lifts, as the sounds for those come right before this one.

691 - SE_OBJ_SUISHA_ROLL
Inaudible.

752 - SE_OBJ_FREE_FALL
Inaudible.

756 - SE_OBJ_RC_FENCE_ROLL
Inaudible.

868 - SE_VOC_MA_THANK_YOU
Inaudible. There is no equivalent for the other players.

1080 - SE_VOC_ITEM_KO_CRY_FAR
Inaudible. "ITEM_KO" refers to the Toads that Mario has to rescue.

1080 - SE_VOC_ITEM_KO_CRY_MID
"

1080 - SE_VOC_ITEM_KO_CRY_NEAR
"

1275 - SE_VOC_BOSS_KP_CS_LAUGH
Bowser ("KP") doesn't appear in the World Map ("CS").

1524 - SE_MG_UH_LIFT_START
Inaudible. "MG" refers to Toad Houses and Enemy Battles.

1531 - SE_MG_UH_LIFT_STOP
Inaudible. "MG" refers to Toad Houses and Enemy Battles.

1633 - SE_OBJ_CS_KINOPIO_HERE
Inaudible.

1561 - SE_PLY_FOOTNOTE_CS_YOSHI
You can't bring Yoshi onto the World Map.

(unused sounds: Original TCRF research)

Unused World Map Cutscenes

16 - smc_demo_cannon
The player sinks downward before blasting to another world.

It seems this would've been triggered when standing on top of a cannon. In the final game, cannons are short 2D stages, not animations on the world map, and the world-map cannon models aren't animated at all.

The following Action Replay code (for PAL version 1) replaces the item menu with this cutscene:

04904284 38800010

17 - smc_demo_trship_appear
A music note appears above the player's head and glides to a random map node. Then a Treasure Ship appears above it and descends downward, before the camera returns to the player.

19 - smc_demo_dokan_warp
20 - smc_demo_dokan_start

These would be used for traveling to and from sub-maps using warp pipes. In the final game, only world 3 has a sub-map (and it doesn't use a pipe), but map filenames suggest that more worlds had this feature planned.

The code that uses these cutscenes still exists. By editing RouteInfo.arc to create sub-map warp points that have the "dokan" ("pipe") flag active, it can be seen that this feature is actually fully implemented, and works perfectly.

23 - smc_demo_W_Flying_in
An unused cutscene for entering a world for the first time, in which the airship flies in and stops to drop the player off on the start node before continuing to the tower as normal. The player's voice sound effect is very delayed for some reason.

The function that chooses the world map load-in cutscene can select this one when entering a new world with the airship present, if the player's movement type is 2 (meaning "airship"). When the airship flies away after beating it in the previous world, it actually does write 2 to that field despite the player not being on board anymore, but the player actor overwrites it with 1 ("walking") when he starts chasing after it. This seems to suggest that in an earlier design, the player would ride the airship into the next world after completing its stage, instead of getting kicked out and running after it.

It also means that if the cutscene for completing an airship stage is modified to skip the player getting kicked out of the airship, he'll actually ride it into the next world and demonstrate the unused cutscene. The following Action Replay code (for PAL version 1) does that:

042F4730 00000000
042F4734 00000000
042F4750 00000000
042F4754 00000000

29 - smc_demo_fade_test
Fades the screen out and back in, twice.

The following Action Replay code (for PAL version 1) replaces the item menu with this cutscene:

04904284 3880001D

32 - smc_demo_kinoko_out
Hides a Toad house if the player just completed one.

The default cutscene for completing a course, smc_demo_default_clr, incorporates that functionality directly, making this one redundant.

35 - smc_demo_start_kinoko_in
Does nothing at all.

44 - smc_demo_KinopioStart
Shows or hides a Toad-rescue indicator bubble.

This may have been intended to be used when switching between single-player and multiplayer mode. In the final game, though, that's not done with a cutscene at all.

(Source: Original TCRF research)

Early Level Configuration

Present in the World Map folder on the disc is an unused configuration file for the "Collected Star Coins" screen (CollectionCoinCourseSort.arc), which indicates an early level layout. The full contents can be seen on the Notes page, but among the more notable differences:

  • The game as a whole was generally more linear, given some levels were placed between what ended up being branches in the final game.
  • World 1 didn't have 1-6, and had a secret airship.
  • World 2 had a Ghost House after the tower, lacked 2-6, and had a secret airship.
  • World 3 had two Ghost Houses, the first being between 3-1 and 3-2, and the second between the tower and 3-4. It also had an airship that wasn't secret.
  • World 4's tower was not until between 4-5 and 4-6, had 4-7, and had no Ghost House.
  • World 5 had 5-7, followed immediately by a tower, the castle, and an airship.
  • World 6 had a ghost house between 6-Tower and 6-4, had 6-7, and the airship would not have been a secret.
  • World 7's tower was located between 7-4 and 7-5, had 7-7, and didn't have a Ghost House. World 7-6 and 7-7 were also not going to be secret levels.
  • World 8 had a secret second Tower. Its placement in the list after the castle suggests a very different final castle was planned. The used first tower was between 8-4 and 8-5, 8-7 would not have been a secret level.
  • World 9 did not exist.

Early Features

In pre-release screenshots, we see that the game originally had a Red and a Blue Yoshi. They were changed to Pink and Light Blue in the final version. The filenames for the Yoshi models, though, still follow the old coloring: Y_tex_red.arc, Y_tex_blue.arc.

The game was originally going to have Mega Mario, but it seems to have been canned very early on - EN_ITEM (the actor which manages the various powerup items) has an empty value which loads a mushroom model from I_big_kinoko.arc, but it crashes the game when used, and it does not have any other code which uses the value. There is no way to enable it without ASM hacking.

The file I_big_kinoko.arc does not exist, and it is not referenced by the game otherwise. Also, as other evidence of Mega Mario having been planned, the "flying pipe" objects were ported over from New Super Mario Bros. but are not used in the final game.

Oddities

Pipe Joint

Early Final
NSMBW-EarlyPipeJoint.png NSMBW-FinalPipeJoint.png

The pipe joint texture used in the World 6 Map and the World 6 Map icon depicts an earlier pipe joint. It can also be seen in the E3 2009 demo version.

World 7 Cliff

Early Final
Nsmb W7 CliffA.png Nsmbw W7 GrassA.pngNsmbw w7 map platform.png Nsmbw athetic tile.png

The cliff model used in the World 7 Map depicts an earlier athletic tileset design.

Credits Behavior

Most of the brick blocks in the credits scene have contents chosen randomly at runtime (between "empty," "one coin" and "15 coins," weighted unequally). However, two names are overridden to always have the same contents. Executive producer Satoru Iwata's name is spelled out using 15-coin bricks. More unexpectedly, though, coordinator Rina Yamauchi's bricks are always empty. Since most of the random bricks are selected to be empty anyway, it's unlikely that anyone would ever notice this without hacking.

(Source: Original TCRF research)

Useless Zone Themes

Each zone in the game can have a "theme", which changes how things are rendered, adds effects and so on. But some levels are set to themes that are identical to the default overworld theme, rendering them useless. The following "useless" themes are used:

  • 8 - Sky/Bonus
  • 17 - Icy Cave
  • 21 - World 8 Airship

Empty openingTitle Folder

The directory /Layout/openingTitle, which corresponds to the title screen's layout, is empty. The archive containing the layout and its assets is actually located in the folder dedicated to resources exclusive to the disc's region instead, so someone moved the openingTitle data without deleting the folder in which it was originally located.

Actor Names

Spotlight Boat

The actor for the spotlight-equipped boat in World 6-6 is named NICE_BOAT (C++ class daNiceBoat_c). This may be a reference to a meme that circulated in Japan in late 2007, coinciding with the game's development period.

Bouncy Cloud

Most actors with "remo" or "remocon" (short for "remote controller," referring to the Wii Remote) in their name use motion controls; the only exception is EN_LIFT_REMOCON_TRPLN, the Bouncy Cloud from World 9-8. If motion-control functionality was planned for this actor at some point (perhaps to tilt it, or to move it left and right), no code for it remains. It may also just be a copy/paste mistake, since the three actors preceding it are motion-controlled platforms with similar names. New Super Mario Bros. U does have moving Bouncy Clouds, but they aren't motion-controlled.

Alternate Level Slots

The world map supports and reserves level IDs for two warp cannons, towers, castles, and airships per world, even though there is only up to one of each in a single world.

Nonexistent Subworlds

World 3 is split up into two maps: W3a and W3b. Interestingly enough, though, the files for Worlds 2 and 6 are named as if they were also split up (W2a and W6a). This suggests they were originally meant to have multiple segments. As a consequence, the game will attempt to load route information from W2b and W6b, but it fails and moves onto loading the next world's data instead.

In addition, the game will attempt to load info about W3c and WAa (and also fail), but this is simply due to how the game loops through the worlds, not an indication of there being more maps. If there's not a single map for the next world, it will try to load subworld a, and if the current world is a subworld, it will try loading the next subworld. It stops loading data if the next world doesn't exist, which is why it stops at World A (which comes after 9 in hexadecimal).

(Source: Original TCRF research)

Exception Handler

The exception handler is still in the game's code, but can't be seen normally without hacking or causing an exceptionally heinous glitch. When it does crash, press HOME, -, +, -, +, 1, 2, 1, 2, A on Player 1's Wii remote. The player will then see the processor state at the time of the crash, as well as some trace info. You can see it in action, for example, via the "Yoshi Berry Crash".

(Source: Skawo)

Development Text

Title Screen Date

NSMBWOpeningTitleBuildPanePALv1.png

The title screen layout contains a pane called T_E3verCheck, which is deliberately disabled by the game's code. When viewed, it displays the date of Apr 13 2009 19:01:59, which is presumably when the layout was created. This date does not change in any release, even as the title screen layout kept getting updated.

You can see it in-game with the following PAL version 1 Action Replay code:

cc30a6b8 fffffff0
04781ca8 38a00000
(Source: Skawo)

Internal Project Name

The project's internal name is "wiimj2d" or just "mj2d" (mario journey/jump 2d?), according to multiple filenames.

(Source: Original TCRF research)

Build Date and Number

Four empty files exist in the main folder with filenames listing build dates and some kind of build number.

Japan Revision 1 USA Revision 1 Europe Revision 1
COPYDATE_CODE_2009-10-03_231655
COPYDATE_DATA_2009-10-03_231209
COPYDATE_LAST_2009-10-03_231655
REV_INFO_r37675
COPYDATE_CODE_2009-10-03_232303
COPYDATE_DATA_2009-10-03_231822
COPYDATE_LAST_2009-10-03_232303
REV_INFO_r37675
COPYDATE_CODE_2009-10-03_232911
COPYDATE_DATA_2009-10-03_232433
COPYDATE_LAST_2009-10-03_232911
REV_INFO_r37675
USA Revision 2 Europe Revision 2 Japan Revision 2
COPYDATE_CODE_2010-01-05_143554
COPYDATE_DATA_2010-01-05_141949
COPYDATE_LAST_2010-01-05_143554
REV_INFO_r37821
COPYDATE_CODE_2010-01-05_152101
COPYDATE_DATA_2010-01-05_150453
COPYDATE_LAST_2010-01-05_152101
REV_INFO_r37821
COPYDATE_CODE_2010-01-05_160530
COPYDATE_DATA_2010-01-05_154947
COPYDATE_LAST_2010-01-05_160530
REV_INFO_r37821
Korea Hong Kong/Taiwan China (NVIDIA Shield TV)
COPYDATE_CODE_2010-03-12_153510
COPYDATE_DATA_2010-03-12_153506
COPYDATE_LAST_2010-03-12_153510
REV_INFO_r38018
COPYDATE_CODE_2010-03-15_160349
COPYDATE_DATA_2010-03-15_160345
COPYDATE_LAST_2010-03-15_160349
REV_INFO_r38019
COPYDATE_CODE_2016-05-03_111248
COPYDATE_LAST_2016-05-03_111248 
COPYDATE_DATA_2016-05-03_111228

WIIMJ2DNP.str

A file called WIIMJ2DNP.str is present in the root folder and lists the locations of some partially-linked code. "hayakawa" is likely Kenzo Hayakawa, listed under "System Programming" in the game's credits.

Japan Revision 1 USA Revision 1
d:\home\Project\WIIMJ2D\JP\PRD\RVL\bin\d_profileNP.plf
d:\home\Project\WIIMJ2D\JP\PRD\RVL\bin\d_basesNP.plf
d:\home\Project\WIIMJ2D\JP\PRD\RVL\bin\d_enemiesNP.plf
d:\home\Project\WIIMJ2D\JP\PRD\RVL\bin\d_en_bossNP.plf
d:\home\Project\WIIMJ2D\US\PRD\RVL\bin\d_profileNP.plf
d:\home\Project\WIIMJ2D\US\PRD\RVL\bin\d_basesNP.plf
d:\home\Project\WIIMJ2D\US\PRD\RVL\bin\d_enemiesNP.plf
d:\home\Project\WIIMJ2D\US\PRD\RVL\bin\d_en_bossNP.plf
Europe Revision 1 Japan Revision 2
d:\home\Project\WIIMJ2D\EU\PRD\RVL\bin\d_profileNP.plf
d:\home\Project\WIIMJ2D\EU\PRD\RVL\bin\d_basesNP.plf
d:\home\Project\WIIMJ2D\EU\PRD\RVL\bin\d_enemiesNP.plf
d:\home\Project\WIIMJ2D\EU\PRD\RVL\bin\d_en_bossNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\JP\PRD\RVL\bin\d_profileNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\JP\PRD\RVL\bin\d_basesNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\JP\PRD\RVL\bin\d_enemiesNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\JP\PRD\RVL\bin\d_en_bossNP.plf
USA Revision 2 Europe Revision 2
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\US\PRD\RVL\bin\d_profileNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\US\PRD\RVL\bin\d_basesNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\US\PRD\RVL\bin\d_enemiesNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\US\PRD\RVL\bin\d_en_bossNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\EU\PRD\RVL\bin\d_profileNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\EU\PRD\RVL\bin\d_basesNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\EU\PRD\RVL\bin\d_enemiesNP.plf
D:\home\hayakawa\PROJECT\wii-mj2d_ver2\EU\PRD\RVL\bin\d_en_bossNP.plf
Korea Taiwan
d:\Project\wii-mj2d\KR\PRD\RVL\bin\d_profileNP.plf
d:\Project\wii-mj2d\KR\PRD\RVL\bin\d_basesNP.plf
d:\Project\wii-mj2d\KR\PRD\RVL\bin\d_enemiesNP.plf
d:\Project\wii-mj2d\KR\PRD\RVL\bin\d_en_bossNP.plf
d:\Project\wii-mj2d\TW\PRD\RVL\bin\d_profileNP.plf
d:\Project\wii-mj2d\TW\PRD\RVL\bin\d_basesNP.plf
d:\Project\wii-mj2d\TW\PRD\RVL\bin\d_enemiesNP.plf
d:\Project\wii-mj2d\TW\PRD\RVL\bin\d_en_bossNP.plf
China (NVIDIA Shield TV)
d:\Project\wii-mj2d\CN\PRD\RVL\bin\d_profileNP.plf
d:\Project\wii-mj2d\CN\PRD\RVL\bin\d_basesNP.plf
d:\Project\wii-mj2d\CN\PRD\RVL\bin\d_enemiesNP.plf
d:\Project\wii-mj2d\CN\PRD\RVL\bin\d_en_bossNP.plf

Anti-Piracy

Wii Physical Releases

Wii discs contain burst cutting area (BCA) data near the center. While the majority of it is reserved for the console's standard disc authentication system and some manufacturing information, 0x34 bytes are available to games. New Super Mario Bros. Wii is the only game known to have any data there instead of having been left blank (filled with null bytes).

New Super Mario Bros. Wii's BCA data isn't very complex — just 0x33 null bytes and a single 01 byte — but it's enough for an anti-piracy check. At startup, the game compares the BCA data to that expected pattern, and if it doesn't match, it adds an entry with custom error code 0x123456A to the console's disc drive error log (possibly for Nintendo to inspect later, if the console was ever sent in for repairs). It then appears to run normally, but after a random amount of time between 3 and 10 minutes, it halts and displays a generic "An error has occurred" message. The check is skipped if the game detects it's running on a devkit.

This check initially caused issues for pirates, as modchips and USB loaders didn't properly supply the BCA data to the game, and burned discs didn't have it at all.

(Source: Pokechu22, RoadrunnerWMC)

NVIDIA Shield TV

Hmmm...
To do:
This appears to serve a different purpose, as it turns out: to make the game halt if the first layers of DRM (an online license check and iQiyi's online services) are disabled - or, if THAT layer is bypassed, to make the game function incorrectly. Figure out how the game detects illegitimate copies at this point, and rewrite this section to make it clear this was probably the actual intended purpose.

The NVIDIA Shield TV release of the game includes a change to ensure that the game only functions properly on the "Lingcod" emulator it's intended to run on.

Part of the function for generating camera matrices has been replaced with a call to lingcod_callNVSISnippet(), which the emulator reimplements in native code. The deleted code isn't important for performance, but if the hook fails, level graphics don't render.

New Super Mario Bros. Wii's title screen, with the new feature that 83% of the image is pitch black! You could technically play through the whole game like this, but you'd never want to.

Graphics for cutscenes, menus, and world maps are unaffected.

A patch to undo this and restore the level graphics can be found here.

(Source: Ninji)