Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08011 Misc. Minor Always Jun 20, 2021, 16:07 Jul 2, 2021, 09:34
Tester Kale View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows Vista/7/8 (64-bit)
Status [?] Acknowledged Driver
Version 0.232 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 08011: ddp2 and clones: Desyncs on inp playback
Description DoDonPachi II (IGS) reportedly fails to .inp playback on prolonged sessions.
Steps To Reproduce Playback from attached inp in version 0.232 with ddp2100 set, it's supposed to reach 628M and last stage, to me it only reach 24M.
Additional Information Suspected culprits:
- the two speedups installed may be unsafe on multisession cfr. https://github.com/mamedev/mame/blob/master/src/mame/machine/pgmprot_igs027a_type2.cpp#L220
- the RTC device may not restore state from an inp correctly https://github.com/mamedev/mame/blob/master/src/devices/machine/v3021.cpp
Github Commit
Flags
Regression Version
Affected Sets / Systems ddp2 and clones
Attached Files
zip file icon bbh_ddp2100_628207170_wolf232.zip (455,243 bytes) Jun 20, 2021, 16:07 Uploaded by Kale
Relationships
There are no relationship linked to this issue.
Notes
7
User avatar
No.19002
mahlemiut
Developer
Jun 20, 2021, 21:51
I'd go with the speedup hacks, as I'm pretty sure INP playback works fine with other PGM games.
User avatar
No.19003
Haze
Senior Tester
Jun 20, 2021, 23:27
edited on: Jun 20, 2021, 23:28
There's no reason the speedups should cause inp desync, they're deterministic. Nothing in the driver is threaded.
User avatar
No.19004
dink
Tester
Jun 21, 2021, 01:02
I found the cause of this issue about 2 years ago; ddp2 is using the rtc (v3021) as a prng seed.

best regards,
- dink
User avatar
No.19010
mahlemiut
Developer
Jun 21, 2021, 21:59
The RTC is a good suspect, although I'd expect more than just one PGM game to use it as a random seed. Could be easily tested, though.
User avatar
No.19047
dink
Tester
Jul 2, 2021, 04:13
The way I fixed the problem in fbneo (then: fbalpha) - the date/time inside the movie file (input recording file) is used to set-up the v3021 rtc.
User avatar
No.19048
mahlemiut
Developer
Jul 2, 2021, 04:59
edited on: Jul 2, 2021, 05:00
MAME already does this (just tested it now in 0.232), at least based on the date/time displayed on boot.
User avatar
No.19050
Haze
Senior Tester
Jul 2, 2021, 09:34
I wonder how MAME keeps the time updated, I thought it was timers, which should be deterministic, but maybe the core is doing something else?

could just be there's something uninitialized in the driver of course, or some start-up order thing, that differs when getting the clock data from an inp vs. the system?