DS emulator, sorta
Go to file
fincs 584508230f
Assortment of fixes related to libnds v2/calico (#2197)
* Support 8-bit writes to REG_IPCSYNC

* Support CP15 Trace Process ID register

* NWifi: expose correct manfid information in CIS0/CIS1 area

* NWifi: basic support for WMI_SET_PROBED_SSID

# Conflicts:
#	src/DSi_NWifi.cpp

* DSi_NAND: fix incorrect CTR IV calculation code
2024-11-17 15:57:00 +01:00
.github Use Qt 6 by default on all platforms and update build instructions (#2187) 2024-11-05 17:03:07 +01:00
cmake Use Qt 6 by default on all platforms and update build instructions (#2187) 2024-11-05 17:03:07 +01:00
freebios FreeBIOS: Ensure upper 16 bits are cleared in the initial crc16 value. 2023-12-06 16:51:22 +01:00
res add splashscreen 2024-10-31 19:26:41 +01:00
src Assortment of fixes related to libnds v2/calico (#2197) 2024-11-17 15:57:00 +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: Add easy sanitizers option 2024-10-19 18:30:30 +02: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 flake: remove workaround no longer needed with Darwin SDK changes 2024-11-05 07:58:31 +01:00
flake.nix flake: remove workaround no longer needed with Darwin SDK changes 2024-11-05 07:58:31 +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