| Age | Commit message (Collapse) | Author |
|
|
|
BUG_BROKEN_DISCARD_WITH_EARLY_Z workaround
|
|
|
|
|
|
|
|
|
|
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).
|
|
|
|
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.
|
|
|
|
|
|
doesn't seem to be accurate (or related to the Magnetic/IC cards) and it causes warnings in the JVSIOCommand::CoinInput handler.
|
|
GC adapter fixes (hotplugging, claim retries, Dolphin shutdown)
|
|
buffer size.
|
|
hardcoded network buffer base addresses.
|
|
AMMediaboard: Change the way socket descriptors are assigned
|
|
RetroAchievements: Block loading discs that don't match current title
|
|
Disable page table fastmem for TimeSplitters: Future Perfect
|
|
|
|
Move achievements code out of DVDInterface::SetDisc
|
|
fmt: replace <fmt/base.h> with <fmt/format.h> as not available until fmt>=11
|
|
|
|
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.
|
|
Dentomologist/fifoplayer_fix_screenshot_hang_during_playback
FifoPlayer: Fix hang when taking screenshot during FIFO log playback
|
|
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.
|
|
GeneralWidget: Add protections against invalid values in BackendWarning()
|
|
Dentomologist/wasapistream_handle_getbuffer_errors
WASAPIStream: Fix crash when GetBuffer call fails
|
|
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`.
|
|
|
|
|
|
|
|
This avoids the static initialization order fiasco between Core and VideoCommon
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com>
|
|
|
|
|
|
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.
|
|
Memmap: Fix populating m_logical_page_mappings
|
|
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.
|
|
|
|
AMMediaboard: Improve recv/send log messages
|
|
AMMediaboard: Check for EAGAIN in WSAGetLastError
|
|
Triforce: Implement The Key of Avalon's touchscreen.
|
|
Dentomologist/performancemetrics_use_state_changed_hookableevent
PerformanceMetrics: Use HookableEvent for state changed callback
|
|
IOS/USB: Add helper to set return values of IsoMessage's packets
|
|
CheatSearch: Add ability to breakpoint the selected lines.
|
|
Core: Optimize RemoveHostPageTableMappings
|
|
DolphinQt: Improve Gecko code download failure message
|
|
|
|
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.
|
|
|
|
Eliminated outer loop.
Reduced memcpy'ing.
|