A new release of mGBA, version 0.3.1, is available. This version is a bugfix release. An extensive list of changes follows after the cut.

Bugfixes:

  • ARM7: Fix instruction decoding of Thumb shifts
  • GBA: Deinit savegame when unloading a ROM
  • GBA: Fix BIOS check on big endian
  • GBA: Fix autodetect problems with some bad dumps of Super Mario Advance 2
  • GBA Audio: Fix 8-bit writes to audio channel 3 and 4 registers
  • GBA Audio: Fix audio channels being silenced at the wrong time
  • GBA Memory: Fix bad BIOS Load16 on big endian
  • GBA Memory: Fix bad Load8 on big endian
  • GBA Video: Start on the scanline BIOS finishes on if no BIOS is loaded
  • GBA Video: Fix edge case with sprite blend modes and semitransparency
  • GBA Video: Fix objwin and blending interaction on sprites
  • GBA Video: Fix OBJ semitransparency improperly interacting with other blending ops
  • Libretro: Fix a memory leak with the render buffer
  • Qt: Windows no longer spawn in the top left on first launch
  • Qt: Fix install path of XDG desktop file with DESTDIR
  • Qt: Fix drag and drop on Windows
  • Qt: Reenable double buffering, as disabling it broke some Windows configs
  • VFS: Fix return values of VFileFILE.read and .write

Misc:

  • All: Reset next event to cycles instead of zero to interrupt
  • All: Add –version flag
  • ARM7: Force disable LTO on two files to work around a GCC bug
  • GBA: Attempting to save a screenshot-style savestate should be allowed without libpng
  • GBA: Better memory handling with PNG savestates
  • GBA: Additional savestate sanity checks
  • GBA: Check for cycle count being too high
  • GBA Audio: Allow GBAAVStream to have no video callback
  • GBA BIOS: Implement RegisterRamReset for SIO registers
  • Qt: Remove useless help icons in dialogs
  • Qt: Prevent savestate window from opening while in multiplayer
  • Qt: Disable menu items in multiplayer that don’t make sense to have enabled
  • Qt: Dropping multiplayer windows works more cleanly now

Get it now in the Downloads section. Binaries are available for Windows, Ubuntu and OS X, and the source code is available for all other platforms.