Olive06
Posts: 6
Joined: Mon May 02, 2022 6:16 pm

Slider refresh rate menu and save parameters ?

Hello,
I'm using Mame on a 15KHZ CRT TV on Windows XP32, I create my own resolutions (modelines) based on the games (systems) I'm using.
To get perfect timing, I adjust the cursor refresh rate for each game to 3 decimal places (via TAB or ² menu).


I tested some versions of Mame from 0.206 where you can save these famous Slider Refresh rate settings, these are the Arcade32/64 and Groovymame32/64 versions. However and strangely (unless I am mistaken) in all recent versions of official Mame or not officiel you can no longer correctly set the refresh of the Slider to 3 decimal places (it no longer works), in earlier versions of official Mame using the Alt + Right / Left keys of the keyboard we could adjust to 3 decimal places, but in recent versions we can't anymore, why? I tried every key on the keyboard and couldn't find anything on the web about it.

So to work around this problem I limit myself to an old version of Mame which allows me to adjust the slider refresh rate to 3 decimal places and to load the parameters at the start of each game. To do this, I load a save game at the start of the game with the -state L command.
Problem saves are not supported for all games. So for these games I also manage to work around the problem by using a little magic software that allows you to simulate keyboard keys when starting the game and therefore to do what you want by entering the game menu. But well, all this stuff is tedious...

For 20 years I've dreamed of having a version of Mame that would allow you to set the refresh rate to 3 decimals, or why not 4 decimals would be even more precise? :) and be able to do it easily with the keys of the keyboard as we could do with all the old versions of Mame.
and above all to be able to save all the settings of the Slider menu to reload these settings each time the game is launched.

But still I wonder about it because it looks like a paradox:

- With older versions of Mame, you could adjust this famous Slider Refresh Rate to 3 decimal places. But we couldn't save the settings :(

- From version 0.206 some developers have added this possibility, great you can now save the settings! But we can no longer adjust the refresh rate to 3 decimal places :(

Moreover I also note that the recent versions of Mame (from 0.200 more or less) no longer react like the old Mame versions on my CRT and my 15khz config, let me explain: On the old versions (eg: 0.168) when I deactivate all the filters (Vsync, Triplebuffer etc) I can see the tear line well stuck in a place on the screen. It is by analyzing this tear line that I adjust my modelines as well as the refresh rate slider

Except that with the new versions of Mame when I deactivate all the filters, although I am however on a perfect resolution at the perfect timing, I no longer get this tear line on the screen, no it jerks in all directions and I have no more fluidity in the game scrolling, and therefore impossible to correctly adjust a modelines for a new system because of this problem, strange.
mhoes
Posts: 186
Joined: Wed Oct 26, 2016 12:26 pm

Re: Slider refresh rate menu and save parameters ?

Olive06 wrote: Tue Sep 13, 2022 8:00 pm I'm using Mame on a 15KHZ CRT TV on Windows XP32
I (almost) stopped reading right there (emphasis mine). You are running an OS that went 'end of life' by the manufacturer roughly 13 years ago, and now expect support for it ?

Having said that, I have had a hard time understanding what the setting that you are talking about exactly is. I assUme (but you know what happens when we assume) that you are talking about some "Screen Refresh Rate" setting ? I tried a few 'older' official mame versions (0.194, 0.181, 0.124), and could find no such setting anywhere.

Could you please tell us what exact *official* MAME version has the setting you are talking about, and exactly what the settings is called in the mame (tab) menu in that mame version (and how you reach it through the options) ? Thanks.
Olive06
Posts: 6
Joined: Mon May 02, 2022 6:16 pm

Re: Slider refresh rate menu and save parameters ?

Hi,

To access the "Screen Refresh Rate" setting, before you must enable the "Cheat" option in the Mame INI configuration files or via the "miscellaneous" tab if you are using the frontend. Then during a game you use the TAB or ² keys on the keyboard to access the Sliders menu of the "Screen Refresh Rate" setting. By enabling "Cheat", You will also access the settings "Main CPU Overclocking" and "Sound CPU Overclocking" settings.

This option has been available for a long time in almost all versions of Mame.

You see that you did well not to stop reading along the way :-) I'm kidding huh :)

Well, yes I have two configurations under Windows XP and my graphic cards are modified to accept low resolutions 15khz (identical to games of the time). All this is in an arcade equipped with an old cathode ray tube TV screen connected to a real homemade RGB cable.
It is for this reason that I use Windows XP, and I wouldn't change Windows XP Powaaa for anything in the world :-) even if I know that we can also get out of 15KHZ with Windows 10, but with XP at the "input lag" level " + old versions of Mame is the best of the best. I mainly play games from the 80s to 2000 and only 2D.

It is even interesting to use this option on configurations with modern screen it allows you to adjust the refresh rate around 60Hz to obtain perfect fluidity in games

I using version 0.168 which works great.
newer versions of Mame 32 work fine on XP even the 0.217, but with all the filters deactivated, it's different, no more fluidity in the game. This is the only difference I notice as explained below. above.

Basically my problems or asks focus on:

- set the "Screen Refresh Rate" to 3 digits after the decimal point as we could do before in the old versions of Mame with the ALT + right / left keys

- Save the "Screen refresh rate" parameters to reload them when starting a game (which is already possible in Arcade32/64 versions 0.206 to 0.239 but it's too tedious since you can no longer adjust to 3 digits after the comma with the keyboard, you have to edit the CFG files manually.

- Know why in the new versions of Mame (from 200 more or less) when you deactivate all the filters (vsyn triple buffer etc) there is no more fluidity in the game, the tear line appears randomly on the screen and it's all jerky.

thanks :-)
Double Dragon.jpg
Double Dragon.jpg (376.23 KiB) Viewed 8773 times
mhoes
Posts: 186
Joined: Wed Oct 26, 2016 12:26 pm

Re: Slider refresh rate menu and save parameters ?

Olive06 wrote: Fri Sep 16, 2022 10:04 pm To access the "Screen Refresh Rate" setting, before you must enable the "Cheat" option in the Mame INI configuration files or via the "miscellaneous" tab if you are using the frontend. Then during a game you use the TAB or ² keys on the keyboard to access the Sliders menu of the "Screen Refresh Rate" setting. By enabling "Cheat", You will also access the settings "Main CPU Overclocking" and "Sound CPU Overclocking" settings.
Thank you for the taking the time to explain that.
Olive06 wrote: Fri Sep 16, 2022 10:04 pm Basically my problems or asks focus on:

- set the "Screen Refresh Rate" to 3 digits after the decimal point as we could do before in the old versions of Mame with the ALT + right / left keys

- Save the "Screen refresh rate" parameters to reload them when starting a game (which is already possible in Arcade32/64 versions 0.206 to 0.239 but it's too tedious since you can no longer adjust to 3 digits after the comma with the keyboard, you have to edit the CFG files manually.

- Know why in the new versions of Mame (from 200 more or less) when you deactivate all the filters (vsyn triple buffer etc) there is no more fluidity in the game, the tear line appears randomly on the screen and it's all jerky.
Well I honestly do not know about the first two of these questions about the setting and saving of the "Screen Refresh Rate", so perhaps someone else can answer those. I did notice however that when you go to the "Screen Refresh Rate" setting in the mame ui, you can use SHIFT+left/right arrows on your keyboard to set it slightly more granular.

As for the last question though, I am unable to reproduce the issue you are heaving with 'tearing' / 'jerking' of the screen (instead of it being fluid). I am running official mame 0.239, have vsync/triple buffer disabled, and tried ddragonu (of which you posted a picture in your last post). I can only assume it has something to do with either your specific monitor, or that more recent versions of mame require a better performing CPU, and the CPU in your system is unable to keep up with the demands.
Olive06
Posts: 6
Joined: Mon May 02, 2022 6:16 pm

Re: Slider refresh rate menu and save parameters ?

Well I honestly do not know about the first two of these questions about the setting and saving of the "Screen Refresh Rate", so perhaps someone else can answer those. I did notice however that when you go to the "Screen Refresh Rate" setting in the mame ui, you can use SHIFT+left/right arrows on your keyboard to set it slightly more granular.
Yes you are absolutely right, the SHIFT + right left keys adjust to one digit after the decimal point. Well test a version 0.160 more or less you can also use ALT + right left to adjust to 3 digits after the decimal point. Something that disappeared after 0.175 versions more or less. and it's a shame because that's the only way to get great precision in timing, especially on configs with cathode-ray TV screens where the slightest faults are very noticeable to the eye.
As for the last question though, I am unable to reproduce the issue you are heaving with 'tearing' / 'jerking' of the screen (instead of it being fluid). I am running official mame 0.239, have vsync/triple buffer disabled, and tried ddragonu (of which you posted a picture in your last post). I can only assume it has something to do with either your specific monitor, or that more recent versions of mame require a better performing CPU, and the CPU in your system is unable to keep up with the demands.
for the last question indeed I think you are right because I have just tested on a recent computer and I do not have the problem either, suddenly I will try to find from which version it does this on my config to see the changes.
Thank you, enjoy :-)
Haze
Posts: 15
Joined: Thu Nov 06, 2014 1:16 pm

Re: Slider refresh rate menu and save parameters ?

The slider is intentionally not saved. Unless you're a developer you really shouldn't be changing it, a lot of games will have bad desyncs, unexpected performance issues, or outright crash if the protection is tied to the refresh rate, or it alters the timing enough to cause comms to fail.

In all honesty, at this point, it probably shouldn't be exposed at all, as it seems to be being misused to 'fix' tearing issues, with people unaware of just how dangerous the side-effects are.

But anyway, no, it doesn't get saved, we don't want users leaving the emulator in a broken state, it isn't something you should be changing, it was there so that non-coders could try and find frequencies that better matched the PCB output, but even that line of thinking is outdated as we prefer raw screen parameters.
Olive06
Posts: 6
Joined: Mon May 02, 2022 6:16 pm

Re: Slider refresh rate menu and save parameters ?

Hello, I do a little bit of development but not enough to modify mame and compile I'm not a pro, I'm self-taught. On the other hand, I've been in emulation for 20 years and more, so I know the subject well :-)
I calculate my modeline resolutions with a calculator that I developed myself.
All the resolutions I use are already closest to the timings of the original games, based on the modeline values ​​taken from the Mame source code.

So when I use the refresh rate of the slider, it's only to adjust to just 3 decimal places. I'm talking about an very fine adjustments and not to pass a game from 53 hz to 60 hz. no the adjustments are 0.012 HZ maximum.. the result I want to achieve is not to fix a tearing problem, my modelines are already perfect so that the tearing line remains almost fixed on the screen.

However, between the values interpreted by the graphics card and the values indicated in Mame, there is always a small difference, even if the modeline is in the right timing, and to compensate for this difference, only the "cursor refresh rate" can be adjusted perfectly.
I take note of what you say, but I can confirm that I have never had any of the issues you mentioned above using it this way.

I only emulate on a cathode ray TV screen.
Most graphics cards I've tested don't support 0.001Hz tolerances like the "Slider Refresh Rate" option allows. So even if I respect the values ​​taken from Mame's sources, the result is not necessarily good.
if you look at older Mame versions you can see that many games run at 60Hz. What is impossible on real PCBs, but for all these games no problem they all worked very well. except they weren't spinning at the true original speed. it's like changing the cadence of the oscillators on the PCB, but as long as the modeline structure doesn't change the game runs fine and it's very smooth, no problem.

This technique can also be used by modifying the values ​​of the real modeline under windows, just change the values of the pixel clock frequency to get 60HZ all round., without touching the structure of the modeline. This practice has already been used for the Neo-Geo system which has a refresh rate of 59.185606Hz and therefore to make the system believe that it is necessary to increase the rate of the oscillator, basically it is a modeline overclock and that works great..

Thanks a lot for your answers

Return to “MAME Discussion”