INI files for both known regions of _Mario Kart Arcade GP 2_ (Triforce)
have been added to the `GameSettings` directory:
| Game ID | Region | Revision Date |
| ------- | ------ | ------------------- |
| GNLE82 | NTSC-U | 2007/02/07 02:47:24 |
| GNLJ82 | NTSC-J | 2007/02/06 20:29:25 |
The files contain Action Replay and Gecko cheat codes. Some of the cheat
codes have been sourced from the Internet; others have been developed by
the author of this change.
> [!IMPORTANT]
> Triforce games may have had multiple revisions for a given game region
> after the original release, and Dolphin cannot distinguish them at
> this time. Cheat codes are developed for one revision only, and cannot
> work with other revisions.
>
> For this reason, every cheat code name is provided with a prefix that
> states the revision date of the target game revision. It will be up to
> the user to enable the cheat codes for their correct game revision and
> region. The revision date for _Mario Kart Arcade GP 2_ games can be
> seen in the SegaBoot menu, under the **ENTER GAME TEST > OTHERS**
> screen.
> [!NOTE]
> Prior to issue #14470, the game ID for the NTSC-U region was
> incorrectly assigned the game ID of the NTSC-J region due to an issue
> in how the region flag in boot.id files was treated. This issue
> blocked the addition of the INI files until the issue was resolved (a
> region mismatch would cause fatal errors if cheat codes for the wrong
> version were enabled in Dolphin).
> [!CAUTION]
> There have been seen game dumps in the wild that, even though their
> real region is NTSC-U, the region flag in their `boot.id` file is
> `0x02` (NTSC-J), instead of `0x0E` (NTSC-U).
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.
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 <julian@oatmealdome.me>
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
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.
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`.
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.