melonDS 0.9.5
Revision 430de6b

• 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)

Windows x64
Linux x64
Linux ARM64
macOS universal
melonDS 0.9.4
Revision cce9de5

• 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)

Windows x64
Linux x64
Linux ARM64
macOS x64
macOS ARM64
macOS universal
melonDS 0.9.3
Revision 9514efe

• Fix macOS right modifier detection (Nadia)
• Fill most gaps in ROMList (Arisotura)
• Fix touchscreen code in non-hybrid layout mode (Arisotura)
• GBACart: simulate open-bus decay roughly (Arisotura)
• Frontend: handle tablet and touch events (Generic aka RSDuck)
• Implement NO$GBA debug registers (BlueTheDuck)
• Make Setup Cheats option reappear on macOS (Nadia)
• Add frame step hotkey (Yukitty, additional fixes by Gal20)
• Add DSP code (PoroCYon, purringChaos)
• Save window state (Arisotura)
• JIT optimisations and fixes (Generic aka RSDuck)
• Add ROM info dialog (Rayyan)
• Allow using DSi footer within NAND images (MightyMax)
• More accurate NWRAM implementation (MightyMax)
• Only open microphone if necessary (Arisotura)
• Fix undo load savestate loading (Generic aka RSDuck)
• Fix pause when inactive (Generic aka RSDuck)
• Add audio interpolation (Arisotura)
• Add SOUNDBIAS and optional 10bit audio (Nadia)
• Patch touchscreen calibration data in DSi mode (Arisotura)
• Add DSi title manager (Arisotura)
• Fix threaded rasteriser deadlock when VCount is moved (Generic aka RSDuck)
• Add preliminary DSi-mode direct boot (MightyMax, Arisotura)
• More accurate DMA timings (Arisotura)

Windows x64
Linux x64
Linux ARM64
macOS x64
macOS ARM64
macOS universal
melonDS 0.9.2
Revision 7af5ff7

• fix JIT on ARM Macs
• add proper Mac builds
• GX: optimize single-param commands
• add recent-files menu (abcdjdj)
• add support for loading files from archives
• fix JIT bugs
• fix wifi bugs
• improve performance of save-memory writeback
• add hotkey for swapping screens
• 3D/GL: attempt fixing various bugs
• fix OpenGL scaling on hiDPI displays
• rework GPU2D for easier integration of full GL rendering
• rework NDSCart and GBACart to make it easier to implement new cart types
• add support for NAND save memory (WarioWare DIY, Jam with the Band)
• fix bugs in DSi I2C and SD/MMC interfaces
• new screen modes

Windows 64-bit
Linux 64-bit
Linux ARM
MacOS 64-bit
MacOS universal
melonDS 0.9.1
Revision e2de622

• add fullscreen hotkey
• remove hardcoded F11-debug key (oops)
• fix some gaps in the IO handlers
• add ability to run unlaunch'd DSi NANDs
• add preliminary camera support (feeds fixed stripe pattern)
• fix potential bugs with tight timers (fixes ZXDS)
• SPU: small optimization to the mixer
• better framerate limiter
• fix several JIT issues
• GPU: lay bases for EVIL PLANS
• GPU: emulate separate scroll register for 3D layer scrolling
• some corrections to the ROM savetype list
• a bunch of misc fixes, as usual

Windows 64-bit
Linux 64-bit
Linux ARM
MacOS 64-bit
melonDS 0.9
Revision 94d12c6

• merge in experimental DSi support
• 2D: delay palette lookup for sprites
• 2D: some attempts at fixing mosaic
• CP15: only update PU regions when actually needed
• 2D: fix sprite Y-flip
• 3D/GL: fix transparency bugs
• add warning against hacked firmwares
• fix libpcap bug (i404788)
• better file handling code (Nadia)
• GBA slot and solar sensor support (rzumer)
• add support for AR cheat codes
• fix handling of ROMs with encrypted secure area
• 3D: change clipping to be closer to hardware
• 3D: implement DISP_1DOT_DEPTH
• 3D: more accurate viewport transform
• build fixes (Nadia)
• add JIT recompiler (RSDuck)
• new Qt UI
• SPU: only start channels when they can actually run
• 2D: allow writes to DISPCNT/masterbright/capture/dispFIFO regardless of POWCNT
• SPU: don't process channels with len<4
• 3D/GL: cleaner polygon generation code
• 3D/GL: add attempt at reducing warping on quads/etc
• 3D: add missing variables to savestates
• wifi: avoid potential out-of-bounds writes with invalid RX buffer setups
• 3D/GL: fix issues with framebuffer handling
• make MAC randomization optional
• make software renderer the default
• add basic DLDI

Windows 64-bit
Linux 64-bit
melonDS 0.8.3
Revision e8f4735

• fix ARM 'shift by register' operands (fixes Mario Party DS 'Stick and Spin' minigame)
• remove glBindImageTexture() (not needed and requires GL 4.2)
• fix input bugs when using Ctrl/Alt/Shift keys for buttons
• fix possible crashes when exiting (again. heh)
• 2D: support forcedblank+masterbrightness
• 2D: fill gaps in implementation (mode6 on sub GPU, mode7, 'prohibited' modes/sizes for OBJ and largeBG)
• build fixes
• fix division edge case (xperia64)
• new FPS limiter, audio sync, vsync for OpenGL
• add warning message if romlist.bin is not found (Zettymaster)

Windows 64-bit
Linux 64-bit
melonDS 0.8.2
Revision 204b5d8

• fix GL renderer not working at all on certain setups (RSDuck)
• add 32bit writes to certain IO ports (fixes some freezes)
• OpenGL: disable vsync under Windows
• fix bug when mapping a joystick axis but no button
• set kMaxIterationCycles to 64 (old value 16)
• fix potential crash when pressing Escape with menus opened
• OpenGL: remove shitty hack
• OpenGL: better lines
• fix potential crash when closing emu

Windows 64-bit
Linux 64-bit
melonDS 0.8.1
Revision c4182b5

• fix potential issue generating the config file path under Linux
• fix 3D/2D blending bugs under OpenGL
• fix potential crash under the software renderer when display capture is used
• basic, optional OSD system
• add support for setting key mappings to none
• add fast-forward and pause/reset hotkeys
• fix crash when closing an input config dialog during the joystick mapping process
• fix bugs when changing video settings with no game loaded
• faster IRQ checks
• faster VRAM reads
• 3D/OpenGL: preliminary edge marking
• 3D/OpenGL: fix fog alpha
• 2D: render sprites one scanline in advance (iCarly - Groovy Foodie)
• 3D/software: fix rendering of line polygons
• 3D/OpenGL: add proper-ish support for line polygons
• support multiple joysticks
• add support for mapping keys with modifiers
• add support for mapping joystick axes alongside buttons, remove hardcoded axis 0/1 mapping
• overall better input/hotkey code

Windows 64-bit
Linux 64-bit
melonDS 0.8
Revision 06e08b0

• fix CP15 init during direct boot
• do not apply delays to cart transfers when the WR bit is set
• misc fixes
• OpenGL renderer and upscaling

Windows 64-bit
Linux 64-bit
melonDS 0.7.4
Revision 02f989d

• fix potential spurious sounds when starting melonDS
• fix crash when using microphone with a WAV that has multiple channels
• small optimizations and tweaks
• wifi: add wifi settings dialog, with libpcap adapter list
• wifi: first version of indirect (non-libpcap) mode
• move most of the config settings to a platform-specific array (really just making it easier to port melonDS)

Windows 64-bit
Linux 64-bit
melonDS 0.7.3
Revision 4b6ebd0

• fix STRD_POST (fixes Just Sing - Vol 2 music)
• add support for POWCNT1 (fixes Imagine - Teacher)
• 2D: fix fade effects to semitransp sprites and 3D layer (fixes Devil Survivor)
• 3D: truncate W to 24 bits before viewport transform. do not render polygons with any W=0.
• attempt at fixing hiDPI under Windows
• fix input config dialog crashes under Linux
• add support for hotplugging joysticks
• make 'savefile relocation when using savestates' disabled by default
• remember whether main window is maximized
• add menu for setting main window to an integer size
• init save memory to 0xFF instead of 0x00
• romlist.bin: index games by serial rather than CRC. updated romlist.
• add support for 128K EEPROM (Pokémon Mystery Dungeon - Explorers of Sky)
• make nocashprint also work in ARM mode
• GX: always latch rendering engine registers, even when not flushing
• GX: fix polygon timings when polygon is rejected by culling/clipping
• rewrite main emu loop to use absolute timestamps

Windows 64-bit
Linux 64-bit
melonDS 0.7.2
Revision 3f26fbd

• 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)

Windows 64-bit
Linux 64-bit
melonDS 0.7.1
Revision d92c7e7

• 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

Windows 64-bit
Linux 64-bit
melonDS 0.7
Revision d4d4965

• 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)

Windows 64-bit
Linux 64-bit
melonDS 0.6b
Revision 2e82a4f

• fix screen option menu init
• add icon
• add resampler with small tolerance to prevent sound clicks/pops at fullspeed

Windows 64-bit
Linux 64-bit
melonDS 0.6
Revision e4f0301

• don't fail completely if SDL haptic init fails (bentley)
• fail gracefully when ROM loading fails
• support Unicode filenames under Windows
• FPS counter is back (sorry!)
• allow Windows file picker to navigate through shortcuts (instead of trying to load the shortcut as a ROM)
• screen layout/sizing/scaling modes, screen gap, rotation
• toggle for screen linear filtering
• add support for 8bit GXSTAT accesses
• reset IE/IF properly
• fix sound capture/playback for things like surround

Windows 64-bit
Linux 64-bit
melonDS 0.5
Revision a15c395

• new UI, more stable, less windows all over the place
• wxWidgets ditched, lost some weight
• 2D: allow reading BLDALPHA
• GPU: fix potential issues with VCount write
• implement 8bit accesses to some registers
• 2D: mosaic (not quite right for rotscaled sprites)
• 3D: fix culling
• allow 128KB firmwares from DSi/3DS
• 3D: more accurate fog
• 3D: more accurate polygon edges (but not perfect)
• 3D: antialiasing
• 3D: misc optimizations

Windows 64-bit
Linux 64-bit
melonDS 0.4
Revision 08bdef4

• implement access modes for certain IO registers that were unhandled
• actually implement RCNT instead of hardcoding it
• wifi: emulation of multiplayer cmd/reply/ack transfers
• wifi: more accurate RFSTATUS/RFPINS
• wifi: some games can go into multiplayer now (Pictochat, NSMB, Pokémon known working)
• improved savemem detect heuristic
• implement firmware write, fix SPI bugs
• accurate emulation of 'main memory display FIFO'
• 2D: fix render/capture order
• 2D: implement mode6 large BG
• 2D: fix bitmap BG sizes
• 2D: fix rotscaled bitmap sprites
• 3D: fix missing term in MatrixTranslate
• 3D: fix toon highlight mode
• 3D: fix boxtest bug
• 3D: accurate viewport transform
• 3D: polygon Y-sorting
• 3D: more accurate interpolation, still not perfect
• 3D: more accurate Z and W transforms, fix some cases of Z-fighting
• 3D: separate polygonID attributes for opaque and translucent pixels
• 3D: start documenting and implementing depth test edge cases
• emulate delays for SPI transfers and div/sqrt
• misc bugfixes/additions as usual

Windows 64-bit
Linux 64-bit
melonDS 0.3
Revision c2fa561

• set POSTFLG when booting games directly, fixes Pokémon games and likely others
• fix bug with cart DMA, booting a game from the firmware should be stable now
• better emulation of cart transfer delays
• better save type heuristics
• support for writing to VCount
• 2D: fix display capture blending modes
• 2D: implement X-flip for bitmap sprites (oops)
• 3D: fix mode3 (vertex) texcoord generation (Eledees no longer looks like your TV decoder broke)
• 3D: fix Z-buffering
• 3D: attempt at fixing culling, works better
• 3D: latch all rendering-related registers upon VBlank
• 3D: delay rendering start a bit, for games that run late
• 3D: optional threaded renderer
• 3D: change renderer to work per-scanline; accurate stencil buffer
• 3D: fix alpha calculation when alphablending is disabled via DISP3DCNT
• 3D: fog and edge marking
• wifi: more functionality emulated, attempt at sending/receiving data
• misc bugfixes and optimizations
• better framerate limiter

Windows 64-bit
Linux 64-bit
melonDS 0.2
Revision 3c270b6

• 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

Windows 64-bit
Linux 64-bit
melonDS 0.1
Revision 46ed4ae

First release.

Windows 64-bit
Linux 64-bit