Reicast-emulator: Known Per-Game Configuration Settings

Created on 27 Aug 2018  路  25Comments  路  Source: reicast/reicast-emulator

This is a list of PGC settings that fix issues w/ specific games

| Game Name | Game Issue | PGC Setting |
|--|--|--|
| Psychic Force 2012 | Joystick non-functional | [Enable] Use Joystick For D-Pad Input |
| Street Fighter Alpha 3 | Boots to black screen | [Enable] Delayed Interrupt |
| Record of Lodoss War | Freezes entering battle | [Enable] Bypass Div Matching |
| Star Wars Episode I: Racer | | [Enable] Bypass Div Matching |
| Pro Pinball Trilogy | Black screen after intro | [Enable] Bypass Div Matching |
| Demolition Racer | | [Enable] Bypass Div Matching |
| Surf Rocket Racers | | [Enable] Bypass Div Matching |

Documentation Non Critical

All 25 comments

@MrPsyMan Opinions?

This is not a proposal. It's user-end suggestions for "known" fixes found via libretro, @flyinghead's branch, etc. You may want to look at https://github.com/reicast/reicast-emulator/pull/1298

With the exception of Psychic Force that I haven't tested, this list is accurate.

Psychic Force may just apply to Moga / Nvidia controllers (the only two I tested), but the fact that they are optional UI- / config-based settings means that shouldn't be a concern.

@MrPsyMan It means the game developers may not have added support for playing the game using a joystick. The config option is to have the joystick send the equivalent of dpad input values.

Any configuration for the characters sprites glitches in Capcom vs SNK 1? Thanks!

@RaduNastase Do you have the link for that in one of the other versions of reicast?

What do you mean AbandonedCart? What link should i provide?

@RaduNastase The hardcoded fix for "characters sprites glitches in Capcom vs SNK 1" that needed a corresponding setting.
The list is only known settings (meaning ones that have been around for a while and already gone through testing). They are being ported from code that has been around for a while, but was never part of reicast because they were hardcoded workarounds.
If you are just looking for a solution to an issue, you may be better off posting it to https://github.com/reicast/gamedb/issues (either as a comment to an existing issue for the game or as a new issue). This isn't really a "catch-all" for fixing issues.

Surf Rocket Racers needs Div Matching disabled as well.

Regarding the division related issues, if I recall correctly the actual cause is inaccurate fpu emulation.
A "proper" fix is making fpu emulation more accurate (Record of Lodoss War for example does division by zero when it hangs if I recall). nullDC did have a setting for improved fpu accuracy back then which fixed such issues. Someone has to test such cases though.

The street fighter irq issue is a side-effect. Never took the time to check what delays the interrupt and do a proper fix.

@MrPsyMan "Bypass Div Matching" is nullDC's safe Dynarec setting.

I see. Guess @skmp didn't do a proper fix back then...

Well, it's not like anything is written in stone. A proper fix can always replace a temporary workaround. Until then, this one allows the game to be played. When reaching a larger audience, you have to remember that people tend to only see "working" or "not working" and things like "well a proper fix can be added, but isn't ready yet" sounds like "blah, blah, I can't fix it" to a user.

I see it as an unsafe dynarec optimization that works most of the time, but not every time.

And don't mistake that for saying half-ass, broken workarounds are a good idea. But a clean, isolated workaround that clearly identifies itself as a workaround (ie. a game-specific toggle) doesn't seem so bad if it can prevent a couple of issues from being reported while a better solution is designed.

Yeah, it's ok.

What I'm worried about is the per game fixes, like the sfa3 one. It's a bad idea.

Again, it is a temporary solution to boot the game. @flyinghead already has a better one.

I see. It could be gdrom dma. We had some issues relative to how we treat gdrom timings in the past (ie: soul calibur would crash when reading too fast and code veronica would duplicate one specific item at some point).

Particularly the sfa3 issue might be trickier to properly fix (I mean without side-effects) if you consider how the gdrom is a mechanical system and issues on it are handled through scsi sense codes by interpreting what the laser "sees". Ever wondered why some rips are literally making the gdrom make constant grinding noises? Yeah it's that bad. Also notice the changes in reading speeds when files are too far apart or completely missing.

So which is it? Use a temporary workaround or do nothing until a permanent solution?

My suggestion is to remove the hack completely.

As for a "fix". As you said, @flyinghead has a more sane approach. As long as it's setup to not break anything else (not knowingly at least) I'm ok with having it as a mid-term selectable workaround.

When the approach gets better and/or has proven to not break anything else, we just take the option to disable it out.

It's nice to see at least one other person finally gets what I have been saying all along, even if we had to waste an hour getting you to that conclusion on your own.

Again, it's not as though I didn't make sure reversing it was as simple as https://github.com/reicast/reicast-emulator/pull/1394

Was this page helpful?
0 / 5 - 0 ratings