summaryrefslogtreecommitdiff
path: root/games/mame
diff options
context:
space:
mode:
authorErik Hanson <erik@slackbuilds.org>2010-07-09 12:15:00 -0500
committerRobby Workman <rworkman@slackbuilds.org>2010-07-10 02:17:58 -0500
commit6f8febc32df09fd640f027344c9f22dd88ffe687 (patch)
treec83c0df16240c0ce2dc2718fe9b0f3e9dc22ea29 /games/mame
parentef40aaa13a967b2438bd5225b40c57caeffbe357 (diff)
downloadslackbuilds-6f8febc32df09fd640f027344c9f22dd88ffe687.tar.gz
games/mame: Added (Multiple Arcade Machine Emulator)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'games/mame')
-rw-r--r--games/mame/README7
-rw-r--r--games/mame/doinst.sh20
-rw-r--r--games/mame/ini_path.diff11
-rw-r--r--games/mame/mame.SlackBuild117
-rw-r--r--games/mame/mame.desktop8
-rw-r--r--games/mame/mame.info10
-rw-r--r--games/mame/mame.ini266
-rw-r--r--games/mame/mame.xpm161
-rw-r--r--games/mame/man/chdman.657
-rw-r--r--games/mame/man/jedutil.643
-rw-r--r--games/mame/man/ldverify.644
-rw-r--r--games/mame/man/mame.6179
-rw-r--r--games/mame/man/romcmp.641
-rw-r--r--games/mame/man/testkeys.637
-rw-r--r--games/mame/slack-desc19
15 files changed, 1020 insertions, 0 deletions
diff --git a/games/mame/README b/games/mame/README
new file mode 100644
index 0000000000..b9bbd4a07a
--- /dev/null
+++ b/games/mame/README
@@ -0,0 +1,7 @@
+MAME stands for Multiple Arcade Machine Emulator. When used in conjunction
+with images of the original arcade game's ROM and disk data, MAME attempts
+to reproduce that game as faithfully as possible on a more modern general
+purpose computer. MAME can currently emulate several thousand different
+classic arcade video games from the late 1970s through the modern era.
+
+This requires GConf.
diff --git a/games/mame/doinst.sh b/games/mame/doinst.sh
new file mode 100644
index 0000000000..787a7d4e51
--- /dev/null
+++ b/games/mame/doinst.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/mame.ini.new
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications
+fi
diff --git a/games/mame/ini_path.diff b/games/mame/ini_path.diff
new file mode 100644
index 0000000000..672d9510a9
--- /dev/null
+++ b/games/mame/ini_path.diff
@@ -0,0 +1,11 @@
+--- makefile.orig 2010-05-13 11:12:54.000000000 -0500
++++ makefile 2010-07-08 12:49:27.645225534 -0500
+@@ -362,6 +362,8 @@
+ DEFS = -DCRLF=3
+ endif
+
++# 20090304 bkw: Look for mame.ini in ~/.mame, then /etc
++DEFS += -DINI_PATH="\"\$$HOME/.mame;/etc\""
+ # map the INLINE to something digestible by GCC
+ DEFS += -DINLINE="static inline"
+
diff --git a/games/mame/mame.SlackBuild b/games/mame/mame.SlackBuild
new file mode 100644
index 0000000000..94586a9d8f
--- /dev/null
+++ b/games/mame/mame.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+#
+# Slackware build script for M.A.M.E.
+#
+# Copyright 2010 Erik W. Hanson, Minneapolis, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Adapted from sdlmame.SlackBuild, Written by B. Watson (yalhcru@gmail.com)
+
+PRGNAM=mame
+VERSION=${VERSION:-0.138}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-march=i486 -mtune=i686"
+ SUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-march=i686 -mtune=i686"
+ SUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-fPIC"
+ SUFFIX="64"
+else
+ SLKCFLAGS=""
+ SUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION mame.zip
+unzip $CWD/${PRGNAM}${VERSION/./}s.zip
+mkdir $PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+unzip ../mame.zip
+chown -R root:root .
+chmod -R a-s,u+w,go+r-w .
+
+# This patch makes mame look for its config file (mame.ini) in
+# $HOME/.mame, then /etc.
+cat $CWD/ini_path.diff | patch -p0
+
+make OPTIMIZE=3 ARCHOPTS="$SLKCFLAGS"
+make tools
+
+# There is no "make install" target, just copy everything where it goes.
+# Binaries are already stripped.
+mkdir -p $PKG/usr/games
+cp mame${SUFFIX} $PKG/usr/games/mame
+cp testkeys romcmp jedutil unidasm ldresample ldverify \
+ regrep srcclean src2html $PKG/usr/games/
+
+mkdir -p $PKG/etc
+cat $CWD/mame.ini > $PKG/etc/mame.ini.new
+
+# Create empty dirs for the user to populate with ROMs and such.
+for i in roms samples artwork ctrlr font cheat; do
+ mkdir -p $PKG/usr/share/games/mame/$i
+done
+
+# Man pages, .desktop, and icon borrowed from Ludovic Lechapt's Debian package.
+mkdir -p $PKG/usr/man/man6
+for i in chdman jedutil ldverify romcmp testkeys; do
+ gzip -9c $CWD/man/$i.6 > $PKG/usr/man/man6/$i.6.gz
+done
+
+sed 's/@VERSION@/'$VERSION'/g' < $CWD/man/mame.6 | gzip -9c > $PKG/usr/man/man6/mame.6.gz
+
+mkdir -p $PKG/usr/share/applications
+cp $CWD/$PRGNAM.desktop $PKG/usr/share/applications
+
+mkdir -p $PKG/usr/share/pixmaps
+cp $CWD/mame.xpm $PKG/usr/share/pixmaps
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp *.txt docs/* $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/games/mame/mame.desktop b/games/mame/mame.desktop
new file mode 100644
index 0000000000..9760346da4
--- /dev/null
+++ b/games/mame/mame.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=MAME
+Comment=MAME(tm) arcade emulator
+Exec=/usr/games/mame
+Icon=mame
+Terminal=false
+Type=Application
+Categories=Game;
diff --git a/games/mame/mame.info b/games/mame/mame.info
new file mode 100644
index 0000000000..b12c112b9a
--- /dev/null
+++ b/games/mame/mame.info
@@ -0,0 +1,10 @@
+PRGNAM="mame"
+VERSION="0.138"
+HOMEPAGE="http://mamedev.org/"
+DOWNLOAD="http://aarongiles.com/mirror/releases/mame0138s.zip"
+MD5SUM="c0932c5456af79ad83ab0a2dd2219b2e"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="Erik Hanson"
+EMAIL="erik@slackbuilds.org"
+APPROVED="rworkman"
diff --git a/games/mame/mame.ini b/games/mame/mame.ini
new file mode 100644
index 0000000000..6cba13f204
--- /dev/null
+++ b/games/mame/mame.ini
@@ -0,0 +1,266 @@
+#Config file for sdlmame, SlackBuilds.org version
+
+# Modified from the default mame.ini:
+
+# - Search paths set for ~/.mame then systemwide ROM/artwork/etc
+# - Output paths set for per-user configs in ~/.mame
+# - joystick and mouse enabled by default
+# - video set to opengl by default
+
+#
+# CORE CONFIGURATION OPTIONS
+#
+readconfig 1
+
+#
+# CORE SEARCH PATH OPTIONS
+#
+rompath $HOME/.mame/roms;/usr/share/games/mame/roms
+samplepath $HOME/.mame/samples;/usr/share/games/mame/samples
+artpath $HOME/.mame/artwork;/usr/share/games/mame/artwork
+ctrlrpath $HOME/.mame/ctrlr;/usr/share/games/mame/ctrlr
+inipath $HOME/.mame;/etc
+fontpath $HOME/.mame;/usr/share/games/mame/font
+cheatpath $HOME/.mame/cheat;/usr/share/games/mame/cheat
+
+#
+# CORE OUTPUT DIRECTORY OPTIONS
+#
+cfg_directory $HOME/.mame/cfg
+nvram_directory $HOME/.mame/nvram
+memcard_directory $HOME/.mame/memcard
+input_directory $HOME/.mame/inp
+state_directory $HOME/.mame/sta
+snapshot_directory $HOME/.mame/snap
+diff_directory $HOME/.mame/diff
+comment_directory $HOME/.mame/comments
+
+#
+# CORE STATE/PLAYBACK OPTIONS
+#
+state
+autosave 0
+playback
+record
+mngwrite
+aviwrite
+wavwrite
+snapname %g/%i
+snapsize auto
+snapview internal
+
+#
+# CORE PERFORMANCE OPTIONS
+#
+autoframeskip 0
+frameskip 0
+seconds_to_run 0
+throttle 1
+sleep 1
+speed 1.0
+refreshspeed 0
+
+#
+# CORE ROTATION OPTIONS
+#
+rotate 1
+ror 0
+rol 0
+autoror 0
+autorol 0
+flipx 0
+flipy 0
+
+#
+# CORE ARTWORK OPTIONS
+#
+artwork_crop 0
+use_backdrops 1
+use_overlays 1
+use_bezels 1
+
+#
+# CORE SCREEN OPTIONS
+#
+brightness 1.0
+contrast 1.0
+gamma 1.0
+pause_brightness 0.65
+
+#
+# CORE VECTOR OPTIONS
+#
+antialias 1
+beam 1.0
+flicker 0
+
+#
+# CORE SOUND OPTIONS
+#
+sound 1
+samplerate 48000
+samples 1
+volume 0
+
+#
+# CORE INPUT OPTIONS
+#
+coin_lockout 1
+ctrlr
+mouse 1
+joystick 1
+lightgun 0
+multikeyboard 0
+multimouse 0
+steadykey 0
+offscreen_reload 0
+joystick_map auto
+joystick_deadzone 0.3
+joystick_saturation 0.85
+
+#
+# CORE INPUT AUTOMATIC ENABLE OPTIONS
+#
+paddle_device keyboard
+adstick_device keyboard
+pedal_device keyboard
+dial_device keyboard
+trackball_device keyboard
+lightgun_device keyboard
+positional_device keyboard
+mouse_device mouse
+
+#
+# CORE DEBUGGING OPTIONS
+#
+log 0
+verbose 0
+update_in_pause 0
+debug 0
+debugscript
+
+#
+# CORE MISC OPTIONS
+#
+bios
+cheat 0
+skip_gameinfo 0
+
+#
+# DEBUGGING OPTIONS
+#
+oslog 0
+
+#
+# PERFORMANCE OPTIONS
+#
+multithreading 0
+sdlvideofps 0
+
+#
+# VIDEO OPTIONS
+#
+video opengl
+numscreens 1
+window 0
+maximize 1
+keepaspect 1
+unevenstretch 1
+effect none
+centerh 1
+centerv 1
+waitvsync 0
+scalemode none
+
+#
+# OpenGL-SPECIFIC OPTIONS
+#
+filter 1
+prescale 1
+gl_forcepow2texture 0
+gl_notexturerect 0
+gl_vbo 1
+gl_pbo 1
+gl_glsl 0
+gl_glsl_filter 1
+glsl_shader_mame0 none
+glsl_shader_mame1 none
+glsl_shader_mame2 none
+glsl_shader_mame3 none
+glsl_shader_mame4 none
+glsl_shader_mame5 none
+glsl_shader_mame6 none
+glsl_shader_mame7 none
+glsl_shader_mame8 none
+glsl_shader_mame9 none
+glsl_shader_screen0 none
+glsl_shader_screen1 none
+glsl_shader_screen2 none
+glsl_shader_screen3 none
+glsl_shader_screen4 none
+glsl_shader_screen5 none
+glsl_shader_screen6 none
+glsl_shader_screen7 none
+glsl_shader_screen8 none
+glsl_shader_screen9 none
+gl_glsl_vid_attr 1
+
+#
+# PER-WINDOW VIDEO OPTIONS
+#
+screen auto
+aspect auto
+resolution auto
+view auto
+screen0 auto
+aspect0 auto
+resolution0 auto
+view0 auto
+screen1 auto
+aspect1 auto
+resolution1 auto
+view1 auto
+screen2 auto
+aspect2 auto
+resolution2 auto
+view2 auto
+screen3 auto
+aspect3 auto
+resolution3 auto
+view3 auto
+
+#
+# FULL SCREEN OPTIONS
+#
+switchres 0
+
+#
+# SOUND OPTIONS
+#
+audio_latency 3
+
+#
+# SDL KEYBOARD MAPPING
+#
+keymap 0
+keymap_file keymap.dat
+
+#
+# SDL JOYSTICK MAPPING
+#
+joy_idx1 auto
+joy_idx2 auto
+joy_idx3 auto
+joy_idx4 auto
+joy_idx5 auto
+joy_idx6 auto
+joy_idx7 auto
+joy_idx8 auto
+sixaxis 0
+
+#
+# SDL LOWLEVEL DRIVER OPTIONS
+#
+videodriver auto
+audiodriver auto
+gl_lib auto
diff --git a/games/mame/mame.xpm b/games/mame/mame.xpm
new file mode 100644
index 0000000000..514ed28870
--- /dev/null
+++ b/games/mame/mame.xpm
@@ -0,0 +1,161 @@
+/* XPM */
+static char * mame_xpm[] = {
+"32 32 126 2",
+" c None",
+". c #1A85BC",
+"+ c #1A7EB8",
+"@ c #197CB5",
+"# c #1F74B5",
+"$ c #1764A5",
+"% c #1766A9",
+"& c #1867AA",
+"* c #186CAC",
+"= c #1870AE",
+"- c #11042C",
+"; c #1C024F",
+"> c #1E0043",
+", c #160139",
+"' c #0C0415",
+") c #240155",
+"! c #160436",
+"~ c #26005C",
+"{ c #1A1354",
+"] c #0B0438",
+"^ c #12051E",
+"/ c #000003",
+"( c #0C133F",
+"_ c #1C025A",
+": c #0C0219",
+"< c #29015F",
+"[ c #545180",
+"} c #689BB3",
+"| c #0A0842",
+"1 c #140521",
+"2 c #215582",
+"3 c #64849B",
+"4 c #397393",
+"5 c #2D016B",
+"6 c #07030B",
+"7 c #328AC5",
+"8 c #120645",
+"9 c #0D040D",
+"0 c #46A0CE",
+"a c #356E8F",
+"b c #2B0166",
+"c c #250467",
+"d c #36017B",
+"e c #525274",
+"f c #3680B8",
+"g c #57B2E6",
+"h c #499FD6",
+"i c #3B7A9E",
+"j c #2D0173",
+"k c #340082",
+"l c #390282",
+"m c #5BB6E7",
+"n c #2175B8",
+"o c #47AFE6",
+"p c #131543",
+"q c #27037A",
+"r c #5D528A",
+"s c #6ED0FE",
+"t c #5FC3F5",
+"u c #3A049E",
+"v c #5400BA",
+"w c #3E0196",
+"x c #360190",
+"y c #2273B4",
+"z c #63D5FE",
+"A c #6FCBFC",
+"B c #140A53",
+"C c #43B2E8",
+"D c #4DBAF3",
+"E c #60C1F3",
+"F c #15144D",
+"G c #4F5263",
+"H c #4CB4ED",
+"I c #5CCBFE",
+"J c #68879E",
+"K c #4DB5F0",
+"L c #5500C3",
+"M c #4F526B",
+"N c #368EC9",
+"O c #3D7CA0",
+"P c #0E0624",
+"Q c #11113C",
+"R c #5800D2",
+"S c #6B54AF",
+"T c #5FD2FE",
+"U c #56BFF6",
+"V c #57C4FC",
+"W c #62BCF1",
+"X c #97D9FF",
+"Y c #2782CC",
+"Z c #5E5293",
+"` c #5CC3F9",
+" . c #89D2FB",
+".. c #5CBCED",
+"+. c #92D6FA",
+"@. c #2B739F",
+"#. c #2987B8",
+"$. c #5DBDF1",
+"%. c #75DAFE",
+"&. c #327FAB",
+"*. c #42A6DC",
+"=. c #1C0454",
+"-. c #86D4FB",
+";. c #184D70",
+">. c #2C7FB1",
+",. c #56C2F5",
+"'. c #43A2D5",
+"). c #3FA4D7",
+"!. c #4D5964",
+"~. c #56B9ED",
+"{. c #63DAFE",
+"]. c #7DD0FC",
+"^. c #2974A3",
+"/. c #23076B",
+"(. c #48A5D6",
+"_. c #77CFFD",
+":. c #360077",
+"<. c #2781AF",
+"[. c #316F96",
+"}. c #4A5A69",
+"|. c #250573",
+"1. c #06101B",
+"2. c #57B7EF",
+"3. c #32016F",
+"4. c #4CA8DA",
+"5. c #175FA3",
+" ",
+" ",
+" . . . . . . + + + @ @ @ @ @ @ @ # # # # # # # # # # # # ",
+" . $ $ % % % % & & & & * * * * * * * # # # # # # # # # = ",
+" . $ - ; > ; > ; , ' ' , ) ! ; ~ ) ) ; { ] ) ! - ^ / # = ",
+" . % ( _ > : : > ; ' ' ; < > < ~ ) ~ [ } | ) 1 ^ ' / # 2 3 4 ",
+" . % ( 5 > / 6 > ~ - 1 ) 5 ) 5 ) ) [ } 7 8 ) - ^ 9 / 2 3 0 a ",
+" . % ( 5 ! / ' ; ~ ! - b c ~ d _ e 0 f g 8 < ! 1 ' / 3 0 h i ",
+" . % ( j > : - ) b > > k ) b l [ 0 # m m 8 b > ! : 3 0 n o i ",
+" + % p k d < ) c q j l d > j r 0 # o s m 8 5 ) ! 3 0 # o t i ",
+" + & p u v w 5 b x u x > - [ 0 y o z A m B j ) 3 0 # C D E i ",
+" + & F u v u ~ ) u u c - G 0 y H I I s m B b J 0 # K D D E i ",
+" + & p u L x > , u v j M 0 # H I I I A m F 3 N # D D D H E O ",
+" @ & ( u L d P , v L r 0 # H z I I I A m } N y D D D D H t O ",
+" @ & Q u L k > b R S 0 # H T T I I I A U 7 # U V D D K H W O ",
+" @ & Q u R u j w S } y H z z z z X V A t Y V V D D D K H W i ",
+" @ * F v R v u Z 0 y H z T z s X D V ` V V V V U .K H H ..i ",
+" @ * { v L v Z 0 y H z T T s +.@.#.` ` V V V U +.H H H H $.i ",
+" @ * { u j [ 0 y H z z T %.+.2 B &.` V V V U +.*.7 o H H ..i ",
+" @ * p =.M 0 n H z z z %.-.;.j b >.` V ` ,.+.'.p @.*.H H ..i ",
+" @ * ( M 0 y H z z z %. .;.8 u 5 >.` V t +.).p ] @.*.H H ..i ",
+" # * !.f y ~.{.z z -.].;.] > x c >.` V +.'.p ) ! ^.*.H H ..i ",
+" # a 0 y ~.{.z z -.].;./.< ~ d ~ >.` +.'.p b b , ^.(.H H ..i ",
+" 4 f y H {.{.z X _.;.q x :.b j ) <.+.'.p c c b ! [.(.C H ..i ",
+" }.f N W %.%.%.%.A 2 |.u w x d k =.>.0 ( ] > ; < ! [.*.m m W O ",
+"1.O 7 ~.~.~.2.2.g ;._ x k k k d 3.8 &.( ' ' 1 ! > / ^.'.4.4.4.2 ",
+"] ] 2 2 8 8 8 8 8 _ :.c ) > > > > ! ( 9 : ^ ' 1 : / 6 6 2 ;.6 / ",
+" # # 5 b b 3.:.j ; > ! 1 ^ ! , > > - 1 ' 9 9 6 / / / . 5. ",
+" # # # # # # # # # # # # # @ @ @ @ @ @ @ @ + + + . . . 5. ",
+" # # # # # # = = * = * * * * & * * * % $ $ $ $ $ $ 5.5.5. ",
+" ",
+" "};
diff --git a/games/mame/man/chdman.6 b/games/mame/man/chdman.6
new file mode 100644
index 0000000000..a5eea6d5e2
--- /dev/null
+++ b/games/mame/man/chdman.6
@@ -0,0 +1,57 @@
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH CHDMAN 6 "December 11, 2008"
+
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+
+.SH "NAME"
+chdman \- CHD compression frontend.
+
+.SH "SYNOPSIS"
+.B chdman
+.RI "OPTION CHDFILE [OPTIONS]"
+
+.SH "DESCRIPTION"
+MAME Compressed Hunks of Data (CHD) manager.
+
+.SH "OPTIONS"
+.IP "-info input.chd"
+.IP "-createraw inputhd.raw output.chd [inputoffs [hunksize]]"
+.IP "-createhd inputhd.raw output.chd [inputoffs [cylinders heads sectors [sectorsize [hunksize]]]]"
+.IP "-createblankhd output.chd cylinders heads sectors [sectorsize [hunksize]]"
+.IP "-createcd input.toc output.chd"
+.IP "-createav input.avi output.chd [firstframe [numframes]]"
+.IP "-copydata input.chd output.chd"
+.IP "-extract input.chd output.raw"
+.IP "-extractcd input.chd output.toc output.bin"
+.IP "-extractav input.chd output.avi [firstframe [numframes]]"
+.IP "-verify input.chd"
+.IP "-verifyfix input.chd"
+.IP "-update input.chd output.chd"
+.IP "-chomp inout.chd output.chd maxhunk"
+.IP "-merge parent.chd diff.chd output.chd"
+.IP "-diff parent.chd compare.chd diff.chd"
+.IP "-setchs inout.chd cylinders heads sectors"
+.IP "-fixavdata inout.chd"
+
+.SH "COPYRIGHT"
+Copyright (C) 1997-2008, Nicola Salmoria and the MAME(tm) team
+
+.SH "AUTHOR"
+Written by Nicola Salmoria and the MAME(tm) team.
+
+.sp 3
+This manual page was written by Ludovic Lechapt <ludomatic@gmail.com>,
+for the Debian project but may be used by others.
diff --git a/games/mame/man/jedutil.6 b/games/mame/man/jedutil.6
new file mode 100644
index 0000000000..22ab96e7f9
--- /dev/null
+++ b/games/mame/man/jedutil.6
@@ -0,0 +1,43 @@
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH JEDUTIL 6 "December 11, 2008"
+
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+
+.SH "NAME"
+jedutil \- JEDEC file utilities.
+
+.SH "SYNOPSIS"
+.B jedutil
+.RI "SOURCE TARGET [OPTION]"
+
+.SH "DESCRIPTION"
+JED file converter.
+
+.SH "OPTIONS"
+.IP "<source.jed> <target.bin> [fuses]"
+convert JED to binary form
+.IP "<source.bin> <target.jed>"
+convert binary to JED form
+
+.SH "COPYRIGHT"
+Copyright (C) 1997-2008, Nicola Salmoria and the MAME(tm) team
+
+.SH "AUTHOR"
+Written by Nicola Salmoria and the MAME(tm) team.
+
+.sp 3
+This manual page was written by Ludovic Lechapt <ludomatic@gmail.com>,
+for the Debian project but may be used by others.
diff --git a/games/mame/man/ldverify.6 b/games/mame/man/ldverify.6
new file mode 100644
index 0000000000..591d24dde5
--- /dev/null
+++ b/games/mame/man/ldverify.6
@@ -0,0 +1,44 @@
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH LDVERIFY 6 "December 11, 2008"
+
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+
+.SH "NAME"
+ldverify \- Laserdisc AVI/CHD verifier.
+
+.SH "SYNOPSIS"
+.B ldverify
+.RI "FILENAME"
+
+.SH "DESCRIPTION"
+Utility that checks a laserdisc's data files. Those files are stored in AVI or
+CHD format.
+
+.SH "OPTIONS"
+.IP "<avifile.avi>"
+checks the avi file.
+.IP "<chdfile.chd>"
+checks the chd file.
+
+.SH "COPYRIGHT"
+Copyright (C) 1997-2008, Nicola Salmoria and the MAME(tm) team
+
+.SH "AUTHOR"
+Written by Nicola Salmoria and the MAME(tm) team.
+
+.sp 3
+This manual page was written by Ludovic Lechapt <ludomatic@gmail.com>,
+for the Debian project but may be used by others.
diff --git a/games/mame/man/mame.6 b/games/mame/man/mame.6
new file mode 100644
index 0000000000..13241ce3de
--- /dev/null
+++ b/games/mame/man/mame.6
@@ -0,0 +1,179 @@
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH MAME 6 "March 4, 2009"
+
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+
+.SH "NAME"
+mame \- Multiple Arcade Machine Emulator
+
+.SH "SYNOPSIS"
+.B mame
+.RI "[ Options ] [ ROM_name ]"
+
+.SH "DESCRIPTION"
+Multiple Arcade Machine Emulator using the Simple Direct Media Layer.
+.br
+This manual page documents sdlmame, which is a port of MAME(tm) (Multiple Arcade Machine Emulator) that uses SDL (Simple Direct Media Layer).
+.br
+.ad b
+\fBMAME\fP is an emulator: it reproduces, more or less faithfully, the behaviour of several arcade machines.
+But hardware is useless without software, so an image of the ROMs which run on that hardware is required.
+\fBSuch ROMs, like any other commercial software, are copyrighted material and it is therefore illegal to use them if you don't own the original arcade machine\fP.
+Needless to say, ROMs are not distributed together with MAME(tm).
+Distribution of MAME(tm) together with ROM images is a violation of copyright law and should be promptly reported to the authors so that appropriate legal action can be taken.
+.br
+Keep in mind that you NEED the ROM images to play a game because MAME is not a game emulator, just an arcade machine one.
+.br
+More informations on MAME(tm) available at http://mame.net/
+.br
+\fBSDLMAME\fP original sources are available at http://rbelmont.mameworld.info/
+
+.SH "OPTIONS"
+.B \-showusage
+Show a brief list of options.
+.TP
+.B \-showconfig
+Show a list of configuration options.
+.TP
+.B \-createconfig
+Create a default mame.ini file.
+.TP
+.br
+Basic Startup Options:
+.TP
+.B \-rompath \fI/path/to/rom/files/zipped\fP
+Specify path to ROMsets and hard disk images
+.TP
+.B \-samplepath \fI/path/to/samples\fP
+Specify path to samplesets
+.TP
+.B \-artpath \fI/path/to/artwork/files\fP
+Specify path to artwork files
+.TP
+.B \-ctrlrpath \fI/path/to/controller/definition\fP
+Specify path to controller definitions
+.TP
+.B \-inipath \fI/path/to/ini/file\fP
+Specify path to ini files
+.TP
+.B \-fontpath \fI/path/to/the/fonts\fP
+Specify path to font files
+.TP
+See \fB/usr/doc/sdlmame-@VERSION@/config.txt for more information
+on available options.
+
+.SH "EXAMPLE"
+.B mame
+will launch the emulator in fullscreen mode with game list detected.
+.B mame \fIgridlee\fP
+will launch the game "Gridlee" in fullscreen mode.
+.TP
+.B mame -window \fIgridlee\fP
+will launch the game "Gridlee" in a window.
+.TP
+.B mame -inipath \fI~/.mame/mame.ini\fP gridlee
+will launch the game "Gridlee" using a custom "mame.ini" file stored in the folder ".mame" of your home directory (usually "/home/yourusername/").
+.TP
+.B mame -showconfig
+will output all the mame current configuration.
+
+.SH "FILES"
+.B ~/.mame/mame.ini
+Per-user mame config files. If present, this is used instead of the system-wide
+config.
+.TP
+.B /etc/mame.ini
+System-wide config file for mame, not used if ~/.mame/mame.ini exists.
+.TP
+.B /usr/share/games/mame/
+This is the default location (set in mame.ini) where mame will look for the roms, samples,
+artwork, ctrlr, font, and cheat directories. In other words, read-only
+data. Note that these directories are initially empty when mame is
+installed (except for the font directory).
+.TP
+.B /usr/share/games/mame/roms
+ROM and CHD images. Normally ROMs are kept in zip files named after
+the games, but they may also be extracted into subdirectories named
+after the games instead. CHDs should be placed in subdirectories named
+after the games. See the MAME FAQ for more information:
+.TP
+.nh
+\fIhttp://mamedev.org/devwiki/index.php?title=Frequently_Asked_Questions\fR
+.hy
+.TP
+.B /usr/share/games/mame/artwork
+Cabinet artwork.
+.TP
+.B /usr/share/games/mame/samples
+Audio samples for games whose audio hardware isn't emulated by mame.
+You can find these at various sites on the web. One collection can be
+found at
+.nh
+.TP
+\fIhttp://www.arcadeathome.com/mamewav.phtml\fR
+.hy
+.TP
+.B /usr/share/games/mame/ctrlr
+Custom controller definitions.
+.TP
+.B /usr/share/games/mame/font
+The systemwide mame user interface font lives here, as "ui.bdf". You can replace
+the UI font by replacing this file with some other BDF font. To replace
+on a per-user basis, copy the font to ~/.mame/ui.bdf and delete ~/.mame/ui.bdc
+if it exists.
+.TP
+.B /usr/share/games/mame/cheat
+.TP
+.B /usr/share/games/mame/cheat.zip
+Cheats database. Recent versions of MAME use an XML format for the
+cheat definitions. Normally all the cheats are stored in a zip file "cheat.zip".
+The cheat/ directory is for individual XML files (e.g. if you're developing
+your own cheat for pacman, you'd put it in cheat/pacman.xml). There's no
+need to unpack the cheat.zip unless you're planning to modify it.
+Note that the old cheat.dat format is no longer supported. You can find
+an XML cheat.zip at
+.TP
+.nh
+\fIhttp://cheat.retrogames.com/forums/viewtopic.php?t=3110\fR
+.hy
+.TP
+(Note: the zip file you download from there needs to be unzipped. It
+contains a cheats.zip file; this is the one you copy to /usr/share/games/mame/cheat.zip)
+.TP
+.B ~/.mame/
+This is the default location (set in mame.ini) where mame will create its
+cfg, sta, and other writable data directories (and the files therein).
+See \fB/usr/doc/sdlmame-@VERSION@/config.txt for more information.
+
+.SH "SEE ALSO"
+MAME documentation in \fB/usr/doc/sdlmame-@VERSION@\fR
+.br
+The MAME web site at \fIhttp://mamedev.org/\fR
+
+.SH "COPYRIGHT"
+MAME(tm) - Copyright (C) 1997-2008, Nicola Salmoria and the MAME(tm) team
+.br
+MAME - Copyright (C) Olivier Galibert and R. Belmont.
+
+.SH "AUTHOR"
+MAME(tm) was written by Nicola Salmoria and the MAME(tm) team.
+.br
+sdlmame was written by Olivier Galibert and R. Belmont.
+.sp 3
+This manual page was written by Ludovic Lechapt <ludomatic@gmail.com>,
+for the Debian project but may be used by others, like Ubuntu :)
+.sp 3
+This manual page has been modified by B. Watson <yalhcru@gmail.com> for SlackBuilds.org.
diff --git a/games/mame/man/romcmp.6 b/games/mame/man/romcmp.6
new file mode 100644
index 0000000000..347c2e9a61
--- /dev/null
+++ b/games/mame/man/romcmp.6
@@ -0,0 +1,41 @@
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH ROMCMP 6 "December 11, 2008"
+
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+
+.SH "NAME"
+romcmp \- ROM comparison utility program.
+
+.SH "SYNOPSIS"
+.B romcmp
+.RI "[OPTION] [FOLDER|ZIPFILE] [FOLDER|ZIPFILE]"
+
+.SH "DESCRIPTION"
+Utility that checks/compare a single or set of ROMs.
+
+.SH "OPTIONS"
+.IP "-d"
+enable slower (more comprehensive) comparison.
+
+.SH "COPYRIGHT"
+Copyright (C) 1997-2008, Nicola Salmoria and the MAME(tm) team
+
+.SH "AUTHOR"
+Written by Nicola Salmoria and the MAME(tm) team.
+
+.sp 3
+This manual page was written by Ludovic Lechapt <ludomatic@gmail.com>,
+for the Debian project but may be used by others.
diff --git a/games/mame/man/testkeys.6 b/games/mame/man/testkeys.6
new file mode 100644
index 0000000000..1900c9c0a4
--- /dev/null
+++ b/games/mame/man/testkeys.6
@@ -0,0 +1,37 @@
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH TESTKEYS 6 "December 11, 2008"
+
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+
+.SH "NAME"
+testkeys \- Code identifier for key pressed.
+
+.SH "SYNOPSIS"
+.B testkeys
+.RI ""
+
+.SH "DESCRIPTION"
+Utility that returns the code of the key being pressed or released.
+
+.SH "COPYRIGHT"
+Copyright (C) 1997-2008, Nicola Salmoria and the MAME(tm) team
+
+.SH "AUTHOR"
+Written by Nicola Salmoria and the MAME(tm) team.
+
+.sp 3
+This manual page was written by Ludovic Lechapt <ludomatic@gmail.com>,
+for the Debian project but may be used by others.
diff --git a/games/mame/slack-desc b/games/mame/slack-desc
new file mode 100644
index 0000000000..0ae99bcd06
--- /dev/null
+++ b/games/mame/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mame: mame (Multiple Arcade Machine Emulator)
+mame:
+mame: MAME stands for Multiple Arcade Machine Emulator. When used in
+mame: conjunction with images of the original arcade game's ROM and disk
+mame: data, MAME attempts to reproduce that game as faithfully as possible
+mame: on a more modern general-purpose computer. MAME can currently emulate
+mame: several thousand different classic arcade video games from the late
+mame: 1970s through the modern era.
+mame:
+mame:
+mame: