Skip to content

Releases: DS-Homebrew/nds-bootstrap

v1.1.1: Flipnote on DS Lite? (New Years release)

01 Jan 22:59
Compare
Choose a tag to compare

Included in TWiLight Menu++ v26.5.0

Instructions:

  1. Download the .7z file.
  2. Extract the nds-bootstrap .nds and .ver files, to root:/_nds/.

What's new?

  • B4DS mode: As Flipnote Studio is one of the most requested DSiWare, it now boots on DS Phat & Lite consoles!

Known bugs

  • Unfortunately, due to memory limitations, Flipnote Studio does not work fully in B4DS mode, and only works in a proof-of-concept state. These bugs will likely not get fixed.
    • Only the USA version boots.
    • Does not save.
    • Getting past the main menu will cause a crash. This means you cannot create any flipnotes.
  • Year text in the nds-bootstrap screen still displays 2023 as the last year.

v1.1.0: TWL Christmas release

26 Dec 02:55
Compare
Choose a tag to compare

Included in TWiLight Menu++ v26.4.0

Instructions:

  1. Download the .7z file.
  2. Extract the nds-bootstrap .nds and .ver files, to root:/_nds/.

What's new?

  • B4DS mode: Music now plays in Pop Island: Paperfield & Glory Days: Tactical Defense when played on debug/dev DS consoles.

Bug fixes

  • Fixed cloneboot not working in some DSiWare titles.
  • Fixed reading cloneboot flag at invalid ROM end address, which would cause certain ROM hacks to not boot.
  • Part of RAM used for screenshots is now backed up before taking screenshot. This fixes where a game would crash after taking a screenshot.
  • Slot-1 access is now enabled for DS Download Play.

v1.0.3

16 Nov 23:56
Compare
Choose a tag to compare

Included in TWiLight Menu++ v26.3.0

Instructions:

  1. Download the .7z file.
  2. Extract the nds-bootstrap .nds and .ver files, to root:/_nds/.

Bug fixes

  • Tootuf: Mission Nadia now saves!
  • Style Lab: Jewelry Design now boots in DSi mode.
  • Fixed where opening the Records menu after exiting the WFC menu in Tetris DS crashes the game.
  • B4DS mode: Fixed where a DSiWare title which doesn't require a donor ROM, requires one to boot.
  • Fixed cheats not working in DSiWare titles on 3DS.

v1.0.2: Halloween Release

31 Oct 18:44
Compare
Choose a tag to compare

Included in TWiLight Menu++ v26.2.0

Instructions:

  1. Download the .7z file.
  2. Extract the nds-bootstrap .nds and .ver files, to root:/_nds/.

Bug fixes

  • When using wireless features, ROM loading on DSi/3DS SD Card is now slowed down once again, in order to prevent errors.
  • Fixed ROM mirroring for if ROM size is larger than the device size set in the ROM header.
    • Fixes support for some modified ROMs (ex. translations and ROM hacks).
  • B4DS mode: Cheat engine has been moved to arm7 WRAM for Inazuma Eleven 1 & 2.
    • Fixes where opening a menu crashes the game with an AP-fix applied.
  • Fixed the European version of Yoshi Touch & Go not booting on DSi/3DS SD Card.
  • B4DS mode: To prevent bugs, TWiLight Menu++ must now be used with EZ_FLASH_RAM turned on in fat:/_nds/TWiLightMenu/settings.ini, in order to use an EZ-Flash Slot-2 cartridge.

v1.0.1

25 Sep 23:42
Compare
Choose a tag to compare

Included in TWiLight Menu++ v26.1.1

Instructions:

  1. Download the .7z file.
  2. Extract the nds-bootstrap .nds and .ver files, to root:/_nds/.

Improvement

  • Slightly improved boot times on DSi/3DS in DSi mode.
    • NDMA is now used to clear memory.

Bug fixes

  • Fixed the Chinese (iQue) & Korean versions of Super Mario 64 DS not booting.
  • Implemented ROM and save mirroring.
    • Fixes compatibility in some lesser-known DS games, such as My Stop Smoking Coach.
  • B4DS: Fixed games containing overlays crashing with an Expansion Pak inserted.
  • Improved region determination for region-free DSiWare titles.
    • If TWLCFG or the country setting within isn't detected, it'll determine region based on the currently set language.
    • Fixes DS WiFi Settings standalone ROM displaying Japanese on flashcards even with a region other than Japan set.
  • Ported RTC fix to B4DS mode.
    • Should hopefully fix the crashes in the Pokemon Gen 4 games, the time changing in Animal Crossing: Wild World and other time-related issues on DS flashcards.
  • Patched RAM mirror checking in an attempt to make the launched game not use more than 4MB of RAM.
    • DS mode and DSi mode will set the proper value, the latter of which allows games to use up to 8MB of RAM.
    • Does not apply to SDK5 games, as those are already working fine.
    • Fixes Jump Super Stars not booting in DS mode.

v1.0.0: Rise of The Sun

09 Sep 03:23
Compare
Choose a tag to compare

Included in TWiLight Menu++ v26.1.0

Instructions:

  1. Download the .7z file.
  2. Extract the nds-bootstrap .nds and .ver files, to root:/_nds/.

What's new?

  • nds-bootstrap has supported many popular DS games, such as Super Mario 64 DS, New Super Mario Bros., the Kirby games, the MegaMan ZX games, the Castlevania games, the Sonic Rush series of games, The Legendary Starfy, and many more!
    For a long time though, one of them has not been supported... until now.
    That's right! You've asked and we listened, and now, Golden Sun: Dark Dawn is finally supported!
    • To know how it's finally supported, scroll down below.
    • This does not apply to B4DS mode.
  • Nintendo programs such as NTR EVA/Aging and Wii Sequencer are now supported.

Improvements

  • The heap of TWL titles is no longer shrunk in order to maintain compatibility!
    • This does not apply to B4DS mode.
    • On DSi, for cart-based games, only 128KB of heap is shrunk if the game is running from the SD card, and/or if cheats are enabled.
    • ce7i binary has been moved to DSi WRAM for a minor speed boost.
  • To fit a bit more small ROMs into RAM, those which do not contain overlays are now loaded without the arm7 binary.

Bug fixes

  • Fixed certain SDK3-4 games not booting, due to the cluster cache of the save file being compressed.
  • Fixed an overlooked bug where TWL (DSi-Enhanced/Exclusive) games would crash later on 3DS consoles.
  • Error exception screen is now triggered for NTR-type games running in DSi mode, or if using DSiWarehax.
  • Fixed certain games not booting by improving MPU search code.
  • Fixed soft-reset button combo not working in Foto Showdown.
    • The game actually uses the soft-reset function meant to be used in DSiWare titles, rather than the normal cart version.
  • On DSi, TWLCFG from TWLNAND is now re-loaded, if it's not detected in RAM.
  • Fixed an overlooked bug which went unnoticed since DSiWare got supported on DS & DS Lite. The bug being where on DS or DS Lite, starting a DSiWare title which has WiFi support would wipe the WiFi data off of the console.
  • The EUR/AUS version of Bomberman Blitz now boots on DS & DS Lite.

How is Golden Sun: Dark Dawn working now? What has been done?

NOTE: This is a lengthy read. If you don't want to know the full specifics, scroll down to In short.

For the longest time since nds-bootstrap's first release supporting retail/commercial games, one of those games has never worked, despite the many compatibility fixes implemented throughout each later release.
That game is Golden Sun: Dark Dawn. When trying to boot it, it would only show two black screens.

The reason for that, is due to an AP measure in the game itself, and the AP-fix included with TWiLight Menu++ has unfortunately never patched it out, despite it being known to work with flashcards.
You might be wondering, but then how does the demo version boot sucessfully? It simply didn't include any AP measures.

After a long wait, and gaining a little bit of ARM ASM knowledge from playing around with it and getting DSiWare games working on DS/DS Lite, I've decided to implement a new AP-fix for Golden Sun: Dark Dawn, with some help from Gericom (the GBARunner2/3 developer) and the NO$GBA debugging emulator.

The first AP measure takes place in overlay 335, which contains DSProtect v2.01s.
By comparing what happens in the game's code with and without nds-bootstrap, I was able to patch the overlay to reproduce what occurs without nds-bootstrap.
As a result, the game now boots into the company logos and the title screen.
From there, the name entry menu would appear, and after entering the name, the company logos would then appear again, and after fading out, the game crashes.

The next step was to patch overlay 334, which contains DSProtect v2.01 (with no s at the end, and works differently from the other one).
After applying the patch, as well as a new checksum for the overlay, the game no longer crashes, and the title screen appears once again.

To make the company logos and title screen not appear again after entering the character's name, the next step was to make the patch for overlay 334 return the proper value the game expects (which is 0x11F).
As a result, the game's opening cutscene now plays. Unfortunately, after it has played, the game once again goes back to the company logos and title screen.
To fix that, the patch for overlay 334 has been made to only return the 0x11F after name entry, and the game's first cutscene after the opening one now plays.

After going through the dialog boxes, the game's main protagonist can now be moved in the overworld, right? Well, sort of.
The overworld is nothing but a black screen and a few icons at the screen corners.
The protagonist can be moved to the right for him to appear, and the background of Haidhia Lookout will shift in close to him as a flat texture.
Touching the bottom-left icon (or pressing the X button) will open the main menu, and can be navigated normally, but when exiting the menu, a battle against Dim Dragon will trigger.
The battle gets triggered because there's still an instance of the overlay 334 checksum which hasn't been patched with the new one.
Patching the checksum instances found in the USA ROM has not removed the battle encounter, but it has been sucessfully removed in the European ROM.
Apparently, some checksum instances are encrypted along with the overlay's code.
To remove the battle encounter in the USA ROM, the patch code has been made so that it looks for an instance of the checksum, once an overlay has loaded.

Furthermore, when I tried a save file which gets past the black area, some features wouldn't work correctly, such as using Psynergy.
It would only work when one is assigned to either the L or R buttons.
Getting an item would also either appear as the wrong one, or crash the game.

The final step is to fix those remaining AP issues, and to do that, the patch code has been slightly reworked to not affect the checksum, but that alone will not fix it.
After some more looking into and patching, the patch code for overlay 335 has been ported over to 334.

For those who understand ASM code, here's what nds-bootstrap does to the overlay code (offsets are for the USA/AUS region, but the patch works with other regions):

Overlay 335 (DSProtect v2.01s)

  1. At 0x021F8284, change the beq instruction (0A000005) to b.
  2. At 0x021F82D8, change the ldr instruction (E59D1028) to mov r1, 0h.
  3. At 0x021F82DC, change the ldr instruction (E59D0040) to mov r0, 0h.
  4. Change instructions at 021F82E4 & 021F82E8 to nop.

Overlay 334 (DSProtect v2.01)

  1. At 0x021F910C, change the beq instruction (0A00000E) to b.
  2. At 0x021F91A8, change the ldr instruction (E59D102C) to mov r1, 0h.
  3. At 0x021F91AC, change the ldr instruction (E59D0044) to mov r0, 0h.
  4. Change instructions at 021F91B4 & 021F91B8 to nop.

After all of this looking into and fixing/patching, Golden Sun: Dark Dawn is finally supported by nds-bootstrap!

In short

The AP-fix that has been included with TWLMenu++ for a while was broken, so a new & better AP-fix has been implemented into nds-bootstrap. It has taken 8 days with lots of changes & improvements to the code to ensure that everything was working properly.

v0.73.1 (hotfix)

24 Aug 01:17
Compare
Choose a tag to compare

Included in TWiLight Menu++ v26.0.1

Instructions:

  1. Download the .7z file.
  2. Extract the nds-bootstrap .nds and .ver files, to root:/_nds/.

Bug fix

  • Fixed an overlooked bug where the LRU cache would be written at RAM address 0x02FE0000, which would cause a crash when running a DSi-Enhanced game in DS mode on 3DS consoles.

v0.73.0

23 Aug 21:16
Compare
Choose a tag to compare

Included in TWiLight Menu++ v26.0.0

Instructions:

  1. Download the .7z file.
  2. Extract the nds-bootstrap .nds and .ver files, to root:/_nds/.

What's new?

  • LRU cache size now takes up almost the whole extra RAM space after the first 4MB!
    • The ROM pre-load size limit has also been affected to do the same.
  • When starting an NTR-type game in DSi mode, the heap size is now increased from 4MB to 8MB!
    • Useful for some ROM hacks that somehow go above the normal heap size.
    • Due to a limitation of SDK2.0, it does not affect games made with that SDK version.
  • Main screen setting is now saved per-game.

B4DS mode

  • Added support for 39 more DSiWare titles to be playable on DS/DS lite (plus 7 more for debug consoles)!
    • Scroll down to see which titles are now supported.
    • Click >here< for the full list of supported titles.
  • Any SDK5 DS game can now be set as a Donor ROM to run DSiWare!
    • Useful if you don't have an existing ROM dump of a DSi-Enhanced game.
    • Lufia: Curse of the Sinistrals (currently known to be the only SDK5 game to contain a VRAM-WiFi type of arm7 binary) is required by certain DSiWare titles (listed below) to use much memory (aka RAM space) as possible. On debug/dev consoles, it is not required.
      • If it's the only game set as a Donor ROM, DSiWare which use wireless will be unable to use those features.
    • Ubongo is the only DSiWare title which still specifically requires a DSi-Enhanced game to be set as a Donor ROM.
  • Picture Perfect Hair Salon, one of the few DSi-Exclusives released on cartridge, is now playable on DS/DS lite!
    • Audio does not play outside of debug/dev consoles.
  • Full version of Digidrive is now supported on debug/dev consoles!
  • The Europe/Australia & Japanese versions of Bejeweled Twist are now supported!
    • Europe/Australia version requires Lufia set as a Donor ROM.

Bug fixes

  • For TWL-type games running in DSi mode on DSi consoles, heap shrink has once again been reduced (by 256KB), leaving only 256KB of heap being shrunk.
    • This should fix more crashes in some of those games.
  • Fixed & optimized card ID start offset search.
    • This fixes certain games not booting the first time, and/or with card read DMA turned on.
    • This seems to fix game compatibility on certain flashcards.
  • The Incredibles: Rise of the Underminer now boots!
  • Other minor fixes.

B4DS mode

  • The Legend of Zelda: Four Swords: Anniversary Edition now plays audio outside of debug/dev consoles!
    • Additionally, the crash when completing a stage and before saving data is now fixed!
  • Fixed Oscar in Toyland 2 crashing after completing a stage.
  • Flipper now plays music outside of debug/dev consoles!
  • The title screen in Robot Rescue no longer shows a black stripe on the bottom screen.
  • Certain AP-fixes now work without a Memory Expansion Pak!
  • Fixed where the AP-fix for Mario & Luigi: Bowser's Inside Story would get overwritten, causing the AP-fix to not work.

DSiWare titles now supported on DS & DS lite

Titles marked in Bold will only boot on debug/dev consoles.

  • 2Puzzle It: Fantasy
    • Does not save
  • AiRace: Tunnel
    • Audio does not play outside of debug/dev consoles
    • Crashes when selecting another tunnel after first selecting one, worked around by selecting either Credits or Controls (occurs outside of debug/dev consoles)
  • Drift Street International
    • Race music does not play outside of debug/dev consoles
  • Electroplankton: Beatnes
    • Previously only supported on debug/dev consoles
  • Electroplankton: Trapy
    • Previously only supported on debug/dev consoles
  • G.G Series: Air Pinball Hockey
    • Does not save
  • G.G Series: All Breaker
    • Does not save
  • G.G Series: Altered Weapon
    • Does not save
    • Requires Lufia set as a Donor ROM
  • G.G Series: Assault Buster
    • Only Japanese version saves
  • G.G Series: Black x Block
    • Only Japanese version saves
  • G.G Series: Conveyor Toy Packing
    • Only Japanese version saves
  • G.G Series: Cosmo Rally!!
    • Does not save
  • G.G Series: D-Tank
  • G.G Series: Dark Spirits
  • G.G Series: Drift Circuit
  • G.G Series: Drift Circuit 2
    • Requires Lufia set as a Donor ROM
  • G.G Series: Drilling Attack!!
    • Only Japanese version saves
  • G.G Series: Energy Chain
    • Only Japanese version saves
  • G.G Series: Exciting River
    • Does not save
  • G.G Series: Great Whip Adventure
    • Does not save
  • G.G Series: Hero Puzzle
    • Does not save
  • G.G Series: The Hidden Ninja Kagemaru
    • Does not save
  • G.G Series: Horizontal Bar
  • G.G Series: The Last Knight
    • Does not save
    • Requires Lufia set as a Donor ROM
  • G.G Series: Ninja Karakuri Den
  • G.G Series: Ninja Karakuri Den 2
  • G.G Series: Nyokki
    • Does not save
  • G.G Series: Run & Strike
    • Does not save
  • G.G Series: Score Attacker
    • Does not save
  • G.G Series: Shadow Army
    • Does not save
  • G.G Series: The Spiky Blowfish
    • Does not save
  • G.G Series: Super Hero Ogre
  • G.G Series: Super Hero Ogre 2
  • G.G Series: Throw Out
    • Only Japanese version saves
  • G.G Series: Vector
    • Does not save
  • G.G Series: Vertex
    • Only Japanese version saves
  • G.G Series: Wonder Land
    • USA version does not save
  • G.G Series: Z-One
  • G.G Series: Z-One 2
  • iSpot Japan
    • Does not save
  • Korogashi Pazuru: Katamari Damacy
  • My Little Restaurant
  • Need for Speed: Nitro-X
    • Previously only supported on debug/dev consoles
    • Does not save
    • Crashes after a race
    • Requires Lufia set as a Donor ROM
  • Oscar in Movieland
  • Oscar's World Tour
  • Phantasy Star 0 Mini
    • Previously only supported on debug/dev consoles
    • To cut down RAM usage, only each one character animation gets loaded for each of the three characters. As a result, the animation will not change when switching weapons.
    • Crashes when progressing through one of the later areas
    • Requires Lufia set as a Donor ROM

v0.72.1

24 Jun 03:54
Compare
Choose a tag to compare

Included in TWiLight Menu++ v25.11.0

Instructions:

  1. Download the .7z file.
  2. Extract the nds-bootstrap .nds and .ver files, to root:/_nds/.

Bug fixes

  • The save soft-locking bug in Pokemon B&W 1&2 and some other games has been fixed once again.
  • Fixed communication errors when booting Pictochat or DLP apps.
  • My Healthy Cooking Coach has been blacklisted from using card read DMA, in order to boot.
  • The patch offset cache should now be properly cleared, when found to be out of date.
    • This should fix some games not booting, of which have previously been booted by a prior nds-bootstrap version.
  • After opening the in-game menu, and when closing the 3DS or 2DS console's lid, it'll no longer lock up on black screens.
  • Attempted to add compatibility for SD cards of lesser-known brands, by disabling NDMA before the game boots.
    • NDMA is now always disabled for homebrew.

v0.72.0

05 Jun 20:38
Compare
Choose a tag to compare

Included in TWiLight Menu++ v25.10.0

Instructions:

  1. Download the .7z file.
  2. Extract the nds-bootstrap .nds and .ver files, to root:/_nds/.

What's new?

  • 2006-Nen 10-Gatsu Taikenban Soft now boots!

Bug fixes

  • NDMA is now only used for SD reads aligned by 4-bytes. CPU is used for non-aligned reads.
    • NAND saving (used by WW: DIY, Jam with the Band, and Face Training) should now be working properly again.
    • Should improve compatibility with certain homebrew, in the case of those using non-aligned reads.
  • B4DS mode: Audio glitching should no longer occur when reading or writing save data.
    • Tested with R4(i) Ultra and R4i-SDHC. Not tested with Ace3DS+ (which was known to have the bug).