Hopefully this is the right sub-section of the forums to ask about emulators for the DS itself. I have been working on a few homebrew projects for the DS and one of them has a few special needs that not a lot of emulators can provide. It's a remake of an old game and I do not own the rights for the graphics and I work around it by converting them at run-time on the device itself. This works great on Linux, Wii, GameCube and 3DS which have enough system RAM to work with and a way to load files from an SD card. The DS does not have either natively with only 4MB RAM and SD only from a slot-1 or slot-2 cart. The only emulator so far that supports R4 emulation in slot-1 seems to be Desmume and that is what I have been using so far to test my homebrew on. Unfortunately I am running into issues that seem to be related to the data cache on the ARM9 processor when I test my builds on hardware...and it crashes or gives different results than the emulator.
To work around the limited RAM I have modified desmume a little bit to enable it's slot-2 Memory Pak emulation by default. Normally it only enables it when the DS Browser ROM is detected. For a while to allowed me to test a lot of things on the emulator but as said...it keeps failing a lot when run on hardware. I have been reading up on the automatic data caching of the ARM9 cpu and I am suspecting it to be the cause of a lot of my issues!
My requirements mostly come down to this:
- support loading homebrew obviously
- support for R4 filesystem from a directory
- support for SLOT-2 Memory Expansion Pak (or other external RAM like SuperCard)
- support DSi emulator (mostly for the 16MB RAM)
- support for DSi SD card would be nice
- supports config override's from the command line
- debugging options would be appreciated
- opensource preferred
- has a Linux version
Searching online it seems there are only about three DS emulators that are still being worked on:
- Desmume
- no$gba
- MelonDS
If there is no existing emulator that meets my requirements I might consider modifying desmume considerably to have a better GUI and configuration options. But if something better already exists then I would be just wasting my time which is already very limited and could also be spend on working on my game. Hopefully someone can give me a few pointers on where to find good DS(i) emulators that meet my requirements (or at least most of them).
To work around the limited RAM I have modified desmume a little bit to enable it's slot-2 Memory Pak emulation by default. Normally it only enables it when the DS Browser ROM is detected. For a while to allowed me to test a lot of things on the emulator but as said...it keeps failing a lot when run on hardware. I have been reading up on the automatic data caching of the ARM9 cpu and I am suspecting it to be the cause of a lot of my issues!
My requirements mostly come down to this:
- support loading homebrew obviously
- support for R4 filesystem from a directory
- support for SLOT-2 Memory Expansion Pak (or other external RAM like SuperCard)
- support DSi emulator (mostly for the 16MB RAM)
- support for DSi SD card would be nice
- supports config override's from the command line
- debugging options would be appreciated
- opensource preferred
- has a Linux version
Searching online it seems there are only about three DS emulators that are still being worked on:
- Desmume
- no$gba
- MelonDS
If there is no existing emulator that meets my requirements I might consider modifying desmume considerably to have a better GUI and configuration options. But if something better already exists then I would be just wasting my time which is already very limited and could also be spend on working on my game. Hopefully someone can give me a few pointers on where to find good DS(i) emulators that meet my requirements (or at least most of them).