ROM Hack [GUIDE] NSMB2 Custom Levels & Mods (The Easier Way)

Was this guide easy to follow? / Did it work?

  • Easy to follow, but didn't work.

  • Easy to follow, and worked.

  • Not easy to follow, and didn't work.

  • Not easy to follow, but worked.


Results are only viewable after voting.

Gimzie

professional moron
OP
Member
Joined
Aug 6, 2016
Messages
278
Trophies
0
XP
988
Country
United States

Before anything else, completely mod your 3DS by following the all-mighty tutorial over at 3ds.hacks.guide


DID YOU FOLLOW THIS GUIDE AND INSTALL A9LH? UPDATE FROM THE OLD UNSUPPORTED A9LH TO THE FRESH NEW BOOT9STRAP WITH THIS: https://3ds.hacks.guide/a9lh-to-b9s


Part I: Preparing for Dumping

CoinKiller, the editor that you will use to make levels, and edit tilesets, needs something called a RomFS folder. Let's go over some terminology before we start:

Rom - Basically a game, in simple terms.

RomFS - A .bin file that contains all of the files that the game uses, except for the code.

RomFS folder - A folder that contains all of the files that the game uses, and which CoinKiller loads files from.

CoinKiller - A NSMB2 multi-purpose tool (designed mainly for level editing) that is used to mod NSMB2.

NSMB2 - Short version of New Super Mario Bros 2.

So, now that we've gone over the terminology, we can start the process of setting up CoinKiller with a NSMB2 RomFS folder.

First, you'll need to grab CoinKiller. There are multiple Windows & Linux builds to choose from, so you should select the one that's right for you.

Stable Releases: https://github.com/StapleButter/CoinKiller/releases/

Next, you need to own a legit copy of New Super Mario Bros 2. I will not provide you with a copy, so don't ask for one.

Lastly, you also need GodMode9, which you should already have if you followed the guide linked at the top, either one.

That's about it, and you should be ready to dump NSMB2!


Part II: Dumping New Super Mario Bros 2.

So, now you have everything you need to dump NSMB2. Here's how you can do it:

MAKE SURE YOU HAVE AT LEAST 4GB OF SPACE AVAILABLE ON YOUR 3DS SD CARD!

If you have a physical copy of NSMB2, follow these steps:

1. Reboot your 3DS while holding START.

2. Your 3DS should boot straight into GodMode9.
- If it brings you to a menu, simply choose GodMode9.


3. Make sure your copy of NSMB2 is inserted into the game card slot, and if it isn't already, insert it now.

4. Navigate into GAMECART, and you should see two files that end with .3ds. Open the .trim.3ds file.

5. Press A on this file, and choose NCSD Image Options.

6. Then select Mount Image to Drive, and press A.
- You will now be taken to inside the .3ds file, which contains game data.


7. Next, navigate into the content0.game folder.

8. Highlight the folder called romfs (not romfs.bin) and press R + A to open the directory options menu.

9. Choose Copy to 0:/gm9out.

10. After the file gets copied, press B to go all the way back to the main menu, and press Start and R to power the 3DS off.
- You are now ready to move onto Part III: Setting up CoinKiller!

If you have a digital copy, follow these steps to get NSMB2 dumped:

1. Reboot your 3DS while holding START.

2. Your 3DS should boot straight into GodMode9.
- If it brings you to a menu, simply choose GodMode9.


3. Navigate into the section based on where your digital copy is located:
- If your copy is on System Memory, then choose SYSNAND CTRNAND
- If your copy is on an SD Card, then choose SYSNAND SD.


4. Navigate into the title folder.
- NSMB2 has a different TitleID folder that you need to navigate into, depending on what region and version of the game you have. Navigate to the directory for your region/version below, and then continue onto Step 5.


NSMB2 Standard Edition:

EUR - /00040000/0007AF00/

USA - /00040000/0007AE00/

JPN - /0004000/0007AD00/

NSMB2 Gold Edition:

USA - /00040000/00137E00/

NSMB2 Special Edition:

EUR - /00040000/00137F00/

JPN - /00004000/00137D00/

5. Next, navigate into content, and you should see two files that end with .app. Open the largest .app file of the two.

6. Press A on this file, and choose NCCH Image Options.

7. Choose Show Title Info and verify that it is the correct version of NSMB2, then press B to go back.

8. Press A to reopen the file, choose NCCH Image Options, and press A on Mount Image to Drive.
- You will now be taken to inside the .app file, which contains the game's contents.


9. Highlight the folder called romfs (not romfs.bin) and press R + A to open the directory options menu.

10. Choose Copy to 0:/gm9out.

11. After the file gets copied, press B to go all the way back to the main menu, and press Start and R to power the 3DS off.
- You are now ready to move onto Part III: Setting up CoinKiller!

Part III: Setting up CoinKiller

So, now that you have a valid dump of NSMB2, it's time to do something with it!

1. Put your 3DS SD Card into your PC, and navigate to 3DS SD Card:/gm9out/.
-You should see a folder called romfs. This is the folder that we copied earlier, and it contains all of the game's files. (Except the code itself, and the banner)

2. Make a folder somewhere on your PC where you can store all of your different RomFS folders. Copy the romfs folder into your newly created directory.

3. Rename the romfs folder to Retail RomFS.

4. Make a copy of this folder in the same location, and call it anything else.
- Retail RomFS contains the original files, and you can make copies of it for mods.

5. Open CoinKiller, and go to File -> Load Unpacked RomFS. Choose the copy of the Retail RomFS folder that you made in Step 6.

Now you can successfully edit levels in CoinKiller and save them!

Part IV: Playing your own mod on a real 3DS!

So, you can edit levels and tilesets in CoinKiller, but how can you actually play them on a real 3DS? There are two ways.


Luma 8 - Those who want an easy way to play mods, by just launching the game.

(Optional) If you came from the OnionFS method, and have no other plugins/mods, delete the plugin and OnionFS folders from your SD Card.

1b. Launch Luma Updater, and update to the latest stable release. When you reboot, you might be brought to the Luma3DS config screen. If you do, make sure it looks like this:

Luma3DS v<version> configuration
Press A to select, START to save


Default EmuNAND: 1(x) 2( ) 3( ) 4( )
Screen brightness: 4(x) 3( ) 2( ) 1( )
Splash: Off(x) Before( ) After ( ) payloads
PIN lock: Off(x) 4( ) 6( ) 8( ) digits

(Only on New3DS) New 3DS CPU: Off( ) Clock( ) L2( ) Clock+L2(x)

( ) Autoboot EmuNAND
( ) Use EmuNAND FIRM if booting with R
(x) Enable loading external FIRMs and modules
(x) Enable game patching
(x) Show NAND or user string in System Settings
(x) Show GBA boot screen in patched AGB_FIRM
( ) Patch SVC/service/archive/ARM9 acecss
( ) Set developer UNITINFO
( ) Enable exception handlers


Then press START to save.
- If you don't, reboot your 3DS while holding SELECT and set the settings above.


2. In your luma folder on your SD card, that you should already have, make a new folder called titles.

3. In this new folder, create a new folder named one of the TitleIDs below:

NSMB2 Standard Edition:

EUR - 000400000007AF00

USA - 000400000007AE00

JPN - 000040000007AD00

NSMB2 Gold Edition:

USA - 0004000000137E00

NSMB2 Special Edition:

EUR - 0004000000137F00

JPN - 0000400000137D00

4. Inside the folder you just created, make a new folder named romfs. This will be structured like the dumped RomFS folder.

5. Copy whatever you've edited into (SD Card:/luma/titles/<titleid>/romfs/, keeping the RomFS structure.

Example:
Edited Levels: SD\luma\titles\<TitleID>\romfs\Course\<level goes inside here>
Edited Background: SD\luma\titles\<TitleID>\romfs\Model\Distant_View\<model goes inside here>


Remember, you DON'T need every single folder and file from the RomFS. You only need what you want to replace.

From Now On

You can copy your edited files into the romfs folder inside the TitleID folder inside the titles folder, inside the luma folder, and play with mods by simply launching NSMB2.


OnionFS - Only use this if the Luma 8 method didn't work, which might be the case for European users.

1. First, you'll need to install NTR.

Go to https://gbatemp.net/threads/release-bootntr-selector.432911/ and download either banner version at the bottom of the thread.

2. Copy the .CIA file into a folder on your 3DS SD Card called cias, and install it on your 3DS using FBI.

3. Launch BootNTR Selector, and choose: Default -> NTR 3.4

From now on, every time you launch BootNTR Selector, it will automatically load the last chosen version.

4. On the HOME Menu, press X & Y at the same time, and in the menu that appears on the bottom screen, go to Enable Debugger, and press A.

5. Close NTR's menu by pressing B. Then, power off your 3DS.

6. Plug your SD Card into a computer.

7. On the SD Card, make a new folder called plugin, and inside it, make a new folder with the name being a TitleID below:

NSMB2 Standard Edition:

EUR - 000400000007AF00

USA - 000400000007AE00

JPN - 000040000007AD00

NSMB2 Gold Edition:

USA - 0004000000137E00

NSMB2 Special Edition:

EUR - 0004000000137F00

JPN - 0000400000137D00

8. Download the OnionFS NTR plugin over at https://github.com/mariohackandglitch/OnionFS/releases. (OnionFS.plg)

9. Copy OnionFS.plg to the folder that you just created. (The TitleID folder that's inside the plugin folder)

10. On your SD Card, make a new folder named OnionFS.

11. Copy the TitleID folder from earlier into the folder named OnionFS.

12. Delete OnionFS.plg from the TitleID folder inside OnionFS. (The newly copied folder, not the one in the plugin folder)

13. Make a new folder inside the TitleID folder called romfs. This will be like the extracted RomFS folder.

Copy whatever you've edited into (SD Card:/OnionFS/<titleid>/romfs/, keeping the RomFS structure.

Example:
Edited Levels: SD\OnionFS\<TitleID>\romfs\Course\<level goes inside here>
Edited Background: SD\OnionFS\<TitleID>\romfs\Model\Distant_View\<model goes inside here>


Remember, you DON'T need every single folder and file from the RomFS. You only need what you want to replace.

14. Put the SD Card back into your 3DS, and launch BootNTR Selector.

15. Let BootNTR Selector boot you back into the HOME Menu, and then launch NSMB2. If you did it correctly, a green screen will briefly flash, and the game will load with your edited levels. Anything not copied is just loaded off the retail game itself.

From Now On

You can copy your edited files into the romfs folder inside the TitleID folder inside the OnionFS folder, and play them by launching BootNTR Selector, and then launching NSMB2.

Troubleshooting:

- Mods won't load!

Check that all folders are spelled right, and if nothing else works, try putting the romfs files in SD:/OnionFS/<titleid>/

Playing Other People's Mods:

So, you've found some interesting NSMB2 mods that other people have made, but how can you actually play them on your 3DS? There are two ways to play mods.

NOTE: SOME NSMB2 HACKS, SUCH AS SMBNEXT, INCLUDE A BUNDLED PATCHER. IF A PATCHER IS INCLUDED, PLEASE FOLLOW ITS INSTRUCTIONS.


Luma 8 - Those who want an easy way to play mods, by just launching the game.

(Optional) If you came from the OnionFS method, and have no other plugins/mods/don't need NTR, delete the plugin and OnionFS folders from your SD Card.

1b. Launch Luma Updater, and update to the latest stable release. When you reboot, you might be brought to the Luma3DS config screen. If you do, make sure it looks like this:

Luma3DS v<version> configuration
Press A to select, START to save


Default EmuNAND: 1(x) 2( ) 3( ) 4( )
Screen brightness: 4(x) 3( ) 2( ) 1( )
Splash: Off(x) Before( ) After ( ) payloads
PIN lock: Off(x) 4( ) 6( ) 8( ) digits

(Only on New3DS) New 3DS CPU: Off( ) Clock( ) L2( ) Clock+L2(x)

( ) Autoboot EmuNAND
( ) Use EmuNAND FIRM if booting with R
(x) Enable loading external FIRMs and modules
(x) Enable game patching
(x) Show NAND or user string in System Settings
(x) Show GBA boot screen in patched AGB_FIRM
( ) Patch SVC/service/archive/ARM9 acecss
( ) Set developer UNITINFO
( ) Enable exception handlers


Then press START to save.
- If you don't, reboot your 3DS while holding SELECT and set the settings above.


2. In your luma folder on your SD card, that you should already have, make a new folder called titles.

3. In this new folder, create a new folder named one of the TitleIDs below:

NSMB2 Standard Edition:

EUR - 000400000007AF00

USA - 000400000007AE00

JPN - 000040000007AD00

NSMB2 Gold Edition:

USA - 0004000000137E00

NSMB2 Special Edition:

EUR - 0004000000137F00

JPN - 0000400000137D00

4. Inside the folder you just created, make a new folder named romfs. This will be structured like a RomFS folder.

5. Copy the mod files into (SD Card:/luma/titles/<titleid>/romfs/, keeping the RomFS structure.

Any code patches go in (SD Card:/luma/titles/<titleid>/



OnionFS - Only use this if the Luma 8 method didn't work.

1. First, you'll need to install NTR.

Go to https://gbatemp.net/threads/release-bootntr-selector.432911/ and download either banner version at the bottom of the thread.

2. Copy the .CIA file into a folder on your 3DS SD Card called cias, and install it on your 3DS using FBI.

3. Launch BootNTR Selector, and choose: Default -> NTR 3.4

From now on, every time you launch BootNTR Selector, it will automatically load the last chosen version.

4. On the HOME Menu, press X & Y at the same time, and in the menu that appears on the bottom screen, go to Enable Debugger, and press A.

5. Close NTR's menu by pressing B. Then, power off your 3DS.

6. Plug your SD Card into a computer.

7. On the SD Card, make a new folder called plugin, and inside it, make a new folder with the name being a TitleID below:

NSMB2 Standard Edition:

EUR - 000400000007AF00

USA - 000400000007AE00

JPN - 000040000007AD00

NSMB2 Gold Edition:

USA - 0004000000137E00

NSMB2 Special Edition:

EUR - 0004000000137F00

JPN - 0000400000137D00

8. Download the OnionFS NTR plugin over at https://github.com/mariohackandglitch/OnionFS/releases. (OnionFS.plg)

9. Copy OnionFS.plg to the folder that you just created. (The TitleID folder that's inside the plugin folder)

10. On your SD Card, make a new folder named OnionFS.

11. Copy the TitleID folder from earlier into the folder named OnionFS.

12. Delete OnionFS.plg from the TitleID folder inside OnionFS. (The newly copied folder, not the one in the plugin folder)

13. Make a new folder inside the TitleID folder called romfs. This will be like the extracted RomFS folder.

Copy the mod files into (SD Card:/OnionFS/<titleid>/romfs/, keeping the RomFS structure.

Any code patches go in (SD Card:/OnionFS/<titleid>/


14. Put the SD Card back into your 3DS, and launch BootNTR Selector.

15. Let BootNTR Selector boot you back into the HOME Menu, and then launch NSMB2. If you did it correctly, a green screen will briefly flash, and the game will load, but with mods. Anything not copied is just loaded off the retail game itself.

Troubleshooting:

- Mods won't load!

Check that all folders are spelled right, and if nothing else works, try putting the romfs files in SD:/OnionFS/<titleid>/

Bonus Stuff:
So, you want more, eh? ;)

Changing background and model textures (Windows only):
1. Grab Kuriimu from here.

2. Open Kukkii from the downloaded pack.

3. Open model files, export textures, edit, import, and save.

Some (low-quality) labeled world maps I made: http://rhcafe.net/board/?page=thread&id=15

Hope this helped you delve into the world of NSMB2 modding! And if it did, please do consider voting at the top! :D

If you have any questions, no matter how noobish they are, we can answer them in the NSMB2hax Discord server listed below:

https://discord.gg/6pw9zjD

Special thanks to: Explos, StapleButter, RicBent
 
Last edited by Gimzie,

iZackefx

Well-Known Member
Newcomer
Joined
Aug 14, 2012
Messages
53
Trophies
0
Age
25
Location
Homeworld
XP
196
Country
United States
CoinKiller is by far way better than ReggieNext. It is able to edit literally anything in the game. (Backgrounds, Areas, Zones, Settings, etc.) as where ReggieNext cannot.
 

Gimzie

professional moron
OP
Member
Joined
Aug 6, 2016
Messages
278
Trophies
0
XP
988
Country
United States
CoinKiller is by far way better than ReggieNext. It is able to edit literally anything in the game. (Backgrounds, Areas, Zones, Settings, etc.) as where ReggieNext cannot.

Is it also able to edit paths? As I could see that option in ReggieNext but not in CoinKiller.
 

BuddyRoach

Active Member
Newcomer
Joined
Jan 18, 2017
Messages
31
Trophies
0
Age
39
XP
134
Country
United States
I followed the steps exactly and even used the downloads provided instead of elsewhere and it did not work for me. When I load the hacked version of nsmb2 into hans, I get a message "invalidated icache". Does anyone know how to fix this?
 

BuddyRoach

Active Member
Newcomer
Joined
Jan 18, 2017
Messages
31
Trophies
0
Age
39
XP
134
Country
United States
I have been running through all of the steps of this tutorial on how to hack NSMB2 and play it on my 3ds. Here is my info:
3ds Model: OLD 3DS XL, gold and black Zelda Triforce (Hyrule and LoRule edition)
Region: USA (U)
Firmware version: 11.2.0-35U
Hax method: soundhax-usa-o3ds

Here is my process:
I load the Nintendo 3DS sound app and play the soundhax file. It boots into Homebrew. I go to braindump and I dump my cartridge of NSMB2. Good. End up with a folder containing the exefs.bin and romfs.bin files in it. I transfer those to my PC. I use RomFS Extractor to extract romfs.bin. It creates a romfs_ folder with all of the game's data. I use CoinKiller to edit level 1. Save. Then I use RomFS Builder to build that folder back into a .bin file and I name it 0007AE00.romfs because my game title ID is 0007AE00 for the nsmb2 regular american version. I put this 0007AE00.romfs file into an empty folder on the ROOT of my SD card called "hans". Turn on my 3DS. Boot soundhax into homebrew. Open Hans. Select nsmb2. Hold L button as hans boots. Get to option screen. set romfs to YES. Hit ok to run. Then I get an "invalidated icache" error. I tried running the game through hans without anything selected, just play the game normally with no hacks, but I still get this error message.

PS: I even tried using a hex editor to removed the first 4096 bytes from the file and same thing happens. This is very frustrating. All I want to do is edit levels and play them. Thats all. I dont care about models, textures, music or messages. I like NSMB2's resources and have always wanted to take advantage of them. Please help.

Any idea why this is happening? Thanks in advanced.
 
Last edited by BuddyRoach,

NightScript

Well-Known Member
Member
Joined
Feb 7, 2016
Messages
951
Trophies
1
Age
20
XP
2,255
Country
United States
BTW, if CoinKiller doesn't work, Reggie! Next includes support for NSMB2, and if all you want is a simple level editor and not a full NSMB2 hacking tool, like NSMBe, use Reggie! Next.
 

BuddyRoach

Active Member
Newcomer
Joined
Jan 18, 2017
Messages
31
Trophies
0
Age
39
XP
134
Country
United States
BTW, if CoinKiller doesn't work, Reggie! Next includes support for NSMB2, and if all you want is a simple level editor and not a full NSMB2 hacking tool, like NSMBe, use Reggie! Next.
CoinKillwe does work though. As far as I know. Its just getting Hans to run the rom hack. It wont. Hans wont even just run the cartridge game normally without anything installed.
 

Gimzie

professional moron
OP
Member
Joined
Aug 6, 2016
Messages
278
Trophies
0
XP
988
Country
United States
I have been running through all of the steps of this tutorial on how to hack NSMB2 and play it on my 3ds. Here is my info:
3ds Model: OLD 3DS XL, gold and black Zelda Triforce (Hyrule and LoRule edition)
Region: USA (U)
Firmware version: 11.2.0-35U
Hax method: soundhax-usa-o3ds

Here is my process:
I load the Nintendo 3DS sound app and play the soundhax file. It boots into Homebrew. I go to braindump and I dump my cartridge of NSMB2. Good. End up with a folder containing the exefs.bin and romfs.bin files in it. I transfer those to my PC. I use RomFS Extractor to extract romfs.bin. It creates a romfs_ folder with all of the game's data. I use CoinKiller to edit level 1. Save. Then I use RomFS Builder to build that folder back into a .bin file and I name it 0007AE00.romfs because my game title ID is 0007AE00 for the nsmb2 regular american version. I put this 0007AE00.romfs file into an empty folder on the ROOT of my SD card called "hans". Turn on my 3DS. Boot soundhax into homebrew. Open Hans. Select nsmb2. Hold L button as hans boots. Get to option screen. set romfs to YES. Hit ok to run. Then I get an "invalidated icache" error. I tried running the game through hans without anything selected, just play the game normally with no hacks, but I still get this error message.

PS: I even tried using a hex editor to removed the first 4096 bytes from the file and same thing happens. This is very frustrating. All I want to do is edit levels and play them. Thats all. I dont care about models, textures, music or messages. I like NSMB2's resources and have always wanted to take advantage of them. Please help.

Any idea why this is happening? Thanks in advanced.

I think this might have something to do with Soundhax. Maybe try using a different homebrew entrypoint? If you don't have access to another entrypoint, maybe try redownloading the Homebrew Starter Kit.

BTW, if CoinKiller doesn't work, Reggie! Next includes support for NSMB2, and if all you want is a simple level editor and not a full NSMB2 hacking tool, like NSMBe, use Reggie! Next.

Nobody should use Reggie! Next, because it doesn't work with everything in the levels.
 

Gimzie

professional moron
OP
Member
Joined
Aug 6, 2016
Messages
278
Trophies
0
XP
988
Country
United States
what is A9LH?

A9LH stands for Arm9LoaderHax. It's a full system mod of your 3DS, and you can't use NTR (For OnionFS/LayeredFS) without it. You can do other cool things too:

- Region locking disabled
- You can install "backups"
- You can record gameplay without a capture card on N3DS (good internet is needed)
- You can install anything to the HOME Menu
- You can run lots of mods
- You can overclock on N3DS
- You can mess with save data and that kind of stuff

A noob friendly guide is up at http://3ds.guide . All you need is an SD Card, a 3DS, and basic copy/paste skills.
 

BuddyRoach

Active Member
Newcomer
Joined
Jan 18, 2017
Messages
31
Trophies
0
Age
39
XP
134
Country
United States
A9LH stands for Arm9LoaderHax. It's a full system mod of your 3DS, and you can't use NTR (For OnionFS/LayeredFS) without it. You can do other cool things too:

- Region locking disabled
- You can install "backups"
- You can record gameplay without a capture card on N3DS (good internet is needed)
- You can install anything to the HOME Menu
- You can run lots of mods
- You can overclock on N3DS
- You can mess with save data and that kind of stuff

A noob friendly guide is up at http://3ds.guide . All you need is an SD Card, a 3DS, and basic copy/paste skills.
and this guide is up to date as of today? as well as everything it tells me to download?
 

Gimzie

professional moron
OP
Member
Joined
Aug 6, 2016
Messages
278
Trophies
0
XP
988
Country
United States
and this guide is up to date as of today? as well as everything it tells me to download?

It's always up to date. When Luma3DS was attacked and it went down, the guide maintainer was quick to provide alternate links, and changed them back when it was back up.
 

BuddyRoach

Active Member
Newcomer
Joined
Jan 18, 2017
Messages
31
Trophies
0
Age
39
XP
134
Country
United States
thats cool. ok im going through the guide. i just booted into Decrypt9WIP. the guide says i should have backed up user tickets. Is it too late to do that? Or will I get a chance past this point?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: Like the head that pops out.