Flynn - v0.94.1 / 2004-08-24

A graphical front-end for XMAME

Adam D. Moss, /
There are several fairly decent front-ends around. Why did I make another one?

Recent Noteworthy Changes (newest first)


Get flynn-0.94.1.tar.gz here (7K).
I strongly recommend also downloading flynn-testdir.tar.gz (2.5MB) which is a bumper pack of icons and configuration files to serve as an example of a Flynn configuration tree (more info below). These are merely examples; do bear in mind the issues of the legality of using any given ROM set.

Compilation / Requirements

Flynn requires GTK (mostly for gdkrgb). A Makefile is included in the Flynn package, so to compile Flynn just typing 'make' should suffice. There are very few user-servicable parts in the Makefile, but there will be in some future release.
Note: There are several #defines to adjust at the top of flynn.c, if you feel inclined. These control animation speed, Flynn window dimensions and such.


Use the cursor keys to select a game/option from the spooky scrolly wiggly gamescape, then press any key except for ESC. ESC will exit Flynn.

An active Flynn will go to sleep after a few minutes of inactivity to help keep your (my) CPU cool. Press a key to re-awaken Flynn.

Flynn saves its state to the file /tmp/flynn.state between invokations. From a security point of view that's not excellent, so for now at least I can advise that you don't run Flynn on a multi-user machine unless /tmp/flynn.state is chowned by you and chmod 644.


For a quick start I recommend that you have a look at the flynn-testdir.tar.gz from the download section above and learn by example; that file sets up a large number of selectable games and also provides an example ('HELP.conf') of using xv to animate a simple help-screen for a converted arcade cabinet. Most global configuration options (paths to ROMs, XMAME, etc) are in the 'defaultenv' file in this tar-ball. Here follow more detailed instructions:

Flynn reads its list of icons from a directory name given to it on the command line. For example, to start Flynn with the configuration tree supplied in flynn-testdir.tar.gz one would unpack the configuration tree and then execute 'flynn PATH_TO_CONFIG_DIRECTORY', e.g. 'flynn /usr/local/share/flynn/test'

Flynn will then load the gamelist file in the config directory. Each line in this file is simply the name of an option on the menu which is to be presented to the user. For each option, Flynn will try to use the icon games/OPTION_NAME.ppm or will default to default.ppm. All files mentioned here are relative to the config directory supplied on the command-line. These PPM files should be 24-bit raw PPM files of a precise dimension (154x106 pixels by default), as writeable with (for example) GIMP and xv.

When an option is selected, Flynn shuts down and 'run_game' (again, in the configuration directory) is called with four parameters: (1) the option/game name, (2) the working directory of Flynn, (3) Flynn's executable name, (4) Flynn's parameter (ie. the config dir). Parameters 2-4 are passed through so that Flynn may be restarted by the run_game script after the game has been run.

A simple and flexible run_game script is included in the aforementioned flynn-testdir.tar.gz. It grabs default parameters for executing a game/option from defaultenv and then sources a per-option games/OPTION_NAME.conf file, if it exists, which can override default XMAME command-line options on a per-game basis and even override the whole command-line (so as, for example, to do something completely different from running XMAME -- see the games/HELP.conf example).

To do

This release is a quick 'getting it out there' release, and at the source level currently shows its roots as an evening's hack. These things are needing attention as time permits:


Do let me know if Flynn is / was / will be of any interest. / / Adam D. Moss