nds-bootstrap loader: Run commercial NDS backups from an SD Card

nds-bootstrap:

Thanks to the work of ahezard, Gericom, Apache, Robz8, _catcatcat, and shutterbug2000 and other contributors, we can now load NDS games from the SD card, without any flashcard/SLOT-1 card.

Don't expect high compatibility, but do expect many, many updates.

:arrow: Compatibility listing:
https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit#gid=0

:arrow: The official Discord server for nds-bootstrap:
https://discordapp.com/invite/7bxTQfZ

:arrow: The thread for the recommended loader (by Robz8):
https://gbatemp.net/threads/twloader-ctr-mode-nds-app.448375/

:arrow: SRLoader for softmodded DSis (by Robz8):
https://gbatemp.net/threads/srloader-nds-app-for-dsi.472200/

:arrow: If you're more of a forwarder person:
https://gbatemp.net/threads/nds-forwarder-cias-for-your-home-menu.426174/

:arrow: Link to the releases page:
https://github.com/ahezard/nds-bootstrap/releases

:arrow: Anti-Piracy patch list by Robz8
https://gbatemp.net/threads/ap-patch-preservation.477536/

Also, thank you to our testers:
Historian
JoshuaDoes
thejsa
Alerdy
PokeAcer


Also, a video thanks to Robz8:


And another thanks to Alerdy:
 
Last edited by shutterbug2000,

metroid maniac

An idiot with an opinion
Member
Joined
May 16, 2009
Messages
2,091
Trophies
2
XP
2,694
Country
Yeah i think the opposite is actually true. /IF/ we have enough cpu cycles available, compressing the data may actually lead to faster loading times.
there is a delicate balance between i/o speed and decompression overhead.

Maybe @ahezard can toy around with the idea of something like a tiny zram

I was informed IPC was the major overhead here, I don't think I/O speed is a problem.
Maybe compression would make the most of the WRAM cache once that's implemented fully. There's only 768KB available and I believe there's only 512KB mapped in current releases of nds-bootstrap. But we'll see if that's necessary, because I don't think at this time that the DSi WRAM is being utilised as a cache fully.
 
  • Like
Reactions: bakawun

ahezard

Well-Known Member
Member
Joined
Feb 17, 2016
Messages
116
Trophies
0
XP
1,140
Country
France
I was informed IPC was the major overhead here, I don't think I/O speed is a problem.
Maybe compression would make the most of the WRAM cache once that's implemented fully. There's only 768KB available and I believe there's only 512KB mapped in current releases of nds-bootstrap. But we'll see if that's necessary, because I don't think at this time that the DSi WRAM is being utilised as a cache fully.
For now I use only 32kb for cache at arm9 level + 128kb at arm7 level (fat table), the WRAM also hold my code that is running in parallel of the game (64 kb arm9 + 64 kb arm7). I plan to use 512kb of cache at arm9 managed in 32kb block (the WRAM is organized in 32kb block). This is why 32kb cluster size for the SD should be optimal, because it is matching the WRAM physical organisation. Once this is implemented properly (i have to implement a round-robin algorithm or something similar) this should reduces further the loading time.

Then some compression may be done, this is not a bad idea, even if it would increase the complexity of the cache management. But first I want to implement a prefetch algorithm that try to guess what will be the next clusters accessed on the sd and preload them into the cache in background. This is not easy to do but it should provide a big boost, particularly during cut-scene.

What I want to look also is to improve the arm7 part to reduce the blocking usage, currently when the arm7 is loading data from sd I deactivate all other thread/interrupts so nothing so running in parallel, not even high priority stuff. This was done to avoid bug but it creates this sound choppiness and lack of responsiveness of controls that is observed in some games. I have some ideas to improve that.
 

vander263

Well-Known Member
Member
Joined
Jan 21, 2017
Messages
177
Trophies
0
Age
33
XP
52
Country
Brazil
^I hope that someday the compatibility list greatly increases like the speed improvement in this latest version
 

TinchoX

Azure Flame Kite
Member
Joined
Apr 18, 2015
Messages
629
Trophies
0
Age
35
XP
499
Country
Argentina
Latest commit made Pokemon Explorers of Sky load and work just like Blue Rescue team, it is playable but it lags hard every time it has to load up text and sprites.
Anyone with access to the chart kindly modify that entry, thanks in advance.

It is slowly improving, it's amazing how far it's gone. ;)

Note: It's the EUR version already on the list.
VRAM Boost ON and Lock ARM9 SCFG_EXT off

I'll try the USA version later on and see it that one works as well.

Pokemon Mystery Dungeon - Explorers of Sky (USA) now boots up just fine, loading times are the same as the rest.
Maybe consider adding this one to the list as well, let people know both versions work now.
 
Last edited by TinchoX,
  • Like
Reactions: ahezard

raphamotta

Well-Known Member
Member
Joined
Jul 12, 2013
Messages
685
Trophies
1
Age
40
XP
2,239
Country
Professor Layton and the Curious Village (both US and EUR) used to work in very early versions of bootstrap (before save management). Now it's just white screen.

999 is almost working. I can hear the sound in the begging of game and then it's black screen. Maybe a problem with the save I don't know...
 

TheArcadeStriker

Well-Known Member
Member
Joined
Oct 5, 2016
Messages
215
Trophies
0
Age
22
Location
somewhere
XP
287
Country
Venezuela
Tried Sonic Rush Adventure. Unpatched it did load but brought a save error. Patched it with MCM and it does load! Surprisingly the 3D cutscenes don't have any loading times while they are playing (Maybe before them, but not while they are playing), as well as the 2D ones (except for when they go to a location to another, and similarly there are loading times BEFORE the cutscenes), and the title screen and Intro do have some lag/loading times, but the game runs perfectly (Just passed the Training level).
 

NightScript

Well-Known Member
Member
Joined
Feb 7, 2016
Messages
951
Trophies
1
Age
20
XP
2,238
Country
United States

SCN0

Member
Newcomer
Joined
Jan 25, 2017
Messages
6
Trophies
0
XP
54
Country
United States
Great work Ahezard! Hotel Dusk seems to boot now, although there's graphical glitches and stuttering :toot:
 
Last edited by SCN0,

vander263

Well-Known Member
Member
Joined
Jan 21, 2017
Messages
177
Trophies
0
Age
33
XP
52
Country
Brazil
Let's try some games again!! :D, thanks buddy!!

--------------------- MERGED ---------------------------

How i use ARM7_DONOR_PATH?
 

TLNiles

Well-Known Member
Newcomer
Joined
Dec 26, 2016
Messages
79
Trophies
0
Age
31
XP
124
Country
Russia
So, how exactly donoring works? No MaxCrass... does it mean that I just put donor ROM, put an address and that's it? Or should I still MaxCrass the donor before that first, and only then it'll work?
 

TLNiles

Well-Known Member
Newcomer
Joined
Dec 26, 2016
Messages
79
Trophies
0
Age
31
XP
124
Country
Russia
Alright, what of MaxCrass patched ROMs then? Should I get rid of them and replace with regular ones, or keeping patched one is fine?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    BakerMan @ BakerMan: also happy birthday @Xdqwerty