MiSTer-devel / Saturn_MiSTer

Sega Saturn for MiSTer
51 stars 13 forks source link

Multiple games // REGRESSION - SMPC - Controls are broken (multiple inputs at the same time) or don't respond anymore #118

Closed Zet-sensei closed 4 months ago

Zet-sensei commented 4 months ago

Since core 20240204, Rayman (USA) have broken controls.

Zet-sensei commented 4 months ago

When doing some tests, the last working version was core 20240202.

Possible hint - The changes on the SMPC with the INTBACK command must have broken something. Maybe taking a look if the SF flag is not correctly set somewhere and/or something with the INTBACK command broke at that time when some delay were added.

I remember having encounter that same kind of issue 3 years ago when beta testing a software emulator (Kronos).

Zet-sensei commented 4 months ago

After some other reports by users on Discord, at least these games are affected :

real-amano commented 4 months ago

Worms and Corpse Killers were outlined in #121 (closed for this bug now)

Zet-sensei commented 4 months ago

Reverting the SMPC code to a previous state (20240202) & only adding the delay on the INTBACK command fix at least Rayman, Guardian Heroes and Three Dirty Dwarves. Without breaking Terry Pratchett's Discworld once more.

I'm waiting for some reports on the other impacted games.

Zet-sensei commented 4 months ago

After some more tests, we could fix these games with reverting the SMPC changes to its state on 20240202 version & just adding WAIT_CNT <= 20'd800; during the INTBACK command (for Primal rage & Discworld support).

Worms have another kind of issue and should be treated separately.

Zet-sensei commented 4 months ago

Issue https://github.com/MiSTer-devel/Saturn_MiSTer/issues/117 could be fixed by the same method.

Zet-sensei commented 4 months ago

Fixed with commit https://github.com/MiSTer-devel/Saturn_MiSTer/commit/87e4a2eade4852f625ebbbdf4fd334bc4915485d.