Features
- Library view
- Sprite viewer
- Debugging console
- Improved memory viewer
- Memory search
- Command line ability to override configuration values
- Add option to allow preloading the entire ROM before running
- Add option for whether rewinding restores save games
- Savestates now contain any RTC override data
- Add option to lock video to integer scaling
- LR35902: Watchpoints
- LR35902/GB-Z80 disassembler
- GB: Tile viewer
- GB: Video/audio channel enabling/disabling
- GB: Symbol table support
- GB MBC: Add MBC1 multicart support
- GBA: Support printing debug strings from inside a game
- GBA: Better cheat type autodetection
- Implement keypad interrupts
- Configuration of gamepad hats
- Video log recording for testing and bug reporting
- Debugger: Segment/bank support
- Debugger: Execution tracing
- Partial Python scripting support
- Qt: German translation (by Lothar Serra Mari)
- Qt: Spanish translation (by Kevin López)
- Qt: Italian translation (by theheroGAC)
Bugfixes
- ARM7: Fix MLA/MULL/MLAL timing
- Core: Fix crash with rewind if savestates shrink
- Core: Fix interrupting a thread while on the thread (fixes #692)
- Core: Fix directory sets crashing on close if base isn’t properly detached
- FFmpeg: Fix overflow and general issues with audio encoding
- GB: Fix flickering when screen is strobed quickly
- GB: Fix STAT blocking
- GB MBC: Fix ROM bank overflows getting set to bank 0
- GB MBC: Fix swapping carts not detect new MBC
- GB Timer: Improve DIV reset behavior
- GB Timer: Fix DIV batching if TAC changes
- GB Video: Reset renderer when loading state
- GBA: Fix multiboot ROM loading
- GBA: Fix multiboot loading resulting in too small WRAM
- GBA BIOS: Implement BitUnPack
- GBA BIOS: Fix ArcTan sign in HLE BIOS
- GBA BIOS: Fix ArcTan2 sign in HLE BIOS (fixes #689)
- GBA BIOS: Fix INT_MIN/-1 crash
- GBA Hardware: Fix crash if a savestate lies about game hardware
- GBA I/O: Handle audio registers specially when deserializing
- GBA Memory: Improve initial skipped BIOS state
- GBA Savedata: Fix savedata unmasking (fixes #441)
- GBA Savedata: Update and fix Sharkport importing (fixes #658)
- GBA Video: Fix wrong palette on 256-color sprites in OBJWIN
- GBA Video: Don’t update background scanline params in mode 0 (fixes #377)
- Libretro: Fix saving in GB games (fixes #486)
- LR35902: Fix core never exiting with certain event patterns
- LR35902: Fix pc overflowing current region off-by-one
- LR35902: Fix decoding LD r, $imm and 0-valued immediates (fixes #735)
- OpenGL: Fix some shaders causing offset graphics
- GB Timer: Fix sub-M-cycle DIV reset timing and edge triggering
- Qt: Fix timing issues on high refresh rate monitors
- Qt: Fix linking after some windows have been closed
- Qt: Fix crash when changing audio settings after a game is closed
- Qt: Ensure CLI backend is attached when submitting commands (fixes #662)
- Qt: Disable “New multiplayer window” when MAX_GBAS is reached (fixes #107)
- Qt: Fix game unpausing after frame advancing and refocusing
- SDL: Fix game crash check
- SDL: Fix race condition with audio thread when starting
- SDL: Fix showing version number
- Test: Fix crash when loading invalid file
- Test: Fix crash when fuzzing fails to load a file
- Test: Don’t rely on core for frames elapsed
- Test: Fix crash when loading invalid file
- Test: Fix crash when fuzzing fails to load a file
- Tools: Fix recurring multiple times over the same library
- Util: Fix overflow when loading invalid UPS patches
- Util: Fix highest-fd socket not being returned by SocketAccept
- Windows: Fix VDir.rewind
Miscellaneous
- All: Add C++ header guards
- All: Move time.h include to common.h
- 3DS, PSP2, Wii: Last directory loaded is saved
- CMake: Add ability to just print version string
- Core: New, faster event timing subsystem
- Core: Clean up some thread state checks
- Core: Add generic checksum function
- Core: Cores can now have multiple sets of callbacks
- Core: Restore sleep callback
- Core: Move rewind diffing to its own thread
- Core: Ability to enumerate and modify video and audio channels
- Core: List memory segments in the core
- Core: Move savestate creation time to extdata
- Core: Config values can now be hexadecimal
- Core: Improved threading interrupted detection
- Debugger: Modularize CLI debugger
- Debugger: Make building with debugging aspects optional
- Debugger: Add functions for read- or write-only watchpoints
- Debugger: Make attaching a backend idempotent
- Debugger: Add mDebuggerRunFrame convenience function
- Feature: Move game database from flatfile to SQLite3
- Feature: Support ImageMagick 7
- Feature: Make -l option explicit
- FFmpeg: Return false if a file fails to open
- FFmpeg: Force MP4 files to YUV420P
- GB: Trust ROM header for number of SRAM banks (fixes #726)
- GB: Reset with initial state of DIV register
- GB MBC: New MBC7 implementation
- GB Audio: Simplify envelope code
- GB Audio: Improve initial envelope samples
- GB Audio: Start implementing “zombie” audio (fixes #389)
- GB Video: Improved video timings
- GBA: Ignore invalid opcodes used by the Wii U VC emulator
- GBA, GB: ROM is now unloaded if a patch is applied
- GBA DMA: Refactor DMA out of memory.c
- GBA DMA: Move DMAs to using absolute timing
- GBA I/O: Clear JOYSTAT RECV flag when reading JOY_RECV registers
- GBA I/O: Set JOYSTAT TRANS flag when writing JOY_TRANS registers
- GBA Memory: Support for Mo Jie Qi Bing by Vast Fame (taizou)
- GBA Memory: Support reading/writing POSTFLG
- GBA Memory: Remove unused prefetch cruft
- GBA Timer: Improve accuracy of timers
- GBA Video: Clean up unused timers
- GBA Video: Allow multiple handles into the same tile cache
- GBA Video, GB Video: Colors are now fully scaled
- GBA Video: Optimize when BLD* registers are written frequently
- OpenGL: Add xBR-lv2 shader
- Qt: Move last directory setting from qt.ini to config.ini
- Qt: Improved HiDPI support
- Qt: Expose configuration directory
- Qt: Merge “Save” and “OK” buttons in shader options
- Qt: Automatically load controller profile when plugged in
- Qt: Rename “Resample video” option to “Bilinear filtering”
- Qt: Remove audio thread
- Qt: Remove audio buffer sizing in AudioProcessorQt
- Qt: Re-enable QtMultimedia on Windows
- Qt: Make “Mute” able to be bound to a key
- Qt: Add .gb/.gbc files to the extension list in Info.plist
- Qt: Relax hard dependency on OpenGL
- Qt: Better highlight active key in control binding
- SDL: Remove scancode key input
- SDL: Automatically map controllers when plugged in
- Test: Add a basic test suite
- Util: Add size counting to Table
- Util: Add 8-bit PNG write support
- Util: Tune patch-fast extent sizes
- VFS: Call msync when syncing mapped data
- VFS: Allow truncating memory chunk VFiles
- VFS: Fix some minor VFile issues with FILEs
- VFS: Optimize expanding in-memory files
- VFS: Add VFileFIFO for operating on circle buffers
沒有留言:
張貼留言