Filesystem not working on M3, OK on emus
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
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
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.
-
- Posts: 29
- Joined: Sun Mar 29, 2009 9:23 pm
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.
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.
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.
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.
Re: Filesystem not working on M3, OK on emus
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?vuurrobin wrote:your cards menu patches the .nds file for commercial games, so it can treat the flashcard as it was a normal card.
-
- Site Admin
- Posts: 1986
- Joined: Tue Aug 09, 2005 3:21 am
- Location: UK
- Contact:
Re: Filesystem not working on M3, OK on emus
No, they're generic patches which need updated when Nintendo update the official SDK.
Re: Filesystem not working on M3, OK on emus
official SDK never leaked right ? I guess they're looking for some hex strings and replace them by some others.WinterMute wrote:No, they're generic patches which need updated when Nintendo update the official SDK.
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?
{
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?
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?
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?
Who is online
Users browsing this forum: Semrush [Bot] and 1 guest