net.kuribo64.melonDS net.kuribo64.melonDS.desktop melonDS Nintendo DS and DSi emulator CC0-1.0 GPL-3.0 Arisotura

melonDS aims at providing fast and accurate Nintendo DS emulation. While it is still a work in progress, it has a pretty solid set of features.

  • Nearly complete core (CPU, video, audio, ...)
  • OpenGL renderer, 3D upscaling
  • RTC, microphone, lid close/open
  • Joystick support
  • Savestates
  • Various display position/sizing/rotations modes
  • Work-in-progress Wi-Fi emulation for online connectivity and local multiplayer
  • Experimental emulation of the Nintendo DSi
  • ...and even more is planned!

Note: BIOS and firmware files dumped from a real DS or DSi console are required to use melonDS.

http://melonds.kuribo64.net/ https://github.com/melonDS-emu/melonDS/issues https://raw.githubusercontent.com/flathub/net.kuribo64.melonDS/master/screenshots/1.png https://raw.githubusercontent.com/flathub/net.kuribo64.melonDS/master/screenshots/2.png https://raw.githubusercontent.com/flathub/net.kuribo64.melonDS/master/screenshots/3.png
  • remove incorrect color profile from PNG icons (Nadia)
  • DLDI fixes for the Smash demo (Arisotura)
  • fix gaps in I/O handling (Arisotura)
  • fix invalid savemem commands, fixes Dementium (Arisotura)
  • FreeBIOS: add VRAM-compatible LZ77 decompress function, fixes Yoshi's Island (Arisotura)
  • default firmware: in DSi mode, emulate DWM-W015 wifi board instead of DWM-W024 (Arisotura)
  • default firmware: save WFC settings to separate file (Arisotura)
  • disable firmware overrides UI when firmware override isn't checked (Nadia)
  • 2D: more accurate fade/blending (Arisotura)
  • DSi: add support for GXFIFO NDMA (Arisotura)
  • DSi: add mainRAM mirror at 0x0C000000 (Arisotura)
  • add 3DS 5:3 aspect ratio, refactor aspect ratio code (Nadia)
  • OpenGL: fix 16x resolution on macOS (Nadia)
  • fix triggers being recognized as negative analog stick values during mapping (Nadia)
  • fix joystick mapping buttons on macOS (Nadia)
  • DSi: preliminary implementation of SNDEXCNT (Generic)
  • DSi: fix SD inserted/removed IRQ bits (Generic)
  • DSi: implement 8/16bit access to AES registers (Generic)
  • DSi: fix SCFG_MC cart-inserted bit (Generic)
  • JIT: invalidate blocks in ARM7 VRAM/WRAM when it is remapped (Generic)
  • fix ROM banner reading when the ROM has no banner (Rayyan, Arisotura)
  • fix UTF16 ROM title handling in the ROM info dialog (Rayyan)
  • wifi: improvements to wifi emulation (Arisotura)
  • wifi: shared-memory based sync/comm mechanism for local wifi (Arisotura)
  • proper support for multiple melonDS instances for multiplayer (Arisotura)
  • DSi: actual, proper camera support (Arisotura)
  • DSi: fix DSP enough that it will actually work (Arisotura)
  • fix OpenGL context handling (Stenzek, Generic, Nadia)
  • force-align all memory accesses (instead of just CPU memory accesses) (Arisotura)
  • better CLI parameter handling (patataofcourse)
  • fix bugs in DSi direct boot (Arisotura)
  • Redesign of the Input dialog (Rayyan)
  • Use DraStic open-source DS BIOS replacement (Swordfish90, asiekierka)
  • Generate non-bootable firmware replacement (Swordfish90, asiekierka, others)
  • Support for syncing DLDI/DSi SD image to a folder (Arisotura)
  • ARM9 PU (code/data abort) support in interpreter mode (Arisotura)
  • Fix ADPCM decoding bug resulting in potential crackling (Arisotura)
  • Block sound DMA from reading the ARM7 BIOS (Arisotura)
  • Smarter SDL initialization (andrigamerita, Nadia, Arisotura)
  • Properly center the main window on macOS (Nadia)
  • Don't try to render if the emulator is inactive (Nadia)
  • Fix potential issues with DSi title importing (Nadia, Epicpkmn11)
  • Custom path support (Arisotura)
  • Fix nifi socket init on BSD and macOS (Nadia)
  • Add support for zero addresses in AR codes 3xxxxxxx to Axxxxxxx (Arisotura)
  • Lower window refresh rate if running too fast (RSDuck)
  • Wifi power-saving support (RSDuck)
  • Allow swap-screen hotkey to swap between displaying only top screen and only bottom screen (ZackWeinstein)
  • Add RAM search dialog (2jun0)
  • Add power management dialog for setting battery parameters (Rayyan)

General improvements

  • Added support for real touchscreens such as on tablets
  • Fixed touchscreen input being broken in some screen layouts
  • Added audio interpolation with multiple types to choose from
  • Added an option for 10-bit audio output and emulation of SOUNDBIAS
  • A ROM info dialog has been added under System -> ROM Info
  • Various other bug fixes

DSi improvements

  • Touchscreen calibration is automatically patched on startup
  • Direct boot is now supported for some DSi titles
  • Added a DSi title manager that lets you install DSiWare to the emulated NAND
  • You can now load ROMs from within archives
  • More screen layout options
  • Recent games can now be loaded from the File menu
  • Fixes for issues with the OpenGL renderer affecting some users
  • Games with NAND save memory can now save correctly
  • New frame rate limiter that solves the issues with frame pacing
  • Removed nonfunctional v-sync option
  • Added a fullscreen option with configurable hotkey
  • DSi NAND dumps with Unlaunch installed now work
  • Initial DSi camera emulation
nadia@nhp.sh