0.5.0: (2016-09-19) Features: - Game Boy support - Support for encrypted CodeBreaker GBA cheats - Emulation of Vast Fame protected GBA carts (taizou) - Tile viewer - Threaded rendering mode - Libretro: Memory map and achievement support (leiradel) - GUI: Add UI control remapping - GUI: Add fast-forward - Wii: 240p support - 3DS: Adjustable screen darkening - Ability to temporarily load a savegame - Load specific files out of archives - Automatic BIOS detection Bugfixes: - ARM7: Fix decoding of Thumb ADD (variants 5 and 6) - Debugger: Fix GDB breakpoints - GBA: Fix losing IRQs when CPSR I bit isn't cleared - GBA: Fix filehandle leak with savegames - GBA: Timer 0 cannot be count up - GBA: Count up timers should not count themselves - GBA Memory: Fix mirror on non-overdumped Classic NES games - GBA Memory: Fix ldm {pc} - GBA Savedata: Fix savedata sync timer - GBA Savedata: Only unmap savedata if present - GBA Serialize: Savestates now properly store prefetch - GBA Video: WIN0/1 take priority over OBJWIN - GBA Video: Fix out-of-order OBJWIN - PSP2: Fix GPU crash while exiting - PSP2: Fix VSync - PSP2: Fix accelerometer range - PSP2: Actually load screen mode setting - PSP2: Fix gyroscope direction - PSP2: Delete threads after they return - PSP2: Fix mapping/unmapping from not at 0 - Qt: Fix bug in software renderer scaling - Qt: Fix hanging key press after disabling autofire - Qt: Fix being unable to pause manually when using auto-pausing - SDL: Fix axes being mapped wrong - Util: Fix realloc semantics in utf16to8 - Util: Fix inserting too many items into a hash table - VFS: Fix uninitialized varaible reading from 7z - VFS: Fix reading multiple files from a 7z archive - Wii: Fix framelimiting after a slowdown - Wii: Fix garbage flash at startup Misc: - 3DS: Use blip_add_delta_fast for a small speed improvement - 3DS: Allow UTF-16 filenames - 3DS: Port to using citro3D - 3DS: Use system font for menus - 3DS: Attempt to use Core 2 for threads - 3DS: Adjustable filering - 3DS: 3D banner - All: Add QUIET parameter to silence CMake - All: Faster memory read/write - ARM7: Support forcing Thumb mode via MSR - ARM7: Flush prefetch cache when loading CPSR via MSR - ARM7: Clean up instruction decoding for future expandability - Debugger: Support register and memory writes via GDB stub - Debugger: Add software breakpoint support to gdb - FFmpeg: Full support for libavcodec 56+ - GBA: Better debug logging if event processing breaks - GBA Audio: Force audio DMAs to not increment destination - GBA BIOS: Use custom ArcTan, not relying on OS - GBA Hardware: Clean up dead code in GBP - GBA Memory: Optimize stalling behavior - GBA Memory: Optimize Load-/StoreMultiple - GBA Savedata: Add realistic timing for EEPROM - GBA Serialize: Savestates now store if CPU was halted - GBA Video: Remove old slow path fallback - GBA Video: Optimize sprite drawing - GBA Video: Optimize mode 0 rendering - GBA Video: Optimize compositing cases slightly - GUI: Screenshot dimensions are now passed through - GUI: Add back logging - GUI: Only reload config if manually saved - GUI: Increase scrolling speed - OpenGL: Log shader compilation failure - OpenGL: Add texSize uniform - Qt: Make -g flag work in Qt build - Qt: Simplify OpenGL context creation - Qt: Thread startup improvements - Qt: Make audio channel/video layer options shortcut mappable - Qt: Remove some C99isms from C++ code - Qt: Remove default autofire mappings - Qt: Make reseting when pasued frame-accurate - Qt: Rearchitect game closing codepath - PSP2: Use system font for menus - PSP2: Add rumble for PS TV - PSP2: Add fit-to-height screen mode - PSP2: Sync files per descriptor - PSP2: Allow UTF-8 filenames - PSP2: Screenshots are now saved into the Photo Gallery - PSP2: Stop underclocking when menuing - SDL: Increase default audio buffer size to 1024 samples - SDL: More responsive rumble - Util: Add Vector GetConstPointer - Util: Add rtrim - Util: Add endswith - VFS: Improve zip file detection - Wii: Add pixelated resample filter - Windows: Add native VDir support - Util: Add PRIz macro for libc versions that don't support %z 0.4.1: (2016-07-11) Bugfixes: - All: Fix several file handle leaks - All: Fix instruction tables getting zeroed when linking sometimes - ARM7: Fix flags on SBC/RSC - ARM7: Fix setting spsr privilege bits when spsr is empty - GBA Audio: Reset audio FIFO DMA if an invalid destination is set - GBA BIOS: Fix RegisterRamReset setting DISPCNT to the wrong value - GBA BIOS: Fix ArcTan2 accuracy and boundary conditions - GBA Memory: Fix executing code from OBJ region of VRAM - GBA Serialize: Fix memory corruption bug in GBAExtdataSerialize - GBA Serialize: Fix loading savegames from savestates - OpenGL: Correct boolean vector strcmp strings for uniforms - Qt: Fix sending gameStopped twice - Qt: Fix hang if audio sync is enabled and audio fails to initialize - Qt: Fix initial state of key mapping - Qt: Initialize m_useBios - SDL: Fix joystick initialization on BSD - SDL: Fix potential joystick crash in games with rumble - SDL: Fix SDL 1.2 build - SDL: Fix sporadic crash when deinitializing audio - Shaders: Fix AGS-001 shader with some bad drivers - Util: Use closesocket on Windows - Util: Fix socket bind addresses - VFS: Fix reading 7z archives without rewinding first - VFS: VFileFromFD should not open directories - Wii: Fix tilting direction - Util: Fix realloc semantics in utf16to8 Misc: - All: Allow use of external minizip library - Debugger: CLI debugger now exits when end-of-stream is reached - FFmpeg: Update dependencies on Ubuntu - GBA: Slightly optimize GBAProcessEvents - GBA: Add overrides for DBZ: Legacy of Goku II and Ueki no Housoku - GBA Video: Null renderer should return proper register values - Libretro: Disable logging game errors, BIOS calls and stubs in release builds - Qt: Add preset for DualShock 4 - Qt: Update 360 input profile on OS X to reflect newer drivers - Qt: Remove use of NaN - Qt: Canonicalize file paths when loading games - Qt: Add refresh button to controller editing - SDL: Remove default gamepad mappings - Util: Fix intermittent build failure on OS X - VFS: VFile.sync now updates modified time 0.4.0: (2016-02-02) Features: - Officially supported ports for the Nintendo 3DS, Wii, and PlayStation Vita - I/O viewer - Booting of multiboot images - Customization of GIF recording - Libretro: Cheat code support - Support for GLSL shaders - ROM information view - Support for VBA-style cheat codes - Savestates now store creation timestamps - Key autofire - Libretro: Allow blocking opposing directional input - OpenEmu core for OS X - Libretro: Settings for using BIOS and skipping intro - Libretro: Customizable idle loop removal - Implemented cycle counting for sprite rendering - Cleaner, unified settings window - Added a setting for pausing when the emulator is not in focus - Customizable paths for save games, save states, screenshots and patches - Controller hotplugging - Ability to store save games and active cheats within savestates Bugfixes: - ARM7: Fix sign of unaligned LDRSH - ARM7: Fix decoding of some ARM ALU instructions with shifters - Debugger: Fix watchpoints in gdb - GBA: Fix warnings when creating and loading savestates - GBA: Fix Iridion II savetype - GBA BIOS: Fix misaligned CpuSet - GBA Cheats: Fix cheats setting the Action Replay version - GBA Hardware: Fix GPIO on big endian - GBA Memory: Fix DMA register writing behavior - GBA Memory: Fix DMAs triggering two cycles early - Libretro: Fix aspect ratio - Qt: Fix some potential crashes with the gamepad mapping - Qt: Fix keys being mapped incorrectly when loading configuration file - Util: Fix PowerPC PNG read/write pixel order - Util: Fix excessive memory allocation when decoding a PNG - VFS: Fix VFileReadline and remove _vfdReadline Misc: - All: Improved PowerPC support - All: Fix some undefined behavior warnings - ARM7: Combine shifter-immediate and shifter-register functions to reduce binary size - Debugger: Convert breakpoints and watchpoints from linked-lists to vectors - GBA: Implement bad I/O register loading - GBA: Allow jumping to OAM and palette RAM - GBA BIOS: Finish implementing RegisterRamReset - GBA Config: Add "override" layer for better one-time configuration - GBA Input: Consolidate GBA_KEY_NONE and GBA_NO_MAPPING - GBA Memory: Use a dynamically sized mask for ROM memory - GBA Memory: Implement several unimplemented memory access types - GBA Memory: Add GBAView* functions for viewing memory directly without bus issues - GBA RR: Starting from savestate now embeds the savegame - GBA RR: Add preliminary SRAM support for VBM loading - GBA RR: Add support for resets in movies - GBA Video: Remove lastHblank, as it is implied - Libretro: Use anonymous memory mappers for large blocks of memory - Libretro: Add install target for libretro core - Qt: Window size command line options are now supported - Qt: Increase usability of key mapper - Qt: Add 'Apply' button to settings window - Qt: Gray out "Skip BIOS intro" while "Use BIOS file" is unchecked - Qt: Allow use of modifier keys as input - Qt: Optimize log viewer - Qt: Added button for breaking into the GDB debugger - Qt: Add box for showing duration of rewind - SDL: Support fullscreen in SDL 1.2 - SDL: Allow GBASDLAudio to be used without a thread context - Util: Use VFile for configuration - Util: Add MutexTryLock 0.3.2: (2015-12-16) Bugfixes: - ARM7: Fi...
agaimike