Emulation fixes:ARM: Fix timing on Thumb shift instructionsGB: Fix GBC game registers after skipping BIOSGB MBC: Support 4MB MBC30 ROMs (fixes #1713)GB Video: Fix BGPS value after skipping BIOS (fixes #1717)GBA: Add missing RTC overrides for Legendz gamesGBA BIOS: Reset renderer when RegisterRamReset called (fixes #1756)GBA SIO: Fix Multiplayer busy bitGBA SIO: Fix double-unloading active driverGBA Timers: Fix deserializing count-up timersGBA Video: Fix mosaic objects drawing past the end (fixes #1702)GBA Video: Fix disabling OBJWIN in GL renderer (fixes #1759)GBA Video: Add missing parts of 256-color mode 0 mosaic (fixes #1701)GBA Video: Fix double-size OBJ wrapping in GL renderer (fixes #1712)GBA Video: Simplify sprite cycle counting (fixes #1279)GBA Video: Fix sprite/backdrop blending regressionOther fixes:3DS: Fix framelimiter on newer citro3d (fixes #1771)ARM: Fix disassembling of several S-type instructions (fixes #1778)ARM Debugger: Clear low bit on breakpoint addresses (fixes #1764)CMake: Always use devkitPro toolchain when applicable (fixes #1755)Core: Fix ELF loading regression (fixes #1669)Core: Fix crash modifying hash table entry (fixes #1673)GB Video: Fix some cases where SGB border doesn’t draw to multi-buffersGBA: Reject incorrectly sized BIOSesGBA: Break infinite loop for 0-frame mVLs (fixes #1723)Qt: Fix OpenGL 2.1 support (fixes #1678)Qt: Fix unmapping zipped ROM (fixes #1777)Misc:3DS: Clean up legacy initialization (fixes #1768)GBA Serialize: Only flunk BIOS check if official BIOS was expectedQt: Disable Replace ROM option when no game loadedQt: Defer texture updates until frame is drawn (fixes #1590)Qt: Set icon for Discord Rich PresenceQt: Show a warning when save file can’t be opened