More actions
(Created page with "{{Infobox Switch Homebrews |title=mGBA |image=mgbaswitch.png |description=Game Boy Advance Emulator |author=mgba-emu |lastupdated=2021/12/22 |type=Handheld |version=0.9.3 |license=MPL-2.0 |download=https://dlhb.gamebrew.org/switchhomebrews/mgbaswitch.7z |website=https://github.com/mgba-emu/mgba |source=https://github.com/mgba-emu/mgba |donation= }} {{#seo: |title=Switch Homebrew Emulators (Handheld) - GameBrew |title_mode=append |image=mgbaswitch.png |image_alt=mGBA }} {...") |
No edit summary |
||
Line 4: | Line 4: | ||
|description=Game Boy Advance Emulator | |description=Game Boy Advance Emulator | ||
|author=mgba-emu | |author=mgba-emu | ||
|lastupdated= | |lastupdated=2023/04/24 | ||
|type=Handheld | |type=Handheld | ||
|version=0. | |version=0.10.2 | ||
|license=MPL-2.0 | |license=MPL-2.0 | ||
|download=https://dlhb.gamebrew.org/switchhomebrews/mgbaswitch.7z | |download=https://dlhb.gamebrew.org/switchhomebrews/mgbaswitch.7z | ||
|website=https://github.com/mgba-emu/mgba | |website=https://github.com/mgba-emu/mgba | ||
|source=https://github.com/mgba-emu/mgba | |source=https://github.com/mgba-emu/mgba | ||
|donation= | |donation=https://mgba.io/donate.html | ||
}} | }} | ||
{{#seo: | {{#seo: | ||
Line 19: | Line 19: | ||
|image_alt=mGBA | |image_alt=mGBA | ||
}} | }} | ||
mGBA is an open-source Game Boy Advance emulator that is available for many platforms including Windows, Linux, macOS, PSVita, Nintendo 3DS, Switch and Wii. It is an excellent emulator that does not require a BIOS to play games and you can play Gameboy and Gameboy Color titles as well. | |||
Game Boy Advance | |||
==Media== | ==Media== | ||
<youtube></youtube> | '''Play the best GBA games for Nintendo Switch - ([https://www.youtube.com/watch?v=8aE4PvlhiyE TritonusRaven])'''<br> | ||
<youtube>8aE4PvlhiyE</youtube> | |||
==Controls== | |||
https://dlhb.gamebrew.org/switchhomebrews/mgbaswitch-controls.png | |||
==Screenshots== | ==Screenshots== | ||
https://dlhb.gamebrew.org/switchhomebrews/mgbaswitch-01.png | https://dlhb.gamebrew.org/switchhomebrews/mgbaswitch-01.png | ||
https://dlhb.gamebrew.org/switchhomebrews/mgbaswitch-02.png | https://dlhb.gamebrew.org/switchhomebrews/mgbaswitch-02.png | ||
==Changelog== | ==Changelog== | ||
''' | '''0.10.2 2023/04/24''' | ||
* | *Features: | ||
** Scripting: New `input` API for getting raw keyboard/mouse/controller state | |||
** Scripting: New `storage` API for saving data for a script, e.g. settings | |||
** New unlicensed GB mappers: NT (older types 1 and 2), Li Cheng, GGB-81 | |||
** Debugger: Add range watchpoints | |||
*Emulation fixes: | |||
** GB Serialize: Add missing Pocket Cam state to savestates | |||
** GB Video: Implement DMG-style sprite ordering | |||
** GBA Audio: Fix improperly deserializing GB audio registers (fixes mgba.io/i/2793) | |||
** GBA Audio: Clear GB audio state when disabled | |||
** GBA Memory: Make VRAM access stalls only apply to BG RAM | |||
** GBA Overrides: Fix saving in PMD:RRT (JP) (fixes mgba.io/i/2862) | |||
** GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes mgba.io/i/2805) | |||
** GBA SIO: Fix unconnected normal mode SIOCNT SI bit (fixes mgba.io/i/2810) | |||
** GBA SIO: Normal mode transfers with no clock should not finish (fixes mgba.io/i/2811) | |||
** GBA Timers: Cascading timers don't tick when disabled (fixes mgba.io/i/2812) | |||
** GBA Video: Disable BG target 1 blending when OBJ blending (fixes mgba.io/i/2722) | |||
** GBA Video: Fix interpolation issues with OpenGL renderer | |||
*Other fixes: | |||
** Core: Allow sending thread requests to a crashed core (fixes mgba.io/i/2784) | |||
** FFmpeg: Force lower sample rate for codecs not supporting high rates (fixes mgba.io/i/2869) | |||
** Qt: Fix crash when attempting to use OpenGL 2.1 to 3.1 (fixes mgba.io/i/2794) | |||
** Qt: Disable sync while running scripts from main thread (fixes mgba.io/i/2738) | |||
** Qt: Fix savestate preview sizes with different scales (fixes mgba.io/i/2560) | |||
** Qt: Properly cap number of attached players by platform (fixes mgba.io/i/2807) | |||
** Qt: Disable attempted linking betwen incompatible platforms (fixes mgba.io/i/2702) | |||
** Qt: Fix modifier key names in shortcut editor (fixes mgba.io/i/2817) | |||
** Qt: Fix a handful of edge cases with graphics viewers (fixes mgba.io/i/2827) | |||
** Qt: Fix full-buffer rewind | |||
** Qt: Fix crash if loading a shader fails | |||
** Qt: Fix black screen when starting with a game (fixes mgba.io/i/2781) | |||
** Qt: Fix OSD on modern macOS (fixes mgba.io/i/2736) | |||
** Qt: Fix checked state of mute menu option at load (fixes mgba.io/i/2701) | |||
** Scripting: Fix receiving packets for client sockets | |||
** Scripting: Fix empty receive calls returning unknown error on Windows | |||
** Scripting: Return proper callback ID from socket.add | |||
** Vita: Work around broken mktime implementation in Vita SDK (fixes mgba.io/i/2876) | |||
*Misc: | |||
** Core: Handle relative paths for saves, screenshots, etc consistently (fixes mgba.io/i/2826) | |||
** GB Serialize: Add missing savestate support for MBC6 and NT (newer) | |||
** GBA: Improve detection of valid ELF ROMs | |||
** Qt: Include wayland QPA in AppImage (fixes mgba.io/i/2796) | |||
** Qt: Stop eating boolean action key events (fixes mgba.io/i/2636) | |||
** Qt: Automatically change video file extension as appropriate | |||
** Qt: Swap P1 and other player's save if P1 loaded it first (closes mgba.io/i/2750) | |||
** Scripting: Add `callbacks:oneshot` for single-call callbacks | |||
'''0.10.1 2023/01/10''' | |||
*Emulation fixes: | |||
** GB Audio: Fix channels 1/2 not playing when resetting volume (fixes mgba.io/i/2614). | |||
** GB Audio: Fix channel 3 volume being changed between samples (fixes mgba.io/i/1896). | |||
** GB Audio: Fix up boot sequence. | |||
** GB Audio: Fix updating channels other than 2 when writing NR5x. | |||
** GB Memory: Actually, HDMAs should start when LCD is off (fixes mgba.io/i/2662). | |||
** GB Serialize: Don't write BGP/OBP when loading SCGB state (fixes mgba.io/i/2694). | |||
** GB SIO: Further fix bidirectional transfer starting. | |||
** GBA: Fix resetting key IRQ state (fixes mgba.io/i/2716). | |||
** GBA BIOS: Include timing in degenerate ArcTan2 cases (fixes mgba.io/i/2763). | |||
** GBA Video: Ignore disabled backgrounds as OBJ blend target (fixes mgba.io/i/2489). | |||
*Other fixes: | |||
** GBA: Fix forceskip BIOS logic for multiboot ROMs (fixes mgba.io/i/2753). | |||
** GBA Cheats: Fix issues detecting unencrypted cheats (fixes mgba.io/i/2724). | |||
** Qt: Manually split filename to avoid overzealous splitting (fixes mgba.io/i/2681). | |||
** Qt: Fix scanning specific e-Reader dotcodes (fixes mgba.io/i/2693). | |||
** Qt: Don't re-enable sync if GBA link modes aren't the same (fixes mgba.io/i/2044). | |||
** Qt: Improve handling of multiplayer syncing (fixes mgba.io/i/2720). | |||
** Qt: Fix initializing update revision info. | |||
** Qt: Redo stable branch detection heuristic (fixes mgba.io/i/2679). | |||
** Res: Fix species name location in Ruby/Sapphire revs 1/2 (fixes mgba.io/i/2685). | |||
** VFS: Fix minizip write returning 0 on success instead of size. | |||
*Misc: | |||
** macOS: Add category to plist (closes mgba.io/i/2691). | |||
** macOS: Fix modern build with libepoxy (fixes mgba.io/i/2700). | |||
** Qt: Keep track of current palette preset name (fixes mgba.io/i/2680). | |||
** Qt: Move OpenGL proxy onto its own thread (fixes mgba.io/i/2493). | |||
'''V0.10.0 2022/10/11''' | |||
* Preliminary Lua scripting support. | |||
* Presets for Game Boy palettes. | |||
* Add Super Game Boy palettes for original Game Boy games. | |||
* Tool for converting scanned pictures of e-Reader cards to raw dotcode data. | |||
* Options for muting when inactive, minimized, or for different players in multiplayer. | |||
* Cheat code support in homebrew ports. | |||
* Acclerometer and gyro support for controllers on PC. | |||
* Support for combo "Super Game Boy Color" SGB + GBC ROM hacks. | |||
* Improved support for HuC-3 mapper, including RTC. | |||
* Support for 64 kiB SRAM saves used in some bootlegs. | |||
* Discord Rich Presence now supports time elapsed. | |||
* Additional scaling shaders. | |||
* Support for GameShark Advance SP (.gsv) save file importing. | |||
* Support for multiple saves per game using .sa2, .sa3, etc. | |||
* Support for GBX format Game Boy ROMs. | |||
* New unlicensed GB mappers: NT (newer type), Sachen (MMC1, MMC2). | |||
Emulation fixes: | |||
* ARM7: Fix unsigned multiply timing. | |||
* GB: Copy logo from ROM if not running the BIOS intro (fixes mgba.io/i/2378). | |||
* GB: Fix HALT breaking M-cycle alignment (fixes mgba.io/i/250). | |||
* GB Audio: Fix channel 1/2 reseting edge cases (fixes mgba.io/i/1925). | |||
* GB Audio: Properly apply per-model audio differences. | |||
* GB Audio: Revamp channel rendering. | |||
* GB Audio: Fix APU re-enable timing glitch. | |||
* GB I/O: Fix writing to WAVE RAM behavior (fixes mgba.io/i/1334). | |||
* GB MBC: Fix edge case with Pocket Cam register accesses (fixes mgba.io/i/2557). | |||
* GB Memory: Add cursory cartridge open bus emulation (fixes mgba.io/i/2032). | |||
* GB Serialize: Fix loading MBC1 states that affect bank 0 (fixes mgba.io/i/2402). | |||
* GB SIO: Fix bidirectional transfer starting (fixes mgba.io/i/2290). | |||
* GB Video: Draw SGB border pieces that overlap GB graphics (fixes mgba.io/i/1339). | |||
* GBA: Improve timing when not booting from BIOS. | |||
* GBA: Fix expected entry point for multiboot ELFs (fixes mgba.io/i/2450). | |||
* GBA: Fix booting multiboot ROMs with no JOY entrypoint. | |||
* GBA: Fix 1 MiB ROM mirroring to only mirror 4 times. | |||
* GBA Audio: Adjust PSG sampling rate with SOUNDBIAS. | |||
* GBA Audio: Sample FIFOs at SOUNDBIAS-set frequency. | |||
* GBA BIOS: Work around IRQ handling hiccup in Mario & Luigi (fixes mgba.io/i/1059). | |||
* GBA BIOS: Initial HLE timing estimation of UnLz77 functions (fixes mgba.io/i/2141). | |||
* GBA DMA: Fix DMA source direction bits being cleared (fixes mgba.io/i/2410). | |||
* GBA I/O: Redo internal key input, enabling edge-based key IRQs. | |||
* GBA I/O: Disable open bus behavior on invalid register 06A. | |||
* GBA Memory: Fix misaligned 32-bit I/O loads (fixes mgba.io/i/2307). | |||
* GBA Video: Fix OpenGL rendering on M1 Macs. | |||
* GBA Video: Ignore horizontally off-screen sprite timing (fixes mgba.io/i/2391). | |||
* GBA Video: Fix Hblank timing (fixes mgba.io/i/2131, mgba.io/i/2310). | |||
* GBA Video: Fix rare crash in modes 3-5. | |||
* GBA Video: Fix sprites with mid-frame palette changes in GL (fixes mgba.io/i/2476). | |||
* GBA Video: Fix OBJ tile wrapping with 2D char mapping (fixes mgba.io/i/2443). | |||
* GBA Video: Fix horizontal lines in GL when charbase is changed (fixes mgba.io/i/1631). | |||
* GBA Video: Fix sprite layer priority updating in GL. | |||
Other fixes: | |||
* ARM: Disassemble Thumb mov pseudo-instruction properly. | |||
* ARM: Disassemble ARM asr/lsr #32 properly. | |||
* ARM: Disassemble ARM movs properly. | |||
* Core: Don't attempt to restore rewind diffs past start of rewind. | |||
* Core: Fix the runloop resuming after a game has crashed (fixes mgba.io/i/2451). | |||
* Core: Fix crash if library can't be opened. | |||
* Debugger: Fix crash with extremely long CLI strings. | |||
* Debugger: Fix multiple conditional watchpoints at the same address. | |||
* FFmpeg: Fix crash when encoding audio with some containers. | |||
* FFmpeg: Fix GIF recording (fixes mgba.io/i/2393). | |||
* GB: Fix temporary saves. | |||
* GB: Fix replacing the ROM crashing when accessing ROM base. | |||
* GB: Don't try to map a 0-byte SRAM (fixes mgba.io/i/2668). | |||
* GB, GBA: Save writeback-pending masked saves on unload (fixes mgba.io/i/2396). | |||
* mGUI: Fix FPS counter after closing menu. | |||
* Qt: Fix some hangs when using the debugger console. | |||
* Qt: Fix crash when clicking past last tile in viewer. | |||
* Qt: Fix preloading for ROM replacing. | |||
* Qt: Fix screen not displaying on Wayland (fixes mgba.io/i/2190). | |||
* Qt: Fix crash when selecting 256-color sprite in sprite view. | |||
* Qt: Fix coloration of swatches on styles with distinct frame backgrounds. | |||
* VFS: Failed file mapping should return NULL on POSIX. | |||
Misc: | |||
* Core: Suspend runloop when a core crashes. | |||
* Core: Add wallclock offset RTC type. | |||
* Debugger: Save and restore CLI history. | |||
* Debugger: GDB now works while the game is paused. | |||
* Debugger: Add command to load external symbol file (fixes mgba.io/i/2480). | |||
* FFmpeg: Support dynamic audio sample rate. | |||
* GB: Support CGB0 boot ROM loading | |||
* GB Audio: Increase sample rate. | |||
* GB MBC: Filter out MBC errors when cartridge is yanked (fixes mgba.io/i/2488). | |||
* GB MBC: Partially implement TAMA5 RTC. | |||
* GB Video: Add default SGB border. | |||
* GBA: Automatically skip BIOS if ROM has invalid logo. | |||
* GBA: Refine multiboot detection (fixes mgba.io/i/2192). | |||
* GBA Cheats: Implement "never" type codes (closes mgba.io/i/915). | |||
* GBA DMA: Enhanced logging (closes mgba.io/i/2454). | |||
* GBA Memory: Implement adjustable EWRAM waitstates (closes mgba.io/i/1276). | |||
* GBA Savedata: Store RTC data in savegames (closes mgba.io/i/240). | |||
* GBA Video: Implement layer placement for OpenGL renderer (fixes mgba.io/i/1962). | |||
* GBA Video: Fix highlighting for sprites with mid-frame palette changes. | |||
* mGUI: Add margin to right-aligned menu text (fixes mgba.io/i/871). | |||
* mGUI: Autosave less frequently when fast-forwarding. | |||
* Qt: Rearrange menus some. | |||
* Qt: Clean up cheats dialog. | |||
* Qt: Only set default controller bindings if loading fails (fixes mgba.io/i/799). | |||
* Qt: Save converter now supports importing GameShark Advance saves. | |||
* Qt: Save positions of multiplayer windows (closes mgba.io/i/2128). | |||
* Qt: Add optional frame counter to OSD (closes mgba.io/i/1728). | |||
* Qt: Add optional emulation-related information on reset (closes mgba.io/i/1780). | |||
* Qt: Add QOpenGLWidget cross-thread codepath for macOS (fixes mgba.io/i/1754). | |||
* Qt: Enable -b for Boot BIOS menu option (fixes mgba.io/i/2074). | |||
* Qt: Add tile range selection to tile viewer (closes mgba.io/i/2455). | |||
* Qt: Show warning if XQ audio is toggled while loaded (fixes mgba.io/i/2295). | |||
* Qt: Add e-Card passing to the command line (closes mgba.io/i/2474). | |||
* Qt: Boot both a multiboot image and ROM with CLI args (closes mgba.io/i/1941). | |||
* Qt: Improve cheat parsing (fixes mgba.io/i/2297). | |||
* Qt: Change lossless setting to use WavPack audio. | |||
* Qt: Use FFmpeg to convert additional camera formats, if available. | |||
* Qt: Resume crashed game when loading a save state. | |||
* Qt: Include cheats in bug report. | |||
* SDL: Support exposing an axis directly as the gyro value (closes mgba.io/i/2531). | |||
* Windows: Attach to console if present. | |||
* VFS: Early return NULL if attempting to map 0 bytes from a file. | |||
* Vita: Add bilinear filtering option (closes mgba.io/i/344). | |||
'''v9.3''' | |||
Emulation fixes: | |||
* GB I/O: Fix incrementing SGB controller when P14 is low (fixes #2202). | |||
* GB Video: Render SGB border when unmasking with ATTR/PAL_SET (fixes #2261). | |||
* GBA SIO: Fix SI value for unattached MULTI mode. | |||
* GBA Video: Fix backdrop color if DISPCNT is first set to 0 (fixes #2260). | |||
* GBA Video: Don’t iterate affine backgrounds when disabled. | |||
* GBA Video: Delay enabling backgrounds in bitmap modes (fixes #1668). | |||
Other fixes: | |||
* ARM Decoder: Fix decoding of lsl r0 (fixes #2349). | |||
* FFmpeg: Don’t attempt to use YUV 4:2:0 for lossless videos (fixes #2084). | |||
* GB Video: Fix memory leak when reseting SGB games. | |||
* GBA: Fix out of bounds ROM accesses on patched ROMs smaller than 32 MiB. | |||
* GBA: Fix maximum tile ID in caching for 256-color modes. | |||
* GBA Video: Fix cache updating with proxy and GL renderers. | |||
* Libretro: Fix crash when using Game Boy codes (fixes #2281). | |||
* mGUI: Fix crash if autosave file can’t be opened (fixes #2268). | |||
* Qt: Remove potentially deadlocking optimization. | |||
* Qt: Fix corrupted savestate and fatal error text. | |||
* Qt: Fix sprite compositing when sprite tiles go out of bounds (fixes #2348). | |||
Misc: | |||
* GBA I/O: Update KEYINPUT in internal I/O memory (fixes #2235). | |||
* SDL: Use SDL_JoystickRumble where available. | |||
* Wii: Add adjustable gyroscope settings (closes #2245). | |||
Full list of changes can be found [https://github.com/mgba-emu/mgba/releases here]. | |||
== External links == | == External links == | ||
* | * Official website - https://mgba.io/ | ||
* | * GitHub - https://github.com/mgba-emu/mgba | ||
Revision as of 04:24, 25 April 2023
mGBA | |
---|---|
File:Mgbaswitch.png | |
General | |
Author | mgba-emu |
Type | Handheld |
Version | 0.10.2 |
License | MPL-2.0 |
Last Updated | 2023/04/24 |
Links | |
Download | |
Website | |
Source | |
Support Author | |
mGBA is an open-source Game Boy Advance emulator that is available for many platforms including Windows, Linux, macOS, PSVita, Nintendo 3DS, Switch and Wii. It is an excellent emulator that does not require a BIOS to play games and you can play Gameboy and Gameboy Color titles as well.
Media
Play the best GBA games for Nintendo Switch - (TritonusRaven)
Controls
Screenshots
Changelog
0.10.2 2023/04/24
- Features:
- Scripting: New `input` API for getting raw keyboard/mouse/controller state
- Scripting: New `storage` API for saving data for a script, e.g. settings
- New unlicensed GB mappers: NT (older types 1 and 2), Li Cheng, GGB-81
- Debugger: Add range watchpoints
- Emulation fixes:
- GB Serialize: Add missing Pocket Cam state to savestates
- GB Video: Implement DMG-style sprite ordering
- GBA Audio: Fix improperly deserializing GB audio registers (fixes mgba.io/i/2793)
- GBA Audio: Clear GB audio state when disabled
- GBA Memory: Make VRAM access stalls only apply to BG RAM
- GBA Overrides: Fix saving in PMD:RRT (JP) (fixes mgba.io/i/2862)
- GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes mgba.io/i/2805)
- GBA SIO: Fix unconnected normal mode SIOCNT SI bit (fixes mgba.io/i/2810)
- GBA SIO: Normal mode transfers with no clock should not finish (fixes mgba.io/i/2811)
- GBA Timers: Cascading timers don't tick when disabled (fixes mgba.io/i/2812)
- GBA Video: Disable BG target 1 blending when OBJ blending (fixes mgba.io/i/2722)
- GBA Video: Fix interpolation issues with OpenGL renderer
- Other fixes:
- Core: Allow sending thread requests to a crashed core (fixes mgba.io/i/2784)
- FFmpeg: Force lower sample rate for codecs not supporting high rates (fixes mgba.io/i/2869)
- Qt: Fix crash when attempting to use OpenGL 2.1 to 3.1 (fixes mgba.io/i/2794)
- Qt: Disable sync while running scripts from main thread (fixes mgba.io/i/2738)
- Qt: Fix savestate preview sizes with different scales (fixes mgba.io/i/2560)
- Qt: Properly cap number of attached players by platform (fixes mgba.io/i/2807)
- Qt: Disable attempted linking betwen incompatible platforms (fixes mgba.io/i/2702)
- Qt: Fix modifier key names in shortcut editor (fixes mgba.io/i/2817)
- Qt: Fix a handful of edge cases with graphics viewers (fixes mgba.io/i/2827)
- Qt: Fix full-buffer rewind
- Qt: Fix crash if loading a shader fails
- Qt: Fix black screen when starting with a game (fixes mgba.io/i/2781)
- Qt: Fix OSD on modern macOS (fixes mgba.io/i/2736)
- Qt: Fix checked state of mute menu option at load (fixes mgba.io/i/2701)
- Scripting: Fix receiving packets for client sockets
- Scripting: Fix empty receive calls returning unknown error on Windows
- Scripting: Return proper callback ID from socket.add
- Vita: Work around broken mktime implementation in Vita SDK (fixes mgba.io/i/2876)
- Misc:
- Core: Handle relative paths for saves, screenshots, etc consistently (fixes mgba.io/i/2826)
- GB Serialize: Add missing savestate support for MBC6 and NT (newer)
- GBA: Improve detection of valid ELF ROMs
- Qt: Include wayland QPA in AppImage (fixes mgba.io/i/2796)
- Qt: Stop eating boolean action key events (fixes mgba.io/i/2636)
- Qt: Automatically change video file extension as appropriate
- Qt: Swap P1 and other player's save if P1 loaded it first (closes mgba.io/i/2750)
- Scripting: Add `callbacks:oneshot` for single-call callbacks
0.10.1 2023/01/10
- Emulation fixes:
- GB Audio: Fix channels 1/2 not playing when resetting volume (fixes mgba.io/i/2614).
- GB Audio: Fix channel 3 volume being changed between samples (fixes mgba.io/i/1896).
- GB Audio: Fix up boot sequence.
- GB Audio: Fix updating channels other than 2 when writing NR5x.
- GB Memory: Actually, HDMAs should start when LCD is off (fixes mgba.io/i/2662).
- GB Serialize: Don't write BGP/OBP when loading SCGB state (fixes mgba.io/i/2694).
- GB SIO: Further fix bidirectional transfer starting.
- GBA: Fix resetting key IRQ state (fixes mgba.io/i/2716).
- GBA BIOS: Include timing in degenerate ArcTan2 cases (fixes mgba.io/i/2763).
- GBA Video: Ignore disabled backgrounds as OBJ blend target (fixes mgba.io/i/2489).
- Other fixes:
- GBA: Fix forceskip BIOS logic for multiboot ROMs (fixes mgba.io/i/2753).
- GBA Cheats: Fix issues detecting unencrypted cheats (fixes mgba.io/i/2724).
- Qt: Manually split filename to avoid overzealous splitting (fixes mgba.io/i/2681).
- Qt: Fix scanning specific e-Reader dotcodes (fixes mgba.io/i/2693).
- Qt: Don't re-enable sync if GBA link modes aren't the same (fixes mgba.io/i/2044).
- Qt: Improve handling of multiplayer syncing (fixes mgba.io/i/2720).
- Qt: Fix initializing update revision info.
- Qt: Redo stable branch detection heuristic (fixes mgba.io/i/2679).
- Res: Fix species name location in Ruby/Sapphire revs 1/2 (fixes mgba.io/i/2685).
- VFS: Fix minizip write returning 0 on success instead of size.
- Misc:
- macOS: Add category to plist (closes mgba.io/i/2691).
- macOS: Fix modern build with libepoxy (fixes mgba.io/i/2700).
- Qt: Keep track of current palette preset name (fixes mgba.io/i/2680).
- Qt: Move OpenGL proxy onto its own thread (fixes mgba.io/i/2493).
V0.10.0 2022/10/11
- Preliminary Lua scripting support.
- Presets for Game Boy palettes.
- Add Super Game Boy palettes for original Game Boy games.
- Tool for converting scanned pictures of e-Reader cards to raw dotcode data.
- Options for muting when inactive, minimized, or for different players in multiplayer.
- Cheat code support in homebrew ports.
- Acclerometer and gyro support for controllers on PC.
- Support for combo "Super Game Boy Color" SGB + GBC ROM hacks.
- Improved support for HuC-3 mapper, including RTC.
- Support for 64 kiB SRAM saves used in some bootlegs.
- Discord Rich Presence now supports time elapsed.
- Additional scaling shaders.
- Support for GameShark Advance SP (.gsv) save file importing.
- Support for multiple saves per game using .sa2, .sa3, etc.
- Support for GBX format Game Boy ROMs.
- New unlicensed GB mappers: NT (newer type), Sachen (MMC1, MMC2).
Emulation fixes:
- ARM7: Fix unsigned multiply timing.
- GB: Copy logo from ROM if not running the BIOS intro (fixes mgba.io/i/2378).
- GB: Fix HALT breaking M-cycle alignment (fixes mgba.io/i/250).
- GB Audio: Fix channel 1/2 reseting edge cases (fixes mgba.io/i/1925).
- GB Audio: Properly apply per-model audio differences.
- GB Audio: Revamp channel rendering.
- GB Audio: Fix APU re-enable timing glitch.
- GB I/O: Fix writing to WAVE RAM behavior (fixes mgba.io/i/1334).
- GB MBC: Fix edge case with Pocket Cam register accesses (fixes mgba.io/i/2557).
- GB Memory: Add cursory cartridge open bus emulation (fixes mgba.io/i/2032).
- GB Serialize: Fix loading MBC1 states that affect bank 0 (fixes mgba.io/i/2402).
- GB SIO: Fix bidirectional transfer starting (fixes mgba.io/i/2290).
- GB Video: Draw SGB border pieces that overlap GB graphics (fixes mgba.io/i/1339).
- GBA: Improve timing when not booting from BIOS.
- GBA: Fix expected entry point for multiboot ELFs (fixes mgba.io/i/2450).
- GBA: Fix booting multiboot ROMs with no JOY entrypoint.
- GBA: Fix 1 MiB ROM mirroring to only mirror 4 times.
- GBA Audio: Adjust PSG sampling rate with SOUNDBIAS.
- GBA Audio: Sample FIFOs at SOUNDBIAS-set frequency.
- GBA BIOS: Work around IRQ handling hiccup in Mario & Luigi (fixes mgba.io/i/1059).
- GBA BIOS: Initial HLE timing estimation of UnLz77 functions (fixes mgba.io/i/2141).
- GBA DMA: Fix DMA source direction bits being cleared (fixes mgba.io/i/2410).
- GBA I/O: Redo internal key input, enabling edge-based key IRQs.
- GBA I/O: Disable open bus behavior on invalid register 06A.
- GBA Memory: Fix misaligned 32-bit I/O loads (fixes mgba.io/i/2307).
- GBA Video: Fix OpenGL rendering on M1 Macs.
- GBA Video: Ignore horizontally off-screen sprite timing (fixes mgba.io/i/2391).
- GBA Video: Fix Hblank timing (fixes mgba.io/i/2131, mgba.io/i/2310).
- GBA Video: Fix rare crash in modes 3-5.
- GBA Video: Fix sprites with mid-frame palette changes in GL (fixes mgba.io/i/2476).
- GBA Video: Fix OBJ tile wrapping with 2D char mapping (fixes mgba.io/i/2443).
- GBA Video: Fix horizontal lines in GL when charbase is changed (fixes mgba.io/i/1631).
- GBA Video: Fix sprite layer priority updating in GL.
Other fixes:
- ARM: Disassemble Thumb mov pseudo-instruction properly.
- ARM: Disassemble ARM asr/lsr #32 properly.
- ARM: Disassemble ARM movs properly.
- Core: Don't attempt to restore rewind diffs past start of rewind.
- Core: Fix the runloop resuming after a game has crashed (fixes mgba.io/i/2451).
- Core: Fix crash if library can't be opened.
- Debugger: Fix crash with extremely long CLI strings.
- Debugger: Fix multiple conditional watchpoints at the same address.
- FFmpeg: Fix crash when encoding audio with some containers.
- FFmpeg: Fix GIF recording (fixes mgba.io/i/2393).
- GB: Fix temporary saves.
- GB: Fix replacing the ROM crashing when accessing ROM base.
- GB: Don't try to map a 0-byte SRAM (fixes mgba.io/i/2668).
- GB, GBA: Save writeback-pending masked saves on unload (fixes mgba.io/i/2396).
- mGUI: Fix FPS counter after closing menu.
- Qt: Fix some hangs when using the debugger console.
- Qt: Fix crash when clicking past last tile in viewer.
- Qt: Fix preloading for ROM replacing.
- Qt: Fix screen not displaying on Wayland (fixes mgba.io/i/2190).
- Qt: Fix crash when selecting 256-color sprite in sprite view.
- Qt: Fix coloration of swatches on styles with distinct frame backgrounds.
- VFS: Failed file mapping should return NULL on POSIX.
Misc:
- Core: Suspend runloop when a core crashes.
- Core: Add wallclock offset RTC type.
- Debugger: Save and restore CLI history.
- Debugger: GDB now works while the game is paused.
- Debugger: Add command to load external symbol file (fixes mgba.io/i/2480).
- FFmpeg: Support dynamic audio sample rate.
- GB: Support CGB0 boot ROM loading
- GB Audio: Increase sample rate.
- GB MBC: Filter out MBC errors when cartridge is yanked (fixes mgba.io/i/2488).
- GB MBC: Partially implement TAMA5 RTC.
- GB Video: Add default SGB border.
- GBA: Automatically skip BIOS if ROM has invalid logo.
- GBA: Refine multiboot detection (fixes mgba.io/i/2192).
- GBA Cheats: Implement "never" type codes (closes mgba.io/i/915).
- GBA DMA: Enhanced logging (closes mgba.io/i/2454).
- GBA Memory: Implement adjustable EWRAM waitstates (closes mgba.io/i/1276).
- GBA Savedata: Store RTC data in savegames (closes mgba.io/i/240).
- GBA Video: Implement layer placement for OpenGL renderer (fixes mgba.io/i/1962).
- GBA Video: Fix highlighting for sprites with mid-frame palette changes.
- mGUI: Add margin to right-aligned menu text (fixes mgba.io/i/871).
- mGUI: Autosave less frequently when fast-forwarding.
- Qt: Rearrange menus some.
- Qt: Clean up cheats dialog.
- Qt: Only set default controller bindings if loading fails (fixes mgba.io/i/799).
- Qt: Save converter now supports importing GameShark Advance saves.
- Qt: Save positions of multiplayer windows (closes mgba.io/i/2128).
- Qt: Add optional frame counter to OSD (closes mgba.io/i/1728).
- Qt: Add optional emulation-related information on reset (closes mgba.io/i/1780).
- Qt: Add QOpenGLWidget cross-thread codepath for macOS (fixes mgba.io/i/1754).
- Qt: Enable -b for Boot BIOS menu option (fixes mgba.io/i/2074).
- Qt: Add tile range selection to tile viewer (closes mgba.io/i/2455).
- Qt: Show warning if XQ audio is toggled while loaded (fixes mgba.io/i/2295).
- Qt: Add e-Card passing to the command line (closes mgba.io/i/2474).
- Qt: Boot both a multiboot image and ROM with CLI args (closes mgba.io/i/1941).
- Qt: Improve cheat parsing (fixes mgba.io/i/2297).
- Qt: Change lossless setting to use WavPack audio.
- Qt: Use FFmpeg to convert additional camera formats, if available.
- Qt: Resume crashed game when loading a save state.
- Qt: Include cheats in bug report.
- SDL: Support exposing an axis directly as the gyro value (closes mgba.io/i/2531).
- Windows: Attach to console if present.
- VFS: Early return NULL if attempting to map 0 bytes from a file.
- Vita: Add bilinear filtering option (closes mgba.io/i/344).
v9.3 Emulation fixes:
- GB I/O: Fix incrementing SGB controller when P14 is low (fixes #2202).
- GB Video: Render SGB border when unmasking with ATTR/PAL_SET (fixes #2261).
- GBA SIO: Fix SI value for unattached MULTI mode.
- GBA Video: Fix backdrop color if DISPCNT is first set to 0 (fixes #2260).
- GBA Video: Don’t iterate affine backgrounds when disabled.
- GBA Video: Delay enabling backgrounds in bitmap modes (fixes #1668).
Other fixes:
- ARM Decoder: Fix decoding of lsl r0 (fixes #2349).
- FFmpeg: Don’t attempt to use YUV 4:2:0 for lossless videos (fixes #2084).
- GB Video: Fix memory leak when reseting SGB games.
- GBA: Fix out of bounds ROM accesses on patched ROMs smaller than 32 MiB.
- GBA: Fix maximum tile ID in caching for 256-color modes.
- GBA Video: Fix cache updating with proxy and GL renderers.
- Libretro: Fix crash when using Game Boy codes (fixes #2281).
- mGUI: Fix crash if autosave file can’t be opened (fixes #2268).
- Qt: Remove potentially deadlocking optimization.
- Qt: Fix corrupted savestate and fatal error text.
- Qt: Fix sprite compositing when sprite tiles go out of bounds (fixes #2348).
Misc:
- GBA I/O: Update KEYINPUT in internal I/O memory (fixes #2235).
- SDL: Use SDL_JoystickRumble where available.
- Wii: Add adjustable gyroscope settings (closes #2245).
Full list of changes can be found here.
External links
- Official website - https://mgba.io/
- GitHub - https://github.com/mgba-emu/mgba