aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/sdlmess/README4
-rw-r--r--games/sdlmess/doinst.sh20
-rw-r--r--games/sdlmess/ini_path.diff.gzbin0 -> 348 bytes
-rw-r--r--games/sdlmess/mess.6560
-rw-r--r--games/sdlmess/mess.ini274
-rw-r--r--games/sdlmess/mess.xpm43
-rw-r--r--games/sdlmess/sdlmess.SlackBuild91
-rw-r--r--games/sdlmess/sdlmess.desktop8
-rw-r--r--games/sdlmess/sdlmess.info8
-rw-r--r--games/sdlmess/slack-desc19
10 files changed, 1027 insertions, 0 deletions
diff --git a/games/sdlmess/README b/games/sdlmess/README
new file mode 100644
index 0000000000000..451e31b6a5529
--- /dev/null
+++ b/games/sdlmess/README
@@ -0,0 +1,4 @@
+MESS is a free emulator which emulates a large variety of different
+systems.
+
+SDLMESS is a port of MESS for POSIX systems with the SDL library.
diff --git a/games/sdlmess/doinst.sh b/games/sdlmess/doinst.sh
new file mode 100644
index 0000000000000..87f327952be3c
--- /dev/null
+++ b/games/sdlmess/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/mess.ini.new
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications
+fi
diff --git a/games/sdlmess/ini_path.diff.gz b/games/sdlmess/ini_path.diff.gz
new file mode 100644
index 0000000000000..7fb45acb1f26c
--- /dev/null
+++ b/games/sdlmess/ini_path.diff.gz
Binary files differ
diff --git a/games/sdlmess/mess.6 b/games/sdlmess/mess.6
new file mode 100644
index 0000000000000..8c758c5cc8e9d
--- /dev/null
+++ b/games/sdlmess/mess.6
@@ -0,0 +1,560 @@
+.TH mess 6 "December 6, 2008" "" "mess"
+
+
+.SH NAME
+mess \- runs MESS(tm) with SDL library
+
+
+.SH SYNOPSIS
+\fBmess\fP [system] [device] [software] [options]
+
+
+.SH DESCRIPTION
+\fBMESS\fP is an acronym that stands for Multiple Emulator Super System and is based on MAME (Multiple Arcade Machine Emulator). \fBSDLMESS\fP is the official Linux port of \fBMESS\fP using the \fBSDL\fP (Simple Direct Media Layer) library.
+.PP
+\fBmess\fP will more or less faithfully reproduce computer and console systems on a PC. \fBmess\fP can currently emulate over 250 systems from the last 5 decades.
+.br
+\fBmess\fP emulates the hardware of the systems and sometimes utilizes \fBROM\fP images to
+load programs and games. Therefore, these systems are NOT simulations, but the
+actual emulations of the hardware.
+.br
+\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 machines\fP.
+Needless to say, ROMs are not distributed together with mess.
+Distribution of mess 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.
+
+
+
+.SH OPTIONS
+.PP
+.B
+MESS GENERAL OPTIONS:
+
+.B
+core configuration options
+.IP -readconfig
+enable loading of configuration files
+
+.PP
+.B
+core search path options
+.IP -rompath
+path to ROMsets and hard disk images
+.IP -hashpath
+path to hash files
+.IP -samplepath
+path to samplesets
+.IP -artpath
+path to artwork files
+.IP -ctrlrpath
+path to controller definitions
+.IP -inipath
+path to ini files
+.IP -fontpath
+path to font files
+.IP -cheatpath
+path to cheat files
+
+.PP
+.B
+core output directory options
+.IP -cfg_directory
+directory to save configurations
+.IP -nvram_directory
+directory to save nvram contents
+.IP -memcard_directory
+directory to save memory card contents
+.IP -input_directory
+directory to save input device logs
+.IP -state_directory
+directory to save states
+.IP -snapshot_directory
+directory to save screenshots
+.IP -diff_directory
+directory to save hard drive image difference files
+.IP -comment_directory
+directory to save debugger comments
+
+.PP
+.B
+core state/playback options
+.IP -state
+saved state to load
+.IP -autosave
+enable automatic restore at startup, and automatic save at exit time
+.IP -playback
+playback an input file
+.IP -record
+record an input file
+.IP -mngwrite
+optional filename to write a MNG movie of the current session
+.IP -aviwrite
+optional filename to write an AVI movie of the current session
+.IP -wavwrite
+optional filename to write a WAV file of the current session
+.IP -snapname
+override of the default snapshot/movie naming; %g == gamename, %i == index
+.IP -snapsize
+specify snapshot/movie resolution (<width>x<height>) or 'auto' to use minimal size
+.IP -snapview
+specify snapshot/movie view or 'internal' to use internal pixel-aspect views
+
+.PP
+.B
+core performance options
+.IP -autoframeskip
+enable automatic frameskip selection
+.IP -frameskip
+set frameskip to fixed value, 0-12 (autoframeskip must be disabled)
+.IP -seconds_to_run
+number of emulated seconds to run before automatically exiting
+.IP -throttle
+enable throttling to keep game running in sync with real time
+.IP -sleep
+enable sleeping, which gives time back to other applications when idle
+.IP -speed
+controls the speed of gameplay, relative to realtime; smaller numbers are slower
+.IP -refreshspeed
+automatically adjusts the speed of gameplay to keep the refresh rate lower than the screen
+
+.PP
+.B
+core rotation options
+.IP -rotate
+rotate the game screen according to the game's orientation needs it
+.IP -ror
+rotate screen clockwise 90 degrees
+.IP -rol
+rotate screen counterclockwise 90 degrees
+.IP -autoror
+automatically rotate screen clockwise 90 degrees if vertical
+.IP -autorol
+automatically rotate screen counterclockwise 90 degrees if vertical
+.IP -flipx
+flip screen left-right
+.IP -flipy
+flip screen upside-down
+
+.PP
+.B
+core artwork options
+.IP -artwork_crop
+crop artwork to game screen size
+.IP -use_backdrops
+enable backdrops if artwork is enabled and available
+.IP -use_overlays
+enable overlays if artwork is enabled and available
+.IP -use_bezels
+enable bezels if artwork is enabled and available
+
+.PP
+.B
+core screen options
+.IP -brightness
+default game screen brightness correction
+.IP -contrast
+default game screen contrast correction
+.IP -gamma
+default game screen gamma correction
+.IP -pause_brightness
+ amount to scale the screen brightness when paused
+
+.PP
+.B
+core vector options
+.IP -antialias
+use antialiasing when drawing vectors
+.IP -beam
+set vector beam width
+.IP -flicker
+set vector flicker effect
+
+.PP
+.B
+core sound options
+.IP -sound
+enable sound output
+.IP -samplerate
+set sound output sample rate
+.IP -samples
+enable the use of external samples if available
+.IP -volume
+sound volume in decibels (-32 min, 0 max)
+
+.PP
+.B
+core input options
+.IP -coin_lockout
+enable coin lockouts to actually lock out coins
+.IP -ctrlr
+preconfigure for specified controller
+.IP -mouse
+enable mouse input
+.IP -joystick
+enable joystick input
+.IP -lightgun
+enable lightgun input
+.IP -multikeyboard
+enable separate input from each keyboard device (if present)
+.IP -multimouse
+enable separate input from each mouse device (if present)
+.IP -steadykey
+enable steadykey support
+.IP -offscreen_reload
+convert lightgun button 2 into offscreen reload
+.IP -joystick_map
+explicit joystick map, or auto to auto-select
+.IP -joystick_deadzone
+center deadzone range for joystick where change is ignored (0.0 center, 1.0 end)
+.IP -joystick_saturation
+end of axis saturation range for joystick where change is ignored (0.0 center, 1.0 end)
+
+.PP
+.B
+core input automatic enable options
+.IP -paddle_device
+enable (keyboard|mouse|joystick) if a paddle control is present
+.IP -adstick_device
+enable (keyboard|mouse|joystick) if an analog joystick control is present
+.IP -pedal_device
+enable (keyboard|mouse|joystick) if a pedal control is present
+.IP -dial_device
+enable (keyboard|mouse|joystick) if a dial control is present
+.IP -trackball_device
+enable (keyboard|mouse|joystick) if a trackball control is present
+.IP -lightgun_device
+enable (keyboard|mouse|joystick) if a lightgun control is present
+.IP -positional_device
+enable (keyboard|mouse|joystick) if a positional control is present
+.IP -mouse_device
+enable (keyboard|mouse|joystick) if a mouse control is present
+
+.PP
+.B
+core debugging options
+.IP -log
+generate an error.log file
+.IP -verbose
+display additional diagnostic information
+.IP -update_in_pause
+keep calling video updates while in pause
+.IP -debug
+enable/disable debugger
+.IP -debugscript
+script for debugger
+
+.PP
+.B
+core misc options
+.IP -bios
+select the system BIOS to use
+.IP -cheat
+enable cheat subsystem
+.IP -skip_gameinfo
+skip displaying the information screen at startup
+
+.PP
+.B
+debugging options
+.IP -oslog
+output error.log data to the system debugger
+
+.PP
+.B
+performance options
+.IP -multithreading
+enable multithreading; this enables rendering and blitting on a separate thread
+.IP -sdlvideofps
+show sdl video performance
+
+.PP
+.B
+video options
+.IP -video
+video output method: soft or opengl
+.IP -numscreens
+number of screens to create; SDLMAME only supports 1 at this time
+.IP -window
+enable window mode; otherwise, full screen mode is assumed
+.IP -maximize
+default to maximized windows; otherwise, windows will be minimized
+.IP -keepaspect
+constrain to the proper aspect ratio
+.IP -unevenstretch
+allow non-integer stretch factors
+.IP -effect
+name of a PNG file to use for visual effects, or 'none'
+.IP -centerh
+center horizontally within the view area
+.IP -centerv
+center vertically within the view area
+.IP -waitvsync
+enable waiting for the start of VBLANK before flipping screens; reduces tearing effects
+.IP -scalemode
+Scale mode: none, async, yv12, yuy2, yv12x2, yuy2x2 (-video soft only)
+
+.PP
+.B
+opengl.-specific options
+.IP -filter
+enable bilinear filtering on screen output
+.IP -prescale
+scale screen rendering by this amount in software
+.IP -gl_forcepow2texture
+force power of two textures (default no)
+.IP -gl_notexturerect
+don't use OpenGL GL_ARB_texture_rectangle (default on)
+.IP -gl_vbo
+enable OpenGL VBO, if available (default on)
+.IP -gl_pbo
+enable OpenGL PBO, if available (default on)
+.IP -gl_glsl
+enable OpenGL GLSL, if available (default off)
+.IP -gl_glsl_filter
+enable OpenGL GLSL filtering instead of FF filtering 0-plain, 1-bilinear (default)
+.IP -glsl_shader_mame0
+custom OpenGL GLSL shader set mame bitmap 0
+.IP -glsl_shader_mame1
+custom OpenGL GLSL shader set mame bitmap 1
+.IP -glsl_shader_mame2
+custom OpenGL GLSL shader set mame bitmap 2
+.IP -glsl_shader_mame3
+custom OpenGL GLSL shader set mame bitmap 3
+.IP -glsl_shader_mame4
+custom OpenGL GLSL shader set mame bitmap 4
+.IP -glsl_shader_mame5
+custom OpenGL GLSL shader set mame bitmap 5
+.IP -glsl_shader_mame6
+custom OpenGL GLSL shader set mame bitmap 6
+.IP -glsl_shader_mame7
+custom OpenGL GLSL shader set mame bitmap 7
+.IP -glsl_shader_mame8
+custom OpenGL GLSL shader set mame bitmap 8
+.IP -glsl_shader_mame9
+custom OpenGL GLSL shader set mame bitmap 9
+.IP -glsl_shader_screen0
+custom OpenGL GLSL shader screen bitmap 0
+.IP -glsl_shader_screen1
+custom OpenGL GLSL shader screen bitmap 1
+.IP -glsl_shader_screen2
+custom OpenGL GLSL shader screen bitmap 2
+.IP -glsl_shader_screen3
+custom OpenGL GLSL shader screen bitmap 3
+.IP -glsl_shader_screen4
+custom OpenGL GLSL shader screen bitmap 4
+.IP -glsl_shader_screen5
+custom OpenGL GLSL shader screen bitmap 5
+.IP -glsl_shader_screen6
+custom OpenGL GLSL shader screen bitmap 6
+.IP -glsl_shader_screen7
+custom OpenGL GLSL shader screen bitmap 7
+.IP -glsl_shader_screen8
+custom OpenGL GLSL shader screen bitmap 8
+.IP -glsl_shader_screen9
+custom OpenGL GLSL shader screen bitmap 9
+.IP -gl_glsl_vid_attr
+enable OpenGL GLSL handling of brightness and contrast. Better RGB game performance for free. (default)
+
+.PP
+.B
+per-window video options
+.IP -screen
+explicit name of the first screen; 'auto' here will try to make a best guess
+.IP -aspect
+aspect ratio for all screens; 'auto' here will try to make a best guess
+.IP -resolution
+preferred resolution for all screens; format is <width>x<height>[@<refreshrate>] or 'auto'
+.IP -view
+preferred view for all screens
+.IP -screen0
+explicit name of the first screen; 'auto' here will try to make a best guess
+.IP -aspect0
+aspect ratio of the first screen; 'auto' here will try to make a best guess
+.IP -resolution0
+preferred resolution of the first screen; format is <width>x<height>[@<refreshrate>] or 'auto'
+.IP -view0
+preferred view for the first screen
+.IP -screen1
+explicit name of the second screen; 'auto' here will try to make a best guess
+.IP -aspect1
+aspect ratio of the second screen; 'auto' here will try to make a best guess
+.IP -resolution1
+preferred resolution of the second screen; format is <width>x<height>[@<refreshrate>] or 'auto'
+.IP -view1
+preferred view for the second screen
+.IP -screen2
+explicit name of the third screen; 'auto' here will try to make a best guess
+.IP -aspect2
+aspect ratio of the third screen; 'auto' here will try to make a best guess
+.IP -resolution2
+preferred resolution of the third screen; format is <width>x<height>[@<refreshrate>] or 'auto'
+.IP -view2
+preferred view for the third screen
+.IP -screen3
+explicit name of the fourth screen; 'auto' here will try to make a best guess
+.IP -aspect3
+aspect ratio of the fourth screen; 'auto' here will try to make a best guess
+.IP -resolution3
+preferred resolution of the fourth screen; format is <width>x<height>[@<refreshrate>] or 'auto'
+.IP -view3
+preferred view for the fourth screen
+
+.PP
+.B
+full screen options
+.IP -switchres
+enable resolution switching
+.IP -useallheads
+split full screen image across monitors
+
+.PP
+.B
+sound options
+.IP -audio_latency
+set audio latency (increase to reduce glitches, decrease for responsiveness)
+
+.PP
+.B
+sdl keyboard mapping
+.IP -keymap
+enable keymap
+.IP -keymap_file
+keymap filename
+.IP -uimodekey
+Key to toggle MESS keyboard mode
+
+.PP
+.B
+sdl joystick mapping
+.IP -remapjoys
+enable physical to logical joystick mapping
+.IP -remapjoyfile
+joymap filename
+.IP -sixaxis
+Use special handling for PS3 Sixaxis controllers
+
+.PP
+.B
+sdl lowlevel driver options
+.IP -videodriver
+sdl video driver to use ('x11', 'directfb', ... or 'auto' for SDL default
+.IP -audiodriver
+sdl audio driver to use ('alsa', 'arts', ... or 'auto' for SDL default
+.IP -gl_lib
+alternative libGL.so to use; 'auto' for system default
+
+.PP
+.B
+MESS SPECIFIC OPTIONS:
+.IP -ramsize
+size of RAM (if supported by driver)
+.IP -writeconfig
+writes configuration to (driver).ini on exit
+.IP -skip_warnings
+skip displaying the warnings screen
+.IP -natural
+specifies whether to use a natural keyboard or not
+
+.PP
+.B
+SDL MESS SPECIFIC OPTIONS:
+
+.PP
+.B
+core commands
+.IP -help
+show help message
+.IP -validate
+perform driver validation on all game drivers
+
+.PP
+.B
+configuration commands
+.IP -createconfig
+create the default configuration file
+.IP -showconfig
+display running parameters
+.IP -showusage
+show this help
+
+.PP
+.B
+frontend commands
+.IP -listxml
+all available info on driver in XML format
+.IP -listfull
+short name, full name
+.IP -listsource
+driver sourcefile
+.IP -listclones
+show clones
+.IP -listcrc
+CRC-32s
+.IP -listroms
+list required roms for a driver
+.IP -listsamples
+list optional samples for a driver
+.IP -verifyroms
+report romsets that have problems
+.IP -verifysamples
+report samplesets that have problems
+.IP -romident
+compare files with known MAME roms
+.IP -listdevices
+list available devices
+
+
+.SH FILES
+.B /usr/share/games/mess/*/
+Default location for roms/, artwork/, and other read-only data for mess.
+Can be changed in mess.ini
+.TP
+.B $HOME/.mess
+Default location for writable directories. Can be changed in mess.ini
+.TP
+.B mess.ini
+Config file for mess. Searched for first as $HOME/.mess/mess.ini, then
+/etc/mess.ini
+
+
+.SH EXAMPLE
+.B mess \fI3do\fP -cdrm \fIcrashnburn.chd\fP
+will launch the game "Crash N' Burn" from the console "3DO".
+.TP
+.B mess \fI3do\fP -cdrm \fIcrashnburn.chd\fP -bios \fIgoldstar\fP
+will launch the game "Crash N' Burn" from the "3DO" console model from "Goldstar".
+.TP
+.B mess \fIn64\fP -cart \fImariokart64.v64\fP
+will launch the game "Mario Kart 64" from the console "Nintendo 64".
+.TP
+.B mess \fIn64\fP -cart \fImariokart64.v64\fP -inipath \fI~/.mess/mess.ini\fP
+will launch the game "Mario Kart 64" from the console "Nintendo 64" using a custom "mess.ini" file stored in the folder ".mess" of your home directory (usually "/home/yourusername/").
+.TP
+.B mess -showconfig
+will output all the mess current configuration.
+
+
+.SH SEE ALSO
+More informations on \fBMESS\fP(tm) available at http://www.mess.org/
+.br
+\fBSDLMESS\fP original sources are available at http://rbelmont.mameworld.info/
+
+
+.SH COPYRIGHT
+MAME(tm) - Copyright (c) 1997-2008, Nicola Salmoria and the MAME team.
+.br
+MESS(tm) - Copyright (c) 1998-2008, Nathan Woods and the MESS team.
+.br
+SDLMESS - Copyright (c) Olivier Galibert and R. Belmont.
+
+
+.SH AUTHOR
+MAME(tm) was written by Nicola Salmoria and the MAME team.
+.br
+MESS(tm) was written by Nathan Woods and the MESS 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!
+.sp 3
+This manual page was modified by B. Watson for use with SlackBuilds.org
diff --git a/games/sdlmess/mess.ini b/games/sdlmess/mess.ini
new file mode 100644
index 0000000000000..aa7fb5387dc86
--- /dev/null
+++ b/games/sdlmess/mess.ini
@@ -0,0 +1,274 @@
+# mess.ini, SlackBuilds.org version
+# Modified from the default:
+# - Mouse enabled by default
+# - Video set to opengl
+# - Search paths set to ~/.mess then /usr/share/games/mess/*
+# - Output paths set to $HOME/.mess/*
+
+#
+# CORE CONFIGURATION OPTIONS
+#
+readconfig 1
+
+#
+# CORE SEARCH PATH OPTIONS
+#
+rompath $HOME/.mess/roms;/usr/share/games/mess/roms
+hashpath $HOME/.mess/hash;/usr/share/games/mess/hash
+samplepath $HOME/.mess/samples;/usr/share/games/mess/samples
+artpath $HOME/.mess/artwork;/usr/share/games/mess/artwork
+ctrlrpath $HOME/.mess;/usr/share/games/mess/ctrlr
+inipath $HOME/.mess;/etc
+fontpath $HOME/.mess;/usr/share/games/mess/font
+cheatpath $HOME/.mess/cheat;/usr/share/games/mess/cheat
+
+#
+# CORE OUTPUT DIRECTORY OPTIONS
+#
+cfg_directory $HOME/.mess/cfg
+nvram_directory $HOME/.mess/nvram
+memcard_directory $HOME/.mess/memcard
+input_directory $HOME/.mess/inp
+state_directory $HOME/.mess/sta
+snapshot_directory $HOME/.mess/snap
+diff_directory $HOME/.mess/diff
+comment_directory $HOME/.mess/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
+uimodekey ITEM_ID_SCRLOCK
+
+#
+# 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
+
+#
+# MESS SPECIFIC OPTIONS
+#
+ramsize
+writeconfig 0
+skip_warnings 0
+natural 0
diff --git a/games/sdlmess/mess.xpm b/games/sdlmess/mess.xpm
new file mode 100644
index 0000000000000..7f24f0fce454e
--- /dev/null
+++ b/games/sdlmess/mess.xpm
@@ -0,0 +1,43 @@
+/* XPM */
+static char * mess_xpm[] = {
+"32 32 8 1",
+" c None",
+". c #995C25",
+"+ c #F8E69D",
+"@ c #FF9A16",
+"# c #FFA52F",
+"$ c #FFAC3F",
+"% c #FFAE43",
+"& c #FFBC64",
+" ",
+" ",
+" ",
+" ",
+" . .",
+" .. ..",
+" .+. .+.",
+" .++. .++.",
+" .+@+. .+@+.",
+" .+@@+. .+@@+.",
+" .+@@@+. .+@@@+.",
+" .+@@@@+. .+@@@@+.",
+" .+#####+..+#####+.",
+" .+######+.+######+.",
+" .+$$$$$$$$+$$$$$$$+.",
+" .+$$$$$$$$$$$$$$$$$+.",
+" .+$$$$$$$$$$$$$$$$$$+.",
+" .+$$$$$$++$$$$$$+$$$$+.",
+" .+$$$$$$+.+$$$$$++$$$$+.",
+" .+$$$$$$+..+$$$$+.+$$$$+.",
+" .+$$$$$$+. .+$$$+..+$$$$+.",
+" .+$$$$$$+. .+$$+. .+%%%%+.",
+" .+%%%%%%+. .+$+. .+%%%%+.",
+" .+&&&&&&+. .++. .+&&&&+.",
+" .+&&&&&&+. .+. .+&&&&+.",
+" .+&&&&&&+. .. .+&&&&+.",
+".++++++++. . .++++++.",
+"......... ........",
+" ",
+" ",
+" ",
+" "};
diff --git a/games/sdlmess/sdlmess.SlackBuild b/games/sdlmess/sdlmess.SlackBuild
new file mode 100644
index 0000000000000..14b5b524129e0
--- /dev/null
+++ b/games/sdlmess/sdlmess.SlackBuild
@@ -0,0 +1,91 @@
+#!/bin/sh
+
+# Slackware (and Slamd64) build script for sdlmess
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Modified by the SlackBuilds.org project.
+
+PRGNAM=sdlmess
+VERSION=${VERSION:-0.131}
+SRCVER=$( echo $VERSION | sed 's/\.//g' )
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-march=i486 -mtune=i686"
+ EXTRAMAKEOPT=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-march=i686 -mtune=i686"
+ EXTRAMAKEOPT=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-fPIC"
+ EXTRAMAKEOPT="PTR64=1"
+fi
+
+set -eu
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM$SRCVER
+unzip $CWD/$PRGNAM$SRCVER.zip
+cd $PRGNAM$SRCVER
+chown -R root:root .
+chmod -R a-s,u+w,go+r-w .
+
+# This patch makes sdlmess look for its config file (mess.ini) in
+# $HOME/.mess, then /etc.
+zcat $CWD/ini_path.diff.gz | patch -p1
+
+# The MESS debugger requires GConf.If you really really want the
+# debugger, install GConf, then remove the NO_DEBUGGER=1 NO_X11=1 below.
+# (Note: the NO_X11 doesn't mean it won't work in X!)
+make -f makefile.sdl \
+ NO_DEBUGGER=1 NO_X11=1 OPTIMIZE=3 ARCHOPTS="$SLKCFLAGS" $EXTRAMAKEOPT
+
+# There is no "make install" target, just copy everything where it goes.
+# Binaries are already stripped.
+mkdir -p $PKG/usr/games
+cp mess imgtool dat2html $PKG/usr/games
+
+# Generate sysinfo.htm and sysinfo/*.htm
+./dat2html
+
+mkdir -p $PKG/etc
+cat $CWD/mess.ini > $PKG/etc/mess.ini.new
+
+# Create empty dirs for the user to populate with ROMs and such.
+for i in roms keymaps hash samples artwork ctrlr font cheat; do
+ mkdir -p $PKG/usr/share/games/mess/$i
+done
+
+cp hash/* $PKG/usr/share/games/mess/hash
+cp keymaps/* $PKG/usr/share/games/mess/keymaps
+cp ui.bdf $PKG/usr/share/games/mess/font
+
+# Man page, .desktop, and icon borrowed from Ludovic Lechapt's Debian package.
+mkdir -p $PKG/usr/man/man6
+sed 's/@VERSION@/'$VERSION'/g' < $CWD/mess.6 | gzip -9c > $PKG/usr/man/man6/mess.6.gz
+
+mkdir -p $PKG/usr/share/applications
+cp $CWD/$PRGNAM.desktop $PKG/usr/share/applications
+
+mkdir -p $PKG/usr/share/pixmaps
+cp $CWD/mess.xpm $PKG/usr/share/pixmaps
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -r sysinfo.dat *.txt docs/* sysinfo.htm sysinfo $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.tgz
diff --git a/games/sdlmess/sdlmess.desktop b/games/sdlmess/sdlmess.desktop
new file mode 100644
index 0000000000000..1e221c90d08c0
--- /dev/null
+++ b/games/sdlmess/sdlmess.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=SDLMESS
+Comment=SDL port of MESS(tm) emulator
+Exec=/usr/games/mess
+Icon=mess.xpm
+Terminal=false
+Type=Application
+Categories=Application;Game;Tools;
diff --git a/games/sdlmess/sdlmess.info b/games/sdlmess/sdlmess.info
new file mode 100644
index 0000000000000..836d45b51a0bf
--- /dev/null
+++ b/games/sdlmess/sdlmess.info
@@ -0,0 +1,8 @@
+PRGNAM="sdlmess"
+VERSION="0.131"
+HOMEPAGE="http://rbelmont.mameworld.info/?page_id=163"
+DOWNLOAD="http://rbelmont.mameworld.info/sdlmess0131.zip"
+MD5SUM="6e6c2ed1e39064d74188009f1a22f435"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
+APPROVED="dsomero"
diff --git a/games/sdlmess/slack-desc b/games/sdlmess/slack-desc
new file mode 100644
index 0000000000000..5477d807f865d
--- /dev/null
+++ b/games/sdlmess/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------------------------------------------------------|
+sdlmess: sdlmess (emulates a large variety of different systems)
+sdlmess:
+sdlmess: MESS is a free emulator which emulates a large variety of different
+sdlmess: systems.
+sdlmess:
+sdlmess: SDLMESS is a port of MESS for POSIX systems with the SDL library.
+sdlmess:
+sdlmess:
+sdlmess:
+sdlmess:
+sdlmess: