Changelog:
CMake: Bump verison
Res: Fix species name location in Ruby/Sapphire revs 1/2 (fixes #2685)
Qt: Manually split filename to avoid overzealous splitting (fixes #2681)
Qt: Expand criteria for tag branch names (fixes #2679)
GB MBC: Add NT (old 1) support
GB Serialize: Add missing savestate support for MBC6 and NT (newer)
macOS: Add category to plist (closes #2691)
GBA Video: Optimize mode 0 16-color tiles a bit more
GB MBC: Add NT (old 2) support
GB MBC: Add Li Cheng support
Qt: Update mapper list
Add range watchpoints.These are accessible via the following new CLI debugger commands:
– rw: watchr minAddr maxAddr [cond]
– r: watchr/r minAddr maxAddr [cond]
– w: watchr/w minAddr maxAddr [cond]
– c: watchr/c minAddr maxAddr [cond]
This also makes all watchpoints range watchpoints under the hood.
Preliminary benchmark results:
Time taken to run 10000 frames of Megaman Battle Network 1 (U) with a write watchpoint set at 0x02000000 in milliseconds, 10 runs each:
control (no watchpoint):
[4184, 4185, 4197, 4207, 4220, 4178, 4304, 4226, 4234, 4292]
mean = 4223, stdev = 43.95
old (single address watchpoint):
[4743, 4685, 4679, 4670, 4782, 4704, 4698, 4875, 4746, 4718]
mean = 4730, stdev = 61.67
new (range watchpoint):
[4683, 4691, 4693, 4706, 4782, 4674, 4746, 4768, 4770, 4776]
mean = 4728, stdev = 43.36
Debugger: Add more watch-range aliases
GB MBC: Split out MBC implementations into files
README: Add MBC30 to the supported mappers list (closes #2686)
Qt: Fix e-Reader scanning function reentry (fixes #2693)
GB MBC: Improve Li Cheng heuristic slightly
GB MBC: Add GGB-81 support
GB Serialize: Don’t write BGP/OBP when loading SCGB state (fixes #2694)
Qt: Keep track of current pslette preset name (fixes #2680)
Qt: Fix Discord Rich Presence if the game title is excessively, extremely, overly, ridiculously, very very long (fixes #2697)
macOS: Fix modern build with libepoxy (fixes #2700)
3DS: Allow loading ROM out of romfs if included
Vita: Allow loading ROM out of app0 if included
mGUI: Refactoring out common code
Updater: Fix mUpdaterGetUpdateForChannel
Util: Add PS Vita SFO generator
Qt: Move ROM filter function to utils
VFS: Fix minizip write returning 0 on success instead of size
CMake: Add another K&R warning to the -Werror list
Qt: Add forwarder UI and Vita backend (closes #2267)
Qt: Fix build on Qt 5.9 – 5.14
Qt: Pay down some VFile technical debt
Qt: Add cache dir call, for later expansion
Qt: Split out some helper functions
Qt: I wrote a function for this…
Qt: First pass at 3DS forwarder generator
Qt: Fix build
Qt: Fine, whatever, build fixed more
Qt: Initial support for forwarder-kit
Qt: Cleanup
GBA: Verify ELF entrypoint against ROM header (#2714)
Qt: Add a progress bar for the forwarder builder downloads
Qt: Use filters for the forwarder file types
Qt: Use a UA string for all HTTP requests
Qt: Refactor out common generator code
Qt: Add forwarder building from a specific base file
GBA Video: Ignore disabled backgrounds as OBJ blend target (fixes #2489)
GBA: Fix resetting key IRQ state (fixes #2716)
CHANGES: Spill chicken
Qt: Move OpenGL proxy onto its own thread (fixes #2493)
GBA Video: Disable BG target 1 blending when OBJ blending (fixes #2722)
Qt: Don’t re-enable sync if GBA link modes aren’t the same (fixes #2044)
GB SIO: Further fix bidirectional transfer starting
Qt: Improve handling of multiplayer syncing (fixes #2720)
Qt: Fix build on older Qt
GB Audio: Fix channels 1/2 not playing when resetting volume (fixes #2614)
Libretro: Add back missing audio overkill (fixes #2734)
GBA DMA: Minor optimization of warm function
GB Audio: Fix channel 3 volume being changed between samples (fixes #1896)
Qt: Attempt to fix 5.8 build
GB Audio: Initialize ch3 window value
GB Memory: Actually, HDMAs should start when LCD is off (fixes #2662)
GB Audio: Fix up boot sequence
GB Audio: Fix updating channels other than 2 when writing NR5x
Qt: Fix proxy context creation on Nvidia (fixes #2746)
Qt: Tentative fix for renderer switching crash
Qt: Fix loading/unloading shaders
GB IO: Fix BANK not getting initialized after recent change
Check gba->mbVf for force skipping the BIOS (#2754)
Qt: Refactor and fix dequeueAll so keep mode keeps last draw tex too
GBA: Clean up BIOS skip detection; add second multiboot entry
GBA Video: Fix #2489 in OpenGL renderer
Qt: glFlush is (thankfully) sufficient here
Qt: Start OpenGL bug list with glFlush cross-thread on Windows (fixes #2761)
GBA Cheats: Fix issues detecting unencrypted cheats (fixes #2724)
Qt: Fix typo in Forwarder ui (#2764)
GBA Cheats: Clean up redundant variables
Qt: Fix indentation
GB BIOS: Include timing in degenerate ArcTan2 cases (fixes #2763)
Scripting: Refactor out some testing code
All: Add more build products to the gitignore
Qt: Fix initializing update revision info
Qt: Redo stable branch detection heuristic
GB Audio: Fix regression in channel updating with NR5x (fixes #2775)
Scripting: Fix internal socket header
Qt: Fix minor leak
Qt: Work around Mesa issue 8035
CHANGES: Update for 0.10.1
Correct year of release date of 0.10.1 to 2023 (#2783)
Qt: Attempt to shorten Game Boy settings pane
GBA Memory: Make VRAM access stalls only apply to BG RAM
Qt: Add ig4icd32 crash to OpenGL bug database (see #2136)
Core: Round out input API pre-revamp
Qt: Start splitting up InputController
Qt: Start adding better input abstractions
Qt: Move Gamepad events into input/
Qt: Start shaking out GBAKey
Qt: Finish input driver separation
Qt: Further input cleanup
Merge branch ‘revamp/qt-input’
Util: Add some base vector implementations
Util: Add debug bounds checking to vector
Qt: More API cleanup
Scripting: Fix mSCRIPT_TYPE_MS_PCS macro
Scripting: Add some nullity tests
Qt: Set default gamepad and sensor drivers
Scripting: Add missing type export
Scripting: Lua nullity fixes
Scripting: Fix scripting console
Scripting: Allow mScriptList members, better testing
Scripting: Allow weakrefs to be marked for auto-collection
Qt: Fix gamepad driver lookup
Qt: Fix crash when attempting to use OpenGL 2.1 to 3.1 (fixes #2794)
Qt: Include wayland QPA in AppImage (fixes #2796)
Qt: mInputMapHat returns a mask, not a single key (fixes #2800)
Qt: These return multiple keys
GBA Memory: Modernize constant names
Scripting: Allow struct access to inline strings
Wii: Fix build
Qt: Disable sync while running scripts from main thread (fixes #2738)
Scripting: Allow basic pointer following
Scripting: Add callback arguments
Scripting: Add base input, supports key events
Scripting: Implement input sequence numbers
Qt: Start hooking up input events into scripting
Scripting: Migrate some stuff from docgen into libmgba
Scripting: Basic gamepad support
Qt: Hook up gamepad to scripting
Res: Add example gamepad demo
Scripting: Expose gamepad name to scripts
Scripting: Export Input API docs
Core: Export screenshot dimensions in savedata extdata
Qt: Fix savestate preview sizes with different scales (fixes #2560)
mGUI: Improve savestate screenshot handling
Switch: Improve screenshot texture handling
Qt: It’s 2023 now
Core: Allow sending thread requests to a crashed core (fixes #2785)
CHANGES: Wrong bug report
Qt: Fix controller hotplugging
Qt: Update translation (Portuguese (Brazil))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
Qt: Update translation (German)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
Qt: Update translation (Russian)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
Qt: Update translation (Polish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
Qt: Update translation (Chinese (Simplified))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
Qt: Update translation (Korean)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ko/
Qt: Update translation (Spanish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
Qt: Update translation (Japanese)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ja/
Qt: Added translation (Swedish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/sv/
Qt: Update translations
Qt: Unbind apostrophe from GameShark button by default
Qt: Stop eating boolean action key events (fixes #2636)
Qt: Update translations
GBA Audio: Fix improperly deserializing GB audio registers (fixes #2793)
CHANGES: Add input API
GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes #2805)
Script: Fix leaking tables passed from Lua
Script: Fix table string key UAF
Qt: Hide ? button on forwarder view
Qt: Add filter for selecting forwarder images
Qt: Link QJpegPlugin on static Windows
Scripting: Add input:activeKeys to get currently active keyboard keys
Scripting: Clear down keys when the window is deactivated
GBA Timers: Cascading timers don’t tick when disabled (fixes #2812)
Util: Fix some macro best practices
GBA SIO: Fix unconnected normal mode SIOCNT SI bit (fixes #2810)
GBA SIO: Normal mode transfers with no clock should not finish (fixes #2811)
GBA SIO: Minor code modernization
Scripting: Allow Lua to pass nested tables to the scripting subsystem
Scripting: Fix table unwrapping
Scripting: Remove unused type macros
Scripting: Fix object get thunking
Scripting: Add WTABLE
Scripting: Specific wrapper types shouldn’t compare equal with wrapped type
Scripting: Add wrapper drill-down casts
Scripting: Add type-overloadable setters
Scripting: Add faux “NUL” type for type matching
Scripting: Clean up refcounting
Scripting: Fix passing mSTList/Table from Lua back into the runtime
Scripting: Warning cleanup
Scripting: Add skeleton of storage API
CMake: Add json-c optional dependency
Scripting: Initial serialization work
Scripting: Initial deserialization work
Scripting: More storage tests
Scripting: Add flushing/reloading
Qt: Add scripting storage integration
Scripting: Add documentation for storage and buckets
Merge branch ‘feature/scripting-storage’
Scripting: A slew of buildfixes
CHANGES: Add storage API mention
Scripting: Fix tests
Scripting: Fix non-json-c build
Scripting: Add callbacks:oneshot for single-call callbacks
Qt: Fix build without json-c
Scripting: Add method to enable/disable storage bucket autoflushing
Qt: Getting tired of pushing commits to fix the build without json-c
Qt: Properly cap number of attached players by platform (fixes #2807)
Qt: Disable attempted linking betwen incompatible platforms (fixes #2702)
README: Minor updates
Qt: Fix modifier key names in shortcut editor (fixes #2817)
OpenGL: Fix null calloc/memcpy
Res: Port hq2x from SameBoy
OpenGL: Export output buffer size to shader
Res: Port OmniScale from SameBoy
Scripting: Bucket names can’t start with .
Res: Fix name spelling
hook frame callback in socket connect
Qt: Fix a handful of edge cases with graphics viewers (fixes #2827)
Qt: Fix loading a script leaving sync disabled
Res: Add SGB platform icons
Scripting: Add WSAEWOULDBLOCK to error translation table
CHANGES: Update
Qt: Automatically change video file extension as appropriate
Libretro: Fix undeclared constantThe `SIZE_CART_FLASH1M` constant was renamed to `GBA_SIZE_FLASH1M` in
8545271
These leftovers make the Libretro build fail, when running:
“`
cmake -DBUILD_LIBRETRO=ON .. && make
“`
Windows: Fix build clang-cl
All: Minor warning touching up
GBA Overrides: Mark ASL* as no save (fixes #2843)
CMake: Fix configure issues on clang
Qt: auto -> auto& cleanup
Qt: Fix full-buffer rewind
GBA Savedata: Fix sanity check in Load
OpenGL: Fix memory leak in failure path
Qt: Fix crash if loading a shader fails
GB Memory: Fix potential crash when directly accessing invalid SRAM
Core: Add missing va_end
GB: Fix potential double-free of non-pristine ROM memory
All: Fix handling of strncat bounds
Feature: Fix No-Intro cleanup on initial errors
Core: Fix GBK string memory handling in .cht loading
Feature: Initialize z_stream more cleanly
Core: Negative log types are invalid
Qt: Initialize log-to members
GBA SIO: Who wrote this code? Oh, me
Qt: Initialize Shortcut::m_direction
Qt: Better fps non-zero division check
Util: Fix potential socket leak
Qt: Fix potential directory handle leak
VFS: Improve zip invariant handling
Scripting: Fix potential crash if a bucket can’t be opened
GB Video: Implement DMG-style sprite ordering
Core: Revise screen size/info API
Video: Start revising VideoBackend API
Qt: Start adding background/bezel image support
Util: Add some basic geometry math
OpenGL: Add basic border rendering to GL 1.x driver
OpenGL: Add basic border rendering to modern GL driver
Qt: Ask the display, not the core, what size it should be
SDL: Refactor use of VideoBackend to slim down GL backends
SDL: Border rendering
GBA Saveata: Fix fumbled check
Qt: Fix black screen when starting with a game (fixes #2781)
Qt: Fix buffer termination issue
GDB: Enable NODELAY on GDB stub connections
GDB: Ugh
GBA Memory: Play slightly nicer with CSE
Qt: Placate Coverity a bit
Core: Fixx M_*8 macros
Core: An empty config string is a null config value
Core: Handle relative paths for saves, screenshots, etc consistently (fixes #2826)
Qt: Fix OSD on modern macOS (fixes #2736)
OpenGL: Fix layers not recentering properly when scale is reduced
OpenGL: Separate sizes of image and drawn layer for image
Merge branch ‘feature/canvas’
Util: Namespace geometry structs to avoid conflicts
Util: Fix test build
Scripting: Fix scalar hashing on different union layouts, e.g. big endian
Scripting: Return proper callback ID from socket.add
Util: Move some image stuff around
GBA Memory: Clean up stall function slightly
Util: Start mImage/mColor APIs and tests
GB MBC: Fix crash with NT Old 2 if rumble callback isn’t installed
GBA Overrides: Fix saving in PMD:RRT (JP) (fixes #2862)
Util: Strip loading 16-bit PNGs down to 8-bit
GBA Audio: Clear GB audio state when disabled
Util: Add image loading API
Qt: Swap P1 and other player’s save if P1 loaded it first (closes #2750)
Util: Fix non-USE_PNG build
Qt: Fix checked state of mute menu option at load (fixes #2701)
Scripting: Make mScriptEngineExportDocNamespace take ownership
Scripting: Add Lua-specific local script table for info about the script
Scripting: Add read-only struct members
Scripting: Tidy up public headers
Scripting: Make functions able to have default arguments
Util: Fix memory leak in mImageLoadVF
Util: Fix extracting top channel from 565 formats
Util: Add image format conversion
Util: Add mImage saving
Util: Reject 0-width/height images
Util: More image creation functions
Scripting: Separate object freeing and deiniting
Scripting: Export current image API
Core: Add screenshotToImage scripting binding
Util: Refactor some things that will be used later
Util: Add mRectangleIntersection
Util: Add basic mImage blit with no blending
Util: Add alpha-based mImage compositing functions
Scripting: Export image compositing functions
Util: Partially evaluate preprocessor utility macros to help MSVC chew
OpenGL: Make backends handle non-zero origin outer frame boundaries
Scripting: Export some system information
Scripting: Fix some Lua string handling
GBA e-Reader: Improve error handling in image loading
Util: Placate coverity a bit
Qt: More coverity placating
Core: Fix memory leaks in mCacheSet
FFmpeg: Fix buffer size rounding for audio encoding
FFmpeg: Force lower sample rate for codecs not supporting high rates (fixes #2869)
Scripting: Re-fix some Lua string handling (fixes #2877)
Scripting: Fix early freeing of coerced list contents (fixes #2881)
Vita: Work around broken mktime implementation in Vita SDK (fixes #2876)
.gitignore: Update
3DS: Code cleanup
Core: Code cleanup
Res: Code cleanup
CMake: Actually bother using -fwrapv
VFS: Actually fflush sync when doing writeback
GB Serialize: Add missing Pocket Cam state to savestates
macOS: Declare camera usage in Info.plist
Debugger: Send flags information for cpsr registerThere is a feature of target XML called flags. It allows
you to describe what a register contains.
https://sourceware.org/gdb/onlinedocs/gdb/Target-Description-Format.html
GDB has supported this for a long time and I recently added support
in LLDB:
llvm/llvm-project@e07a421
This change adds this flags information for the cpsr register of the ARM7TDMI.
Based on the information in https://developer.arm.com/documentation/ddi0210/c/.
This is what it looks like when using GDB:
“`
(gdb) info registers
r0 0x0 0
<...>
cpsr 0x6000001f [ Z C M=31 ]
“`
And LLDB:
“`
(lldb) register read cpsr
cpsr = 0x6000001f
= (N = 0, Z = 1, C = 1, V = 0, I = 0, F = 0, T = 0, M=31)
“`
(the format is up to the debugger, lldb is a lot more verbose at the moment)
To enable this I have increased the GDB stub’s outgoing buffer to 1400 bytes.
The target XML is just above 130 bytes with the flags added.
Util: PNGWrite*A is dead, long live PNGWrite*
Util: Add grayscale mImage loading
Util: Preliminary palette support
Util: More palette support
GBA Video: Fix interpolation issues with OpenGL renderer
Util: Improve mImageLoadPNG memory cleanup
GBA Video: Don’t repeat yourself
Qt: Manually toggle swap interval as needed
Qt: Rip out OpenGL proxy thread
Feature: Move video-backend.c to a sensible place
Qt: Cleaner type punning
Qt: Detect Wayland as EGL
Res: Update Patrons for April
GB, GBA Audio: Clamp audio buffer size to 8192
Qt: Only disable swapInterval when fast-forwarding
Res: Update no-intro
CHANGES: Update for 0.10.2
Res: Add script for doing fake analog input by PWM-ing the d-pad
Debugger: Reject traces with negative trace amounts (fixes #2900)
mGUI: Enable auto-softpatching (closes #2899)
Scripting: shim print()/warn() in Lua
Qt: Add QPA info to report view
GB Audio: Fix channels 1/2 staying muted if restarted after long silence
GBA BIOS: Fix clobbering registers with word-sized CpuSet
Qt: Add shortcuts to increment fast forward speed (#2903)Co-authored-by: Vicki Pfau
Qt: Make rewind speed adjustable (#2902)
Scripting: Allow callbacks to access weakrefs
Scripting: Add lambdas with 0 arguments and 0 return values
Scripting: Add lambdas that bind an object method call
OpenGL: Fix GLES2 overlay drawing
OpenGL: Fix GL1 overlay drawing
Video: Add backend call proxying for cross-thread interaction
Qt: Hook up proxy backend to DisplayGL
Qt: Just don’t tear down proxy ring FIFO until the object is destroyed
Scripting: Add canvas API
Qt: Expose DisplayQt as a VideoBackend
Scripting: Add canvas internal scaling factor
Res: Add a bouncing logo demo script
Merge branch ‘feature/canvas’
Qt: Add a saturateCast template
Qt: Promote -Wnarrowing to an error
Scripting: Add missing docs to canvas
Qt: Mark QtMultimedia as optional
Qt: A bit more Qt 6 porting progress
Qt: Fix saturateCast signed check
Util: Fix handling of SocketPoll of n > 1
mGUI: Make “bios” name check case-insensitive
GB SIO: Disabling SIO should cancel pending transfers (fixes #2537)
Res: Use a slightly larger image for the logo-bounce demo
GB I/O: Read back proper SVBK value after writing 0 (fixes #2921)
Debugger: Break out debugger functionality into modules
Debugger: Make created debug items, e.g. breakpoints, owned by modules
Debugger: Allow attaching multiple debugger modules independently
Debugger: Add debugger polling to avoid blocking
GBA: Remove disused variable
ARM Debugger: Fix unitialized stack variable
Util: Add THREAD_EXIT macro
[UI bug] mGBA doesn’t update savestate screenshots until you move thecursor over other savestates (#2929)
Core: Reattaching the same debugger is a no-op
Core: Only attempt to open symbol file if basedir exists
CMake: Add -Werror=incompatible-pointer-types
CMake: Fix build on clang
3DS: Fix build
Core: Remove duplicated include
Debugger: Fill in segment in debugger entry
Debugger: Fix writing to specific segment in command-line debugger
Debugger: Support calling into multiple debuggers per watchpoint
Scripting: Add debugger integration
Core: Add getPeripheral function
All: Fix several warnings
Scripting: Fix build against Lua 5.2
Scripting: Expose rumble callback
Qt: Reduce minimum size of GB palette color pickers
Qt: Add exporting of SAV + RTC GBA saves from Save Converter to stripRTC data
Scripting: Detach adapter peripherals when detaching adapter
Scripting: Add rotation callback support
Scripting: Fix generated docs validity
Scripting: Update docs style
GBA Audio: Fix sample timing drifting when changing sample interval
Scripting: Add light sensor callback support
Res: Add demo light sensor script
Qt: Fix potential scripting context conflict (fixes #2948)
GBA Audio: Fix initial channel 3 wave RAM (fixes #2947)
GB: Add missing CGB0 BIOS to model detection
GB: Prevent incompatible BIOSes from being used on differing models
Core: Begin modernizing game override API (fixes #2963)
ARM: Remove obsolete force-alignment in bx pc (fixes #2964)
GB Audio: Fix channel 1 restarting if sweep applies after stop (fixes #2965)
GB Audio: Update channels 1/2 irregularly if silent
GB Audio: Force update channels 1/2 if updating from a register write
Util: Add ctz32 function
GB Audio: More accurate LFSR implementation for noise channel
Qt: Add exporting of SAV + RTC GB saves from Save Converter to stripRTC data
GBA SIO: Fix normal mode SI/SO semantics (fixes #2925)
GBA: Unhandled bkpt should be treated as an undefined exception
GBA BIOS: Add DACS compatibility to HLE BIOS (closes #2972)
ARM: Fake bpkt instruction should take no cycles (fixes #2551)
GBA: Fix hasOverride initialization
FFmpeg: Fix isampleRate initialization
Qt: Let the getOpenFileName function class take an optional startingpath
Qt: Distribute shaders as zipped archives on supported builds
Qt: Const correctness
Qt: Clean up multiplayer attaching/detaching
Updater: Fix overwriting directories with files
Qt: Fix leak if loading a save file fails
Qt: Plumb through some path info into the CoreController
Qt: Handle multiple save game files for disparate games separately (fixes #2887)
Updater: Fix overwriting files with directories
Util: Fix alpha blending calculation
Util: Start mPainter bringup with rectangle drawing
GBA GPIO: Fix tilt scale and orientation (fixes #2703)
GUI: Add missing include
Updater: Fix MSVC build
Util: Add mPainterDrawLine
Util: Add mPainterDrawCircle
Qt: Update translation (Korean)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ko/
Qt: Update translation (Spanish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
Qt: Update translation (Hungarian)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/hu/
Qt: Update translation (German)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
Qt: Added translation (Portuguese)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt/
Qt: Update translation (Japanese)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ja/
Qt: Update translation (Polish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
Qt: Update translation (Chinese (Simplified))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
Qt: Update translation (Portuguese (Brazil))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
Qt: Update translation (Portuguese (Brazil))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
Qt: Update translation (Portuguese (Brazil))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
Qt: Update translations
Util: Shape drawing fixes, better tests
OpenGL: Fix uninitialized context dimensions
Qt: Fix uninitialized members
Updater: Fix existing directory update logic
Script: Add mScriptContextInvoke for context-specific invocation andthread handling
Scripting: Add handling of wrapper type specification in function signatures
Scripting: Export mPainter class
Scripting: Fix typo
Qt: Re-enable sync for multiplayer windows that aren’t connected (fixes#2974)
Qt: Remove maligned double-click-to-fullscreen shortcut (closes #2632)
Qt: Mark video encoding options as untranslatable
Qt: Fix gdb at startup (fixes #2986)
Qt: Fix crash entering commands into detached debugger (fixes #2987)
Qt: Fix mute settings not being loaded on setting screen (fixes #2990)
ARM: Fix warning
Scripting: Silence warnings
Util: Fix warnings
OpenGL: Fix warnings
Scripting: Fix rounding warning
Util: Fix warning when libpng is disabled
Qt: Fix display-related Qt6 build errors
Qt: Fix input-related Qt 6 build errors
Qt: Ensure action set is clean before (re)building
Qt: Change Action* semantics to std::shared_ptr
Qt: Force surface type to OpenGL in DisplayGL
Qt: Fix remaining non-Multimedia Qt 6 build issues
Qt: Remove shared_ptr copies in for loops
GBA Audio: Fix sample position issues when rate changes (fixes #3006)
GB I/O: Fix STAT writing IRQ trigger conditions (fixes #2501)
Vita: Fix camera setting not appearing (fixes #3012)
GBA Core: Fix Flash 1M memory block descriptor
Debugger: Fix trace
GBA I/O: Improve legibility of long constants
GBA I/O: More legibility improvements
GBA I/O: Prefix GBA registers with GBA_REG_
Core: Fix potential UAF when loading a ROM in a VDir
Qt: SaveConverter doesn’t use the controller
Qt: Move controller-based subview auto-closing
GBA: Make sure unloading a ROM frees the AGBPrint buffer
GB Core: Fix exported size information
GBA Core: Export reduced GBA ROM region size if the ROM is less than32 MiB
Debugger: Clean up layering violation
GB, GBA: Move CLI debugger headers
GBA Core: Add missing blocks
ARM, SM83: Check for events both before and after single stepping
Debugger: Initial memory access logger support
Debugger: Move platform-specific flag lookup to mDebuggerPlatform
Qt: Expand romFilters functionality
Qt: Add shadow ROM exporting
Scripting: Fix console error log level
Scripting: Simplify console implementation
Scripting: Code cleanup
Scripting: Enhance error reporting
Debugger: Correct PC value when read with ‘p’ instead of ‘g’ packetThe ‘g’ packet is handled by _readGPRs which has a special case for
the PC due to the way the CPU reports the PC value.
This was added by added by a967f9a.
The ‘p’ packet is handled by _readRegister which did not have this
special case for PC. This lead to GDB reporting the correct PC value
but LLDB not, as the latter used ‘p’ instead.
This meant you saw things like this:
0x80002a4 <+16>: str r0, [sp, #0x4]
0x80002a8 <+20>: bl 0x80001f0 <----------expected to be here.
-> 0x80002ac <+24>: b 0x80002b0
Where you expected to be about to bl to another function,
but it looked like you had already done it.
And more obviously, when you first attached to the GDB stub,
the PC was reported as 4 not 0.
Revert “Qt: Ensure action set is clean before (re)building”This reverts commit 3ee12b1.
Scripting: Fix typo in docs
Scripting: Attach canvas object in docgen
Scripting: Unpack breakpoint name struct
Wii: Fix build
Core: Add missing defines to flags.h
Debugger: Fix interrupt after continue from GDB stubGDB and LLDB will send a ctrl-c character (\x03) to the stub
to interrupt it after a continue where it doesn’t stop on its own.
E.g.
“`
void foo() {
foo2(); // Continue from here.
while (1) {} // Loops here until ctrl-c in the debugger.
}
“`
mGBA had code to handle the ctrl-c but because in _continue
we set the paused status after calling mDebuggerModuleSetNeedsCallback,
the callback was never set so nothing was looking for new messages
while we were running. We should instead set the paused state then call
mDebuggerModuleSetNeedsCallback.
mDebuggerModuleSetNeedsCallback calls mDebuggerUpdatePaused, and all
other calls to mDebuggerUpdatePaused update the paused state before
that call so this matches existing usage of that too.
With this fix, after the continue _gdbStubPoll is called periodically
and will pick up the ctrl-c as it comes in (_gdbStubWait is used when
we are stopped in the debugger).
This fixes ctrl-c to interrupt when using lldb and gdb.
Debugger: Fix off-by-one breaking StartNoAckMode
Debugger: Advertise QStartNoAckMode support
CMake: Fix DEFAULT_LTO
Qt: Attach debugger when attaching scripting controller (fixes #3046)
Qt: Fix non-debugger build (fixes #3049)
GBA Audio: Only read MP2k context addresses if valid
FFmpeg: Fix deprecation warnings
Scripting: Check for ENOTRECOVERABLEIt’s part of “robust mutexes” and may not necessarily be available
(e.g. on NetBSD 9)
Tools: Add SDF-generation tool and 4x font SDF
Tools: Move updater and docgen source into tools/
GBA Savedata: Fix crash when resizing flash save games for RTC data
Debugger: Move CLIDebugerEditLine implementation into debugger/
Feature: Move command-line debugger argument handling
SDL: Fix minor leak if debugger isn’t used
Feature: Move command-line patch/cheats argument handling
Test: Use refactored argument handling
Test: Allow ROM tester to be debugged
Add Goodboy Galaxy to overridesTo enable rumble
CMake: Bump minimum macOS to 10.7 when building against SDL2
Qt: Fix minimum macOS version setting
Res: Add entitlements list for macOS
Qt: Do codesigning on macOS
Qt: Move install in CMake so install scripts get run first
Qt: Do initial macOS resource staging in local app bundle
Qt: Code signing cleanup
GB: Fix applying a patch that changes the cartridge mapper (fixes #3077)
mGUI: Persist fast forwarding after closing menu (fixes #2414)
Qt: Fix generic icon on Wayland
CInema: Add samesuite, mostly failing
CInema: Sprite priority has been fixed
CInema: Fix xbaseline differences being ignored with no baseline
GB Audio: Fix restarting envelope when writing to register (fixes #3067)
CInema: Update SameSuite results
GB Audio: Improve “zombie mode” emulation in CGB mode (fixes #2029)
GBA I/O: Fix HALTCNT access behavior (fixes #2309)
Qt: Make Gamepad be a shared_ptr
Qt: Fix Action leak
VFS: Use anonymousMemoryMap for large 7z allocations (fixes #3013)
Qt: Fix shaders not applying when display is loaded (#3100)Co-authored-by: Vicki Pfau
Res: Add gbc-lcd shader, imitates GBC LCD subpixel arrangement with an optional backlight effect (#3097)
CMake: Clean up with PROJECT_SOURCE_DIR
3DS: Remove fancy memory mapping
Config: Fix warning
Qt: Fix screen freezing on macOS after closing save state window (fixes#2885)
Res: Update nointro.dat
Res: Update patrons.txt
CHANGES: Update for 0.10.3
All: Fix some warnings
GBA Video: Migrate window precalculation into a function
Switch: Add bilinear filtering option (closes #3111)
Swtich: Fix config item count
GB: Fix uninitialized save data when loading undersized temporary saves
VFS: Modernize VDeviceList implementation
Vita: Add imc0 and xmc0 mount point support
Vita: Use sceIoPwrite in VFileSce.sync
Qt: Fix input event threading regression (fixes #3116)
GBA SIO: Fix MULTI mode SIOCNT bit 7 writes on secondary GBAs (fixes #3110)
OpenGL: Mark interframe shader as dirty too (fixes #3099)
Qt: Remember to set m_dims for the early return
GBA Debugger defaults to loopback address
Qt GDB Window defaults to loopback address
core: Add support for specifying an arbitrary portable directory.
SDL: Refactor out layer recentering, fix for GB
Core: Migrate thread context TLS to its own key
Qt: Switch VideoProxy to using QMutexLocker
Qt: Pass logging context through to video proxy thread (fixes #3095)
Util: Fix leak in SfoWrite
VFS: Fix UB
Qt: Pay down a bit of MemoryAccessLogView tech debt
Qt: Use && in some places that coverity recommends
Add a –script option to load scripts automatically on startup
Updater: Fix updating appimage across filesystems
Qt: Fix uninitialized variable
Qt: Fix potential null deref
Qt: Coverity complains about this but I have no idea if it matters
Qt: Shut up coverity some, despite this probably not doing anything
Qt: Attempt to fix MSVC build
Qt: Shut coverity up a bit more
CMake: Remove leftover debug print
Qt: Improve OpenGLES support and cleanup ifdef maze
Core: Move rewind state coalescing into mCoreRewindRestore
CMake: make compile with mingw-w64 and Qt6
fix compilation warnings
Windows: Fix compilation woes from last commit
3DS: Implement 3x sharp bilinear scaling and make it the default- Old method was 2x. 3x looks quite a bit sharper in aspect-fit mode on
non-O2DS as the width is an integer number of half-width pixels. Since
resulting upscaling ratio is 3x:1.5x, this gives very good results,
althought it might be too sharp for your liking (YMMV). Not as much of
a difference in screen-fit mode
– Remove duplicate rendertarget as it was not necessary
Fix menu bug that allowed the selection of invalid states when wrap=true
GB: Fix type coercion
SDL: Use SDL_GameControllerRumble instead of SDL_JoystickRumble if available
GB Audio: Fix audio envelope timing resetting too often (fixes #3164)
Scripting: Export new image masking function
Qt: Reattach video backend when resetting scripts (fixes #3167)
Core: Clean up thread state mutex usage
Util: Code cleanup to remove unreachable code
Qt: Get InputController compiling with Qt6Cameras still don’t work though
Qt: Port AudioProcessorQt to Qt6
Qt: Get VideoDumper compiling with Qt6Cameras still don’t work though
Qt: Hook up cameras in Qt6
Qt: Fix build
Qt: Fix non-Multimedia build
GBA Savedata: Prefix SavedataType constants and type name
GB, GBA: Move override structs to public API
GBA: Fix build
GBA: Remove legacy “mirroring” field from overrides
GBA: Move GBAHardwareDevice to public API
GB, GBA: Move more override-adjacent stuff to public API
Qt: Fix Qt6 build
Qt: Fix underrun stalling with Qt6
Qt: Enable building against Qt6 by default
Scripting: Attempt to shake out single-lua_State requirement
Scripting: Add overloads, overload isKeyActive
Qt: Actually load defaults again
SDL: Start actually using SDL_GameController for its intended purpose
Qt: Switch SDL controller usage from Joystick to GameController
Qt: Update translation (Spanish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
Qt: Update translation (Spanish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
Qt: Update translation (Korean)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ko/
Qt: Update translation (Portuguese (Brazil))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
Qt: Update translation (Polish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
Qt: Update translation (Turkish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/tr/
Qt: Update translation (Turkish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/tr/
Qt: Update translation (Hungarian)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/hu/
Qt: Update translation (German)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
Qt: Update translation (Portuguese)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt/
Qt: Update translation (Norwegian Bokmål)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/nb_NO/
Qt: Update translation (Italian)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
SDL: Fix build on SDL 2.0.12
SDL: Really fix the build this time
Core: Fix some mutex ordering
Scripting: Attempt to fix MSVC build
Core: More threading cleanup
GBA GPIO: Fix gyro read-out start (fixes #3141)
CHANGES: Remove duplicate entry
CMakeLists: Fix strtof_l detection logic
flags.h: Add missing flags
Util: Fix #if into #ifdef
CMake: Rename USE_DEBUGGERS and USE_GDB_STUB to ENABLE_DEBUGGERS andENABLE_GDB_STUB
ENABLE flags are for optional features, USE flags are for optional dependencies
Qt: Update translation (Chinese (Simplified))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
Core: Fix thread not waking up properly on canceling request
Core: Don’t trigger watchpoints with access inside of a script (fixes #3050)
Util: Start bringing up better audio resampling
3DS: Handle audio resampling in DSP
Qt: Remove debug message from CMakeLists
Util: Start adding CircleBuffer tests
Util: Remember to free memory in tests
Scripting: Fix leak when freeing painters
Util: Add offset parameter to CircleBufferDump, more tests
Util: Add CircleBufferWriteTruncate
Util: Fix overzealous CircleBufferRead/Write16, lots more tests
Util: Fix misaligned end pointer case
Util: Change mInterpolator data API
Util: Rename CircleBuffer to mCircleBuffer
Util: Add prototype mAudioBuffer wrapper
Feature: Fix (unused) mVideoProxyBackendRun with block=true
Util: Remove unreachable code
Debugger: Actually handle parseLexedExpression returning false
Qt: Fix window resizing when no game is loaded
Qt: Fix race condition in Qt display driver that could cause divisionby zero
Qt: Add option to lock the maximum frame size (closes #1493)
fix hang in AudioDevice
Util: Start bringing up new resampler
Util: Fix circle buffer dump offset forcing an early wrap
Util: Enable dropping part of a circle buffer with a null read
Core: Finally kill off GBAAudioCalculateRatio
Core: Add functions to get native sample rates
SDL: Fix GB audio speed
Switch: Switch to resampling with audren
Switch: Fix warnings
Qt: Add option to force a specific version of Qt
GBA Memory: Let raw access read high MMIO addresses
Vita: Switch to using lw mutexes
Util: Add cosine interpolator
Util: Allow audio resampler to use different interpolators
GBA Audio: Remove broken XQ audio pending rewriteGone but not forgotten.
Core: Switch from blip to mAudioResampler
Third-Party: Remove blip_buf
OpenEmu: Remove upstream coreThis is maintained downstream and not synchronized back upstream
Python: Attempt to fix build
All: Split ENABLE_VFS out from MINIMAL_CORE=2
Libretro: Fix non-ENABLE_VFS build
All: Remove unmaintained RasPi and Pandora code
GB, GBA Audio: More efficient sample writing
GB, GBA Audio: Refactor stream code to do less when no stream is present
Util: Early exist mAudioBufferRead if the buffer is full
Util: Use HAS_IPV6 more where appropriate
VFS: Rename USE_VFS_* to ENABLE_VFS_*
Qt: Fix potential crash when configuring shortcuts
Misc: Fix a slew of less-than-important warnings
GBA Core: Fix audio sample rate dynamically changing (fixes #3194)
Switch: Fix audio resampling after GBA fix
3DS: Fix audio resampling after GBA fix
Vita: Fix audio resampling after GBA fix
Wii: Fix audio resampling after GBA fix
Libretro: Add Super Game Boy Color support (closes #3188)
GBA: Prefix SIO constants with GBA_
Util: Clean up VFileOpen backing a bit more
Libretro: Fix build
GBA Audio: Call audioRateChanged on reset if applicable
Libretro: Fix audio resampling after GBA fix
Libretro: Attempt to fix #3202
Libretro: Fix mapped high SRAM start address
doc: update readme in zh_cn
Qt: Fix crash when applying changes to GB I/O registers in I/O view
Qt: Better fix for I/O viewer
Qt: Fix LCDC background priority/enable bit being mis-mapped in I/O view
SDL: Properly disable SDL build if libsdl isn’t found (fixes #3213)
GBA SIO: Improve MULTI timing
GBA SIO: Remove erroneous RCNT setting
Third-Party: Cherry-pick rapidjson buildfix
fix Qt deprecation warnings
GBA Video: Add special circlular window handling in OpenGL renderer
Core: Fix warnings
ARM: Backport some CPU table improvements from medusa
ARM: Add framework for coprocessor support
GBA: Add baseline CP0 (Wii U VC) and CP1 (DCC) implementations
GBA: Actually it reads open bus
Qt: Ignore rewind while loading/saving states
Windows: Inno Setup fixesUpdate minimum Windows version to 7, add DisableDirPage=no
Test: Read config file in rom-test
Scripting: Split console implementation out from Core scripting
Script: Add missing include
GBA: CP14 mcr also is a no-op
GBA Memory: Support the Chinese version of Digimon Sapphire by Vast Fame
GBA Memory: Clean up Vast Fame code somewhat
GB MBC: Switch Pocket Cam to using standard color conversion methods
GB Debugger: Fix file formatting
GB Video: Remove leftover #include
Core: Improve rumble emulation by averaging state over entire frame (fixes #3232)
GBA Memory: Improve VRAM access stall cycle estimation
All: Clean up how assertions are done
GBA Memory: Fix affine background timing errors
GBA Video: Fix VRAM access stalling even during force blanking
GBA Serialize: Fix some minor save state edge casesThere are two edge cases fixed in this commit. The first one involves audio
FIFO DMA state not being properly updated if the game reconfigured it between
save and load. This doesn’t happen often, but it could conceivably affect
custom sound engines. The second case is the extremely rare case of a save
state being taken directly after a DMA ending but before an open bus read. The
chances of this happening are negligible, but it’s still a bug regargless.
GBA Audio: Fix crash if audio FIFOs and timers get out of sync
GBA Audio: Fix crash in audio subsampling if timing lockstep breaks
fix shortcuts
CMake: Fix compile flags for docgen
Qt: Fix closure argument types
Qt: Fix some controllers with multiple players (e.g. Mayflash GC adapter) getting duplicated
GB, GBA Core: Fix memory leak if reloading debug symbolsAlso fix loading an ELF if the current seek is not 0
Debugger: Remove redundant ifdef
GBA Core: Fix loading symbols from ELF files if the file doesn’t endwith .elf
GBA: Remove unused field
GBA Core: Fix crash after loading debug symbols (fixes #3254)
Don’t try to load non-.sym files as ARMIPS symbols
Fix misplaced return in previous PR
GB Serialize: Prevent loading invalid states where LY >= 144 in modesother than 1
Remove SDL_WINDOW_OPENGL flag in mSDLSWInit
Res: Update nointro.dat
Core: Expose more ROM information from the API
GBA: Fix getting game info for multiboot ROMs
No-Intro: Index database on MD5 and SHA1 too
No-Intro: Prevent database from being downgraded
GB: Fix potential null pointer deref
Scripting: Expose currentCycle in debugger buildsThe global time is only maintained in debugger builds for performance reasons.
While it can be reconstructed on GBA, this is not the case on GB, so limit it
to debugger builds only.
GBA Video: Improve emulation of window start/end conditions (fixes #1945)
Add load most recent script menu option (#3266)
Util: Add UIntList predefined vector
Core: Switch video log state load/store to use mCore*State functions
Core: Add stubs for loading/saving subsystem extra state
Core: mStateExtdataGet const correctness
Core: Extdata should not have a size < 0
GBA Video: Add stubs for saving/loading extra data out of the video renderers
Test: Allow extdata fuzzing
Core: Improve future-proofing of struct initialization
Core: Fix video proxy renderer creation and improve API
Core: Fix creating mVL contexts dropping the savestate
Util: Rename color_t to avoid namespace conflicts
GBA Memory: Add support for palette RAM, VRAM, and OAM to GBAPatch8
Qt: Update translation (Italian)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
Qt: Update translation (Russian)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
Qt: Update translation (Chinese (Simplified))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
Qt: Update translation (Norwegian Bokmål)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/nb_NO/
Qt: Fix how some languages are shown in settings
Qt: Update translations
Res: Update gba-colors shader (closes #2976)
Res: Port NSO-gba-colors shader (closes #2834)
Qt: Make window corners square on Windows 11 (fixes #3285)
Appveyor: Use Windows 11 SDK
Qt: Fix Windows shared build
GBA I/O: Fix audio register 8-bit write behavior (fixes #3086)
GBA I/O: Fix 8-bit NR44 write
Scripting: Fix readRegister return type
Python: Remove SIO API pending revamp
GBA SIO: Start adding new SIO callbacks for revamped API
GBA SIO: Start moving common SIO logic out of drivers
GBA SIO: Move more SIO logic out of drivers
GBA SIO: Move MULTI finishing logic out of drivers
GBA SIO: Move cycle estimation values into core
GBA SIO: Move NORMAL finishing logic out of drivers
GBA SIO: Move more write logging out of drivers
GBA SIO: Replace writeRegister with writeSIOCNT
GBA SIO: Add writeRCNT callback, mostly for GPIO mode
GBA SIO: Finish up GBASIOWriteRegister logging
GBA SIO: Fix SIO register writing per mode
GBA SIO: Fix NORMAL timing out
GBA SIO: Allow seamless mode switching if driver supports it
GBA SIO: Add RCNT bitfield
GBA SIO: Improve RCNT emulation
GBA SIO: Move starting/end timing logic out of drivers
GBA SIO: Modify GBASIOTransferCycles to not require SIO struct
Core: Add new mLockstepUser API for upcoming lockstep rewrite
Core: Implement mLockstepUser for mCoreThread
GBA SIO: Bring up new lockstep driver
Qt: Switch to new GBA lockstep driver
GBA SIO: Remove old lockstep driver
GBA SIO: Add support for side data in save states
GBA SIO: Support save states in lockstep driver
GBA SIO: Remove driver sets and driver load/unload concepts
GBA SIO: Split lockstep interval for linked and unlinked times
Qt: Delay attaching SIO driver until a second player is connected
GBA: Expose setting the link port device as a peripheral
GBA SIO: Only set up GBP driver if no other driver is loaded
GBA IO: Fix SIOCNT/RCNT serialization
Fix savestates not writing back GPIO variables to gpioBaseResolves #3294 Also see TASEmulators/BizHawk#4060 (this is fixed with this patch).
This should be in Deserialize not Serialize
CHANGES: Update
GBA SIO: Add periodic hard sync so the runner doesn't get too ahead
GBA SIO: Attempt to clean up resyncing on disconnects
GBA SIO: Late cleanup
Merge branch 'feature/new-sio'
Python: Attempt to fix build
Python: Actually fix build
Qt: Add missing tr()s
All: Fix whitespace errors
Qt: Improve --script help
Core: Check for null when autoloading/saving cheats
Core: Add sanity check for mDirectorySetOpenSuffix
Core: Split out semantics of rumble integrator init/reset (fixes #3309)
Res: Add demo input display script
Util: Add MD5 implementation and consistency tests
Core: Add MD5 hashing for ROMs
Qt: Fix some new SIO cleanup issues
GB, GBA: Clean up some corner cases with ROM fd closing
Core: Fix patch autoloading leaking the file handle
Util: Shut Coverity up about a false positive
Qt: Show a dummy shader settings tab if shaders aren't supported
GBA DMA: Cache cycle estimation on first DMA
GBA DMA: Minor branch optimization
Qt: Fix saving named states breaking when screenshot states disabled (fixes #3320)
fix assignment of modifier keys
Qt: Fix "QFSFileEngine::open: No file name specified" warning
Qt: Recreate Window to release old surface and create a OpenGL one
fix numpad shortcuts
associate windows with the owning application
Fix various macOS related problems- Disable a duplicate libraries warning that isn't needed
- Quit using QApplication::quit instead of QWidget::close to prevent closing inside a dialog from crashing the application
- Allow Qt 6 builds to use std::filesystem if the proper macOS SDK version is present
- Stop looking for QtMultimedia plugins if Qt 6 is being used for macOS builds
Qt: handle newlines in TextBuffer print()
GBA Video: Fix potential shader compilation error
mGUI: Fix control remapping not reloading (fixes #3277)
GBA BIOS: Fix locked BIOS read on boot
GBA Savedata: Improve save write edge cases
Scripting: Combine frame argument and return value stacksThese were never used a the same time, and it reduces malloc/free churn
GBA Savedata: Fix erroneously setting the error bit
GBA Savedata: Update flash busy comment
GBA VFame: Refactor reordering code to be simpler
GBA Memory: Add initial support for N-in-1 style multicarts
GBA Memory: Add unlicensed cart write handling stub
CMake: Set both -mmacosx-version-min and CMAKE_OSX_DEPLOYMENT_TARGET
CMake: I'm tired of putting out fires
Serialize light counter to the correct bitfieldResolves #3294
Qt: save shader settings when OK/Apply clicked
Qt: don't save shader choice until OK/Apply is clicked
Qt: load unpacked shaders, warn on shader load error
GBA Serialize: Add support for Vast Fame state
GBA Unlicensed Carts: Improve bank swapping behavior
GBA Unlicensed Carts: Prevent multicarts from remapping after being locked
Qt: Fix installer updates if a version number is in the filename (fixes#3109)
GBA BIOS: Move SoftReset implementation to assemblyThis improves the timing of the SoftReset implementation (though it's still way
faster than Nintendo's official implementation), which is important for some
multicarts.
GBA Unlicensed Carts: Detect "SPIDERMAN3" header too
GBA SIO: Allow externally-clocked NORMAL transfers (fixes #3360)
Qt: honor control characters in ScriptingTextBuffer::print
GBA BIOS: Fix reseting SWI mode SPSR in SoftReset
CHANGES: Update for 0.10.4
GBA Hardware: Fix loading states unconditionally overwriting GPIO memory
GBA Memory: Properly narrow down GPIO write validity check
GBA: Improve reset behavior of various hardware components
Update setup.iss.in with Swedish (#3367)
Qt: Update translation (Portuguese (Brazil))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
Qt: Update translation (Korean)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ko/
Qt: Added translation (Chinese (Traditional))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
Qt: Update translation (Chinese (Traditional))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
Qt: Update translation (Chinese (Traditional))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
Qt: Update translation (Chinese (Traditional))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
Qt: Update translation (Chinese (Traditional Han script))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
Qt: Update translation (Italian)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
Qt: Update translation (French)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/fr/
Qt: Update translation (Swedish)Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/sv/
Qt: Update translation (Chinese (Simplified Han script))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
Qt: Update translation (Spanish (Latin America))Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es_419/
Qt: Rename LatAm Spanish to just "Spanish"
Qt: Fix up how the language names get displayed
Qt: Update translations
Qt: Skip processing QLocale::C if present
GBA Core: Fix booting into BIOS when skip BIOS is enabled
GBA Savedata: Demote savegme time offset message to DEBUG level
mGUI: Load parent directory if last used directory is missing (fixes #3379)
FFmpeg: Fix failing to record videos with CRF video (fixes #3368)
Updater: Fix rewriting folders and files on Windows (fixes #3384)
CMake: Fix entitlements plist filename
Core: Improve PNG deserialization logging
GB Core: Fix cloning savedata when backing file is outdated (fixes #3388)
CHANGES: Remove duplicated line
Scripting: Expose info table to breakpoint/watchpoint callbacks (closes#3369)
Scripting: Remove needless heap allocations
Scripting: Attempt to fix Windows build
Windows: Don't redefine WIN32_LEAN_AND_MEAN if already defined
Scripting: Expose MD5 checksum
Core: Quash some warnings
FFmpeg: Use avcodec_get_supported_config when present
FFmpeg: Fix build
Scripting: Let mScriptContextAttachLogger take NULL for logger
Scripting: Install callbacks in mScriptContextAttachCore instead of mCoreThread
Fix potential index out of bounds in DisplayQt.cpp
Scripting: Make mScriptContextLoad run the script too
ROM Tester: Add script running
Headless: Rename mgba-rom-test to mgba-headless
Qt: Make --script explanation match headless explanation
Scripting: send print() to stdout if no console is installed
CMake: Strip mgba-headless, fix up packaging a bit
Headless: goto considered harmful
mGUI: Wrap around menu cursor when navigating past end (closes #3356)
CMake: Work around CMake dependency dedupliation issues
Feature: Add ability for subparsers to consume extra arguments
Qt: Allow passing multiple games on command line for multiplayer (closes#3061) Atualizações: CMake: Atualizar versão
Res: Corrigir localização do nome da espécie nas revisões 1/2 de Ruby/Sapphire (corrige #2685)
Qt: Dividir manualmente o nome do arquivo para evitar divisão excessiva (corrige #2681)
Qt: Expandir critérios para nomes de ramo de tag (corrige #2679)
GB MBC: Adicionar suporte NT (antigo 1)
GB Serialize: Adicionar suporte ausente a salvestate para MBC6 e NT (mais recente)
macOS: Adicionar categoria ao plist (fecha #2691)
GBA Video: Otimizar um pouco mais os tiles de 16 cores do modo 0
GB MBC: Adicionar suporte NT (antigo 2)
GB MBC: Adicionar suporte Li Cheng
Qt: Atualizar lista de mapeadores
Adicionar watchpoints de intervalo. Esses são acessíveis por meio dos seguintes novos comandos CLI do depurador: rw: watchr minAddr maxAddr [cond]
r: watchr/r minAddr maxAddr [cond]
w: watchr/w minAddr maxAddr [cond]
c: watchr/c minAddr maxAddr [cond]
Isso também torna todos os watchpoints watchpoints de intervalo internamente. Resultados preliminares de benchmark: Tempo para rodar 10000 quadros de Megaman Battle Network 1 (U) com um watchpoint de escrita configurado em 0x02000000 em milissegundos, 10 execuções cada: controle (sem watchpoint):
[4184, 4185, 4197, 4207, 4220, 4178, 4304, 4226, 4234, 4292]
média = 4223, desvio padrão = 43.95 antigo (watchpoint de endereço único):
[4743, 4685, 4679, 4670, 4782, 4704, 4698, 4875, 4746, 4718]
média = 4730, desvio padrão = 61.67 novo (watchpoint de intervalo):
[4683, 4691, 4693, 4706, 4782, 4674, 4746, 4768, 4770, 4776]
média = 4728, desvio padrão = 43.36 Debugger: Adicionar mais aliases de intervalo de watch-range
GB MBC: Dividir implementações de MBC em arquivos
README: Adicionar MBC30 à lista de mapeadores suportados (fecha #2686)
Qt: Corrigir função de escaneamento de e-Reader com reentrada (corrige #2693)
GB MBC: Melhorar levemente a heurística de Li Cheng
GB MBC: Adicionar suporte a GGB-81
GB Serialize: Não escrever BGP/OBP ao carregar o estado SCGB (corrige #2694)
Qt: Acompanhar nome do preset de pslette atual (corrige #2680)
Qt: Corrigir Discord Rich Presence se o título do jogo for excessivamente longo (corrige #2697)
macOS: Corrigir build moderno com libepoxy (corrige #2700)
3DS: Permitir carregar ROM de romfs se incluído
Vita: Permitir carregar ROM de app0 se incluído
mGUI: Refatoração de código comum
Updater: Corrigir mUpdaterGetUpdateForChannel
Util: Adicionar gerador PS Vita SFO
Qt: Mover função de filtro de ROM para utilitários
VFS: Corrigir minizip escrevendo 0 no sucesso em vez do tamanho
CMake: Adicionar outro aviso K&R à lista de -Werror
Qt: Adicionar UI de forwarder e backend para Vita (fecha #2267)
Qt: Corrigir build no Qt 5.9 - 5.14
Qt: Pagar parte da dívida técnica do VFile
Qt: Adicionar chamada para diretório de cache, para futura expansão
Qt: Dividir algumas funções auxiliares
Qt: Eu escrevi uma função para isso...
Qt: Primeira versão do gerador de forwarder para 3DS
Qt: Corrigir build
Qt: Ok, build corrigido, mais uma vez
Qt: Suporte inicial para forwarder-kit
Qt: Limpeza
GBA: Verificar ponto de entrada ELF contra o cabeçalho ROM (#2714)
Qt: Adicionar barra de progresso para downloads do forwarder builder
Qt: Usar filtros para tipos de arquivos do forwarder
Qt: Usar uma string UA para todas as requisições HTTP
Qt: Refatorar código comum de geradores
Qt: Adicionar construção de forwarder a partir de um arquivo base específico
GBA Video: Ignorar fundos desativados como alvo de blend OBJ (corrige #2489)
GBA: Corrigir reinicialização do estado IRQ das teclas (corrige #2716)
CHANGES: Derramar frango
Qt: Mover proxy OpenGL para sua própria thread (corrige #2493)
GBA Video: Desabilitar blend do BG target 1 quando houver blend de OBJ (corrige #2722)
Qt: Não reabilitar sincronização se os modos de link do GBA não forem os mesmos (corrige #2044)
GB SIO: Corrigir transferência bidirecional começando
Qt: Melhorar o manuseio da sincronização de multiplayer (corrige #2720)
Qt: Corrigir build em versões mais antigas do Qt
GB Audio: Corrigir canais 1/2 não tocando ao reiniciar o volume (corrige #2614)
Libretro: Adicionar novamente áudio overkill ausente (corrige #2734)
GBA DMA: Otimização menor da função warm
GB Audio: Corrigir volume do canal 3 sendo alterado entre amostras (corrige #1896)
Qt: Tentar corrigir build 5.8
GB Audio: Inicializar valor de janela do ch3
GB Memory: Na verdade, HDMAs devem começar quando a LCD está desligada (corrige #2662)
GB Audio: Corrigir sequência de boot
GB Audio: Corrigir atualização de canais que não sejam 2 ao escrever NR5x
Qt: Corrigir criação de contexto proxy no Nvidia (corrige #2746)
Qt: Tentativa de correção para falha ao alternar o renderizador
Qt: Corrigir carregamento/descarregamento de shaders
GB IO: Corrigir BANK não inicializado após mudança recente
Verificar gba->mbVf para forçar a omissão do BIOS (#2754)
Qt: Refatorar e corrigir dequeueAll para que o modo keep também mantenha o último tex desenhado
GBA: Limpar detecção de pular BIOS; adicionar segunda entrada de multiboot
GBA Video: Corrigir #2489 no renderizador OpenGL
Qt: glFlush é (felizmente) suficiente aqui
Qt: Começar lista de bugs OpenGL com glFlush cross-thread no Windows (corrige #2761)
GBA Cheats: Corrigir problemas detectando cheats não criptografados (corrige #2724)
Qt: Corrigir erro de digitação na UI do Forwarder (#2764)
GBA Cheats: Limpar variáveis redundantes
Qt: Corrigir indentação
GB BIOS: Incluir tempo nos casos degenerados de ArcTan2 (corrige #2763)
Scripting: Refatorar código de teste
Todos: Adicionar mais produtos de build ao gitignore
Qt: Corrigir inicialização da informação de revisão de atualização
Qt: Refazer heurística de detecção de branch estável
GB Audio: Corrigir regressão na atualização de canais com NR5x (corrige #2775)
Scripting: Corrigir cabeçalho interno de socket
Qt: Corrigir pequeno vazamento
Qt: Trabalhar em torno do problema Mesa 8035
CHANGES: Atualização para 0.10.1
Corrigir ano da data de lançamento para 0.10.1 para 2023 (#2783)
Qt: Tentar encurtar painel de configurações do Game Boy
GBA Memory: Fazer com que os stalls de acesso à VRAM se apliquem apenas à BG RAM
Qt: Adicionar crash do ig4icd32 ao banco de dados de bugs OpenGL (ver #2136)
Core: Finalizar API de entrada pré-revamp
Qt: Começar a dividir InputController
Qt: Começar a adicionar melhores abstrações de entrada
Qt: Mover eventos de Gamepad para input/
Qt: Começar a separar GBAKey
Qt: Finalizar separação do driver de entrada
Qt: Mais limpeza de entrada
Mesclar branch ‘revamp/qt-input’
Util: Adicionar algumas implementações de vetor base
Util: Adicionar verificação de limites de depuração para vetor
Qt: Mais limpeza de API
Scripting: Corrigir macro mSCRIPT_TYPE_MS_PCS
Scripting: Adicionar alguns testes de nulidade
Qt: Definir drivers de gamepad e sensor padrão
Scripting: Adicionar exportação de tipo ausente
Scripting: Corrigir nulidade no Lua
Scripting: Corrigir console de script
Scripting: Permitir membros de mScriptList, melhorando os testes
Scripting: Permitir weakrefs marcados para auto-coleta
Qt: Corrigir procura de driver de gamepad
Qt: Corrigir falha ao tentar usar OpenGL 2.1 a 3.1 (corrige #2794)
Qt: Incluir Wayland QPA no AppImage (corrige #2796)
Qt: mInputMapHat retorna uma máscara, não uma única tecla (corrige #2800)
Qt: Estes retornam várias teclas
GBA Memory: Modernizar nomes de constantes
Scripting: Permitir acesso a struct para strings inline
Wii: Corrigir build
Qt: Desabilitar sincronização enquanto executa scripts da thread principal (corrige #2738)
Scripting: Permitir acompanhamento básico de ponteiro
Scripting: Adicionar argumentos de callback
Scripting: Adicionar entrada base, suportando eventos de tecla
Scripting: Implementar números de sequência de entrada
Qt: Começar a conectar eventos de entrada aos scripts
Scripting: Migrar algumas coisas do docgen para libmgba
Scripting: Suporte básico a gamepad
Qt: Conectar gamepad aos scripts
Res: Adicionar demo de gamepad de exemplo
Scripting: Expor nome do gamepad para scripts
Scripting: Exportar documentação da API de entrada
Core: Exportar dimensões de captura de tela em extdata do salvestate
Qt: Corrigir tamanhos de pré-visualização do salvestate com diferentes escalas (corrige #2560)
mGUI: Melhorar manuseio de screenshot de salvestate
Switch: Melhorar manuseio de textura de captura de tela
Qt: Agora é 2023
Core: Permitir enviar requisições de thread para um core travado (corrige #2785)
CHANGES: Relatar bug errado
Qt: Corrigir hotplugging de controlador
Qt: Atualizar tradução (Português (Brasil))
Tradução: mGBA/Qt
URL de Tradução: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
Qt: Atualizar tradução (Alemão)
Tradução: mGBA/Qt
URL de Tradução: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
Qt: Atualizar tradução (Russo)
Tradução: mGBA/Qt
URL de Tradução: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
Qt: Atualizar tradução (Polonês)
Tradução: mGBA/Qt
URL de Tradução: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
Qt: Atualizar tradução (Chinês Simplificado)
Tradução: mGBA/Qt
URL de Tradução: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
Qt: Atualizar tradução (Coreano)
Tradução: mGBA/Qt
URL de Tradução: https://hosted.weblate.org/projects/mgba/mgba-qt/ko/
Qt: Atualizar tradução (Espanhol)
Tradução: mGBA/Qt
URL de Tradução: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
Qt: Atualizar tradução (Japonês)
Tradução: mGBA/Qt
URL de Tradução: https://hosted.weblate.org/projects/mgba/mgba-qt/ja/
Qt: Adicionada tradução (Sueco)
Tradução: mGBA/Qt
URL de Tradução: https://hosted.weblate.org/projects/mgba/mgba-qt/sv/
Qt: Atualizar traduções
Qt: Desvincular o apóstrofo do botão GameShark por padrão
Qt: Parar de consumir eventos de teclas booleanas de ação (corrige #2636)
Qt: Atualizar traduções
Áudio GBA: Corrigir deserialização inadequada dos registradores de áudio do GB (corrige #2793)
ALTERAÇÕES: Adicionar API de entrada
SIO GBA: Corrigir valor do pino SI do SIOCNT após anexar o jogador 2 (corrige #2805)
Script: Corrigir vazamento de tabelas passadas do Lua
Script: Corrigir UAF de chave de string em tabela
Qt: Ocultar o botão ? na visualização do forwarder
Qt: Adicionar filtro para selecionar imagens do forwarder
Qt: Vincular o QJpegPlugin no Windows estático
Scripting: Adicionar input:activeKeys para obter as teclas do teclado ativas atualmente
Scripting: Limpar teclas ao desativar a janela
Timers GBA: Os timers em cascata não disparam quando desabilitados (corrige #2812)
Util: Corrigir algumas práticas recomendadas de macro
SIO GBA: Corrigir bit SI não conectado no modo normal do SIOCNT (corrige #2810)
SIO GBA: Transferências no modo normal sem clock não devem ser concluídas (corrige #2811)
SIO GBA: Modernização menor do código
Scripting: Permitir que o Lua passe tabelas aninhadas para o subsistema de script
Scripting: Corrigir desembrulho de tabela
Scripting: Remover macros de tipo não utilizadas
Scripting: Corrigir obtenção de objetos
Scripting: Adicionar WTABLE
Scripting: Tipos específicos de wrapper não devem ser comparados como iguais ao tipo encapsulado
Scripting: Adicionar “drill-down” de casts de wrapper
Scripting: Adicionar setters sobrecarregáveis por tipo
Scripting: Adicionar tipo falso “NUL” para correspondência de tipo
Scripting: Limpeza de contagem de referências
Scripting: Corrigir passagem de mSTList/Tabela do Lua de volta para o runtime
Scripting: Limpeza de avisos
Scripting: Adicionar esqueleto da API de armazenamento
CMake: Adicionar dependência opcional json-c
Scripting: Trabalho inicial de serialização
Scripting: Trabalho inicial de desserialização
Scripting: Mais testes de armazenamento
Scripting: Adicionar descarregamento/recarregamento
Qt: Adicionar integração de armazenamento no script
Scripting: Adicionar documentação para armazenamento e buckets
Mesclar branch ‘feature/scripting-storage’
Scripting: Vários consertos de compilação
ALTERAÇÕES: Adicionar menção à API de armazenamento
Scripting: Corrigir testes
Scripting: Corrigir build sem json-c
Scripting: Adicionar método para ativar/desativar autoflush de bucket de armazenamento
Qt: Ficar cansado de enviar commits para corrigir o build sem json-c
Qt: Corrigir a quantidade máxima de jogadores conectados por plataforma (corrige #2807)
Qt: Desabilitar tentativa de vinculação entre plataformas incompatíveis (corrige #2702)
README: Atualizações menores
Qt: Corrigir nomes das teclas modificadoras no editor de atalhos (corrige #2817)
OpenGL: Corrigir calloc/memcpy nulo
Res: Portar hq2x do SameBoy
OpenGL: Exportar tamanho do buffer de saída para o shader
Res: Portar OmniScale do SameBoy
Scripting: Nomes de buckets não podem começar com “.”
Res: Corrigir grafia do nome
Hook: Chamar callback de frame na conexão do socket
Qt: Corrigir uma série de casos extremos com visualizadores gráficos (corrige #2827)
Qt: Corrigir carregamento de script deixando a sincronização desabilitada
Res: Adicionar ícones de plataforma SGB
Scripting: Adicionar WSAEWOULDBLOCK à tabela de tradução de erros
ALTERAÇÕES: Atualizar
Qt: Alterar automaticamente a extensão do arquivo de vídeo conforme apropriado
Libretro: Corrigir constante não declarada
A constante SIZE_CART_FLASH1M foi renomeada para GBA_SIZE_FLASH1M em 8545271
Esses vestígios fazem com que o build do Libretro falhe, ao executar:
go
Copiar código
cmake -DBUILD_LIBRETRO=ON .. && make
Windows: Corrigir build clang-cl
Todos: Ajustes menores de aviso
GBA Overrides: Marcar ASL* como sem salvamento (corrige #2843)
CMake: Corrigir problemas de configuração no clang
Qt: Limpeza de auto -> auto&
Qt: Corrigir retroceder buffer
Savedata GBA: Corrigir verificação de sanidade no carregamento
OpenGL: Corrigir vazamento de memória no caminho de falha
Qt: Corrigir falha ao carregar shader
Memória GB: Corrigir possível falha ao acessar diretamente SRAM inválido
Core: Adicionar va_end ausente
GB: Corrigir possível double-free da memória ROM não pristina
Todos: Corrigir manuseio de limites strncat
Feature: Corrigir limpeza No-Intro em erros iniciais
Core: Corrigir manuseio de memória de string GBK no carregamento de .cht
Feature: Inicializar z_stream de maneira mais limpa
Core: Tipos de log negativos são inválidos
Qt: Inicializar membros log-to
SIO GBA: Quem escreveu esse código? Ah, sou eu
Qt: Inicializar Shortcut::m_direction
Qt: Melhor verificação de divisão por zero de fps
Util: Corrigir possível vazamento de socket
Qt: Corrigir possível vazamento de handle de diretório
VFS: Melhorar manuseio de invariantes zip
Scripting: Corrigir possível falha se um bucket não puder ser aberto
Vídeo GB: Implementar ordenação de sprite no estilo DMG
Core: Revisar API de tamanho/informações da tela
Vídeo: Começar a revisar a API de VideoBackend
Qt: Começar a adicionar suporte a imagem de fundo/bezel
Util: Adicionar algumas operações básicas de geometria
OpenGL: Adicionar renderização de borda básica ao driver GL 1.x
OpenGL: Adicionar renderização de borda básica ao driver GL moderno
Qt: Perguntar ao display, não ao core, qual deve ser o tamanho
SDL: Refatorar uso do VideoBackend para reduzir os backends GL
SDL: Renderização de borda
Savedata GBA: Corrigir verificação falhada
Qt: Corrigir tela preta ao iniciar com um jogo (corrige #2781)
Qt: Corrigir problema de terminação de buffer
GDB: Habilitar NODELAY nas conexões do GDB stub
GDB: Ugh
Memória GBA: Jogar mais gentilmente com CSE
Qt: Agradar o Coverity um pouco
Core: Corrigir macros M_*8
Core: Uma string de configuração vazia é um valor de configuração nulo
Core: Tratar caminhos relativos para saves, capturas de tela, etc de maneira consistente (corrige #2826)
Qt: Corrigir OSD no macOS moderno (corrige #2736)
OpenGL: Corrigir camadas que não se recenterizam corretamente quando a escala é reduzida
OpenGL: Separar tamanhos da imagem e da camada desenhada para a imagem
Mesclar branch ‘feature/canvas’
Util: Namespace de estruturas de geometria para evitar conflitos
Util: Corrigir build de teste
Scripting: Corrigir hash de escalares em diferentes layouts de união, por exemplo, big endian
Scripting: Retornar o ID de callback correto de socket.add
Util: Mover algumas funções de imagem
Memória GBA: Limpar ligeiramente a função de stall
Util: Começar as APIs de mImage/mColor e testes
GB MBC: Corrigir falha com NT Old 2 se o callback de rumble não estiver instalado
GBA Overrides: Corrigir salvamento em PMD:RRT (JP) (corrige #2862)
Util: Carregar PNGs de 16 bits para 8 bits
Áudio GBA: Limpar estado de áudio do GB quando desabilitado
Util: Adicionar API de carregamento de imagem
Qt: Trocar saves do P1 e outro jogador se P1 o carregou primeiro (fecha #2750)
Util: Corrigir build sem USE_PNG
Qt: Corrigir estado marcado da opção de mudo no menu de carga (corrige #2701)
Scripting: Tornar mScriptEngineExportDocNamespace responsável
Scripting: Adicionar tabela de script local específica do Lua para informações sobre o script
Scripting: Adicionar membros de estrutura somente leitura
Scripting: Organizar os cabeçalhos públicos
Scripting: Permitir que funções tenham argumentos padrão
Util: Corrigir vazamento de memória em mImageLoadVF
Util: Corrigir extração do canal superior de formatos 565
Util: Adicionar conversão de formato de imagem
Util: Adicionar salvamento de mImage
Util: Rejeitar imagens com largura/altura 0
Util: Mais funções de criação de imagem
Scripting: Separar liberação de objetos e destruição
Scripting: Exportar API de imagem atual
Core: Adicionar binding screenshotToImage
Util: Refatorar algumas coisas para serem usadas depois
Util: Adicionar mRectangleIntersection
Util: Adicionar blit básico de mImage sem blending
Util: Adicionar funções de composição mImage baseadas em alfa
Scripting: Exportar funções de composição de imagem
Util: Avaliar parcialmente macros utilitárias do pré-processador para ajudar a MSVC mastigar
OpenGL: Fazer backends lidarem com limites de frame de origem não zero
Scripting: Exportar algumas informações do sistema
Scripting: Corrigir algumas manipulações de string do Lua
e-Reader GBA: Melhorar o manuseio de erros no carregamento de imagens
Util: Agradar um pouco o coverity
Qt: Mais agradando o coverity
Core: Corrigir vazamentos de memória em mCacheSet
FFmpeg: Corrigir arredondamento de tamanho de buffer para codificação de áudio
FFmpeg: Forçar taxa de amostragem mais baixa para codecs que não suportam altas taxas (corrige #2869)
Scripting: Re-corrigir algumas manipulações de string do Lua (corrige #2877)
Scripting: Corrigir liberação precoce de conteúdos coeridos em listas (corrige #2881)
Vita: Contornar implementação quebrada de mktime no SDK do Vita (corrige #2876)
.gitignore: Atualizar
3DS: Limpeza de código
Core: Limpeza de código
Res: Limpeza de código
CMake: Realmente usar -fwrapv
VFS: Realmente fflush para fazer writeback
GB Serialize: Adicionar estado ausente da Pocket Cam para os savestates
macOS: Declarar uso da câmera no Info.plist
Debugger: Enviar informações de flags para o registrador cpsr
GBA SIO: Desabilitar o SIO deve cancelar transferências pendentes (corrige #2537)
Res: Usar uma imagem um pouco maior para o demo de logo-bounce
GB I/O: Ler o valor SVBK correto após escrever 0 (corrige #2921)
Depurador: Separar funcionalidades do depurador em módulos
Depurador: Tornar os itens de depuração criados, como pontos de interrupção, de propriedade dos módulos
Depurador: Permitir anexar múltiplos módulos de depuração independentemente
Depurador: Adicionar polling no depurador para evitar bloqueio
GBA: Remover variável não utilizada
ARM Depurador: Corrigir variável de pilha não inicializada
Util: Adicionar macro THREAD_EXIT
Bug na UI: mGBA não atualiza capturas de tela de estado salvo até mover o cursor sobre outros estados salvos (#2929)
Núcleo: Reanexando o mesmo depurador é uma operação sem efeito
Núcleo: Tentar abrir o arquivo de símbolos apenas se o diretório base existir
CMake: Adicionar -Werror=incompatible-pointer-types
CMake: Corrigir compilação no clang
3DS: Corrigir compilação
Núcleo: Remover inclusão duplicada
Depurador: Preencher segmento na entrada do depurador
Depurador: Corrigir gravação em segmento específico no depurador de linha de comando
Depurador: Suporte para chamadas em múltiplos depuradores por ponto de interrupção
Scripting: Adicionar integração com o depurador
Núcleo: Adicionar função getPeripheral
Tudo: Corrigir vários avisos
Scripting: Corrigir compilação contra Lua 5.2
Scripting: Expor callback de vibração
Qt: Reduzir o tamanho mínimo dos seletores de cores da paleta do GB
Qt: Adicionar exportação de SAV + RTC de saves do GBA no conversor de saves para dados stripRTC
Scripting: Desanexar periféricos de adaptadores ao desanexar o adaptador
Scripting: Adicionar suporte para callback de rotação
Scripting: Corrigir validade da documentação gerada
Scripting: Atualizar estilo da documentação
GBA Áudio: Corrigir desvio de tempo de amostra ao mudar o intervalo de amostras
Scripting: Adicionar suporte ao callback do sensor de luz
Res: Adicionar script de demonstração do sensor de luz
Qt: Corrigir possível conflito no contexto de script (corrige #2948)
GBA Áudio: Corrigir inicialização da RAM da onda do canal 3 (corrige #2947)
GB: Adicionar BIOS CGB0 ausente para detecção de modelo
GB: Prevenir o uso de BIOS incompatíveis em modelos diferentes
Núcleo: Começar a modernizar a API de substituição de jogos (corrige #2963)
ARM: Remover força de alinhamento obsoleta em bx pc (corrige #2964)
GB Áudio: Corrigir reinício do canal 1 ao aplicar sweep após parada (corrige #2965)
GB Áudio: Atualizar os canais 1/2 irregularmente se silencioso
GB Áudio: Forçar atualização dos canais 1/2 se atualizando a partir de uma gravação de registro
Util: Adicionar função ctz32
GB Áudio: Implementação mais precisa do LFSR para o canal de ruído
Qt: Adicionar exportação de SAV + RTC de saves do GB no conversor de saves para dados stripRTC
GBA SIO: Corrigir semânticas do modo normal de SI/SO (corrige #2925)
GBA: Exceção não tratada de bkpt deve ser tratada como uma exceção indefinida
GBA BIOS: Adicionar compatibilidade DACS ao BIOS HLE (fecha #2972)
ARM: A instrução de “fake” bpkt não deve consumir ciclos (corrige #2551)
GBA: Corrigir inicialização de hasOverride
FFmpeg: Corrigir inicialização de isampleRate
Qt: Deixar a função getOpenFileName aceitar um caminho inicial opcional
Qt: Distribuir shaders como arquivos compactados em builds compatíveis
Qt: Correção de const correctness
Qt: Limpar a conexão multiplayer ao anexar/desanexar
Atualizador: Corrigir sobrescrição de diretórios com arquivos
Qt: Corrigir vazamento se falhar ao carregar um arquivo de save
Qt: Passar algumas informações de caminho para o CoreController
Qt: Lidar separadamente com múltiplos arquivos de save para jogos diferentes (corrige #2887)
Atualizador: Corrigir sobrescrição de arquivos com diretórios
Util: Corrigir cálculo de mistura alfa
Util: Começar a implementação do mPainter com desenho de retângulo
GBA GPIO: Corrigir escala e orientação do tilt (corrige #2703)
GUI: Adicionar inclusão ausente
Atualizador: Corrigir compilação MSVC
Util: Adicionar mPainterDrawLine
Util: Adicionar mPainterDrawCircle
Qt: Atualizar tradução (coreano)
Qt: Atualizar tradução (espanhol)
Qt: Atualizar tradução (húngaro)
Qt: Atualizar tradução (alemão)
Qt: Adicionar tradução (português)
Qt: Atualizar tradução (japonês)
Qt: Atualizar tradução (polonês)
Qt: Atualizar tradução (chinês simplificado)
Qt: Atualizar tradução (português do Brasil)
Qt: Reabilitar sincronização para janelas multiplayer não conectadas (corrige #2974)
Qt: Remover atalho mal orientado para “duplo clique para tela cheia” (fecha #2632)
Qt: Marcar opções de codificação de vídeo como não traduzíveis
Qt: Corrigir gdb na inicialização (corrige #2986)
Qt: Corrigir falha ao entrar com comandos no depurador desanexado (corrige #2987)
Qt: Corrigir configurações de mudo não sendo carregadas na tela de configurações (corrige #2990)
ARM: Corrigir aviso
Scripting: Silenciar avisos
Util: Corrigir avisos
OpenGL: Corrigir avisos
Scripting: Corrigir aviso de arredondamento
Util: Corrigir aviso quando libpng está desabilitado
Qt: Corrigir erros de compilação relacionados à exibição no Qt6
Qt: Corrigir erros de compilação relacionados à entrada no Qt6
Qt: Garantir que o conjunto de ações seja limpo antes de (re)construir
Qt: Alterar semântica de Action* para std::shared_ptr
Qt: Forçar tipo de superfície para OpenGL no DisplayGL
Qt: Corrigir problemas restantes de compilação Qt 6 não-multimídia
Qt: Remover cópias de shared_ptr em loops
GBA Áudio: Corrigir problemas de posição de amostra quando a taxa muda (corrige #3006)
GB I/O: Corrigir condições de gatilho de IRQ de escrita no STAT (corrige #2501)
Vita: Corrigir configuração de câmera não aparecendo (corrige #3012)
GBA Núcleo: Corrigir descritor de bloco de memória Flash 1M
Depurador: Corrigir rastreamento
GBA I/O: Melhorar legibilidade de constantes longas
GBA I/O: Mais melhorias de legibilidade
GBA I/O: Prefixar registradores GBA com GBA_REG_
Núcleo: Corrigir UAF potencial ao carregar um ROM em um VDir
Qt: O SaveConverter não usa o controlador
Qt: Mover o fechamento automático de subview baseado em controlador
GBA: Garantir que o descarregamento de um ROM libere o buffer AGBPrint
GB Núcleo: Corrigir informações de tamanho exportadas
GBA Núcleo: Exportar tamanho reduzido da região do ROM GBA se o ROM for menor que 32 MiB
Depurador: Limpar violação de camada
GB, GBA: Mover cabeçalhos do depurador CLI
GBA Núcleo: Adicionar blocos ausentes
ARM, SM83: Verificar eventos antes e depois de um passo único
Depurador: Suporte inicial ao logger de acesso de memória
Depurador: Mover pesquisa de flag específica da plataforma para mDebuggerPlatform
Qt: Expandir funcionalidade do filtro de ROM
Qt: Adicionar exportação de ROM com sombra
Scripting: Corrigir erro de log no console
Scripting: Simplificar implementação do console
Scripting: Limpeza de código
Scripting: Melhorar relatórios de erro
Depurador: Corrigir valor do PC quando lido com ‘p’ em vez de ‘g’ no pacote
VFS: Modernizar implementação de VDeviceList
Vita: Adicionar suporte aos pontos de montagem imc0 e xmc0
Vita: Usar sceIoPwrite em VFileSce.sync
Qt: Corrigir regressão de thread de evento de entrada (corrige #3116)
GBA SIO: Corrigir gravações no bit 7 de SIOCNT no modo MULTI em GBAs secundários (corrige #3110)
OpenGL: Marcar o shader interframe como sujo também (corrige #3099)
Qt: Lembrar de definir m_dims para o retorno antecipado
GBA Debugger: Definir endereço de loopback como padrão
Qt GDB Window: Definir endereço de loopback como padrão
Core: Adicionar suporte para especificar um diretório portátil arbitrário
SDL: Refatorar o recentering da camada, corrigir para GB
Core: Migrar TLS de contexto de thread para sua própria chave
Qt: Trocar VideoProxy para usar QMutexLocker
Qt: Passar contexto de log para a thread do proxy de vídeo (corrige #3095)
Util: Corrigir vazamento em SfoWrite
VFS: Corrigir UB
Qt: Abater um pouco da dívida técnica de MemoryAccessLogView
Qt: Usar && em alguns lugares conforme recomendado pelo coverity
Adicionar uma opção –script para carregar scripts automaticamente na inicialização
Updater: Corrigir atualização de appimage através de sistemas de arquivos
Qt: Corrigir variável não inicializada
Qt: Corrigir possível desreferência nula
Qt: Coverity reclama sobre isso, mas não sei se importa
Qt: Silenciar coverity um pouco, apesar de isso provavelmente não fazer nada
Qt: Tentar corrigir compilação com MSVC
Qt: Silenciar coverity um pouco mais
CMake: Remover print de depuração restante
Qt: Melhorar suporte a OpenGLES e limpar a maze de ifdefs
Core: Mover a coalescência do estado de retroceder para mCoreRewindRestore
CMake: Compilar com mingw-w64 e Qt6
Corrigir avisos de compilação
Windows: Corrigir problemas de compilação do último commit
3DS: Implementar escalonamento bilinear 3x e torná-lo o padrão – O método antigo era 2x. O 3x parece mais nítido no modo de ajuste de aspecto em não-O2DS, pois a largura é um número inteiro de pixels de meia largura. Como a razão de escalonamento resultante é 3x:1,5x, isso gera resultados muito bons, embora possa ser nítido demais para seu gosto (os resultados podem variar). Não há tanta diferença no modo de ajuste de tela
Remover o render target duplicado, pois não era necessário
Corrigir bug no menu que permitia selecionar estados inválidos quando wrap=true
GB: Corrigir coerção de tipo
SDL: Usar SDL_GameControllerRumble em vez de SDL_JoystickRumble, se disponível
GB Audio: Corrigir temporização de envelope de áudio resetando com muita frequência (corrige #3164)
Scripting: Exportar nova função de mascaramento de imagem
Qt: Reanexar backend de vídeo ao resetar scripts (corrige #3167)
Core: Limpar o uso de mutex de estado de thread
Util: Limpeza de código para remover código inacessível
Qt: Fazer o InputController compilar com Qt6, câmeras ainda não funcionam
Qt: Portar AudioProcessorQt para Qt6
Qt: Fazer o VideoDumper compilar com Qt6, câmeras ainda não funcionam
Qt: Conectar câmeras no Qt6
Qt: Corrigir compilação
Qt: Corrigir compilação não-multimídia
GBA Savedata: Prefixar constantes e nome do tipo SavedataType
GB, GBA: Mover structs de override para API pública
GBA: Corrigir compilação
GBA: Remover campo legado “mirroring” de overrides
GBA: Mover GBAHardwareDevice para API pública
GB, GBA: Mover mais coisas adjacentes a overrides para API pública
Qt: Corrigir compilação no Qt6
Qt: Corrigir subindo de underrun com Qt6
Qt: Habilitar compilação contra Qt6 por padrão
Scripting: Tentar eliminar a exigência de único lua_State
Scripting: Adicionar sobrecargas, sobrecarga éKeyActive
Qt: Na verdade, carregar os padrões novamente
SDL: Começar a usar SDL_GameController para seu propósito pretendido
Qt: Trocar uso do controlador SDL de Joystick para GameController
Qt: Atualizar tradução (Espanhol) – mGBA/Qt
Qt: Atualizar tradução (Espanhol – América Latina) – mGBA/Qt
Qt: Atualizar tradução (Chinês Simplificado) – mGBA/Qt
Qt: Atualizar tradução (Chinês Tradicional) – mGBA/Qt
Qt: Atualizar tradução (Russo) – mGBA/Qt
Qt: Atualizar tradução (Português (Brasil)) – mGBA/Qt
Qt: Atualizar tradução (Francês) – mGBA/Qt
Qt: Atualizar tradução (Italiano) – mGBA/Qt
Qt: Atualizar tradução (Polonês) – mGBA/Qt
Qt: Atualizar tradução (Turco) – mGBA/Qt
Qt: Atualizar tradução (Sueco) – mGBA/Qt
Qt: Atualizar tradução (Alemão) – mGBA/Qt
Qt: Atualizar tradução (Chinês Simplificado) – mGBA/Qt
Qt: Corrigir como alguns idiomas são exibidos nas configurações
Qt: Atualizar traduções
GBA: Corrigir emulação de janela no OpenGL (corrige #1945)
Scripting: Expor tabela de informações para callbacks de breakpoints/watchpoints (fecha #3369)
GBA: Corrigir leitura de BIOS bloqueada no boot
Comentários