0.8.4 / 30-10-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.

Accuracy

Performance

Features

--

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.4, is available. This version is a bugfix release, which contains many stability and accuracy fixes. Notably, an issue in the 3DS version that would lead to the 3DS crashing when exiting the emulator, and an issue that would lead mGBA to appearing in a language other than English by default on macOS despite the system language being set to English, have been fixed. The previously mentioned bug with Advance Wars is still present in 0.8.4. It has also been discovered to affect Final Fantasy I. This can be worked around by using a dump of the official BIOS, or using a development build, also available on the download page, which has the bug fixed. An extensive list of changes follows after the cut.

Emulation fixes:

  • GB Audio: Fix initial sweep state

  • GB Audio: Fix deserializing audio channels 2 and 3

  • GB Audio: Fix deserializing while audio was disabled (fixes #1305)

  • GB Video: Fix drawing background when window is force-disabled by frontend

  • GB, GBA Video: Copy disable flags when drawing scanlines in proxy when not blocking

  • GBA Audio: Fix deserializing SOUNDCNT_L

  • GBA Audio: Fix stereo in XQ audio

  • GBA Audio: Fix volume/mute in XQ audio (fixes #1864)

  • GBA Hardware: Fix GB Player detection on big endian platforms

  • GBA Video: Invalidate map cache when modifying BGCNT (fixes #1846)

  • GBA Video: Don’t draw sprites using unmapped VRAM in GL renderer (fixes #1865)

  • GBA Video: Fix rare regression blending semitransparent sprites (fixes #1876)

  • GBA Video: Do not affect OBJ pixel priority when writing OBJWIN (fixes #1890)

  • GBA Video: Fix deferred blending when OBJWIN matches window (fixes #1905)

  • GBA Video: Fix mode 4 transparency in OpenGL (fixes #1907)


Other fixes

  • 3DS: Redo video sync to be more precise

  • 3DS: Fix crash with libctru 2.0 when exiting

  • ARM Decoder: Fix decoding pre-indexed writeback instructions (fixes #1915)

  • Core: Fix reported ROM size when a fixed buffer size is used

  • Core: Fix memory leak loading ELF files

  • GBA: Disable more checks when loading GS save with checks disabled (fixes #1851)

  • GBA: Fix endianness issues in renderer proxy

  • GBA Core: Fix memory leak when loading symbols

  • GBA Serialize: Ensure program counter is aligned when loading

  • Qt: Add dummy English translation file (fixes #1469)

  • Qt: Fix Battle Chip view not displaying chips on some DPI settings

  • Qt: Fix camera image being upside-down sometimes (fixes #829 again)

  • Qt: Fix drawing on macOS break when using OpenGL (fixes #1899)

  • Qt: Fix stride changing when toggling SGB borders (fixes #1898)

  • Qt: Fix aliasing on background logo (fixes #1886)

  • mGUI: Fix closing down a game if an exit is signalled

  • mGUI: Fix cycling through config setting states with accept button

  • mVL: Fix injecting accidentally draining non-injection buffer

  • VFS: Fix directory node listing on some filesystems


Misc

  • GBA Video: Improve speed of window texture generation on AMD

  • Vita: Clear both buffers when loading a game