0.8.3 / 04-08-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.3, is available. This version is a bugfix release, which contains many stability and accuracy fixes. Notably, an issue leading to stuttered rendering and eventually a crash, mostly on AMD GPUs, has been fixed. However, there is an outstanding bug in all 0.8 versions that causes flickering in Advance Wars games. This can be worked around by using a dump of the official BIOS, or using 0.7.3 until it is fixed. An extensive list of changes follows after the cut.


Emulation fixes

  • ARM: Fix LDM^ writeback to user-mode register

  • ARM: Fix LDM^ {pc} differences (fixes #1698)

  • ARM: Fix edge case with Thumb SBC flags (fixes #1818)

  • GB MBC: Fix MBC1 RAM enable bit selection

  • GB MBC: Fix MBC2 bit selection

  • GB Memory: Fix OAM DMA from top 8 kB

  • GB Video: Always initialize palette

  • GBA Savedata: Fix potential corruption when loading a 1Mbit flash save

  • GBA Video: Fix invalid read in mode 4 mosaic

  • GBA Video: Fix color of disabled screen

  • SM83: Fix flags on little endian PowerPC


Other fixes

  • 3DS: Fix garbage on borders of scaled screens

  • All: Correct format strings for some numbers on Windows (fixes #1794)

  • All: Correct more format strings on Windows (fixes #1817)

  • ARM: Fix decoder detection of branches with ALU and LDR instrctions

  • CMake: Fix build with libzip 1.7

  • CMake: Add missing dllexports.h file to dev installation

  • GB Core: Fix extracting SRAM when none is present

  • GBA: Fix leak if attempting to load BIOS multiple times

  • GBA Memory: Fix instability on Wii when using AGBPrint

  • GBA Savedata: Fix extracting save when not yet configured in-game

  • Qt: Fix file handle leak on opening an invalid ROM

  • Qt: Fix Italian RTC translation (fixes #1798)

  • Qt: Add missing option for Wisdom Tree in overrides list

  • Qt: Fix stability regression on AMD drivers (fixes #1791)

  • Util: Fix crash if PNG header fails to write

  • Vita: Fix flickering when using frameskip (fixes #1822)

  • Wii: Fix pixelated filtering on interframe blending (fixes #1830)


Misc

  • FFmpeg: Use range coder for FFV1 to reduce output size

  • Qt: Add per-page scrolling to memory view (fixes #1795)

  • Qt: Add setting to display ROM filename in title (closes #1784)