#54516 - sublimerewind - Tue Sep 20, 2005 3:20 am
I know this must be somewhere else on these boards. I know it must be somewhere in the development tutorials. I know I'll likey be stoned and feathered and dragged through hot molasses for asking, considering. But:
What is the difference betwixt ds.gba and .nds files? pme2nds claims to convert between the two, but I've not yet had it tell me anything but it can't find the AXXE header or some such. I understand one has to do with accessing more memory than the 4 megs of RAM, and that t'other works in my GBAMP. Can I convert from one to t'other? When I start compiling my own stuff, need I generate multiple files and concatenate them as I've seen ndstool look like it's doing for others?
My first test will be trying to change the TI-85 emulator ds.gba (or source) to run from the GBAMP, I think.
Last edited by sublimerewind on Tue Sep 20, 2005 6:39 pm; edited 1 time in total
#54519 - tepples - Tue Sep 20, 2005 3:48 am
.nds is a binary for the Nintendo DS that loads into RAM. It consists of a header, an ARM7 region, and an ARM9 region. FlashMe+WMB and GBA Movie Player support this.
.srl (also called "clean dump", sometimes distributed as .nds because they use the same header) is a commercial ROM dump consisting of a .nds file and an appended file system, usually in Nitro-FAT format. The code in the .nds file reads from the appended file system using block transfers through the DS game card access registers. Homebrew tools do not generate .srl, and WMB does not support .srl. In the future, GBA Movie Player might support .srl by patching the ROMs to read the Nitro-FAT from the GBA Movie Player instead of the DS game card, but this isn't guaranteed to happen before DS end of life.
ds.gba is a binary for the Nintendo DS designed to run from GBA ROM. It usually consists of a small loader, a .nds file, and zero or more appended data files. The code in the ds.gba file reads from the appended data files using reads from GBA ROM space. Flash carts, M3, and SuperCard support this (though see below).
gba.nds As natrium42 points out, the SuperCard firmware seems to think that .nds is the extension for a ds.gba program. When using the DS for SuperCard homebrew, use ds.gba programs, but rename them to end in .nds. I'd suggest using gba.nds so that you can tell the difference between a real .nds program and what SuperCard wants.
.nds to ds.gba Converting .nds programs into ds.gba programs involves prepending a loader, which either loads the first appended .nds file or allows selection of one of many .nds files.
.srl to ds.gba This has become possible. Discuss it at Pocket Heaven, not here.
ds.gba to .nds Don't bother. Most ds.gba files whose author does not distribute a corresponding .nds file usually require appended data. They may or may not be available in a separate version whose source code has been adapted for the GBAMP using chishm's file system code.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
Last edited by tepples on Sat Sep 24, 2005 6:40 pm; edited 3 times in total
#54520 - natrium42 - Tue Sep 20, 2005 3:53 am
(1) .ds.gba
File begins with a GBA header (for stupid GBA flashers to mess with) and a small loader that runs on ARM7. It loads the ARM7 and ARM9 binaries into memory and starts execution of the demo.
Works on GBA flashcard directly. Doesn't work with menu loaders.
(2) .nds (old demos)
File begins with a NDS header and ARM7+ARM9 binaries. It can also contain a file system. There is no loader, so loading must be done by some kind of loader (e.g. Darkain's Multi-NDS menu loader).
Works with a loader.
(3) .nds (new demos)
Same as (2), but there is loader in "unused" space of the NDS header. Sadly, many GBA flashers mess up the NDS header thinking it's a corrupted GBA header. Hence, if your GBA flasher sucks, you will need to use a loader as in (2).
Works on GBA flashcard directly if your flasher doesn't suck. Also works with a loader.
Generally, you use demos in .ds.gba format only if you put only one demo onto a GBA flashcart. If you want to put more than one demo and/or are forced to use a loader (WMB, GBAMP, ...) you use demos in .nds format.
Note: Apparently the Supercard guys decided to mess up our naming convention and what we call .ds.gba, they call .nds
_________________
www.natrium42.com
Last edited by natrium42 on Tue Sep 20, 2005 3:56 am; edited 1 time in total
#54521 - natrium42 - Tue Sep 20, 2005 3:55 am
Heh, tepples beat me to it :)
I will leave it though, so that it's explained two ways.
_________________
www.natrium42.com
#54522 - sublimerewind - Tue Sep 20, 2005 4:19 am
That was quick - thanks.
Looks like I'm stymied with the TI85 emulator until I stumble on the source somewhere (source provided was for the exe what injects the TI85 rom into the ds.gba); think I'll see if I can't find something more interesting, if less utilitarian, to waste my sparse DS-programming-worthy free time on. Maybe I'll get inspired and collect some of the current miscellaneous, not-in-a-tutorial information in one place.
#54528 - The 9th Sage - Tue Sep 20, 2005 5:25 am
tepples wrote: |
.srl (also called "clean dump", sometimes distributed as .nds because they use the same header) is a commercial ROM dump consisting of a .nds file and an appended file system, usually in Nitro-FAT format. The code in the .nds file reads from the appended file system using block transfers through the DS game card access registers. Homebrew tools do not generate .srl, and WMB does not support .srl. In the future, GBA Movie Player might support .srl by patching the ROMs to read the Nitro-FAT from the GBA Movie Player instead of the DS game card, but this isn't guaranteed to happen before DS end of life. |
Commercial games (these SRL) are the same as NDS wifi-able demos except for the filesystem right? Are you using SRL mostly to differentiate commercial games from homebrew and wifiable demos? In my wanderings of the filesystems of my NDS games that YES I do own, I have encounered a few wifiable SRLs...that's mostly why I'm asking, so that I don't start calling any of these things by the wrong names.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!
#54532 - tepples - Tue Sep 20, 2005 6:25 am
The 9th Sage wrote: |
Commercial games (these SRL) are the same as NDS wifi-able demos except for the filesystem right? Are you using SRL mostly to differentiate commercial games from homebrew and wifiable demos? |
Yes. It's rumored that the official Nintendo brand tools used by licensed developers use the suffix .srl for cart images. I use this suffix to distinguish them from both WMB compatible programs and the various "patched" formats sponsored by makers of DS flash equipment.
Quote: |
In my wanderings of the filesystems of my NDS games that YES I do own, I have encounered a few wifiable SRLs |
Then a .srl file without a file system is probably the same thing as what we call a .nds file. I can't verify whether or not the header points to the file system or whether the .srl file has the file system address hardcoded because DarkFader's site is down.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#54605 - The 9th Sage - Tue Sep 20, 2005 7:37 pm
tepples wrote: |
Then a .srl file without a file system is probably the same thing as what we call a .nds file. I can't verify whether or not the header points to the file system or whether the .srl file has the file system address hardcoded because DarkFader's site is down. |
Well, looking at them with NDStool they appear to have the ARM 7 and ARM 9 (no sign that I know of of having a regular NDS file system as full fledged non-homebrew NDS game would) binaries, signed as you would expect from official WiFi code, and with an ARM9 footer...I'm not exactly sure what that means though. I do not think I remember seeing this in homebrew demos, so maybe that's something to differentiate them from homebrew NDS files.
Then again, I could be totally wrong. :) This is how it looks to me though.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!
#54613 - Wraggster - Tue Sep 20, 2005 9:32 pm
thanks for the info guys
it took me days to figure it out and im no newcomer to homebrew.
#55017 - Kyoufu Kawa - Sat Sep 24, 2005 5:47 pm
I confirm the SRL thing.
#134343 - lance3d - Thu Jul 12, 2007 4:51 pm
So could I run a .srl file using flash card? Many thanks!
#134350 - tondopie - Thu Jul 12, 2007 5:13 pm
please don't post in topics that are 2 years old...
_________________
Development Blog: http://teendev.org
Homebrew Podcast: http://homebrewcast.net
Web Design: http://xtendesign.net