summaryrefslogtreecommitdiff
path: root/Source/Core
AgeCommit message (Collapse)Author
2026-03-21VulkanContext: Drop support for BUG_BROKEN_DISCARD_WITH_EARLY_Z workaroundOatmealDome
2026-03-21UberShaderPixel: Fix missing check for framebuffer fetch for ↵OatmealDome
BUG_BROKEN_DISCARD_WITH_EARLY_Z workaround
2026-03-21DriverDetails: Mark BUG_BROKEN_DISCARD_WITH_EARLY_Z as fixed in macOS 14.0+OatmealDome
2026-03-21DriverDetails: Use macOS version as the driver versionOatmealDome
2026-03-21CommonFuncsObjC: Make function to fetch the current macOS version commonOatmealDome
2026-03-21VideoCommon: Fix no mips hackTellowKrinkle
2026-03-20Remove AchievementManager ChangeDisc call from EjectLilly Jade Katrin
This was causing the achievement runtime to shutdown in the middle of a disc change even if the resulting disc was valid, which was causing achievements like the ones in Resident Evil for completing the entire game in a single session to break midway through. Also adds a log to notify the user when the disc change is invalid (e.g. different game inserted).
2026-03-19State: Increase STATE_VERSION.Jordan Woyak
2026-03-19Triforce: ICCardReader and DeckReader improvements.Jordan Woyak
Significantly rewrote ICCardReader and DeckReader functionality. Dual IC card slots of VirtuaStriker4 + Gekitou now work. IC cards are automatically inserted/ejected in VirtuaStriker4 + Gekitou + Avalon. IC card data is saved to a file. Avalon deck contents are loaded from a JSON file. Added IOPorts class to handle bespoke GPIO functionality.
2026-03-18Triforce/SerialDevice: Add PassThroughTxBytes function and some minor cleanups.Jordan Woyak
2026-03-18MagneticCardReader: Simplify checksum logic.Jordan Woyak
2026-03-18SI_DeviceAMBaseboard: Remove "card system" from JVS-IO board features. It ↵Jordan Woyak
doesn't seem to be accurate (or related to the Magnetic/IC cards) and it causes warnings in the JVSIOCommand::CoinInput handler.
2026-03-18Merge pull request #14237 from JulienBernard3383279/gcc-adapter-hotswapJordan Woyak
GC adapter fixes (hotplugging, claim retries, Dolphin shutdown)
2026-03-18AMMediaboard: Prevent MediaBoardRange end from exceeding the underlying ↵Jordan Woyak
buffer size.
2026-03-18AMMediaboard: Add a GetSpanForMediaboardAddress function to eliminate the ↵Jordan Woyak
hardcoded network buffer base addresses.
2026-03-18Merge pull request #14400 from sepalani/tri-fd-genJordan Woyak
AMMediaboard: Change the way socket descriptors are assigned
2026-03-17Merge pull request #14481 from JosJuice/retroachievements-change-discOatmealDome
RetroAchievements: Block loading discs that don't match current title
2026-03-17Merge pull request #14480 from JosJuice/page-table-fastmem-settingJMC47
Disable page table fastmem for TimeSplitters: Future Perfect
2026-03-17RetroAchievements: Block loading discs that don't match current titleJosJuice
2026-03-17Merge pull request #14478 from JosJuice/wii-menu-headacheJosJuice
Move achievements code out of DVDInterface::SetDisc
2026-03-17Merge pull request #14396 from cscd98/fmt-fixDentomologist
fmt: replace <fmt/base.h> with <fmt/format.h> as not available until fmt>=11
2026-03-17Core: Add INI-only setting for page table fastmemJosJuice
2026-03-17Move achievements code out of DVDInterface::SetDiscJosJuice
This should stop AchievementManager::LoadGame from being called for the default ISO when CBoot::BootUp is booting something other than a disc or IPL (most notably, the Wii Menu), while still detecting all disc changes that happen while a disc game is running.
2026-03-16Merge pull request #14474 from ↵JosJuice
Dentomologist/fifoplayer_fix_screenshot_hang_during_playback FifoPlayer: Fix hang when taking screenshot during FIFO log playback
2026-03-16FifoPlayer: Fix hang when taking screenshot during FIFO log playbackDentomologist
Don't copy null terminators from the log's `header.gameid` into `FifoDataFile`'s `m_game_id`. Doing so would cause an infinite loop in `Core::GenerateScreenshotName` as the various concatenations and `fmt::format` calls would then effectively drop all the timestamps and disambiguating arbitrary numbers since they followed the null terminator in the gameid, and so the `File::Exists` calls would always return true. Fixes https://bugs.dolphin-emu.org/issues/14002.
2026-03-15Merge pull request #14469 from OatmealDome/backend-warningOatmealDome
GeneralWidget: Add protections against invalid values in BackendWarning()
2026-03-15Merge pull request #14461 from ↵OatmealDome
Dentomologist/wasapistream_handle_getbuffer_errors WASAPIStream: Fix crash when GetBuffer call fails
2026-03-15Triforce: Check only first byte in region flag.cristian64
In some Triforce games (e.g. _F-Zero AX_), the bytes that follow the region flag in the `boot.id` file (at `0x38`) happen to be `0x00`. However, in other games (e.g _Mario Kart Arcade GP 2_), it seems the region flag is padded with `0xFF`. _Mario Kart Arcade GP 2_ (`boot.id` in the USA version): ``` 00000 0000: 42 54 49 44 00 00 01 E0 00 00 00 01 00 00 00 01 BTID.... ........ 00000 0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ........ ........ 00000 0020: 47 43 41 4D 00 00 01 C0 07 D3 05 0F 00 00 00 07 GCAM.... ........ 00000 0030: 53 42 4E 4C 00 00 00 00 0E FF FF FF FF FF FF FF SBNL.... ........ ----------- ^ | region flag ``` When the region flag was tested in `switch` statements (where a single byte was expected in the `case`s), the test would fail, depending on the game. This issue would lead to the wrong calculation of the country in `VolumeDisc::GetCountry()`, which was then used to build the game ID in `VolumeDisc::GetGameID()`. The solution is to test using only the least meaningful byte in the region flag. Unexpected game IDs were first noticed with USA version of _Mario Kart Arcade GP 2_, which was wrongly assigned the same game ID that is given to the Japan version (i.e. `GNLJ82`). The correct game ID for the USA version is `GNLE82`.
2026-03-15GeneralWidget: Add protections against invalid values in BackendWarning()OatmealDome
2026-03-15fmt: change use of fmt/base.h to fmt/format.h as not provided until fmt>=11.0Craig Carnell
2026-03-14System: Use forward declarations in System.hDentomologist
2026-03-14Move PerformanceMetrics from global variable to SystemMihai Brodschi
This avoids the static initialization order fiasco between Core and VideoCommon Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com>
2026-03-14AMMediaboard: Increase NetworkCommandAddress2 rangeSepalani
2026-03-14AMMediaboard: Change the way socket descriptors are assignedSepalani
2026-03-13WASAPIStream: Fix crash when GetBuffer call failsDentomologist
Check the return value of calls to `GetBuffer` and stop the `WASAPI handler` sound thread if they fail. This prevents a crash due to a null pointer dereference if `GetBuffer` is unable to retrieve a buffer, which could be triggered during emulation by disabling the selected WASAPI output device in the Windows Sound settings.
2026-03-13Merge pull request #14123 from JosJuice/fix-logical-page-mappingsDentomologist
Memmap: Fix populating m_logical_page_mappings
2026-03-13GameList: Add status bar with game countDentomologist
The status bar shows the number of games in your collection. If any games are hidden by the platform, region, or search filters it will also show how many games are visible and how many are filtered. The visibility of the status bar can be toggled from the menu by selecting `View`->`Show Game Count`. Implements https://bugs.dolphin-emu.org/issues/9517.
2026-03-12HW/Triforce/SerialDevice: Add missing include to fix FreeBSD build.Jordan Woyak
2026-03-12Merge pull request #14409 from sepalani/tri-rw-logJMC47
AMMediaboard: Improve recv/send log messages
2026-03-12Merge pull request #14408 from sepalani/tri-eagainJMC47
AMMediaboard: Check for EAGAIN in WSAGetLastError
2026-03-12Merge pull request #14452 from jordan-woyak/triforce-avalon-touchscreenJMC47
Triforce: Implement The Key of Avalon's touchscreen.
2026-03-12Merge pull request #14442 from ↵Jordan Woyak
Dentomologist/performancemetrics_use_state_changed_hookableevent PerformanceMetrics: Use HookableEvent for state changed callback
2026-03-12Merge pull request #14172 from sepalani/usb-iso-retJMC47
IOS/USB: Add helper to set return values of IsoMessage's packets
2026-03-12Merge pull request #14345 from TryTwo/cheat_search_workDentomologist
CheatSearch: Add ability to breakpoint the selected lines.
2026-03-12Merge pull request #14440 from JosJuice/optimize-remove-pageDentomologist
Core: Optimize RemoveHostPageTableMappings
2026-03-12Merge pull request #14427 from Simonx22/qt/cheats-gecko-download-error-messageJMC47
DolphinQt: Improve Gecko code download failure message
2026-03-12State: Increase STATE_VERSION.Jordan Woyak
2026-03-12Triforce: Implement The Key of Avalon's touchscreen.Jordan Woyak
Added SerialDevice base class interface. Adapted MagneticCardReader to use the SerialDevice interface. Implemented The Key of Avalon touchscreen SerialDevice. Altered CSIDevice_AMBaseboard to use SerialDevice. Made serial reads happen every GCAMCommand rather than only upon write.
2026-03-12State: Increase STATE_VERSION.Jordan Woyak
2026-03-12SI_DeviceAMBaseboard: Clean up RunBuffer.Jordan Woyak
Eliminated outer loop. Reduced memcpy'ing.