GBA / GBC模擬器 mGBA 發布新版,更新如下 :
- e-Reader card scanning
- New tool for converting between different save game formats
- WebP and APNG recording
- Separate overrides for GBC games that can also run on SGB or regular GB
- Game Boy Player features can be enabled by default for all compatible games
- Frame and I/O viewer support for Game Boy
- Bug report tool for gathering information helpful for reporting bugs
- Mute option in homebrew ports
- Status indicators for fast-forward and mute in homebrew ports
- VBA bug compatibility mode for ROM hacks that don’t work on real hardware
- Read-only support for MBC6 flash memory
- New unlicensed GB mappers: Pokémon Jade/Diamond, BBD, and Hitek
- Stack tracing tools in ARM debugger (by ahigerd)
- Command scripts for CLI debugger (by ahigerd)
- Scheduled event dumping in CLI debugger
- ARM disassembler now resolves addresses to symbol names
- Add Game Boy Player feature support to ports
- Individual window types can now be toggled in debugging views
- Support for the Wii U GamePad when running as an injected VC title
Emulation fixes
- ARM: Fix ALU reading PC after shifting
- ARM: Fix STR storing PC after address calculation
- ARM: Fix Addressing mode 1 shifter on rs == pc (fixes #1926)
- ARM: Fix long multiply-and-accumulate register write order (fixes #1956)
- ARM: Fix long and accumulate multiply timing
- GB: Partially fix timing for skipped BIOS
- GB: Downgrade DMG-only ROMs from CGB mode even without boot ROM
- GB: Fix marking BIOS as unmapped when skipping BIOS (fixes #2061)
- GB Audio: Fix serializing sweep time
- GB Audio: Fix some channel 4 timing edge cases
- GB MBC: Fix MBC1 mode changing behavior
- GB MBC: Fix some MBC3 bit masking
- GB Video: Fix state after skipping BIOS (fixes #1715 and #1716)
- GBA: Fix timing advancing too quickly in rare cases
- GBA: Clear GBP connection on reset
- GBA Audio: Revamp FIFO emulation (fixes #356, #875, #1847)
- GBA BIOS: Implement dummy sound driver calls
- GBA BIOS: Improve HLE BIOS timing
- GBA BIOS: Fix reloading video registers after reset (fixes #1808)
- GBA BIOS: Make HLE BIOS calls interruptable (fixes #1711 and #1823)
- GBA BIOS: Fix invalid decompression bounds checking
- GBA DMA: Linger last DMA on bus (fixes #301 and #1320)
- GBA DMA: Fix ordering and timing of overlapping DMAs
- GBA I/O: Green swap register should be readable
- GBA I/O: Ignore high bits on IME
- GBA Memory: Improve gamepak prefetch timing
- GBA Memory: Stall on VRAM access in mode 2 (fixes #190)
- GBA Memory: Improve robustness of Matrix memory support
- GBA Memory: Mark Famicom Mini games 22 through 28 as non-mirroring
- GBA Memory: Return correct byte for odd ROM open bus addresses
- GBA Memory: Improved AGBPrint emulation of edge cases (fixes #1867)
- GBA Memory: Fix masking of misaligned jumps
- GBA Serialize: Fix alignment check when loading states
- GBA SIO: Fix copying Normal mode transfer values
- GBA SIO: Fix Normal mode being totally broken (fixes #1800)
- GBA SIO: Fix deseralizing SIO registers
- GBA SIO: Fix hanging on starting a second multiplayer window (fixes #854)
- GBA SIO: Fix Normal mode transfer start timing (fixes #425)
- GBA Timers: Fix toggling timer cascading while timer is active (fixes #2043)
- GBA Video: Latch scanline at end of Hblank (fixes #1319)
- GBA Video: Fix Hblank timing
- GBA Video: Implement green swap (fixes #1609)
- GBA Video: Emulate sprite cycle limits in OpenGL renderer (fixes #1635)
- GBA Video: Fix OBJWIN erratic rendering in OpenGL renderer
- GBA Video: Fix x offset in 256-color BG mosaic (fixes #1684)
- GBA Video: Fix transposed BG mosaic parameters in GL renderer
- SM83: Emulate HALT bug
- SM83: Improve mid-M-cycle interrupts
- SM83: HALT should not consume an extra T-state
Other fixes
- 3DS: Fix thread cleanup
- All: Improve export headers (fixes #1738)
- Cheats: Fix indirect write cheats (fixes #2026)
- CMake: Fix build with downstream minizip that exports incompatible symbols
- CMake: Link with correct OpenGL library (fixes #1872)
- Core: Ensure ELF regions can be written before trying
- Core: Fix threading improperly setting paused state while interrupted
- Core: Fix loading ELF files that have unexpected empty program headers
- Core: Fix destroying an mVL with an invalid channel count
- Debugger: Don’t skip undefined instructions when debugger attached
- Debugger: Close trace log when done tracing
- Debugger: Fix change watchpoints (fixes #1947)
- Debugger: Call CLI debugger system init
- FFmpeg: Fix some small memory leaks
- FFmpeg: Fix encoding of time base
- GB: Fix crash when changing ROM while in banked address space
- GB: Fix loading model overrides
- GB MBC: Force minimum SRAM size on rare MBCs that always have SRAM
- GB Serialize: Fix crash when loading pre-0.7 SGB savestates
- GB Video: Fix SGB video logs
- GB Video: Discard SGB packets in non-SGB mVLs
- GB Video: Fix deserializing negative LX state
- GB Video: Don’t rendering negative batches
- GBA: Fix loading multiboot ELF files (fixes #1949)
- GBA: Fix loading subsequent save files (fixes #2067)
- mGUI: Don’t attempt to preload files larger than can fit in RAM
- Qt: Force OpenGL paint engine creation thread (fixes #1642)
- Qt: Fix static compilation in MinGW (fixes #1769)
- Qt: Fix a race condition in the frame inspector
- Qt: Load/save bytes from memory viewer in the order visible (fixes #1900)
- Qt: Fix running proxied video if it gets pushed to the main thread
- Qt: Fix game display sometimes disappearing after closing load/save state screen
- Qt: Fix cancelling pausing before the frame ends
- Qt: Fix gamepad event dispatching (fixes #1922)
- Qt: Pre-attach GDB stub when launching with -g (fixes #1950)
- Qt: Fix crash when editing shortcuts with none selected (fixes #1964)
- Qt: Fix crashing when no OpenGL context can be obtained
- Qt: Fix issues with I/O viewer not properly synchronizing state
- Qt: Fix loading a new game crashing on Wayland (fixes #1992)
- Qt: Fix inability to clear hat bindings
- SM83: Simplify register pair access on big endian
- SM83: Disassemble STOP as one byte
- Switch: Fix GB game height in pixel accurate mode (fixes #2073)
- Wii: Fix crash on unloading irregularly sized GBA ROMs
Miscellaneous
- 3DS: Use “wide mode” where applicable for slightly better filtering
- 3DS: Batch directory reads
- Core: Add savedataUpdated callback
- Core: Add shutdown callback
- Core: Rework thread state synchronization
- Core: Improve support for ROM patch cheats, supporting disabling overlapping patches
- Core: Adding to library is now recursive
- GB: Allow pausing event loop while CPU is blocked
- GB: Add support for sleep and shutdown callbacks
- GB: Redo double speed emulation (closes #1515)
- GB: Support loading CGB-on-AGB boot ROM
- GB Audio: Add channel 4 batching back (fixes #1313)
- GB Core: Return the current number of banks for ROM/SRAM, not theoretical max
- GB I/O: Implement preliminary support for PCM12/PCM34 (closes #1468)
- GB MBC: Remove unused SRAM size
- GBA: Allow pausing event loop while CPU is blocked
- GBA BIOS: Division by zero should emit a FATAL error
- GBA Cheats: Allow unlimited ROM patch-type codes per set
- GBA Video: Convert OpenGL VRAM texture to integer
- GBA Video: Skip attempting to render offscreen sprites in OpenGL
- GBA Video: New GL palette approach, no more batch splitting on palette edits
- GBA Video: Avoid integer division using reciprocal tricks
- Debugger: Keep track of global cycle count
- FFmpeg: Add looping option for GIF/APNG
- FFmpeg: Add CRF support for applicable codecs
- mGUI: Show battery percentage
- mGUI: Skip second scan loop when possible
- mGUI: Improve loading speed (fixes #1957)
- Qt: Renderer can be changed while a game is running
- Qt: Add hex index to palette view
- Qt: Add transformation matrix info to sprite view
- Qt: Memory viewer now supports editing decimal values directly (closes #1705)
- Qt: Add copy button to GB printer dialog
- Qt: Window title updates can be disabled (closes #1912)
- Qt: Redo OpenGL context thread handling (fixes #1724)
- Qt: Discard additional frame draws if waiting fails
- Qt: Unify monospace font usage
- Qt: Add button to jump to log settings
- Qt: Use relative paths in portable mode when applicable (fixes #838)
- Qt: Better initial shortcut editor column sizes
- SDL: Fall back to sw blit if OpenGL init fails
- Switch: Optimize font rendering (fixes #2078)
- Switch: Allow switching between CPU and GPU renderers without reloading
- Util: Reset vector size on deinit
- VFS: Change semantics of VFile.sync on mapped files (fixes #1730)
沒有留言:
張貼留言