Homebrew DS(i) Mode hacking progress thread

ahezard

Well-Known Member
Member
Joined
Feb 17, 2016
Messages
116
Trophies
0
XP
1,140
Country
France
Both ARM7 and ARM9 can use main RAM.
Redirecting both ARM7 and ARM9 reads to an image in RAM seems to be require fewer patches than redirecting all ARM7 reads to the SD, and then also having ARM7 run a server which can fetch data from the SD and pass it to the ARM9 on request.
Ok, it is true that ARM7 and ARM9 can access main ram but the 16MB dsi ram mode maps the ram differently to the original 4MB ds mode which breaks retail ds games and most homebrews (the addresses used usually to access an uncached mirror of the ram in 4MB mode point to real ram and not a mirror of the ram in 16MB mode). The games can be patched to avoid that for sure and maybe it will be required in the end but for now we are limited to the 4MB ram mode if we want to run a retail ds game.
So I will not load the rom into ram, this would be faster and simpler if it was possible but it is not. I will patch the game to redirect the arm9 card commands towards arm7 that will read the necessary data into the .nds rom file onto sd. The arm7 card command will be patched as well but it is easier since the sd can be accessed directly. So there will not be a limit in the rom size for the compatible game.
If enabled the 16MB mode could be used for cache (12MB available), but cache management algorithms may be tricky to implement and are prone to create bugs, so this will not be present at launch.
 

Billy Acuña

Well-Known Member
OP
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
I tested RACE!DS (Neo Geo Pocket emulator for NDS), which runs very slow on a flashcard, but with bootstrap with CPU Boost enabled it runs pretty well, like 20 fps more than the abitual way to run it on a flashcard, I think I felt in love with bootstrap [emoji14]
 
Last edited by Billy Acuña,

metroid maniac

An idiot with an opinion
Member
Joined
May 16, 2009
Messages
2,092
Trophies
2
XP
2,716
Country
I tested RACE!DS (Neo Geo Pocket emulator for NDS), which runs very slow on a flashcard, but with bootstrap with CPU Boost enabled it runs pretty well, like 20 fps more than the abitual way to run it on a flashcard, I think I got in love with bootstrap [emoji14]

Does 3DS even have a Neo Geo Pocket emulator?
 

Billy Acuña

Well-Known Member
OP
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
@ahezard
If I'm not wrong, the CPU Boost is intented for emulators, right?
Because emulators runs smoother when is enabled, but it causes graphical issues on NeoDS (but smoother anyways). Do you think that those graphics issues could be fixed?

Also... What is the porpurse of NTR mode swithing on bootstrap.ini? Iirc hbmenu itself alreally swith into NTR mode at boot.
 

ahezard

Well-Known Member
Member
Joined
Feb 17, 2016
Messages
116
Trophies
0
XP
1,140
Country
France
@ahezard
If I'm not wrong, the CPU Boost is intented for emulators, right?
Because emulators runs smoother when is enabled, but it causes graphical issues on NeoDS (but smoother anyways). Do you think that those graphics issues could be fixed?

Also... What is the porpurse of NTR mode swithing on bootstrap.ini? Iirc hbmenu itself alreally swith into NTR mode at boot.
It is not really intended for emulator. It just put the arm9 in 133mhz mode instead of 66mhz mode so it could beneficial to any homebrew that have low frame rate not only emulator (eg: quake, hexen, aperture science, dscraft...).

I do not think the neoDS graphical can be fixed easily. neoDS must rely on the ARM9 speed somewhere in the code to synchronize some graphics tasks. Tt have to be found and fixed and recompiled with an outdated libnds/devkitpro that nobody have.

Indeed the options between nds-hbmenu .ini and nds-bootstrap .ini are redundant. The option in nds-bootstrap take precedence over hbmenu. The plan is to get rid of the nds-hbmenu ui at some point and replace it with a proper ctr (3ds) mode ui that will launch the nds-bootstrap as cia directly. But right now nds-bootstrap refuses to works when installed as cia and the ctr ui is not really even started anyway so I have just hacked nds-hbmenu to use it as a frontend ui that launches nds-bootstrap as an .nds.

Edit : I have just pushed a new release that should speeds sd read/write a bit. It now matches a slot 2 device (I compared with my supercard mini sd). It is still 2-3x slower than a slot 1 device. https://github.com/ahezard/nds-bootstrap/releases
 
Last edited by ahezard,

metroid maniac

An idiot with an opinion
Member
Joined
May 16, 2009
Messages
2,092
Trophies
2
XP
2,716
Country
@ahezard
If I'm not wrong, the CPU Boost is intented for emulators, right?
Because emulators runs smoother when is enabled, but it causes graphical issues on NeoDS (but smoother anyways). Do you think that those graphics issues could be fixed.

I use it for official games through NTR Launcher personally. There are some games that have nasty framedrops and most of the time boosting the ARM9 clock tidily takes care of that.
 

sieroi

Well-Known Member
Member
Joined
Apr 29, 2015
Messages
147
Trophies
0
Age
37
XP
880
Country
Nitrotracker works, and works perfectly. Fantastic to see!

Also, surprisingly, Lemmings DS works - there's a bit of corruption on the upper screen on the main menu, and the loading times are absurdly long, but once the initial game load process is done? It's perfect.
 

metroid maniac

An idiot with an opinion
Member
Joined
May 16, 2009
Messages
2,092
Trophies
2
XP
2,716
Country
Tried NDS Music Player and while it works, it won't play some rams due to lack of ram. Anyway I can use all of the TWL Mode's RAM in it?

It's already been mentioned thay extra TWL RAM cannot be used because the TWL memory map conflicts with the NTR one.

Simce this program is open source, it may be better to port it to TWL mode.
 

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,697
Trophies
3
Age
25
XP
21,255
Country
United States
I made a mock-up image of a 3DS-Mode .nds ROM loader.

mockup image.png


It looks similar to the DSi Menu, but game covers/icons are shown in 3D at the Top screen.
The color changes depending on the favorite color set in DS Profile settings.
  • Name
  • Background
  • "Select" border
  • Left/Right arrows
For the Top screen, The L button switches between game covers and icons from the ROMs, while the bottom screen is always icons from the ROMs.

Even got a name for the ROM loader: TWLoader

What do you think?
 
Last edited by RocketRobz,

Elveman

Just passing by
Member
Joined
Feb 1, 2015
Messages
456
Trophies
0
Age
27
Location
Moscow city
XP
992
Country
Russia
I made a mock-up of a 3DS-Mode .nds ROM loader.

View attachment 66679

It looks similar to the DSi Menu, but game covers/icons are shown in 3D at the Top screen.
The color changes depending on the favorite color set in DS Profile settings.
  • Name
  • Background
  • "Select" border
  • Left/Right arrows
For the Top screen, The L button switches between game covers and icons from the ROMs, while the bottom screen is always icons from the ROMs.

Even got names for the ROM loader.
  • 3DSiMenu
  • 3DSision
  • 3DScovered
  • DSFlow
  • TWLoader
What do you think?
That's awesome! Really great idea with DSi-like menu, and TWLoader sounds great for the name
 

Billy Acuña

Well-Known Member
OP
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
I made a mock-up of a 3DS-Mode .nds ROM loader.

View attachment 66679

It looks similar to the DSi Menu, but game covers/icons are shown in 3D at the Top screen.
The color changes depending on the favorite color set in DS Profile settings.
  • Name
  • Background
  • "Select" border
  • Left/Right arrows
For the Top screen, The L button switches between game covers and icons from the ROMs, while the bottom screen is always icons from the ROMs.

Even got names for the ROM loader.
  • 3DSiMenu
  • 3DSision
  • 3DScovered
  • DSFlow
  • TWLoader
What do you think?

The most beautyful thing I ever seen!!! As the name, it could be 3DSision o TWLoader, whatever of those two would be fine :)
 

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,697
Trophies
3
Age
25
XP
21,255
Country
United States
That's awesome! Really great idea with DSi-like menu, and TWLoader sounds great for the name
The most beautyful thing I ever seen!!! As the name, it could be 3DSision o TWLoader, whatever of those two would be fine :)
Alright, TWLoader it is! :)
Now let's just wait for a dev to make it using the mock-up image as a base, 'cause I'm not that good of a dev. :P
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: Lol