DS emulator, sorta
Go to file
Nadia Holmquist Pedersen 7d718ada39 cmake: set default CMAKE_OSX_DEPLOYMENT_TARGET before project()
project() appears to set it to an empty string (the value of nonexistent
$ENV{MACOSX_DEPLOYMENT_TARGET}?), causing our attempt to set its default
to fail. CMake bug?
2024-12-05 15:40:29 +01:00
.github vcpkg 2024.11.16 & update nixpkgs 2024-11-23 14:41:25 +01:00
cmake vcpkg 2024.11.16 & update nixpkgs 2024-11-23 14:41:25 +01:00
freebios FreeBIOS: Ensure upper 16 bits are cleared in the initial crc16 value. 2023-12-06 16:51:22 +01:00
res Fix version number in the generated Windows resource 2024-11-21 01:10:13 +01:00
src ah. (#2225) 2024-11-30 02:54:54 +01:00
tools mac-libs.rb: Make bundling a bit smarter 2024-08-13 07:53:09 +02:00
.gitattributes Fix invalid .gitattributes entries 2024-07-28 03:23:07 +02:00
.gitignore Generalize a path in .gitignore (#1862) 2023-10-24 21:49:36 +02:00
BUILD.md fix a typo 2024-11-13 15:23:59 +01:00
CMakeLists.txt cmake: set default CMAKE_OSX_DEPLOYMENT_TARGET before project() 2024-12-05 15:40:29 +01:00
CMakePresets.json Use Qt 6 by default on all platforms and update build instructions (#2187) 2024-11-05 17:03:07 +01:00
CONTRIBUTING.md Rename contributing.md to CONTRIBUTING.md 2021-09-03 15:16:09 +00:00
LICENSE reorganize repo, move shit around 2017-03-16 23:01:22 +01:00
README.md Use Qt 6 by default on all platforms and update build instructions (#2187) 2024-11-05 17:03:07 +01:00
flake.lock vcpkg 2024.11.16 & update nixpkgs 2024-11-23 14:41:25 +01:00
flake.nix cmake: set default CMAKE_OSX_DEPLOYMENT_TARGET before project() 2024-12-05 15:40:29 +01:00
vcpkg.json vcpkg: support building on Linux 2024-09-06 22:50:12 +02: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 :)


How to use

Firmware boot (not direct boot) requires a BIOS/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

See BUILD.md for build instructions.

TODO LIST

  • better DSi emulation
  • better OpenGL rendering
  • netplay
  • the impossible quest of pixel-perfect 3D graphics
  • support for rendering screens to separate windows
  • emulating some fancy addons
  • other non-core shit (debugger, graphics viewers, etc)

TODO LIST FOR LATER (low priority)

  • 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
  • limittox for the icon
  • All of you comrades who have been testing melonDS, reporting issues, suggesting shit, etc

Licenses

GNU GPLv3 Image

melonDS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

External

  • Images used in the Input Config Dialog - see src/frontend/qt_sdl/InputConfig/resources/LICENSE.md