# New Super Mario Bros. # General Info General information about the game that doesn't need more than one page to explain # Music List
**Number for level header (Hex)** **Number in NSMBe/Nitro Studio (Decimal)** **Name in** **Name in SDAT file**
00 MvsL Stage 2 (sometimes nothing plays) BGM\_VS\_CHIJOU
01 TowerBGM\_TRIDE.sseq
02 StarmanBGM\_MUTEKI.sseq
03 Mega MarioBGM\_HUGE.sseq
04 End of Level (+ MvsL course win)BGM\_COURSE\_CLEAR.sseq
05 DeathBGM\_DOWN.sseq
06 DesertBGM\_SABAKU.sseq
07 BossBGM\_BOSS.sseq
08 VS LoseBGM\_VS\_LOSE\_FANFARE
09 UndergroundBGM\_CHIKA.sseq
0A Bonus roomBGM\_MAME.sseq
0B UnderwaterBGM\_WATER3.sseq
0C LavaBGM\_KAZAN\_SOTO.sseq
0D End Credits (Early, unused)BGM\_SAMPLE
0E BeachBGM\_SANBASHI.sseq
0F Bowser Jr. BattleBGM\_KUPPAJR
10 Ghost HouseBGM\_OBAKE.sseq
11 CastleBGM\_SHIRO.sseq
12 Switch timerBGM\_SWITCH.sseq
13 End of Game FanfareBGM\_FINAL\_CLEAR
14 Game OverBGM\_GAMEOVER.sseq
15 Final BossBGM\_FINAL\_KUPPA.sseq
16 Boss BeatenBGM\_BOSS\_CLEAR.sseq
17 \[Nothing\] \[Nothing\]
18 AthleticBGM\_ATHLETIC.sseq
19 Toad HouseBGM\_MINIGAME.sseq
1A GrasslandBGM\_CHIJOU\_CONT.sseq
1B Title ScreenBGM\_SELECT.sseq
1C SMB End of LevelBGM\_GOAL\_FANFARE2.sseq
1D Toad House FanfareBGM\_FANFARE\_KINO.sseq
1E MvsL Stage 2BGM\_VS\_STAGE.sseq
1F MvsL start screen (is this the exact same audio data as the title screen?)BGM\_VS\_SELECT.sseq
20 MvsL LoopBGM\_VS\_FAN\_LOOP.sseq
21 MvsL WinBGM\_VS\_WIN.sseq
22 MvsL LoseBGM\_VS\_LOSE
50 Lava ambientBGM\_AMB\_YOUGAN
51 Desert wind ambientBGM\_AMB\_SABAKU
52 Water ambientBGM\_AMB\_WATER
53 Cave Water AmbientBGM\_AMB\_CHIKA
56 Sky Wind AmbientBGM\_AMB\_SKY
63 Early MvsL Stage (Early grassland, unused)BGM\_CHIJO
64 World 1BGM\_WORLD1
65 World 2BGM\_WORLD2
66 World 3BGM\_WORLD3
67 World 4BGM\_WORLD4
68 World 5BGM\_WORLD5
69 World 6BGM\_WORLD6
6A World 7BGM\_WORLD7
6B World 8BGM\_WORLD8
6C End CreditsBGM\_ENDING
6D Intro 1BGM\_OPENING\_DEMO1
6E Intro 2BGM\_OPENING\_DEMO2
6F Peach FanfareBGM\_KUPPACLEAR\_DEMO
# Background Scrolling Data Info

TODO: - Verify info for BG start position nybble — 0x2 and 0x3 in particular. - How specifically do "Disable vertical scrolling" and "Automatic horizontal scrolling" work? What all do bytes 13 and 16 do? - Might be nice to list which BG speeds and such are all used.

Foregrounds and backgrounds scroll differently in many levels sometimes they have a fast speed ratio and sometimes they can be completely static. This can be adjusted by hex editing your level. - **Bottom background** --> Change block 3. - **Top background** --> Change block 5. [![NSMBe screenshot of the level hex editor open to block 5. The leftmost nybbles of byte 11 and 13 are labeled as "BG starting position" while the rightmost nybbles are labeled as "Speed".](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-10/scaled-1680-/bg-hexadecimal-example.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-10/bg-hexadecimal-example.png) - Byte 11: Control BG horizontal scrolling. - Byte 13: Control BG vertical scrolling. And for each byte: - First Nybble: Controls where the background starts relative to the view and how it loops. This seemingly does nothing for horizontal looping or start position. - Second Nybble: Controls scroll speed relative to stage foreground speed. (*Image source: [MarioSunshine](https://nsmbhd.net/post/33882/ ""Background Scrolling Data List" thread on NSMBHD")*) ##### **Start position and loop data** - 0x0: Starts from bottom of view offset by 32px; loops entire background. - 0x1: Starts from top of view offset by 32px; loops entire background. - 0x2: Duplicate of 0x0? - 0x3: Duplicate of 0x1? - 0x4: Starts from bottom of view offset by 32px; loops top half of background. - 0x5: Starts from top of view offset by 32px; loops bottom half of background. Any value higher than 0x5 freezes the game. ##### **Scroll speed data** Table address in overlay 0: `0x0002F468` Table address in memory: `0x020C7B48` - 0x0: Same as FG speed. Used in w2-3 (sewer level) for example. - 0x1: 50% FG speed. - 0x2: 25% FG speed. Common for top backgrounds. - 0x3: 12.5% FG speed. Common for bottom backgrounds. - 0x4: 120% FG speed. Unused. - 0x5: 75% FG speed. - 0x6: 6.25% FG speed. - 0x7: 9.375% FG speed. - 0x8: 20.3125% FG speed. - 0x9: Same as FG speed. - 0xA: Same as FG speed. - 0xB: Same as FG speed. - 0xC: Same as FG speed. - 0xD: 200% FG speed. Unused. - 0xE: 400% FG speed. Unused. - 0xF: 800% FG speed. Unused. (*Source: [RoadrunnerWMC](https://github.com/RoadrunnerWMC/nsmbpy/blob/master/nsmbpy/level.py "nsmbpy GitHub")*) #### **Disabling vertical scrolling** - **Bottom background** --> Change both bytes 13 and 16 of block 3. - **Top background** --> Change both bytes 13 and 16 of block 5. - Byte 13: set to 0x40. - Byte 16: set to 0x10. (*Source: [MeroMero](https://nsmbhd.net/post/33169/ ""Background scrolling" thread on NSMBHD")*) #### **Automatic horizontal scrolling**
Works for any background that already has [parallax scrolling](https://bookstack.nsmbcentral.net/books/new-super-mario-bros/page/background-information#bkmrk-parallax-type-tables "Background Information: Parallax Type Tables"). This can be achieved by putting a value of 0x10 for byte 16 and it will scroll the whole background instead of only some of it. (Note: if byte 13 value is somewhere between 0x40 and 0x4F, this effect will be overridden and instead the vertical scrolling will be disabled).
(*Source: [MeroMero](https://nsmbhd.net/post/33169/ ""Background scrolling" thread on NSMBHD")*)
# Sound Groups # Camera The Camera in New Super Mario Bros is controlled in several ways. You have to take into account that the camera movements will condition the gameplay. #### **1. How the Camera restricts Mario** The camera restricts Mario's movements in two ways: • Mario cannot go out of the camera view through the sides. This means that if the camera doesn't pan further, Mario can't either. The camera sides act like walls (but you can't wall jump into them) • Mario cannot go to the bottom of the camera. If he does so, he will die. Note that there is some margin, so you can place something like a Warp to Level some blocks below the camera view. Mario will get it before he dies. Mario does can go out from the top of the camera. Simply the camera will not pan there, so Mario will be out of the screen. #### **2. Views** The camera will NEVER get out of the view. That means Mario can't get out of the view by the sides or the bottom. #### **3. Panning blocks** This thing is a little bit confusing. An area (not each view) is divided in blocks of 16x16 tiles (256x256 pixels). The camera will not pan into blocks that are empty (don't contain any objects). An example (thanks to Garmichael): Look at this level: [![Panfree.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-07/scaled-1680-/panfree.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-07/panfree.png) Notice that blocks A and F are empty. Mario cannot get to A from B, but he can actually jump from D to B. While he is in A, the camera will not move, but as soon as he crosses into B, the camera will jump to that location and that boundary would act like a wall. From there, As Mario approaches C, he will be able to see some of F, but as soon as he crosses into C, the camera will reposition so that the border to F is the bottom of the screen. If Mario jumps down into F, he dies (even though the block under F has ground). #### **4. Scroll Control and Scroll Stop sprites** These sprites control the camera in more ways. How they work is generally unknown, except for: • Vertical scroll controls: \[sprite:198\] and \[sprite:199\] • Horizontal scroll stop: \[sprite:276\] #### **5. Header Blocks** Block 2, Block 4, and Block 5 control more settings of the camera. Look at the [List of Header Blocks](https://nsmbhd.net/wiki/List_of_Header_Blocks/) page for more info. #### **6. Camera X & Y** The entrance's settings include two boxes named "Camera X" and "Camera Y", usually you can leave their values as 0, but sometimes you need to put values in there: [![Camera example 1.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-10/scaled-1680-/camera-example-1.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-10/camera-example-1.png) The zone and door entrance don't actually have any purpose in-game but to showcase the coordinates. The zone delimits what you can see on the NDS screen. If at least one of the Camera values is different from 0, then the tile at said coordinates will calibrate the camera and will serve as the top-left tile of said camera. You usually use them when sprites 198-199 and/or 276 are in the way, or eventually to calibrate the bottom of the camera to the bottom of the zone. The purpose of this is to show a nice transition when you change areas. With the example earlier if both values were at 0, this is where the camera would spawn by default: [![Camera example 2.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-10/scaled-1680-/camera-example-2.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-10/camera-example-2.png) The camera is 1 tile higher than the bottom of the zone, but the biggest offender here is the sprite 276, it is only acknowledged when the player have control of Mario thus only when Mario completely exits the pipe, the camera would recognize sprite 276 and then scroll to the left at high speeds, which results in an ugly transition and you can bet this is a rookie mistake to leave that kind of camera error unchecked. # Connected Pipes Each end of the pipe needs an Entrance. Both must have the same connected pipe ID. Set area 0 in one end and area 1 in the other end. Make a Path with the same ID as the entrance's "Connected Pipe ID". Each node on the path must be placed and "Value 6" in the node numbered as below: Image of how to place the node in each pipe with its value: [![Connected pipes.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-06/scaled-1680-/connected-pipes.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-06/connected-pipes.png) If value 6 does not show up for you, then try using the [original NSMBe](https://nsmbhd.net/download/). The path must be connected from one end of the pipe to the other; this is just to show the placement. You can place more nodes on the path if you need, only the first and last need the above value 6 number. World 7-A area 2 is good for more information. Example shapes: **Reverse L** **[![Reverse L.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-06/scaled-1680-/reverse-l.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-06/reverse-l.png)** Setting a pipe as "exit only" also works, and is used in retail (eg 7-A). # Entrances # 1. Entrance Guide Click the Door icon at the top to edit entrances. **Settings** • \*Camera X:\*\* • \*Camera Y:\*\* • \*Entrance ID:\*\* The ID associated with the entrance. • \*Destination ID:\*\* The number of the area the pipe goes to. If not changing area, set to 0. • \*Destination Entrance:\*\* The ID of the entrance it goes to. • \*Connected Pipe ID:\*\* The ID of the path that makes up the pipe. Remember to check "Connected Pipe". • \*View:\*\* The ID of the view the entrance is currently in. Not the destination view. • \*Exit Only:\*\* Check this if you don't want the player to be able to enter, I.E. a one-way pipe. • \*<entrancesetting16>:\*\* Not sure what it does. • \*Connected Pipe:\*\* Check this if you're using a connected pipe. (Such as 7-A) • \*Display on Lower Screen:\*\* Displays the view on the lower screen that the entrance is currently in. **Warp Pipe** Warp pipes are the way Mario gets around to different Views or Areas. **Simple Warp Pipe** First off, build a warp pipe using blocks. For this, I'll be using a upwards warp pipe, (object type 102) • Place the warp pipe, make sure it's vertical. (And make sure it extends into the ground or is at least 3 blocks high.) • Click the door icon, and add an entrance. • Using shift+dragging, place it onto the top left part of the warp pipe. • Click the drop down menu on the left side, select "Pipe facing Up." Set the View that it's in. • (Note the Entrance ID if you plan to make it both ways.) • Now go build another warp pipe somewhere else, make it horizontal this time.. (Either in the same Area or not.) • Add an entrance, move it with shift+dragging, and place it at the top of the end. • Set the entrance to "Pipe Facing Right." • Check "Exit-Only." If it's in a different View, be sure to set the View it's in. • Note it's Entrance ID, and select the first warp pipe entrance you created. • Set the "Destination Area" to whatever area the second warp pipe is in (if you created it in another area) and set the Destination ID to the Entrance ID of the second warp pipe entrance. • Save, and test it. It should work. • \*Troubleshooting:\*\* If you appear at the start of the level or in another spot not intended, check the "Destination ID". If your camera appears somewhere without Mario, and then you die, check that the destination entrance has the View set correctly. **Connected Warp Pipe** For this, I'm gonna go ahead and make a pipe that goes up then a turn to the left. (Use Shift+dragging on a block to change length and height.) Use object 59 for a good looking turn. Set that up, and add the entrances. You don't have to set a Destination ID. • First, click the first path icon. • Add a path, and set it up so the first square (0) is down 2 squares, and right 1 square from the leftmost entrance. • Next, use Control+dragging to make two more squares, one at the top of the bottommost pipe, one to the bottom left of the entrance. • Set up the paths with this trick. Unknown 6: 0=Pipe facing down 1=Pipe facing right 2=Pipe facing up 3=Pipe facing left In my pipe, square 0 is //Unknown 6: 3// square 2 is //Unknown 6: 0// • Now select each entrance, check "Connected Pipe", and set the Connected Pipe ID to the Path ID of the paths you just set up (IE. 0) • For the entrance closest to the end of the path, set "Destination Area" to 1. • Save and Play. • \*Troubleshooting\*\* If you enter the pipe, and a transition appears, check "connected pipe" on both entrances. If you enter the pipe, then come back out immediately, doublecheck that the entrance closest to the end of the path has "Destination Area" set to 1, and that the "Connected Pipe ID" is correctly set. # File Table A table of contents for the files inside of a NSMB DS ROM. Note: **bold** entries are files.

TODO: Expand this table to contain all files, splitting the table if needed

Filepath Description
**fnt.bin***File Name Table* It contains filenames, folders and folders names.
**fat.bin***File Allocation Table* It contains every file's address in the rom and its size.
**header.bin**[Header](https://problemkaputt.de/gbatek-ds-cartridge-header.htm "Page detailing NDS ROM header info")
**arm9ovt.bin**It lists every arm9 overlay, its location in the rom and where it should be loaded in the ram.
**arm7ovt.bin**It should list every arm7 overlay, its location in the rom and where it should be loaded in the ram.
**arm9.bin**The code for the main processor.
**arm7.bin***The code for the coprocessor.*
**banner.bin**Contains the game banner text and icon shown in the system bios
**rsasig.bin***Some signature*
/Root folder
/**00DUMMY***Empty, NSMBe uses it to store tileset, their objects' descriptions, backgrounds and music names after renaming them*
/**BUILDTIME***Last game build time*
/**mgvs\_sound\_data.sdat***Minigames music*
/**sound\_data.sdat***Main game music*
/ARCHIVE/Contains archives for minigames and download play
/BG\_chk/Contains tile behaviour files for tilesets
/BG\_ncg/Contains bitmaps for tilesets, backgrounds, and tile animations
/BG\_ncl/Contains palettes and palette animations for tilesets and backgrounds, as well as jyotyu palette
/BG\_nsc/Contains tilemaps for backgrounds
/BG\_pnl/Contains tilemaps for tilesets
/BG\_unt/*Objects info for tilesets*
/course/*It contains all the levels .bin files*
/demo/*It contains some cutscene stuffs*
/ending/*It contains other ending stuffs (like the tower BG)*
/enemy/*It contains the enemies' models and animations*
/ipl/Contains bitmap and palette for DS Download Play banner icon
/map/*It contains all the Worldmap files*
/obj/Contains bitmaps and palettes of in-course sprites
/particle/Contains particle archives
/player/*It contains player's models and animations*
/polygon\_unit/*It contains some levels effects, the quicksand files, the pipe graphics, and the End-of-level graphics*
/script/*It contains BMG files (used for In-Level pause scripts, Worldmap's pause scripts, and for the Titlescreen's File Select scripts)*
/uiStudio/Contains files related to game UI
overlay7/*It should contain the overlays for the arm7 processor*
overlay9/*It contains the overlays for the arm9 processor*
# Files in Overlays and ARM9

TODO:
- File IDs of files in archives.
- More files?
- Maybe the makeshift file tree could be replaced with something else.

This page documents every file that isn't in the regular file system so that they are easier to find. | Location | File type | Address | Compression | Info | |-----------|-----------------------|---------------------|-------------|--------------------------------------| | ARM9 | NARC | `0x026CE0-0x03267B` | None | Internally named **menu_common**. Contains multiplayer loading screen graphics and minigame menu graphics. | | ARM9 | NARC | `0x03267C-0x03744F` | None | Internally named **message_common**. Contains the menu window font, the fireball loading graphic, and error message files. | | ARM9 | SDAT | `0x037450-0x039807` | None | Multiplayer loading screen SDAT. | | Overlay 0 | .bin (tile behaviour) | `0x02FDA4-0x0301A3` | None | [Jyotyu tileset](https://bookstack.nsmbcentral.net/books/new-super-mario-bros/page/jyotyu-tileset) tile behaviours. | | Overlay 1 | _ncg.bin | `0x000E64-0x001453` | LZ77 | Bootscreen Nintendo logo graphics | | Overlay 1 | _ncl.bin | `0x001634-0x001653` | None | Bootscreen Nintendo logo palette. | | Overlay 1 | _nsc.bin | `0x001654-0x001843` | LZ77 | Bootscreen Nintendo logo tilemap. | | Overlay 1 | _ncg.bin | `0x001844-0x00256B` | LZ77 | Bootscreen copyright info graphics. | | Overlay 1 | _ncl.bin | `0x00256C-0x00258B` | None | Bootscreen copyright info palette. | | Overlay 1 | _nsc.bin | `0x00258C-0x002843` | LZ77 | Bootscreen copyright info tilemap. | | Overlay 8 | _ncl.bin | `0x01E198-0x01E397` | None | Credits text palette. | | Overlay 8 | _ncg.bin | `0x01E730-0x021F2F` | None | Credits text graphics. | ![NSMBe folder icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/folder1.png) FILESYSTEM [menu_common] ├![NSMBe file icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/file1.png) fnt.bin ├![NSMBe file icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/file1.png) fat.bin └![NSMBe folder icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/folder1.png) root  └![NSMBe folder icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/folder1.png) menu   └![NSMBe folder icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/folder1.png) common    ├![NSMBe LZ77 compressed (with header) bitmap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/imagelzh1.png) d_2d_UI_O_2P_game_DL_boot_b_d_ncg.bin    ├![NSMBe LZ77 compressed palette icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/palettelz1.png) d_2d_UI_O_2P_game_DL_boot_b_d_ncl.bin    ├![NSMBe LZ77 compressed tilemap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/tilemaplz1.png) d_2d_UI_O_2P_game_DL_boot_b_d_nsc.bin    ├![NSMBe LZ77 compressed palette icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/palettelz1.png) d_2d_UI_O_2P_game_DL_boot_o_d_ncl.bin    ├![NSMBe LZ77 compressed tilemap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/tilemaplz1.png) d_2d_mgvs_bg_layer01_nsc.bin    ├![NSMBe LZ77 compressed tilemap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/tilemaplz1.png) d_2d_mgvs_bg_layer13_nsc.bin    ├![NSMBe LZ77 compressed tilemap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/tilemaplz1.png) d_2d_mgvs_bg_layer_message01_nsc.bin    ├![NSMBe LZ77 compressed tilemap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/tilemaplz1.png) d_2d_mgvs_bg_menu_common01_nsc.bin    ├![NSMBe LZ77 compressed tilemap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/tilemaplz1.png) d_2d_mgvs_bg_menu_common03_nsc.bin    ├![NSMBe palette icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/palette1.png) d_2d_mgvs_bg_menu_common_J_ncl.bin    ├![NSMBe palette icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/palette1.png) d_2d_mgvs_menu_common_J_ncl.bin    └![NSMBe folder icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/folder1.png) USA     ├![NSMBe BNCL file icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/imageinfo1.png) UI_O_2P_game_DL_boot_d.bncl     ├![NSMBe LZ77 compressed (with header) bitmap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/imagelzh1.png) UI_O_2P_game_DL_boot_o_d_ncg.bin     ├![NSMBe LZ77 compressed (with header) bitmap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/imagelzh1.png) d_2d_mgvs_bg_menu_common_ncg.bin     └![NSMBe LZ77 compressed (with header) bitmap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/imagelzh1.png) d_2d_mgvs_menu_common_nce_ncg.bin ![NSMBe folder icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/folder1.png) FILESYSTEM [message_common] ├![NSMBe file icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/file1.png) fnt.bin ├![NSMBe file icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/file1.png) fat.bin └![NSMBe folder icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/folder1.png) root  └![NSMBe folder icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/folder1.png) message   └![NSMBe folder icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/folder1.png) common    ├![NSMBe palette icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/palette1.png) d_2d_mario_3Dfont_ncl.bin    └![NSMBe folder icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/folder1.png) USA     ├![NSMBe LZ77 compressed (with header) bitmap icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/imagelzh1.png) d_2d_mario_3Dfont_ncg.bin     ├![NSMBe text file icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/text1.png) error.bmg     ├![NSMBe LZ77 compressed (with header) file icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/filelzh1.png) font_a.NFTR     ├![NSMBe LZ77 compressed (with header) file icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/filelzh1.png) font_b.NFTR     └![NSMBe LZ77 compressed (with header) file icon](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/filelzh1.png) msg_data.bin # Glossary

TODO: Currently sorted alphabetically — would something else work better? Things that probably also should be here: - Area - View - Zone - Chunk - Entrance

This page briefly defines some of the jargon you may encounter while modding New Super Mario Bros.; this will generally not cover more broadly-used terms such as tilemap, palette, archive, and so forth. **Code patch**: A piece of code which is compiled then inserted into the game. Also referred to as a **code hack**, **code mod**, or **ASM hack** (though the latter is considered a misnomer and usage of it is proscribed — it is listed here only for posterity). **Control byte**: A byte that controls how a map16 tile tiles in a tile object. **Map16**: The tilemap for tilesets. **Map16 tile**: A 16x16 tile composed of four 8x8 tiles. These can have tile behaviors set for them and are used in tile objects. May also be simply referred to as a tile. **Object**: Can refer to both an actor that may exist in a stage (e.g., a bullet bill) or a tile object. The former is more common and may be also referred to as an **actor**. **Object bank**: A set of objects that are set to load and can thusly be used in an area. Also referred to as a **sprite set** (proscribed). **Object ID**: The ID of an object. Distinct from stage object ID. Also refered to as **class ID** (proscribed). **Object settings**: A data field containing information about an object's settings and events it's connected to. Also referred to as a **sprite data** (proscribed). **Randomization**: The property of a tileset to effectively randomly shuffle a certain set of map16 tiles in game to add visual variety. **Slope control tile**: A tile with a control byte of 80 or over used to control how map16 tiles tile in a tile object. Mainly used in tile objects for slopes. **Stage object**: An object that can be placed in a stage (e.g., a goomba). Also refered to as a **stage actor** or **sprite** (the latter being proscribed). Also may be truncated to object or sprite colliqually. **Stage object ID**: The ID of an object that can be placed in a stage. Also refered to as **stage actor ID** or **sprite ID** (the latter being proscribed). **Tile behavior**: How a map16 tile is meant to behave in a level when the player interacts with it. Also referred to as **tile type**. **Tile object**: A unit of map16 tiles that can be placed in a level and are set to tile in a specific fashion. NSMBe refers to these simply as **object**s. **3D** **tile**: A map16 tile which draws a texture instead of (or, in special cases, over) the 8x8 tiles present on the map16. # Level List Every level in the game accompanied by its file name and how many areas it has. | Filename | Level Name | Area Count | |----------|--------------------------|------------| | A01 | World 1-1 | 3 Areas | | A02 | World 1-2 | 3 Areas | | A03 | World 1-3 | 1 Area | | A04 | World 1-4 | 3 Areas | | A05 | World 1-5 | 2 Areas | | A06 | World 1-A | 2 Areas | | A07 | W1 Tower | 3 Areas | | A08 | W1 Castle | 3 Areas | | A09 | Cannon (W1 to W5) | 1 Area | | B01 | World 2-1 | 3 Areas | | B02 | World 2-2 | 2 Areas | | B03 | World 2-3 | 2 Areas | | B04 | World 2-4 | 2 Areas | | B05 | World 2-5 | 2 Areas | | B06 | World 2-6 | 2 Areas | | B07 | World 2-A | 3 Areas | | B08 | W2 Tower | 3 Areas | | B09 | W2 Castle | 3 Areas | | B10 | Cannon (W2 to W5) | 1 Area | | C01 | World 3-1 | 2 Areas | | C02 | World 3-2 | 2 Areas | | C03 | World 3-3 | 3 Areas | | C04 | World 3-A | 3 Areas | | C05 | World 3-B | 2 Areas | | C06 | World 3-C | 2 Areas | | C07 | W3 Ghost House | 3 Areas | | C08 | W3 Tower | 2 Areas | | C09 | W3 Castle | 2 Areas | | C10 | Cannon (W3 to W6) | 1 Area | | D01 | World 4-1 | 1 Area | | D02 | World 4-2 | 2 Areas | | D03 | World 4-3 | 2 Areas | | D04 | World 4-4 | 2 Areas | | D05 | World 4-5 | 3 Areas | | D06 | World 4-6 | 2 Areas | | D07 | World 4-A | 2 Areas | | D08 | W4 Ghost House | 3 Areas | | D09 | W4 Tower | 2 Areas | | D10 | W4 Castle | 2 Areas | | D11 | Cannon (W4 to W7) | 1 Area | | E01 | World 5-1 | 1 Area | | E02 | World 5-2 | 2 Areas | | E03 | World 5-3 | 2 Areas | | E04 | World 5-4 | 1 Area | | E05 | World 5-A | 2 Areas | | E06 | World 5-B | 1 Area | | E07 | World 5-C | 2 Areas | | E08 | W5 Ghost House | 3 Areas | | E09 | W5 Tower | 2 Areas | | E10 | W5 Castle | 2 Areas | | E11 | Cannon (W5 to W8) | 1 Area | | F01 | World 6-1 | 2 Areas | | F02 | World 6-2 | 2 Areas | | F03 | World 6-3 | 2 Areas | | F04 | World 6-4 | 1 Area | | F05 | World 6-5 | 2 Areas | | F06 | World 6-6 | 3 Areas | | F07 | World 6-A | 2 Areas | | F08 | World 6-B | 1 Area | | F09 | W6 Tower 1 | 2 Areas | | F10 | W6 Tower 2 | 2 Areas | | F11 | W6 Castle | 2 Areas | | F12 | Unused Cannon (W6 to W8) | 1 Area | | G01 | World 7-1 | 1 Area | | G02 | World 7-2 | 2 Areas | | G03 | World 7-3 | 2 Areas | | G04 | World 7-4 | 1 Area | | G05 | World 7-5 | 3 Areas | | G06 | World 7-6 | 3 Areas | | G07 | World 7-7 | 1 Area | | G08 | World 7-A | 2 Areas | | G09 | W7 Ghost House | 3 Areas | | G10 | W7 Tower | 2 Areas | | G11 | W7 Castle | 2 Areas | | H01 | World 8-1 | 2 Areas | | H02 | World 8-2 | 3 Areas | | H03 | World 8-3 | 2 Areas | | H04 | World 8-4 | 2 Areas | | H05 | World 8-5 | 2 Areas | | H06 | World 8-6 | 2 Areas | | H07 | World 8-7 | 1 Area | | H08 | World 8-8 | 2 Areas | | H09 | W8 Tower 1 | 2 Areas | | H10 | W8 Tower 2 | 2 Areas | | H11 | W8 Castle | 2 Areas | | H12 | W8 Final Castle | 3 Areas | | I01 | 1-Up Bonus Game | 1 Area | | I02 | Item Bonus Game | 1 Area | | I03 | Mega Mushroom Bonus Game | 1 Area | | I04 | Bottom Screen Background Chooser | 1 Area | | J01 | MvsL - SMB 1-1 | 1 Area | | J02 | MvsL - Underground | 1 Area | | J03 | MvsL - Ice World | 1 Area | | J04 | MvsL - Pipe World | 1 Area | | J05 | MvsL - Castle | 1 Area | | J06 | Unused Level 1 | 1 Area | | J07 | Unused Level 2 | 1 Area | | J08 | Unused Level 3 | 1 Area | | J09 | Unused Level 4 | 1 Area | | J10 | Unused Level 5 | 1 Area | # List of Activator Actors #### **1. General Event Controllers** - \[Class=020\] \[Object=101\] Event Controller - \[Class=087\] \[Object=155\] Special exit controller (warp entrance) - \[Class=137\] \[Object=164\] Event Controller AND - \[Class=138\] \[Object=165\] Event Controller OR - \[Class=139\] \[Object=166\] Event Controller Random - \[Class=140\] \[Object=167\] Event Controller Buffer - \[Class=141\] \[Object=168\] Event Controller Zone - \[Class=142\] \[Object=286\] Event Controller Sequencer - \[Class=255\] \[Object=169\] Spin Block (unused Actor 255) #### **2. Switches and Other Event Controllers** - \[Class=067\] \[Object=235\] Star Coin - \[Class=086\] \[Object=152\] Event trigger block - \[Class=151\] \[Object=034\] Red Coin Ring - \[Class=242\] \[Object=107\] ? Switch - \[Class=243\] \[Object=291\] Brick Block containing ? Switch - \[Class=244\] \[Object=066\] P Switch - \[Class=245\] \[Object=088\] Brick Block containing P Switch - \[Class=246\] \[Object=108\] ! Switch - \[Class=247\] \[Object=110\] Brick Block containing ! Switch (unused actor) - \[Class=265\] \[Object=041\] Bowser bridge switch (skull switch) #### **3. Triggerable Actors** - \[Class=067\] \[Object=235\] Star Coin - \[Class=079\] \[Object=103\] Dorrie - \[Class=080\] \[Object=106\] Red Coin - \[Class=092\] \[Object=192\] Coin Spawner (unused actor) - \[Class=161\] \[Object=068\] Lift moving up and down - \[Class=162\] \[Object=069\] Lift moving left and right - \[Class=174\] \[Object=078\] Lift moving one way once stood on - \[Class=183\] \[Object=099\] Four platform rickshaw lift - \[Class=206\] \[Object=197\] Tile Creator/Destroyer (Tile God) - \[Class=242\] \[Object=107\] ? Switch - \[Class=243\] \[Object=291\] Brick Block containing ? Switch - \[Class=244\] \[Object=066\] P Switch - \[Class=245\] \[Object=088\] Brick Block containing P Switch - \[Class=246\] \[Object=108\] ! Switch - \[Class=247\] \[Object=110\] Brick Block containing ! Switch (unused actor) - \[Class=263\] \[Object=292\] Event Activated Door - \[Class=265\] \[Object=041\] Bowser bridge switch (skull switch) - \[Class=276\] \[Object=218\] Auto-scrolling controller - \[Class=278\] \[Object=231\] Water - \[Class=279\] \[Object=234\] Lava - \[Class=281\] \[Object=259\] Poisoned Water # List of player animations
**Name****Value****anmFile****anmName**
Idle0x00plmariowait
WalkSlow0x01plmariowalk
Walk0x02plmariorun
Dash0x03plb\_dash
DashFast0x04plb\_dash2
Jump0x05pljump
JumpFall0x06pljump2
JumpLand0x07pljumped
TripleJump\_unused0x08pl2jump1
TripleJumpFall0x09pl2jump2
TripleJumpLand0x0Apl2jumped; also used as DoubleJumpLand
TripleJump0x0Bplroll\_jump
Skid0x0Cplturn
SkidTurn0x0Dpltrned
GroundPoundRoll0x0Eplhipsr
GroundPoundFall0x0Fplhipat
GroundPoundLand0x10plhiped
Crouched0x11plstoop
ThrowFireball0x12plfire\_at
SlipBumpFall0x13plsdown
Sliding0x14plnovsslip
StandUp0x15plsliped
SlipFall0x16plnovsslipla
DiveLand0x17plnovssldctslpbk
DiveSlide0x18plnovslost
DiveStandUp0x19plnovsroll (static)
RollPose0x1Aplroll (loop)
Roll0x1Bplcarry\_start
CarryStart0x1Cplcarry\_wait
CarryIdle0x1Dplcarry\_walk
CarryWalk0x1Eplcarry\_throw
CarryThrow0x1Fplscale\_up
MegaGrow0x20plwimp
Walljump0x21plwsld
WallSlide0x22plswim\_in; possibly unused
SwimStart0x23plnovsswim\_wait
SwimIdle0x24plnovspaddle\_1
SwimIdle10x25plnovsswim
Swim\_legs0x26plnovspaddle\_2
SwimPaddle20x27plnovspaddle\_end
SwimPaddleEnd0x28plnovstree\_start
PoleGrab0x29plnovstree\_wait
PoleIdle0x2Aplnovstree\_wait
PoleClimb0x2Bplnovstree\_climb
PoleSlide0x2Cplnovstree\_pose
PushedFall0x2Dplshfdn
Push0x2Eplpush
SpinJump0x2Fplspin\_jump
SpinJumpLand0x30plspin\_jump\_end
CeilingRopeGrab0x31plnovsmonkey\_start
CeilingRopeRightHandGrab0x32plnovsmonkey\_wait\_r
CeilingRopeLeftHandGrab0x33plnovsmonkey\_wait\_l
CeilingRopeRightHandMove0x34plnovsmonkey\_r\_to\_l
CeilingRopeLeftHandMove0x35plnovsmonkey\_l\_to\_r
LavaDamageJump0x36plnovsfirejmp
CrouchStart0x37plsquat\_start
SwimCarry0x38plnovsswim\_carry
SwimPaddleCarry0x39plnovspaddle\_carry
SwimThrow0x3Aplnovsswim\_throw
BumpedNormal0x3Bplsfbdn
BumpedHard0x3Cplsffdn
CannonShoot0x3Dplshoot
Shocked0x3Eplnovse\_shock
ShockedFall0x3Fplnovse\_down: unused
TightropeWalk0x40plnovsrope\_walk
MegaWalk0x41pl2big\_walk
MegaJump0x42pl2big\_jump\_st
MegaJumpLand0x43pl2big\_jump\_ed
MegaGroundPoundRoll0x44pl2big\_hip\_st
MegaGroundPoundFall0x45pl2big\_hip\_at
MegaGroundPoundLand0x46pl2big\_hip\_ed
LedgeStand0x47plnovswall\_wait
LedgeStandMoveLeft0x48plnovswall\_walk\_l
LedgeStandMoveRight0x49plnovswall\_walk\_r
LedgeStandClimbDown0x4Aplnovshang\_start
LedgeGrabClimbUp0x4Bplnovshang\_up
LedgeGrabIdle0x4Cplnovshang\_wait
LedgeGrabMoveLeft0x4Dplnovshang\_walk\_l
LedgeGrabMoveRight0x4Eplnovshang\_walk\_r
VineRopeIdle0x4Fplnovsrope\_swing
SpinDrill0x50pl2spin\_jump2
JumpCombo20x51pl2jump\_b
JumpCombo30x52pl2jump\_c
JumpCombo4\_kick0x53pl2jump\_d
LongJump0x54pl2jump\_b\_1
LongJumpFall0x55pl2jump\_b\_2
DoubleJump0x56pl22jmp\_c\_1
DoubleJumpFall0x57pl22jmp\_c\_2
BackflipJump0x58pl22jmp\_d\_1; possibly unused
BackflipJumpFall0x59pl22jmp\_d\_2
UnknownStarJump0x5Apl22jmp\_e\_1
UnknownStarJumpFall0x5Bpl22jmp\_e\_2
JumpCombo5\_twirl0x5Cpl2jump\_e
PipeEntrance0x5Dpl2low\_walk
DeadFall0x5Epl2dead
DeadPose0x5Fpl2dead\_pose
GoalJump0x60plnovsgoal\_jump
GoalCap0x61plnovsgoal\_puton\_cap
DoorWalk0x62pl2door\_walk
BattleGoalJump0x63plnovsbt\_goal\_jmp
BattleGoalOut0x64plnovsbt\_goal\_out
MegaJumpFall0x65pl2big\_jmp\_2
TightropeIdle0x66plnovsrope\_wait
TightropeJumpLand0x67plnovsrope\_jump\_ed
MiniWalk0x68pl2zero\_g\_walk
MiniJump0x69pl2zero\_g\_jump
MiniJumpFall0x6Apl2zero\_g\_jump2
MiniJumpLand0x6Bpl2zero\_g\_jump\_ed
UnusedSpinJumpOff0x6Cpl2spin\_jump\_off; possibly unused
UnusedSpinJump0x6Dpl2spin\_jump\_st
Shell0x6Epl2shell\_in
StarRoll0x6Fpl2star\_roll
FenceMoveVertical0x70plnovsnet\_walk1
FenceIdle0x71plnovsnet\_wait
UnusedDamageFall0x72plnovse\_damage1
UnusedDamageLand0x73plnovse\_damage2
FenceSlam0x74plnovsnet\_attack
FenceMoveHorizontal0x75plnovsnet\_walk2
LedgeJump0x76plnovsw\_jump1
LedgeJumpFall0x77plnovsw\_jump2
LedgeJumpLand0x78plnovsw\_jump\_ed
LedgeGrab0x79plnovsjump\_hang
SwimWalk0x7Aplnovsswim\_walk
SwimStanding0x7Bplnovsswim\_standing
Buried0x7Cplnovsburied
BuriedStandUp0x7Dplnovsburied\_ed
BuriedFall0x7Eplnovsburied\_st
BuriedDamage0x7Fplnovsburied\_damage
MegaSitCrouch0x80pl2big\_hip\_squat
WaterDeadFall0x81plnovsswim\_dead
TightropeUnbalanced0x82plnovsrope\_wait2
MegaIdle0x83pl2big\_wait
BossCallPeach0x84plnovsfind
BossStarePeach0x85plnovsfind\_loop
BossReactPeach0x86plnovsfind\_surprise
BossWin0x87plnovsboss\_key\_get
MegaWin0x88plnovsbig\_goal
FinalBossEnd0x89plnovsm\_kiss
FinalBossPeach0x8Aplnovsm\_fall\_wait
FinalBossCap0x8Bplnovsm\_escort
FinalBossKiss0x8Cplnovsm\_shy
GoalJumpLand0x8Dplnovsgoal\_jump\_ed
BossIdle0x8Eplnovsbt\_wait
BossStartled0x8Fplnovsbt\_surprise
BeanStalkMove0x90plnovspea\_plant
BeanStalkGrab0x91plnovspea\_plant\_st
BeanStalkIdle0x92plnovspea\_plant\_wait
BowserJrWin0x93plnovsjr\_clear
# Music List | Level Header ID (Hex)|ID in NSMBe/Nitro Studio (Decimal)| Common Name |Name in NSMBe | SDAT Name (in sound_data.sdat) | |-------------------------|---|---------------------------------------------------------|-----------------|----------------------------| | 00 | 0 | None/MvsL Stage Theme 1 (in some cases)* |MvsL Stage | BGM_VS_CHIJOU | | 01 | 1 | Tower |Tower | BGM_TRIDE.sseq | | 02 | 2 | Starman |Starman | BGM_MUTEKI.sseq | | 03 | 3 | Mega Mario |Mega Mario | BGM_HUGE.sseq | | 04 | 4 | End of Level (+ MvsL battle win) |End of Level | BGM_COURSE_CLEAR.sseq | | 05 | 5 | Death |Death | BGM_DOWN.sseq | | 06 | 6 | Desert |Desert | BGM_SABAKU.sseq | | 07 | 7 | Boss |Boss | BGM_BOSS.sseq | | 08 | 8 | VS battle lose |VS Lose | BGM_VS_LOSE_FANFARE | | 09 | 9 | Underground |Underground | BGM_CHIKA.sseq | | 0A | 10 | Bonus room |Bonus room | BGM_MAME.sseq | | 0B | 11 | Underwater |Underwater | BGM_WATER3.sseq | | 0C | 12 | Lava |Lava | BGM_KAZAN_SOTO.sseq | | 0D | 13 | End Credits (Early/Unused, shorter) |End Credits | BGM_SAMPLE | | 0E | 14 | Beach |Beach | BGM_SANBASHI.sseq | | 0F | 15 | Bowser Jr. Battle |Bowser Jr. Battle | BGM_KUPPAJR | | 10 | 16 | Ghost House |Ghost House | BGM_OBAKE.sseq | | 11 | 17 | Castle |Castle | BGM_SHIRO.sseq | | 12 | 18 | Switch timer |Timer | BGM_SWITCH.sseq | | 13 | 19 | End of Game Fanfare |End of Game Fanfare | BGM_FINAL_CLEAR | | 14 | 20 | Game Over |Game Over | BGM_GAMEOVER.sseq | | 15 | 21 | Final Boss |Final Boss | BGM_FINAL_KUPPA.sseq | | 16 | 22 | Boss Beaten |Boss Beaten | BGM_BOSS_CLEAR.sseq | | 17 | None | [Nothing] | | [Nothing] | | 18 | 24 | Athletic |Mushrooms (Athletic) | BGM_ATHLETIC.sseq | | 19 | 25 | Toad House |Toad House | BGM_MINIGAME.sseq | | 1A | 26 | Grassland |Grassland | BGM_CHIJOU_CONT.sseq | | 1B | 27 | Title Screen |Title Screen | BGM_SELECT.sseq | | 1C | 28 | SMB End of Level |SMB End of Level | BGM_GOAL_FANFARE2.sseq | | 1D | 29 | Toad House Fanfare |Toad House Fanfare | BGM_FANFARE_KINO.sseq | | 1E | 30 | MvsL Stage Theme 2* |MvsL Stage 2 | BGM_VS_STAGE.sseq | | 1F | 31 | MvsL start screen (duplicate of Title Screen) |MvsL Title Screen | BGM_VS_SELECT.sseq | | 20 | 32 | MvsL Loop |MvsL Results Screen | BGM_VS_FAN_LOOP.sseq | | 21 | 33 | MvsL Win (Results screen) |MvsL Win | BGM_VS_WIN.sseq | | 22 | 34 | MvsL Lose (Results screen) |MvsL Lose | BGM_VS_LOSE | | [23 - 4F] | None | [Nothing] | | [Nothing] | | 50 | 80 | Lava ambient |Lava ambient (Castle) | BGM_AMB_YOUGAN | | 51 | 81 | Desert wind ambient |Desert ambient (Castle)| BGM_AMB_SABAKU | | 52 | 82 | Water ambient |Water ambient (Castle)| BGM_AMB_WATER | | 53 | 83 | Cave Water Ambient |Underground ambient (Castle)| BGM_AMB_CHIKA | | [84 - 85] | None| [Nothing] | | [Nothing] | | 56 | 86 | Sky Wind Ambient |Wind ambient (Castle) | BGM_AMB_SKY | | [87 - 98] | None | [Nothing] | | [Nothing] | | 63 | 99 | MvsL Stage (Early) |Early Grassland (Unused)| BGM_CHIJO | | 64 | 100 | World 1* |World 1 | BGM_WORLD1 | | 65 | 101 | World 2* |World 2 | BGM_WORLD2 | | 66 | 102 | World 3* |World 3 | BGM_WORLD3 | | 67 | 103 | World 4* |World 4 | BGM_WORLD4 | | 68 | 104 | World 5* |World 5 | BGM_WORLD5 | | 69 | 105 | World 6* |World 6 | BGM_WORLD6 | | 6A | 106 | World 7* |World 7 | BGM_WORLD7 | | 6B | 107 | World 8* |World 8 | BGM_WORLD8 | | 6C | 108 | End Credits |Ending | BGM_ENDING | | 6D | 109 | Intro Part 1 |Intro 1 | BGM_OPENING_DEMO1 | | 6E | 110 | Intro Part 2 |Intro 2 | BGM_OPENING_DEMO2 | | 6F | 111 | Peach Fanfare |Peach Fanfare | BGM_KUPPACLEAR_DEMO | *MvsL themes and World Map themes: Loading the MvsL themes or the World map themes in a regular level (by changing the music in the View Settings for example) will play the music, but most sound effects will be muted while the music is playing (this is because they use sound banks that are too big for the game, overloading the audio memory). Additional note: Any song with an id above 6F will not play, regardless of if there is song data associated with it or not (by editing the sound_data.sdat file) # Particle List Note: IDs can go as high as 255, all IDs past 118 are blank and have been left out for sake of shortening the list.
Particle IdIn-Game EffectNotes
0toadsworth creates toad house block(s) – part 2 red toad house disappears – part 3
1
2
3something in the intro
4
5whomp destroyed – part 1
6whomp destroyed – part 2
7whomp destroyed – part 3
8
9whomp slams ground – part 1
Awhomp slams ground – part 2
Bwhomp slams ground – part 3
C
Dmario jumps/lands on world mapalso used for flying ? blocks, hammer bros and bowser jr on the world map?
Emario goes into castle on world map
F
10
11something todo with end-of-boss cutscene or world map?
12
13bob-omb explodes - part 1sometimes spawned (off-screen?) on world map
14bob-omb explodes - part 2sometimes spawned (off-screen?) on world map
15bob-omb explodes - part 3
16bob-omb explodes - part 4
17bob-omb explodes - part 5
18bob-omb explodes - part 6
19bob-omb explodes - part 7
1A
1Bred toad house disappears – part 1
1Cred toad house disappears – part 2 thwomp hits ground – part 1
1Dthwomp hits ground – part 2
1Ebig thwomp hits ground – part 1
1Fbig thwomp hits ground – part 2
20big thwomp hits ground – part 3
21get mega mushroom – part 1
22get mega mushroom – part 2
23get mega mushroom – part 3
24get mega mushroom – part 4
25get mega mushroom – part 5
26get mega mushroom – part 6
27get mega mushroom – part 7
28get mega mushroom – part 8
29get mega mushroom – part 9
2Aget mega mushroom – part 10
2Bget mega mushroom – part 11
2Cget mega mushroom – part 12
2D
2E
2F
30
31
32
33
34
35
36
37
38
39mega mario walks right – alternating with 3A
3Amega mario walks right – alternating with 39
3B
3Cmega mario walks left – alternating with 3D
3Dmega mario walks left – alternating with 3C / goal fireworks related? – part 6
3Egoal fireworks related? – part 7
3Fgoal fireworks related? – part 8
40goal fireworks related? – part 9
41goal fireworks related? – part 10
42
43
44
45
46
47goal fireworks related? – part 1
48goal fireworks related? – part 2
49goal fireworks related? – part 3
4Agoal fireworks related? – part 4
4Bgoal fireworks related? – part 5
4Csplunkin stomped on for the second time – part 1
4Dsplunkin stomped on for the second time – part 2
4Esplunkin stomped on for the second time – part 3
4Fsplunkin stomped on for the first time – part 1
50splunkin stomped on for the first time – part 2
51bowser jr lands after being defeated
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73jump onto cliff ledge from normal ground
74
75
76item/object appears/disappears – part 1
77item/object appears/disappears – part 2
78item/object appears/disappears – part 3
79enemy/mega goomba “popped” – part 1 boss shutter piece spawned/destroyed – part part 1 bowser bridge piece destroyed – part 1
7Aenemy/mega goomba “popped” – part 2 boss shutter piece spawned/destroyed – part part 2 bowser bridge piece destroyed – part 2
7B
7C
7D
7Emario “twinkles” in distance after being fired by warp cannon
7F
80
81
82
83
84
85
86run into enemy as mega mario
87
88
89
8A
8B
8C
8D
8E
8F
90
91
92
93
94
95blue coin collected
96mario breaks free from under fallen snow – part 1
97mario breaks free from under fallen snow – part 2
98
99
9A
9B
9C
9Dmario stomps on Crowber – part 1
9Emario stomps on Crowber – part 2
9Fmario does Drill Stomp straight down
A0bowser jr/blockhopper jumps/lands
A1object enters/exits lava – part 1
A2object enters/exits lava – part 2
A3object enters/exits poison water – part 1
A4object enters/exits poison water – part 2
A5object enters/exits water – part 1
A6object enters/exits water – part 2
A7
A8mario lands on soft cloud platform
A9mario lands on quicksand
AAmario lands on sinking snow – part 1
ABmario lands on sinking snow – part 2
ACmario fireball hits enemy/wall – part 1
ADmario fireball hits enemy/wall – part 2
AEstomp on wiggler
AF
B0
B1
B2kab-omb explodes – part 1
B3kab-omb explodes – part 2
B4kab-omb explodes – part 3
B5
B6ground-pound on koopa troopa/buzzy beetle – part 1
B7ground-pound on koopa troopa/buzzy beetle – part 2
B8ground-pound on koopa troopa/buzzy beetle – part 3
B9ground-pound on koopa troopa/buzzy beetle – part 4
BA“pop” enemy with ground-pound – part 1
BB“pop” enemy with ground-pound – part 2
BC“pop” enemy with ground-pound – part 3
BD
BE
BF
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
CAmario stomps lakitu
CBmario lands in lakitu’s cloud
CC
CD
CE
CF
D0bill blaster fires bullet bill – part 1but not rotating bill blaster
D1bill blaster fires bullet bill – part 2
D2ground-pound on koopa troopa/buzzy beetle – part 5
D3ground-pound on koopa troopa/buzzy beetle – part 6
D4
D5
D6
D7
D8toadsworth creates toad house block(s) – part 1
D9
DA
DBskeeter bomb enters water or maybe skeeter spawns bomb – part 3
DCskeeter bomb enters water or maybe skeeter spawns bomb – part 4
DD
DE
DF
E0
f8Mario ground pound Falling snow hits ground
E2Mario lands after triple jump Mario ground pounds on mummipokey
E3
E4mario goes out of water – part 1
E5mario goes out of water – part 2
E6mario goes out of water – part 3
E7mario exits water – part 1
E8mario exits water – part 2
E9mario exits water – part 3
EAget red coin
EB
EC
ED
EEmario lands on ground in deep water – part 1
EFmario lands on ground in deep water – part 2
F0
F1
F2
F3mario flies off Spin Block/out of tornado – part 1
F4mario flies off Spin Block/out of tornado – part 2
F5something todo with spinning/drill stomp – part 1
F6something todo with spinning/drill stomp – part 2
F7something todo with spinning/drill stomp – part 3
F8get star coin – part 1
F9get star coin – part 2
FAget star coin – part 3
FB
FC
FD?/p/! switch pressed – part 1
FE?/p/! switch pressed (alt – part upside down or underwater only?) – part 1
FF?/p/! switch pressed (alt – part upside down or underwater only?) – part 2
100?/p/! switch pressed – part 2
101
102
103mario does Drill Stomp when small mario
104mario wall jump from right – part 1
105mario wall jump from right – part 2
106mario wall jump from right – part 3
107mario wall jump from left – part 1
108mario wall jump from left – part 2
109mario wall jump from left – part 3
10A
10B
10Cmario lands on /starts to hang off of cliff edge
10D
10Emario goes into water in 1-A start section – part 1 cheepskipper enters/exits water – part 1
10Fmario goes into water in 1-A start section – part 2 cheepskipper enters/exits water – part 2
110mario goes into water in 1-A start section – part 3 spike pillar goes into water – part 1
111spike pillar goes into water – part 2
112
113cheepskipper enters/exits water – part 3
114mario goes into water in 3-Castle boss room – part 1
115mario goes into water in 3-Castle boss room – part 2
116mario goes into water in 3-Castle boss room – part 3
117mario punches fence – part 1
118mario punches fence – part 2
# Special Event IDs
IDID (dec)Description
3E62Blue coin trail while event is active.
4670Causes the unused "faded circle" screen transition to be used when using an entrance or exit. **Unused**
F3243Partial Starman effects. **Unused?**
F4244Partial Mega Mushroom effects. **Unused?**
EB235Make inventory contain item with no icon. Crashes when you release the item and it can't be replaced by other items. Maybe defunct unused item? **Unused?**
F7247Locks camera into bottom left of view. Mario isn't forced to be inside this camera, but he can't interact with actors outside the camera. **Unused?**
# Staff Roll Characters These are the letters you can touch on the bottom screen during the credits.
Closest ASCII CharacterCharacter IDCharacter Used?SFX IDSFX NameSFX Usage Outside of Credits
A0x0Yes0x34SE\_EMY\_KPJR\_DAMAGE\_VBowser Jr. stomped (voice)
B0x1Yes0x35SE\_EMY\_KPJR\_CRY\_VBowser Jr. defeated
C0x2Yes0x39SE\_EMY\_KPJR\_GUARD\_ONBowser Jr. go into shell
D0x3Yes0x6eSE\_EMY\_KURIBO\_FUMUStomp on enemy / Stomp on other player
E0x4Yes0x6fSE\_EMY\_KAME\_FUMUStomp on Koopa / Kab-omb / Skeeter (?)
F0x5Yes0x70SE\_EMY\_KAME\_KERUEnemy defeated by fireball/Shell mario in shell/Ground-pound/Flagpole / Mega Goomba defeated by Mini Player / Hanging ? Block hit from side / Item destroyed in lava / Block spawned by tile creator sprite
G0x6Yes0xf5SE\_VOC\_OPDM\_YESPlayer reacts to completion of logo
H0x7Yes0xfaSE\_VOC\_OPDM\_AWAWA\_01Player reacts to thunder strike
I0x8Yes0x128SE\_OBJ\_GOAL\_HANABIGoal firework
J0x9Yes0x103SE\_AMB\_OPDM\_BABELLogo crashes down
K0xaYes0x123SE\_OBJ\_GET\_DRAGON\_COINGet Star Coin
L0xbYes0x10bSE\_VOC\_OPDM\_PEACH\_HELP
M0xcYes0x166SE\_PLY\_CHANGE\_NORMALTurn back to normal from Mega
N0xdYes0x14fSE\_PLY\_HIP\_ATTACK\_MMini ground-pound
O0xeYes0x149SE\_PLY\_JUMP\_3Mini Player jumps
P0xfYes0x152SE\_PLY\_DOWNPlayer loses a life
Q0x10No0x153SE\_PLY\_SWIMPlayer swim
R0x11Yes0x168SE\_PLY\_THROW\_FIREFire Player/Fire Bros – throw fireball
S0x12Yes0x16cSE\_OBJ\_GET\_COINGet coin
T0x13Yes0x171SE\_OBJ\_DOKAN\_BREAKPipe/Bill Blaster smashed from the side as Mega Player
U0x14Yes0x172SE\_PLY\_JUMPDAIJump on trampoline/Pot in final boss intro jumps
V0x15Yes0x17bSE\_SYS\_ONE\_UPGet 1-up mushroom
W0x16Yes0x17cSE\_SYS\_ONE\_DOWNUnused
X0x17Yes0x1a9SE\_OBJ\_TSUBO\_BREAKPot in final boss intro shatters
Y0x18Yes0x1abSE\_VOC\_M\_HOEEMario embarrassed after being kissed by peach
Z0x19Yes0x1adSE\_VOC\_P\_THANK\_YOUPeach thanks Player after battle
a0x1aYes0x34SE\_EMY\_KPJR\_DAMAGE\_VBowser Jr. stomped (voice)
b0x1bYes0x35SE\_EMY\_KPJR\_CRY\_VBowser Jr. defeated
c0x1cYes0x39SE\_EMY\_KPJR\_GUARD\_ONBowser Jr. go into shell
d0x1dYes0x6eSE\_EMY\_KURIBO\_FUMUStomp on enemy / Stomp on other player
e0x1eYes0x6fSE\_EMY\_KAME\_FUMUStomp on Koopa / Kab-omb / Skeeter (?)
f0x1fYes0x70SE\_EMY\_KAME\_KERUEnemy defeated by fireball/Shell mario in shell/Ground-pound/Flagpole / Mega Goomba defeated by Mini Player / Hanging ? Block hit from side / Item destroyed in lava / Block spawned by tile creator sprite
g0x20Yes0xf5SE\_VOC\_OPDM\_YESPlayer reacts to completion of logo
h0x21Yes0xfaSE\_VOC\_OPDM\_AWAWA\_01Player reacts to thunder strike
i0x22Yes0x128SE\_OBJ\_GOAL\_HANABIGoal firework
j0x23Yes0x103SE\_AMB\_OPDM\_BABELLogo crashes down
k0x24Yes0x123SE\_OBJ\_GET\_DRAGON\_COINGet Star Coin
l0x25Yes0x10bSE\_VOC\_OPDM\_PEACH\_HELP
m0x26Yes0x166SE\_PLY\_CHANGE\_NORMALTurn back to normal from Mega
n0x27Yes0x14fSE\_PLY\_HIP\_ATTACK\_MMini ground-pound
o0x28Yes0x149SE\_PLY\_JUMP\_3Mini Player jumps
p0x29Yes0x152SE\_PLY\_DOWNPlayer loses a life
q0x2aYes0x153SE\_PLY\_SWIMPlayer swim
r0x2bYes0x168SE\_PLY\_THROW\_FIREFire Player/Fire Bros – throw fireball
s0x2cYes0x16cSE\_OBJ\_GET\_COINGet coin
t0x2dYes0x171SE\_OBJ\_DOKAN\_BREAKPipe/Bill Blaster smashed from the side as Mega Player
u0x2eYes0x172SE\_PLY\_JUMPDAIJump on trampoline/Pot in final boss intro jumps
v0x2fYes0x17bSE\_SYS\_ONE\_UPGet 1-up mushroom
w0x30Yes0x17cSE\_SYS\_ONE\_DOWNUnused
x0x31No0x1a9SE\_OBJ\_TSUBO\_BREAKPot in final boss intro shatters
y0x32Yes0x1abSE\_VOC\_M\_HOEEMario embarrassed after being kissed by peach
z0x33Yes0x1adSE\_VOC\_P\_THANK\_YOUPeach thanks Player after battle
À0x34No0x36SE\_EMY\_KPJR\_UHBowser Jr. “wakes up” after battle
Á0x35No0x37SE\_EMY\_KPJR\_LANDBowser Jr. land after jump attack
Â0x36No0x3bSE\_EMY\_KPJR\_GUARD\_OFFBowser Jr. stop hiding in shell
Ä0x37No0x3cSE\_EMY\_KPJR\_DAMAGEBowser Jr. stomped
Ç0x38No0x3dSE\_EMY\_KPJR\_PURUPURUBowser Jr. shakes head after waking up after battle
È0x39No0x77SE\_EMY\_KAME\_HIT\_7Defeat 7th and subsequent enemy in a row while sliding
É0x3aNo0xf6SE\_VOC\_OPDM\_UN\_01Player looks up at logo
Ê0x3bNo0xfcSE\_VOC\_OPDM\_AWAWA\_02
Ë0x3cNo0xffSE\_VOC\_OPDM\_HOEE
Ì0x3dNo0x10aSE\_VOC\_OPDM\_PEACH\_CRY
Í0x3eNo0x101SE\_AMB\_OPDM\_WARBLEIntro birds
Î0x3fNo0x102SE\_AMB\_OPDM\_THUNDERThunder strike on castle
Ï0x40No0x104SE\_EMY\_OPDM\_KPJR\_FOOTBowser Jr. sneaks up on peach
Ñ0x41No0x109SE\_PLY\_OPDM\_MA\_HIT
Ò0x42No0x10dSE\_OBJ\_OPDM\_NEW\_FALL
Ó0x43No0x10eSE\_OBJ\_OPDM\_NEW\_SET
Ô0x44No0x10fSE\_OBJ\_OPDM\_LOGO\_FALL\_L
Ö0x45No0x110SE\_OBJ\_OPDM\_LOGO\_FALL\_S
Ù0x46No0x170SE\_OBJ\_COIN\_BOUNDLoose coin hit ground
Ú0x47No0x174SE\_OBJ\_ITEM\_APPEARItem out of block
Û0x48No0x13aSE\_SYS\_MID\_POINTPass checkpoint
Ü0x49No0x13eSE\_SYS\_HURRY\_UP
ß0x4aNo0x14dSE\_PLY\_HIP\_ATTACKGround-pound hits ground / Ground-pound hits other player
à0x4bNo0x36SE\_EMY\_KPJR\_UHBowser Jr. “wakes up” after battle
á0x4cNo0x37SE\_EMY\_KPJR\_LANDBowser Jr. land after jump attack
â0x4dNo0x3bSE\_EMY\_KPJR\_GUARD\_OFFBowser Jr. stop hiding in shell
ä0x4eNo0x3cSE\_EMY\_KPJR\_DAMAGEBowser Jr. stomped
ç0x4fNo0x3dSE\_EMY\_KPJR\_PURUPURUBowser Jr. shakes head after waking up after battle
è0x50No0x77SE\_EMY\_KAME\_HIT\_7Defeat 7th and subsequent enemy in a row while sliding
é0x51No0xf6SE\_VOC\_OPDM\_UN\_01Player looks up at logo
ê0x52No0xfcSE\_VOC\_OPDM\_AWAWA\_02
ë0x53No0xffSE\_VOC\_OPDM\_HOEE
ì0x54No0x10aSE\_VOC\_OPDM\_PEACH\_CRY
í0x55No0x101SE\_AMB\_OPDM\_WARBLEIntro birds
î0x56No0x102SE\_AMB\_OPDM\_THUNDERThunder strike on castle
ï0x57No0x104SE\_EMY\_OPDM\_KPJR\_FOOTBowser Jr. sneaks up on peach
ñ0x58No0x109SE\_PLY\_OPDM\_MA\_HIT
ò0x59No0x10dSE\_OBJ\_OPDM\_NEW\_FALL
ó0x5aNo0x10eSE\_OBJ\_OPDM\_NEW\_SET
ô0x5bNo0x10fSE\_OBJ\_OPDM\_LOGO\_FALL\_L
ö0x5cNo0x110SE\_OBJ\_OPDM\_LOGO\_FALL\_S
ù0x5dNo0x170SE\_OBJ\_COIN\_BOUNDLoose coin hit ground
ú0x5eNo0x174SE\_OBJ\_ITEM\_APPEARItem out of block
û0x5fNo0x13aSE\_SYS\_MID\_POINT
ü0x60No0x13eSE\_SYS\_HURRY\_UP
.0x61No0x15bSE\_PLY\_FOOTNOTE\_H
0x62No0x15eSE\_PLY\_FOOTNOTE\_H
\_0x63No0x16aSE\_PLY\_CHANGE\_SMALLEnter/exit pipe / Enter warp / lose powerup
-0x64No0x163SE\_PLY\_CHANGE\_BIGGet powerup / Collect Starman as Mega Player
\[another type of line\]0x65No0x167SE\_PLY\_CHANGE\_MAMEBecome mini
&0x66Yes0x177SE\_OBJ\_BLOCK\_BREAKPlayer break brick block / boss shutter block spawn/break / block broken by tile destroyer sprite / bridge destroyed in Bowser/Big Bowser boss / peach platform destroyed in final boss / Bob-omb destroy block / Big Unagi destroy block / Mummipokey sand ball break
'0x67Yes0x178SE\_PLY\_STAR\_ATTACKMega Player touch enemy/Big Player touch Mini Goomba / Big Unagi destroy block / Broozer destroy block
# "Event Controller - Zone" Setups

TODO: - Use these to improve/correct the documentation here and/or in NSMBe's object xml - Add more setups

Zone ID 0 should be interchangeable with any other ID, but this needs to be tested.
**Object Settings** **Trigger Requirements**
[![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/mmwimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/mmwimage.png) Player zone ID: 0 Enemies zone ID: 0 The event will only trigger when the player enters zone 0 after all enemies in said zone are destroyed.
[![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/EZBimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/EZBimage.png) Player zone ID: 255 Enemies zone ID: 0 The event will trigger when all enemies in zone 0 are destroyed.
[![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/l8Mimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/l8Mimage.png) Player zone ID: 0 Enemies zone ID: 255 The event will trigger when the player enters zone 0.
[![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/CAAimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/CAAimage.png) Player zone ID: 255 Enemies zone ID: 255 The event will trigger once the player finishes entering the view.
# Modding Tutorials Tutorials on how to mod NSMB DS # Mario vs Luigi This page documents how to play MvsL hacks and objects that work in MvsL.

Modding MvsL is significantly more difficult than modding Singleplayer levels. If you're just getting started with modding the game, you might want to start [here](https://bookstack.nsmbcentral.net/books/new-super-mario-bros/page/modding-101-creating-a-bare-bones-level)

## FaQ > ##### *How do I play Mario vs Luigi hacks?* - The easiest way to play an MvsL hack on real hardware is by using “Multi-cart” - This requires that you own **two** flashcards (such as an R4 Card). - To set this method up, simply put **the same ROM** on both flashcards. Then, in the game, choose the option to “Compete with another New Super Mario Bros. Owner” and play MvsL as you normally would. - If you do not have access to two flashcards, then you have two, more difficult, options remaining - Your first option is to try and use a hacked NDS firmware that bypasses Download Play's signature check 1. Download [firmware.nds](https://bookstack.nsmbcentral.net/attachments/4) and put it on your flashcard. 2. Open this ROM on the DS you will launch Download Play from. 3. Now, eject the flashcard from the DS you just ran the ROM on. (This will not cause your DS to freeze) 4. Finally, put the flashcard back in the other DS. 5. Once you have done this, you can run the ROM of the MvsL hack and select “Play with someone who doesn't own New Super Mario Bros” - If the firmware ROM does not work on your flashcard, try this one instead. - Your final option is to use normal DS Download Play with “DLP Mode” in NSMBe 5 1. Open a **clean (unedited) ROM** 2. Open it in NSMBe 3. After you open the ROM, go to Tools and check “Enable DLP-friendly mode” 4. Now, you can make whatever changes you want to the ROM 5. When you're done, you can play with another DS through DS Download Play like you normally would using the “Play with someone who doesn't own New Super Mario Bros” option - If the game hangs at the Nintendo logo, you might have missed a step. Double check you did everything and try again with another **clean** ROM - If the DS freezes with a black screen after you select a level it can mean one of two things: - Your flashcard is not compatible with this method. - Some flashcards don't like firmware.nds. Try using [firmwarefix.nds](https://bookstack.nsmbcentral.net/attachments/5) instead. - There's something wrong with the level that is making the game freeze > ##### *My level crashes, what do I do now?* - If you are not using any Code Hacks, then here are some things to consider 1. Have you changed any object banks? This causes MvsL to crash so you need to change the object banks back to whatever the level had originally. 2. Double-check that you are not using an object that has been confirmed to crash MvsL. There is a table later on this page that shows what objects are compatible with MvsL. 3. Have you changed the number of Battle Stars that are in the level? Changing the number of Battle Stars in a level can cause MvsL to crash, and you will need to restore the original amount of Battle Stars the level had. > ##### *My level crashes, but I'm using Code Hacks!* - Even with Code Hacks, not all objects work in MvsL. Take a look at the table at the end of the page to see if all of the objects you're using are compatible with MvsL. > ##### *My level makes us de-sync, what's going on?* - Because of the nature of how multiplayer works in this game, the Random Number Generator seed is only synchronized once when the connection is established. Only inputs are sent from one console to another, so the code must account for both player actors. If code does not account for each player, the games will become de-synced. For example, if an enemy was coded to imply get the values of a player on the local console, it will read different data on each console. This causes the enemy to act differently on each DS, thus causing a de-sync. Implementation example: ```c++ // Enemy reads only the position of its own console player playerPositionX = Game::getPlayer(Game::localPlayerID)->position.x; // Now the position that was read is different between both consoles // for this enemy and he will behave differently for each console! // This is very bad! // A solution would be to get the position of the closest player playerPositionX = enemy->getClosestPlayer(nullptr, nullptr)->position.x; // This way, it gets the closest player instead of its console player ``` ## Object Compatibility (Vanilla) - These objects will work in MvsL regardless of if you are using code hacks - Most of the objects in this list are objects that are already used in MvsL
Object IDActor Name
23Pipe Piranha Plant (Facing up)
24Pipe Piranha Plant (Facing down)
25Pipe Piranha Plant (Facing right)
26Pipe Piranha Plant (Facing left)
27Bill Blaster (Bullet Bill launcher)
28Bob-omb
71Stonewall moving up & down
72Stonewall moving left & right
95Spin Block
148Goomba
149Koopa Troopa
210MvsL Big Star
## Object Compatibility with Code Hacks - This spreadsheet is based on the [nospritesetlimitation.s](https://bookstack.nsmbcentral.net/attachments/3) code patch - To fix liquids in MvsL, use [mvslLiquidFix.cpp](https://bookstack.nsmbcentral.net/attachments/6) - There are 4 kinds of compatibility - **Works**: This object completely works in MvsL - **Partial**: Some parts of this object do not work in MvsL. The notes column will mention what doesn't work - **N/A**: The object does not load but it also does not crash the game - **Crash:** The object crashes the game when loaded. See the notes for possible workarounds.
Object IDObject NameCompatibilityNotes
0Crash Object (Player Actor)CrashNeeds the clone code hack
1Crash Object (Player Actor)CrashNeeds the clone code hack
2Crash Object (Player Actor)CrashNeeds the clone code hack
3Crash Object (Player Actor)CrashNeeds the clone code hack
4Crash Object (Player Actor)CrashNeeds the clone code hack
5Crash Object (Player Actor)CrashNeeds the clone code hack
6Crash Object (Player Actor)CrashNeeds the clone code hack
7Crash Object (Player Actor)CrashNeeds the clone code hack
8Crash Object (Player Actor)CrashNeeds the clone code hack
9Crash Object (Player Actor)CrashNeeds the clone code hack
10NothingN/ATechnically works due to it being nothing
11NothingN/ATechnically works due to it being nothing
12NothingN/ATechnically works due to it being nothing
13NothingN/ATechnically works due to it being nothing
14NothingN/ATechnically works due to it being nothing
15NothingN/ATechnically works due to it being nothing
16NothingN/ATechnically works due to it being nothing
17NothingN/ATechnically works due to it being nothing
18NothingN/ATechnically works due to it being nothing
19NothingN/ATechnically works due to it being nothing
20Defunct Actor 22N/AIf using the Actor Spawner code hack it works
21Mega GoombaWorksIf using Boss Particle code hack
22Hammer Brother from mapN/AMvsL is missing a world map so...
23Pipe Piranha Plant (facing up)Works
24Pipe Piranha Plant (facing down)Works
25Pipe Piranha Plant (facing right)Works
26Pipe Piranha Plant (facing left)Works
27Bill Blaster (Bullet Bill launcher)Works
28Bob-ombWorks
29Princess PeachWorks
30Monty TankWorksIf using Boss Particle code hack
31Cheep CheepWorks
32Goal Pole's FlagWorks
33Trampoline (portable springboard)Crash
34Red RingCrash
35Final Bowser ControllerCrash
36ThwompWorks
37SpinyWorks
38BooWorks
39Castle boss controllerPartialSome of the options crash the game, you can use a switch instead.
40Lakitu (unused object)Works
41Bowser bridge switchWorksLoads, but graphics are not loaded correctly
42Chain Chomp/LogWorks
43Chain Chomp (unused object)Works
44Fire Snake (unused Actor 46)Works
45Respawnable Hidden BlockWorks
46Event controller - activates Spiked Ball when touched by Snake BlockWorks
47LakithunderWorks
48Aquatic bubble current (up)Works
49Aquatic bubble current (down)Works
50Aquatic bubble current (right)Works
51Aquatic bubble current (left)Works
52Buzzy BeetleWorks
53Dry BonesWorks
54Lava Bubble (Podoboo)Works
55Bullet Bill SpawnerWorks
56Fire BarWorks
57CoinWorks
58BowserWorks
59Hammer BrotherWorks
60NothingN/ATechnically works due to it being nothing
61NothingN/ATechnically works due to it being nothing
62Big Bowser (unused object)Works
63Dry BowserWorks
64WhompWorks
65CheepskipperWorks
66P SwitchWorksGraphics are not loaded correctly
67Sushi (shark)Works
68Lift moving up and downWorks
69Lift moving left and rightWorks
70Rotating log lift (unused actor)Works
71Stonewall moving up and downWorks
72Stonewall moving left and rightWorks
73Wobbly metal liftWorks
74Wobble RockWorks
75Seesaw liftWorks
76Scale liftWorks
77Flimsy Lift (falls once touched)Works
78Lift moving one way once stood onWorks
79Three-platform rickshaw lift (rotates in place by self)Works
80Lift spawnerWorks
81NothingN/ATechnically works due to it being nothing
82Rotating rectangle liftWorks
83Self-activating blockWorks
84ZoomWorks
85Flip fence (duplicate object)Works
86Rotating triangle liftWorks
87NothingN/ATechnically works due to it being nothing
88Brick Block containing P SwitchWorksP-Switch graphics are not loaded correctly
89SnailicornWorks
90WigglerWorks
91Track-controlled liftWorks
92Unagi (eel)Works
93Arrow signboardWorks
94SwooperWorks
95Spin BlockWorks
96SeaweedWorks
97NothingN/ATechnically works due to it being nothing
98Camera vertical scrollingN/A
99Four-platform rickshaw liftWorks
100Vertical camera offset (unused actor)N/A
101Event controller - view enterWorks
102Spiked BallWorks
103DorrieWorks
104Tweester (Tornado)Works
105WhirlpoolWorks
106Red CoinCrashes
107? SwitchWorksGraphics are not loaded correctly
108! SwitchWorksGraphics are not loaded correctly
109AmpWorks
110Brick Block containing !-SwitchWorks!-Switch graphics are not loaded correctly
111Floating logWorks
112NothingN/ATechnically works due to it being nothing
113Cheep ChompWorks
114Burner (Small)Works
115Large Spiked BallWorks
116Skeeter (Water Bug)WorksCauses a desync however
117Map Flying ? BlockN/A
118BurnerWorks
119Swinging lift (pendulum-like)Works
120Grounded Piranha PlantWorks
121NothingN/ATechnically works due to it being nothing
122Big Grounded Piranha PlantWorks
123Grounded Fire Piranha PlantWorks
124Large grounded Fire Piranha PlantWorks
125Defunct Actor 229N/A
126Drawbridge liftWorks
127Big four-platform rickshaw liftWorks
128Warp CannonWorks
129Boss Key LocationWorks
130Jumping Cheep CheepWorks
131Checkpoint - verticalWorksDoes the animation but doesn't set anything
132CheckpointWorksDoes the animation but doesn't set anything
133NothingN/ATechnically works due to it being nothing
134NothingN/ATechnically works due to it being nothing
135NothingN/ATechnically works due to it being nothing
136PokeyWorks
137NothingN/ATechnically works due to it being nothing
138NothingN/ATechnically works due to it being nothing
139NothingN/ATechnically works due to it being nothing
140Boss KeyWorks
141Swelling groundWorks
142TightropeWorks
143Spiked ? Block (unused actor 251)Crashes
144Spiked ? BlockCrashes
145Spiked ? Block (unused actor 253)Crashes
146Ground-pound panelWorks
147Bump from below platformWorks
148GoombaWorks
149Koopa TroopaWorks
150Koopa ParatroopaWorks
151NothingN/ATechnically works due to it being nothing
152Event trigger blockCrash
153NothingN/ATechnically works due to it being nothing
154NothingN/ATechnically works due to it being nothing
155Special exit controller (warp entrance)CrashSometimes just corrupts graphics and does nothing
156NothingN/ATechnically works due to it being nothing
157Fire BrotherPartialCauses a desync
158Boomerang BrotherPartialCauses a desync
159NothingN/ATechnically works due to it being nothing
160NothingN/ATechnically works due to it being nothing
161NothingN/ATechnically works due to it being nothing
162Mushroom Platform liftWorks
163NothingN/ATechnically works due to it being nothing
164Event controller - "AND"Works
165Event controller - "OR" (If X OR Y, do Z)Works
166Event controller - "RANDOM"Works
167Event controller - chainer (If X, do Y)Works
168Event controller - "IF" (uses zones)Works
169Spin Block (unused Actor 255)N/ADoesn't spawn
170NothingN/ATechnically works due to it being nothing
171Spin Block (unused Actor 256)N/ADoesn't Spawn
172NothingN/ATechnically works due to it being nothing
173Swinging/able ropeWorks
174Mushroom Platform liftWorks
175Bouncy bricks (Unused)Works
176NothingN/ATechnically works due to it being nothing
177NothingN/ATechnically works due to it being nothing
178NothingN/ATechnically works due to it being nothing
179NothingN/ATechnically works due to it being nothing
180Climbing KoopaWorks
181NothingN/ATechnically works due to it being nothing
182NothingN/ATechnically works due to it being nothing
183Lakitu spawnerWorks
184NothingN/ATechnically works due to it being nothing
185Cheep Cheep random spawnerWorks
186ParagoombaWorks
187Balance liftWorks
188NothingN/ATechnically works due to it being nothing
189Pipe CannonWorksDesynchronizes the game
190NothingN/ATechnically works due to it being nothing
191Hanging Bouncing ? BlockWorks
192Coin Spawner (unused actor)Crash
193Big Dry BonesWorks
194Big ThwompWorks
1950 Stick to bottom length activator leftWorks
1960 Stick to bottom length activator rightWorks
197Tile Creator/Destroyer (Tile God)Crash
198In air vertical scroll stop leftN/A
199In air vertical scroll stop rightN/A
200NothingN/ATechnically works due to it being nothing
201NothingN/ATechnically works due to it being nothing
202NothingN/ATechnically works due to it being nothing
203Unused Purple Mushroom Platform LiftWorks
204Fire SnakeWorks
205Flame Chomp SpawnerWorks
206Ghost house gooWorks
207Big Cheep CheepWorks
208NothingN/ATechnically works due to it being nothing
209Sledge BrotherWorksCauses a desync however
210MvsL Battle StarWorksWho would've thought
211BlooperWorks
212Blooper Nanny (unused actor 144)Works
213Blooper Nanny that w/ Baby BloopersWorks
214NothingN/ATechnically works due to it being nothing
215NothingN/ATechnically works due to it being nothing
216NothingN/ATechnically works due to it being nothing
217NothingN/ATechnically works due to it being nothing
218Auto-scrolling controllerWorksIf the players spawn in the same position after respawning it stops working
219Spike TopWorks
220Bowser Jr.Works
221NothingN/ATechnically works due to it being nothing
222Mini GoombaWorks
223Flip fenceWorks
224Big flip fenceWorks
225NothingN/ATechnically works due to it being nothing
226ScuttlebugN/A
227MoneybagWorks
228Roulette BlockCrash
229Petey PiranhaWorks
230NothingN/ATechnically works due to it being nothing
231WaterWorks
232Hanging ? BlockWorks
233Swinging/able poleWorks
234LavaPartialCauses a desync is not using [mvslLiquidFix.cpp](https://bookstack.nsmbcentral.net/attachments/6)
235Star CoinCrash
236Rotating square liftWorks
237BroozerWorks
238Purple Mushroom Platform liftWorks
239Yellow/Orange Mushroom PlatformWorks
240NothingN/ATechnically works due to it being nothing
241Bill Blaster TurretWorks
242Blue Mushroom PlatformWorks
243Roof SpinyWorks
244Bouncy Mushroom PlatformWorks
245Corked Pipe + foot pumpCrashes
246Floating barrelWorks
247Sushi spawner (shark spawner)Works
248Balloon BooWorks
249Track-controlled wall-jump liftWorks
250CrowberWorks
251Big UnagiCrash
252Banzai Bill BlasterWorks
253NothingN/ATechnically works due to it being nothing
254Kab-ombWorks
255Jungle FG Effect (Unused Actor)Works
256Rotating carry-through-wall turntable-like liftWorks
257Coin trail Cheep CheepWorks
258Spike Bass (unused object)Works
259Poisoned WaterPartialCauses desync if not using [mvslLiquidFix.cpp](https://bookstack.nsmbcentral.net/attachments/6)
260Fast Spike Pillar - DownWorks
261Fast Spike Pillar - UpWorks
262Fast Spike Pillar - LeftWorks
263Fast Spike Pillar - RightWorks
264Mega Ground Pound's sky drops +Crash
265Phantom Hand (Pointing hand)Works
266Invisible Lava Bubble (unused actor)Works
267NothingN/ATechnically works due to it being nothing
268Underwater bounce bubbleWorks
269Giant WigglerWorks
270Smashed pipe objectWorks
271Crowber spawnerWorks
272Snowy branchWorks
273Snow SpikeWorks
274Sinking-snow pileWorks
275BlockhopperPartialDesyncs
276Scroll and Mario stop sidewaysWorks
277Arrow signWorks
278Groundpound-able ghost house gooWorks
279Flipper (one-way gate)Works
280Horizontal camera offsetN/ANot sure how this object works
281SquigglerWorks
282Swinging/able vineWorks
283Spike Bass spawnerWorks
284Splunkin (pumpkin)Works
285Scuttlebug spawnerN/A
286Event controller - multi-chainerWorks
287Enemy-in-Pipe GeneratorWorks
288NothingN/ATechnically works due to it being nothing
289Platform Block (expandable block)WorksDoesn't respawn if it turns into bricks and you collect a battle star.
290Flying ? BlockCrashBlack screen
291Brick Block containing ? SwitchWorks? Switch graphics are not loaded correctly
292Event Activated DoorWorks
293Touching ground vertical scroll stop leftWorks
294Touching ground vertical scroll stop rightWorks
295MummipokeyWorksUse a P-Switch
296Lift moving left and rightWorks
297Stonewall moving left and rightWorks
298Stonewall moving u, d, l, rWorks
299Snake BlockWorks
300Haunted liftWorks
301ToadsworthWorksOnly freezes Mario for a few seconds, and Luigi can roam freely. Background chooser will break because of BMG differences.
302Toad House blockDoesn't workGarble graphics.
303Ball 'n' ChainWorks
304Spike Pillar - downWorks
305Final Castle Create LoopN/AI have no idea how this works.
306Final Castle Wrong PathN/AI have no idea how this works.
307Spike Pillar - upWorks
308Spike Pillar - leftWorks
309Spike Pillar - rightWorks
310Fog FG effectPartialGraphics are not loaded correctly
311Snow FG effect 1Works
312Rise or lower while/once on Mushroom Platform lift - mechanicalWorks
313Snow FG effect 2Works
314Snow FG effect 3Works
315Cloud FG effectPartialGraphics are not loaded correctly
316Water FG effect 1Works
317Water FG effect 2Works
318Fire FG effect 1Works
319Fire FG effect 2Works
320Fire FG effect 3Works
321Light FG Effect 1N/A
322Light FG Effect 2Works
323Squishy cloud platformWorksBoth players can interact with it at the same time
324Grassland Clouds FG effectPartialGraphics are not loaded correctly
325Small Grassland Clouds FG effectPartialGraphics are not loaded correctly
# Modding 101 - Creating a Bare-Bones Level Welcome to the world of New Super Mario Bros. DS modding. Making your first level is the first step every modder takes when starting from scratch.

In this tutorial, you'll learn how to:

- Install the necessary tools to start modding - Open your ROM in the editor - Open a level from your ROM - Create a bare-bones level to build from #### Section 1: Getting Ready To edit the game, you'll need a copy of your New Super Mario Bros. DS ROM and the New Super Mario Bros. Editor (NSMBe).

We are not allowed to give a download to the ROM. If you have a 3DS, [here is a guide](https://3ds.hacks.guide/dumping-titles-and-game-cartridges.html) that lets you dump your game cartridge ROM using a modded 3DS.

For the best compatibility for more complex tasks, you will need a US region ROM.

Head over to [GitHub](https://github.com/MammaMiaTeam/NSMB-Editor/releases) to download the latest version of NSMBe from the Mamamia Team. When you click the link, you will be taken to a page that looks like this: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/image.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/image.png) Just click on **NSMBeX.X.X.zip** to download the editor. (The X's will match with whatever version the editor is on. As of writing this version is 5.4.1, as seen in the screenshot) Now, in your downloads folder, you need to extract the zip file. On Windows, this is done by right-clicking the **.zip** and clicking **Extract All...** Just click extract on the window that appears. You should now have a folder in your Downloads folder named **NSMBeX.X.X**. The final folder will look something like this: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/MqDimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/MqDimage.png)

You have now installed the necessary tools to begin modding

#### Section 2: Opening Your ROM Now that you have the editor extracted, let's open up your ROM! Inside of the **NSMBeX.X.X** folder, open the app named **NSMBe5.exe**. You should see a window that looks something like this: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/RBmimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/RBmimage.png) Now, click on **Open ROM...** and open your dumped ROM of New Super Mario Bros. DS

The ROM will have an extension of **.nds**

You should now see this: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/lrUimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/lrUimage.png)

You have now opened your ROM in the editor

#### Section 3: Opening a Level Now for the fun part, editing a level! To start, we will open 1-1, Area 1. To do this, open the **World 1** drop down, open the **1-1** dropdown, and finally double click on **Area 1**.

Each level in the game has a various number of **Areas**. Nintendo used these as a way to keep each sub-area separated. For example, **Area 1** of 1-1 is where you start the level, and **Area 2** is the bonus room found in **Area 1**.

[![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/YpKimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/YpKimage.png) You will now be presented with the level view: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/Vlbimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/Vlbimage.png)

If the level view appears too small, you may need to modify the config file. To do this: open the file named "NSMBe5.exe.config" using Notepad, delete the lines: **<System.Windows.Forms.ApplicationConfigurationSection> <add key="DpiAwareness" value="PerMonitorV2"/></System.Windows.Forms.ApplicationConfigurationSection>** After deleting the lines, save the file, restart the editor, and open **Area 1** again.

You have now opened a level from your ROM

#### Section 4: Creating a Bare-Bones Level It is best practice to start from a blank level, so let's clear out the existing level by pressing **Ctrl+A** to select everything in the level, followed by clicking the [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/dktimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/dktimage.png)at the top of the editor window. Your blank level will look like this: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/mVEimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/mVEimage.png) > ##### Now that we have a blank level, what do we need to add back? All levels in NSMB DS must at *minimum* have a **Start Entrance** and at least one main **View**. With that being said, let's add them back! To begin, we will add the main view. To do this, click on [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/9sYimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/9sYimage.png) in the sub-menu bar. This will show a list of all the views in the level (or it would if we didn't just delete everything in the level). To create a view, all we need to do is click on **Add**. Your level will now have a transparent box: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/YQiimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/YQiimage.png) You'll notice a bunch of settings here. For now, the only thing you need to worry about is checking **Scroll vertically**. This allows the in-game camera to follow Mario up and down inside of your level.

The **View** defines the bounds of your level. The camera is not allowed to go outside of the current view. Mario can go above the view, however the camera will not follow him. The sides of a view will stop Mario. Mario will die if he falls below the bottom of the view.

Click and drag the small box that says **View 0** and move the **View** to the top left of the level. While we're moving the view, go ahead and grab the bottom right box and extend the view to be one square big. You're level should look like this now: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/IG1image.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/IG1image.png) Now, let's create the **Start Entrance**. Click on the [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/Mehimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/Mehimage.png) button in the sub-menu. Similarly to the views button, this will give a list of every **Entrance** that is in this level. Go ahead and click on **Add** to create a new **Entrance**. [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/TZeimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/TZeimage.png) Once again, there are a few settings on the entrance that you can play with but for now let's just move the entrance inside of our **View**. [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/TU5image.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/TU5image.png) There we go! We have what's at *minimum* required. However...if we were to play this level now, Mario would just fall down and die. Let's add a floor and the **Goal Pole's Flag** to this level! To get to the **Tile** picker, click on the [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/Q9wimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/Q9wimage.png) button (and also click on **Tileset 1** if it is not already selected). Your side bar should now be filled with **Tiles**! [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/pxeimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/pxeimage.png) Go ahead and pick the tile I have selected (highlighted in red in the screenshot), then right-click to place the tile in our view. After this, you can grab the corner of the tile and stretch it out across the view. [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/ceoimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/ceoimage.png) Not bad! Now, let's make a **Goal Pole** for Mario to clear the level with. First off, click on the [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/Ob6image.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/Ob6image.png) button in the sub menu to bring up the **Actor List**. [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/O9rimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/O9rimage.png) This is every **Actor** in the game. You'll become familiar with more **Actors** as you begin making levels. For now, enter "Goal Pole's Flag" into the search box. This will now filter out all other **Actors**. [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/6Ubimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/6Ubimage.png) Click on the **Actor** in the list, then right click in the level like you did for the tile. This will add the **Goal Pole's Flag** into the level. [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/hnXimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/hnXimage.png) On the left, you'll notice that some options for the **Goal Pole's Flag** has appeared. All **Actors** will have an options menu appear for them when they are highlighted in the level. All that's left to do now is finish tiling the **Goal Pole**.

Test your knowledge! The **Goal Pole** tiles are located in **Tileset 0**, try and build the flag like the next screenshot! Here's a tip, the **Goal Pole** is 9 tiles high and two tiles wide.

[![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/K3Oimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/K3Oimage.png)With the flag created, we now need to build the castle. To begin, head over to **Tileset 2** and click on the castle. Now, right click to place the castle and drag it to create the castle. Your level will look like this now: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/mciimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/mciimage.png) We're almost done. The castle in this game is composed of three tiles: the castle we just created, the wall that will stop Mario, and the roof that allows the small flag to show up after you cleared the level. Select the wall from the tile picker: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/CPPimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/CPPimage.png)Drag this wall over the castle you created. [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/vSgimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/vSgimage.png)Lastly, drag the roof tile over the castle like you just did for the wall [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/1fWimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/1fWimage.png)

You have now created a bare-bones level

You can now save your level using the save icon or by pressing **Ctrl+S**. # Setting up NSMBe5 on Linux If you are considering swapping to Linux (or are already using Linux), modding NSMB DS is still perfectly doable! NSMBe just needs a little bit of setup before you can begin opening levels. After this tutorial, you'll be up and running with NSMBe on your favorite Linux distro. - This tutorial has been tested on the following operating systems: \- Fedora \- Manjaro (should work for every Arch-based distribution) \- Linux Mint (should work for every Debian-based distribution) Help us improve the compatibility list! ### Requirements: - A computer running Linux - [The latest build of NSMBe5](https://github.com/MammaMiaTeam/NSMB-Editor/releases/latest/ "NSMBe5 download link")

While not *needed*, having administrator permission (sudo) is helpful for troubleshooting

### Step 1: Installing [PortProton](https://flathub.org/apps/ru.linux_gaming.PortProton) #### Method 1: Via Flathub (recommended) Follow the [Flathub setup guide.](https://flathub.org/setup) Then, install the app by opening a terminal and typing: ```bash flatpak install flathub ru.linux_gaming.PortProton ```

If it doesn't work or you need admin rights, check the second method.

#### Method 2: Manual installation Go to [flathub.org/apps/ru.linux\_gaming.PortProton](http://flathub.org/apps/ru.linux_gaming.PortProton) and hit “download”. This will download a `.flatpakref` file. The file should appear in your Downloads folder. If your browser asks you where it should save it, choose a location that you will remember. [![Capture d’écran du 2025-03-23 12-42-49.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/capture-decran-du-2025-03-23-12-42-49.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/capture-decran-du-2025-03-23-12-42-49.png) Go to the file's location, right-click an empty space, and select "Open in a terminal". From there, type the following command: ```bash flatpak install ru.linux_gaming.PortProton.flatpakref ``` If it doesn't work because admin rights are needed, try the following command instead: ```bash flatpak install --user ru.linux_gaming.PortProton.flatpakref ```

If this method still doesn't work, ask us in NSMB Central.

Congratulations! You're now ready to open NSMBe!

### Step 2: Installing NSMB Editor

PortProton might download some files before starting the first time you launch it. That's normal.

Go to your NSMBe5 folder. Open `NSMBe5.exe` by double-clicking on it. You should see a window like this: [![Copie d'écran_20250330_212505.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/copie-decran-20250330-212505.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/copie-decran-20250330-212505.png)

Make sure to change the prefix to "DOTNET"

If you want to add a shortcut to your app menu, click on "Create shortcut". It will ask you where to put it: [![Copie d'écran_20250330_212530.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/copie-decran-20250330-212530.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/copie-decran-20250330-212530.png) Once it's done, click "create shortcut". Now, to launch the app, just have to click on the "Launch" button, and there you go! [![Capture d’écran du 2025-03-23 12-51-25.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/capture-decran-du-2025-03-23-12-51-25.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/capture-decran-du-2025-03-23-12-51-25.png)

Congratulations! Now, you are ready to make awesome stuff with Linux!

### FAQ / Troubleshooting > ##### Some actors appear weirdly, how can I fix it? When opening a level in the level editor, some elements may seem scaled incorrectly: [![Fractionnal scaling issue.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/Qjvfractionnal-scaling-issue.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/Qjvfractionnal-scaling-issue.png) This is because your computer is using **fractional scaling**. This zooms your screen, but not all elements in the app. To fix that, go into your display settings and select 100% or 200%: [![Display.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/my0display.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/my0display.png) Now it's working better! [![Now it's working!.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/now-its-working.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/now-its-working.png)

No better solution has been found yet. If you have one, please tell `@rph_nsmb` on the NSMB Central server.

> ##### It takes a while to navigate with the file explorer. Can't I add a shortcut? Of course you can! First, you will need to go to the parent folder of the one you want to make a shortcut (for example, I want to add `/home/rph/Documents/Template`, I'll go to `/home/rph/Documents`). Right-click on the folder you want to make a shortcut and select "create link". You should see something like this: [![Link.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/link.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/link.png)

If you don't see the "Create shortcut" option, take a look at the file explorer's menus or check its settings.

Right-click on the link and select "cut". Now, you will need to go to your PortProton setting folder. To do so, go to your home folder and go to `PortProton/prefixes/DOTNET/dosdevices`. Now paste your linked folder and rename it to a lowercase letter followed by a colon, for example: `n:`. [![Drive.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/drive.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/drive.png) Now, if you open the file explorer, you should see your drive in "Computer": [![Drive 2.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/drive-2.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/drive-2.png)

Congratulations! You have your shortcut.

# Code Modification Going beyond the basics and modifying the game's code. # Custom Actors Sometimes the base game doesn't offer exactly what you need for your level. That's when you should turn to custom actors!

This guide provides a basic overview of how to create custom actors. A decent understanding of C++ along with some prior NSMB code modding knowledge are recommended for this tutorial.

### Section 1 - The Boiler Plate This is code you will be writing basically every time you go to create a custom actor. It is standard practice to split your actor into two files `myActor.cpp` and `myActor.hpp` #### `myActor.cpp` ```c++ #include "nsmb.hpp" #include "myActor.hpp" ncp_over(0x020c560c, 0) const ObjectInfo objectInfo = MyActor::objectInfo; //Stage Object ID 44 (use this in the editor) ncp_over(0x02039a34) static constexpr const ActorProfile* profile = &MyActor::profile; //objectID 46 s32 MyActor::onCreate(){ return true; } bool MyActor::loadResources() { return true; } s32 MyActor::onDestroy(){ return true; } s32 MyActor::onRender(){ return true; } bool MyActor::updateMain(){ return true; } ``` This file is where you program your actor. At the beginning of the file is where you define: - Where in the object bank table your actor's object info is stored. The array index is what you place in the editor to "place" your object. In the sample above, it is replacing ID 44. The beginning of this array is located at `0x020c529c` - Where in the main process table your actor's profile is stored. The beginning of this array is located at `0x0203997c` Here's an overview of what these functions are usually used for:
**Function****Purpose**
`onCreate()` This function is ran when your actor is first created. This function is used for initalizing variables and anything that should be done once.
`loadResources()` This function is called when the game is setting up your actor. \[Todo\]: Find the normal use case for this function.
`onDestroy()` This function is called when your Actor is being removed from the stage. This function is used for cleaning up after the actor (i.e. freeing resources).
`onRender()` This function is called every game tick while your actor is in view of the camera. This is typically used for graphics related code (for example, changing what texture an NSBTX is currently drawing).
`updateMain()` This function is called every game tick while your actor is loaded. This function is used for the main functionality of your code (i.e. calculating positions, updating variables, etc).

TODO: Expand this table with more functions you can override in a `StageEntity`

#### `myActor.hpp` ```c++ #pragma once #include "nsmb.hpp" class MyActor: public StageEntity { public: virtual s32 onCreate() override; static bool loadResources(); virtual bool updateMain() override; virtual s32 onRender() override; virtual s32 onDestroy() override; static constexpr u16 objectID = 46; static constexpr ObjectInfo objectInfo = { 0, 0, 0, 0, 0, 0, 0, 0, CollisionSwitch::None, }; static constexpr u16 updatePriority = objectID; static constexpr u16 renderPriority = objectID; static constexpr ActorProfile profile = {&constructObject, updatePriority, renderPriority, loadResources}; }; ``` This file is where you store your instance variables and declare your functions. ### Section 2 - State Machines While not all Actors *need* to have a state machine, it can often times greatly improve the readability and reliability of your code (state machines are also a strategy Nintendo used when writing actors for the game). #### Defining the State Machine In your `.hpp`, you need to add the following: ```c++ class MyActor: public StageEntity { /* ... */ // Functions for the state machine. Add more as needed. void exampleState(); void anotherExampleState(); void (*updateFunc)(MyActor*); s8 updateStep; void switchState(void (MyActor::*updateFunc)()); /* ... */ } ``` In your `.cpp`, here's what you need: ```c++ s32 MyActor::onCreate(){ /* ... */ // Initalize the current state switchState(&MyActor::exampleState); /* ... */ } bool MyActor::updateMain(){ /* ... */ // Make sure to call the update function every tick updateFunc(this); /* ... */ } bool MyActor::exampleState(){ if (updateStep == Func::Init) { updateStep++; return; } if (updateStep == Func::Exit) { return; } } bool MyActor::anotherExampleState(){ if (updateStep == Func::Init) { updateStep++; return; } if (updateStep == Func::Exit) { return; } } void MyActor::switchState(void (MyActor::*updateFunc)()) { auto updateFuncRaw = ptmf_cast(updateFunc); if (this->updateFunc != updateFuncRaw) { if (this->updateFunc) { this->updateStep = Func::Exit; this->updateFunc(this); } this->updateFunc = updateFuncRaw; this->updateStep = Func::Init; this->updateFunc(this); } } ``` #### Using the State Machine While the code may look intimidating, state machines are very intuitive once you start working with them.
**Function/Variable****Purpose**
`updateStep` This variable keeps track of what update step the current state is in. 1 (or `Func::Init`) is used for when a state function is entered for the first time. Useful for setting variables related to the current state. -1 (or `Func::Exit`) is used for when a state function is being exited. Used for cleaning up any state specific code before the code changes to the next state. All other update step values can be used inside a step to create "sub steps" via conditional code.
`switchState()` This function will swap the current state to the function passed as a parameter. Call this function when you want to change what state you are in.

TODO: Expand this page with more actor components (for example, colliders)

# Porting old patch syntax to NCPatcher This page will help you understand how you can port any patching syntax to NCPatcher's. You are searching through NSMBHD or NSMB Central and you find a shiny code patch, you rush and put it in the `source` folder of your project only to find that a code patch is not compatible with your code! That sucks. So what can we do? For this example NSMB E3 Recreation's `PlayerAnims.cpp` code patch will be used. ## Step 1 - Investigation Let's start by taking a look at `PlayerAnims.cpp`. ```c++ #include #include #define NAKED __attribute__((naked)) // Slow down rotation speed NAKED void repl_02114DFC_ov_0A() { asm("MOV R5, #0xC00\nBX LR"); } // Walking transition delay void repl_0211667C_ov_0A() {} void repl_02116698_ov_0A(Player* player, int id, bool doBlend, Player::FrameMode frameMode, fx32 speed, u16 frame) { // 3.75fx (0x3C00) is the max walk animation speed if (speed > (3.75fx / 2)) { speed = (3.75fx / 2); } if (player->animID == 2) { player->setBodyAnimationSpeed(speed); } else { if (player->animID == 1) { fx32 xvel = Math::abs(player->velocity.x); if (xvel >= 1.5fx) { player->setAnimation(2, doBlend, frameMode, speed, frame); } else { player->setBodyAnimationSpeed(speed); } } else { player->setAnimation(1, doBlend, frameMode, speed, frame); } } } // Force jump on anim 1 NAKED void nsub_02116A14_ov_0A() { asm("CMP R0, #1\nB 0x02116A18"); } // Use anim 1 NAKED void repl_02116A2C_ov_0A() { asm("MOV R1, #1\nBX LR"); } ``` We must now wonder, what kind of a patch is this? Is this an `NSMBe` type patch or a `Fireflower` type patch? By comparing common traits that each patcher uses we can guess what kind of patch type we are dealing with. `NSMBe` type patches: - Does not use attributes to declare patches, uses the function name. `void hook_x() {}` - Patches always follow the format `_
_ov_` or `_
` if you don't need to specify an overlay. - `PATCH TYPE` can only be `hook`, `repl` or `nsub`. `Fireflower` type patches: - Uses attributes to declare patches. `hook(X) void func() {}` - Patches always follow the format `(0x
, 0x)` or `(0x
)` if you don't need to specify an overlay. - `PATCH TYPE` can only be `hook`, `rlnk`, `safe` or `over`. Did you guess correctly what kind of patch we are working with?
Click here to reveal the answer NSMBe
## Step 2 - Porting This is a fairly simple process. Here is a list that shows the different patch syntax between the patchers: | NSMBe | Fireflower | NCPatcher | |-------|------------|-----------| | hook | safe | ncp_hook | | repl | rlnk | ncp_call | | nsub | hook | ncp_jump | | | over | ncp_over | | | | ncp_repl | And here is an example comparing some of them: ```c++ // NSMBe void hook_02000000() {} // doSomethingPatch void repl_0200A000() {} // doUnspecifiedPatch void repl_02010000_ov_0A() {} // doWhateverOverlayPatch // over does not exist in NSMBe // Fireflower safe(0x02000000) void doSomethingPatch() {} rlnk(0x0200A000) void doUnspecifiedPatch() {} rlnk(0x02010000, 10) void doWhateverOverlayPatch() {} over(0x02159348, 52) static int stupidVar = 0x0215CA6C; // NCPatcher ncp_hook(0x02000000) void doSomethingPatch() {} ncp_call(0x0200A000) void doUnspecifiedPatch() {} ncp_call(0x02010000, 10) void doWhateverOverlayPatch() {} ncp_over(0x02159348, 52) static int stupidVar = 0x0215CA6C; ``` These addresses are ficticious and purely for demonstration! An important thing to remember is that all values in `NSMBe` patches are always written in hexadecimal without `0x` prepended to them. In NCPatcher if you want to specify an hexadecimal value you need to prepend `0x`, otherwise the value will be interpreted as a decimal value! Let's go back to `PlayerAnims.cpp` and try to apply these changes. ```c++ #include #include #define NAKED __attribute__((naked)) NAKED ncp_call(0x02114DFC, 10) void slowDownRotationSpeed() { asm("MOV R5, #0xC00\nBX LR"); } // Walking transition delay ncp_call(0x0211667C, 10) void doNotJumpOnAnim2() {} ncp_call(0x02116698, 10) void customPlayerAnimator(Player* player, int id, bool doBlend, Player::FrameMode frameMode, fx32 speed, u16 frame) { // 3.75fx (0x3C00) is the max walk animation speed if (speed > (3.75fx / 2)) { speed = (3.75fx / 2); } if (player->animID == 2) { player->setBodyAnimationSpeed(speed); } else { if (player->animID == 1) { fx32 xvel = Math::abs(player->velocity.x); if (xvel >= 1.5fx) { player->setAnimation(2, doBlend, frameMode, speed, frame); } else { player->setBodyAnimationSpeed(speed); } } else { player->setAnimation(1, doBlend, frameMode, speed, frame); } } } NAKED ncp_jump(0x02116A14, 10) void forceJumpOnAnim1() { asm("CMP R0, #1\nB 0x02116A18"); } NAKED ncp_call(0x02116A2C, 10) void useAnim1() { asm("MOV R1, #1\nBX LR"); } ``` The code should now compile! If your code still doesn't work because it complains about some functions not being defined or not existing then you might want to check this out as well: [Porting old patches to the NSMB Code Reference](https://bookstack.nsmbcentral.net/books/new-super-mario-bros/page/porting-old-patches-to-the-nsmb-code-reference) What if the patch was an assembly `.s` file instead of C `.c` or C++ `.cpp`? The process is the same. ``` hook_....: BX LR ``` Becomes ``` ncp_hook(...) BX LR ``` ## Step 4 - Tidying up Even though the code should now be able to execute, it is still not in its optimal state. This part is slightly more complicated because it requires understanding the code. NCPatcher includes its own definition of `__attribute__((naked))` which is `ncp_asmfunc` so we remove that macro definition and use `ncp_asmfunc` instead. ```c++ #include #include ncp_asmfunc ncp_call(0x02114DFC, 10) void slowDownRotationSpeed() { asm("MOV R5, #0xC00\nBX LR"); } // Walking transition delay ncp_call(0x0211667C, 10) void doNotJumpOnAnim2() {} ncp_call(0x02116698, 10) void customPlayerAnimator(Player* player, int id, bool doBlend, Player::FrameMode frameMode, fx32 speed, u16 frame) { // 3.75fx (0x3C00) is the max walk animation speed if (speed > (3.75fx / 2)) { speed = (3.75fx / 2); } if (player->animID == 2) { player->setBodyAnimationSpeed(speed); } else { if (player->animID == 1) { fx32 xvel = Math::abs(player->velocity.x); if (xvel >= 1.5fx) { player->setAnimation(2, doBlend, frameMode, speed, frame); } else { player->setBodyAnimationSpeed(speed); } } else { player->setAnimation(1, doBlend, frameMode, speed, frame); } } } ncp_asmfunc ncp_jump(0x02116A14, 10) void forceJumpOnAnim1() { asm("CMP R0, #1\nB 0x02116A18"); } ncp_asmfunc ncp_call(0x02116A2C, 10) void useAnim1() { asm("MOV R1, #1\nBX LR"); } ``` Now, take a look at the original purpose of `repl_0211667C_ov_0A` (now named `doNotJumpOnAnim2`) and the code it targeted. ``` ov10:02116678 CMP R0, #2 ov10:0211667C BEQ 0x021166A0 ov10:02116680 MOV R0, R5 ``` We can see that what we are doing is the following: ``` ov10:02116678 CMP R0, #2 ov10:0211667C BL repl_0211667C_ov_0A ov10:02116680 MOV R0, R5 //... repl_0211667C_ov_0A: BX LR // return generated by the compiler ``` Essentially we are just making it so `BEQ 0x021166A0` will never jump to `0x021166A0`, but we are not doing this efficiently because we jump from `0x0211667C` to `repl_0211667C_ov_0A` and then back to `0x02116680` instead of just continuing. This wastes memory and CPU cycles, but it was the only way of doing so in `NSMBe`. Instead we can write it like `ncp_repl(0x0211667C, 10, "NOP")` in NCPatcher, making the instruction do nothing and just skip to the next one without using any more memory. ``` ov10:02116678 CMP R0, #2 ov10:0211667C NOP // Skips to the next instruction ov10:02116680 MOV R0, R5 ``` After evaluating all theses different cases, our optimal code should look like this: ```c++ #include #include // Slow down rotation speed ncp_repl(0x02114DFC, 10, "MOV R5, #0xC00") // Walking transition delay ncp_repl(0x0211667C, 10, "NOP") ncp_call(0x02116698, 10) void customPlayerAnimator(Player* player, int id, bool doBlend, Player::FrameMode frameMode, fx32 speed, u16 frame) { // 3.75fx (0x3C00) is the max walk animation speed if (speed > (3.75fx / 2)) { speed = (3.75fx / 2); } if (player->animID == 2) { player->setBodyAnimationSpeed(speed); } else { if (player->animID == 1) { fx32 xvel = Math::abs(player->velocity.x); if (xvel >= 1.5fx) { player->setAnimation(2, doBlend, frameMode, speed, frame); } else { player->setBodyAnimationSpeed(speed); } } else { player->setAnimation(1, doBlend, frameMode, speed, frame); } } } // Force jump on anim 1 ncp_repl(0x02116A14, 10, "CMP R0, #1") // Use anim 1 ncp_repl(0x02116A2C, 10, "MOV R1, #1") ``` # Porting old patches to the NSMB Code Reference # Setting Up Code Modifications So, you're ready to dive into the code of the game? Let's get started!

In this tutorial, you will learn how to:

- Set up the NSMB DS Code Template - Set up ARM GCC - Set up NCPatcher - Extract/Build your ROM

This guide will cover the "NCPatcher Standalone" method described in the code template as the steps are more synchronized between all operating systems.

#### Setting Up the Code Template 1. Head over to the [code template's GitHub](https://github.com/MammaMiaTeam/NSMB-Code-Template "Code Template GitHub") 2. Click on **Code** **-> Download ZIP** 3. Now extract this zip and rename the folder to what you want to call your project (this will be referred to as your **project root**) 4.

Don't put any spaces in your folder name!

You have now set up the code template

##### Setting up ARM GCC 1. Head to the [Arm GNU Toolchain Download Page](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads "Arm GNU Toolchain Download Page") 2. Now search (using CTRL/CMD + F) for **AArch32 bare-metal target (arm-none-eabi)** and download the correct installer for your operating system. 3. Open the installer and install the toolchain. 4.

Pick a location without spaces to install the toolchain!

You have now set up ARM GCC

#### Setting Up NCPatcher 1. Head over to the [NCPatcher GitHub releases page](https://github.com/TheGameratorT/NCPatcher/releases/ "NCPatcher Releases") 2. Download the latest release for your operating system 3. Extract NCPatcher Now, NCPatcher depends on **ncpatcher.json**, so lets make it!

If you'd like to learn more about this file, head over to the [NCPatcher GitHub](https://github.com/TheGameratorT/NCPatcher "NCPatcher GitHub")!

In your **project root**, create the following files: - **ncpatcher.json** - Copy/Paste the following JSON into the file ```json { "$arm_flags": "-masm-syntax-unified -mno-unaligned-access -mfloat-abi=soft -mabi=aapcs", "$c_flags": "-Os -fomit-frame-pointer -ffast-math -fno-builtin -nostdlib -nodefaultlibs -nostartfiles -DSDK_GCC -DSDK_FINALROM", "$cpp_flags": "-fno-rtti -fno-exceptions -std=c++20", "$asm_flags": "-Os -x assembler-with-cpp -fomit-frame-pointer", "$ld_flags": "-lgcc -lc -lstdc++ --use-blx", "backup": "backup", "filesystem": "nsmb", "toolchain": "arm-none-eabi-", "arm7": {}, "arm9": { "target": "arm9.json", "build": "build" }, "pre-build": [], "post-build": [], "thread-count": 0 } ```

You have now set up NCPatcher

#### Extracting, Building, and Repackaging Your ROM ##### If you're on Windows 1. Download [fireflower.zip](https://github.com/MammaMiaTeam/Fireflower/releases/ "Fireflower Release Page") and extract it. 2. Move **nds-build.exe** and **nds-extract.exe** out from the folder ##### If you're on macOS/Linux 1. Download [nds-extract.zip](https://bookstack.nsmbcentral.net/attachments/2) 2. Download [nds-build.zip](https://bookstack.nsmbcentral.net/attachments/1) 3. Extract both ZIPs Now, you need to build the tools. For NDS Extract: 1. Open a new **Terminal** window in the folder of the code 2. Run this command: `g++ nds-extract.cpp -o nds-extract -std=c++20` For NDS Build: 1. Open a new **Terminal** window in the folder of the code 2. Run this command: `g++ nds-build.cpp -o nds-build -std=c++20`

From here on, the instructions will work for all operating systems. If you are on Windows 10, you can use **Command Prompt** instead of **Terminal**

##### Extracting Your ROM 1. Open a **Terminal** window in your **project root** 2. Run this command: `/path/to/nds-extract rom.nds nsmb`

Replace /path/to/ with the actual file path to nds-extract. Also replace "rom" with the actual name of your .nds file

This will extract the contents of your ROM into a folder named nsmb

You have extracted your ROM

##### Building Your ROM This step will compile and patch your ROM with any code files found in the **source** directory in your **project root**. The Code Template comes with a few examples included in the **source** directory. 1. Open a **Terminal** window in your **project root** 2. Run this command: `/path/to/ncpatcher`

Replace /path/to/ with the actual file path to ncpatcher

You have built your ROM

##### Repackaging Your ROM nds-extract depends on **buildrules.txt**, so let's create it! - **buildrules.txt** - Copy/Paste the following text into the file: ``` rom_header NSNDY/header.bin arm9_entry KEEP arm9_load KEEP arm7_entry KEEP arm7_load KEEP fnt nsmb/fnt.bin file_mode ADJUST arm9 nsmb/arm9.bin arm7 nsmb/arm7.bin arm9ovt nsmb/arm9ovt.bin arm7ovt nsmb/arm7ovt.bin icon nsmb/banner.bin rsa_sig nsmb/rsasig.bin data nsmb/root ovt_repl_flag 0xFF ov9 nsmb/overlay9 ov7 nsmb/overlay7 ``` This step will take the files form the **nsmb** folder and repackage them into a .nds file 1. Open a **Terminal** window in your **project root** 2. Run this command: `/path/to/nds-build buildrules.txt NSMB.nds`

Replace /path/to/ with the actual file path to nds-build.

You have repackaged your ROM

# Using GDB with Ghidra and melonDS #### What you'll need: - The latest version of [Ghidra](https://github.com/NationalSecurityAgency/ghidra/releases/tag/Ghidra_11.0.3_build) - A build of melonDS that has the GDB enabled -

The easiest way to get this is to grab a GitHub action build of melonDS. You can find that [here](https://github.com/melonDS-emu/melonDS/actions). (Note: you'll need to be signed into a GitHub account to download these builds)

- The [GNU ARM Embedded Toolchain](https://developer.arm.com/downloads/-/gnu-rm) installed on your system - A Ghidra database of NSMB DS -

Eventually, NSMB Central will host a shared Ghidra project so we have one centralized project anyone can contribute to. For now, you can generate a Ghidra project using [this tool](https://github.com/Ed-1T/NDS-Decompilation-Project-Maker/releases/tag/v1.2 "The GitHub page for the NDS Decompilation Project Maker"). If you need help, please ask in our Discord!

#### Configuring melonDS To enable the GDB, you need to do the following: 1. Click on the **Config** menu at the top of the emulator, then click on **Emu Settings** 2. Click on the **Devtools** tab 3. Check Enable **GDB stub** 4.

If you do not see the Devtools tab, then you have not built melonDS with GDB enabled. Please check the link at the start of the guide to find a download with GDB enabled or build it yourself enabling GDB in CMake

melonDS is ready to go!

#### Setting up Ghidra To begin, open your Ghidra project in the code viewer as you normally would. 1. Click on File -> Configure, which should open a list of tools 2. Check the "Debugger" box [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/scaled-1680-/image.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/image.png) This should cause windows to appear in your current project, likely making the following steps redundant. If you are unable to find a window, the following steps will either open the window, or present it to you in the project. #### Creating a Debugger Target

This method has been tested on Linux and macOS. You should be able to follow these steps using WSL on Windows. Follow [this guide](https://learn.microsoft.com/en-us/windows/wsl/install "Microsoft Tutorial for WSL") if you need help setting up WSL.

To begin, open the Debugger Targets window by navigating to Windows -> Debugger -> Debugger Targets. The window should look something like this: [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/scaled-1680-/gjbimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/gjbimage.png)As you'll notice, there is an active connection in the screenshot but nothing on your end...let's fix that! Click on the [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/scaled-1680-/ci5image.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/ci5image.png) button to open the **connect** window. ##### If you are on Linux: - Choose **gdb** in the dropdown - Set **arm-none-eabi-gdb -ex "set arch armv5t"** as the **GDB Launch Command** -

If you have not added arm-none-eabi-gdb to your PATH, you'll need to provide the absolute path

- Click [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/scaled-1680-/Z1Gimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/Z1Gimage.png) ##### If you are on macOS - Choose **gdb via SSH** in the dropdown - Set **arm-none-eabi-gdb -ex "set arch armv5t"** as the **GDB Launch Command** -

If you have not added arm-none-eabi-gdb to your PATH, you'll need to provide the absolute path

- Set **SSH hostname** to **localhost** - Set **SSH username** to your username -

You can use the command **whoami** in the terminal to get your username if you don't know it

- Click [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/scaled-1680-/Z1Gimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/Z1Gimage.png) ##### If you are on Windows -

This still needs to be tested on Windows. This guide will be updated when steps have been made

You have now created a Debugger Target

#### Connecting to melonDS The **gdb interpreter** should have opened for you when you connected to the **debugging target.** -

If you have lost the interpreter window, open the objects window (Window -> Debugger -> Objects) and click on [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/scaled-1680-/WSwimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/WSwimage.png) to bring the menu back

- In melonDS, open your ROM. (You can either boot directly to the game or launch the firmware) Now, in the interpreter menu, run the command **target remote localhost:\[ARM9 Port\]** (Where \[ARM9 Port\] is the ARM9 Port set in the Devtools tab.) -

By default, it should be 3333. The command would be **target remote localhost:3333**

If melonDS pauses after running this command, GDB is now talking to melonDS -

If the connection immediately closes after running the command: change the ARM9 port to something else, restart melonDS, and close the current GDB connection.

You have now connected Ghidra to melonDS

#### Using Breakpoints If you would like to set breakpoints, you'll need to use the **Dynamic PC** 1. Open the **Dynamic PC** window by clicking **Window -> Listing -> Dynamic - Auto PC,** \[...\] 1.

If you do not see this option, you can alternatively open it via **Window -> Debugger -> New Dynamic Listing**

2. Next, open the **Modules** window by clicking **Window -> Debugger -> Modules** 3. Lastly, click on [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/scaled-1680-/BeZimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/BeZimage.png) in the **Modules** window. Now, setting a breakpoint in your code view should set a breakpoint in the **Dynamic PC** -

Breakpoints will only update if the emulator has hit a breakpoint or has been paused by pressing [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/scaled-1680-/ED1image.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-04/ED1image.png)

You have now set up Ghidra to debug melonDS. Happy coding!

# Public Code Mods This is a collection of locations where you can find public code mods for your own NSMB mod. The header of each section links to the relevant server/board if you want to look around for anything scattered around those posts. If you find another location, feel free to add it to this list. All code here is for use with [NCPatcher ](https://bookstack.nsmbcentral.net/books/new-super-mario-bros/page/ncpatcher "Wiki page for NCPatcher")and MammaMia Team's [code template](https://github.com/MammaMiaTeam/NSMB-Code-Template "GitHub page for the NSMB Code Template") unless otherwise specified. #### [NSMB Central](https://discord.gg/x7gr3M9): - [\#nsmb-requests](https://discord.com/channels/399424476259024897/1290035837412573296) - [\#public-resources](https://discord.com/channels/399424476259024897/1207793065524199455) #### GitHub Repositories: - [https://github.com/NSMBC/Code-Mods](https://github.com/NSMBC/Code-Mods) - [https://github.com/pete420griff/nsmb-stuff](https://github.com/pete420griff/nsmb-stuff) - [https://github.com/mariomadproductions/nsmb-e3-rec](https://github.com/mariomadproductions/nsmb-e3-rec) (may be unpolished) - [https://github.com/Newer-Team/NewerSMBDS](https://github.com/Newer-Team/NewerSMBDS) (NSMBe patcher) #### [NSMBHD](https://nsmbhd.net): - [https://nsmbhd.net/thread/2569-misc-patches-thread/](https://nsmbhd.net/thread/2569-misc-patches-thread/) (NSMBe patcher; Dirbaio's template) # Tools The tools used to mod NSMB DS with a general overview of how to use them # Fire Flower

Fire Flower has been replaced by [NCPatcher](https://bookstack.nsmbcentral.net/books/new-super-mario-bros/page/ncpatcher "NCPatcher")

[Fire Flower](https://github.com/MammaMiaTeam/Fireflower) is a patcher for Nintendo DS games. It works different to any other patchers and aims towards performance, user-friendliness and practicability. # NCPatcher NCPatcher is a program that modifies the executable binaries of a Nintendo DS ROM. It was created because of the need to have more flexible patching features that other patchers did not have. Check out the documentation over at [the NCPatcher GitHub.](https://github.com/TheGameratorT/NCPatcher)

A tutorial will be created on using this tool for NSMB DS specifically soon

# NSMBe

TODO: Maybe a different screenshot?

[![Screenshot of NSMBe's level editor with 1-1 area 1 open in it](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/scaled-1680-/Vlbimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-02/Vlbimage.png)NSMBe is a multipurpose modding tool for New Super Mario Bros., capable of editing levels, graphics, tilesets, and backgrounds. The editor is currently maintained by Mamma Mia Team. You can download the latest release from [GitHub](https://github.com/MammaMiaTeam/NSMB-Editor/releases/latest). ### Recognized NSMB ROMs When a ROM is opened in NSMBe, it checks the ROM's game code to see which release of New Super Mario Bros. it is. The following releases are recognized by NSMBe: - North American (A2DE) - European (A2DP) - Japanese (A2DJ) - Korean (A2DK) - Chinese (A2DC) If the ROM opened is not one of these versions (such as a kiosk demo ROM, or a ROM besides New Super Mario Bros.), NSMBe will not show the Level Listing, Tilesets, or Backgrounds tab. ### Known Bugs

TODO: - Does the "Data Finder" button throw an exception in the latest version? - Can .nml files be imported over MvsL Download Play levels as of the latest version? - Does 8-8 area 2 open properly as of the latest version? - What is the last version the "Decompress overlay" button is known to work on? It's functional in v5.3 b6

- The "Decompress overlay" button in the ROM File Browser tab is nonfunctional - Certain levels from the vanilla game (such as 1-4 area 2) cannot be opened and instead thrown an exception - Colour 0 is always rendered as transparent in the graphics editor, even in textures that are not meant to render it as transparent - Certain models (such as w8.nsbmd) will show a message stating "This file is already being edited" even when not opened in the graphics editor; they are suchly uneditable through NSMBe's graphics editor without modification - The "Edit Properties" button in the Backgrounds tab will not apply changes made to file IDs - The undo button in the tilemap editor will not properly undo tiles drawn over tiles which use a palette greater than the amount of palettes opened (such as the blue coins in the jyotyu tileset tilemap) - The object preview in the tile object editor does not accurately render the behaviour of slope control tiles as they function in-game - NSMBe will regard files closed in the graphics editor by right-clicking as still "open" and will throw an error upon attempting to reopen said file, even after closing the graphics editor window # 2D Graphics Documentation of 2D graphics (anything that uses NCG, NCL and NSC) # New Page # Background Information

TODO: A lot.
- Tile and palette animations
- Backgrounds with other special properties (e.g., Underwater, Peach's Castle, etc.)
- Table for BGs that use tile share?
- Details on BGs that are broken?

### Bitmap Tables Stored in BG_ncg/ folder. #### Top Backgrounds | Slot | Bitmap | |-------------------------------------------------------|---------------------------------------| | 0: Grassland (hills and clouds) | d_2d_I_M_free_nohara_ncg.bin | | 1: Castle | d_2d_I_M_free_yakata_ncg.bin | | 2: Desert (pyramids, W2-Cannon) | d_2d_I_M_free_dokan_W2_ncg.bin | | 3: Underground | d_2d_I_M_free_chika_ncg.bin | | 4: Clouds | d_2d_I_M_free_kumo_ncg.bin | | 5: Underwater | d_2d_W_M_free_suichu_ncg.bin | | 6: Desert (pyramids) | d_2d_I_M_free_sabaku_ncg.bin | | 7: Volcanoes 1 (inside) | d_2d_W_M_free_yougan_ncg.bin | | 8: Grassland (Peach Castle) | d_2d_I_M_free_nohara_W1_1_ncg.bin | | 9: Beach (cliffs) | d_2d_W_M_free_kaigan_ncg.bin | | 10: Beach (cliffs) | d_2d_W_M_free_kaigan_ncg.bin | | 11: Forest | d_2d_W_M_free_jungle_ncg.bin | | 12: Grassland (blue/white hills and clouds) | d_2d_I_M_free_nohara2_ncg.bin | | 13: Bushes on mountain [Unused] | d_2d_I_M_free_kinoko_ncg.bin | | 14: Bushes on mountain [Unused] | d_2d_I_M_free_kinoko_ncg.bin | | 15: Volcanoes 2 (outside) [including raining debris] | d_2d_W_M_free_kazan_ncg.bin | | 16: Volcanoes 3 (outside) [Unused] | d_2d_W_M_free_kazangake_ncg.bin | | 17: Snowy trees | d_2d_I_M_free_setsugen_ncg.bin | | 18: Snowy hills | d_2d_I_M_free_setsugen2_ncg.bin | | 19: Bushes (W4-Cannon) | d_2d_I_M_free_dokan_W4_ncg.bin | | 20: Desert sand | d_2d_I_M_free_sabaku5_ncg.bin | | 21: Empty | None | | 22: Volcanoes 3 (outside) [Unused] | d_2d_W_M_free_kazangake_ncg.bin | | 23: Ghost house | d_2d_S_M_free_obakeyasiki_ncg.bin | | 24: Mountains with clouds | d_2d_W_M_free_kazangake2_ncg.bin | | 25: Mountains with clouds | d_2d_W_M_free_kazangake2_ncg.bin | | 26: Snowy trees (darker, W5-Cannon) | d_2d_I_M_free_dokan_W5_ncg.bin | | 27: Grassland (hills and clouds) | d_2d_I_M_free_nohara_ncg.bin | | 28: Snowy trees | d_2d_I_M_free_setsugen_ncg.bin | | 29: Pipes | d_2d_W_M_free_dokansoto_ncg.bin | | 30: Sewer wall (W2-3) | d_2d_W_M_free_dokannaka_ncg.bin | | 31: Volcano tower | d_2d_W_M_free_yougantate_ncg.bin | | 32: Empty | None | | 33: Low clouds | d_2d_I_M_free_kinoko3_ncg.bin | | 34: Grassland (hills and clouds, W1-Cannon) | d_2d_I_M_free_dokan_W1_ncg.bin | | 35: Empty | d_2d_I_M_free_sabaku_ncg.bin | | 36: Stalagmites (glitchy) [Unused] | d_2d_I_M_free_chika2_ncg.bin | | 37: Dark world 1 (dead trees, purple clouds) | d_2d_I_M_free_koopa_heigen_ncg.bin | | 38: Dark world 2 (rocks, purple clouds) | d_2d_I_M_free_koopa_iwa_ncg.bin | | 39: Tower | d_2d_I_M_free_toride_ncg.bin | | 40: Ghost house exit | d_2d_S_M_free_obake_soto_ncg.bin | | 41: Final Castle | d_2d_I_M_free_koopa_shiro_ncg.bin | | 42: Toad house 1 | d_2d_W_M_free_kinokoA_ncg.bin | | 43: Toad house 2 | d_2d_W_M_free_kinokoB_ncg.bin | | 44: Toad house 3 | d_2d_W_M_free_kinokoC_ncg.bin | | 45: Final Castle | d_2d_I_M_free_koopa_shiro_ncg.bin | | 46: Toad house 4 | d_2d_W_M_free_kinokoD_ncg.bin | | 47: Bowser Jr battle | d_2d_I_M_free_toride_boss_ncg.bin | | 48: Beach (cliffs, tall) | d_2d_W_M_free_kaigan_ncg.bin | | 49: Boss battle | d_2d_I_M_free_yakata_boss_ncg.bin | | 50: Low clouds | d_2d_I_M_free_kinoko3_ncg.bin | | 51: Foggy forest | d_2d_W_M_free_jungle2_ncg.bin | | 52: Desert (pyramids) | d_2d_I_M_free_sabaku2_ncg.bin | | 53: Desert (with underground bit) | d_2d_I_M_free_sabaku3_ncg.bin | | 54: Foggy forest | d_2d_W_M_free_jungle2_ncg.bin | | 55: Final boss battle | d_2d_I_M_free_koopa_boss_ncg.bin | | 56: Volcanoes 2 (outside) | d_2d_W_M_free_kazan_ncg.bin | | 57: Underwater cave | d_2d_W_M_free_suichu2_ncg.bin | | 58: Light grey castle (W8 Castle 1) | d_2d_I_M_free_yakata_nise_ncg.bin | | 59: Yellow clouds (Desert) | d_2d_I_M_free_kumo2_ncg.bin | | 60: Beach (world 6 style, with bushes) | d_2d_W_M_free_kaigan2_ncg.bin | | 61: Medium clouds | d_2d_I_M_free_yakata_bossW7_ncg.bin | | 62: Stone wall | d_2d_I_M_free_choropu_ncg.bin | | 63: Mummy-Pokey battle | d_2d_I_M_free_sabaku_boss_ncg.bin | | 64: Desert (pyramids) | d_2d_I_M_free_sabaku_ncg.bin | | 65: Desert (pyramids) | d_2d_I_M_free_sabaku_ncg.bin | | 66: Desert (pyramids, higher) | d_2d_I_M_free_sabaku4_ncg.bin | | 67: Empty | None | | 68: Empty | None | | 69: Empty | None | | 70: Empty | None | | 71: Empty | None | | 72: Empty | None | | 73: Empty | None | | 74: Empty | None | | 75: Grassland (hills and clouds) | d_2d_I_M_free_nohara_W1_1_ncg.bin | #### Bottom Backgrounds | Slot | Bitmap | |-------------------------------------------------------|---------------------------------------| | 0: Grassland (orange hills and clouds) | d_2d_I_M_back_nohara_ncg.bin | | 1: Castle | d_2d_I_M_back_yakata_ncg.bin | | 2: Desert (blue sky, pyramids, W2-Cannon) | d_2d_I_M_back_dokan_W2_ncg.bin | | 3: Underground | d_2d_I_M_back_chika_ncg.bin | | 4: Clouds | d_2d_I_M_back_kumo_ncg.bin | | 5: Underwater | d_2d_W_M_back_suichu_ncg.bin | | 6: Desert (yellow sky, pyramids) | d_2d_I_M_back_sabaku_ncg.bin | | 7: Volcanoes 1 (inside) | d_2d_W_M_back_yougan_ncg.bin | | 8: Grassland (pastel hills and clouds) | d_2d_I_M_back_nohara_W1_1_ncg.bin | | 9: Background clouds | d_2d_W_M_back_kaigan_ncg.bin | | 10: Background mountains | d_2d_W_M_back_kazangake2_ncg.bin | | 11: Forest | d_2d_W_M_back_jungle_ncg.bin | | 12: Grassland (blue/white hills and clouds) | d_2d_I_M_back_nohara2_ncg.bin | | 13: Background clouds 2 [Unused] | d_2d_I_M_back_kinoko_ncg.bin | | 14: Background clouds 2 [Unused] | d_2d_I_M_back_kinoko_ncg.bin | | 15: Volcanoes 2 (outside) [including raining debris] | d_2d_W_M_back_kazan_ncg.bin | | 16: Volcanoes 3 (outside) [Unused] | d_2d_W_M_back_kazangake_ncg.bin | | 17: Snowy trees | d_2d_I_M_back_setsugen_ncg.bin | | 18: Snowy hills | d_2d_I_M_back_setsugen2_ncg.bin | | 19: Background clouds (W4-Cannon) | d_2d_I_M_back_dokan_W4_ncg.bin | | 20: Desert (blue sky, pyramids, higher) | d_2d_I_M_back_sabaku5_ncg.bin | | 21: Bonus room (NES Mario and Luigi 1) | d_2d_I_M_back_mame_ncg.bin | | 22: Volcanoes 3 (outside) [Unused] | d_2d_W_M_back_kazangake_ncg.bin | | 23: Ghost house | d_2d_S_M_back_obakeyasiki_ncg.bin | | 24: Background mountains | d_2d_W_M_back_kazangake2_ncg.bin | | 25: Background mountains | d_2d_W_M_back_kazangake2_ncg.bin | | 26: Purple sky (W5-Cannon) | d_2d_I_M_back_dokan_W5_ncg.bin | | 27: Grassland (orange hills and clouds) | d_2d_I_M_back_nohara_ncg.bin | | 28: Snowy hills | d_2d_I_M_back_setsugen2_ncg.bin | | 29: Pipes | d_2d_W_M_back_dokansoto_ncg.bin | | 30: Empty | d_2d_W_M_back_dokannaka_ncg.bin | | 31: Volcano tower | d_2d_W_M_back_yougantate_ncg.bin | | 32: Castle 2 | d_2d_I_M_back_toride_ncg.bin | | 33: Clouds with orange hills at back | d_2d_I_M_back_kinoko3_ncg.bin | | 34: Snowy hills (W1-Cannon) | d_2d_I_M_back_dokan_W1_ncg.bin | | 35: Cave | d_2d_I_M_back_chika3_ncg.bin | | 36: Stalagmites (glitchy) [Unused] | d_2d_I_M_back_chika3_ncg.bin | | 37: Dark world 1 (dead trees, purple clouds) | d_2d_I_M_back_koopa_heigen_ncg.bin | | 38: Dark world 2 (rocks, purple clouds) | d_2d_I_M_back_koopa_iwa_ncg.bin | | 39: Tower | d_2d_I_M_back_toride_ncg.bin | | 40: Ghost house exit | d_2d_S_M_back_obake_soto_ncg.bin | | 41: Final Castle (Normal Jyotyu) | d_2d_I_M_back_koopa_shiro_ncg.bin | | 42: Toad house 1 | d_2d_W_M_back_kinokoA_ncg.bin | | 43: Toad house 2 | d_2d_W_M_back_kinokoB_ncg.bin | | 44: Toad house 3 | d_2d_W_M_back_kinokoC_ncg.bin | | 45: Final Castle (Blue Jyotyu) | d_2d_I_M_back_koopa_shiro_ncg.bin | | 46: Toad house 4 | d_2d_W_M_back_kinokoD_ncg.bin | | 47: Bowser Jr battle | d_2d_I_M_back_toride_boss_ncg.bin | | 48: Background clouds (tall) | d_2d_W_M_back_kaigan_ncg.bin | | 49: Boss battle | d_2d_I_M_back_yakata_boss_ncg.bin | | 50: Background clouds | d_2d_W_M_back_kaigan_ncg.bin | | 51: Background clouds | d_2d_W_M_back_kaigan_ncg.bin | | 52: Desert (blue sky, pyramids) | d_2d_I_M_back_sabaku2_ncg.bin | | 53: Desert (yellow sky, higher) | d_2d_I_M_back_sabaku3_ncg.bin | | 54: Background mountains | d_2d_W_M_back_kazangake3_ncg.bin | | 55: Final boss battle | d_2d_I_M_back_koopa_boss_ncg.bin | | 56: Volcanoes 2 | d_2d_W_M_back_kazan_ncg.bin | | 57: Underwater cave | d_2d_W_M_back_suichu_ncg.bin | | 58: Light grey castle (W8 Castle 1) | d_2d_I_M_back_yakata_nise_ncg.bin | | 59: Yellow clouds (Desert) | d_2d_I_M_back_kumo2_ncg.bin | | 60: Big mountains (higher, world 6 beach) | d_2d_W_M_back_kaigan2_ncg.bin | | 61: Background clouds | d_2d_I_M_back_yakata_bossW7_ncg.bin | | 62: Background mountains | d_2d_W_M_back_kazangake2_ncg.bin | | 63: Mummy-Pokey battle | d_2d_I_M_back_sabaku_boss_ncg.bin | | 64: Desert (yellow sky, pyramids) | d_2d_I_M_back_sabaku_ncg.bin | | 65: Desert (yellow sky, pyramids) | d_2d_I_M_back_sabaku_ncg.bin | | 66: Desert (blue sky, pyramids, higher) | d_2d_I_M_back_sabaku4_ncg.bin | | 67: Bonus room (NES Lakitu) [Unused] | d_2d_I_M_back_mame_ncg.bin | | 68: Bonus room (NES Mario + Bowser) [Unused] | d_2d_I_M_back_mame_ncg.bin | | 69: Bonus room (NES M/L swimming) [Unused] | d_2d_I_M_back_mame_ncg.bin | | 70: Bonus room (NES Mario and Luigi 2) | d_2d_I_M_back_mame_ncg.bin | | 71: Bonus room (NES Mario on vine) [Unused] | d_2d_I_M_back_mame_ncg.bin | | 72: Bonus room (NES Mario and Luigi 3) [Unused] | d_2d_I_M_back_mame_ncg.bin | | 73: Underground cave (red) | d_2d_I_M_back_chika4_ncg.bin | | 74: Bonus room | d_2d_I_M_back_mame_bonus_ncg.bin | | 75: Grassland (orange hills and clouds) | d_2d_I_M_back_nohara_VS_ncg.bin | ### Animation Table TBA ### Palette Tables Stored in BG_ncl/ folder. #### Top Backgrounds | Slot | Palette | |-------------------------------------------------------|---------------------------------------| | 0: Grassland (hills and clouds) | d_2d_I_M_free_nohara_ncl.bin | | 1: Castle | d_2d_I_M_free_yakata_ncl.bin | | 2: Desert (pyramids, W2-Cannon) | d_2d_I_M_free_dokan_W2_ncl.bin | | 3: Underground | d_2d_I_M_free_cika_ncl.bin | | 4: Clouds | d_2d_I_M_free_kumo_ncl.bin | | 5: Underwater | d_2d_W_M_free_suichu_ncl.bin | | 6: Desert (pyramids) | d_2d_I_M_free_sabaku_ncl.bin | | 7: Volcanoes 1 (inside) | d_2d_W_M_free_yougan_ncl.bin | | 8: Grassland (Peach Castle) | d_2d_I_M_free_nohara_W1_1_ncl.bin | | 9: Beach (cliffs) | d_2d_W_M_free_kaigan_ncl.bin | | 10: Beach (cliffs) | d_2d_W_M_free_kaigan_ncl.bin | | 11: Forest | d_2d_W_M_free_jungle_ncl.bin | | 12: Grassland (blue/white hills and clouds) | d_2d_I_M_free_nohara2_ncl.bin | | 13: Bushes on mountain [Unused] | d_2d_I_M_free_kinoko_ncl.bin | | 14: Bushes on mountain [Unused] | d_2d_I_M_free_kinoko_ncl.bin | | 15: Volcanoes 2 (outside) [including raining debris] | d_2d_W_M_free_kazan_ncl.bin | | 16: Volcanoes 3 (outside) [Unused] | d_2d_W_M_free_kazangake_ncl.bin | | 17: Snowy trees | d_2d_I_M_free_setsugen_ncl.bin | | 18: Snowy hills | d_2d_I_M_free_setsugen2_ncl.bin | | 19: Bushes (W4-Cannon) | d_2d_I_M_free_dokan_W4_ncl.bin | | 20: Desert sand | d_2d_I_M_free_sabaku5_ncl.bin | | 21: Empty | None | | 22: Volcanoes 3 (outside) [Unused] | d_2d_W_M_free_kazangake_ncl.bin | | 23: Ghost house | d_2d_S_M_free_obakeyasiki_ncl.bin | | 24: Mountains with clouds | d_2d_W_M_free_kazangake2_ncl.bin | | 25: Mountains with clouds | d_2d_W_M_free_kazangake2_ncl.bin | | 26: Snowy trees (darker, W5-Cannon) | d_2d_I_M_free_dokan_W5_ncl.bin | | 27: Grassland (hills and clouds) | d_2d_I_M_free_nohara_ncl.bin | | 28: Snowy trees | d_2d_I_M_free_setsugen_ncl.bin | | 29: Pipes | d_2d_W_M_free_dokansoto_ncl.bin | | 30: Sewer wall (W2-3) | d_2d_W_M_free_dokannaka_ncl.bin | | 31: Volcano tower | d_2d_W_M_free_yougantate_ncl.bin | | 32: Empty | None | | 33: Low clouds | d_2d_I_M_free_kinoko3_ncl.bin | | 34: Grassland (hills and clouds, W1-Cannon) | d_2d_I_M_free_dokan_W1_ncl.bin | | 35: Empty | None | | 36: Stalagmites (glitchy) [Unused] | d_2d_I_M_free_chika2_ncl.bin | | 37: Dark world 1 (dead trees, purple clouds) | d_2d_I_M_free_koopa_heigen_ncl.bin | | 38: Dark world 2 (rocks, purple clouds) | d_2d_I_M_free_koopa_iwa_ncl.bin | | 39: Tower | d_2d_I_M_free_toride_ncl.bin | | 40: Ghost house exit | d_2d_S_M_free_obake_soto_ncl.bin | | 41: Final Castle | d_2d_I_M_free_koopa_shiro_ncl.bin | | 42: Toad house 1 | d_2d_W_M_free_kinokoA_ncl.bin | | 43: Toad house 2 | d_2d_W_M_free_kinokoB_ncl.bin | | 44: Toad house 3 | d_2d_W_M_free_kinokoC_ncl.bin | | 45: Final Castle | d_2d_I_M_free_koopa_shiro_ncl.bin | | 46: Toad house 4 | d_2d_W_M_free_kinokoD_ncl.bin | | 47: Bowser Jr battle | d_2d_I_M_free_toride_boss_ncl.bin | | 48: Beach (cliffs, tall) | d_2d_W_M_free_kaigan_ncl.bin | | 49: Boss battle | d_2d_I_M_free_yakata_boss_ncl.bin | | 50: Low clouds | d_2d_I_M_free_kinoko3_ncl.bin | | 51: Foggy forest | d_2d_W_M_free_jungle2_ncl.bin | | 52: Desert (pyramids) | d_2d_I_M_free_sabaku2_ncl.bin | | 53: Desert (with underground bit) | d_2d_I_M_free_sabaku3_ncl.bin | | 54: Foggy forest | d_2d_W_M_free_jungle2_ncl.bin | | 55: Final boss battle | d_2d_I_M_free_koopa_boss_ncl.bin | | 56: Volcanoes 2 (outside) | d_2d_W_M_free_kazan_ncl.bin | | 57: Underwater cave | d_2d_W_M_free_suichu2_ncl.bin | | 58: Light grey castle (W8 Castle 1) | d_2d_I_M_free_yakata_nise_ncl.bin | | 59: Yellow clouds (Desert) | d_2d_I_M_free_kumo2_ncl.bin | | 60: Beach (world 6 style, with bushes) | d_2d_W_M_free_kaigan2_ncl.bin | | 61: Medium clouds | d_2d_I_M_free_yakata_bossW7_ncl.bin | | 62: Stone wall | d_2d_W_M_free_choropu_ncl.bin | | 63: Mummy-Pokey battle | d_2d_I_M_free_sabaku_boss_ncl.bin | | 64: Desert (pyramids) | d_2d_I_M_free_sabaku_ncl.bin | | 65: Desert (pyramids) | d_2d_I_M_free_sabaku_ncl.bin | | 66: Desert (pyramids, higher) | d_2d_I_M_free_sabaku4_ncl.bin | | 67: Empty | None | | 68: Empty | None | | 69: Empty | None | | 70: Empty | None | | 71: Empty | None | | 72: Empty | None | | 73: Empty | None | | 74: Empty | None | | 75: Grassland (hills and clouds) | d_2d_I_M_free_nohara_VS_ncl.bin | #### Bottom Backgrounds | Slot | Palette | |-------------------------------------------------------|---------------------------------------| | 0: Grassland (orange hills and clouds) | d_2d_I_M_back_nohara_ncl.bin | | 1: Castle | d_2d_I_M_back_yakata_ncl.bin | | 2: Desert (blue sky, pyramids, W2-Cannon) | d_2d_I_M_back_dokan_W2_ncl.bin | | 3: Underground | d_2d_I_M_back_cika_ncl.bin | | 4: Clouds | d_2d_I_M_back_kumo_ncl.bin | | 5: Underwater | d_2d_W_M_back_suichu_ncl.bin | | 6: Desert (yellow sky, pyramids) | d_2d_I_M_back_sabaku_ncl.bin | | 7: Volcanoes 1 (inside) | d_2d_W_M_back_yougan_ncl.bin | | 8: Grassland (pastel hills and clouds) | d_2d_I_M_back_nohara_W1_1_ncl.bin | | 9: Background clouds | d_2d_W_M_back_kaigan_ncl.bin | | 10: Background mountains | d_2d_W_M_back_kazangake2_ncl.bin | | 11: Forest | d_2d_W_M_back_jungle_ncl.bin | | 12: Grassland (blue/white hills and clouds) | d_2d_I_M_back_nohara2_ncl.bin | | 13: Background clouds 2 [Unused] | d_2d_I_M_back_kinoko_ncl.bin | | 14: Background clouds 2 [Unused] | d_2d_I_M_back_kinoko_ncl.bin | | 15: Volcanoes 2 (outside) [including raining debris] | d_2d_W_M_back_kazan_ncl.bin | | 16: Volcanoes 3 (outside) [Unused] | d_2d_W_M_back_kazangake_ncl.bin | | 17: Snowy trees | d_2d_I_M_back_setsugen_ncl.bin | | 18: Snowy hills | d_2d_I_M_back_setsugen2_ncl.bin | | 19: Background clouds (W4-Cannon) | d_2d_I_M_back_dokan_W4_ncl.bin | | 20: Desert (blue sky, pyramids, higher) | d_2d_I_M_back_sabaku5_ncl.bin | | 21: Bonus room (NES Mario and Luigi 1) | d_2d_I_M_back_mame_ncl.bin | | 22: Volcanoes 3 (outside) [Unused] | d_2d_W_M_back_kazangake_ncl.bin | | 23: Ghost house | d_2d_S_M_back_obakeyasiki_ncl.bin | | 24: Background mountains | d_2d_W_M_back_kazangake2_ncl.bin | | 25: Background mountains | d_2d_W_M_back_kazangake2_ncl.bin | | 26: Purple sky (W5-Cannon) | d_2d_I_M_back_dokan_W5_ncl.bin | | 27: Grassland (orange hills and clouds) | d_2d_I_M_back_nohara_ncl.bin | | 28: Snowy hills | d_2d_I_M_back_setsugen2_ncl.bin | | 29: Pipes | d_2d_W_M_back_dokansoto_ncl.bin | | 30: Empty | d_2d_W_M_back_dokannaka_ncl.bin | | 31: Volcano tower | d_2d_W_M_back_yougantate_ncl.bin | | 32: Castle 2 | d_2d_I_M_back_toride_ncl.bin | | 33: Clouds with orange hills at back | d_2d_I_M_back_kinoko3_ncl.bin | | 34: Snowy hills (W1-Cannon) | d_2d_I_M_back_dokan_W1_ncl.bin | | 35: Cave | d_2d_I_M_back_chika3_ncl.bin | | 36: Stalagmites (glitchy) [Unused] | d_2d_I_M_back_chika2_ncl.bin | | 37: Dark world 1 (dead trees, purple clouds) | d_2d_I_M_back_koopa_heigen_ncl.bin | | 38: Dark world 2 (rocks, purple clouds) | d_2d_I_M_back_koopa_iwa_ncl.bin | | 39: Tower | d_2d_I_M_back_toride_ncl.bin | | 40: Ghost house exit | d_2d_S_M_back_obake_soto_ncl.bin | | 41: Final Castle (Normal Jyotyu) | d_2d_I_M_back_koopa_shiro_ncl.bin | | 42: Toad house 1 | d_2d_W_M_back_kinokoA_ncl.bin | | 43: Toad house 2 | d_2d_W_M_back_kinokoB_ncl.bin | | 44: Toad house 3 | d_2d_W_M_back_kinokoC_ncl.bin | | 45: Final Castle (Blue Jyotyu) | d_2d_I_M_back_koopa_shiro_ncl.bin | | 46: Toad house 4 | d_2d_W_M_back_kinokoD_ncl.bin | | 47: Bowser Jr battle | d_2d_I_M_back_toride_boss_ncl.bin | | 48: Background clouds (tall) | d_2d_W_M_back_kaigan_ncl.bin | | 49: Boss battle | d_2d_I_M_back_yakata_boss_ncl.bin | | 50: Background clouds | d_2d_W_M_back_kaigan_ncl.bin | | 51: Background clouds | d_2d_W_M_back_kaigan_ncl.bin | | 52: Desert (blue sky, pyramids) | d_2d_I_M_back_sabaku2_ncl.bin | | 53: Desert (yellow sky, higher) | d_2d_I_M_back_sabaku3_ncl.bin | | 54: Background mountains | d_2d_W_M_back_kazangake3_ncl.bin | | 55: Final boss battle | d_2d_I_M_back_koopa_boss_ncl.bin | | 56: Volcanoes 2 | d_2d_W_M_back_kazan_ncl.bin | | 57: Underwater cave | d_2d_W_M_back_suichu_ncl.bin | | 58: Light grey castle (W8 Castle 1) | d_2d_I_M_back_yakata_nise_ncl.bin | | 59: Yellow clouds (Desert) | d_2d_I_M_back_kumo2_ncl.bin | | 60: Big mountains (higher, world 6 beach) | d_2d_W_M_back_kaigan2_ncl.bin | | 61: Background clouds | d_2d_I_M_back_yakata_bossW7_ncl.bin | | 62: Background mountains | d_2d_W_M_back_kazangake2_ncl.bin | | 63: Mummy-Pokey battle | d_2d_I_M_back_sabaku_boss_ncl.bin | | 64: Desert (yellow sky, pyramids) | d_2d_I_M_back_sabaku_ncl.bin | | 65: Desert (yellow sky, pyramids) | d_2d_I_M_back_sabaku_ncl.bin | | 66: Desert (blue sky, pyramids, higher) | d_2d_I_M_back_sabaku4_ncl.bin | | 67: Bonus room (NES Lakitu) [Unused] | d_2d_I_M_back_mame_ncl.bin | | 68: Bonus room (NES Mario + Bowser) [Unused] | d_2d_I_M_back_mame_ncl.bin | | 69: Bonus room (NES M/L swimming) [Unused] | d_2d_I_M_back_mame_ncl.bin | | 70: Bonus room (NES Mario and Luigi 2) | d_2d_I_M_back_mame_ncl.bin | | 71: Bonus room (NES Mario on vine) [Unused] | d_2d_I_M_back_mame_ncl.bin | | 72: Bonus room (NES Mario and Luigi 3) [Unused] | d_2d_I_M_back_mame_ncl.bin | | 73: Underground cave (red) | d_2d_I_M_back_chika4_ncl.bin | | 74: Bonus room | d_2d_I_M_back_mame_bonus_ncl.bin | | 75: Grassland (orange hills and clouds) | d_2d_I_M_back_nohara_VS_ncl.bin | ### Palette Animation Tables Stored in BG_ncl/ folder. Do note that while the background slots load the palettes, the tileset slot determines if the animations play. #### Top Backgrounds | Slot | Palette | |-------------------------------------------|---------------------------------------| | 7: Volcanoes 1 (inside) | d_2d_Bg3_TEN_W_yougan_ncl.bin | | 31: Volcano tower | d_2d_Bg3_TEN_W_yougantate_ncl.bin | #### Bottom Backgrounds | Slot | Palette | |----------------------------------------|---------------------------------------| | 7: Volcanoes 1 (inside) | d_2d_Bg1_TEN_W_yougan_ncl.bin | | 31: Volcano tower | d_2d_Bg1_TEN_W_yougantate_ncl.bin | ### Tilemap Tables Stored in BG_nsc/ folder. #### Top Backgrounds | Slot | Tilemap | |-------------------------------------------------------|---------------------------------------| | 0: Grassland (hills and clouds) | d_2d_I_M_free_nohara_UR_nsc.bin | | 1: Castle | d_2d_I_M_free_yakata_UR_nsc.bin | | 2: Desert (pyramids, W2-Cannon) | d_2d_I_M_free_dokan_W2_UR_nsc.bin | | 3: Underground | d_2d_I_M_free_chika_R_nsc.bin | | 4: Clouds | d_2d_I_M_free_kumo_R_nsc.bin | | 5: Underwater | d_2d_W_M_free_suichu_mizu_UR_nsc.bin | | 6: Desert (pyramids) | d_2d_I_M_free_sabaku_UR_nsc.bin | | 7: Volcanoes 1 (inside) | d_2d_W_M_free_yougan_nsc.bin | | 8: Grassland (Peach Castle) | d_2d_I_M_free_nohara_W1_1_nsc.bin | | 9: Beach (cliffs) | d_2d_W_M_free_kaigan_UR_nsc.bin | | 10: Beach (cliffs) | d_2d_W_M_free_kaigan_UR_nsc.bin | | 11: Forest | d_2d_W_M_free_jungle_nsc.bin | | 12: Grassland (blue/white hills and clouds) | d_2d_I_M_free_nohara2_UR_nsc.bin | | 13: Bushes on mountain [Unused] | d_2d_I_M_free_kinoko_nsc.bin | | 14: Bushes on mountain [Unused] | d_2d_I_M_free_kinoko_nsc.bin | | 15: Volcanoes 2 (outside) [including raining debris] | d_2d_W_M_free_kazan_nsc.bin | | 16: Volcanoes 3 (outside) [Unused] | d_2d_W_M_free_kazangake_nsc.bin | | 17: Snowy trees | d_2d_I_M_free_setsugen_UR_nsc.bin | | 18: Snowy hills | d_2d_I_M_free_setsugen2_UR_nsc.bin | | 19: Bushes (W4-Cannon) | d_2d_I_M_free_dokan_W4_UR_nsc.bin | | 20: Desert sand | d_2d_I_M_free_sabaku5_nsc.bin | | 21: Empty | None | | 22: Volcanoes 3 (outside) [Unused] | d_2d_W_M_free_kazangake_01_nsc.bin | | 23: Ghost house | d_2d_S_M_free_obakeyasiki_UR_nsc.bin | | 24: Mountains with clouds | d_2d_W_M_free_kazangake2_UR_nsc.bin | | 25: Mountains with clouds | d_2d_W_M_free_kazangake2_UR_nsc.bin | | 26: Snowy trees (darker, W5-Cannon) | d_2d_I_M_free_dokan_W5_UR_nsc.bin | | 27: Grassland (hills and clouds) | d_2d_I_M_free_nohara_UR_nsc.bin | | 28: Snowy trees | d_2d_I_M_free_setsugen_UR_nsc.bin | | 29: Pipes | d_2d_W_M_free_dokansoto_R_nsc.bin | | 30: Sewer wall (W2-3) | d_2d_W_M_free_dokannaka_R_nsc.bin | | 31: Volcano tower | d_2d_W_M_free_yougantate_R_nsc.bin | | 32: Empty | None | | 33: Low clouds | d_2d_I_M_free_kinoko3_UR_nsc.bin | | 34: Grassland (hills and clouds, W1-Cannon) | d_2d_I_M_free_dokan_W1_UR_nsc.bin | | 35: Empty | None | | 36: Stalagmites (glitchy) [Unused] | d_2d_I_M_free_chika2_nsc.bin | | 37: Dark world 1 (dead trees, purple clouds) | d_2d_I_M_free_koopa_heigen_UR_nsc.bin | | 38: Dark world 2 (rocks, purple clouds) | d_2d_I_M_free_koopa_iwa_UR_nsc.bin | | 39: Tower | d_2d_I_M_free_toride_UR_nsc.bin | | 40: Ghost house exit | d_2d_S_M_free_obake_soto_UR_nsc.bin | | 41: Final Castle | d_2d_I_M_free_koopa_shiro_UR_nsc.bin | | 42: Toad house 1 | d_2d_W_M_free_kinokoA_nsc.bin | | 43: Toad house 2 | d_2d_W_M_free_kinokoB_nsc.bin | | 44: Toad house 3 | d_2d_W_M_free_kinokoC_nsc.bin | | 45: Final Castle | d_2d_I_M_free_koopa_shiro_UR_nsc.bin | | 46: Toad house 4 | d_2d_W_M_free_kinokoD_nsc.bin | | 47: Bowser Jr battle | d_2d_I_M_free_toride_boss_nsc.bin | | 48: Beach (cliffs, tall) | d_2d_W_M_free_kaigan_SR_nsc.bin | | 49: Boss battle | d_2d_I_M_free_yakata_boss_nsc.bin | | 50: Low clouds | d_2d_I_M_free_kinoko3_UR_nsc.bin | | 51: Foggy forest | d_2d_W_M_free_jungle2_nsc.bin | | 52: Desert (pyramids) | d_2d_I_M_free_sabaku2_UR_nsc.bin | | 53: Desert (with underground bit) | d_2d_I_M_free_sabaku3_SR_nsc.bin | | 54: Foggy forest | d_2d_W_M_free_jungle2_nsc.bin | | 55: Final boss battle | d_2d_I_M_free_koopa_boss_nsc.bin | | 56: Volcanoes 2 (outside) | d_2d_W_M_free_kazan_nsc.bin | | 57: Underwater cave | d_2d_W_M_free_suichu2_mizu_UR_nsc.bin | | 58: Light grey castle (W8 Castle 1) | d_2d_I_M_free_yakata_nise_UR_nsc.bin | | 59: Yellow clouds (Desert) | d_2d_I_M_free_kumo2_R_nsc.bin | | 60: Beach (world 6 style, with bushes) | d_2d_W_M_free_kaigan2_UR_nsc.bin | | 61: Medium clouds | d_2d_I_M_free_yakata_bossW7_nsc.bin | | 62: Stone wall | d_2d_W_M_free_choropu_nsc.bin | | 63: Mummy-Pokey battle | d_2d_I_M_free_sabaku_boss_UR_nsc.bin | | 64: Desert (pyramids) | d_2d_I_M_free_sabaku_UR_nsc.bin | | 65: Desert (pyramids) | d_2d_I_M_free_sabaku_UR_nsc.bin | | 66: Desert (pyramids, higher) | d_2d_I_M_free_sabaku4_nsc.bin | | 67: Empty | None | | 68: Empty | None | | 69: Empty | None | | 70: Empty | None | | 71: Empty | None | | 72: Empty | None | | 73: Empty | None | | 74: Empty | None | | 75: Grassland (hills and clouds) | d_2d_I_M_free_nohara_VS_UR_nsc.bin | #### Bottom Backgrounds | Slot | Tilemap | |-------------------------------------------------------|---------------------------------------| | 0: Grassland (orange hills and clouds) | d_2d_I_M_back_nohara_UR_nsc.bin | | 1: Castle | d_2d_I_M_back_yakata_UR_nsc.bin | | 2: Desert (blue sky, pyramids, W2-Cannon) | d_2d_I_M_back_dokan_W2_UR_nsc.bin | | 3: Underground | d_2d_I_M_back_chika_R_nsc.bin | | 4: Clouds | d_2d_I_M_back_kumo_R_nsc.bin | | 5: Underwater | d_2d_W_M_back_suichu_UR_nsc.bin | | 6: Desert (yellow sky, pyramids) | d_2d_I_M_back_sabaku_UR_nsc.bin | | 7: Volcanoes 1 (inside) | d_2d_W_M_back_yougan_nsc.bin | | 8: Grassland (pastel hills and clouds) | d_2d_I_M_back_nohara_W1_1_nsc.bin | | 9: Background clouds | d_2d_W_M_back_kaigan_UR_nsc.bin | | 10: Background mountains | d_2d_W_M_back_kazangake2_UR_nsc.bin | | 11: Forest | d_2d_W_M_back_jungle_nsc.bin | | 12: Grassland (blue/white hills and clouds) | d_2d_I_M_back_nohara2_UR_nsc.bin | | 13: Background clouds 2 [Unused] | d_2d_I_M_back_kinoko_nsc.bin | | 14: Background clouds 2 [Unused] | d_2d_I_M_back_kinoko_nsc.bin | | 15: Volcanoes 2 (outside) [including raining debris] | d_2d_W_M_back_kazan_nsc.bin | | 16: Volcanoes 3 (outside) [Unused] | d_2d_W_M_back_kazangake_nsc.bin | | 17: Snowy trees | d_2d_I_M_back_setsugen_UR_nsc.bin | | 18: Snowy hills | d_2d_I_M_back_setsugen2_UR_nsc.bin | | 19: Background clouds (W4-Cannon) | d_2d_I_M_back_dokan_W4_UR_nsc.bin | | 20: Desert (blue sky, pyramids, higher) | d_2d_I_M_back_sabaku5_nsc.bin | | 21: Bonus room (NES Mario and Luigi 1) | d_2d_I_M_back_mame_nsc.bin | | 22: Volcanoes 3 (outside) [Unused] | d_2d_W_M_back_kazangake_nsc.bin | | 23: Ghost house | d_2d_S_M_back_obakeyasiki_UR_nsc.bin | | 24: Background mountains | d_2d_W_M_back_kazangake2_UR_nsc.bin | | 25: Background mountains | d_2d_W_M_back_kazangake2_UR_nsc.bin | | 26: Purple sky (W5-Cannon) | d_2d_I_M_back_dokan_W5_UR_nsc.bin | | 27: Grassland (orange hills and clouds) | d_2d_I_M_back_nohara_UR_nsc.bin | | 28: Snowy hills | d_2d_I_M_back_setsugen2_UR_nsc.bin | | 29: Pipes | d_2d_W_M_back_dokansoto_R_nsc.bin | | 30: Empty | None | | 31: Volcano tower | d_2d_W_M_back_yougantate_R_nsc.bin | | 32: Castle 2 | d_2d_I_M_back_toride_UR_nsc.bin | | 33: Clouds with orange hills at back | d_2d_I_M_back_kinoko3_UR_nsc.bin | | 34: Snowy hills (W1-Cannon) | d_2d_I_M_back_dokan_W1_UR_nsc.bin | | 35: Cave | d_2d_I_M_back_chika3_R_nsc.bin | | 36: Stalagmites (glitchy) [Unused] | d_2d_I_M_back_chika2_R_nsc.bin | | 37: Dark world 1 (dead trees, purple clouds) | d_2d_I_M_back_koopa_heigen_UR_nsc.bin | | 38: Dark world 2 (rocks, purple clouds) | d_2d_I_M_back_koopa_iwa_UR_nsc.bin | | 39: Tower | d_2d_I_M_back_toride_UR_nsc.bin | | 40: Ghost house exit | d_2d_S_M_back_obake_soto_UR_nsc.bin | | 41: Final Castle (Normal Jyotyu) | d_2d_I_M_back_koopa_shiro_UR_nsc.bin | | 42: Toad house 1 | d_2d_W_M_back_kinokoA_nsc.bin | | 43: Toad house 2 | d_2d_W_M_back_kinokoB_nsc.bin | | 44: Toad house 3 | d_2d_W_M_back_kinokoC_nsc.bin | | 45: Final Castle (Blue Jyotyu) | d_2d_I_M_back_koopa_shiro_UR_nsc.bin | | 46: Toad house 4 | d_2d_W_M_back_kinokoD_nsc.bin | | 47: Bowser Jr battle | d_2d_I_M_back_toride_boss_nsc.bin | | 48: Background clouds (tall) | d_2d_W_M_back_kaigan_SR_nsc.bin | | 49: Boss battle | d_2d_I_M_back_yakata_boss_nsc.bin | | 50: Background clouds | d_2d_W_M_back_kaigan_UR_nsc.bin | | 51: Background clouds | d_2d_W_M_back_kaigan_UR_nsc.bin | | 52: Desert (blue sky, pyramids) | d_2d_I_M_back_sabaku2_UR_nsc.bin | | 53: Desert (yellow sky, higher) | d_2d_I_M_back_sabaku3_SR_nsc.bin | | 54: Background mountains | d_2d_W_M_back_kazangake3_UR_nsc.bin | | 55: Final boss battle | d_2d_I_M_back_koopa_boss_nsc.bin | | 56: Volcanoes 2 | d_2d_W_M_back_kazan_nsc.bin | | 57: Underwater cave | d_2d_W_M_back_suichu_UR_nsc.bin | | 58: Light grey castle (W8 Castle 1) | d_2d_I_M_back_yakata_nise_UR_nsc.bin | | 59: Yellow clouds (Desert) | d_2d_I_M_back_kumo2_R_nsc.bin | | 60: Big mountains (higher, world 6 beach) | d_2d_W_M_back_kaigan2_UR_nsc.bin | | 61: Background clouds | d_2d_I_M_back_yakata_bossW7_nsc.bin | | 62: Background mountains | d_2d_W_M_back_kazangake2_UR_nsc.bin | | 63: Mummy-Pokey battle | d_2d_I_M_back_sabaku_boss_UR_nsc.bin | | 64: Desert (yellow sky, pyramids) | d_2d_I_M_back_sabaku_UR_nsc.bin | | 65: Desert (yellow sky, pyramids) | d_2d_I_M_back_sabaku_UR_nsc.bin | | 66: Desert (blue sky, pyramids, higher) | d_2d_I_M_back_sabaku4_nsc.bin | | 67: Bonus room (NES Lakitu) [Unused] | d_2d_I_M_back2_mame_nsc.bin | | 68: Bonus room (NES Mario + Bowser) [Unused] | d_2d_I_M_back3_mame_nsc.bin | | 69: Bonus room (NES M/L swimming) [Unused] | d_2d_I_M_back4_mame_nsc.bin | | 70: Bonus room (NES Mario and Luigi 2) | d_2d_I_M_back5_mame_nsc.bin | | 71: Bonus room (NES Mario on vine) [Unused] | d_2d_I_M_back6_mame_nsc.bin | | 72: Bonus room (NES Mario and Luigi 3) [Unused] | d_2d_I_M_back7_mame_nsc.bin | | 73: Underground cave (red) | d_2d_I_M_back_chika4_R_nsc.bin | | 74: Bonus room | d_2d_I_M_back_mame_bonus_nsc.bin | | 75: Grassland (orange hills and clouds) | d_2d_I_M_back_nohara_VS_UR_nsc.bin | ### Parallax Type Tables #### Top Backgrounds | Slot | Type | |-|-| | 0: Grassland (hills and clouds) | 3 | | 1: Castle | None | | 2: Desert (pyramids, W2-Cannon) | None | | 3: Underground | None | | 4: Clouds | 7 | | 5: Underwater | 2 | | 6: Desert (pyramids) | None | | 7: Volcanoes 1 (inside) | None | | 8: Grassland (Peach Castle) | None | | 9: Beach (cliffs) | 8 | | 10: Beach (cliffs) | 8 | | 11: Forest | None | | 12: Grassland (blue/white hills and clouds) | 15 | | 13: Bushes on mountain [Unused] | None | | 14: Bushes on mountain [Unused] | None | | 15: Volcanoes 2 (outside) [including raining debris] | 6 | | 16: Volcanoes 3 (outside) [Unused] | None | | 17: Snowy trees | None | | 18: Snowy hills | None | | 19: Bushes (W4-Cannon) | None | | 20: Desert sand | None | | 21: Empty | None | | 22: Volcanoes 3 (outside) [Unused] | None | | 23: Ghost house | None | | 24: Mountains with clouds | 9 | | 25: Mountains with clouds | 9 | | 26: Snowy trees (darker, W5-Cannon) | None | | 27: Grassland (hills and clouds) | None | | 28: Snowy trees | None | | 29: Pipes | None | | 30: Sewer wall (W2-3) | None | | 31: Volcano tower | None | | 32: Empty | None | | 33: Low clouds | 5 | | 34: Grassland (hills and clouds, W1-Cannon) | None | | 35: Empty | None | | 36: Stalagmites (glitchy) [Unused] | None | | 37: Dark world 1 (dead trees, purple clouds) | 11 | | 38: Dark world 2 (rocks, purple clouds) | 17 | | 39: Tower | None | | 40: Ghost house exit | 12 | | 41: Final Castle | None | | 42: Toad house 1 | None | | 43: Toad house 2 | None | | 44: Toad house 3 | None | | 45: Final Castle | None | | 46: Toad house 4 | None | | 47: Bowser Jr battle | None | | 48: Beach (cliffs, tall) | 14 | | 49: Boss battle | None | | 50: Low clouds | 5 | | 51: Foggy forest | None | | 52: Desert (pyramids) | None | | 53: Desert (with underground bit) | None | | 54: Foggy forest | None | | 55: Final boss battle | None | | 56: Volcanoes 2 (outside) | 6 | | 57: Underwater cave | None | | 58: Light grey castle (W8 Castle 1) | None | | 59: Yellow clouds (Desert) | None | | 60: Beach (world 6 style, with bushes) | None | | 61: Medium clouds | 18 | | 62: Stone wall | None | | 63: Mummy-Pokey battle | None | | 64: Desert (pyramids) | None | | 65: Desert (pyramids) | None | | 66: Desert (pyramids, higher) | None | | 67: Empty | None | | 68: Empty | None | | 69: Empty | None | | 70: Empty | None | | 71: Empty | None | | 72: Empty | None | | 73: Empty | None | | 74: Empty | None | | 75: Grassland (hills and clouds) | None | #### Bottom Backgrounds | Slot | Type | |-|-| | 0: Grassland (orange hills and clouds) | 3 | | 1: Castle | None | | 2: Desert (blue sky, pyramids, W2-Cannon) | None | | 3: Underground | None | | 4: Clouds | 7 | | 5: Underwater | 2 | | 6: Desert (yellow sky, pyramids) | None | | 7: Volcanoes 1 (inside) | None | | 8: Grassland (pastel hills and clouds) | 19 | | 9: Background clouds | None | | 10: Background mountains | None | | 11: Forest | None | | 12: Grassland (blue/white hills and clouds) | 15 | | 13: Background clouds 2 [Unused] | 4 | | 14: Background clouds 2 [Unused] | None | | 15: Volcanoes 2 (outside) [including raining debris] | 6 | | 16: Volcanoes 3 (outside) [Unused] | 1 | | 17: Snowy trees | 10 | | 18: Snowy hills | 16 | | 19: Background clouds (W4-Cannon) | None | | 20: Desert (blue sky, pyramids, higher) | None | | 21: Bonus room (NES Mario and Luigi 1) | 20 | | 22: Volcanoes 3 (outside) [Unused] | None | | 23: Ghost house | None | | 24: Background mountains | 9 | | 25: Background mountains | 9 | | 26: Purple sky (W5-Cannon) | 11 | | 27: Grassland (orange hills and clouds) | None | | 28: Snowy hills | 16 | | 29: Pipes | None | | 30: Empty | None | | 31: Volcano tower | None | | 32: Castle 2 | None | | 33: Clouds with orange hills at back | None | | 34: Snowy hills (W1-Cannon) | 21 | | 35: Cave | None | | 36: Stalagmites (glitchy) [Unused] | None | | 37: Dark world 1 (dead trees, purple clouds) | 11 | | 38: Dark world 2 (rocks, purple clouds) | 17 | | 39: Tower | None | | 40: Ghost house exit | 12 | | 41: Final Castle (Normal Jyotyu) | None | | 42: Toad house 1 | 13 | | 43: Toad house 2 | 13 | | 44: Toad house 3 | 13 | | 45: Final Castle (Blue Jyotyu) | None | | 46: Toad house 4 | 13 | | 47: Bowser Jr battle | None | | 48: Background clouds (tall) | None | | 49: Boss battle | None | | 50: Background clouds | None | | 51: Background clouds | None | | 52: Desert (blue sky, pyramids) | None | | 53: Desert (yellow sky, higher) | None | | 54: Background mountains | None | | 55: Final boss battle | None | | 56: Volcanoes 2 | 6 | | 57: Underwater cave | None | | 58: Light grey castle (W8 Castle 1) | None | | 59: Yellow clouds (Desert) | None | | 60: Big mountains (higher, world 6 beach) | None | | 61: Background clouds | None | | 62: Background mountains | None | | 63: Mummy-Pokey battle | None | | 64: Desert (yellow sky, pyramids) | None | | 65: Desert (yellow sky, pyramids) | None | | 66: Desert (blue sky, pyramids, higher) | None | | 67: Bonus room (NES Lakitu) [Unused] | 20 | | 68: Bonus room (NES Mario + Bowser) [Unused] | 20 | | 69: Bonus room (NES M/L swimming) [Unused] | 20 | | 70: Bonus room (NES Mario and Luigi 2) | 20 | | 71: Bonus room (NES Mario on vine) [Unused] | 20 | | 72: Bonus room (NES Mario and Luigi 3) [Unused] | 20 | | 73: Underground cave (red) | None | | 74: Bonus room | None | | 75: Grassland (orange hills and clouds) | None | ### Parallax Data Tables

TODO: Can we get more detailed information on how type 2 works specifically? Additionally, add source.

Vertical range is relative to the top of the background. Speed is relative to the [background scroll speed](https://bookstack.nsmbcentral.net/books/new-super-mario-bros/page/background-scrolling-data-info#bkmrk-data) the level is set to use, being either automatic scrolling in addition to the background speed (measured by pixels per frame — denoted "ppf") or as a percentage of the background scroll speed. Several types also do not have any parallax data and are not used in any capacity. #### Top Backgrounds ##### Type 1 No parallax data ##### Type 2 This type doesn't have any meaningful parallax data, but it is special in that it causes the background to wave when liquid is nearby. ##### Type 3 | Vertical Range | Speed | | -------------- | ------------- | | 0-344px | 0.25ppf left | ##### Type 4 No parallax data ##### Type 5 | Vertical Range | Speed | | -------------- | --------------- | | 0-440px | 0.125ppf left | | 440-512px | 0.3125ppf left | ##### Type 6 | Vertical Range | Speed | | -------------- | --------------- | | 0-304px | 0.375ppf left | | 304-320px | 0.3125ppf left | ##### Type 7 | Vertical Range | Speed | | --------------- | --------------- | |Entire background| 0.25ppf left | ##### Type 8 | Vertical Range | Speed | | --------------- | --------------- | | 0-312px | 0.25ppf left | | 312-344px | 0.125ppf left | ##### Type 9 | Vertical Range | Speed | | --------------- | --------------- | | 0-328px | 0.25ppf left | ##### Type 11 | Vertical Range | Speed | | -------------- | --------------- | | 0-255px | 0.25ppf left | | 255-335px | 0.1875ppf left | ##### Type 12 | Vertical Range | Speed | | -------------- | --------------- | | 0-319px | 0.25ppf left | ##### Type 13 No parallax data ##### Type 14 | Vertical Range | Speed | | -------------- | --------------- | | 0-39px | 0.25px left | | 39-55px | 0.125px left | ##### Type 15 | Vertical Range | Speed | | -------------- | --------------- | | 0-247px | 0.375ppf left | | 247-311px | 0.5ppf left | ##### Type 16 No parallax data ##### Type 17 | Vertical Range | Speed | | -------------- | --------------- | | 0-327px | 0.25ppf left | ##### Type 18 | Vertical Range | Speed | | -------------- | --------------- | | 0-359px | 0.25ppf left | | 359-512px | 0.4375ppf left | ##### Type 19 No parallax data ##### Type 20 No parallax data ##### Type 21 No parallax data #### Bottom Backgrounds ##### Type 1 | Vertical Range | Speed | | -------------- | ------------- | | 384-512px | 162.5% | ##### Type 2 This type doesn't have any meaningful parallax data, but it is special in that it causes the background to wave when liquid is nearby. ##### Type 3 | Vertical Range | Speed | | -------------- | ------------- | | 0-344px | 0.125ppf left | ##### Type 4 | Vertical Range | Speed | | -------------- | ------------- | | 0-384px | 0.125ppf left | ##### Type 5 No parallax data ##### Type 6 | Vertical Range | Speed | | -------------- | -------------- | | 0-335px | 0.25ppf left | | 335-351px | 0.1875ppf left | | 351-367px | 0.125ppf left | | 367-375px | 0.0625ppf left | ##### Type 7 | Vertical Range | Speed | | --------------- | --------------- | |Entire background| 0.125ppf left | ##### Type 8 No parallax data ##### Type 9 | Vertical Range | Speed | | -------------- | -------------- | | 0-360px | 0.125ppf left | ##### Type 10 | Vertical Range | Speed | | -------------- | -------------- | | 0-231px | 0.25ppf left | | 231-263px | 0.1875ppf left | | 263-335px | 0.125ppf left | | 335-351px | 0.0625ppf left | ##### Type 11 | Vertical Range | Speed | | -------------- | -------------- | | 0-327px | 0.125ppf left | | 327-399px | 0.0625ppf left | ##### Type 12 | Vertical Range | Speed | | -------------- | -------------- | | 0-327px | 0.25ppf left | | 327-359px | 0.125ppf left | ##### Type 13 | Vertical Range | Speed | | -------------- | -------------- | | 0-383px | 0.25ppf left | | 383-391px | 0.1875ppf left | | 391-399px | 0.125ppf left | | 399-407px | 0.0625ppf left | ##### Type 14 No parallax data ##### Type 15 | Vertical Range | Speed | | -------------- | -------------- | | 0-279px | 0.0625ppf left | | 279-335px | 0.125ppf left | | 335-364px | 0.25ppf left | ##### Type 16 | Vertical Range | Speed | | -------------- | -------------- | | 0-135px | 0.0625ppf left | | 135-247px | 0.125ppf left | | 247-319px | 0.1875ppf left | | 319-343px | 0.3125ppf left | ##### Type 17 | Vertical Range | Speed | | -------------- | -------------- | | 0-351px | 0.125ppf left | | 351-391px | 0.0625ppf left | ##### Type 18 No parallax data ##### Type 19 | Vertical Range | Speed | | -------------- | -------------- | | 0-295px | 0.375ppf left | | 295-342px | 0.25ppf left | | 342-375px | 0.125ppf left | ##### Type 20 | Vertical Range | Speed | | --------------- | -------------- | |Entire Background| 0.5ppf right | ##### Type 21 | Vertical Range | Speed | | -------------- | -------------- | | 0-215px | 0.125ppf left | | 215-319px | 0.25ppf left | | 319-343px | 0.375ppf left | ### Jyotyu Palette Tables The bottom background slot determines the [jyotyu](https://bookstack.nsmbcentral.net/books/new-super-mario-bros/page/jyotyu-tileset#bkmrk-1.-jyotyu-palette) and [enemy](https://bookstack.nsmbcentral.net/books/new-super-mario-bros/page/enemy-palettes#bkmrk-1.-enemy-palettes) palettes used in the course. | Slot | Palette | |-|-| | 0: Grassland (orange hills and clouds) | Normal | | 1: Castle | Blue | | 2: Desert (blue sky, pyramids, W2-Cannon) | Normal | | 3: Underground | Blue | | 4: Clouds | Normal | | 5: Underwater | Normal | | 6: Desert (yellow sky, pyramids) | Normal | | 7: Volcanoes 1 (inside) | Red | | 8: Grassland (pastel hills and clouds) | Normal | | 9: Background clouds | Normal | | 10: Background mountains | Normal | | 11: Forest | Normal | | 12: Grassland (blue/white hills and clouds) | Normal | | 13: Background clouds 2 [Unused] | Normal | | 14: Background clouds 2 [Unused] | Normal | | 15: Volcanoes 2 (outside) [including raining debris] | Normal | | 16: Volcanoes 3 (outside) [Unused] | Normal | | 17: Snowy trees | Grey | | 18: Snowy hills | Grey | | 19: Background clouds (W4-Cannon) | Normal | | 20: Desert (blue sky, pyramids, higher) | Normal | | 21: Bonus room (NES Mario and Luigi 1) | Normal | | 22: Volcanoes 3 (outside) [Unused] | Normal | | 23: Ghost house | Grey | | 24: Background mountains | Normal | | 25: Background mountains | Normal | | 26: Purple sky (W5-Cannon) | Normal | | 27: Grassland (orange hills and clouds) | Normal | | 28: Snowy hills | Normal | | 29: Pipes | Blue | | 30: Empty | Normal | | 31: Volcano tower | Red | | 32: Castle 2 | Normal | | 33: Clouds with orange hills at back | Normal | | 34: Snowy hills (W1-Cannon) | Normal | | 35: Cave | Blue | | 36: Stalagmites (glitchy) [Unused] | Blue | | 37: Dark world 1 (dead trees, purple clouds) | Red | | 38: Dark world 2 (rocks, purple clouds) | Red | | 39: Tower | Blue | | 40: Ghost house exit | Normal | | 41: Final Castle (Normal Jyotyu) | Normal | | 42: Toad house 1 | Normal | | 43: Toad house 2 | Normal | | 44: Toad house 3 | Normal | | 45: Final Castle (Blue Jyotyu) | Blue | | 46: Toad house 4 | Normal | | 47: Bowser Jr battle | Blue | | 48: Background clouds (tall) | Normal | | 49: Boss battle | Blue | | 50: Background clouds | Normal | | 51: Background clouds | Normal | | 52: Desert (blue sky, pyramids) | Normal | | 53: Desert (yellow sky, higher) | Normal | | 54: Background mountains | Normal | | 55: Final boss battle | Normal | | 56: Volcanoes 2 | Normal | | 57: Underwater cave | Normal | | 58: Light grey castle (W8 Castle 1) | Blue | | 59: Yellow clouds (Desert) | Normal | | 60: Big mountains (higher, world 6 beach) | Normal | | 61: Background clouds | Blue | | 62: Background mountains | Normal | | 63: Mummy-Pokey battle | Normal | | 64: Desert (yellow sky, pyramids) | Normal | | 65: Desert (yellow sky, pyramids) | Normal | | 66: Desert (blue sky, pyramids, higher) | Normal | | 67: Bonus room (NES Lakitu) [Unused] | Normal | | 68: Bonus room (NES Mario + Bowser) [Unused] | Normal | | 69: Bonus room (NES M/L swimming) [Unused] | Normal | | 70: Bonus room (NES Mario and Luigi 2) | Normal | | 71: Bonus room (NES Mario on vine) [Unused] | Normal | | 72: Bonus room (NES Mario and Luigi 3) [Unused] | Normal | | 73: Underground cave (red) | Blue | | 74: Bonus room | Normal | | 75: Grassland (orange hills and clouds) | Normal | # Tileset tutorial ## **Tutorial on making DS styled tilesets** ### **Part 0 - Important things before starting.** #### First of all, you need to know these things: **1. Basics of pixel art** **2. Have small knowledge about making generally somekind of graphics. Especially how the tilesets should be set, size etc.** **3. Knowledge of NSMBe** **4. Patience** **5. Take inspiration and look how original tilesets by Nintendo/other we're made and try understand them why those we're made like this and "re-create" them.** **6. You need to practice, outside of NSMB tilesets too.** **7. Each palette can have up to 256 colours (4 palettes - 1024 colours in total.)** **8. Read the full tutorial so you wouldn't be mad that i said like this and later something changed for some reason.** #### What do you need for making tilesets: **1. Art program** (Paint.net , Aseprite, Gimp, Photoshop ...(Personally i use paint.net and Aseprite for it's few functions) **2. Optional: 3D software** (Maya, Blender, 3ds max ...) **3. Ideas.** ##### Note that this tutorial won't cover everything and it's mainly for basic stuff for newbies. ##### If you need any tips on making other stuff that weren't cover, please ask me about that on NSMBc discord server. **(@Bouner)** ##### This tutorial will cover how to make a basic grassland tileset and how to make few specific tiles and give idea for the other ones in terms of making them. ##### After it i there will be a list of good inspirations you could take to make your own tileset. Feel free to use them ### **Part 1 - Setup.** ##### **Start with a canvas size of 256x224 (Which is a default size for 2 palette size tileset.)** ##### After it make a **16x16** texture which you will use to create your first tile.Before it i recommend you setting a few layers for the future that will make your making tilesets much easier, especially in later stages: ##### **- Decorations - Top tiles (Grass / TopGround pattern) - Shadows - Inner tiles pattern - Inner tiles - Other (Optional) - Darker bg (Optional)** [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/image.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/image.png) ##### Basically like this! ##### Now returning to your 16x16 tile, the theme i have choosen for this tilesets tutorial is grassland that i got inspired by few screenshots from **Mario & Luigi Bowser's inside story.** ##### **Choose your palette of colours that you will be using (You don't have to choose them even before making the tile, you can make a palette throughout the process.).** ### **Part 1.1 - Basic needed tiles:** #### **The image below shows what most of Nintendo, or custom tilesets do have (I explain it below it)** #### [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/jMSimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/jMSimage.png) ##### **1. Red (Top) - Top tiles, top corner tiles** **2. Yellow - Side blocks, side blocks corner tiles** **3. Red-pink - Inner tiles.** I won't explain it fully because i believe that you understand what exactly should a tileset have. Note that there is also 4x1 slope which i didn't draw here. ### **Part 2.1 - How to make tiles and which you're supposed to?** ##### After doing all of this, paint the whole tile into the main colour of ground tile (In your layer for this.) and later in another layer draw a rectangle in the colour of the ground (Grass) which will be the main shape that will help you to not make a mistake of not connecting tiles. ##### **Let me explain things in 4 steps of how the process of making the full looking tile with how to make shape to how does shading look.** ##### **1.** Paint the inner tile to colour you want, and later in another layer draw a rectangle shape that you will be using as a reference to not make mistakes in further processes **(Meaning that you wouldn't make accidentally non connecting well tiles so much.)** ##### **2.** Remove and add pixels to draw your wanted shape for you tile. ##### **3. Shading. It's very important and i recommend you looking at how Nintendo did the shading for grass. Notice every little thing like the colours of the light and how are the shapes drawn. (2.)** ##### **You do need to know basics of pixel art too**[![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/kgyimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/kgyimage.png) ##### 4. Adding "Antiliasing" **(Painting the edges with a softbrush to make it blend bit more and give it extra colours.)** ##### I'm going to say already that i'm not drawing shadows by hand everytime if not needed but just skip to part 4. This process will be reacurring every time throughout this tutorial. ##### ![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/E3fimage.png)Great, now you should be able now how to make a basic top grass tile! It doesn't need to be perfect, throughout this tutorial i changed few things and improve them so they could looks better and that's okay! ##### Now just make more of those for better variation, it's not necesserilly. ##### I recommend doing 3 variation for top tiles but that depends on you and theme. [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/rXKimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/rXKimage.png) [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/UPVimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/UPVimage.png) ### **Part 2.2 - Inner tiles and pattern.** ##### We'll start with a pattern since in the case of the tileset it's the main part. ##### I typically use Aseprite to make well connecting pattern, since i'm inspiring of one of the ##### screenshots from Part 1. i'll go with zig-zag like pattern. ##### I'll be using **Aseprite** for this one as i said so i'll show how to make it with this program, it might ##### be a different process or similiar if you're using different one obviously. ##### Set your canvas to 16x16. **Point to View tab, "Tiled Mode" and select Tiled in X Axis.** [![aseprite_5culCWrzBQ.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/aseprite-5culcwrzbq.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/aseprite-5culcwrzbq.png) ##### **After that it should be looking like this and your canvas should be mirrored (Canvas is set to 16x16).** [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/image.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/image.png) ##### **Then just draw your pattern the way you want to and be sure it's connecting well** [![aseprite_NPi7XG2ZKI.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/aseprite-npi7xg2zki.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/aseprite-npi7xg2zki.png) ##### **Later just improve them, give the "AA" treatment, improve the colours and add the details if you want. Since i made 6 inner tiles i want to make them little bit more unique (And i update them in the throughout the tutorial too if i miss something without the mentioning it.)** [![paintdotnet_hNDzPUmxAP.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/lqQpaintdotnet-hndzpumxap.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/lqQpaintdotnet-hndzpumxap.png) [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/Kynimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/Kynimage.png) [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/dMmimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/dMmimage.png) ### **Part 2.3 - Side tiles and corner tiles.** ##### It's a pretty similiar process like in the previous steps but with some changes. **Make the ground tile little bit less wider** (It's optional and depending on the tileset you're making.) **Start with doing the grass and round it at the end. Like in the screenshot.** [![paintdotnet_CJTITib4GV.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/paintdotnet-cjtitib4gv.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-cjtitib4gv.png) ##### Give it the shadow under the grass the same way as you did the other tiles ##### **For the pattern, copy your pattern and make it less wider so it could give a small illusion that it rounds up (If more = even** [![paintdotnet_zbLScQVvBr.gif](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-zblscqvvbr.gif)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-zblscqvvbr.gif) ##### **Now you need to give it a shadow, i use a basic gradient and just move it slightly to the right/left** (depending on which side you do the side tiles at) [![paintdotnet_QumNacGe8y.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/jV2paintdotnet-qumnacge8y.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/jV2paintdotnet-qumnacge8y.png) ##### **And voila, you made your side tiles.** I personally give it an extra detail which is just slightly removing the furthest colours so it could be a bit lighter, but it's completaly optional. ##### **Now for the corner tiles of the ceiling tiles which is basically the same thing but the corner tiles are slightly rounded** [![paintdotnet-miefjotwka.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/vBkpaintdotnet-miefjotwka.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/vBkpaintdotnet-miefjotwka.png) [![paintdotnet_NBuDJHaMMN.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/paintdotnet-nbudjhammn.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-nbudjhammn.png) [![paintdotnet_oFrrxrCPBF.gif](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-ofrrxrcpbf.gif)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-ofrrxrcpbf.gif) ##### **coming back to this screenshot below, there are few tiles left, we focus now on the the middle ones which are just mix of side tiles and inner ground.** #### [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/scaled-1680-/jMSimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-04/jMSimage.png) ##### **It's literally the same process as before but slightly different, i won't explain it over and over, just look up the screenshot.** [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/zBiimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/zBiimage.png) ### **Part 2.4 - Slopes** ##### **Since for the tileset i made 1x1 and 2x1 slopes then i will be showing just how to make those.** ##### Many people consider making slopes as hard and just rotate the grass pattern. Which looks sometimes off and bad, personally making slopes is pretty simple and actually mostly similiar to the way you are making normal tiles. ##### Start off with a referance/guide [![paintdotnet_jcTKkMkvNm.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/paintdotnet-jctkkmkvnm.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-jctkkmkvnm.png) ##### **I recommend putting the top tiles and slopes close to each other and draw a line on where the grass ends so you wouldn't make a mistake that the grass on slopes ends lower and looks bad.** [![paintdotnet_mSqepJrSUM.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/paintdotnet-msqepjrsum.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-msqepjrsum.png) ##### **Draw the grass pattern and make the tile below connected too to the grass pattern. Don't forget that it should also tile properly with the tile above.** [![paintdotnet_ONgFE31Hcw.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/paintdotnet-ongfe31hcw.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-ongfe31hcw.png) ##### **And now just make the same process as before, always check if it looks good after connecting to the top tile** [![paintdotnet_YNgu7XIo5K.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/paintdotnet-yngu7xio5k.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-yngu7xio5k.png) [![paintdotnet_gppSwhxrvB.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/paintdotnet-gppswhxrvb.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-gppswhxrvb.png) ### **Part 2.5 - Decorations** ##### This part was very hard to make for this tutorial which resulted in not great looking examples or examples that changed completaly at the end or even weren't explained in anyway. ##### **The decorations you can make either by pre-rendering somekind of object (Example: Drybones head) or drew it.** ##### There are many decorations in original game which are completaly drawn with few colours (Basically pixel art!) ##### **I have made one quick example of this which was a wooden fence.** [![paintdotnet_C4F5ay6xIq.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/paintdotnet-c4f5ay6xiq.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-c4f5ay6xiq.png) ##### I basically just recommend you making a basic shape and later just add the detail. I'm not the best still at it but basically like this. [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/Yzwimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/Yzwimage.png) ##### **Here is another examples of drawn decoration of mine:** (Right flower) [![paintdotnet_GIvWJKh4hr.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/paintdotnet-givwjkh4hr.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-givwjkh4hr.png) [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/6IRimage.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/6IRimage.png) ##### I have made for this tutorial a completaly different tree that later was in "finished" version which was reused from my another tileset i have made (Pinkleaf plains) which i didn't screenshot my process but i'll explain ##### **I basically used for the leafs unused version of bushesh from origiinal game, slightly modified and just copy pasted it over till it made a shape of a typical tree bush.** [![image.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/Tm7image.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/Tm7image.png) **Comparing to the one i have made for this tutorial...** [![paintdotnet_gUM5KFFBK3.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/scaled-1680-/paintdotnet-gum5kffbk3.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2025-05/paintdotnet-gum5kffbk3.png) Yeah, this happens when you don't make your tutorial at the same time... hah # Title Screen Information

TODO: - title logo bncl

This page details files for graphics related to the title screen. ### Upper Screen Logo: - Palette: d\_2d\_UI\_O\_menu\_title\_logo\_o\_u\_ncl.bin Uses: - UI\_O\_menu\_title\_logo\_o\_u\_ncg.bin \[4bpp\] Contents: graphics for upright title logo - "NEW" blurb \[palette 1\] - "super MARIO BROS." text (no dropshadow) \[palette 0\] - "©2006 Nintendo" text \[palette 0\] - "super MARIO BROS." text (dropshadow) \[palette 2\] - ### Lower Screen Background: - Bitmap: d\_2d\_UI\_O\_menu\_common\_b\_d\_ncg.bin \[4bpp\] Contents: - Bricks - Unused Super Mario Bros. castle-styled bricks - Unused pipe - Palette: d\_2d\_UI\_O\_menu\_common\_b\_d\_ncl.bin - Tilemap: d\_2d\_UI\_O\_menu\_common\_kabe\_b\_d\_nsc.bin Settings: - Tile Width: 32 - Bitmap Offset: 0 - Palette Offset: 13 #### Game Select #### File Select Back button: - Bitmap: d\_2d\_UI\_O\_menu\_common\_o\_d\_nce\_ncg.bin \[4bpp\] - Palette: d\_2d\_UI\_O\_menu\_common\_o\_d\_ncl.bin Uses: - 0: Not pressed - 1: Pressed #### Options # Enemy Palettes The enemy palette is used by various in-level sprites. Like the jyotyu palette, the palette used will change depending on the bottom BG to better fit the level theme. All palettes, as well as the bitmaps of the sprites that use them, can be found in the /OBJ folder. #### **1. Enemy palettes**
**File** **Description**
I\_enemy\_ncl.binNormal enemy palette
I\_enemy\_B\_ncl.binBlue (underground) enemy palette
I\_enemy\_R\_ncl.binRed (volcanic) enemy palette
I\_enemy\_W\_ncl.binGrey (winter) enemy palette
#### **2. List of bitmaps which use the enemy palette**
**Bitmap****Description****Palette Number**
I\_awa\_ncg.bin Underwater pipe current bubble 0
I\_bubble256\_ncg.binPodoboo (lava bubble) 0
I\_dokan\_hahen\_ncg.bin Broken pipe fragments 0 (yellow), 1 (green), 3 (red)
I\_dokan\_yajirushi\_ncg.binYellow sewer arrow (2-3) 1
I\_fireball\_ncg.bin Fireball; used by Fire Mario/Luigi, firebar, fire bros., and venus fire trap(?) 0
I\_item\_ncg.bin Power-up and vine top graphics 0 (for star flash; jyotyu palette is used otherwise)
I\_kazandan\_hahen\_ncg.bin Broken volcanic meteor fragments 0
I\_kuribo256\_ncg.bin Goomba, paragoomba, paragoomba wings 0
I\_nokonoko256\_ncl.binKoopa Troopa, Koopa Paratroopa, Paratroopa wings 0 (green), 1 (red), 2 (blue)
I\_obj\_yougan\_ncg.binBackground volcanic meteor1
I\_ochiruhashi\_ncg.binFalling beach platform1
I\_switch\_ncg.binP-switch, ?-switch, !-switch, and boss (skull) switch2
I\_teresa256\_ncg.binBoo1
W\_kinoko\_ncg.binGraphics for the blue/yellow/red Toad house blocks and cards3 (for red/yellow Toad house graphics; enemy256 palette is used otherwise)
#### **3. Enemy256 palette** The enemy256 palette is used by only a few sprites and differs from the enemy palette in that it does not have underground/wintery/volcanic variants. The file for it is **I\_enemy256\_ncl.bin**. #### **4. List of bitmaps which use the enemy256 palette**
**Bitmap****Description****Palette Number**
I\_star\_red\_ncg.bin MvsL big star 1
W\_kinoko\_ncg.binGraphics for the blue/yellow/red Toad house blocks and cards0 (for blue Toad house graphics; enemy palettes are used otherwise)
# Jyotyu Tileset #### **1. Jyotyu Palette** These files are the palettes used by the Jyotyu tileset:
**File** **Description**
/BG\_ncl/d\_2d\_A\_J\_jyotyu\_B\_ncl.binBlue (underground) jyotyu palette
/BG\_ncl/d\_2d\_A\_J\_jyotyu\_F\_ncl.binBlue coin palette
/BG\_ncl/d\_2d\_A\_J\_jyotyu\_ncl.binNormal jyotyu palette
/BG\_ncl/d\_2d\_A\_J\_jyotyu\_R\_ncl.binRed (volcanic) jyotyu palette
/BG\_ncl/d\_2d\_A\_J\_jyotyu\_W\_ncl.binGrey (winter) jyotyu palette
#### **2. List of graphics that use the Jyotyu Palette**
**Folder****Bitmap****Description**
/BG\_ncgd\_2d\_A\_J\_jyotyuGraphics for the jyotyu tileset
/BG\_ncgd\_2d\_TEN\_A\_J\_jyotyuAnimated tiles for the jyotyu tileset
/objA\_block\_hahenDebris animations for destroyed blocks
/objA\_blockAnimations for blocks being hit
/objA\_tikuwa\_blockDonut lift (stood on)
/objI\_itemPower Ups
/objI\_kakushitobiraEvent Activated Door
/objI\_mark\_starA star, seems to be unused
/objI\_minigame\_block1-Up Toad house block graphics
/objI\_minigame\_item1-Up Toad house card graphics
/objI\_obj\_kemuriSmoke (?) seems to be unused too
/objI\_obj\_kira\_IMega Mario sparkles
/objI\_obj\_kiraSmall sparkles. Appear around a blue shell when dropped by a blue koopa troopa
/objI\_obj\_sunakemuriSmoke (?) unused as well
/objI\_obj\_yajirushiArrow, apparently unused since it was removed from the European version
#### **3. Important** When you click "import bitmap and recreate palette" on a file that uses the Jyotyu Palette, it will recreate the Jyotyu Palette, with new colours. Other objects use the Jyotyu Palette, but they will not match up with the palette anymore, because it has been modified to match the Jyotyu tileset, so you have to open all the files that use the palette and the palette open at the same time, then click "import bitmap and recreate palette". Or you can modify the Jyotyu Tileset with the built in editor which will not modify the Jyotyu Palette. #### **4. Jyotyu labels** The following picture shows which objects use which colors in the different Jyotyu Palettes: [![jyotyulabels2.png](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-08/jyotyulabels2.png)](https://bookstack.nsmbcentral.net/uploads/images/gallery/2024-08/jyotyulabels.png) *Credits to D.M. for the research and the image* Note: The palette colors will vary depending on the Jyotyu palette, but the objects will still use the same colors. # Tileset Information

TODO: Add more info for palette animations (such as which colours animate & info on slots 7 and 31) and tile animations (such as which tiles animate). Mention unused files? Unused 3D tile IDs? Double-check animation speed. Add info on how ghost house stairs work. Add info from here: https://nsmbhd.net/post/46490/

Tilesets contain the tiles used to build levels. Every area of a level can use three tilesets: the [jyotyu tileset](https://bookstack.nsmbcentral.net/books/new-super-mario-bros-ds/page/jyotyu-tileset), the sub nohara tileset, and a choosable tileset (of which there are 76). ### Bitmap Table Files stored in BG_ncg/ folder. Table address in overlay 0: `0x00030EA4` Table address in memory: `0x020C9584` | Slot | Bitmap | |--------------------------------|------------------------------------------| | Tileset 0 (Jyotyu) | d_2d_A_J_jyotyu_ncg.bin | | Tileset 2 (Sub Nohara) | d_2d_I_S_tikei_nohara_ncg.bin | | 0: Grassland | d_2d_I_M_tikei_nohara_ncg.bin | | 1: Castle | d_2d_I_M_tikei_yakata_ncg.bin | | 2: Desert | d_2d_I_M_tikei_sabaku_ncg.bin | | 3: Underground (with ice) | d_2d_I_M_tikei_chika_ncg.bin | | 4: Sky/mushrooms (world 7 style) | d_2d_I_M_tikei_kumo_ncg.bin | | 5: Underwater | d_2d_W_M_tikei_suichu_ncg.bin | | 6: Desert | d_2d_I_M_tikei_sabaku_ncg.bin | | 7: Volcano (brown) | d_2d_W_M_tikei_yougan_ncg.bin | | 8: Grassland | d_2d_I_M_tikei_nohara_ncg.bin | | 9: Beach (blue) | d_2d_W_M_tikei_kaigan_ncg.bin | | 10: Beach (blue) | d_2d_W_M_tikei_kaigan_ncg.bin | | 11: Forest | d_2d_W_M_tikei_jungle_ncg.bin | | 12: Grassland | d_2d_I_M_tikei_nohara_ncg.bin | | 13: Sky/mushrooms (with flowers and bushes) | d_2d_I_M_tikei_kinoko_ncg.bin | | 14: Sky/mushrooms (with flowers and bushes) | d_2d_I_M_tikei_kinoko_ncg.bin | | 15: Volcano (black) | d_2d_W_M_tikei_kazan_ncg.bin | | 16: Volcano (black 2) [Unused] | d_2d_W_M_tikei_kazangake_ncg.bin | | 17: Snow (with ice) | d_2d_I_M_tikei_setsugen_ncg.bin | | 18: Snow | d_2d_I_M_tikei_setsugen2_ncg.bin | | 19: Forest | d_2d_W_M_tikei_jungle_ncg.bin | | 20: Oasis in Desert | d_2d_W_M_tikei_kaigan3_ncg.bin | | 21: Bonus Room [Unused] | d_2d_I_M_tikei_mame_ncg.bin | | 22: Volcano (black 2) [Unused] | d_2d_W_M_tikei_kanzagake_ncg.bin | | 23: Ghost House | d_2d_S_M_tikei_obakeyasiki_ncg.bin | | 24: Cliffs | d_2d_W_M_tikei_kazangake2_ncg.bin | | 25: Cliffs | d_2d_W_M_tikei_kazangake2_ncg.bin | | 26: Snow (with ice) | d_2d_I_M_tikei_setsugen_ncg.bin | | 27: Grassland | d_2d_I_M_tikei_nohara_ncg.bin | | 28: Snow (with ice) | d_2d_I_M_tikei_setsugen_ncg.bin | | 29: Factory (W7-A) | d_2d_W_M_tikei_dokansoto_ncg.bin | | 30: Sewer (W2-3) | d_2d_W_M_tikei_dokannaka_ncg.bin | | 31: Volcano (yellow) | d_2d_W_M_tikei_yougantate_ncg.bin | | 32: Castle | d_2d_I_M_tikei_yakata_ncg.bin | | 33: Sky/mushrooms (with flowers and bushes) | d_2d_I_M_tikei_kinoko_ncg.bin | | 34: Grassland | d_2d_I_M_tikei_nohara_ncg.bin | | 35: Underground | d_2d_I_M_tikei_chika3_ncg.bin | | 36: Underground (dark blue) [Unused] | d_2d_I_M_tikei_chika_ncg.bin | | 37: Dark world (purple) | d_2d_I_M_tikei_koopa_heigen_ncg.bin | | 38: Dark world (brown) | d_2d_I_M_tikei_koopa_iwa_ncg.bin | | 39: Tower | d_2d_I_M_tikei_toride_ncg.bin | | 40: Ghost house exit | d_2d_S_M_tikei_obake_soto_ncg.bin | | 41: Final Castle | d_2d_I_M_tikei_yakata_ncg.bin | | 42: Toad house 1 | d_2d_W_M_tikei_kinokoA_ncg.bin | | 43: Toad house 2 | d_2d_W_M_tikei_kinokoB_ncg.bin | | 44: Toad house 3 | d_2d_W_M_tikei_kinokoC_ncg.bin | | 45: Final Castle | d_2d_I_M_tikei_yakata_ncg.bin | | 46: Toad house 4 | d_2d_I_M_tikei_kinokoD_ncg.bin | | 47: Bowser Jr battle | d_2d_I_M_tikei_toride_boss_ncg.bin | | 48: Beach (blue) | d_2d_W_M_tikei_kaigan_ncg.bin | | 49: Boss battle | d_2d_I_M_tikei_yakata_boss_ncg.bin | | 50: Sky/mushrooms (with flowers and bushes) | d_2d_I_M_tikei_kinoko_ncg.bin | | 51: Forest | d_2d_W_M_tikei_jungle_ncg.bin | | 52: Desert | d_2d_I_M_tikei_sabaku_ncg.bin | | 53: Desert | d_2d_I_M_tikei_sabaku_ncg.bin | | 54: Forest | d_2d_W_M_tikei_jungle_ncg.bin | | 55: Final boss battle | d_2d_I_M_tikei_koopa_boss_ncg.bin | | 56: Volcano (black) | d_2d_W_M_tikei_kazan_ncg.bin | | 57: Underwater | d_2d_W_M_tikei_suichu_ncg.bin | | 58: Light grey castle (W8 Castle 1) | d_2d_I_M_tikei_yakata_nise_ncg.bin | | 59: Sky/Mushrooms (yellow-ish) | d_2d_I_M_tikei_kumo2_ncg.bin | | 60: Beach (turquoise, without moss) | d_2d_W_M_tikei_kaigan2_ncg.bin | | 61: Lakithunder and Monty Tank battles | d_2d_I_M_tikei_yakata_bossW7_ncg.bin | | 62: Boss battle | d_2d_I_M_tikei_yakata_boss_ncg.bin | | 63: Mummy-Pokey battle | d_2d_I_M_tikei_sabaku_boss_ncg.bin | | 64: Oasis in Desert | d_2d_W_M_tikei_kaigan3_ncg.bin | | 65: Desert | d_2d_I_M_tikei_sabaku_ncg.bin | | 66: Oasis in Desert | d_2d_W_M_tikei_kaigan3_ncg.bin | | 67: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncg.bin | | 68: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncg.bin | | 69: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncg.bin | | 70: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncg.bin | | 71: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncg.bin | | 72: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncg.bin | | 73: Underground (gold) [Unused] | d_2d_I_M_tikei_chika4_ncg.bin | | 74: Bonus room | d_2d_I_M_tikei_mame_bonus_ncg.bin | | 75: Grassland | d_2d_I_M_tikei_nohara_ncg.bin | ### Animations Table Files stored in BG_ncg/ folder. | Slot | Animations | |--------------------------------|------------------------------------------| | Tileset 0 (Jyotyu) | d_2d_TEN_A_J_jyotyu_ncg.bin | | Tileset 2 (Sub Nohara) | None | | 0: Grassland | None | | 1: Castle | d_2d_TEN_I_yakata_ncg.bin | | 2: Desert | None | | 3: Underground (with ice) | None | | 4: Sky/mushrooms (world 7 style) | None | | 5: Underwater | None | | 6: Desert | None | | 7: Volcano (brown) | None | | 8: Grassland | None | | 9: Beach (blue) | None | | 10: Beach (blue) | None | | 11: Forest | None | | 12: Grassland | None | | 13: Sky/mushrooms (with flowers and bushes) | None | | 14: Sky/mushrooms (with flowers and bushes) | None | | 15: Volcano (black) | None | | 16: Volcano (black 2) [Unused] | None | | 17: Snow (with ice) | None | | 18: Snow | None | | 19: Forest | None | | 20: Oasis in Desert | None | | 21: Bonus Room [Unused] | None | | 22: Volcano (black 2) [Unused] | None | | 23: Ghost House | d_2d_TEN_S_obakeyasiki_ncg.bin | | 24: Cliffs | None | | 25: Cliffs | None | | 26: Snow (with ice) | None | | 27: Grassland | None | | 28: Snow (with ice) | None | | 29: Factory (W7-A) | None | | 30: Sewer (W2-3) | None | | 31: Volcano (yellow) | None | | 32: Castle | None | | 33: Sky/mushrooms (with flowers and bushes) | None | | 34: Grassland | None | | 35: Underground | None | | 36: Underground (dark blue) [Unused] | None | | 37: Dark world (purple) | None | | 38: Dark world (brown) | None | | 39: Tower | d_2d_TEN_I_toride_ncg.bin | | 40: Ghost house exit | None | | 41: Final Castle | None | | 42: Toad house 1 | None | | 43: Toad house 2 | None | | 44: Toad house 3 | None | | 45: Final Castle | None | | 46: Toad house 4 | None | | 47: Bowser Jr battle | None | | 48: Beach (blue) | None | | 49: Boss battle | None | | 50: Sky/mushrooms (with flowers and bushes) | None | | 51: Forest | None | | 52: Desert | None | | 53: Desert | None | | 54: Forest | None | | 55: Final boss battle | None | | 56: Volcano (black) | None | | 57: Underwater | None | | 58: Light grey castle (W8 Castle 1) | None | | 59: Sky/Mushrooms (yellow-ish) | None | | 60: Beach (turquoise, without moss) | None | | 61: Lakithunder and Monty Tank battles | None | | 62: Boss battle | None | | 63: Mummy-Pokey battle | None | | 64: Oasis in Desert | None | | 65: Desert | None | | 66: Oasis in Desert | None | | 67: Bonus room [Unused] | None | | 68: Bonus room [Unused] | None | | 69: Bonus room [Unused] | None | | 70: Bonus room [Unused] | None | | 71: Bonus room [Unused] | None | | 72: Bonus room [Unused] | None | | 73: Underground (gold) [Unused] | None | | 74: Bonus room | None | | 75: Grassland | None | ### Animated Tiles ##### Slot 1: Castle | Tile Number | Animation |Tiles|Frames| Animates Every...| Animation Type | | - | ----------------------- |-----|------|------------------|----------------| |200, 201, 232, 233| Lava | 4 | 6 | 7 Frames | Loop | |85, 86, 300, 301 | Rightward conveyor tile | 1 | 8 | 2 Frames | Loop | |87, 88, 302, 303 | Rightward conveyor tile | 1 | 8 | 1 Frame | Loop | |117, 118, 268, 269| Leftward conveyor tile | 1 | 8 | 2 Frames | Loop | |119, 120, 302, 303| Leftward conveyor tile | 1 | 8 | 1 Frame | Loop | |388, 389, 420, 421| Conveyor left edge | 4 | 8 | 2 Frames | Loop | |392, 393, 424, 425| Conveyor left edge | 4 | 8 | 2 Frames |Loop (reverse order)| |396, 397, 428, 429| Conveyor left edge | 4 | 8 | 1 Frame | Loop | |400, 401, 432, 433| Conveyor left edge | 4 | 8 | 1 Frame |Loop (reverse order)| |390, 391, 422, 423| Conveyor right edge | 4 | 8 | 2 Frames | Loop | |394, 395, 426, 427| Conveyor right edge | 4 | 8 | 2 Frames |Loop (reverse order)| |398, 399, 430, 431| Conveyor right edge | 4 | 8 | 1 Frame | Loop | |402, 403, 434, 435| Conveyor right edge | 4 | 8 | 1 Frame |Loop (reverse order)| ##### Slot 23: Ghost House | Tile Number | Animation |Tiles|Frames| Animates Every...| Animation Type | | ---------------- | ---------------------- |-----|------|------------------|----------------| |283, 284, 315, 316| Collapsing stairs | 4 | 4 | TBA | Event activated (event ID 16). Frame 4 is held when not triggered. Plays in reverse order when triggered and holds on frame 1 while event is active. Plays and holds on frame 4 when event ends. | |347, 348, 379, 380| Collapsing stairs | 4 | 4 | TBA | Event activated (event ID 15). Frame 4 is held when not triggered. Plays in reverse order when triggered and holds on frame 1 while event is active. Plays and holds on frame 4 when event ends. | |411, 412, 443, 444| Collapsing stairs | 4 | 4 | TBA | Event activated (event ID 14). Frame 4 is held when not triggered. Plays in reverse order when triggered and holds on frame 1 while event is active. Plays and holds on frame 4 when event ends. | ##### Slot 39: Tower | Tile Number | Animation |Tiles|Frames| Animates Every...| Animation Type | | --------------- | ----------------------- |-----|------|------------------|----------------| |85, 86, 300, 301 | Rightward conveyor tile | 1 | 8 | 2 Frames | Loop | |87, 88, 302, 303 | Rightward conveyor tile | 1 | 8 | 1 Frame | Loop | |117, 118, 268, 269| Leftward conveyor tile | 1 | 8 | 2 Frames | Loop | |119, 120, 302, 303| Leftward conveyor tile | 1 | 8 | 1 Frame | Loop | |388, 389, 420, 421| Conveyor left edge | 4 | 8 | 2 Frames | Loop | |392, 393, 424, 425| Conveyor left edge | 4 | 8 | 2 Frames |Loop (reverse order)| |396, 397, 428, 429| Conveyor left edge | 4 | 8 | 1 Frame | Loop | |400, 401, 432, 433| Conveyor left edge | 4 | 8 | 1 Frame |Loop (reverse order)| |390, 391, 422, 423| Conveyor right edge | 4 | 8 | 2 Frames | Loop | |394, 395, 426, 427| Conveyor right edge | 4 | 8 | 2 Frames |Loop (reverse order)| |398, 399, 430, 431| Conveyor right edge | 4 | 8 | 1 Frame | Loop | |402, 403, 434, 435| Conveyor right edge | 4 | 8 | 1 Frame |Loop (reverse order)| ### Palette Table Files stored in BG_ncl/ folder. Table address in overlay 0: `0x00031494` Table address in memory: `0x020C9B74` | Slot | Palette | |--------------------------------|------------------------------------------------------------------------------------------------| | Tileset 0 (Jyotyu) | d_2d_A_J_jyotyu_B_ncl.bin
d_2d_A_J_jyotyu_F_ncl.bin
d_2d_A_J_jyotyu_ncl.bin
d_2d_A_J_jyotyu_R_ncl.bin
d_2d_A_J_jyotyu_W_ncl.bin | | Tileset 2 (Sub Nohara) | d_2d_I_S_tikei_nohara_ncl.bin | | 0: Grassland | d_2d_I_M_tikei_nohara_ncl.bin | | 1: Castle | d_2d_I_M_tikei_yakata_ncl.bin | | 2: Desert | d_2d_I_M_tikei_sabaku_ncl.bin | | 3: Underground (with ice) | d_2d_I_M_tikei_cika_ncl.bin | | 4: Sky/mushrooms (world 7 style) | d_2d_I_M_tikei_kumo_ncl.bin | | 5: Underwater | d_2d_W_M_tikei_suichu_ncl.bin | | 6: Desert | d_2d_I_M_tikei_sabaku_ncl.bin | | 7: Volcano (brown) | d_2d_W_M_tikei_yougan_ncl.bin | | 8: Grassland | d_2d_I_M_tikei_nohara_ncl.bin | | 9: Beach (blue) | d_2d_W_M_tikei_kaigan_ncl.bin | | 10: Beach (blue) | d_2d_W_M_tikei_kaigan_ncl.bin | | 11: Forest | d_2d_W_M_tikei_jungle_ncl.bin | | 12: Grassland | d_2d_I_M_tikei_nohara_ncl.bin | | 13: Sky/mushrooms (with flowers and bushes) | d_2d_I_M_tikei_kinoko_ncl.bin | | 14: Sky/mushrooms (with flowers and bushes) | d_2d_I_M_tikei_kinoko_ncl.bin | | 15: Volcano (black) | d_2d_W_M_tikei_kazan_ncl.bin | | 16: Volcano (black 2) [Unused] | d_2d_W_M_tikei_kazangake_ncl.bin | | 17: Snow (with ice) | d_2d_I_M_tikei_setsugen_ncl.bin | | 18: Snow | d_2d_I_M_tikei_setsugen2_ncl.bin | | 19: Forest | d_2d_W_M_tikei_jungle_ncl.bin | | 20: Oasis in Desert | d_2d_W_M_tikei_kaigan3_ncl.bin | | 21: Bonus Room [Unused] | d_2d_I_M_tikei_mame_ncl.bin | | 22: Volcano (black 2) [Unused] | d_2d_W_M_tikei_kanzagake_ncl.bin | | 23: Ghost House | d_2d_S_M_tikei_obakeyasiki_ncl.bin | | 24: Cliffs | d_2d_W_M_tikei_kazangake2_ncl.bin | | 25: Cliffs | d_2d_W_M_tikei_kazangake2_ncl.bin | | 26: Snow (with ice) | d_2d_I_M_tikei_setsugen_ncl.bin | | 27: Grassland | d_2d_I_M_tikei_nohara_ncl.bin | | 28: Snow (with ice) | d_2d_I_M_tikei_setsugen_ncl.bin | | 29: Factory (W7-A) | d_2d_W_M_tikei_dokansoto_ncl.bin | | 30: Sewer (W2-3) | d_2d_W_M_tikei_dokannaka_ncl.bin | | 31: Volcano (yellow) | d_2d_W_M_tikei_yougantate_ncl.bin | | 32: Castle | d_2d_I_M_tikei_yakata_ncl.bin | | 33: Sky/mushrooms (with flowers and bushes) | d_2d_I_M_tikei_kinoko_ncl.bin | | 34: Grassland | d_2d_I_M_tikei_nohara_ncl.bin | | 35: Underground | d_2d_I_M_tikei_chika3_ncl.bin | | 36: Underground (dark blue) [Unused] | d_2d_I_M_tikei_chika_ncl.bin | | 37: Dark world (purple) | d_2d_I_M_tikei_koopa_heigen_ncl.bin | | 38: Dark world (brown) | d_2d_I_M_tikei_koopa_iwa_ncl.bin | | 39: Tower | d_2d_I_M_tikei_toride_ncl.bin | | 40: Ghost house exit | d_2d_S_M_tikei_obake_soto_ncl.bin | | 41: Final Castle | d_2d_I_M_tikei_yakata_ncl.bin | | 42: Toad house 1 | d_2d_W_M_tikei_kinokoA_ncl.bin | | 43: Toad house 2 | d_2d_W_M_tikei_kinokoB_ncl.bin | | 44: Toad house 3 | d_2d_W_M_tikei_kinokoC_ncl.bin | | 45: Final Castle | d_2d_I_M_tikei_yakata_ncl.bin | | 46: Toad house 4 | d_2d_I_M_tikei_kinokoD_ncl.bin | | 47: Bowser Jr battle | d_2d_I_M_tikei_toride_boss_ncl.bin | | 48: Beach (blue) | d_2d_W_M_tikei_kaigan_ncl.bin | | 49: Boss battle | d_2d_I_M_tikei_yakata_boss_ncl.bin | | 50: Sky/mushrooms (with flowers and bushes) | d_2d_I_M_tikei_kinoko_ncl.bin | | 51: Forest | d_2d_W_M_tikei_jungle_ncl.bin | | 52: Desert | d_2d_I_M_tikei_sabaku_ncl.bin | | 53: Desert | d_2d_I_M_tikei_sabaku_ncl.bin | | 54: Forest | d_2d_W_M_tikei_jungle_ncl.bin | | 55: Final boss battle | d_2d_I_M_tikei_koopa_boss_ncl.bin | | 56: Volcano (black) | d_2d_W_M_tikei_kazan_ncl.bin | | 57: Underwater | d_2d_W_M_tikei_suichu_ncl.bin | | 58: Light grey castle (W8 Castle 1) | d_2d_I_M_tikei_yakata_nise_ncl.bin | | 59: Sky/Mushrooms (yellow-ish) | d_2d_I_M_tikei_kumo2_ncl.bin | | 60: Beach (turquoise, without moss) | d_2d_W_M_tikei_kaigan2_ncl.bin | | 61: Lakithunder and Monty Tank battles | d_2d_I_M_tikei_yakata_bossW7_ncl.bin | | 62: Boss battle | d_2d_I_M_tikei_yakata_boss_ncl.bin | | 63: Mummy-Pokey battle | d_2d_I_M_tikei_sabaku_boss_ncl.bin | | 64: Oasis in Desert | d_2d_W_M_tikei_kaigan3_ncl.bin | | 65: Desert | d_2d_I_M_tikei_sabaku_ncl.bin | | 66: Oasis in Desert | d_2d_W_M_tikei_kaigan3_ncl.bin | | 67: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncl.bin | | 68: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncl.bin | | 69: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncl.bin | | 70: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncl.bin | | 71: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncl.bin | | 72: Bonus room [Unused] | d_2d_I_M_tikei_mame_ncl.bin | | 73: Underground (gold) [Unused] | d_2d_I_M_tikei_chika4_ncl.bin | | 74: Bonus room | d_2d_I_M_tikei_mame_bonus_ncl.bin | | 75: Grassland | d_2d_I_M_tikei_nohara_ncl.bin | ### Palette Animations Table Files stored in BG_ncl/ folder. Table address for files in overlay 0: `0x00030CC0` Table address for files in memory: `0x020C93A0` Table address for tileset slots in overlay 0: `0x00030A38` Table address for tileset slots in memory: `0x020C9118` Do note that tileset slot table above only controls which tilesets *load* the files for the animations — it does not determine which slots *play* the animations. | Slot | Palette | |--------------------------------|----------------------------------------| | 3: Underground (with ice) | d_2d_Bg2_TEN_I_setsugen_ncl.bin | | 17: Snow (with ice) | d_2d_Bg2_TEN_I_setsugen_ncl.bin | ### Object Definitions Table Files stored in BG_unt/ folder. Table address for unt files in overlay 0: `0x0002FA14` Table address for unt files in memory: `0x020C80F4` Table address for unt_hd files in overlay 0: `0x0002F8E4` Table address for unt_hd files in memory: `0x020C7FC4` | Slot | Object Definitions | |--------------------------------|-----------------------------------------| | Tileset 0 (Jyotyu) | A_J_jyotyu.bin
A_J_jyotyu_hd.bin | | Tileset 2 (Sub Nohara) | I_S_nohara.bin
I_S_nohara_hd.bin | | 0: Grassland | I_M_nohara.bin
I_M_nohara_hd.bin | | 1: Castle | I_M_yakata.bin
I_M_yakata_hd.bin | | 2: Desert | I_M_sabaku.bin
I_M_sabaku_hd.bin | | 3: Underground (with ice) | I_M_chika.bin
I_M_chika_hd.bin | | 4: Sky/mushrooms (world 7 style) | I_M_kumo.bin
I_M_kumo_hd.bin | | 5: Underwater | W_M_suichu.bin
W_M_suichu_hd.bin | | 6: Desert | I_M_sabaku
I_M_sabaku_hd.bin | | 7: Volcano (brown) | W_M_yougan.bin
W_M_yougan_hd.bin | | 8: Grassland | I_M_nohara.bin
I_M_nohara_hd.bin | | 9: Beach (blue) | W_M_kaigan.bin
W_M_kaigan_hd.bin | | 10: Beach (blue) | W_M_kaigan.bin
W_M_kaigan_hd.bin | | 11: Forest | W_M_jungle.bin
W_M_jungle_hd.bin | | 12: Grassland | I_M_nohara2.bin
I_M_nohara2_hd.bin | | 13: Sky/mushrooms (with flowers and bushes) | I_M_kinoko.bin
I_M_kinoko_hd.bin | | 14: Sky/mushrooms (with flowers and bushes) | I_M_kinoko.bin
I_M_kinoko_hd.bin | | 15: Volcano (black) | W_M_kazan.bin
W_M_kazan_hd.bin | | 16: Volcano (black 2) [Unused] | W_M_kazangake.bin
W_M_kazangake_hd.bin | | 17: Snow (with ice) | I_M_setsugen.bin
I_M_setsugen_hd.bin | | 18: Snow | I_M_setsugen2.bin
I_M_setsugen2_hd.bin | | 19: Forest | W_M_jungle.bin
W_M_jungle_hd.bin | | 20: Oasis in Desert | W_M_kaigan3.bin
W_M_kaigan3_hd.bin | | 21: Bonus Room [Unused] | I_M_mame.bin
I_M_mame_hd.bin | | 22: Volcano (black 2) [Unused] | W_M_kazangake.bin
W_M_kazangake_hd.bin | | 23: Ghost House | S_M_obakeyasiki.bin
S_M_obakeyasiki_hd.bin | | 24: Cliffs | W_M_kazangake2.bin
W_M_kazangake2_hd.bin | | 25: Cliffs | W_M_kazangake2.bin
W_M_kazangake2_hd.bin | | 26: Snow (with ice) | I_M_setsugen.bin
I_M_setsugen_hd.bin | | 27: Grassland | I_M_yakata.bin
I_M_yakata_hd.bin | | 28: Snow (with ice) | I_M_setsugen.bin
I_M_setsugen_hd.bin | | 29: Factory (W7-A) | W_M_dokansoto.bin
W_M_dokansoto_hd.bin | | 30: Sewer (W2-3) | W_M_dokannaka.bin
W_M_dokannaka_hd.bin | | 31: Volcano (yellow) | W_M_yougantate.bin
W_M_yougantate_hd.bin | | 32: Castle | I_M_yakata.bin
I_M_yakata_hd.bin | | 33: Sky/mushrooms (with flowers and bushes) | I_M_kinoko.bin
I_M_kinoko_hd.bin | | 34: Grassland | I_M_nohara.bin
I_M_nohara_hd.bin | | 35: Underground | I_M_chika3.bin
I_M_chika3_hd.bin | | 36: Underground (dark blue) [Unused] | I_M_chika2.bin
I_M_chika2_hd.bin | | 37: Dark world (purple) | I_M_koopa_heigen.bin
I_M_koopa_heigen_hd.bin | | 38: Dark world (brown) | I_M_koopa_iwa.bin
I_M_koopa_iwa_hd.bin | | 39: Tower | I_M_toride.bin
I_M_toride_hd.bin | | 40: Ghost house exit | I_M_obake_soto.bin
I_M_obake_soto_hd.bin | | 41: Final Castle | I_M_yakata.bin
I_M_yakata_hd.bin | | 42: Toad house 1 | W_M_kinokoA.bin
W_M_kinokoA_hd.bin | | 43: Toad house 2 | W_M_kinokoB.bin
W_M_kinokoB_hd.bin | | 44: Toad house 3 | W_M_kinokoC.bin
W_M_kinokoC_hd.bin | | 45: Final Castle | I_M_yakata2.bin
I_M_yakata2_hd.bin | | 46: Toad house 4 | W_M_kinokoD.bin
W_M_kinokoD_hd.bin | | 47: Bowser Jr battle | I_M_toride_boss.bin
I_M_toride_boss_hd.bin | | 48: Beach (blue) | W_M_kaigan.bin
W_M_kaigan_hd.bin | | 49: Boss battle | I_M_yakata_boss.bin
I_M_yakata_boss_hd.bin | | 50: Sky/mushrooms (with flowers and bushes) | I_M_kinoko.bin
I_M_kinoko_hd.bin | | 51: Forest | W_M_jungle.bin
W_M_jungle_hd.bin | | 52: Desert | I_M_sabaku.bin
I_M_sabaku_hd.bin | | 53: Desert | I_M_sabaku.bin
I_M_sabaku_hd.bin | | 54: Forest | W_M_jungle.bin
W_M_jungle_hd.bin | | 55: Final boss battle | I_M_koopa_boss.bin
I_M_koopa_boss_hd.bin | | 56: Volcano (black) | W_M_kazan.bin
W_M_kazan_hd.bin | | 57: Underwater | W_M_suichu.bin
W_M_suichu_hd.bin | | 58: Light grey castle (W8 Castle 1) | I_M_yakata_nise.bin
I_M_yakata_nise_hd.bin | | 59: Sky/Mushrooms (yellow-ish) | I_M_kumo.bin
I_M_kumo2_hd.bin | | 60: Beach (turquoise, without moss) | W_M_kaigan2.bin
W_M_kaigan2_hd.bin | | 61: Lakithunder and Monty Tank battles | I_M_yakata_bossW7.bin
I_M_yakata_bossW7_hd.bin | | 62: Boss battle | I_M_yakata_boss.bin
I_M_yakata_boss_hd.bin | | 63: Mummy-Pokey battle | I_M_sabaku_boss.bin
I_M_sabaku_boss_hd.bin | | 64: Oasis in Desert | W_M_kaigan3.bin
W_M_kaigan3_hd.bin | | 65: Desert | I_M_sabaku2.bin
I_M_sabaku2_hd.bin | | 66: Oasis in Desert | W_M_kaigan3.bin
W_M_kaigan3_hd.bin | | 67: Bonus room [Unused] | I_M_mame.bin
I_M_mame_hd.bin | | 68: Bonus room [Unused] | I_M_mame.bin
I_M_mame_hd.bin | | 69: Bonus room [Unused] | I_M_mame.bin
I_M_mame_hd.bin | | 70: Bonus room [Unused] | I_M_mame.bin
I_M_mame_hd.bin | | 71: Bonus room [Unused] | I_M_mame.bin
I_M_mame_hd.bin | | 72: Bonus room [Unused] | I_M_mame.bin
I_M_mame_hd.bin | | 73: Underground (gold) [Unused] | I_M_chika4.bin
I_M_chika4_hd.bin | | 74: Bonus room | I_M_mame_bonus.bin
I_M_mame_bonus_hd.bin | | 75: Grassland | I_M_nohara.bin
I_M_nohara_hd.bin | ### Map16 Table Files stored in BG_pnl/ folder. Table address in overlay 0: `0x000316F4` Table address in memory: `0x020C9DD4` | Slot | Map16 | |--------------------------------|------------------------------------------| | Tileset 0 (Jyotyu) | d_2d_PA_A_J_jyotyu.bin | | Tileset 2 (Sub Nohara) | d_2d_PA_I_S_nohara.bin | | 0: Grassland | d_2d_PA_I_M_nohara.bin | | 1: Castle | d_2d_PA_I_M_yakata.bin | | 2: Desert | d_2d_PA_I_M_sabaku.bin | | 3: Underground (with ice) | d_2d_PA_I_M_chika.bin | | 4: Sky/mushrooms (world 7 style) | d_2d_PA_I_M_kumo.bin | | 5: Underwater | d_2d_PA_W_M_suichu.bin | | 6: Desert | d_2d_PA_I_M_sabaku.bin | | 7: Volcano (brown) | d_2d_PA_W_M_yougan.bin | | 8: Grassland | d_2d_PA_I_M_nohara.bin | | 9: Beach (blue) | d_2d_PA_W_M_kaigan.bin | | 10: Beach (blue) | d_2d_PA_W_M_kaigan.bin | | 11: Forest | d_2d_PA_W_M_jungle.bin | | 12: Grassland | d_2d_PA_I_M_nohara2.bin | | 13: Sky/mushrooms (with flowers and bushes) | d_2d_PA_I_M_kinoko.bin | | 14: Sky/mushrooms (with flowers and bushes) | d_2d_PA_I_M_kinoko.bin | | 15: Volcano (black) | d_2d_PA_W_M_kazan.bin | | 16: Volcano (black 2) [Unused] | d_2d_PA_W_M_kazangake.bin | | 17: Snow (with ice) | d_2d_PA_I_M_setsugen.bin | | 18: Snow | d_2d_PA_I_M_setsugen2.bin | | 19: Forest | d_2d_PA_W_M_jungle.bin | | 20: Oasis in Desert | d_2d_PA_W_M_kaigan3.bin | | 21: Bonus Room [Unused] | d_2d_PA_I_M_mame.bin | | 22: Volcano (black 2) [Unused] | d_2d_PA_W_M_kazangake.bin | | 23: Ghost House | d_2d_PA_S_M_obakeyasiki.bin | | 24: Cliffs | d_2d_PA_W_M_kazangake2.bin | | 25: Cliffs | d_2d_PA_W_M_kazangake2.bin | | 26: Snow (with ice) | d_2d_PA_I_M_setsugen.bin | | 27: Grassland | d_2d_PA_I_M_nohara.bin | | 28: Snow (with ice) | d_2d_PA_I_M_setsugen.bin | | 29: Factory (W7-A) | d_2d_PA_W_M_dokansoto.bin | | 30: Sewer (W2-3) | d_2d_PA_W_M_dokannaka.bin | | 31: Volcano (yellow) | d_2d_PA_W_M_yougantate.bin | | 32: Castle | d_2d_PA_I_M_yakata.bin | | 33: Sky/mushrooms (with flowers and bushes) | d_2d_PA_I_M_kinoko.bin | | 34: Grassland | d_2d_PA_I_M_nohara.bin | | 35: Underground | d_2d_PA_I_M_chika3.bin | | 36: Underground (dark blue) [Unused] | d_2d_PA_I_M_chika2.bin | | 37: Dark world (purple) | d_2d_PA_I_M_koopa_heigen.bin | | 38: Dark world (brown) | d_2d_PA_I_M_koopa_iwa.bin | | 39: Tower | d_2d_PA_I_M_toride.bin | | 40: Ghost house exit | d_2d_PA_S_M_obake_soto.bin | | 41: Final Castle | d_2d_PA_I_M_yakata.bin | | 42: Toad house 1 | d_2d_PA_W_M_kinokoA.bin | | 43: Toad house 2 | d_2d_PA_W_M_kinokoB.bin | | 44: Toad house 3 | d_2d_PA_W_M_kinokoC.bin | | 45: Final Castle | d_2d_PA_I_M_yakata.bin | | 46: Toad house 4 | d_2d_PA_W_M_kinokoD.bin | | 47: Bowser Jr battle | d_2d_PA_I_M_toride_boss.bin | | 48: Beach (blue) | d_2d_PA_W_M_kaigan.bin | | 49: Boss battle | d_2d_PA_I_M_yakata_boss.bin | | 50: Sky/mushrooms (with flowers and bushes) | d_2d_PA_I_M_kinoko.bin | | 51: Forest | d_2d_PA_W_M_jungle.bin | | 52: Desert | d_2d_PA_I_M_sabaku.bin | | 53: Desert | d_2d_PA_I_M_sabaku.bin | | 54: Forest | d_2d_PA_W_M_jungle.bin | | 55: Final boss battle | d_2d_PA_I_M_koopa_boss.bin | | 56: Volcano (black) | d_2d_PA_W_M_kazan.bin | | 57: Underwater | d_2d_PA_W_M_suichu.bin | | 58: Light grey castle (W8 Castle 1) | d_2d_PA_I_M_yakata_nise.bin | | 59: Sky/Mushrooms (yellow-ish) | d_2d_PA_I_M_kumo2.bin | | 60: Beach (turquoise, without moss) | d_2d_PA_W_M_kaigan2.bin | | 61: Lakithunder and Monty Tank battles | d_2d_PA_I_M_yakata_bossW7.bin | | 62: Boss battle | d_2d_PA_I_M_yakata_boss.bin | | 63: Mummy-Pokey battle | d_2d_PA_I_M_sabaku_boss.bin | | 64: Oasis in Desert | d_2d_PA_W_M_kaigan3.bin | | 65: Desert | d_2d_PA_I_M_sabaku.bin | | 66: Oasis in Desert | d_2d_PA_W_M_kaigan3.bin | | 67: Bonus room [Unused] | d_2d_PA_I_M_mame.bin | | 68: Bonus room [Unused] | d_2d_PA_I_M_mame.bin | | 69: Bonus room [Unused] | d_2d_PA_I_M_mame.bin | | 70: Bonus room [Unused] | d_2d_PA_I_M_mame.bin | | 71: Bonus room [Unused] | d_2d_PA_I_M_mame.bin | | 72: Bonus room [Unused] | d_2d_PA_I_M_mame.bin | | 73: Underground (gold) [Unused] | d_2d_PA_I_M_chika4.bin | | 74: Bonus room | d_2d_PA_I_M_mame_bonus.bin | | 75: Grassland | d_2d_PA_I_M_nohara.bin | ### Tile Behaviors Table Files stored in BG_chk/ folder. Table address in overlay 0: `0x0002FB44` Table address in memory: `0x020C8224` | Slot | Tile Behaviors | |--------------------------------|------------------------------------------| | Tileset 0 (Jyotyu) | Overlay 0 (0x2FDA4–0x301A3) | | Tileset 2 (Sub Nohara) | NoHaRaSubUnitChangeData.bin | | 0: Grassland | NoHaRaMainUnitChangeData.bin | | 1: Castle | YaKaTaMainUnitChangeData.bin | | 2: Desert | SaBaKuMainUnitChangeData.bin | | 3: Underground (with ice) | ChiKaMainUnitChangeData.bin | | 4: Sky/mushrooms (world 7 style) | KuMoMainUnitChangeData.bin | | 5: Underwater | SuIChuMainUnitChangeData.bin | | 6: Desert | SaBaKuMainUnitChangeData.bin | | 7: Volcano (brown) | YoUGaNMainUnitChangeData.bin | | 8: Grassland | NoHaRaMainUnitChangeData.bin | | 9: Beach (blue) | KaIGaNMainUnitChangeData.bin | | 10: Beach (blue) | KaIGaNMainUnitChangeData.bin | | 11: Forest | JungleMainUnitChangeData.bin | | 12: Grassland | NoHaRaMainUnitChangeData.bin | | 13: Sky/mushrooms (with flowers and bushes) | KiNoKoMainUnitChangeData.bin | | 14: Sky/mushrooms (with flowers and bushes) | KiNoKoMainUnitChangeData.bin | | 15: Volcano (black) | KaZaNMainUnitChangeData.bin | | 16: Volcano (black 2) [Unused] | KaZaNGaKeMainUnitChangeData.bin | | 17: Snow (with ice) | SeTsuGeNMainUnitChangeData.bin | | 18: Snow | SeTsuGeN2MainUnitChangeData.bin | | 19: Forest | JungleMainUnitChangeData.bin | | 20: Oasis in Desert | KaIGaN3MainUnitChangeData.bin | | 21: Bonus Room [Unused] | MaMeMainUnitChangeData.bin | | 22: Volcano (black 2) [Unused] | KaZaNGaKeMainUnitChangeData.bin | | 23: Ghost House | OBaKeYaSiKiMainUnitChangeData.bin | | 24: Cliffs | KaZaNGaKe2MainUnitChangeData.bin | | 25: Cliffs | KaZaNGaKe2MainUnitChangeData.bin | | 26: Snow (with ice) | SeTsuGeNMainUnitChangeData.bin | | 27: Grassland | NoHaRaMainUnitChangeData.bin | | 28: Snow (with ice) | SeTsuGeNMainUnitChangeData.bin | | 29: Factory (W7-A) | DoKaNSoToMainUnitChangeData.bin | | 30: Sewer (W2-3) | DoKaNNaKaMainUnitChangeData.bin | | 31: Volcano (yellow) | YoUGaNTaTeMainUnitChangeData.bin | | 32: Castle | YaKaTaMainUnitChangeData.bin | | 33: Sky/mushrooms (with flowers and bushes) | KiNoKoMainUnitChangeData.bin | | 34: Grassland | NoHaRaMainUnitChangeData.bin | | 35: Underground | ChiKa3MainUnitChangeData.bin | | 36: Underground (dark blue) [Unused] | ChiKa2MainUnitChangeData.bin | | 37: Dark world (purple) | KoopaHeIGeNMainUnitChangeData.bin | | 38: Dark world (brown) | KoopaIwaMainUnitChangeData.bin | | 39: Tower | ToRiDeMainUnitChangeData.bin | | 40: Ghost house exit | OBaKe_SoToMainUnitChangeData.bin | | 41: Final Castle | YaKaTaMainUnitChangeData.bin | | 42: Toad house 1 | kinokoAMainUnitChangeData.bin | | 43: Toad house 2 | kinokoBMainUnitChangeData.bin | | 44: Toad house 3 | kinokoCMainUnitChangeData.bin | | 45: Final Castle | YaKaTaMainUnitChangeData.bin | | 46: Toad house 4 | kinokoDMainUnitChangeData.bin | | 47: Bowser Jr battle | ToRiDeBossMainUnitChangeData.bin | | 48: Beach (blue) | KaIGaNMainUnitChangeData.bin | | 49: Boss battle | YaKaTaBossMainUnitChangeData.bin | | 50: Sky/mushrooms (with flowers and bushes) | KiNoKoMainUnitChangeData.bin | | 51: Forest | JungleMainUnitChangeData.bin | | 52: Desert | SaBaKuMainUnitChangeData.bin | | 53: Desert | SaBaKuMainUnitChangeData.bin | | 54: Forest | JungleMainUnitChangeData.bin | | 55: Final boss battle | KoopaBossMainUnitChangeData.bin | | 56: Volcano (black) | KaZaNMainUnitChangeData.bin | | 57: Underwater | SuIChuMainUnitChangeData.bin | | 58: Light grey castle (W8 Castle 1) | YaKaTaNiSeMainUnitChangeData.bin | | 59: Sky/Mushrooms (yellow-ish) | KuMo2MainUnitChangeData.bin | | 60: Beach (turquoise, without moss) | KaIGaN2MainUnitChangeData.bin | | 61: Lakithunder and Monty Tank battles | YaKaTaBossW7MainUnitChangeData.bin | | 62: Boss battle | YaKaTaBossMainUnitChangeData.bin | | 63: Mummy-Pokey battle | SaBaKuBossMainUnitChangeData.bin | | 64: Oasis in Desert | KaIGaN3MainUnitChangeData.bin | | 65: Desert | SaBaKuMainUnitChangeData.bin | | 66: Oasis in Desert | KaIGaN3MainUnitChangeData.bin | | 67: Bonus room [Unused] | MaMeMainUnitChangeData.bin | | 68: Bonus room [Unused] | MaMeMainUnitChangeData.bin | | 69: Bonus room [Unused] | MaMeMainUnitChangeData.bin | | 70: Bonus room [Unused] | MaMeMainUnitChangeData.bin | | 71: Bonus room [Unused] | MaMeMainUnitChangeData.bin | | 72: Bonus room [Unused] | MaMeMainUnitChangeData.bin | | 73: Underground (gold) [Unused] | ChiKa4MainUnitChangeData.bin | | 74: Bonus room | MaMeBonusMainUnitChangeData.bin | | 75: Grassland | NoHaRaMainUnitChangeData.bin | ### Mario vs Luigi File Table | Slot | Archive | Bitmap | Animations | Palette | Object Definitions| Map16 |Tile Behaviors| |------------|------------|------------|------------|------------|-------------------|-------| ------------| |1: Castle | Dat_Fort.narc | d_2d_I_M_tikei_yakata_ncg.bin |d_2d_TEN_I_tikei_yakata_ncg.bin|d_2d_I_M_tikei_yakata_ncl.bin| I_M_yakata.bin, I_M_yakata_hd.bin | d_2d_PA_I_M_yakata.bin |YaKaTaMainUnitChangeData.bin | |18: Snow | Dat_Ice.narc | d_2d_I_M_tikei_setsugen2_ncg.bin | None |d_2d_I_M_tikei_setsugen2_ncl.bin | I_M_setsugen2.bin, I_M_setsugen2_hd.bin |d_2d_PA_I_M_setsugen2.bin | SeTsuGeN2MainUnitChangeData.bin | |29: Factory (W7-A)| Dat_Pipe.narc| d_2d_W_M_tikei_dokansoto_ncg.bin | None |d_2d_W_M_tikei_dokansoto_ncl.bin | W_M_dokansoto.bin, W_M_dokansoto_hd.bin |d_2d_PA_W_M_dokansoto.bin | DoKaNSoToMainUnitChangeData.bin | |35: Underground|Dat_Basement.narc| d_2d_I_M_tikei_chika3_ncg.bin | None |d_2d_I_M_tikei_chika3_ncl.bin | I_M_chika3.bin, I_M_chika3_hd.bin| d_2d_PA_I_M_chika3.bin|ChiKa3MainUnitChangeData.bin | |41: Final Castle | Dat_Fort.narc | d_2d_I_M_tikei_yakata_ncg.bin | None |d_2d_I_M_tikei_yakata_ncl.bin | I_M_yakata.bin, I_M_yakata_hd.bin | d_2d_PA_I_M_yakata.bin |YaKaTaMainUnitChangeData.bin | |75: Grassland| Dat_Field.narc| d_2d_I_M_tikei_nohara_ncg.bin | None |d_2d_I_M_tikei_nohara_ncl.bin | I_M_nohara.bin, I_M_nohara_hd.bin | d_2d_PA_I_M_nohara.bin |NoHaRaMainUnitChangeData.bin | ### Randomization Table Table address in memory: `0x020CB640` Do note that this table is written at runtime. | Slot | Randomization | |--------------------------------|------------------------------------------| | Tileset 0 (Jyotyu) | None | | Tileset 2 (Sub Nohara) | None | | 0: Grassland | Tiles 0-5 | | 1: Castle | None | | 2: Desert | Tiles 0-5 | | 3: Underground (with ice) | Tiles 0-5, 48-53 | | 4: Sky/mushrooms (world 7 style) | None | | 5: Underwater | Tiles 0-5 | | 6: Desert | Tiles 0-5 | | 7: Volcano (brown) | None | | 8: Grassland | Tiles 0-5 | | 9: Beach (blue) | Tiles 0-5 | | 10: Beach (blue) | Tiles 0-5 | | 11: Forest | Tiles 0-2 | | 12: Grassland | Tiles 0-5 | | 13: Sky/mushrooms (with flowers and bushes) | Tiles 0-5 | | 14: Sky/mushrooms (with flowers and bushes) | Tiles 0-5 | | 15: Volcano (black) | Tiles 0-5 | | 16: Volcano (black 2) [Unused] | Tiles 0-5 | | 17: Snow (with ice) | Tiles 96-99 | | 18: Snow | None | | 19: Forest | Tiles 0-2 | | 20: Oasis in Desert | Tiles 0-5 | | 21: Bonus Room [Unused] | None | | 22: Volcano (black 2) [Unused] | None | | 23: Ghost House | None | | 24: Cliffs | Tiles 0-3 | | 25: Cliffs | Tiles 0-3 | | 26: Snow (with ice) | Tiles 96-99 | | 27: Grassland | Tiles 0-5 | | 28: Snow (with ice) | Tiles 96-99 | | 29: Factory (W7-A) | None | | 30: Sewer (W2-3) | None | | 31: Volcano (yellow) | Tiles 0-5 | | 32: Castle | None | | 33: Sky/mushrooms (with flowers and bushes) | Tiles 0-5 | | 34: Grassland | Tiles 0-5 | | 35: Underground | Tiles 0-5, 48-53 | | 36: Underground (dark blue) [Unused] | Tiles 0-5, 48-53 | | 37: Dark world (purple) | Tiles 0-5 | | 38: Dark world (brown) | Tiles 0-5 | | 39: Tower | None | | 40: Ghost house exit | Tiles 0-5 | | 41: Final Castle | None | | 42: Toad house 1 | None | | 43: Toad house 2 | None | | 44: Toad house 3 | None | | 45: Final Castle | None | | 46: Toad house 4 | None | | 47: Bowser Jr battle | None | | 48: Beach (blue) | Tiles 0-5 | | 49: Boss battle | None | | 50: Sky/mushrooms (with flowers and bushes) | Tiles 0-5 | | 51: Forest | Tiles 0-2 | | 52: Desert | Tiles 0-5 | | 53: Desert | Tiles 0-5 | | 54: Forest | Tiles 0-2 | | 55: Final boss battle | None | | 56: Volcano (black) | Tiles 0-5 | | 57: Underwater | Tiles 0-5 | | 58: Light grey castle (W8 Castle 1) | None | | 59: Sky/Mushrooms (yellow-ish) | None | | 60: Beach (turquoise, without moss) | Tiles 0-5 | | 61: Lakithunder and Monty Tank battles | None | | 62: Boss battle | None | | 63: Mummy-Pokey battle | None | | 64: Oasis in Desert | Tiles 0-5 | | 65: Desert | None | | 66: Oasis in Desert | Tiles 0-5 | | 67: Bonus room [Unused] | None | | 68: Bonus room [Unused] | None | | 69: Bonus room [Unused] | None | | 70: Bonus room [Unused] | None | | 71: Bonus room [Unused] | None | | 72: Bonus room [Unused] | None | | 73: Underground (gold) [Unused] | Tiles 0-5, 48-53 | | 74: Bonus room | None | | 75: Grassland | Tiles 0-5 | ### 3D Tile ID Table Table address in overlay 10: `0x00055BE0` Table address in memory: `0x02121ec0` | 3d Tile ID | File | Bitmap | Palette | Description | MvsL Archive | | -- | ------------- | --------------- | --------- | ----------------------------------------------------------- | -------------- | | 1 | I_dokan.nsbtx | I_do_d_ld | I_dokan:0 | Downwards-facing green pipe (left half) | Dat_enemy.narc | | 2 | I_dokan.nsbtx | I_do_d_rd | I_dokan:0 | Downwards-facing green pipe (right half) | Dat_enemy.narc | | 3 | I_dokan.nsbtx | I_do_kousa_t_ld | I_dokan:0 | Green pipe vertical-over-horizontal junction (bottom left) | Dat_enemy.narc | | 4 | I_dokan.nsbtx | I_do_kousa_t_lu | I_dokan:0 | Green pipe vertical-over-horizontal junction (top left) | Dat_enemy.narc | | 5 | I_dokan.nsbtx | I_do_kousa_t_rd | I_dokan:0 | Green pipe vertical-over-horizontal junction (bottom right) | Dat_enemy.narc | | 6 | I_dokan.nsbtx | I_do_kousa_t_ru | I_dokan:0 | Green pipe vertical-over-horizontal junction (top right) | Dat_enemy.narc | | 7 | I_dokan.nsbtx | I_do_kousa_y_ld | I_dokan:0 | Green pipe horizontal-over-vertical junction (bottom left) | Dat_enemy.narc | | 8 | I_dokan.nsbtx | I_do_kousa_y_lu | I_dokan:0 | Green pipe horizontal-over-vertical junction (top left) | Dat_enemy.narc | | 9 | I_dokan.nsbtx | I_do_kousa_y_rd | I_dokan:0 | Green pipe horizontal-over-vertical junction (bottom right) | Dat_enemy.narc | | 10 | I_dokan.nsbtx | I_do_kousa_y_ru | I_dokan:0 | Green pipe horizontal-over-vertical junction (top right) | Dat_enemy.narc | | 11 | I_dokan.nsbtx | I_do_ld | I_dokan:0 | Vertical green pipe (left half) | Dat_enemy.narc | | 12 | I_dokan.nsbtx | I_do_lu | I_dokan:0 | Upwards-facing green pipe (left half) | Dat_enemy.narc | | 13 | I_dokan.nsbtx | I_do_rd | I_dokan:0 | Vertical green pipe (right half) | Dat_enemy.narc | | 14 | I_dokan.nsbtx | I_do_ru | I_dokan:0 | Upwards-facing green pipe (right half) | Dat_enemy.narc | | 15 | I_dokan.nsbtx | I_do_yoko_d | I_dokan:0 | Horizontal green pipe (bottom half) | Dat_enemy.narc | | 16 | I_dokan.nsbtx | I_do_yoko_ld | I_dokan:0 | Leftward-facing green pipe (bottom half) | Dat_enemy.narc | | 17 | I_dokan.nsbtx | I_do_yoko_lu | I_dokan:0 | Leftward-facing green pipe (top half) | Dat_enemy.narc | | 18 | I_dokan.nsbtx | I_do_yoko_rd | I_dokan:0 | Rightward-facing green pipe (bottom half) | Dat_enemy.narc | | 19 | I_dokan.nsbtx | I_do_yoko_ru | I_dokan:0 | Rightward-facing green pipe (top half) | Dat_enemy.narc | | 20 | I_dokan.nsbtx | I_do_yoko_u | I_dokan:0 | Horizontal green pipe (top half) | Dat_enemy.narc | | 21 | I_dokan.nsbtx | I_do_ashiba_l | I_dokan:0 | Upwards-facing cracked green pipe (left half) | Dat_enemy.narc | | 22 | I_dokan.nsbtx | I_do_ashiba_r | I_dokan:0 | Upwards-facing cracked green pipe (right half) | Dat_enemy.narc | | 23 | I_dokan.nsbtx | I_do_ashiba_ld | I_dokan:0 | Downwards-facing cracked green pipe (left half) | Dat_enemy.narc | | 24 | I_dokan.nsbtx | I_do_ashiba_rd | I_dokan:0 | Downwards-facing cracked green pipe (right half) | Dat_enemy.narc | | 25 | I_dokan.nsbtx | I_do_hahen_l | I_dokan:0 | Downwards-facing green pipe fragment (left half) | Dat_enemy.narc | | 26 | I_dokan.nsbtx | I_do_hahen_ld | I_dokan:0 | Upwards-facing green pipe fragment (left half) | Dat_enemy.narc | | 27 | I_dokan.nsbtx | I_do_hahen_r | I_dokan:0 | Downwards-facing green pipe fragment (right half) | Dat_enemy.narc | | 28 | I_dokan.nsbtx | I_do_hahen_rd | I_dokan:0 | Upwards-facing green pipe fragment (left half) | Dat_enemy.narc | | 29 | I_dokan.nsbtx | I_do_d_ld | I_dokan:1 | Downwards-facing red pipe (left half) | Dat_enemy.narc | | 30 | I_dokan.nsbtx | I_do_d_rd | I_dokan:1 | Downwards-facing red pipe (right half) | Dat_enemy.narc | | 31 | I_dokan.nsbtx | I_do_ld | I_dokan:1 | Vertical red pipe (left half) | Dat_enemy.narc | | 32 | I_dokan.nsbtx | I_do_lu | I_dokan:1 | Upwards-facing red pipe (left half) | Dat_enemy.narc | | 33 | I_dokan.nsbtx | I_do_rd | I_dokan:1 | Vertical red pipe (right half) | Dat_enemy.narc | | 34 | I_dokan.nsbtx | I_do_ru | I_dokan:1 | Upwards-facing red pipe (right half) | Dat_enemy.narc | | 35 | I_dokan.nsbtx | I_do_yoko_d | I_dokan:1 | Horizontal red pipe (bottom half) | Dat_enemy.narc | | 36 | I_dokan.nsbtx | I_do_yoko_ld | I_dokan:1 | Leftward-facing red pipe (bottom half) | Dat_enemy.narc | | 37 | I_dokan.nsbtx | I_do_yoko_lu | I_dokan:1 | Leftward-facing red pipe (top half) | Dat_enemy.narc | | 38 | I_dokan.nsbtx | I_do_yoko_rd | I_dokan:1 | Rightward-facing red pipe (bottom half) | Dat_enemy.narc | | 39 | I_dokan.nsbtx | I_do_yoko_ru | I_dokan:1 | Rightward-facing red pipe (top half) | Dat_enemy.narc | | 40 | I_dokan.nsbtx | I_do_yoko_u | I_dokan:1 | Horizontal red pipe (top half) | Dat_enemy.narc | | 41 | I_dokan.nsbtx | I_do_ashiba_l | I_dokan:1 | Upwards-facing cracked red pipe (left half) | Dat_enemy.narc | | 42 | I_dokan.nsbtx | I_do_ashiba_r | I_dokan:1 | Upwards-facing cracked red pipe (right half) | Dat_enemy.narc | | 43 | I_dokan.nsbtx | I_do_ashiba_ld | I_dokan:1 | Downwards-facing cracked red pipe (left half) | Dat_enemy.narc | | 44 | I_dokan.nsbtx | I_do_ashiba_rd | I_dokan:1 | Downwards-facing cracked red pipe (right half) | Dat_enemy.narc | | 45 | I_dokan.nsbtx | I_do_hahen_l | I_dokan:1 | Downwards-facing red pipe fragment (left half) | Dat_enemy.narc | | 46 | I_dokan.nsbtx | I_do_hahen_ld | I_dokan:1 | Upwards-facing red pipe fragment (left half) | Dat_enemy.narc | | 47 | I_dokan.nsbtx | I_do_hahen_r | I_dokan:1 | Downwards-facing red pipe fragment (right half) | Dat_enemy.narc | | 48 | I_dokan.nsbtx | I_do_hahen_rd | I_dokan:1 | Upwards-facing red pipe fragment (left half) | Dat_enemy.narc | | 49 | I_dokan.nsbtx | I_do_d_ld | I_dokan:2 | Downwards-facing yellow pipe (left half) | Dat_enemy.narc | | 50 | I_dokan.nsbtx | I_do_d_rd | I_dokan:2 | Downwards-facing yellow pipe (right half) | Dat_enemy.narc | | 51 | I_dokan.nsbtx | I_do_ld | I_dokan:2 | Vertical yellow pipe (left half) | Dat_enemy.narc | | 52 | I_dokan.nsbtx | I_do_lu | I_dokan:2 | Upwards-facing yellow pipe (left half) | Dat_enemy.narc | | 53 | I_dokan.nsbtx | I_do_rd | I_dokan:2 | Vertical yellow pipe (right half) | Dat_enemy.narc | | 54 | I_dokan.nsbtx | I_do_ru | I_dokan:2 | Upwards-facing yellow pipe (right half) | Dat_enemy.narc | | 55 | I_dokan.nsbtx | I_do_yoko_d | I_dokan:2 | Horizontal yellow pipe (bottom half) | Dat_enemy.narc | | 56 | I_dokan.nsbtx | I_do_yoko_ld | I_dokan:2 | Leftward-facing yellow pipe (bottom half) | Dat_enemy.narc | | 57 | I_dokan.nsbtx | I_do_yoko_lu | I_dokan:2 | Leftward-facing yellow pipe (top half) | Dat_enemy.narc | | 58 | I_dokan.nsbtx | I_do_yoko_rd | I_dokan:2 | Rightward-facing yellow pipe (bottom half) | Dat_enemy.narc | | 59 | I_dokan.nsbtx | I_do_yoko_ru | I_dokan:2 | Rightward-facing yellow pipe (top half) | Dat_enemy.narc | | 60 | I_dokan.nsbtx | I_do_yoko_u | I_dokan:2 | Horizontal yellow pipe (top half) | Dat_enemy.narc | | 61 | I_dokan.nsbtx | I_do_ashiba_l | I_dokan:2 | Upwards-facing cracked yellow pipe (left half) | Dat_enemy.narc | | 62 | I_dokan.nsbtx | I_do_ashiba_r | I_dokan:2 | Upwards-facing cracked yellow pipe (right half) | Dat_enemy.narc | | 63 | I_dokan.nsbtx | I_do_ashiba_ld | I_dokan:2 | Downwards-facing cracked yellow pipe (left half) | Dat_enemy.narc | | 64 | I_dokan.nsbtx | I_do_ashiba_rd | I_dokan:2 | Downwards-facing cracked yellow pipe (right half) | Dat_enemy.narc | | 65 | I_dokan.nsbtx | I_do_hahen_l | I_dokan:2 | Downwards-facing yellow pipe fragment (left half) | Dat_enemy.narc | | 66 | I_dokan.nsbtx | I_do_hahen_ld | I_dokan:2 | Upwards-facing yellow pipe fragment (left half) | Dat_enemy.narc | | 67 | I_dokan.nsbtx | I_do_hahen_r | I_dokan:2 | Downwards-facing yellow pipe fragment (right half) | Dat_enemy.narc | | 68 | I_dokan.nsbtx | I_do_hahen_rd | I_dokan:2 | Upwards-facing yellow pipe fragment (left half) | Dat_enemy.narc | | 69 | wire_netting1.nsbtx | wire_netting1 | wire_netting1:0 | Climbable fence centre | None | | 70 | wire_netting2.nsbtx | wire_netting2 | wire_netting2:0 | Climbable fence top left corner | None | | 71 | wire_netting3.nsbtx | wire_netting3 | wire_netting3:0 | Climbable fence top centre | None | | 72 | wire_netting4.nsbtx | wire_netting4 | wire_netting4:0 | Climbable fence top centre | None | | 73 | wire_netting5.nsbtx | wire_netting5 | wire_netting5:0 | Climbable fence top centre | None | | 74 | wire_netting6.nsbtx | wire_netting6 | wire_netting6:0 | Climbable fence top right corner | None | | 75 | wire_netting7.nsbtx | wire_netting7 | wire_netting7:0 | Climbable fence left edge | None | | 76 | wire_netting8.nsbtx | wire_netting8 | wire_netting8:0 | Climbable fence right edge | None | | 77 | wire_netting9.nsbtx | wire_netting9 | wire_netting9:0 | Climbable fence left edge | None | | 78 | wire_netting10.nsbtx | wire_netting10 | wire_netting10:0 | Climbable fence right edge | None | | 79 | wire_netting11.nsbtx | wire_netting11 | wire_netting11:0 | Climbable fence left edge | None | | 80 | wire_netting12.nsbtx | wire_netting12 | wire_netting12:0 | Climbable fence right edge | None | | 81 | wire_netting13.nsbtx | wire_netting13 | wire_netting13:0 | Climbable fence bottom left corner | None | | 82 | wire_netting14.nsbtx | wire_netting14 | wire_netting14:0 | Climbable fence bottom centre | None | | 83 | wire_netting15.nsbtx | wire_netting15 | wire_netting15:0 | Climbable fence bottom centre | None | | 84 | wire_netting16.nsbtx | wire_netting16 | wire_netting16:0 | Climbable fence bottom centre | None | | 85 | wire_netting17.nsbtx | wire_netting17 | wire_netting17:0 | Climbable fence bottom right corner | None | | 86 | I_do_kanagu_ld.nsbtx | I_do_kanagu_ld | I_do_kanagu_ld:0 | Pipe joint bottom left | None | | 87 | I_do_kanagu_lu.nsbtx | I_do_kanagu_lu | I_do_kanagu_lu:0 | Pipe joint top left | None | | 88 | I_do_kanagu_rd.nsbtx | I_do_kanagu_rd | I_do_kanagu_rd:0 | Pipe joint bottom right | None | | 89 | I_do_kanagu_ru.nsbtx | I_do_kanagu_ru | I_do_kanagu_ru:0 | Pipe joint top right | None | | 90 | I_ryusa_1.nsbtx | I_ryusa_1 | I_ryusa_1:0 | Quicksand (frame 1) | None | | 91 | I_ryusa_2.nsbtx | I_ryusa_2 | I_ryusa_2:0 | Quicksand (frame 2) | None | | 92 | I_ryusa_3.nsbtx | I_ryusa_3 | I_ryusa_3:0 | Quicksand (frame 3) | None | | 93 | I_ryusa_4.nsbtx | I_ryusa_4 | I_ryusa_4:0 | Quicksand (frame 4) | None | | 94 | I_ryusa_ue1.nsbtx | I_ryusa_ue1 | I_ryusa_ue1:0 | Quicksand surface (frame 1) | None | | 95 | I_ryusa_ue2.nsbtx | I_ryusa_ue2 | I_ryusa_ue2:0 | Quicksand surface (frame 2) | None | | 96 | I_ryusa_ue3.nsbtx | I_ryusa_ue3 | I_ryusa_ue3:0 | Quicksand surface (frame 3) | None | | 97 | I_ryusa_ue4.nsbtx | I_ryusa_ue4 | I_ryusa_ue4:0 | Quicksand surface (frame 4) | None | | 98 | I_hashira_lu.nsbtx | I_hashira_lu | I_hashira_lu:0 | Pillar top left | None | | 99 | I_hashira_cu.nsbtx | I_hashira_cu | I_hashira_cu:0 | Pillar top centre | None | | 100 | I_hashira_ru.nsbtx | I_hashira_ru | I_hashira_ru.tga:0 | Pillar top right | None | | 101 | I_hashira_l.nsbtx | I_hashira_l | I_hashira_l:0 | Pillar left edge | None | | 102 | I_hashira_c.nsbtx | I_hashira_c | I_hashira_c:0 | Pillar centre | None | | 103 | I_hashira_r.nsbtx | I_hashira_r | I_hashira_r:0 | Pillar right edge | None | | 104 | I_hashira_ld.nsbtx | I_hashira_ld | I_hashira_ld:0 | Pillar bottom left | None | | 105 | I_hashira_cd.nsbtx | I_hashira_cd | I_hashira_cd:0 | Pillar bottom centre | None | | 106 | I_hashira_rd.nsbtx | I_hashira_rd | I_hashira_rd:0 | Pillar bottom right | None | | 107 | I_mamedokan.nsbtx | I_mamedokan_a_d | I_mamedokan:0 | Downwards-facing cracked mini-pipe | None | | 108 | I_mamedokan.nsbtx | I_mamedokan_a_u | I_mamedokan:0 | Upwards-facing cracked mini-pipe | None | | 109 | I_mamedokan.nsbtx | I_mamedokan_d | I_mamedokan:0 | Downwards-facing mini-pipe | None | | 110 | I_mamedokan.nsbtx | I_mamedokan_h_d | I_mamedokan:0 | Downwards-facing mini-pipe fragment | None | | 111 | I_mamedokan.nsbtx | I_mamedokan_h_u | I_mamedokan:0 | Upwards-facing mini-pipe fragment | None | | 112 | I_mamedokan.nsbtx | I_mamedokan_l | I_mamedokan:0 | Leftwards-facing mini-pipe | None | | 113 | I_mamedokan.nsbtx | I_mamedokan_r | I_mamedokan:0 | Rightwards-facing mini-pipe | None | | 114 | I_mamedokan.nsbtx | I_mamedokan_tate | I_mamedokan:0 | Mini-pipe vertical-over-horizontal junction | None | | 115 | I_mamedokan.nsbtx | I_mamedokan_tt | I_mamedokan:0 | Vertical mini-pipe | None | | 116 | I_mamedokan.nsbtx | I_mamedokan_u | I_mamedokan:0 | Upwards-facing mini-pipe | None | | 117 | I_mamedokan.nsbtx | I_mamedokan_yoko | I_mamedokan:0 | Mini-pipe horizontal-over-vertical junction | None | | 118 | I_mamedokan.nsbtx | I_mamedokan_yt | I_mamedokan:0 | Horizontal mini-pipe | None | | 119 | I_mamedokan_tome.nsbtx | I_mamedokan_tome | I_mamedokan_tome:0 | Mini-pipe joint | None | | 120 | I_mizu.nsbtx | I_mizu_suichu | I_mizu_ue:0 | Water surface tile | None | | 121 | I_mizu.nsbtx | I_mizu_suimen | I_mizu_ue:0 | Water tile | None | | 122 | I_toride1.nsbtx | I_toride1 | I_toride:0 | End-of-level castle wall top left corner | None | | 123 | I_toride2.nsbtx | I_toride2 | I_toride:0 | End-of-level castle wall top centre | None | | 124 | I_toride3.nsbtx | I_toride3 | I_toride:0 | End-of-level castle wall top right corner | None | | 125 | I_toride4.nsbtx | I_toride4 | I_toride:0 | End-of-level castle wall left centre | None | | 126 | I_toride5.nsbtx | I_toride5 | I_toride:0 | End-of-level castle wall centre | None | | 127 | I_toride6.nsbtx | I_toride6 | I_toride:0 | End-of-level castle wall right centre | None | | 128 | I_toride7.nsbtx | I_toride7 | I_toride:0 | End-of-level castle wall bottom left corner | None | | 129 | I_toride8.nsbtx | I_toride8 | I_toride:0 | End-of-level castle wall bottom centre | None | | 130 | I_toride9.nsbtx | I_toride9 | I_toride:0 | End-of-level castle wall bottom right corner | None | | 131 | I_toride2_1.nsbtx | I_toride2_1 | I_toride2:0 | End-of-level castle turret top left corner | None | | 132 | I_toride2_2.nsbtx | I_toride2_2 | I_toride2:0 | End-of-level castle turret top left centre | None | | 133 | I_toride2_3.nsbtx | I_toride2_3 | I_toride2:0 | End-of-level castle turret top right centre | None | | 134 | I_toride2_4.nsbtx | I_toride2_4 | I_toride2:0 | End-of-level castle turret top right corner | None | | 135 | I_toride2_5.nsbtx | I_toride2_5 | I_toride2:0 | End-of-level castle turret middle left edge | None | | 136 | I_toride2_6.nsbtx | I_toride2_6 | I_toride2:0 | End-of-level castle turret middle left centre | None | | 137 | I_toride2_7.nsbtx | I_toride2_7 | I_toride2:0 | End-of-level castle turret middle right centre | None | | 138 | I_toride2_8.nsbtx | I_toride2_8 | I_toride2:0 | End-of-level castle turret middle right edge | None | | 139 | I_toride2_9.nsbtx | I_toride2_9 | I_toride2:0 | End-of-level castle turret bottom left corner | None | | 140 | I_toride2_10.nsbtx | I_toride2_10 | I_toride2:0 | End-of-level castle turret bottom left centre | None | | 141 | I_toride2_11.nsbtx | I_toride2_11 | I_toride2:0 | End-of-level castle turret bottom right centre | None | | 142 | I_toride2_12.nsbtx | I_toride2_12 | I_toride2:0 | End-of-level castle turret bottom right corner | None | # World Map Files

TODO: Finish the rest & update the descriptions

### Map Folder:
Files
Description / Information
cursor\_koopa\_jr.nsbca
Bowser Jr's Animation (Joint)
cursor\_koopa\_jr.nsbmd
Bowser Jr's World Map Textures
cursor\_peach.nsbca
Peach's Animation (Joint)
cursor\_peach.nsbmd
Peach's World Map Textures
hammer\_map.nsbmd
Hammer Bro's Hammer Texture
map\_dragon.nsbca
Star Coin Sign's Animation (Joint)
map\_dragon.nsbmd
Star Coin Sign's Textures
map\_dragon.nsbtp
Star Coin Sign's Animation (Pattern)
map\_hole.nsbmd?
map\_point.nsbmd
World Map Node's Textures
map\_point.nsbtp
World Map Node's Animation (Pattern)
map\_shadow.nsbca?
map\_shadow.nsbmd?
map\_swing.nsbca?
w1.nsbmd
World 1's Textures (Doesn't have the texture for the elevated ground near the first tower & the green layering in the background)
w1.nsbca
World 1's Animation (Joint)
w1.nsbtp
World 1's Animation (Pattern)
w1\_castle.nsbca
World 1 Castle's Animation (Joint)
w1\_castle.nsbmd
World 1 Castle's Textures
w1\_kinoko\_a.nsbmd
Blue Mushroom House's Texture
w1\_kinoko\_b.nsbmd
Mega Mushroom House's Texture
w1\_kinoko\_g.nsbmd
1-Up Mushroom House's Texture
w1\_kinoko\_p.nsbmd
Wood Mushroom House Holder's Texture
w1\_kinoko\_r.nsbmd
Item Bonus House's Texture
w1\_move.nsbca
The animation where Bowser Jr. brings Peach to 1-Tower
w1\_tower.nsbca
World 1 Tower's Animation (Joint)
w1\_tower.nsbmd
World 1 Tower's Textures
w1\_tree.nsbca
World 1 Tree's Animation (Joint)
w1\_tree.nsbmd
World 1 Tree's Textures
w2.nsbmd
World 2's Textures
w2.nsbca
World 2's Animation (Joint)
w2.nsbtp
World 2's Animation (Pattern)
w2\_castle.nsbmd
World 2 Castle's Textures
w2\_kinoko\_b.nsbmd
Mega Mushroom House's Texture
w2\_kinoko\_g.nsbmd
1-Up Mushroom House's Texture
w2\_kinoko\_p.nsbmd
Wood Mushroom House Holder's Texture
w2\_kinoko\_r.nsbmd
Item Bonus House's Texture
w2\_move.nsbca
The animation where Bowser Jr. brings Peach to 2-Tower
w2\_tower.nsbca
World 2 Tower's Animation (Joint)
w2\_tower.nsbmd
World 2 Tower's Textures
w2\_tree.nsbca
World 2 Tree's Animation (Joint)
w2\_tree.nsbmd
World 2 Tree's Textures
# World Map Information related to modifying the world map. # Course Area IDs

TODO: An explanatory sentence or two. Verify 128. Maybe combine with Level List?

Note: If you're making a world map using Goombatlas, setting the area ID of a node to 185 or higher will make it not react when pressing "A". ### World 1 | Area ID | Area | |---------|------| | 000 | 1-1 Area 1 | | 001 | 1-1 Area 2 | | 002 | 1-1 Area 3 | | 003 | 1-2 Area 1 | | 004 | 1-2 Area 2 | | 005 | 1-2 Area 3 | | 006 | 1-3 | | 007 | 1-4 Area 1 | | 008 | 1-4 Area 2 | | 009 | 1-4 Area 3 | | 010 | 1-5 Area 1 | | 011 | 1-5 Area 2 | | 012 | 1-A Area 1 | | 013 | 1-A Area 2 | | 014 | 1-Tower Area 1 | |015|1-Tower Area 2| |016|1-Tower Area 3| |017|1-Castle Area 1| |018|1-Castle Area 2| |019|1-Castle Area 3| |020|1-Cannon| ### World 2 | Area ID | Area | |---------|------| | 021 | 2-1 Area 1 | | 022 | 2-1 Area 2 | | 023 | 2-1 Area 3 | | 024 | 2-2 Area 1 | | 025 | 2-2 Area 2 | | 026 | 2-3 Area 1 | | 027 | 2-3 Area 2 | | 028 | 2-4 Area 1 | | 029 | 2-4 Area 2 | | 030 | 2-5 Area 1 | | 031 | 2-5 Area 2 | | 032 | 2-6 Area 1 | | 033 | 2-6 Area 2 | | 034 | 2-A Area 1 | | 035 | 2-A Area 2 | | 036 | 2-A Area 3 | | 037 | 2-Tower Area 1 | | 038 | 2-Tower Area 2 | | 039 | 2-Tower Area 3 | | 040 | 2-Castle Area 1| | 041 | 2-Castle Area 2| | 042 | 2-Castle Area 3| | 043 | 2-Cannon| ### World 3 | Area ID | Area | |---------|------| | 044 | 3-1 Area 1 | | 045 | 3-1 Area 2 | | 046 | 3-2 Area 1 | | 047 | 3-2 Area 2 | | 048 | 3-3 Area 1 | | 049 | 3-3 Area 2 | | 050 | 3-3 Area 3 | | 051 | 3-A Area 1 | | 052 | 3-A Area 2 | | 053 | 3-A Area 3 | | 054 | 3-B Area 1 | | 055 | 3-B Area 2 | | 056 | 3-C Area 1 | | 057 | 3-C Area 2 | | 058 | 3-Ghost House Area 1 | | 059 | 3-Ghost House Area 2 | | 060 | 3-Ghost House Area 3 | | 061 | 3-Tower Area 1 | | 062 | 3-Tower Area 2 | | 063 | 3-Castle Area 1 | | 064 | 3-Castle Area 2 | | 065 | 3-Cannon | ### World 4 | Area ID | Area | |---------|------| | 066 | 4-1 | | 067 | 4-2 Area 1 | | 068 | 4-2 Area 2 | | 069 | 4-3 Area 1 | | 070 | 4-3 Area 2 | | 071 | 4-4 Area 1 | | 072 | 4-4 Area 2 | | 073 | 4-5 Area 1 | | 074 | 4-5 Area 2 | | 075 | 4-5 Area 3 | | 076 | 4-6 Area 1 | | 077 | 4-6 Area 2 | | 078 | 4-A Area 1 | | 079 | 4-A Area 2 | | 080 | 4-Ghost House Area 1 | | 081 | 4-Ghost House Area 2 | | 082 | 4-Ghost House Area 3 | | 083 | 4-Tower Area 1 | | 084 | 4-Tower Area 2 | | 085 | 4-Castle Area 1 | | 086 | 4-Castle Area 2 | | 087 | 4-Cannon | ### World 5 | Area ID | Area | |---------|------| | 088 | 5-1 | | 089 | 5-2 Area 1 | | 090 | 5-2 Area 2 | | 091 | 5-3 Area 1 | | 092 | 5-3 Area 2 | | 093 | 5-4 | | 094 | 5-A Area 1 | | 095 | 5-A Area 2 | | 096 | 5-B | | 097 | 5-C Area 1 | | 098 | 5-C Area 2 | | 099 | 5-Ghost House Area 1 | | 100 | 5-Ghost House Area 2 | | 101 | 5-Ghost House Area 3 | | 102 | 5-Tower Area 1 | | 103 | 5-Tower Area 2 | | 104 | 5-Castle Area 1 | | 105 | 5-Castle Area 2 | | 106 | 5-Cannon | ### World 6 | Area ID | Area | |---------|------| | 107 | 6-1 Area 1 | | 108 | 6-1 Area 2 | | 109 | 6-2 Area 1 | | 110 | 6-2 Area 2 | | 111 | 6-3 Area 1 | | 112 | 6-3 Area 2 | | 113 | 6-4 | | 114 | 6-5 Area 1 | | 115 | 6-5 Area 2 | | 116 | 6-6 Area 1 | | 117 | 6-6 Area 2 | | 118 | 6-6 Area 3 | | 119 | 6-7 Area 1 | | 120 | 6-7 Area 2 | | 121 | 6-B | | 122 | 6-Tower Area 1 | | 123 | 6-Tower Area 2 | | 124 | 6-Tower 2 Area 1 | | 125 | 6-Tower 2 Area 2 | | 126 | 6-Castle Area 1 | | 127 | 6-Castle Area 2 | | 128? | 6-Cannon (Unused) | ### World 7 | Area ID | Area | |---------|------| | 129 | 7-1 | | 130 | 7-2 Area 1 | | 131 | 7-2 Area 2 | | 132 | 7-3 Area 1 | | 133 | 7-3 Area 2 | | 134 | 7-4 | | 135 | 7-5 Area 1 | | 136 | 7-5 Area 2 | | 137 | 7-5 Area 3 | | 138 | 7-6 Area 1 | | 139 | 7-6 Area 2 | | 140 | 7-6 Area 3 | | 141 | 7-Ghost House Area 1 | | 142 | 7-Ghost House Area 2 | | 143 | 7-Ghost House Area 3 | | 144 | 7-Tower Area 1 | | 145 | 7-Tower Area 2 | | 146 | 7-Castle Area 1 | | 147 | 7-Castle Area 2 | ### World 8 | Area ID | Area | |---------|------| | 151 | 8-1 Area 1 | | 152 | 8-1 Area 2 | | 153 | 8-2 Area 1 | | 154 | 8-2 Area 2 | | 155 | 8-2 Area 3 | | 156 | 8-3 Area 1 | | 157 | 8-3 Area 2 | | 158 | 8-4 Area 1 | | 159 | 8-4 Area 2 | | 160 | 8-5 Area 1 | | 161 | 8-5 Area 2 | | 162 | 8-6 Area 1 | | 163 | 8-6 Area 2 | | 164 | 8-7 | | 165 | 8-8 Area 1 | | 166 | 8-8 Area 2 | | 167 | 8-Tower Area 1 | | 168 | 8-Tower Area 2 | | 169 | 8-Tower 2 Area 1 | | 170 | 8-Tower 2 Area 2 | | 171 | 8-Castle Area 1 | | 172 | 8-Castle Area 2 | | 173 | 8-Final Castle Area 1 | | 174 | 8-Final Castle Area 2 | | 175 | 8-Final Castle Area 3 | ### Other | Area ID | Area | |---------|------| | 176 | 1-Up Toad House | | 177 | Item Toad House | | 178 | Mega Mushroom Toad House | | 179 | Blue Toad House | | 180 | MvsL: SMB 1-1 | | 181 | MvsL: Underground | | 182 | MvsL: Ice World | | 183 | MvsL: Pipe World | | 184 | MvsL: Castle |
(Source: xFrostyCake123)