This game follows the anti-pattern of calling memset on a buffer in the
midst of being DMA copied to ARAM, then calling a DVD read function that
effectively cancels the memset with dcbi instructions. Dolphin does not
emulate dcache for performance reasons, so this patch removes the
offending memset call.
Patches are included for two regions and are enabled by default.
https://bugs.dolphin-emu.org/issues/12759
This game has stale icache values in the logs during certain
loadscreens, and after disabling them I was able to play through the
entire game, with one crash that may have been related to savestates and
memory cards since during that loadscreen it said the memory card did
not match.
This does cause invalid reads to be spit out during parts of the game,
but you can safely skip them. Enabling MMU seems to surpress the
invalid reads without side-effects, but the aforementioned
memcard/savestate crash was with MMU on.
For unknown reasons, a Gecko Code on the Wiki for Rayman Arena that was
meant to help with widescreen patches. This doesn't actually change
anything about the game unless you enable Dolphin's built-in widescreen
hack, where it will cause enemies and whatnot to render on the edges of
the screen. This is because it patches out the culling function in the
game, which coincidentally is also the cause of the hang in Dolphin.
With "Store EFB Copies to Texture Only" set to True (the default setting), areas of Excite Truck appear darker than on console. For example, in Sylvan Glen under the Bronze cup, all of the trees appear very dark, nearly black. On console, this does not occur.
Start of the race on Dolphin: https://youtu.be/KjJ-55lwFkE?t=817
Start of the race on Console: https://youtu.be/0W9blwA8AG4?t=699
Setting EFBToTextureEnable = False fixes this issue and does not appear to introduce any performance impacts, so I am recommending that this be disabled by default for this game.
Apparently MMU is no longer needed in these titles. All 3 booted and
played into gameplay in the latest builds without issues, and disabling
MMU results in a very slight, but noticeable performance boost.
At least on Android, SyncGPU has really bad performance compared to
single core. It's less stable too - I get fatal GPU desyncs in
Pokémon XD using the default settings.
This Pull Request updates N64 INIs based on what I know about various
behaviors since the last time we updated it. This should result in more
sane settings for Mario Tennis and Super Smash Bros. while still
preventing the out of memory crash due to the tremendous amounts of EFB
copies.
Red Steel 2 has FMVs that get corrupted with Anisotropic filtering. It
also hangs on dualcore. While SyncGPU works, both another user and
myself saw much smoother gameplay when using Single Core for unknown
reasons.
Same problem as 658eed4... Except instead of just making the
comments use #, I'm actually removing some of the codes entirely
because they are of questionable value.
Should fix https://bugs.dolphin-emu.org/issues/12737.
This game requires emulating the Fifo Pipeline or have Single Core be
able to read ahead in the Fifo. Because Single Core currently processes
things in a serialized manner, this game will not run regardless of
CPU/GPU timing hacks.