Page 1 of 1

nitro initialization issue: fatSize == 0 [solved]

Posted: Wed Jun 23, 2010 4:30 pm
by Jens
I'm doing some remote compatibility testing and one of my testers are reporting that nitro is not initializing correctly. This is not the standard argv issue, but it seems to exit in the first line in the nitroFSInit function.

if (__NDSHeader->fatSize == 0 ) return false;

Before this, fatInitDefault has successfully executed. He's running a DS Light with a M3 DS REAL and this happens when running from Slot1. Running from Slot2 doesn't cause this issue.

Anyone who have any ideas? Anyone with this card that is using Slot1 and nitro successfully?

Re: nitro initialization issue: fatSize == 0

Posted: Sun Jun 27, 2010 11:36 am
by WinterMute
Sounds like the M3 DS Real menu isn't setting up the header correctly - I'm assuming that slot2 loading goes through gba rom space in which case the loader stub on the nds file will set up the header. I'm not 100% sure but I believe the homebrew menu will run properly when launched from the M3 menu - you can check that your nitro filesystem works correctly when run that way.

See http://wiki.devkitpro.org/index.php/Homebrew_Menu

Re: nitro initialization issue: fatSize == 0

Posted: Tue Jun 29, 2010 7:37 pm
by Jens
Thanks for the info. I've now verified that the whole header is invalid when launching from the M3 DS REAL Menu, which I think makes it impossible for nitro to initialize properly. Launching it through the homebrew menu works like a charm.

The conclusion to this is that I most likely will ship the next version of Colors! with homebrew menu included, and people who have these problems will have to launch it through that one.

Out of curiosity, if you want to extend homebrew menu to use graphics and stuff, I would guessed that you would use nitro. But as I understand, that would prevent it to launch on a flawed system-software like the one on M3 DS REAL. I guess you could statically link everything and make it fit in memory though.