* almost-complete 2D graphics
* 3D graphics (software renderer) with texturing, alphablending, lighting
* input: keyboard and joystick, touchscreen
* backup memory
* booting from the BIOS
* resizable video output window, preserving aspect ratio of individual screens
How to use
melonDS requires BIOS/firmware dumps from a DS. You can dump them with the following dumper.
The files must be placed in the same directory as the melonDS executable, as follows:
Note: the DS-mode firmware in the 3DS isn't bootable. It only contains the bare minimum required to run DS games. Be sure to enable direct game boot when using a firmware dump from a 3DS.
Settings
Emulation: settings related to emulation. For now it lets you enable direct game boot (directly runs the game instead of going through the firmware).
Input: allows you to configure keyboard and joystick input. You can change a mapping by clicking the corresponding entry, then pressing a keyboard key or joystick button. For now, joystick input uses the first joystick available if multiple joysticks are plugged.
melonDS 0.2 is out, with sound output and various other improvements. Here's the exact changelog:
• preliminary sound
• various compatibility improvements and fixes
• various little speedups too
• cart transfer delays emulated
• RTC uses system time
• wifi stub -- games requiring wifi functionality shouldn't hang anymore
• 2D: windows
• 2D: various fixes to display capture
• 3D: toon/highlight shading, shadows, polygonID
• 3D: box test, pos test, vec test
(melonDS requires BIOS/firmware dumps from a DS. You can dump them with the following dumper.
The files must be placed in the same directory as the melonDS executable, as follows:
Note: the DS-mode firmware in the 3DS isn't bootable. It only contains the bare minimum required to run DS games. Be sure to enable direct game boot when using a firmware dump from a 3DS. )
This release adds savestates and some other things.
Next up we'll work on some OpenGL rendering and upscalez0ring, I guess.
The full changelog is below.
• fix possible crashes when exiting
• wifi: add basic access point melonAP (very beta)
• fix SMULWx/SMLAWx opcodes, fixes Sims 2 music
• add support for loading BIOS/firmware files and config file from AppData or ~/.config/melonds or from the executable directory (hcorion)
• add 32-bit IPCSYNC reads/writes (Dirbaio)
• add savestates
• 3D: (hopefully) fix bug in shadow/AA interaction (visible in the MKDS character select preview, bottom border of the platform thing)
Oh, and savestates.
Here is the outline of our implementation:
• 8 savestate slots, which are per-game. Savestate files are stored in the same place as save files.
• 'Undo state load' will revert to the state from right before loading a savestate. For example, if you loaded it accidentally.
• In savestate settings: 'Separate savefiles' allows saving to a separate save file after loading a savestate. The separate save file is bound to that savestate slot.
• Shift-Fx to save state, Fx to load state. x = 1 to 8 for regular slots, 9 for using an arbitrary file. F12 to undo the latest state load.
The biggest change here is that the core timings were entirely renovated to try being closer to the hardware.
We have also been fixing the emulator's main loop, so that the ARM9, ARM7 and system clocks shouldn't desync anymore.
All of this, with a few added optimizations, fixes a whole bunch of issues, from things flickering to audio crackling to games outright going haywire (hi RaymanDS). Your games are now running better than ever!
melonDS 0.7.1 changes
• fix glitched lines in 3D
• fix backwards windows
• more accurate GX timings
• more accurate DMA and memory timings
• check for config/etc files in melonDS’s directory explicitly
• allow joystick axis events even when no dpad buttons are mapped
• detect savemem type from database instead of huge messy fucky code
If your game is still failing to save: you might have an old failed save file lying around, try deleting it. When a save file is present, melonDS determines the savemem type from the file size, so if a file is present with a wrong size, you will have to delete it.
The biggest change here is that the core timings were entirely renovated to try being closer to the hardware.
We have also been fixing the emulator's main loop, so that the ARM9, ARM7 and system clocks shouldn't desync anymore.
All of this, with a few added optimizations, fixes a whole bunch of issues, from things flickering to audio crackling to games outright going haywire (hi RaymanDS). Your games are now running better than ever!
melonDS 0.7.2 changes
• microphone input (physical mic, noise, wav)
• nocash-style console printing
• send console output to cmd under Windows
• corrections to romlist.bin
• 2D: fix blending for semitransp sprites and 3D layer when windows are used (bypasses window ‘color effect enable’ check)
• 3D: fix ‘equal’ depth test margin in Z-buffering mode, fixes Puzzlers World 2
• SPU: add support for channel repeat mode 3 (behaves same as 1)
• SPU: always clear channel buffers, even when running ch0-7 in mode 3 (fixes American Girl – Kit Mystery Challenge!)
• libui/windows: cache ideal size for uiButton. fixes lag in input config dialog
• close/open lid, sleep mode
• hotkey system
• audio settings dialog, with volume slider and microphone settings
• libui/gtk: remember last directory in which a ROM was opened
• libui/gtk: attempts at fixing input config dialog crashes
• framerate limiter toggle (abcdjdj)
• add Linux libpcap library names (dogtopus)
• betterer readme (Aqueminivan)
• GX: set busy flag immediately when putting things in the FIFO, fixing possible race condition
• GX: revise timing for SWAP_BUFFERS command
• add flatpak manifest (cpba)