Homebrew DS(i) Mode hacking progress thread

  • Thread starter Thread starter Billy Acuña
  • Start date Start date
  • Views Views 810,472
  • Replies Replies 4,367
  • Likes Likes 81
Is it possible to run the DSi system menu on a 3DS?
Although I don't know about the DSi menu (although I think there's some kind of homebrew app that mimics it) you can run the original DS menu as a .nds file. It runs initial setup every time and then restarts, though. Useful if you need to change the DS mode username.
 
Interesting news! I managed to fit Kirby Mass Attack into System Memory (aka TWLN partition), by deleting whatever DSiWare I have.
View attachment 47572
The game is (when trimmed) 77.9MB, or in blocks, a whopping 624!
So it turns out that there is no size limit on DSiWare! The real limit is whatever free blocks you have on System Memory.

Correct.

No error screens. White screens, actually.

Yes, but just to white screens.:( I installed it just for block filler.

probably i am very late, since this was talked in may... but i may have some info?
kirby mass attack has a cool AP.. i mean, it white screens on my dstwo and yes it's updated... i have to apply the anti AP patch in order to make it work..
i recall something about the USA rom working, but the EUR one didn't work for me at all even with the ap patch...
you may try to use another game (if you still are fiddling with that)
 
probably i am very late, since this was talked in may... but i may have some info?
kirby mass attack has a cool AP.. i mean, it white screens on my dstwo and yes it's updated... i have to apply the anti AP patch in order to make it work..
i recall something about the USA rom working, but the EUR one didn't work for me at all even with the ap patch...
you may try to use another game (if you still are fiddling with that)
I just gave the ROM a bit of the DSi extended header, so that it would install as a CIA.
 
Wouldn't it still white screen because it's a NTR title and as-is won't be able to access card data? (Or was that something like a forwarder? I'm not up to date on this thread. :P)
It's kinda like a forwarder, except it's trying to read the game's contents from Slot-1.
 
I'm guessing that only the ARM7 can access the SD directly, while both the ARM7 and ARM9 can read slot1 under normal circumstances. That would explain why it's necessary to use the ARM7 to fetch data on the ARM9's behalf.
How much overhead does this approach bring? Is it likely to impact performance, esp. in software that streams data from the disk?

I'd like to try some DLDI homebrews but I'm not sure how this is organised. Is nds-bootstrap simply used to perform automatic DLDI patching for homebrews launched from nds-hb-menu, so they can use the SD?

You are perfectly right, only arm7 can access sd. This approach indeed impacts performance quite a bit : the current dldi driver is 5-10x slower than an r4 card (it depends of the homebrew). With further optimization I estimate it could be 3-4x slower.

Just install the latest beta5 release of nds-hbmenu here : https://github.com/ahezard/nds-hb-menu/releases . Install the cia and put the folder _nds and his content at the root of your sd card. It includes nds-bootstrap that does automatically the dldi patching (you do not need to do anything manually).
 
You are perfectly right, only arm7 can access sd. This approach indeed impacts performance quite a bit : the current dldi driver is 5-10x slower than an r4 card (it depends of the homebrew). With further optimization I estimate it could be 3-4x slower.
Yikes.

Given the huge impact that even middle-class SD cards have on flashcart performance, won't this pretty much wreck any chance of loading DS backups in a playable state?
 
Yikes.

Given the huge impact that even middle-class SD cards have on flashcart performance, won't this pretty much wreck any chance of loading DS backups in a playable state?
I'm pretty sure they'll still be in a playable state, just the speed of loading files from NitroFS will be slightly affected.
 
The game itself (hypothetical commercial .nds games) could be laggy, as we may need inter-processor communication (IPC), slowing down accesses that may occur each frame (as the game can always be "loading") as one processor (arm9) asks the other (arm7) to do something (card read) and _waits_ for a response back.

However, we may not need IPC, if we can utilize shared memory effectively, it something else; it's up in the air at this point what is truly necessary and how much can be optimized. Here's hoping, anyways.

(Correct me if I'm wrong, I'm not up to date on the dldi driver's specifics ^^)
well the thing is when your playing the game the part thats currently loaded is in the ram so it would only be laggy when you go to a different map in pokemon etc or a load zone
 
Last edited by hacksn5s4,
well who knows, we don't have rom loading yet, we may have full speed for all we know
well i slow read speeds don't make the game laggy it just makes it take longer to load with load zones etc and maybe not even be notice able because the game being laggy or not depends on the hardware and not the read speed
 
Last edited by hacksn5s4,
well i slow read speeds don't make the game laggy it just makes it take longer to load with load zones etc and maybe not even be notice able because the game being laggy or not depends on the hardware and not the read speed

It depends entirely on the game and how it's written - whether it streams data or loads it statically.
Even if a game doesn't look like it streams data it probably does , because the DS has very little RAM and low latency reads are something a cartridge console can count on to mitigate that.
I remember distinctly the opening of Sonic Rush Adventure, rendered enitrely in-engine, slowing to a crawl because of a slow MicroSD in my flashcart.
 
  • Like
Reactions: piratesephiroth
It depends entirely on the game and how it's written - whether it streams data or loads it statically.
Even if a game doesn't look like it streams data it probably does , because the DS has very little RAM and low latency reads are something a cartridge console can count on to mitigate that.
I remember distinctly the opening of Sonic Rush Adventure, rendered enitrely in-engine, slowing to a crawl because of a slow MicroSD in my flashcart.
i thought with flash cards when you load the game it temporally loads it into the chip on the flash card the ds reads that
 

Site & Scene News

Popular threads in this forum