<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21"> <TITLE>Installing and using MythTV: MythGame.</TITLE> <LINK HREF="mythtv-HOWTO-17.html" REL=next> <LINK HREF="mythtv-HOWTO-15.html" REL=previous> <LINK HREF="mythtv-HOWTO.html#toc16" REL=contents> </HEAD> <BODY> <A HREF="mythtv-HOWTO-17.html">Next</A> <A HREF="mythtv-HOWTO-15.html">Previous</A> <A HREF="mythtv-HOWTO.html#toc16">Contents</A> <HR> <H2><A NAME="s16">16.</A> <A HREF="mythtv-HOWTO.html#toc16">MythGame.</A></H2> <P>MythGame can used as a frontend to start any emulator that your host OS runs. This is an example of how to set up xmame on Linux. <A HREF="http://www.mameworld.net/">http://www.mameworld.net/</A> is an excellent resource for all things mame.</P> <P>Installation overview: <OL> <LI>Setup directory structure</LI> <LI>Download and install xmame</LI> <LI>Download and place extra files (artwork/catver.ini/etc..)</LI> <LI>Download and install MythGame plugin</LI> <LI>Setup xmame in MythGame</LI> <LI>Hints</LI> </OL> </P> <H2><A NAME="ss16.1">16.1</A> <A HREF="mythtv-HOWTO.html#toc16.1">Setup Directory Structure</A> </H2> <P>To keep things organized, create the following directories for <B>xmame</B> to use in <CODE>/usr/local/share/xmame</CODE>: hiscore, roms, and snaps.</P> <P> <BLOCKQUOTE><CODE> <PRE> $ mkdir -p /usr/local/share/xmame/{highscore,roms,snaps} </PRE> </CODE></BLOCKQUOTE> </P> <H2><A NAME="ss16.2">16.2</A> <A HREF="mythtv-HOWTO.html#toc16.2">Download and Install xmame</A> </H2> <P><B>NOTE</B>: There may be pre-packaged versions of <B>xmame</B> available for your distribution. Check <A HREF="http://x.mame.net/download.html">http://x.mame.net/download.html</A> for the latest version.</P> <P>Download the source to <B>xmame</B> from <A HREF="http://x.mame.net/download/xmame-0.103.tar.bz2">http://x.mame.net/download/xmame-0.103.tar.bz2</A></P> <P> <BLOCKQUOTE><CODE> <PRE> $ wget http://x.mame.net/download/xmame-0.103.tar.bz2 $ tar -xjf xmame-0.103.tar.bz2 $ cd xmame-0.103 </PRE> </CODE></BLOCKQUOTE> </P> <P>Edit the Makefile with your favorite editor. Adjust the options as required for your system. <BLOCKQUOTE><CODE> <PRE> $ joe Makefile </PRE> </CODE></BLOCKQUOTE> </P> <P>Then make and install xmame <BLOCKQUOTE><CODE> <PRE> $ make $ su (enter password) # make install # exit </PRE> </CODE></BLOCKQUOTE> </P> <P>After <B>mame</B> has been installed, we need to create some defaults. <BLOCKQUOTE><CODE> <PRE> $ mkdir ~/.xmame $ cp docs/xmamerc.dist ~/.xmame/xmamerc </PRE> </CODE></BLOCKQUOTE> </P> <P>Because some ROMS work better with different display toolkits, or possibly even older versions of xmame, it's convenient to keep all of your <B>xmame</B> binaries and to rename them to include the version number. MythGame allows you to match individual roms to preferred binaries.</P> <P> <BLOCKQUOTE><CODE> <PRE> $ su (enter password) # mv /usr/local/bin/xmame.x11 /usr/local/bin/xmame-0.103.x11 # exit </PRE> </CODE></BLOCKQUOTE> </P> <P><B>NOTE</B>: Depending on how you compiled <B>xmame</B>, you may have <B>xmame.X11</B>, <B>xmame.SDL</B> or <B>xmame.xgl</B> based on what display toolkit you used. Also, you may need to remove and recreate <CODE>xmamerc</CODE> after upgrading since some of the default options may have changed.</P> <P>Edit <CODE>~/.xmame/xmamerc</CODE> to include your paths. <BLOCKQUOTE><CODE> <PRE> ### Fileio Related ### rompath /usr/local/share/xmame/roms snapshot_directory /usr/local/share/xmame/snaps cheat_file /usr/local/share/xmame/cheat.dat hiscore_file /usr/local/share/xmame/hiscore.dat hiscore_directory /usr/local/share/xmame/hiscore history_file /usr/local/share/xmame/history.dat mameinfo_file /usr/local/share/xmame/mameinfo.dat </PRE> </CODE></BLOCKQUOTE> </P> <P>Confirm that <B>xmame</B> works before running it inside MythTV. Place your ROM in the <CODE>/usr/local/share/xmame/roms</CODE> directory you created earlier.</P> <P><B>NOTE</B>: There are three public domain ROM sets available at <A HREF="http://www.mame.net/downmisc.html">http://www.mame.net/downmisc.html</A></P> <P>Launch <B>xmame</B> with your game of choice. In this example, we are using Gauntlet. <BLOCKQUOTE><CODE> <PRE> $ xmame gauntlet </PRE> </CODE></BLOCKQUOTE> </P> <P>Some basic <B>mame</B> keyboard commands: <BLOCKQUOTE><CODE> <PRE> 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 > </PRE> </CODE></BLOCKQUOTE> </P> <H2><A NAME="ss16.3">16.3</A> <A HREF="mythtv-HOWTO.html#toc16.3">Download extra files</A> </H2> <P>The following files allow you to add extra functionality. Place them into <CODE>/usr/local/share/xmame</CODE></P> <P>- <CODE>catver.ini</CODE> is a catalog of categories and versions of popular mame ROMs.</P> <P>Useful for keeping large libraries of ROMs organized.</P> <P>It may be downloaded from <A HREF="http://www.catver.com">http://www.catver.com</A> or <A HREF="http://www.mameworld.net/catlist">http://www.mameworld.net/catlist</A></P> <P>- Screenshots aka "snaps"</P> <P>These may be downloaded from <A HREF="http://www.classicgaming.com/mame32qa/">http://www.classicgaming.com/mame32qa/</A></P> <P>Screenshots are displayed when you are browsing your ROMS in <B>mythgame</B>. Unzip and place them in <CODE>/usr/local/share/xmame/snaps</CODE></P> <P>- <CODE>history.dat</CODE></P> <P>Download from <A HREF="http://www.arcade-history.com/">http://www.arcade-history.com/</A> This file fills in a bit of background about each ROM.</P> <P>- <CODE>hiscore.dat</CODE></P> <P>Download from <A HREF="http://www.mameworld.net/highscore/">http://www.mameworld.net/highscore/</A></P> <P>- Cheats</P> <P>Download from <A HREF="http://cheat.retrogames.com/">http://cheat.retrogames.com/</A></P> <H2><A NAME="ss16.4">16.4</A> <A HREF="mythtv-HOWTO.html#toc16.4">Download and Install MythGame.</A> </H2> <P><B>MythGame</B> is part of the mythplugins package. See the instructions in the <A HREF="mythtv-HOWTO-5.html#DownloadAndCompile">Downloading and Compiling</A> section to obtain mythplugins.</P> <P>Switch to the mythplugins directory: <BLOCKQUOTE><CODE> <PRE> $ cd ~/mythplugins-0.21 </PRE> </CODE></BLOCKQUOTE> </P> <P>Compile and install mythgame: <BLOCKQUOTE><CODE> <PRE> $ ./configure --disable-all --enable-mythgame $ qmake mythplugins.pro $ make $ su (enter password) # make install # exit </PRE> </CODE></BLOCKQUOTE> </P> <H2><A NAME="ss16.5">16.5</A> <A HREF="mythtv-HOWTO.html#toc16.5">Setup xmame in MythGame</A> </H2> <P>Start <B>mythfrontend</B> and navigate to Utilities/Setup > Setup > Media Settings > Game Settings > Game Players. Select <CODE>(New Game Player)</CODE>.</P> <P>To set up a new player for xmame enter the following:</P> <P> <BLOCKQUOTE><CODE> <PRE> Player Name: xmame-0.103.x11 (Name by which you want your emulator or game called) Type: xmame (This is used for display purposes only and does not affect the function of your system) Command: xmame-0.103.x11 -vidmod 1 -fullscreen (Path and name of binary + any optional parameters) Rom Path: /usr/local/share/xmame/roms (This tells MythGame what directories to scan for roms to be used with this emulator) ScreenShots: /usr/local/share/xmame/snaps (This tells MythGame what directories to scan for snapshots to be used with these roms) Working Directory: (Directory to change to before launching game or emulator. Blank in our case ignores this setting) File Extensions: (List of all file extension to be used for this emulator. Blank menas any file under the Rom Path) [] Allow games to span multiple roms/disks (will treat game.1.rom game.2.rom game.3.rom as one game) </PRE> </CODE></BLOCKQUOTE> </P> <H2><A NAME="ss16.6">16.6</A> <A HREF="mythtv-HOWTO.html#toc16.6">Hints:</A> </H2> <P> <UL> <LI>Rom name before options: %s can be used as a standin for rom names on the command line.</LI> <LI>Multiple disk/rom games: %d1 %d2 etc can be used as standins for multiple disc games on the command line.</LI> <LI>Associating a rom with an emulator: Browse to the desired rom and press 'M' to enter the settings page for that rom.</LI> <LI>Assign a Game Favorite Status: Browse to the desired game and press "/".</LI> </UL> </P> <HR> <A HREF="mythtv-HOWTO-17.html">Next</A> <A HREF="mythtv-HOWTO-15.html">Previous</A> <A HREF="mythtv-HOWTO.html#toc16">Contents</A> </BODY> </HTML>