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

