Commit Graph
45621 Commits
Author SHA1 Message Date
Jordan Woyak 5ec42165b7 Triforce: Rewrite JVS IO board emulation.
Moved JVS IO emulation from SI_DeviceAMBaseboard into new JVSIOBoard class.
Sega/Namco board-specific functionality is handled by derived JVSIOBoard classes.
Game input is now sourced from IOPorts rather than being hard coded into JVS IO handlers.
SI_DeviceAMBaseboard: Use IOPorts for status switch input.
2026-03-26 07:02:19 -05:00
Jordan Woyak 5c912e881e IOPorts: Add additional functionality to handle analog input, coin input, et al.
Created IOAdapter classes for FZeroAX games.
Created SerialDevice classes for MarioKartGP and FZeroAX FFB steering wheels.
Added game-specific input handling to the various IOAdapter classes.
2026-03-26 06:38:31 -05:00
Jordan Woyak 49518164bb Triforce/Touchscreen: Fix LOG type. 2026-03-26 06:38:31 -05:00
JMC47 3c8a72eb18 Merge pull request #14470 from cristian64/triforce_volume_region_fix
Triforce: Check only first byte in region flag.
2026-03-25 17:47:20 -04:00
JMC47 88b7ad74d9 Merge pull request #14462 from jordan-woyak/mediaboard-span
AMMediaboard: Add GetSpanForMediaboardAddress function to eliminate hardcoded network buffer base addresses.
2026-03-25 13:45:47 -04:00
JMC47 dcbcfed12a Merge pull request #14499 from JosJuice/gpu-desync-no-report
Remove "please report it to the developers" from unknown opcode message
2026-03-25 13:31:55 -04:00
Ma-Rang 7ef7b6e3e9 NoGUI: Add Escape key to close emulation on Windows
PlatformX11 already handles XK_Escape to trigger RequestShutdown().
Add the equivalent WM_KEYDOWN / VK_ESCAPE handler to PlatformWin32
for parity.
2026-03-25 08:56:29 -05:00
Dentomologist 81192d96cf Merge pull request #14498 from JosJuice/invalid-access-wording
Reword the invalid read/write panic alert
2026-03-24 20:07:47 -07:00
Simonx22 dbeca0d134 Android: Refactor SyncProgramsJobService
Changes:
- Convert SyncProgramsJobService from Java to Kotlin.
- Replace AsyncTask/executor lifecycle handling with coroutine-based job execution and cancellation.
- Stop using restricted androidx.tvprovider builder APIs.
2026-03-24 23:05:00 -04:00
Dentomologist 0af544b84c Merge pull request #14502 from DankRank/scummvm-texcache
GameINI: Fix animation stutter in Mistic Software ScummVM titles
2026-03-24 17:44:10 -07:00
OatmealDome 59fae214af Merge pull request #14507 from Simonx22/android/permissionshandler-jni-keep
Android: Add Keep to JNI-exposed PermissionsHandler methods
2026-03-24 19:40:56 -04:00
Simonx22 9085d649dc Android: Add Keep annotation to JNI-exposed PermissionsHandler methods
This fixes an oversight from https://github.com/dolphin-emu/dolphin/pull/14488 where I forgot to add `@Keep` to JNI-exposed methods. R8 tried to optimize it and thought those methods were unused.
2026-03-24 18:42:19 -04:00
JosJuice ff4a7c8a95 Reword the invalid read/write panic alert
Some users seem to be under the impression that the panic alert is
saying that enabling MMU will fix the issue, but that's not what it
actually says. Let's try to make this a bit clearer.
2026-03-24 22:25:01 +01:00
JosJuice cfa6ec806e Merge pull request #14504 from Simonx22/android/agp-r8-bug
Android: Pin R8 9.1.34 to fix release minify crash
2026-03-24 21:39:05 +01:00
Simonx22andOatmealDome 336f604b3a Android: Pin R8 9.1.34 to fix release minify crash
Override AGP-bundled R8 in settings.gradle.kts:
- classpath("com.android.tools:r8:9.1.34") from r8-releases/raw

This resolves :app:minifyReleaseWithR8 failing with:
java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0

Bug report: https://issuetracker.google.com/issues/495458806

Co-Authored-By: OatmealDome <[email protected]>
2026-03-24 07:50:45 -04:00
Jordan Woyak 2b6667a98d Merge pull request #14505 from Dentomologist/audiocommon_use_left_const_for_nonpointer_variables
AudioCommon: Use left const for non-pointer variables
2026-03-24 00:25:53 -05:00
Dentomologist f5dfb7e3d3 AudioCommon: Use left const for non-pointer variables 2026-03-23 16:30:30 -07:00
Sintendo f6a67aa6e7 Use more std::span arguments 2026-03-23 23:55:09 +01:00
Jordan Woyak c05b231015 Merge pull request #14496 from Dentomologist/audiopane_fix_wasapi_default_device_combo_selection
AudioPane: Fix WASAPI default device combo selection
2026-03-23 15:27:29 -05:00
Egor 2fb10fb1c0 GameINI: Fix animation stutter in Mistic Software ScummVM titles
This is fixed by setting Texture Cache Accuracy to Safe.

Affected titles:
- R2F Freddi Fish: Kelp Seed Mystery
- RDL Spy Fox in Dry Cereal
- RJQ Pajama Sam: Don't Fear the Dark
2026-03-23 18:57:13 +02:00
Jordan Woyak cddffd2e2a Merge pull request #14497 from JosJuice/linux-gba-select
Fix default GBA Select binding on Linux
2026-03-22 16:11:25 -05:00
OatmealDome 6608bca694 Merge pull request #14476 from Simonx22/android/version-catalog-latest-deps
Android: Use version catalog and update dependencies
2026-03-22 12:13:10 -04:00
OatmealDome 9ba08f70bc Merge pull request #14489 from Simonx22/android/convert-applinkhelper-to-kotlin
Android: Convert AppLinkHelper to Kotlin
2026-03-22 12:12:50 -04:00
OatmealDome 125bc173bb Merge pull request #14491 from Simonx22/android/convert-syncchanneljobservice-to-kotlin
Android: Convert SyncChannelJobService to Kotlin
2026-03-22 12:12:41 -04:00
OatmealDome 4a813a019b Merge pull request #14495 from Simonx22/android/convert-startuphandler-to-kotlin
Android: Convert StartupHandler to Kotlin
2026-03-22 12:12:30 -04:00
JosJuice f2055fe0b8 Remove "please report it to the developers" from unknown opcode message
I think we've gotten all the useful reports we can get from this now.
Nowadays we're just getting repeated reports of issues we already know
about, like https://bugs.dolphin-emu.org/issues/12321.
2026-03-22 14:23:46 +01:00
JosJuice 5af4fedd92 Fix default GBA Select binding on Linux 2026-03-22 13:51:01 +01:00
JMC47 85e63dc32f Merge pull request #14482 from jordan-woyak/triforce-ic-card
Triforce: ICCardReader and DeckReader improvements.
2026-03-21 23:57:05 -04:00
Dentomologist 6b2a8eff15 AudioPane: Fix WASAPI default device combo selection
Set the default value of `Config::MAIN_WASAPI_DEVICE` to `default`
instead of `Default`. This fixes an issue where `AudioPane`'s `Output
Device` combo would be blank if `WASAPI` was selected and the user had
never changed the value of `Output Device`.

We don't have to worry about backward compatibility with users who have
`Default` in their config because config values aren't written unless
they've been changed at some point from the default, and the combo has
always saved `default` instead of `Default`.

Audio still worked during emulation in this situation because the
fallback for an unrecognized device name is the default device.

To help prevent similar situations in the future references to
`MAIN_WASAPI_DEVICE`'s default value now call `GetDefaultValue` instead
of hardcoding the expected default, or use the new helper function
`Config::IsDefaultValue`.
2026-03-21 15:07:42 -07:00
OatmealDome 0e92a14703 Merge pull request #14488 from Simonx22/android/convert-permissionshandler-to-kotlin
Android: Convert PermissionsHandler to Kotlin
2026-03-21 12:14:53 -04:00
OatmealDome d572931213 Merge pull request #14487 from Simonx22/android/convert-insetshelper-to-kotlin
Android: Convert InsetsHelper to Kotlin
2026-03-21 12:14:40 -04:00
Simonx22 71f40469be Android: Convert SyncChannelJobService to Kotlin 2026-03-21 11:29:09 -04:00
Simonx22 936a828cb7 Android: Convert AppLinkHelper to Kotlin 2026-03-21 11:25:42 -04:00
OatmealDome 26e58ea349 VulkanContext: Drop support for BUG_BROKEN_DISCARD_WITH_EARLY_Z workaround 2026-03-21 11:16:15 -04:00
OatmealDome 5a94e63e42 UberShaderPixel: Fix missing check for framebuffer fetch for BUG_BROKEN_DISCARD_WITH_EARLY_Z workaround 2026-03-21 11:16:15 -04:00
OatmealDome 98ca653774 DriverDetails: Mark BUG_BROKEN_DISCARD_WITH_EARLY_Z as fixed in macOS 14.0+ 2026-03-21 11:16:15 -04:00
OatmealDome 750c6ed705 DriverDetails: Use macOS version as the driver version 2026-03-21 11:16:14 -04:00
OatmealDome 36d8dbc590 CommonFuncsObjC: Make function to fetch the current macOS version common 2026-03-21 11:16:14 -04:00
Simonx22 e878174235 Android: Use version catalog and update dependencies
Migrate plugin and dependency versions to a Gradle version catalog and update dependencies to their latest available versions.
2026-03-21 10:50:34 -04:00
JosJuice 726f5f8897 Merge pull request #14494 from TellowKrinkle/NoMipsFix
VideoCommon: Fix no mips hack
2026-03-21 09:27:22 +01:00
TellowKrinkle 56845b2b93 VideoCommon: Fix no mips hack 2026-03-21 00:35:06 -05:00
Lilly Jade Katrin 529b696fcb Remove AchievementManager ChangeDisc call from Eject
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-20 21:42:05 -04:00
JosJuice 12935d5b25 Merge pull request #14445 from JosJuice/llm-policy
Contributing.md: Add policy on LLM contributions
2026-03-20 22:41:39 +01:00
Simonx22 8ced69e95d Android: Convert GamePropertiesDialog to Kotlin 2026-03-20 15:15:17 -04:00
Simonx22 b5b5b6fb7d Android: Convert StartupHandler to Kotlin 2026-03-20 13:14:06 -04:00
Simonx22 385ac49109 Android: Convert PermissionsHandler to Kotlin 2026-03-20 13:01:54 -04:00
Simonx22 b4933d3799 Android: Convert InsetsHelper to Kotlin 2026-03-20 12:59:27 -04:00
Jordan Woyak 680ee9b65f State: Increase STATE_VERSION. 2026-03-19 21:35:31 -05:00
Jordan Woyak 85400539ba Triforce: ICCardReader and DeckReader improvements.
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-19 21:35:31 -05:00
Jordan Woyak b5bc70a6cc Triforce/SerialDevice: Add PassThroughTxBytes function and some minor cleanups. 2026-03-18 22:39:12 -05:00