devkitPro.org
https://devkitpro.org/

Filesystem not working on M3, OK on emus
https://devkitpro.org/viewtopic.php?f=38&t=1640
Page 1 of 3

Author:  jotd [ Sun Dec 13, 2009 9:48 pm ]
Post subject:  Filesystem not working on M3, OK on emus

Hi,

I've been trying to embed my files in the .nds file, and it works 100% with NitroFS included in devkitpro 1.5 (libfilesystem) when I use No$GBA. All files work OK. Dirscan also works like a charm.

But when I put the file on my M3 real card on my DS, the nitrofsinit call fails => impossible to open files.

When I use libfat with fatDefaultInit() it works on my M3 real card, but I'd like an embedded solution.

I have tried to patch with dldi, but there's lack of documentation, that mixed with various versions of NitroFS which require an argument, or not... I'm lost!!

thanks

Author:  vuurrobin [ Sun Dec 13, 2009 10:41 pm ]
Post subject:  Re: Filesystem not working on M3, OK on emus

check to see if your card passes the path to your main arguments and/or try to run the nds file with devkitPro's homebrewmenu. for libfilesystem to work, it needs the path to the nds file. no$gba and the homebrewmenu passes this path to main, but most cards don't.

Author:  RyouArashi [ Mon Dec 14, 2009 9:20 am ]
Post subject:  Re: Filesystem not working on M3, OK on emus

M3 Real doesn't pass ArgV, which libfilesystem needs.
Use HomebrewMenu to load your file.

libfilesystem works on Emulators, because they emulate some kind of "Slot 2"
boot, so the lib can access the whole nds file. If you have the GBA module
from the Perfect bundle or some other Slot 2 RAM, you could try booting
your program from slot 2.

Author:  jotd [ Mon Dec 14, 2009 9:23 pm ]
Post subject:  Re: Filesystem not working on M3, OK on emus

I'm curious: how commercial games do to read "files" out of .nds? I saw that the executable is mapped in RAM so it's obviously not ROM.

Author:  vuurrobin [ Mon Dec 14, 2009 9:56 pm ]
Post subject:  Re: Filesystem not working on M3, OK on emus

your cards menu patches the .nds file for commercial games, so it can treat the flashcard as it was a normal card.

Author:  jotd [ Mon Dec 14, 2009 10:06 pm ]
Post subject:  Re: Filesystem not working on M3, OK on emus

vuurrobin wrote:
your cards menu patches the .nds file for commercial games, so it can treat the flashcard as it was a normal card.


I believe the card software knows exactly which game it is running. I mean those are not generic patches, but the game is identified and the loads are redirected right?

Author:  WinterMute [ Fri Dec 18, 2009 10:23 pm ]
Post subject:  Re: Filesystem not working on M3, OK on emus

No, they're generic patches which need updated when Nintendo update the official SDK.

Author:  jotd [ Fri Dec 18, 2009 10:33 pm ]
Post subject:  Re: Filesystem not working on M3, OK on emus

WinterMute wrote:
No, they're generic patches which need updated when Nintendo update the official SDK.


official SDK never leaked right ? :) I guess they're looking for some hex strings and replace them by some others.

Author:  jotd [ Fri Dec 25, 2009 9:50 pm ]
Post subject:  Re: Filesystem not working on M3, OK on emus

int main(int argv, const char **argv)
{
consoleDemoInit();
printf("ARGV %s\n",argv[0]);
}

I've tried to printf(argv[0]) and it's a NULL pointer even on No$GBA. I was expecting some value like the name of my .nds file.

So since NitroFS works from No$GBA, how NitroFS handles this?

Author:  vuurrobin [ Sat Dec 26, 2009 1:03 pm ]
Post subject:  Re: Filesystem not working on M3, OK on emus

I get the same result here.

but IIRC, no$gba executes the nds file from slot 2, and slot 2 works differently than slot 1 (slot 2 is memory mapped). maybe that is how libfilesystem gets the nds file, because there is only 1 nds file loaded at the memory of slot 2.


is there a way to figure out if an nds file is executed from slot 1 or 2?

Page 1 of 3 All times are UTC [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/