Homebrew DS(i) Mode hacking progress thread

metroid maniac

An idiot with an opinion
Member
Joined
May 16, 2009
Messages
2,092
Trophies
2
XP
2,704
Country
What's bootstrap, again? :'D

Theoretical scenario here: should GBA ROM loading be achieved with it, would it also work similarly to the SD card redirection method used for DS ROM loading from SD? (Since there is no GBA slot on neither DSi nor 3DS, so I assume something would have to be redirected somewhere) there be major differences between it and AGB CIA generation on 3DS? Would they work just like they would on a DS/DSLite?

Sorry for all the questions, I'm legit curious :c

nds_bootstrap is what currently performs DLDI patching (SD card access) for DS homebrew,

It would be comparable to DS ROM loading, I guess.

I'm not sure how exactly GBA ROM loading in DS/DSi mode with a hypervisor would be implemented, though. On the DS all cartridge accesses are done with I/O commands and significant overhead. On the GBA, the entire <=32MB ROM is mapped immediately into the CPU's memory map.
This is useful for the GBA because it means that the game can run code straight out of the cartridge, without consuming precious RAM. But it makes this hypervisor really tricky because the 4MB/16MB on the DS/DSi is just too small to load most ROMs statically in memory and always fetching code from the SD card would be too slow to be practical. The ARM7 is clocked twice as high on the DS as it is in the GBA and there's also the entirely new ARM9 so there may be some wiggle room in there to perform some magic but now I'm reaching a bit beyond what I know.
That's the extent of my speculation.

EDIT: Maybe a static approach could work well in DSi mode for <=16MB roms? The DSi has extra RAM banks besides main memory. If I remember correctly it had everything the GBA has plus 16MB main memory for the ROM and 512KB WRAM for hypervisor working memory. That approach excludes 32MB ROMs like Kingdom Hearts and also leaves the original DS out of luck though.
 
Last edited by metroid maniac,

raphamotta

Well-Known Member
Member
Joined
Jul 12, 2013
Messages
685
Trophies
1
Age
40
XP
2,239
Country
TWLoader release time! :nds:
https://github.com/Robz8/TWLoader/releases/tag/v1.0

View attachment 67757
For those who tried out the old GUI-less version, delete the title and ticket with the product code "BOOTSTRAPLDR" to free up some TWL NAND space.

TWLoader is a CTR-mode frontend for nds-bootstrap. You can launch ROMs, Slot-1 card (via NTR Launcher), and change settings (like enabling/disabling DS boot screen, change clock speed, etc.).

Extract the files in "sdroot" to the 3DS SD Card root, and the TWLoader CIA.
Install the TWLoader CIA, and the CIA that's in "sdmc:/_nds/twloader/cia/".
Put some .nds ROMs in "sdmc:/nds/".

Controls for ROM selector:
Up/Down: Pick a ROM.
A: Launch ROM.
X: Launch Slot 1.
Start: Exit to HOME Menu.
Select: Switch to Settings screen.

Controls for Settings screen:
Up/Down: Pick a setting.
A: Change setting.
Select: Switch to ROM selection screen.

It can boot the roms but some roms has issues like nesDS (no touchscreen) and DSx86 (freezes). If I use the original bootstrap 0.03 with original ini file them your loader works well.
 

Apache Thunder

I have cameras in your head!
Member
Joined
Oct 7, 2007
Messages
4,473
Trophies
3
Age
36
Location
Levelland, Texas
Website
www.mariopc.co.nr
XP
6,920
Country
United States
This runs in plain TWL mode actually and is probably not compatible with the enhanced NTR mode you get with NTR Launcher. Just installs the cia. Only the original r4 is supported. It should be possible to support more slot1 cards via dldi but that would requires more coding and not all card can be initialized in TWL mode.


What's wrong with using this buid?

https://github.com/ahezard/wood3ds/commit/9cb22d2378a201fc7238f9457e48c4e749acfba7

As of that last commit I made, it's able to handle file operations between SD/Slot-1 and the loader isn't broken. It mode switches into NTR mode correctly. The only minor issue is touch screen for the GUI don't work unless booted from bootstrap (aka, NTR mode is already active when it boots). Though newer bootstrap may break it if it attempts to patch it with the SD engine DLDI stuff. Touch screen being broken does not impact games booted from it.

Assuming one has an original R4, it's still able to launch retail games from slot-1 just fine. Of coarse it can't boot anything from SD as expected. But it at least can boot things from an R4. :P

The only downside is this version gets the GUI assets from slot-1. I didn't get around to trying it get it to load that off SD instead. My SSD died recently and had to revert to a 4 month old backup, so I no longer have the build setup for Wood3DS to compile correctly. So unfortunately, I have no future plans to work on this project. :(
 
Last edited by Apache Thunder,

Kevin Cuep

Member
Newcomer
Joined
Dec 15, 2014
Messages
17
Trophies
0
Age
27
XP
181
Country
Mexico

Attachments

  • IMG_20161103_112138.jpg
    IMG_20161103_112138.jpg
    264.7 KB · Views: 295
  • IMG_20161103_112158.jpg
    IMG_20161103_112158.jpg
    161.6 KB · Views: 296
Last edited by raulpica, , Reason: Linking to warez -rp

ahezard

Well-Known Member
Member
Joined
Feb 17, 2016
Messages
116
Trophies
0
XP
1,140
Country
France
What's wrong with using this buid?

https://github.com/ahezard/wood3ds/commit/9cb22d2378a201fc7238f9457e48c4e749acfba7

As of that last commit I made, it's able to handle file operations between SD/Slot-1 and the loader isn't broken. It mode switches into NTR mode correctly. The only minor issue is touch screen for the GUI don't work unless booted from bootstrap (aka, NTR mode is already active when it boots). Though newer bootstrap may break it if it attempts to patch it with the SD engine DLDI stuff. Touch screen being broken does not impact games booted from it.

Assuming one has an original R4, it's still able to launch retail games from slot-1 just fine. Of coarse it can't boot anything from SD as expected. But it at least can boot things from an R4. :P

The only downside is this version gets the GUI assets from slot-1. I didn't get around to trying it get it to load that off SD instead. My SSD died recently and had to revert to a 4 month old backup, so I no longer have the build setup for Wood3DS to compile correctly. So unfortunately, I have no future plans to work on this project. :(
The access to the 3ds sd is slower and less stable (it freezes sometimes) on this version and the slot1 sd access is limited to original r4, you cannot make other card compatible by dldi patching the file. The good point is that the loader is not broken so you can run .nds files but only from the r4 sd. I never succeeded to merge the advantages of both version.
 

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,675
Trophies
3
Age
25
XP
21,212
Country
United States
https://github.com/Robz8/TWLoader/releases/tag/v1.1

HNI_0005.png
HNI_0006.png


Added DSi-Menu screen, and the option to change TWLoader's color.
Filename list mode now scrolls up/down a bit, in case there's a lot of files.
Descriptions for each NTR/TWL-mode option are added.

New ROM selection controls:
R: Switch between filename listing, and DSi-Menu (Boxes) modes.

New Settings controls:
L: Frontend settings.
R: NTR/TWL-mode settings.

TWLoader.CIA and "sdroot/_nds/twloader/settings.ini" files are updated, and "nds" folder is added to "sdroot".
 
Last edited by RocketRobz,

TheGreek Boy

Well-Known Member
Member
Joined
Jan 9, 2016
Messages
1,241
Trophies
0
Location
Behind you.
Website
www.youtube.com
XP
1,606
Country
Greece
https://github.com/Robz8/TWLoader/releases/tag/v1.1

View attachment 67867 View attachment 67868

Added DSi-Menu screen, and the option to change TWLoader's color.
Filename list mode now scrolls up/down a bit, in case there's a lot of files.
Descriptions for each NTR/TWL-mode option are added.

New ROM selection controls:
R: Switch between filename listing, and DSi-Menu (Boxes) modes.

New Settings controls:
L: Frontend settings.
R: NTR/TWL-mode settings.

TWLoader.CIA and "sdroot/_nds/twloader/settings.ini" files are updated, and "nds" folder is added to "sdroot".
I'M TRYING TO LAUNCH POKEMON DIAMOND FROM CARD BUT IT SAYS "Error Has Occurred. Hold down the Power Button to turn the power off"
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @K3Nv2, Very accurate.