gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS Misc > Brand new 2GBminiSD card, same brand requires different DLDI

#129182 - Dood77 - Sun May 20, 2007 3:36 am

So recently I found a deal for a Kingston 2GB miniSD card for $3. Wow is right, it was after a rebate and a 'Google Checkout' new user special.
My other 1GB miniSD that I use in my SC:miniSD is a Kingston as well, and has always worked great with FAT, patched with scsd.dldi. When my card came in the mail I proceeded to move all of my mp3s to it, along with LMP-ng and DSO, both originally pached with scsd.dldi. Both programs refused to init FAT so I later tried patching with scsd_moon.dldi and it worked fine.
So I'm wondering, why does it do this? Is there any difference in compatibility/speed/corruption if I just always used scsd_moon.dldi? Does it have anything to do with the fact that its a 2GB card? I only purchased the 1GB about 6 months ago, I wouldn't think it would've changed much.

So this brings me to a few ideas for programs that would be really nice in my situation. One is a patcher that runs on the DS, this seems like it would be extremely easy to do, but then again I don't program the DS so go ahead and correct me. (the funny thing is that the DS version itself would need to be DLDI patched :P) My other desire is to beable to patch all the .nds files in a directory, including subdirectories. This one is less likely to be done, because who else needs this done and do they need it on a regular basis?
Oh wait! Just thought of a use for patching every .nds on a card. So if someone had two different devices (say a SC lite and an R4) then to use the same card with them they would need two versions of every FAT-enabled .nds binary on the card. Instead a program could be made to patch every .nds file on the card with the same patch. But then again the only reason I can think of that someone would want to do this is if they were testing programs on multiple SD/CF card readers.

But I begin to ramble... I think I've asked all my questions.

P.S. By the way chishm, the DLDItool GUI interface doesn't differentiate between scsd.dldi and scsd_moon.dldi since it only grabs the name of the patch from the patch itself, not the filename (I get two on the list of "Supercard (SD card)") I forget if you're the actual programmer of the GUI but it would be nice to tell the difference between the two, maybe you could update the name of the patch in the scsd_moon.dldi file to say something about moon or alternate.
_________________
If I use a term wrong or something then feel free to correct, I?m not much of a programmer.

Original DS Phat obtained on day of release + flashme v7
Supercard: miniSD, Kingston 1GB, Kingston 2GB
Ralink chipset PCI NIC

#129184 - dantheman - Sun May 20, 2007 4:57 am

I actually had the exact same thing happen myself - see http://forum.gbadev.org/viewtopic.php?t=12963&start=30 for my post. I don't think the size is the determining factor though, as in my case the 2 GB card worked fine for months, and the new 1 GB card require scsd_moon.dldi.

There actually is a way to patch DLDI files while on the DS, but it requires DSLinux. Sonny_Jim ported dlditool to DSLinux, and while he didn't submit a patch, the binary can be downloaded and placed in /linux/usr/bin to give you DLDI patching ability. Put the DLDI files in your /linux/home directory and use the syntax "dlditool scsd.dldi /media/games/ndsbinary.nds" (arbitrarily choosing a directory named "games" as an example; just remember that "/media" gives you the root of your media card). I actually used this myself soon after downloading it, as it was my second day of having the new miniSD card, and I had forgotten to repatch Comic Book DS with scsd_moon.dldi. Since I wanted to view a comic while I was on a school field trip, I used this to patch it and was able to view the comics fine afterwards.

Like you said though, you'd need to use the DLDI build of DSLinux and have that properly patched before it will work. Also note that 2 GB cards and DSLinux don't work too well together. While I'm able to use it, tab-completing commands or filenames crashes the shell, so I have to type everything out manually, which is tedious. It also crashes when I start the wireless network if I have anything in my home directory. Therefore, it's much more usable on my 1 GB card.


Last edited by dantheman on Sun May 20, 2007 5:02 am; edited 1 time in total

#129185 - tepples - Sun May 20, 2007 5:01 am

Dood77 wrote:
My other 1GB miniSD that I use in my SC:miniSD is a Kingston as well, and has always worked great with FAT, patched with scsd.dldi. When my [new 2 GB] card came in the mail I proceeded to move all of my mp3s to it, along with LMP-ng and DSO, both originally pached with scsd.dldi. Both programs refused to init FAT so I later tried patching with scsd_moon.dldi and it worked fine.
So I'm wondering, why does it do this? Is there any difference in compatibility/speed/corruption if I just always used scsd_moon.dldi?

scsd_moon.dldi doesn't try to properly start communication with the SD card. It relies on the fact that the SuperCard firmware itself starts communication with the SD card. In general, scsd_moon should give better compatibility, but it doesn't work with pak-swapping, meaning you can't use GBA save backup tools.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#129186 - dantheman - Sun May 20, 2007 5:05 am

Tepples, like I said in the other topic, I was actually able to get Chishm's "cart save" program working on the problem card, but only when leaving it unpatched, and while it couldn't display a list of folders, it was able to write the save file to the root of my card. Once patched with SCSD_moon.dldi though, it was like you said - it froze when I tried to write to the filesystem.

Of course, using "cart save" on any Supercard is more trouble than it's worth anyway, as it's a chore to reinsert the Supercard at all without having the DS reboot itself. In this case, the hardware itself prevents the use of such programs, with the difference in DLDI files playing only a secondary role.

#129239 - Dood77 - Sun May 20, 2007 11:35 pm

Thanks guys, yeah I remember hearing about DLDItool ported to linux, but I never downloaded it... It really is a pain typing out file paths in DSLinux, I don't mind a PC keyboard but the touch screen...

So tepples, do you know why my card fails? Is there something I could do to provide the information to make it correctly work with scsd.dldi?

So there aren't any other cons to using scsd_moon.dldi? Since I don't ever have a need to SLOT-2 cart-swap then I'll just use that. And if I ever do need to then I can use my 1GB card...

One more thing... would porting dlditool.exe to DS be easy enough for someone who knows only minimal C? (me)
_________________
If I use a term wrong or something then feel free to correct, I?m not much of a programmer.

Original DS Phat obtained on day of release + flashme v7
Supercard: miniSD, Kingston 1GB, Kingston 2GB
Ralink chipset PCI NIC

#129264 - OSW - Mon May 21, 2007 8:43 am

Since it's kinda relevant.

I have an ez4 deluxe and i used to use a sandisk ultra2 1gb microsd. Unfortunately it broke so i purchased a replacement from the exact same store, the exact same model.

My existing DLDI programs failed to work until i patched them with the alternate dldi (for slower cards).