Next Previous Contents

16. MythGame.

http://www.mameworld.net/ is an excellent resource for all things mame.

Installation overview:

  1. Setup directory structure
  2. Download and install xmame
  3. Download and place files (artwork/catver.ini/etc..)
  4. Download and install mythgame plugin
  5. Setup mythgame from inside mythfrontend
  6. Hints: No joystick solution

16.1 Setup Directory Structure

To keep things organized, create the following directories for xmame to use in /usr/local/share/xmame: hiscore, roms, and snaps.

$ mkdir -p /usr/local/share/xmame/{highscore,roms,snaps}

16.2 Download and Install xmame

Download the source to xmame from http://x.mame.net/download/xmame-0.97.tar.bz2

$ wget http://x.mame.net/download/xmame-0.97.tar.bz2
$ tar -xjf xmame-0.97.tar.bz2
$ cd xmame-0.97

Edit the Makefile with your favorite editor. Adjust the options as required for your system.

$ joe Makefile

Then make and install xmame

$ make
$ su
(enter password)
# make install
# exit

After mame has been installed, we need to create some defaults.

$ mkdir ~/.xmame
$ cp docs/xmamerc.dist ~/.xmame/xmamerc

Because some ROMS work better with different display toolkits, or possibly even older versions of xmame, it's convenient to keep all of your xmame binaries and to rename them to include the version number, then make a symbolic link to "xmame". If you want to test a different version of xmame at some point you only need to switch this link.

$ su
(enter password)
# mv /usr/local/bin/xmame.x11 /usr/local/bin/xmame-0.97.x11
# ln -s /usr/local/bin/xmame-0.97.x11 /usr/local/bin/xmame
# exit

NOTE: Depending on how you compiled xmame, you may have xmame.X11, xmame.SDL or xmame.xgl based on what display toolkit you used. Also, you may need to remove and recreate xmamerc after upgrading since some of the default options may have changed.

Confirm that xmame works before running it inside MythTV. Place your ROM in the /usr/local/share/xmame/roms directory you created earlier.

NOTE: There are three public domain ROM sets available at http://www.mame.net/downmisc.html

Launch xmame with your game of choice. In this example, we are using Gauntlet.

$ xmame gauntlet

Some basic mame keyboard commands:

5 = Insert coin
1 = Player 1 start
arrow keys = movement
left control = button 1
left alt = button 2
SPACE = button 3
ESC = exit
TAB - menu
~ to adjust Volume
     < and >

16.3 Download extra files

The following files allow you to add extra functionality. Place them into /usr/local/share/xmame

- catver.ini is a catalog of categories and versions of popular mame ROMs.

Useful for keeping large libraries of ROMs organized.

It may be downloaded from http://www.catver.com or http://www.mameworld.net/catlist

- Screenshots aka "snaps"

These may be downloaded from http://www.classicgaming.com/mame32qa/

Screenshots are displayed when you are browsing your ROMS in mythgame. Unzip and place them in /usr/local/share/xmame/snaps

- history.dat

Download from http://www.arcade-history.com/history_database.php This file fills in a bit of background about each ROM.

- hiscore.dat

Download from http://www.mameworld.net/highscore/

- Cheats

Download from http://cheat.retrogames.com/

16.4 Download and Install Mythgame.

mythgame is part of the mythplugins package. See the instructions in the Downloading and Compiling section to obtain mythplugins.

Switch to the mythplugins directory:

$ cd ~/mythplugins-0.18.1

Compile and install mythgame:

$ ./configure --disable-all --enable-mythgame
$ qmake mythplugins.pro
$ make
$ su
(enter password)
# make install
# exit

16.5 Setup mythgame

Start mythfrontend and navigate to Utilities/Setup>Setup>Media Settings>Game Settings>General Settings

On page one you can setup the display order of your games, on page 2 and 3 you need to enter the paths to files and directories that xmame uses.

MAME binary location:  /usr/local/bin/xmame               (path to xmame binary)
MAME ROM location:     /usr/local/share/xmame/roms        (where you store all your roms)
catver.ini file:       /usr/local/share/xmame/catver.ini  (Category and Version information for your ROMs)
MAME screenshots path: /usr/local/share/xmame/snaps       (screenshots of ROMs in play)
MAME hiscores path:    /usr/local/share/xmame/hiscore     (directory for mame to create hiscore.hi files)
MAME hiscores file:    /usr/local/share/xmame/hiscore.dat (file that tells mame how to store hiscores)
MAME flyers path:      /usr/local/share/xmame/flyers      (not used with mythgame)
MAME cabinets path:    /usr/local/share/xmame/cabinets    (not used with mythgame)
MAME history path:     /usr/local/share/xmame/history.dat (a little history about each game)
MAME cheat files path: /usr/local/share/xmame/cheats
MAME image downloader                                     (no longer used)

Setup options:

Automatically download images - no longer used

Show disclaimer - show warning about illegal ROMs before starting each ROM.

Show game info - show info about the game, ie:year, maker, CPU, sound, screen resolution before starting the game

16.6 Hints:

No joystick causing failure to launch.

By default, mythgame expects that you have a joystick installed. xmame will fail to launch because mythgame sends the option "-joytype 4" to xmame by default. You may reset this using the following command:

NOTE: The following command will set the joytype to "0" for all hosts. If you need to specify this on a per-host basis you can either modify the command below (if you know SQL), or use a tool which simplifies access to MySQL such as phpMyAdmin.

$ mysql -u root -e "update mythconverg.mamesettings set joytype=0"


Next Previous Contents