0.81 / 17-02-2020

mGBA

competition

mGBA is an open-source modern Game Boy Advance emulator under active development that also supports Game Boy and Game Boy Color games. As of yet, it's the most complete GBA emulation effort and is also available as a libretro core on RetroArch.

PerformancePerformance
AccuracyAccuracy
FeaturesFeatures

Windows: Vista+

Mac: 10.7 (Lion)+

Linux: Ubuntu (64-bit) 16.04 / 18.04 / 19.04 / 19.10

Other Platforms: Nintendo 3DS / Switch / Wii, PlayStation Vita

Most Recent Changes!

A new release of mGBA, version 0.8.1, is available. This version is a bugfix release, which contains many stability and accuracy fixes. Notably, many Qt frontend bugs have been fixed, and the SDL version was updated. An extensive list of changes follows after the cut.


Emulation fixes

  • GB Serialize: Fix timing bug loading channel 4 timing
  • GBA: Fix multiboot entry point while skipping BIOS
  • GBA BIOS: Fix undefined instruction HLE behavior
  • GBA DMA: Fix invalid audio DMA parameters
  • GBA Memory: Misaligned SRAM writes are ignored
  • GBA Serialize: Fix serializing DMA transfer register
  • GBA Serialize: Fix audio DMA timing deserialization
  • GBA Video: Fix OAM not invalidating after reset (fixes #1630)
  • GBA Video: Fix backdrop blending on lines without sprites (fixes #1647)
  • GBA Video: Fix OpenGL sprite flag priority


Other fixes

  • Core: Fix race condition initializing thread proxy
  • Core: Fix integer overflow in ELF loading
  • FFmpeg: Fix crash when -strict -2 is needed for vcodec or container
  • FFmpeg: Disallow recording video with no audio nor video
  • GBA: Automatically skip BIOS for multiboot ROMs
  • Qt: Only dynamically reset video scale if a game is running
  • Qt: Fix race condition with proxied video events
  • Qt: Fix color selection in asset view (fixes #1648)
  • Qt: Fix missing OSD messages
  • Qt: Fix crash unloading shaders
  • Qt: Fix toggled actions on gamepads (fixes #1650)
  • Qt: Fix extraneous dialog (fixes #1654)
  • Qt: Fix window title not updating after shutting down game
  • Qt: Fix GIF view not allowing manual filename entry
  • Qt: Fix non-GB build (fixes #1664)
  • Qt: Fix pausing Qt Multimedia audio (fixes #1643)
  • Qt: Fix invalid names for modifier keys (fixes #525)
  • SDL: Refresh stale pointers after adding a joystick (fixes #1622)
  • Util: Fix crash reading invalid ELFs
  • VFS: Fix handle leak when double-mapping (fixes #1659)


Misc

  • FFmpeg: Add more presets
  • Qt: Fix non-SDL build (fixes #1656)
  • SDL: Use DirectSound audio driver by default on Windows
  • Switch: Make OpenGL scale adjustable while running