Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
04396 Interface Minor Always Jun 29, 2011, 18:15 Aug 19, 2011, 17:22
Tester denzilla View Status Public Platform MAMEUI
Assigned To hap Resolution Fixed OS Windows Vista/7 (64-bit)
Status [?] Resolved Driver
Version 0.143 Fixed in Version 0.143u4 Build Normal
Summary 04396: all games and drivers: Refreshspeed activating when not needed
Description If refreshspeed is enabled globally via default game options, it limits every game/driver to 99%
Steps To Reproduce Enable refreshspeed globally, start any game and they will all be running 99%.
Additional Information
Regression Version 0.139u3
Affected Sets / Systems all games and drivers
Attached Files
There are no relationsihp linked to this issue.
User avatar
Jun 30, 2011, 02:17
edited on: Jun 30, 2011, 02:20
My LCD is working at 58.8 Hz, all games are limited to 97%. It is about 97-98% of 60 Hz. This could have to do with this.

Some 30 fps games such like shanghai and gberet, and 55 hz games like imgfight, all work at 97% with the -refreshspeed option for me.

Sorry for closing this report at first, it was my misunderstanding.

User avatar
Jun 30, 2011, 02:33
Upon testing with a 60hz CRT, with "gberet" a 30hz game .. the "99%" issue began between the following revisions:
= r10176 (I have a r10175 build and it's fine)
= r10182 - this build I have shows the "99%".

Judging from change logs it looks most like something in r10176 where there were oodles of changes to machine, driver, sound, video devices.

This is also likely the cause of the issue that was reported to .info forum a few months ago too, regarding changed %'s when -refreshspeed was used.
User avatar
Aug 19, 2011, 09:09
During screen.c device start, it calls a function in video.c that's responsible for setting the speed: update_refresh_speed()
That function calls frame_period() which is in screen.h, and denies access if the device wasn't started yet. This causes it to always return a default value (60hz) if frame_period is read during device start.

It's easy to workaround this bug in an ugly way, but I don't know how to fix this cleanly myself. Aaron mayhaps?
User avatar
Aug 19, 2011, 17:22
ok, fix was easy anyway