DS emulator, sorta
Go to file
StapleButter 7ba32ea076 make the ARM clock shift configurable. nothing fancy there, just paving the way for DSi support later. 2018-11-07 18:38:54 +01:00
cmake build: add mingw64 cross-compiling 2017-12-09 18:06:40 +08:00
icon gtk: add icon 2017-12-16 05:43:34 +01:00
src make the ARM clock shift configurable. nothing fancy there, just paving the way for DSi support later. 2018-11-07 18:38:54 +01:00
.gitignore gtk: add icon 2017-12-16 05:43:34 +01:00
CMakeLists.txt Merge pull request #248 from Dirbaio/master 2018-10-27 14:16:46 +02:00
LICENSE reorganize repo, move shit around 2017-03-16 23:01:22 +01:00
README.md guess this is good for 0.7. readme update as a pretext 2018-10-26 21:06:46 +02:00
melon.ico windows: add icon 2017-12-16 04:10:32 +01:00
melon.rc call it a release??? 2018-10-24 00:38:35 +02:00
melonDS.cbp move libraries around to try and fix some weird error 2018-10-18 20:57:29 +02:00
melon_grc.xml gtk: add icon 2017-12-16 05:43:34 +01:00
xp.manifest start work on the input config dialog. nonfunctional and looks like shit. 2017-03-23 23:38:40 +01:00

README.md

melonDS

DS emulator, sorta

The goal is to do things right and fast, akin to blargSNES (but hopefully better). But also to, you know, have a fun challenge :)

The source code is provided under the GPLv3 license.

How to use

melonDS requires BIOS/firmware copies from a DS. Files required:

  • bios7.bin, 16KB: ARM7 BIOS
  • bios9.bin, 4KB: ARM9 BIOS
  • firmware.bin, 128/256/512KB: firmware

Firmware boot requires a firmware dump from an original DS or DS Lite. DS firmwares dumped from a DSi or 3DS aren't bootable and only contain configuration data, thus they are only suitable when booting games directly.

Possible firmware sizes

  • 128KB: DSi/3DS DS-mode firmware (reduced size due to lacking bootcode)
  • 256KB: regular DS firmware
  • 512KB: iQue DS firmware

DS BIOS dumps from a DSi or 3DS can be used with no compatibility issues. DSi BIOS dumps (in DSi mode) are not compatible. Or maybe they are. I don't know.

As for the rest, the interface should be pretty straightforward. If you have a question, don't hesitate to ask, though!

How to build

Linux:

mkdir -p build
cd build
cmake ..
make

Windows:

  • use CodeBlocks
  • or receive golden cookies if you get Cmake to work

Build system is not set in stone.

TODO LIST

  • improve libui and the emulator UI
  • fix occasional sound crackling in games that use surround (timing issue?)
  • support for rendering screens to separate windows
  • emulating some fancy addons
  • other non-core shit (debugger, graphics viewers, cheat crapo, etc)

TODO LIST FOR LATER

  • hardware renderer for 3D (w/ upscaling and fancy shit)
  • better wifi
  • maybe emulate flashcarts or other fancy hardware
  • big-endian compatibility (Wii, etc)
  • LCD refresh time (used by some games for blending effects)
  • any feature you can eventually ask for that isn't outright stupid

Credits

  • Martin for GBAtek, a good piece of documentation
  • Cydrak for the extra 3D GPU research
  • All of you comrades who have been testing melonDS, reporting issues, suggesting shit, etc