Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07435 Save/Restore Major Sometimes Sep 25, 2019, 04:49 Nov 7, 2020, 06:54
Tester Zaghadka View Status Public Platform MAME (Official Binary)
Assigned To cuavas Resolution Fixed OS Windows 10 (64-bit)
Status [?] Resolved Driver
Version 0.210 Fixed in Version 0.227 Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 07435: Vector: Vector Many games do not return stably from save state
Description On my machine, certain vector games no longer return stable from their save state. I have tested this using autosave = 1.

From 0.210 forward, the graphics on a return to state are glitchy, or missing entirely. I have noticed this in Tempest, Omega Race, Asteroids, and Major Havoc. There may be more. Asteroids Deluxe and Battle Zone appear to work properly.

From 0.209 back, the screen graphics show up as they were when the sta was taken in the problem games.
Steps To Reproduce Set autosave=1. Launch affected vector game, either with HLSL or without. Exit emulator. Relaunch vector game restoring from the autosave.

Graphics are glitchy. They disappear entirely, or random lines appear.

Launch 0.209, set the autosave=1, launch and relaunch, graphics appear as they were when the sta file was taken.
Additional Information Seems to affect:
asteroid.cpp
bwidow.cpp
bzone.cpp
mhavoc.cpp
omegrace.cpp
tempest.cpp
Github Commit
Flags
Regression Version 0.210
Affected Sets / Systems Vector
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.16962
Fujix
Administrator
Sep 25, 2019, 05:09
Confirmed.
User avatar
No.17269
Tafoid
Administrator
Dec 12, 2019, 03:23
Doing some save state testing I can confirm I see multiple drivers which now do not restore 100% properly anymore. Have traced breakage to this commit:
https://github.com/mamedev/mame/commit/53b58377b0cfcb04ae5c76b018c591ae9dcbaf0d
User avatar
No.17270
Osso
Moderator
Dec 12, 2019, 13:10
It's a problem due to the use of the required_shared_ptr for vectorram instead of the pointer. It somehow messes up savestates, probably because of the mixture between ram and rom memory entries in the drivers.
I think it'll be fixed when OG's next memory update will be merged.