melonDS-emu / melonDS

DS emulator, sorta
https://melonds.kuribo64.net
GNU General Public License v3.0
3.02k stars 499 forks source link

DSiWare dumped from 3DS won't save with "Boot game directly" enabled #1577

Open teconmoon opened 1 year ago

teconmoon commented 1 year ago

Sorry if this is a known issue or limitation. I did some searching on the forums and the issue tracker and couldn't find anything related.

I own a few DSiWare games that were purchased from the 3DS eShop and dumped via GodMode9. While trying to emulate these titles, I was also trying to use firmware dumps that I got from my 3DS using the DSi BIOS/NAND/firmware dumper, not a DSi, which meant that Boot game directly had to be enabled for anything to be usable whatsoever since the BIOS files are stripped down.

Most of the games do boot in this scenario, but they either give an error about having to initialize the save data (which it pretends to successfully do) or passively proceed as if there's no save data present. Specific examples below:

If using actual DSi BIOS/NAND/Firmware files, the same issues persist as long as Boot game directly is checked. The only way to load these games properly is to do the following:

  1. Use BIOS/NAND/firmware dumped from a DSi, not a 3DS
  2. Make sure Boot game directly is unchecked
  3. Use the DSi Title Manager to install the games beforehand
  4. Launch your game from the DSi menu by selecting the cartridge icon

Other weird things I noted that probably don't fit into this report:

I'm not sure if it's possible, but it'd be nice to be able to eventually play this software using just the 3DS-dumpable files similar to how it's currently possible to play most DS games with an incomplete firmware dump. I'm also not sure how many random people are trying to dump DSiWare titles from their CFW 3DS systems to play in an emulator, I might be the minority there.

Thanks for reading!

RSDuck commented 1 year ago

this is a long known issue affecting pretty much all DSiware, simply because direct boot treats games as if they were cartridges while DSiware expects to read further rom and to save onto the NAND.