summaryrefslogtreecommitdiff
path: root/games/colem
diff options
context:
space:
mode:
Diffstat (limited to 'games/colem')
-rw-r--r--games/colem/README50
-rw-r--r--games/colem/colem.6364
-rw-r--r--games/colem/colem.SlackBuild92
-rw-r--r--games/colem/colem.desktop9
-rw-r--r--games/colem/colem.info6
-rw-r--r--games/colem/colem.pngbin0 -> 1587 bytes
-rw-r--r--games/colem/colem.pod308
-rw-r--r--games/colem/colem.xml1
8 files changed, 770 insertions, 60 deletions
diff --git a/games/colem/README b/games/colem/README
index 47668260fc..93f7a56527 100644
--- a/games/colem/README
+++ b/games/colem/README
@@ -1,33 +1,33 @@
+colem (ColecoVision emulator)
+
ColEm is a portable emulator of the old ColecoVision videogame console.
It should run most ColecoVision games and supports Coleco's SuperAction
controllers with spin wheels.
-In order to run ColecoVision games, you will need a copy of the system
-ROM image, but for copyright reasons, no ROM image is included. The
-file is generally called "coleco.rom" or "coleco.zip" (which contains
-"coleco.rom"). If you own a ColecoVision console, depending on the laws
-where you live, it may or may not be legal for you to use a copy of the
-ROM. If it's legal, you can either crack open your console, remove the
-ROM chip, and read the data from it... or use google-fu to find an
-already-dumped image file. Legal issues aside, you have 2 ways to
-provide the ROM image for the emulator to use:
+ColEm uses OSS for audio, so you'll have to either load the OSS
+emulation modules (via /etc/rc.d/rc.alsa-oss), run it as "aoss colem"
+from the command line, or launch it from your desktop by opening a .cv
+or .col file.
+
+In order to run ColecoVision games, you will need a copy of the system
+ROM image, but for copyright reasons, no ROM image is included.
+The file is generally called "coleco.rom" or "coleco.zip" (which
+contains "coleco.rom"). If you own a ColecoVision console, depending
+on the laws where you live, it may or may not be legal for you to use a
+copy of the ROM. If it's legal, you can either crack open your console,
+remove the ROM chip, and read the data from it... or use google-fu to
+find an already-dumped image file. Legal issues aside, you have 2 ways
+to provide the ROM image for the emulator to use:
-1. Place either "coleco.rom" or "coleco.zip" (containing "coleco.rom") in
-the directory with the SlackBuild script. The resulting package will
-include the ROM image in "usr/share/colem/coleco.rom". If you do this,
-DO NOT give anyone a copy of the package! Using the ROM might possibly
-be legal, but bundling it with ColEm is against the ColEm license.
+1. Buld the package with the ROM image:
-2. Build the package without the ROM image. After installing the
-package, manually place a copy of "coleco.rom" in "/usr/share/colem/"
-or "~/.colem/".
+ Place either "coleco.rom" or "coleco.zip" (containing "coleco.rom")
+ in the directory with the SlackBuild script. The resulting package will
+ include the ROM image in "usr/share/colem/coleco.rom". If you do this,
+ DO NOT give anyone a copy of the package! Using the ROM might possibly
+ be legal, but bundling it with ColEm is against the ColEm license.
-Note about the sources: It appears that every time upstream releases a
-new version, the download link for the previous version is removed. If
-you are unable to download the source, try visiting the home page and
-look for a new version of ColEm. If this is the case, please contact
-the maintainer of this script (see the .info file)
+2. Build the package without the ROM image:
-By default, ColEm is built for 24- and 32-bit color depth X11 displays.
-If you intend to run ColEm on an 8- or 16-bpp display, set either
-DISPLAY_BPP=8 or DISPLAY_BPP=16 in the script's environment.
+ After installing the package, manually place a copy of "coleco.rom" in
+ "/usr/share/colem/" or "~/.colem/".
diff --git a/games/colem/colem.6 b/games/colem/colem.6
new file mode 100644
index 0000000000..f3d8f8dd6d
--- /dev/null
+++ b/games/colem/colem.6
@@ -0,0 +1,364 @@
+.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{
+. if \nF \{
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "COLEM 6"
+.TH COLEM 6 "2014-08-25" "2.9" "SlackBuilds.org"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+colem \- Emulator for ColecoVision and Coleco Adam consoles
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+colem [\-option1 [\-option2...]] [filename]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+ColEm is a portable emulator of the old ColecoVision videogame console. It should run most ColecoVision games and supports Coleco's SuperAction controllers with spin wheels.
+.PP
+You can always get the latest ColEm binaries, source code, and support files from
+http://fms.komkon.org/ColEm/
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+[filename]
+Name of the file to load as a cartridge [default: \s-1CART.ROM\s0]
+.PP
+This program will transparently uncompress singular GZIPped files.
+.IP "\-verbose <level>" 4
+.IX Item "-verbose <level>"
+Select debugging messages [bitmask, default: 5]
+.RS 4
+.IP "0" 4
+Silent
+.IP "1" 4
+.IX Item "1"
+Startup messages
+.IP "2" 4
+.IX Item "2"
+\&\s-1VDP\s0
+.IP "4" 4
+.IX Item "4"
+Illegal Z80 ops
+.IP "16" 4
+.IX Item "16"
+Sound
+.RE
+.RS 4
+.RE
+.IP "\-pal, \-ntsc" 4
+.IX Item "-pal, -ntsc"
+Video system to use [default: \-ntsc]
+.IP "\-skip <percent>" 4
+.IX Item "-skip <percent>"
+Percentage of frames to skip [default: 25]
+.IP "\-help" 4
+.IX Item "-help"
+Print this help page
+.IP "\-home <dirname>" 4
+.IX Item "-home <dirname>"
+Set directory with system \s-1ROM\s0 files [default: see \s-1FILES,\s0 below]
+.IP "\-adam, \-cv" 4
+.IX Item "-adam, -cv"
+Run in Adam/ColecoVision mode [default: \-cv]
+.IP "\-allspr" 4
+.IX Item "-allspr"
+Show all sprites [off]
+.IP "\-autoa, \-noautoa" 4
+.IX Item "-autoa, -noautoa"
+Autofire/No autofire for FIRE-R button [default: \-noautoa]
+.IP "\-autob, \-noautob" 4
+.IX Item "-autob, -noautob"
+Autofire/No autofire for FIRE-L button [default: \-noautob]
+.IP "\-spin1x, \-spin1y" 4
+.IX Item "-spin1x, -spin1y"
+Mouse X/Y position as SuperAction spinner 1 [default: off]
+.IP "\-spin2x, \-spin2y" 4
+.IX Item "-spin2x, -spin2y"
+Mouse X/Y position as SuperAction spinner 2 [default: off]
+.IP "\-drums, \-nodrums" 4
+.IX Item "-drums, -nodrums"
+Hit/Don't hit \s-1MIDI\s0 drums on noise [default: \-nodrums]
+.IP "\-logsnd <filename>" 4
+.IX Item "-logsnd <filename>"
+Write soundtrack to a \s-1MIDI\s0 file [default: \s-1LOG.MID\s0]
+.IP "\-palette <number>" 4
+.IX Item "-palette <number>"
+Use given color palette [default: 0]
+.RS 4
+.IP "0" 4
+Scaled \s-1VDP\s0 colors
+.IP "1" 4
+.IX Item "1"
+Original \s-1VDP\s0 colors
+.IP "2" 4
+.IX Item "2"
+Faded \s-1NTSC\s0 colors
+.RE
+.RS 4
+.RE
+.IP "\-sound [<quality>]" 4
+.IX Item "-sound [<quality>]"
+Sound emulation quality [default: 22050]
+.IP "\-nosound" 4
+.IX Item "-nosound"
+Don't emulate sound [default: emulate sound]
+.IP "\-trap <address>" 4
+.IX Item "-trap <address>"
+Trap execution when \s-1PC\s0 reaches address [default: FFFFh]
+.IP "\-sync <frequency>" 4
+.IX Item "-sync <frequency>"
+Sync screen updates to <frequency> [default: 60]
+.IP "\-nosync" 4
+.IX Item "-nosync"
+Do not sync screen updates [default: \-nosync]
+.IP "\-tv, \-notv" 4
+.IX Item "-tv, -notv"
+Simulate/Don't simulate scanlines [default: \-notv]
+.IP "\-soft, \-nosoft" 4
+.IX Item "-soft, -nosoft"
+Scale screen up with softening [default: \-nosoft]
+.IP "\-saver, \-nosaver" 4
+.IX Item "-saver, -nosaver"
+Save/don't save \s-1CPU\s0 when inactive [default: \-saver]
+.IP "\-shm, \-noshm" 4
+.IX Item "-shm, -noshm"
+Use/don't use \s-1MIT SHM\s0 extensions for X [default: \-shm]
+.IP "\-scale <factor>" 4
+.IX Item "-scale <factor>"
+Scale window by <factor> [default: 2]
+.SH "KEYBOARD BINDINGS"
+.IX Header "KEYBOARD BINDINGS"
+[\s-1ALT\s0] Hold to switch to the second controller
+.IP "[\s-1SPACE\s0]" 4
+.IX Item "[SPACE]"
+FIRE-R button (also: [\s-1SHIFT\s0],A,S,D,F,G,H,J,K,L)
+.IP "[\s-1CONTROL\s0]" 4
+.IX Item "[CONTROL]"
+FIRE-L button (also: Z,X,C,V,B,N,M)
+.IP "[Q]" 4
+.IX Item "[Q]"
+SuperAction \s-1PURPLE\s0 button (also: E,T,U,O)
+.IP "[W]" 4
+.IX Item "[W]"
+SuperAction \s-1BLUE\s0 button (also: R,Y,I,P)
+.IP "[0]\-[9]" 4
+.IX Item "[0]-[9]"
+Digit buttons
+.IP "[\-]" 4
+[*] button
+.IP "[=]" 4
+[#] button
+.IP "[\s-1PGUP\s0]" 4
+.IX Item "[PGUP]"
+Fast-forward emulation (also: [F9])
+.IP "[\s-1ESC\s0]" 4
+.IX Item "[ESC]"
+Quit emulation (also: [F12])
+.IP "[F1]" 4
+.IX Item "[F1]"
+Go into the built-in debugger
+.IP "[F2]" 4
+.IX Item "[F2]"
+Turn soundtrack log on/off
+.IP "[F3]" 4
+.IX Item "[F3]"
+Toggle FIRE-R autofire on/off
+.IP "[F4]" 4
+.IX Item "[F4]"
+Toggle FIRE-L autofire on/off
+.IP "[F5]" 4
+.IX Item "[F5]"
+Invoke configuration menu
+.IP "[F6]" 4
+.IX Item "[F6]"
+Load emulation state
+.IP "[F7]" 4
+.IX Item "[F7]"
+Save emulation state
+.IP "[F8]" 4
+.IX Item "[F8]"
+Turn scanline simulation on/off
+.IP "[\s-1ALT\s0]+[F8]" 4
+.IX Item "[ALT]+[F8]"
+Toggle screen softening on/off
+.IP "[F9]" 4
+.IX Item "[F9]"
+Fast-forward emulation (also: [\s-1PGUP\s0])
+.IP "[F11]" 4
+.IX Item "[F11]"
+Reset hardware
+.IP "[F12]" 4
+.IX Item "[F12]"
+Quit emulation (also: [\s-1ESC\s0])
+.IP "[\s-1ALT\s0]+[\s-1PGUP\s0]" 4
+.IX Item "[ALT]+[PGUP]"
+Increase audio volume
+.IP "[\s-1ALT\s0]+[\s-1PGDOWN\s0]" 4
+.IX Item "[ALT]+[PGDOWN]"
+Decrease audio volume
+.SH "FILES"
+.IX Header "FILES"
+.IP "coleco.rom" 4
+.IX Item "coleco.rom"
+ColecoVision \s-1BIOS ROM\s0 image (8192 bytes). This is the only \s-1ROM\s0 required for playing ColecoVision games.
+.IP "writer.rom" 4
+.IX Item "writer.rom"
+SmartWriter \s-1ROM \s0(32768 bytes), only required for emulating the Coleco \s-1ADAM\s0 system.
+.IP "eos.rom" 4
+.IX Item "eos.rom"
+Extended \s-1OS ROM \s0(8192 bytes), only required for emulating the Coleco \s-1ADAM\s0 system.
+.PP
+The above \s-1ROM\s0 images may be named in all-lowercase or all-uppercase, and are searched for in:
+.PP
+1. The directory specified by \-home, or the current directory if \-home not given.
+.PP
+2. /usr/share/colem/
+.PP
+3. ~/.colem/
+.PP
+The coleco.rom file will occasionally be found on websites with the names \*(L"os7.rom\*(R" or \*(L"ColecoVision \s-1BIOS \s0(1982).col\*(R". Its md5sum is one of:
+.PP
+.Vb 3
+\& 2c66f5911e5b42b8ebe113403548eee7 (original version)
+\& 00fd13b66d39c69706aa48eb84a78411 (hacked version, different font)
+\& 47f7180592a00b9631c97a12ff0fdd3c (hacked version, no title screen delay)
+.Ve
+.PP
+ColEm works with any of the above \s-1ROM\s0 images.
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+ColEm is by Marat Fayzullin, (C)FMS 1994\-2010
+.PP
+This man page is by B. Watson, for the SlackBuilds.org project (but may be used by anyone for any
+purpose).
diff --git a/games/colem/colem.SlackBuild b/games/colem/colem.SlackBuild
index 68ae37a8e1..b5cf0e3548 100644
--- a/games/colem/colem.SlackBuild
+++ b/games/colem/colem.SlackBuild
@@ -6,8 +6,28 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20140825 bkw:
+# - updated for 2.9
+# - include icon in slackbuild dir (upstream removed it from src tarball)
+# - use ColEm.html from the source (upstream includes it now)
+# - get rid of DISPLAY_BPP stuff, bpp is now detected at runtime,
+# tested same binary on 16bpp and 32bpp, doubt anyone still uses 8bpp
+# - host source myself, since upstream doesn't keep old releases
+# - convert man page to .pod, for easier editing
+# - install binary in /usr/games, man page in section 6
+# - don't unzip the system ROM to $CWD (it might be read-only)
+# - support ROM images with alternate name os7.rom
+# - clean up README formatting, get rid of bpp stuff, mention OSS audio
+# - add a generic-icon to colem.xml, at least in XFCE this makes .col
+# files show up with the colem icon.
+# - improve the .desktop file:
+# + don't display in the start menu (since a ROM argument is required)
+# + auto-associate with colecovision ROMs (as defined in colem.xml)
+# + run "aoss colem" to get audio working on a stock Slack 14.1 system
+# with OSS modules disabled by default.
+
PRGNAM=colem
-VERSION=${VERSION:-2.6}
+VERSION=${VERSION:-2.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -50,7 +70,7 @@ fi
set -e
ZIPNAME="ColEm"
-ZIPVER=$( echo $VERSION | sed 's/\.//g' )
+ZIPVER=${VERSION//./}
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
@@ -66,44 +86,43 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-sed -i 's/-O3/$(SLKCFLAGS)/' EMULib/Rules.gcc
+sed -i "s/-O2/$SLKCFLAGS/" EMULib/Rules.gcc
# Make the emulator look in /usr/share/colem and ~/.colem for the
# system ROMs, as well as the current directory. Without this, it's
# quite annoying to use colem from either the command line or KDE.
patch -p1 < $CWD/rom_path.diff
+# Don't lie and say we support .zip files. There's no code to implement it,
+# at least not in the *nix port.
+sed -i 's,and PKZIPped ,,' ColEm/Help.h ColEm/ColEm.html
+
cd $ZIPNAME/Unix
-# Allow building for 8bpp or 16bpp X11 displays (the default is 32,
-# which works on either 24bpp or 32bpp, which 99% of everyone is
-# using now).
-if [ "${DISPLAY_BPP:-32}" != "32" ]; then
- sed -i "/^DEFINES/s/-DBPP32/-DBPP$DISPLAY_BPP/" Makefile
-fi
+# ColEm.html claims that -DGIFLIB makes the F10 key save a GIF snapshot,
+# but it's not actually implemented in ColEm-2.9. In 2.6 it was implemented
+# only for MS-DOS.
+#sed -i "/^DEFINES/s/$/ -DGIFLIB/" Makefile
# Allow building on big-endian platforms (such as s390)
if [ "${BIGENDIAN:-no}" != "no" ]; then
sed -i "/^DEFINES/s/-DLSB_FIRST/-DMSB_FIRST/" Makefile
fi
-make SLKCFLAGS="$SLKCFLAGS"
-mkdir -p $PKG/usr/bin
-install -s -m0755 -oroot -groot $PRGNAM $PKG/usr/bin
+make
-# Man page written by script author.
-mkdir -p $PKG/usr/man/man1
-gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+# no 'make install', do it manually.
+mkdir -p $PKG/usr/games
+install -s -m0755 -oroot -groot $PRGNAM $PKG/usr/games
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README
-
-# HTML doc downloaded from http://fms.komkon.org/ColEm/ColEm.html
-cat $CWD/$ZIPNAME.html > $PKG/usr/doc/$PRGNAM-$VERSION/$ZIPNAME.html
+# Man page written by script author.
+mkdir -p $PKG/usr/man/man6
+gzip -9c < $CWD/$PRGNAM.6 > $PKG/usr/man/man6/$PRGNAM.6.gz
+# Icon used to be distributed with the colem 2.6 source, as
+# Maemo/Package/colem-64x64.png
mkdir -p $PKG/usr/share/pixmaps
-cat ../Maemo/Package/colem-64x64.png > $PKG/usr/share/pixmaps/$PRGNAM.png
+cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
# .desktop file and mime .xml file originally taken from ColEm-Maemo
# sources and modified to get rid of the Maemo-specific stuff.
@@ -113,21 +132,32 @@ cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
mkdir -p $PKG/usr/share/mime/packages
cat $CWD/$PRGNAM.xml > $PKG/usr/share/mime/packages/$PRGNAM.xml
-# The ROM directory
+# The ROM directory. Included even if there's no ROM in the package.
mkdir -p $PKG/usr/share/$PRGNAM
-# If there's a ROM image in $CWD, include it in the package
+# Look for zipped ROM images and unzip them.
if [ -e $CWD/coleco.zip ]; then
- ( cd $CWD ; unzip -o coleco.zip )
+ unzip -o $CWD/coleco.zip
elif [ -e $CWD/COLECO.ZIP ]; then
- ( cd $CWD ; unzip -o COLECO.ZIP )
-fi
-if [ -e $CWD/coleco.rom ]; then
- cat $CWD/coleco.rom > $PKG/usr/share/$PRGNAM/coleco.rom
-elif [ -e $CWD/COLECO.ROM ]; then
- cat $CWD/COLECO.ROM > $PKG/usr/share/$PRGNAM/coleco.rom
+ unzip -o $CWD/COLECO.ZIP
fi
+# Look for non-zipped ROM images, either unzipped above or in $CWD.
+for i in coleco.rom COLECO.ROM os7.rom OS7.ROM; do
+ [ -e $i ] && ROM=$i
+ [ -e $CWD/$i ] && ROM=$CWD/$i
+done
+
+# If we found a ROM image, include it in the package.
+[ -n "$ROM" ] && cat $ROM > $PKG/usr/share/$PRGNAM/coleco.rom
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README
+
+# HTML doc now included in the source tarball (didn't used to be).
+cat ../$ZIPNAME.html > $PKG/usr/doc/$PRGNAM-$VERSION/$ZIPNAME.html
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
diff --git a/games/colem/colem.desktop b/games/colem/colem.desktop
index 33754341ed..8c80b46dbc 100644
--- a/games/colem/colem.desktop
+++ b/games/colem/colem.desktop
@@ -2,7 +2,14 @@
Type=Application
Name=ColEm
GenericName=ColecoVision Emulator
-Exec=colem
+Exec=aoss colem %f
Icon=colem
Terminal=false
Categories=Game;Emulator;
+NoDisplay=true
+Actions=Play;
+MimeType=application/x-cvrom;
+
+[Desktop Action Play]
+Name=Play
+Exec=aoss colem %f
diff --git a/games/colem/colem.info b/games/colem/colem.info
index 3d71671070..19b803b630 100644
--- a/games/colem/colem.info
+++ b/games/colem/colem.info
@@ -1,8 +1,8 @@
PRGNAM="colem"
-VERSION="2.6"
+VERSION="2.9"
HOMEPAGE="http://fms.komkon.org/ColEm/"
-DOWNLOAD="http://fms.komkon.org/ColEm/ColEm26-Source.zip"
-MD5SUM="dbafc021fc71ae5baae3602369f5a6f5"
+DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/ColEm29-Source.zip"
+MD5SUM="a619dd9f5ddde76326b9278b13e6fac5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/games/colem/colem.png b/games/colem/colem.png
new file mode 100644
index 0000000000..bf7503cfeb
--- /dev/null
+++ b/games/colem/colem.png
Binary files differ
diff --git a/games/colem/colem.pod b/games/colem/colem.pod
new file mode 100644
index 0000000000..02e3b8167c
--- /dev/null
+++ b/games/colem/colem.pod
@@ -0,0 +1,308 @@
+# pod source for colem man page. convert with:
+# pod2man --stderr -s6 -r2.9 -cSlackBuilds.org colem.pod > colem.6
+# ignore the 'Expected text after =item, not a number' warnings.
+
+=pod
+
+=head1 NAME
+
+colem - Emulator for ColecoVision and Coleco Adam consoles
+
+=head1 SYNOPSIS
+
+colem [-option1 [-option2...]] [filename]
+
+=head1 DESCRIPTION
+
+ColEm is a portable emulator of the old ColecoVision videogame console. It should run most ColecoVision games and supports Coleco's SuperAction controllers with spin wheels.
+
+You can always get the latest ColEm binaries, source code, and support files from
+http://fms.komkon.org/ColEm/
+
+=head1 OPTIONS
+
+[filename]
+Name of the file to load as a cartridge [default: CART.ROM]
+
+This program will transparently uncompress singular GZIPped files.
+
+=over 4
+
+=item -verbose <level>
+
+Select debugging messages [bitmask, default: 5]
+
+=over 4
+
+=item 0
+
+Silent
+
+=item 1
+
+Startup messages
+
+=item 2
+
+VDP
+
+=item 4
+
+Illegal Z80 ops
+
+=item 16
+
+Sound
+
+=back
+
+=item -pal, -ntsc
+
+Video system to use [default: -ntsc]
+
+=item -skip <percent>
+
+Percentage of frames to skip [default: 25]
+
+=item -help
+
+Print this help page
+
+=item -home <dirname>
+
+Set directory with system ROM files [default: see FILES, below]
+
+=item -adam, -cv
+
+Run in Adam/ColecoVision mode [default: -cv]
+
+=item -allspr
+
+Show all sprites [off]
+
+=item -autoa, -noautoa
+
+Autofire/No autofire for FIRE-R button [default: -noautoa]
+
+=item -autob, -noautob
+
+Autofire/No autofire for FIRE-L button [default: -noautob]
+
+=item -spin1x, -spin1y
+
+Mouse X/Y position as SuperAction spinner 1 [default: off]
+
+=item -spin2x, -spin2y
+
+Mouse X/Y position as SuperAction spinner 2 [default: off]
+
+=item -drums, -nodrums
+
+Hit/Don't hit MIDI drums on noise [default: -nodrums]
+
+=item -logsnd <filename>
+
+Write soundtrack to a MIDI file [default: LOG.MID]
+
+=item -palette <number>
+
+Use given color palette [default: 0]
+
+=over 4
+
+=item 0
+
+Scaled VDP colors
+
+=item 1
+
+Original VDP colors
+
+=item 2
+
+Faded NTSC colors
+
+=back
+
+=item -sound [<quality>]
+
+Sound emulation quality [default: 22050]
+
+=item -nosound
+
+Don't emulate sound [default: emulate sound]
+
+=item -trap <address>
+
+Trap execution when PC reaches address [default: FFFFh]
+
+=item -sync <frequency>
+
+Sync screen updates to <frequency> [default: 60]
+
+=item -nosync
+
+Do not sync screen updates [default: -nosync]
+
+=item -tv, -notv
+
+Simulate/Don't simulate scanlines [default: -notv]
+
+=item -soft, -nosoft
+
+Scale screen up with softening [default: -nosoft]
+
+=item -saver, -nosaver
+
+Save/don't save CPU when inactive [default: -saver]
+
+=item -shm, -noshm
+
+Use/don't use MIT SHM extensions for X [default: -shm]
+
+=item -scale <factor>
+
+Scale window by <factor> [default: 2]
+
+=back
+
+=head1 KEYBOARD BINDINGS
+
+[ALT] Hold to switch to the second controller
+
+=over 4
+
+=item [SPACE]
+
+FIRE-R button (also: [SHIFT],A,S,D,F,G,H,J,K,L)
+
+=item [CONTROL]
+
+FIRE-L button (also: Z,X,C,V,B,N,M)
+
+=item [Q]
+
+SuperAction PURPLE button (also: E,T,U,O)
+
+=item [W]
+
+SuperAction BLUE button (also: R,Y,I,P)
+
+=item [0]-[9]
+
+Digit buttons
+
+=item [-]
+
+[*] button
+
+=item [=]
+
+[#] button
+
+=item [PGUP]
+
+Fast-forward emulation (also: [F9])
+
+=item [ESC]
+
+Quit emulation (also: [F12])
+
+=item [F1]
+
+Go into the built-in debugger
+
+=item [F2]
+
+Turn soundtrack log on/off
+
+=item [F3]
+
+Toggle FIRE-R autofire on/off
+
+=item [F4]
+
+Toggle FIRE-L autofire on/off
+
+=item [F5]
+
+Invoke configuration menu
+
+=item [F6]
+
+Load emulation state
+
+=item [F7]
+
+Save emulation state
+
+=item [F8]
+
+Turn scanline simulation on/off
+
+=item [ALT]+[F8]
+
+Toggle screen softening on/off
+
+=item [F9]
+
+Fast-forward emulation (also: [PGUP])
+
+=item [F11]
+
+Reset hardware
+
+=item [F12]
+
+Quit emulation (also: [ESC])
+
+=item [ALT]+[PGUP]
+
+Increase audio volume
+
+=item [ALT]+[PGDOWN]
+
+Decrease audio volume
+
+=back
+
+=head1 FILES
+
+=over 4
+
+=item coleco.rom
+
+ColecoVision BIOS ROM image (8192 bytes). This is the only ROM required for playing ColecoVision games.
+
+=item writer.rom
+
+SmartWriter ROM (32768 bytes), only required for emulating the Coleco ADAM system.
+
+=item eos.rom
+
+Extended OS ROM (8192 bytes), only required for emulating the Coleco ADAM system.
+
+=back
+
+The above ROM images may be named in all-lowercase or all-uppercase, and are searched for in:
+
+1. The directory specified by -home, or the current directory if -home not given.
+
+2. /usr/share/colem/
+
+3. ~/.colem/
+
+The coleco.rom file will occasionally be found on websites with the names "os7.rom" or "ColecoVision BIOS (1982).col". Its md5sum is one of:
+
+ 2c66f5911e5b42b8ebe113403548eee7 (original version)
+ 00fd13b66d39c69706aa48eb84a78411 (hacked version, different font)
+ 47f7180592a00b9631c97a12ff0fdd3c (hacked version, no title screen delay)
+
+ColEm works with any of the above ROM images.
+
+=head1 AUTHOR
+
+ColEm is by Marat Fayzullin, (C)FMS 1994-2010
+
+This man page is by B. Watson, for the SlackBuilds.org project (but may be used by anyone for any
+purpose).
diff --git a/games/colem/colem.xml b/games/colem/colem.xml
index 816a514c54..45e2143a73 100644
--- a/games/colem/colem.xml
+++ b/games/colem/colem.xml
@@ -6,5 +6,6 @@
<glob pattern="*.cv"/>
<glob pattern="*.col.gz"/>
<glob pattern="*.col"/>
+ <generic-icon name="colem" />
</mime-type>
</mime-info>