Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08427 Save/Restore Feature Always Oct 9, 2022, 16:33 Feb 24, 2024, 16:52
Tester StHiryu View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows Vista/7/8 (64-bit)
Status [?] Acknowledged Driver
Version 0.248 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 08427: Set savestate mode through an option in mame.ini
Description Before 0.247 you could save a state with any direction pressed and when loading that state, you got exactly the same position.
Now in 0.247 when you save or restore, your character stands still for about a second before starting to move, even with the direction pressed all the time.

The best way to check this is with 2 savestates using rolling thunder as example:
1-q.sta from 0.246 -> Load this state after keeping pressed the > cursor key, and you'll see your character moving to the right.
2-w.sta from 0.247 -> Load this state after keeping pressed the > cursor key, the character takes a period of time to respond to the key pressed.

The only info about any change in the save/restore system I've found is at 0.247 mameinfo:
. UI
    . Swallow save state slot key/button (ui\state.cpp)
Steps To Reproduce 1-Get Mame 0.246 and 0.247 from MameDev
2-Load rthunder from 0.246
3-Use F7 to load state
4-Keep pressed right cursor and press q
5-Load rthunder from 0.247
6-Use F7 to load state
7-Keep pressed right cursor and press w
Additional Information Updated save states fron hangon and rthunder 0.252.
Github Commit
Regression Version 0.247
Affected Sets / Systems
Attached Files
zip file icon (23,615 bytes) Mar 4, 2023, 03:07 Uploaded by StHiryu
There are no relationship linked to this issue.
User avatar
Oct 10, 2022, 01:18
Please see if you can duplicate the issue with release MAME and not MAMEUI.
User avatar
Oct 10, 2022, 01:34
edited on: Oct 10, 2022, 01:44
Yes, the same happens with the official MAME.

Reuploaded save states from MAME, not MAMEUI
User avatar
Oct 20, 2022, 14:48
Have not tested, but acknowledged for now.
I think there was some 'eating' of inputs which UI would capture which would show up in emulation (such as keyboard inputs) recently added which might account for this?
User avatar
Mar 4, 2023, 03:05
edited on: Mar 4, 2023, 03:15
Did some more testing about this again in 0.252 with hangon and rthunder...

Seems some changes were made to the save/restore system. Now when you load or save an state, the time you press the desired key to load or restore, all the inputs in game are ignored.
This is not the case for analog controls: Im hangon paddle analog an pedal analog continue to work as they should.

Practical examples:
1-Rthunder: Keep right cursor pressed, hit pause, save state with the Q key keeping pressed right cursor.
2-Load state keeping pressed both right cursor and Q key. Albatross won't move until Q is released. (The same thing happens when loading a state).

1-Hangon: Keep pedal analog (assigned to the right analog stick from your gamepad) until you reach 280km. Press pause and hit A key for saving without releasing the right stick.
2-When you load the state keeping pressed both A key and right stick, the motorbike doesn't lose the speed.

Maybe this bug has some relation with this 06823 reported by me some time ago...

Note: Added 2 savestates for the games above. You can change the name and assign each one to the key you want,
User avatar
Mar 4, 2023, 15:36
The change was because we were getting complaints about keys/buttons used for the save state menu leaking through to the emulated system. For example if you pressed Joy 1 Button 2 for your save state slot, and this button was also assigned to the “smart bomb” input in the game, you’d end up using one of your bombs when you used that save state slot. MAME now waits until you’ve released all the controls before accepting input after displaying a menu to prevent this and other similar issues.
User avatar
Mar 4, 2023, 16:01
edited on: Mar 4, 2023, 16:54
Thinking about this change, is good for some games but bad for many others.

For conversational adventures such as Gremlins or Don Quijote, it is positive since it allows you to save a state without the character assigned to that state being shown on screen. (In this kind of adventures the entire keyboard works as a entrance method, including the Joystick buttons).

But for others who need to maintain a pressed button to execute an action such as to grab a wall and climb, this system would make the character fall and lose a life. There are also very fast and difficult games, such as Bestial Warrior or Hundra, in which it is sometimes necessary to save while escaping from enemies. Disabling this action can lead you to lose a life.

Maybe you could do this behavior optional, or look for another approach, such as simply disabling the keys assigned to the game inputs, or just only the joypad buttons, for saving and loading states. (In fact, actually with this update some joypad buttons now serve to delete slots already saved).
User avatar
Feb 6, 2024, 01:24
Updated report as a feature request since is not really a bug.
User avatar
Feb 24, 2024, 11:20
'Swallowing' all inputs is too harsh.
When exiting a UI menu it should only briefly ignore the the key that was used to exit the menu instead of all inputs.
User avatar
Feb 24, 2024, 16:52
Well If you decide to make any changes I'll be happy to test :)