Advanced Configuration: The ArcadePerfect Utility.


Download the program here

NOTE this is beta software.
Let us know if any problems/comments.

IMPORTANT This program is for advanced users and allows you to change the refresh rate outside of the operable range for your monitor. In extreme cases this could cause monitor damage!
It is designed for purists who wish to get the most from their card but we expect usage to be at a low level.
Make sure before you try to use this utility that you first:

  • Have a stable ArcadeVGA installation
  • Know what the implications of changing refresh rates and other video timings are.

What this program does:

The program allows you to tweak picture size, position and vertical refresh rate using mouse clicks or hotkeys.
The adjustments can be made on the fly and, uniquely, you will see the change happen immediately so you can "fine tune" the display for each game while the game is running. The adjustment of vertical refresh is especially useful as you can at last eliminate the "tearing" effect which can happen on scrolling games without having to resort to other workarounds.
Once the adjustments have been made, you can save the settings to a file which you can associate with a specific game. Then running the program (including from a command line) and loading the file will cause the display to change to the specified resolution and settings.

Note that the program avoids creating new resolutions, it applies changes to existing only. This means a certain resolution can have any number of refresh rates. When the settings are applied by using a saved file, the resolution specified in the file is switched-to first, then the custom settings from the file are applied.

When used with Mame, this allows you to effectively create an infinite number of resolutions. This is because of the way Mame (in DirectDraw mode) creates equal borders around games when the game res is below the current screen res. The custom settings allow the border to be removed thereby creating the same result as if the screen had a resolution matching the game exactly.

You can also tweak the vertical refresh to eliminate scroll tearing.

How to use (GUI Mode):

You can experiment using the program in GUI mode before trying it in a "real" situation.
When you start the program, the current screen resolution will be displayed, along with figures representing horizontal and vertical size, plus horizontal and vertical position.
Note these figures are for use in this program only, and don’t equate to any actual modeline values.
Also the refresh rates will be displayed. The horizontal refresh is a calculated value and cant be manually changed. The vertical refresh can be changed.
When you click “Save”, you can save the current settings to a “rsl” file. You can also load settings from a rsl file.

Its worth trying the adjustments to see what happens. You will notice that if you increase the vertical refresh rate, the horizontal refresh rate is also increased. This is part of the basic mathematics of video modes, which this program has to operate within. This is important because it means that you are constrained within the monitor specs. If you have a standard resolution monitor, this is specced to run at a horizontal frequency of 15.7 Khz. Its likely that large changes of vertical or horizontal refresh will cause the sync to be lost and adjustment of the vertical or horizontal hold will be required. You should not exceed approx. 18Khz horizontal on a standard resolution monitor otherwise damage may occur.
Note there is a hotkey to jump back to 640 X 480 if you lose a visible picture, see later.

This program is intended to be used for “fine tuning” only, which is why we have only “single click” changes. Each mouse click changes by one pixel or 0.1 Hz.

How to use with MAME:

This is where the hotkeys become useful. You can click “HELP” for a list of hotkeys.


To set up for a game:
  • Start the program
  • Start the game
  • Use the hotkeys to adjust, in particular adjust the V refresh to eliminate any scroll tearing
  • Press “CTRL-END”. This will lock the settings, change to 640 x 480 and open the file save dialog
  • Save the “rsl” file. You can use the name of the game for the file.


How to use with Command Line:

You will need to configure the game in Mame to turn off “Switch Resolution to Fit”. Then you can run a command-line “arcadeperfect name.rsl” where “name” is the name of the saved “rsl” file for that game.

 Many front-ends allow command-line programs to be run on game start.