Horizontal / vertical launching software for Game Launcher
& other emulator front-ends that support screen rotation

Stephen Roxburgh, July 2007

[Back to main Downloads page]


Introduction     Overview     Usage modes     Configuration     Other info     Downloads

Game Launcher by Dave Dribin is a generic front-end for game emulators, and like many other MAME enthusiasts I use Game Launcher in my Windows-based MAME cabinet. It's simple to set up, it's flexible, and the no-frills yet elegant interface is the perfect complement to those old arcade games we all love to play.

In order to start Game Launcher automatically when the computer powers up, and then to automatically shut down the computer at the end of a session, I had been using Ken Rager's handy utility 'GLauncher'. Having this functionality simply means the cabinet on/off can be controlled by one external button. However, my cabinet, like many others, has a rotating monitor to make the most of both horizontal and vertical games (see e.g. Bob's Space Invader, whose design I based my own cab on - thanks again Bob!). Physically rotating the monitor only takes a few seconds, but closing down one version of the emulator front-end (i.e. one configured to play games horizontally) and opening another (i.e. one configured to play games vertically), was a bit of a pain, as it meant exiting to the OS and then selecting the appropriate icons on the Windows desktop. Tricky when you keep forgetting the joystick/button equivalent key combinations for 'tab' and 'enter', and time consuming when you have to dig the mouse out the back of the cab.

That's where HVLauncher comes in.

HVLauncher has the same basic functionality as Glauncher, but with a GUI menu to allow joystick-selection of one of two versions of the emulator front-end - horizontal or vertical (if you are a bit puzzled by all this, have a look at Bob's Space Invader site for a description on how to configure your setup to run games both horizontally and vertically using dual configurations of Game Launcher). If your cab does not have a rotating monitor, HVLauncher can be configured to hide the menu, and to invisibly start up the front-end on boot, and shut down the computer when the front-end is terminated (see 'Usage modes' below) . I have written this document assuming Game Launcher is the emulator front-end, and all the illustrations show Game launcher, but it should work with any emulator front-end that supports both horizontal and vertical display (see 'Configuration settings').

Program overview
HVLauncher runs in the Windows environment, and requires an ATX-type power supply. The screen shots and flow diagrams below summarise the functionality:

This is the main menu, that appears once you have finished playing games and have exited the front-end.

The game images ('snaps' in MAME lingo; Galaga in the shot above) are read from sub-directories within the HVLauncher program folder. Any number of snaps (in PNG format) can be added to these directories, but to display properly they are separated into to sub-sub-directories (labelled 'H' and 'V') on the basis of each game's orientation.

A selection of snaps is provided. These game snaps are continuously updated in the menu in a random order (with a user-controlled time-interval between transitions).

Pushing the joystick to the left ('Play games vertical') runs the configuration of the front-end to run games in vertical mode, e.g.:

and pushing to the right ('Play games horizontal') runs the horizontal configuration

My Game Launcher configuration is set up so that all MAME games can be played in either orientation - its just that vertical games will only fill the central portion of the screen in horizontal mode (as with Mr Do! above), and vice versa. You can also set up one configuration of the front-end to run just horizontal games, and the other just vertical. Its a matter of taste.

Pushing the joystick forward toggles the menu from vertical to horizontal, to match the current (physical) monitor orientation (selecting either 'Play games vertical' or 'Play games horizontal' sets the menu to the correct orientation too).

Pulling the joystick back shuts down the computer (with a timer to allow the shut-down procedure to be aborted):

Usage modes
When HVLauncher is configured to display the full menu, the sequence of events can be summarised as follows:

You can also configure HVLauncher to display the shutdown screen straight after the front-end (Game launcher) exits, so you don't have to double-handle the shutdown process if you don't want to. 'ESC' is the escape key, or the equivalent joystick/button combination. The default MAME setting is the Player 1 + Player 2 button combination. 

When HVLauncher is configured to hide the main menu, e.g. for a cab that runs in only one orientation, the sequence is

Explanation of the configuration file (HVLauncher.cfg) settings
The contents of the configuration file are shown in dark blue, with accompanying explanations.

# Hide HVLauncher interface (YES, NO)

'Yes' will configure the software to hide the main menu, as in the previous diagram; 'No' displays the full menu.

# Path to the Vertical configuration of the emulator
# Path to the Horizontal configuration of the emulator

Provide the paths to the horizontally and vertically configured versions of the emulator front-end (Game Launcher in the example above). Note that emulator front-ends other than Game Launcher that support horizontal and vertical rotations could also be specified.

The settings above show I have duplicate Game Launcher directories (GLaunchV & GLaunchH), with a copy of GLaunch.exe in each. Alternatively, you can specify locations of two Windows shortcut files that point to the same executable, but with different specified startup directories (see Bob's site for an explanation of how to do this). When specifying a windows shortcut file, be sure to type in the actual name of the shortcut file (which has a *.lnk extension), and not the application it points to (which is what is displayed in Explorer). To find out the shortcut's underlying .lnk name, open a command window in the directory where your shortcut(s) reside, and type 'dir *.lnk'. My desktop has the following shortcuts:    

The second last shortcut on the list has the desktop label 'Shortcut to glaunch.exe', but the actual filename is listed as ''Shortcut to glaunch.exe.lnk', and this is the name to type in the config file. The Windows shortcut naming convention is slightly different in Win98SE, but the principle is the same. Actually, in Win98SE you can view the .lnk filename by right-clicking on the desktop icon and selecting properties. This feature is not supported in XP. How useful.

# Alternate game snap animation (YES or NO)
Toggles between displaying a different game snap in the horizontal and vertical image windows ('YES') at the same time, or displaying the same game snap in each window ('NO').

# Length of long axis of animated game snap (pixels)
This setting controls the relative size of the snap image on the main menu.

# Border size surrounding game snap

This setting controls the white/grey border surrounding the snap images.

# Distance of each game snap from screen centre (pixels)
# Distance of each arrow from screen centre (pixels)
More settings to control the layout of the menu components. May be of use for some screen resolution settings.

# Time, in milliseconds, of image turnover (1s = 1000ms)
The time between the transitions between the game snap images.

# Time, in milliseconds, to allow user to interrupt shutdown procedure (1s = 1000ms)
The amount of time given to abort the computer shutdown procedure.

# Shut down computer after exiting emulator front-end (YES, NO)
Provides an option for automatically shutting the computer down once the front-end is terminated. Aborting the shutdown will return to the HVLauncher menu. Valid only when the 'Hide HVLauncher Interface' option is set to 'No'.

# Internal wait time for background check of emulator front-end ExitCode status (ms)

As the front-end is running and you are busy playing Xevious or Pacman or whatever, HVLauncher is lurking in the background waiting for you to finish. Left to its own devices it will continuously check to see if the front-end  has been terminated or not, sucking up valuable processor time, and in the process causing some games in MAME to slow down. Adding this delay (default 1 sec) prevents this happening. You shouldn't have to change this.

Other info
Screensaver. Because HVLauncher is just a standard Win32 application in disguise, the standard windows screen saver can be used. Note Game Launcher has its own independent screen saver - see the downloads section under 'Slicker font'.

The menu components (arrows, joystick, labels etc.) re-scale automatically according to the current system screen settings, but the best resolution to run is 1280x1024, as this does not requires internal 'stretching' the bitmaps to fit the screen.

'HVLauncher.Ini' file. HVLauncher generates its own .ini file, which just records the last user setting (horizontal or vertical). It can be safely ignored.

Installation. None to speak of. Just unzip to a directory, edit the HVLauncher.cfg configuration file to point to the locations of your files that run games horizontally and vertically (i.e. Glaunch.exe, or shortcuts), and any other of the above settings you want to fiddle with. Finally, add a shortcut to HVLauncher.exe to the windows startup folder (on the toolbar), and you are away. I would, however, suggest running it first from the desktop to make sure its all OK, before committing it to the startup folder!

Licence: Freeware. No guarantees. No responsibility.

Disclaimer!: I have been using this program on my own XP and 98SE computers without a problem, but it has not been tested on any other systems, nor with other sorts of graphics cards or power supplies etc. Use at your own risk!

Downloads NEW! Updated version with 'Alternate game snap' option in the config file (see above), and with the interface images now made available in a sub-directory to allow customisation added May 2015 (thanks to Dave Morgan for those suggestions).

Download the program -  HVLauncher.zip.
Contains the main program file (HVLauncher.exe), a copy of my HVLauncher configuration file (which you will need to edit to suit your system), a copy of the information on this web page, and a selection of 56 MAME snap files (which can be deleted and replaced with your own favourites, if you wish).

Download the Source Code.
HVLauncher w
as written in Borland Delphi 7.0/Borland Studio 2006. The source code includes all files required to compile, except for the freeware GraphicEX library, which is needed to read the PNG file format. The GraphicEX library can be downloaded here.

Download my customised SlickerSI.ttf. font.
I like the default Slicker font distributed with Game Launcher. SlickerSI.ttf is a slightly modified version of this. It is the same as Slicker, except I've replaced the '?' glyph with a '
', and the '@' is replaced with a ''. Why? I hear you ask. The Game Launcher screen saver is a simple text message, which is a bit dull. These edited characters allow you to have an invader (or string of invaders) bounce around the screen, rather than 'Hello world', or something equally lame. I chose '?' and '@' as they didn't seem to be used much in arcade game names.


Comments, suggestions, bug reports and abuse to roxys@netspeed.com.au

Introduction     Overview     Usage modes     Configuration     Other info     Downloads