Code Monkey home page Code Monkey logo

nds-bootstrap's Introduction


GBAtemp thread Discord server: #nds-bootstrap Build status on GitHub Actions Localization status on Crowdin

nds-bootstrap is an open-source application that allows Nintendo DS/DSi ROMs and homebrew to be natively utilised rather than using an emulator. nds-bootstrap works on Nintendo DSi/3DS SD cards through CFW and on Nintendo DS through flashcards.

ROM Compatibility

nds-bootstrap supports most DS/DSi ROMs, with a few exceptions. You can enhance your gaming experience with cheats and faster load times than general cartridges (for games that support those features). Game saving is supported too and will be saved in the .sav extention, and .pub or .prv for DSiWare. If you find a bug, please report it in the issues tab. ROM compatibility is recorded in the compatibility list.

Anti-Piracy patches can be loaded via IPS files, but they are not included inside the software itself.

nds-bootstrap also supports many homebrew applications, including games like DScraft.

B4DS mode (a result of running nds-bootstrap on DS-mode flashcards with locked SCFG or DS Phat/Lite) only supports some DS and DSiWare ROMs. You can increase compatibility by inserting a DS Memory Expansion Pak.

Compiling

If your goal is to get a build of the latest commit, you can download that from our TWLBot Builds repository. Also, if you push your commits to a GitHub fork, you can have GitHub Actions run on every commit that way. If, however, you'd like to compile locally, you will need to install devkitARM with the necessary Nintendo DS development libraries.

  1. Install devkitPro's pacman package manager as described on the devkitPro wiki, then run the following command to install the needed libraries:
    sudo dkp-pacman -S nds-dev
    
    (Note: Command will vary by OS, sudo may not be needed and it may be just pacman instead)
  2. Clone this repository using git (git clone https://github.com/DS-Homebrew/nds-bootstrap.git) and navigate to the cloned repo
  3. Compile lzss.c to a directory in your PATH using a C compiler such as GCC (gcc lzss.c -o /usr/local/bin/lzss)
    • On Windows it must instead be lzss.exe in the root of the repository
  4. Run make package-nightly to compile nds-bootstrap
    • The output files will be in the bin folder

If you need help compiling, please ask for help in our Discord server or a GitHub Discussion.

Frontends

A frontend isn't required as nds-bootstrap uses an ini file to load its parameters. However, it is very much recommended.

TWiLight Menu++ is a frontend for nds-bootstrap, developed by Rocket Robz & co. It has 6 customizable launchers to choose from with the ability to launch emulators and other homebrew.

It also includes a number of Anti-Piracy patches for the games and will automatically configure nds-bootstrap for you, with customizable per game settings.

Allows you to run games directly from the DSi Menu or 3DS HOME Menu. Some compatibility features from TWiLight Menu++ are missing in forwarders so if you have issues you may need to edit the per-game settings by holding Y while loading the forwarder.

YANBF (Yet Another nds-bootstrap Forwarder)

An alternative forwarder generator for 3DS users. YANBF forwarders are 3DS-mode applications so they count towards the normal 300 title limit insted of the smaller 40 title limit on DSi-mode applications, however they cannot have animated icons and take slightly longer to load.

Credits

Developers

  • Rocket Robz: Lead developer, DSi mode and DSiWare support, B4DS mode, general maintenance and updates
  • shutterbug2000: SDK5 support, help with DSi mode support, and some other implemented stuff
  • ahezard: Starting the project, former lead developer
  • Pk11: In-game menu, screenshot taking, manual loading, and translation management
  • Gericom: Improving B4DS compatibility, parts of libtwl code used

Other

Translators

nds-bootstrap's People

Contributors

ahezard avatar apachethunder avatar azure-pipelines[bot] avatar beertmpb8 avatar c-schuhmann avatar celti avatar clach04 avatar damianoamatruda avatar epicpkmn11 avatar flamealt53 avatar flamekat53 avatar fm1337 avatar gericom avatar iam2smart avatar lifehackerhansol avatar nicastel avatar nightscript370 avatar omelethopper avatar piratesephiroth avatar r-yatian avatar rocketrobz avatar rokkubro avatar shutterbug2000 avatar snbeast avatar sombrabsol avatar spellboundtriangle avatar thenain38 avatar uupo03 avatar wryyyong avatar yrouel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nds-bootstrap's Issues

python error

Hy,

I'm experimenting some error with python,under Arch linux. At the begining,it was only print that miss parentheses. Then I got this:

Traceback (most recent call last):
File "patch_ndsheader_dsiware.py", line 23, in
parser.add_argument('file', metavar='file.nds', type=file, help='nds file to patc
NameError: name 'file' is not defined

(I think this wasn't the same thing on ubuntu)

Still white screen issues...

I have a N3DS running Luma with Al9h and I have had these three games: The legend of zelda: phantom hourglass, the legend of zelda: spirit tracks, and golden sun: dark dawn.
Each one of these games stays on white screen on startup even though I consistently update bootstrap.
Here are my settings:
Language System
Color Fuchsia
Menu Color White
Show Filename Off
Game counter Off
Costom Bottom Image Off
Auto update bootstrap Off
Auto update latest twloader Off
Flashcard(s) select Off
Rainbow LED 133mhz (TWL)
ARM9 CPU Speed On
VRAM boost On
DS/DSi Boot Screen On
Health and safety message On
Reset Slot-1 Off
Console Output Off
Lock ARM9 SCFG_EXT Off

Regression so far. :o

Now i cant run some games as
Netroid Prime Hunters
Pokemon Explorers of Sky
Mario DS
Castlevania Dawn of Sorrow (before had badly graphical glitches)
Caatlevania Portrait of Ruin
Mario Kart
WarioWate

All of them are EUR region but some as Castlevanias and Pokemon i have them in regions US and Eur.

Thanks for all your hard work ahezard. :D you are incredible. :) thanks to all who are involved in this project :) if i can do something to help. Count with me. :) (excuse me for my bad english)
Again some many thanks :)

I have disabled the lock Arm9 scfg_ext . Im in TWloader 3.0.2. :)

Kirby Super Star Ultra Can't find save file.

When I try to launch super star ultra the game gives me a message saying that the save file could not be accessed, and to power off and remove the game cart. I'd tried booting up the game without a game cart inserted and the issue persisted

NOTE: I'm running the roms from my micro sd card

"dldi + card working" commit breaks...uhh...games and homebrew

The title kinda explains it.
This commit: 60dd5c3
Even if it seemingly would be to use homebrew and games, what it does is that whatever you try to load stays in a white screen (Tried with Mr Driller that works in card.v2, and NDS_TGM which worked in 0.0.3 but not in card releases, even then it showed a error screen).
Still I'm sure you will fix that pretty quick.
Good luck and thanks for this!

Fails to build with devkitARM r46 & libnds 1.6.1

Please update your tools/libraries and submit libnds additions you need upstream.

ndstool in devkitARM r46 produces dsiware compatible binaries without "patching" the output.

if you need help please email, drop by #devkitPro on irc.blitzed.org or leave a message on devkitPro forums.

Fragmenting libraries is bad for everyone.

Latest commit of GameYob DS fails to start

After compiling the last commit of GameYob DS Drenn ever made, the resulting emulator does not start via nds-bootstrap. Instead, nds-bootstrap locks up after displaying "TWL mode enabled".

Mario Kart DS issue

Commit b543cd2
VRAM on
NDS clock speed (probably DSi clock speed as well)

Sometimes during a race if you pause and go into sleep mode the game will close out and send you to home menu, no error message or anything else.

Super Mario 64 DS (Fixed)

Game info

Region Differences

USAEURJPNCHN/iQue (Shenyou Maliou DS)
Release number37 for v1, 56 for v22225None
Title/Game IDASMEASMPASMJASMC
BootStrap version: 0.4.1
Works: Yes
Notes: The sound seems to crackle unless you put it at the stereo settings. Loading times might be longer than expected. It has a slowdown when you are shown your "High Score" after beating a level. Framerate takes a bit of a nosedive when swimming. Versus mode not functional. One main bug is that when booting with the DSI speed settings, when going back from sleep mode, it blanks out...

Debug info

While the latest release works with SM64DS, some users are still getting a crash. While there was a hacking community going on, not enough people were innovated to release a crash debugger. Thankfully, Nintendo added their own little debug screen.

This game has a crash debugger triggered similarly to the one in AC:WW and NSMB. This one is a bit less technical and more informative, but a lot less in-depth.

To access the crash dump screen, crash the game. After doing so...
Hold L + R + A + Left, then release.
Hold Down + B, then release.
Hold Start + Select.

This screen was used by the developers to debug crashes and other errors in the game, since it helps pinpoint exactly where an issue occurred in the code.

Here's an explanation of some of the info on it:

  • The BUILDTIME text file is printed on the top of the screen.
  • StageNo: Internal name of the stage.
  • PlayerID: The character that was being used at the time.
  • LayerNo: Unknown.
  • RoomNo: Unknown.
  • LoopProc: Which part of the main loop was running at the time of the crash; corresponds to a specific virtual function on the problem actor.
  • ProfName: Identifies which actor type caused the problem. The first number is the type ID (in the above screenshot it is 3, which corresponds to STAGE). The second number is unknown.
  • file-id: Unknown, may be the last file ID that was read from the ROM's file system.

Bomb-Omb battlefield in 0.1.0/cardv.2

UF 2004-10-15 23:29:24 Administr
StageNo 6:Bombhei Map
Player ID 0
LayerNo 1
RoomNo 0

ProfName 300:5:YAJIRUSI-R
file-id 02c1

IRQ IE: 00140009 IF:00240009

At the bottom left, it says "GameHeap Broken"...

cardv.1 booting up a game

UF
StageNo 0:Test Map
Player ID 0
LayerNo 0
RoomNo -1

LoopProc 1:CONNECT
ProfName 0:0:BOOT

IRQ IE: 00040000 IF:00000000

On the bottom right corner, it says 85...


SM64DS Hacks

So currently, according to @WTails358, the hack called Another Super Mario 3D doesn't boot, and when I tested Super Grand Dad 64 DS, it didn't work.

Here is a crash dump of when @WTails358 did the above debug steps...

http://tinypic.com/r/2yns16x/9

This test was done on 0.4.1. Howver, with the latest commit as of June 21st, 2017, (2cb9f8) Super Grand Dad 64 DS works properly.

Animal Crossing: Wild World

Unfortunately, there is no one willing to hack/debug the game so we don't know exactly what exactly is the problem. Or so you thought...

This game has a crash debugger triggered similarly to the one in SM64DS and NSMB. This one is a bit less technical and more informative, but a lot less in-depth.

To access the crash dump screen hold L + R + A + Left, let go, hold Down + B, let go, and finally hold Start + Select.

Nintendo was kind enough to actually put a debug screen inside of the game...

Apparently, for me it works, but the debug steps don't actually work for other users...

Edit: A user by the Name of Lykie did those steps and this is what she saw:

Crash Screen

New Super Mario Bros.

So, as we all know, NSMB doesn't work on this project. However, I think a great team of developers found the reason for the compatibility issue...

So, lets start off by Skawo's research: Here is a PM about the NSMB projects

https://cloud.githubusercontent.com/assets/18664762/22337794/adcf99b4-e39a-11e6-9164-c10ab13f271c.png

Now lets get onto the research I found at TCRF, AKA @Xkeeper0 's site.

There is a hidden crash dump screen in the game. To access the crash dump screen hold L + R + A + Left, let go, hold Down + B, let go, and finally hold Start + Select.

The top screen shows the reason for the crash, while the bottom screen shows a stack dump.

@WTails358 actually followed these steps and here are the screenshots he got:

http://gbatemp.net/attachments/image-jpg.76169/ Top screen
http://gbatemp.net/attachments/image-jpg.76170/ Bottom Screen

I just edited those 2 images to just make loading times better and have a better look.

This screenshot was taken on 0.3.0beta1.

This screenshot is taken on the latest commit: https://cdn.discordapp.com/attachments/283769550611152897/329109906265210880/WIN_20170626_21_05_08_Pro.jpg

The main site for NSMB hacking is here: http://nsmbhd.net/ It is a site thats ran by amaizing NSMB hackers, mainly @StapleButter, @Dirbaio and @Mariomaster. Just post your issue there and they should help...

Unfortunately, I am banned there and requesting an unban didn't exactly work (I got banned because of a fight with a moron, but maybe I can request an unban just for this discussion???), so please don't restrict all activity there, as I know some NSMB hacking info that can help with this....

How to build this

Is something special required to build this? Maybe some old version of devkitpro?

Those arm7 and arm9 folders give me so many weird warnings and errors.

New Super Mario Bros. USA not working

Whenever I try to run New Super Mario Bros. USA, I get a white screen after the ds boot logo. Plz help. I lost my cart for this game and want to play it in TWLoader!

Mario Kart DS Hacks Don't boot?

So I tried to play some Mario Kart DS hacks I found, and the only one that works is the demo version of Ermii Kart DS. If I try to launch the final release of the hack, I am given this error screen right before the Nintendo logo/copyright screen should appear.
http://tinypic.com/r/11v0fbt/9
If I try to boot any other hacks like Mario Kart Infinity, Mario Kart DS Beta Ultimate v1.1b (hack of the kiosk rom), Mario Kart Zero (hack of kiosk rom), and Mario Kart DS N64 Circuit, then I am just greeted with a white screen that never gets to the Nintendo/copyright screen.
Are these hacks unable to be played because they made with maybe a emulator/flashcard in mind or is it because there is additional code that's preventing them from being played?

DLDI Patch?

Anyone have a working version of the DLDI patch or can tell me how to compile it?

What does prevent nds-bootstrap to run Layton games?

I've heard that VN run better on this soft, but i'm not quiet sure i get why Layton games are listed as not working on the google document. Not here to complain, but to understand: These games are very similar to Visual Novels, so... why?

Add screenshot-to-SD functionality.

Would this be possible? I know it is possible for DS software to take screenshots of itself, and there should be some way to write to the SD, even if indirectly.

Anything Happening?

Hey guys
Ive noticed that work has stopped on TWLoader and ndsbootstrap here. is there anything bad happening? or are you just taking couple months break?

DSOrganize 3.2 DLDI error

So I just installed the latest version of nds-hb-menu and nds-bootstrap but DSOrganize 3.2 won't boot (I get an error message telling me to ensure that I have DLDI patched it:

You are not using a card that is compatible with Chishm's FAT library. Please make sure that you have properly DLDI patched DSOrganize!

Am I missing something vital or does DSOrganize just not work right now?

[Request] Specify to use Python 2

Hello there!
Since this have been added (link) I'm unable to run build_cia.sh because I've got Python 2.x and 3.x in the same computer and trying to run build_cia.sh is getting me an error.
My suggestion is to modify this two lines L12 and L13 modifying python xxxxxx to py -2 xxxxxx to make it works on Python 2.x

Thanks for all :)

DS DOOM v1.4

I had an issue when trying to use the DS DOOM homebrew with the latest version of nds-bootstrap.
I made the CIA forwarder and everything was okay.

When I boot the game, I get a white screen, and until I press some buttons, the screen changes to a black background with only a message saying:
"Welcome Shadow!"

I am guessing this might have something to do with the fact that the homebrew app is not detecting the WAD files for Doom at all, nor prboom.
Here's the thread for DS DOOM latest version v1.4 which add music support:
https://gbatemp.net/threads/dsdoom-svn.364770/

If there's any more information needed, I'd be glad to help out.
Thanks in advance:
Shadow

Sonic Rush crashing with a garbled background(also happens on 67MHz)

While playing Sonic Rush off of the SD card using TWLoader(with the latest unofficial nds-bootstrap), I always seem to experience these weird crashes. They happen completely randomly, and only seem to affect levels with have multiple background layers.

img_1028

As you can see in the image, the game has crashed with the whole top background becoming garbled. You should note that the garbled background also changes extremely fast(like static on a TV). This crash also seem to happen more commonly when playing as Sonic instead of Blaze.

Compile error: 'REG_MBK_2' undeclared

Every time I've tried to compile the "card" branch of nds-bootstrap, I get a bunch of "{variable name} is undeclared" errors. These specific errors are new, only appearing after I completely deleted my old installation of devkitARM r45 and made a fresh install of devkitARM r46, but I've been getting similar errors no matter when I try, or what branch/revision of the code I've currently checked out, and it's been driving me nuts! I figure I must be doing something terribly wrong if no-one else has reported compilation issues by now, so any help would be much appreciated!

The exact error I'm getting is:

/home/james/git/nds-bootstrap/cardengine_arm9/source/cardEngine.c:88:5: error: 'REG_MBK_2' undeclared (first use in this function)
     REG_MBK_2=0x8185898D;
     ^~~~~~~~~
/home/james/git/nds-bootstrap/cardengine_arm9/source/cardEngine.c:88:5: note: each undeclared identifier is reported only once for each function it appears in
/home/james/git/nds-bootstrap/cardengine_arm9/source/cardEngine.c:89:5: error: 'REG_MBK_3' undeclared (first use in this function)
     REG_MBK_3=0x9195999D;
     ^~~~~~~~~

Elite Beat Agents loads kinda.

I had a pokemon sun cartridge in the slot. loading EBA, it would say "Cannot access data. Turn off the power and reinsert the game card". I decided to take the cartridge out and load it again. Booted it up and i loaded the boot screen of EBA going to the start screen. The audio lagged and when i toughed the screen, i thought id be able to play the game but it froze on a black screen for like 2 minutes then went to the first boot tutorial. Very laggy and choppy audio.

Auto-Patch for GBA Link games for SD Cards?

I realise this is a request for a long way in the future but it crossed my mind while organizing my files , would it be possible to auto-patch NDS games that link with GBA carts to instead read from a file with the same name but the .GBA extension for checking a cart and .GBA.SAV on the SD Card but otherwise the same as the NDS for checking save files ?

Kirby Super Star Ultra: Save file could not be read

When I try to launch super star ultra the game gives me a message saying that the save file could not be accessed, and to power off and remove the game cart. I'd tried booting up the game without a game cart inserted and the issue persisted

NOTE: I'm running the roms from my micro sd card

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.