melonDS

DS emulator, sorta

GPL-3.0 License

Stars
2.7K
Committers
90

Bot releases are hidden (Show)

melonDS - 0.9.5 Latest Release

Published by Arisotura almost 2 years ago

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

Published by Arisotura over 2 years ago

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

Published by Arisotura about 3 years ago

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

Published by Arisotura over 3 years ago

  • 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
melonDS - 0.9.1

Published by Arisotura almost 4 years ago

  • 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
melonDS - 0.9

Published by Arisotura about 4 years ago

  • 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
melonDS - 0.8.3

Published by Arisotura about 5 years ago

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

Published by Arisotura over 5 years ago

First release.

melonDS -

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

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

Published by Arisotura over 5 years ago

  • 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