#116288 - Balkman - Wed Jan 24, 2007 3:38 am
I am in the progress of creating a homebrew game for DS and am looking to test on the hardware rather than an emulator.
My ultimate goal (which I don't think is possible yet) is to have a blank DS card and flash my executable to it through some USB device and play normally. I have read the different techniques of using a GBA cartridge and a pass through card, but I'd like something less confusing (and less expensive) to give out to friends.
I've been looking at the DS linker or the Supercard DS which are standard slot-1 cards, but how do they work? They talk about copying ROMs but how are they copied, and is there an OS within the card that plays the ROM? They don't explain the product too well, so if anyone has one or knows how they work could someone clear this up for me. Thanks!
#116290 - Balkman - Wed Jan 24, 2007 4:16 am
I've been reading further and it looks like this is what I should get. Basically I am able to copy my compiled and linked .nds file to this card and play it?
This might be more of a code question (and possibly a stupid question) but, would accessing resources (sprites and sounds) that aren't compiled into the ARM7 and ARM9 code work the same on this card as it would anywhere else? And is the SRAM memory location the same in code?
#116294 - felix123 - Wed Jan 24, 2007 6:40 am
Don't bother with the DS linker. Get a R4/M3simply if you want a slot 1 card.
_________________
Nintendo DS homebrew on Wikipedia
#116295 - HyperHacker - Wed Jan 24, 2007 7:02 am
Modern slot 2 cards aren't that complicated either. Put pass in slot 1, put card in slot 2, go.
_________________
I'm a PSP hacker now, but I still <3 DS.
#116350 - josath - Wed Jan 24, 2007 6:18 pm
1. DS Linker is not supported by libfat at this time, so if it even works with homebrew at all, you'll be limited to what can fit in main ram (just under 4MB total)
2. SRAM only applies to slot-2 devices. official slot-1 games have eeprom, but I don't know how well the slot-1 cards emulate eeprom, almost nobody uses it in homebrew.
3. For accessing data beyond what is loaded into RAM, you have 2 options:
A) If using a slot-2 device, you can append the data to the .nds file, and this data will magically get loaded into GBAROM space, starting at 0x0800:0000. DOWNSIDE: Will not work with any slot-1 device, or any slot-2 device which has no GBAROM space
B) You can put your data in a separate file, and load it using libfat. Essentially doing fopen("/mygame.data", "r"); fread(...);. This will work on any libfat-supported device. To see a current list of cards supported by libfat, see here: http://chishm.drunkencoders.com/DLDI/
#116385 - Balkman - Thu Jan 25, 2007 12:52 am
Glad I asked here first... Thanks josath, you saved me 60+ bucks.
I'm thinking I will probably going to go with a passcard and a slot-2 with GBAROM. But before I do that, what's your opinion about the SuperCard DS (Slot-1) and using libfat to attach resources if making a homebrew game?
I definitely need some sort of SRAM to hold profiles, but if anyone has any experience using eeprom let me know how it went. Thanks guys.
#116386 - josath - Thu Jan 25, 2007 1:25 am
Balkman wrote: |
Glad I asked here first... Thanks josath, you saved me 60+ bucks.
I'm thinking I will probably going to go with a passcard and a slot-2 with GBAROM. But before I do that, what's your opinion about the SuperCard DS (Slot-1) and using libfat to attach resources if making a homebrew game?
I definitely need some sort of SRAM to hold profiles, but if anyone has any experience using eeprom let me know how it went. Thanks guys. |
You should be fine with a SC:DS, though the R4 seems more popular at this time, and they cost the same afaik.
For saving, you can simply use libfat to write to a save file on the SD/miniSD/etc card.