DS emulator, sorta
Go to file
Nadia Holmquist Pedersen 7c1d2a64f4
Some checks are pending
macOS / ${{ matrix.arch }} (arm64) (push) Waiting to run
macOS / ${{ matrix.arch }} (x86_64) (push) Waiting to run
macOS / Universal binary (push) Blocked by required conditions
Ubuntu / x86_64 (push) Waiting to run
Ubuntu / aarch64 (push) Waiting to run
Windows / build (push) Waiting to run
Set WIN32_LEAN_AND_MEAN, gets rid of the winsock2 warnings and probably
speeds up compilation a tiny bit

oh and NOMINMAX too for good measure while we're at it
2024-11-11 14:18:05 +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 Set WIN32_LEAN_AND_MEAN, gets rid of the winsock2 warnings and probably 2024-11-11 14:18:05 +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 add missing qtbase-private-devel for Fedora 2024-11-09 08:32:34 +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
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
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
vcpkg.json vcpkg: support building on Linux 2024-09-06 22:50:12 +02:00

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