As stated above though how would you know the difference between a 1-2 frame 0% speed that was from a long pause versus a 1-second pause or evne just some stupid utility that starts up in the background that for that 1 second really slows mame cuz of big HD activity?
I thought even if the speed drops a lot for a couple frames nothing is really suspected there because otherwise you could be playing a long game and just because your system does something like perhaps even re-time syncs with a time-server so the time variable is slightly adjusted that can result in low speed detection!
Heck if I would want an honestly played game to be DQ'd just because the system auto-adjusted it's time by 1 second or so at some point during play or because some util loads and starts running where during the loading you get a lag in mame for a few frames.
How do you figure that? I guess it depends how the "speed" is calculated. Is that done by a running average over so many frames or seconds? If so then yes your above has a point...if frame by frame...then it really can't as even a 1 second delay would have 1 frame in that last 1 second so that's already down at 1.67% speed.The 1 to 10 second pauses will yield speeds of 10%-30% which might be acceptable
Think about the time-adjustment thing some...and how that would be reflected within an alphamame inp.
It seems like you really need to go full screen and not allow windowed mode for alphamame so there isn't this window bar pause possibility.
It's tons easier to deactivate windowed mode and force full screen mode in the code than it is to add new code to try and detect that kind of "pause".
You can still allow the args for size etc. of the game display...but not windowed mode. That will make the emulation run a little faster for many anyway cuz the video won't also be updating other display stuff on screen as you are playing.