What changed in melonDS from 0 to 1
2 updates numbered after 0.9.5 up to and including 1.1, stable releases only. 0.9.5 and 1.1 are the newest stable releases of 0 and 1 we track; this page follows them as new ones ship.
49 changes across 2 updates
Added 13
- Add DSP HLE, DSP audio, and mic input for DSi
- Add support for PaX MPROTECT on NetBSD in JIT
- Add high-quality resampling with blip-buf for audio
- Add extra D400000x data processing opcodes for AR
- Add support for importing cheats from usrcheat.dat and improve AR UI
- Add support for building melonDS on Windows without MinGW
- Add OpenBSD compatibility in JIT
- Add support for main RAM size register in DSi with hack to work around loader crash
- add support for solar sensor without using Boktai ROM
- DLDI: add support for unaligned I/O in melonDLDI driver
- AES: load Tad key
- slot-2: add support for Motion Pak and Guitar Grip
- DSi: add support for 32-bit bus VRAM timings (SCFG_EXT9 bit13)
Changed 9
- Use 32-bit division in 3D software renderer
- Make DS banner more accurate in ROM info dialog
- Use new way to access native display/window on X11/Wayland in Qt6
- Update xxHash to 0.8.3
- Reduce frontend audio buffer size to 512 and fix audio sync
- Implement tile size scaling in compute renderer to alleviate glitches at high resolutions
- improve audio when not running at 60FPS
- camera: make timings and FIFO more accurate
- sound: use single buffer, improves audio latency
Fixed 27
- Fix 8-bit NO$GBA debug register writes
- Fix save type for Legacy of Ys - Books I and II
- Make input system thread-safe to fix random multiplayer crash
- Ensure writable code memory after allocation in JIT/x64
- Handle W^X codemem in fault handler in JIT
- Fix crash when accessing SD/MMC port with no device connected
- Fix gdb stub reading wrong code for vCont packet
- Fix log2(size) in DLDI driver header
- Fix CAM_MCNT reset behavior in camera
- Fix undefined behavior in 3D software renderer when drawing polygons with linear interpolation and Z-buffering
- Fix UI glitchiness under Wayland when OpenGL is used
- Fix minor Thumb BLX immediate bugs
- Fix bug that could randomly break audio output
- Fix uninitialized variable in SPU causing potential crash
- DSi title manager: fix handling of title strings
- fix gdbstub not activating until the console is reset
- fix framelimiter bugs
- fix undefined behavior when indexing into ARCode::Code
- audio settings: fix mic settings not applying when closing the dialog
- multiplayer: load firmware from correct instance-specific file
- 3D: small fix to translucency flag assignment
- DSP: fix PDATA reads
- slot-2: don't return 0 when attempting to read from the GBA GPIO address
- camera: always trigger DMA when reaching the end of a frame
- NDMA: fix IRQ in infinite repeat mode
- camera: fix resolution selection code
- UI: fix OpenGL issues with multiple windows
Original patch notes, newest first
The list above is our reading of these notes; the originals from melonDS are here, one fold per update.
1.1
- 3D: use 32-bit division in software renderer (Arisotura)
- fix 8-bit NO$GBA debug register writes (FrankHB)
- fix save type for Legacy of Ys - Books I and II (CasualPokePlayer)
- ROM info dialog: make DS banner more accurate (Rayyan)
- DSi: add DSP HLE, DSP audio, mic input (Arisotura, CasualPokePlayer)
- make input system thread-safe (fixes random multiplayer crash) (Arisotura)
- CI: various vcpkg improvements (Nadia)
- JIT/x64: ensure writable code memory after alloc (Rayyan)
- JIT: add support for PaX MPROTECT on NetBSD (Rayyan)
- JIT: handle W^X codemem in fault handler (Rayyan)
- SD/MMC: fix crash when accessing port with no device connected (Arisotura)
- gdb stub: fix reading wrong code for vCont packet (jonko0493)
- CI: add OpenBSD CI (Izder456)
- DLDI: fix log2(size) in driver header (Arisotura)
- camera: fix CAM_MCNT reset behavior (Arisotura)
- CI: add x64 FreeBSD and NetBSD CI (Rayyan)
- audio: add high-quality resampling with blip-buf (Nadia)
- 3D: fix UB in software renderer when drawing polygons with linear interpolation and Z-buffering (Arisotura)
- AR: add extra D400000x data processing opcodes (Arisotura)
- Qt6: use new way to access the native display/window on X11/Wayland (Nadia)
- nix: update inputs and add dev shell Qt wrapper workaround (Nadia)
- DSi: add support for the main RAM size register, with hack to work around loader crash (Arisotura)
- AR: add support for importing cheats from usrcheat.dat, improve UI (Arisotura)
- fix UI glitchiness under Wayland when OpenGL is used (Arisotura, thanks PCSX2 team)
- fix minor Thumb BLX immediate bugs (Jakly)
- update xxHash to 0.8.3 (JordanTheToaster)
- reduce frontend audio buffer size to 512, fix audio sync (Nadia)
- fix bug that could randomly break audio output (Arisotura)
- compute renderer: implement tile size scaling to alleviate glitches at high resolutions (FireNX70)
- SPU: fix uninitialized variable causing potential crash (Nadia)
- add support for building melonDS on Windows without MinGW (Nadia)
- JIT: add OpenBSD compatibility (Izder456)
1.0
- build system and CI fixes (Nadia)
- DSi title manager: fix handling of title strings (Rayyan)
- fix gdbstub not activating until the console is reset (ZNixian)
- improve audio when not running at 60FPS (Jakly)
- fix a lot of warnings (Nadia)
- fix framelimiter bugs (Jakly)
- add support for solar sensor without using Boktai ROM (Jesse)
- set SDL_HINT_APP_NAME (redbluegreenhat)
- fix undefined behavior when indexing into ARCode::Code (Jesse)
- DLDI: add support for unaligned I/O in melonDLDI driver (Arisotura)
- audio settings: fix mic settings not applying when closing the dialog (Arisotura, Nadia)
- multiplayer: load firmware from correct instance-specific file (Arisotura)
- 3D: small fix to translucency flag assignment (Jakly)
- AES: load Tad key (edo9300)
- slot-2: add support for Motion Pak and Guitar Grip (asie)
- DSP: fix PDATA reads (Arisotura)
- slot-2: don't return 0 when attempting to read from the GBA GPIO address (edo9300)
- camera: always trigger DMA when reaching the end of a frame (Arisotura)
- NDMA: fix IRQ in infinite repeat mode (Arisotura)
- camera: fix resolution selection code (Arisotura)
- UI: fix OpenGL issues with multiple windows (Arisotura)
- UI: add a way to tell windows apart (Arisotura)
- camera: make timings and FIFO more accurate (Arisotura)
- DSi: add support for 32-bit bus VRAM timings (SCFG_EXT9 bit13) (Arisotura)
- sound: use single buffer, improves audio latency (Sparronator9999)
- fix "full bios boot" not being set properly on initial DSi class creation (Jakly)