aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/colem/ColEm.html361
-rw-r--r--games/colem/README8
-rw-r--r--games/colem/colem.1215
-rw-r--r--games/colem/colem.62
-rw-r--r--games/colem/colem.SlackBuild29
-rw-r--r--games/colem/colem.info6
-rw-r--r--games/colem/colem.pod19
-rw-r--r--games/colem/rom_path.diff158
8 files changed, 120 insertions, 678 deletions
diff --git a/games/colem/ColEm.html b/games/colem/ColEm.html
deleted file mode 100644
index 3a641ea82f30e..0000000000000
--- a/games/colem/ColEm.html
+++ /dev/null
@@ -1,361 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ColEm Documentation</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=#FFFFFF LINK=#006000 VLINK=#006000>
-
-<CENTER>
-<H1><FONT COLOR=#FF0000>ColEm<BR>version 2.5</FONT></H1>
-<H3>by <A HREF="http://fms.komkon.org/">Marat Fayzullin</A></H3>
-</CENTER>>
-
-<H1>Contents</H1>
-<UL>
-<LI><A HREF="#LABB">New in This Version</A>
-<LI><A HREF="#LABC">Introduction</A>
-<LI><A HREF="#LABH">Buttons</A>
-<LI><A HREF="#LABI">Command Line Options</A>
-<LI><A HREF="#LABJ">Frequently Asked Questions</A>
-<LI><A HREF="#LABK">History</A>
-<LI><A HREF="#LABI">Thanks to...</A>
-</UL>
-
-<A NAME="LABB">
-<H1>New in This Version</H1>
-</A>
-<UL>
-<LI>Yet again ported ColEm to Unix using the new EMULib
- framework. The new <B>ColEm-Unix</B> has been tested to compile
- and run on Ubuntu Linux but should work on any other Unix.
- ColEm-Unix source code is included with the core source code
- distribution.
-<LI>Ported ColEm to Maemo OS2008 used in N800 and N810 internet tablets
- from Nokia. <B>ColEm-Maemo</B> has been specifically optimized for
- the tablets using ARM assembler. It will simulate joypad with the
- touch screen and automatically open <CODE>*.cv/*.cv.gz</CODE> files
- from the file manager. ColEm-Maemo source code is included with the
- core source code distribution.
-<LI>Renamed <CODE>-zoom/-nozoom</CODE> to <CODE>-soft/-nosoft</CODE>.
-<LI>Added <CODE>-scale</CODE> option to scale window on Unix.
-<LI>Added <CODE>-home</CODE> to set home directory with system ROMs.
-<LI>Options <CODE>-tv/-notv</CODE>, <CODE>-soft/-nosoft</CODE>, and the
- <CODE>[F8]</CODE> key now work for both MSDOS and Unix.
-<LI>ColEm-Symbian display routines rewritten in ARM assembler for speed.
-<LI>Split ColEm-Symbian configuration menu into four tabs, making
- "Video" and "Audio" settings separate.
-<LI>Added "Audio Latency", "Skip Frames", and "Sync Updates" settings
- to ColEm-Symbian.
-<LI>Documentation and built-in help changed, many inconsistencies removed.
-</UL>
-
-<A NAME="LABC">
-<H1>Introduction</H1>
-</A>
-<P>
- 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
-</P>
-<P ALIGN=CENTER>
-<A HREF="http://fms.komkon.org/ColEm/">http://fms.komkon.org/ColEm/</A>
-</P>
-<P>
-There are versions of ColEm for many platforms, with Windows, MSDOS, Unix,
-and Symbian ports being maintained by myself. All these ports are available
-for free from the above website.
-</P>
-<P>
-The ColEm-Symbian port works on the 3rd Edition Series60 phones from
-Nokia and its licensees. You can download it, as well as my other
-Symbian products, at
-</P>
-<P ALIGN=CENTER>
-<A HREF="http://fms.komkon.org/EmuSymbian/">http://fms.komkon.org/EmuSymbian/</A>
-</P>
-<P>
-ColEm is written in portable C and thus can be ported to any sufficiently
-fast computing platform. The current ColEm source code distribution includes
-portable core sources and platform-specific sources for Windows and MSDOS.
-The ColEm-Unix sources are also available, for a slightly older version
-of ColEm.
-</P>
-<P>
-If you would like to port ColEm to another system or make changes in
-ColEm's code, <U>please</U>, contact me by email or some other means. Be
-aware that ColEm source code is freely distributable, but it is <U>not</U>
-public domain and it is <U>not</U> released under GPL. You can not use it
-for commercial purposes, distribute, or change it on your own, unless you
-contact me to arrange the conditions of such use and get my permission.
-Feel free to look at it though.
-</P>
-
-<A NAME="LABH">
-<H1>Buttons</H1>
-</A>
-<FONT COLOR="#000060">
-<PRE>
-<B>All versions:</B>
- [ALT] - Hold to switch to the second controller
- [SPACE] - FIRE-R button (also: [SHIFT],A,S,D,F,G,H,J,K,L)
- [CONTROL] - FIRE-L button (also: Z,X,C,V,B,N,M)
- [Q] - SuperAction PURPLE button (also: E,T,U,O)
- [W] - SuperAction BLUE button (also: R,Y,I,P)
- [0]-[9] - Digit buttons
- [-] - [*] button
- [=] - [#] button
- [PGUP] - Fast-forward emulation (also: [F9])
- [ESC] - Quit emulation (also: [F12])
- [F2] - Turn soundtrack log on/off
- [F3] - Toggle FIRE-R autofire on/off
- [F4] - Toggle FIRE-L autofire on/off
- [F5] - Invoke configuration menu
- [F6] - Load emulation state
- [F7] - Save emulation state
- [F9] - Fast-forward emulation (also: [PGUP])
- [F11] - Reset hardware
- [F12] - Quit emulation (also: [ESC])
- [ALT]+[PGUP] - Increase audio volume
- [ALT]+[PGDOWN] - Decrease audio volume
-
-<B>With #define DEBUG:</B>
- [F1] - Go into the built-in debugger
-
-<B>With #define GIFLIB:</B>
- [F10] - Make a screen snapshot (SNAPxxxx.GIF)
-
-<B>With #define WINDOWS:</B>
- [ALT]+[ENTER] - Switch between full screen and window modes
-
-<B>With #define MSDOS or UNIX:</B>
- [F8] - Turn scanline simulation on/off
- [CTRL]+[F8] - Toggle screen softening on/off
-</PRE>
-</FONT>
-
-<A NAME="LABI">
-<H1>Command Line Options</H1>
-</A>
-<FONT COLOR="#000060">
-<PRE>
-Usage: colem [-option1 [-option2...]] [filename]
-
-[filename] = Name of the file to load as a cartridge [CART.ROM]
- This program will transparently uncompress singular GZIPped
- and PKZIPped files.
-
-<B>[-option] =</B>
- -verbose &lt;level&gt; - Select debugging messages [5]
- 0 - Silent 1 - Startup messages
- 2 - VDP 4 - Illegal Z80 ops
- 16 - Sound
- -skip &lt;percent&gt; - Percentage of frames to skip [25]
- -help - Print this help page
- -home &lt;dirname&gt; - Set directory with system ROM files [off]
- -pal/-ntsc - Video system to use [-ntsc]
- -adam/-cv - Run in Adam/ColecoVision mode [-cv]
- -allspr - Show all sprites [off]
- -autoa/-noautoa - Autofire/No autofire for FIRE-R button [-noautoa]
- -autob/-noautob - Autofire/No autofire for FIRE-L button [-noautob]
- -spin1x/-spin1y - Mouse X/Y position as SuperAction spinner 1 [off]
- -spin2x/-spin2y - Mouse X/Y position as SuperAction spinner 2 [off]
- -drums/-nodrums - Hit/Don't hit MIDI drums on noise [-nodrums]
- -logsnd &lt;filename&gt; - Write soundtrack to a MIDI file [LOG.MID]
- -palette &lt;number&gt; - Use given color palette [0]
- 0 - Scaled VDP colors 1 - Original VDP colors
- 2 - Faded NTSC colors
- -sound [&lt;quality&gt;] - Sound emulation quality [22050]
- -nosound - Don't emulate sound [-nosound]
-
-<B>With #define DEBUG:</B>
- -trap &lt;address&gt; - Trap execution when PC reaches address [FFFFh]
-
-<B>With #define UNIX or MSDOS:</B>
- -sync &lt;frequency&gt; - Sync screen updates to &lt;frequency&gt; [-nosync]
- -nosync - Do not sync screen updates [-nosync]
- -tv/-notv - Simulate/Don't simulate scanlines [-notv]
- -soft/-nosoft - Scale screen up with softening [-nosoft]
-
-<B>With #define MSDOS:</B>
- -vsync - Sync screen updates to VGA VBlanks [-vsync]
-
-<B>With #define UNIX:</B>
- -saver/-nosaver - Save/don't save CPU when inactive [-saver]
- -scale &lt;factor&gt; - Scale window by &lt;factor&gt; [2]
-
-<B>With #define MITSHM:</B>
- -shm/-noshm - Use/don't use MIT SHM extensions for X [-shm]
-</PRE>
-</FONT>
-
-<A NAME="LABJ">
-<H1>Frequently Asked Questions</H1>
-</A>
-<OL>
-<LI><B>Why is the emulator so slow on my PC?</B>
-<P>
-Your computer may be too slow to run the emulator. On slow machines, try
-speeding things up by skipping more frames (<CODE>-skip</CODE> command
-line option or "Draw XX% frames" menu option). In ColEm-Windows, make
-window smaller or switch to the full screen mode with
-<CODE>[Alt]+[Enter]</CODE>.
-</P>
-<LI><B>Emulator is too fast on my PC!</B>
-<P>
-If ColEm is too fast on your computer, you can slow it down by syncing it
-to a timer (<CODE>-sync</CODE> in ColEm-Unix), VBlanks (<CODE>-vsync</CODE>
-in ColEm-MSDOS), or by choosing "PAL Video"/"NTSC Video" menu option in
-ColEm-Windows.
-</P>
-<LI><B>I can't get some ROM images to work with the emulator.</B>
-<P>
-If you can't get ROM image to work, send it to me for analysis.
-</P>
-<LI><B>Is it legal to spread cartridge ROMs?</B>
-<P>
-<U>NO</U>. Nobody seems to care though, mainly because there is no
-profit to be made from ColecoVision software any longer. Nevertheless, be
-aware of the fact that by using commercial software you haven't bought you
-are commencing an act of piracy.
-</P>
-<LI><B>When compiling ColEm-Unix, I get "undefined name" errors.</B>
-<P>
-This usually means that your linker cannot find the necessary libraries
-(namely, libX11 and libXext) or some additional libraries (like libsocket
-and libnsl) are required. Find these libraries in your system and modify
-the Makefile so that the final invocation of the C compiler has
-<CODE>-L&lt;path_to_libs&gt;</CODE> options. If you have no libXext
-library and the same functionality isn't provided in libX11, try
-#undefining the <CODE>MITSHM</CODE> option.
-</P>
-<LI><B>When starting ColEm-Unix, I get X_ShmAttach error.</B>
-<P>
-You are probably trying to run the emulator on a remote Xterminal while
-it attempts to use shared memory for interfacing with X. Another reason
-for this error may be the lack of MITSHM extension support in your
-Xserver. Use <CODE>-noshm</CODE> option to disable the usage of shared
-memory.
-</P>
-<LI><B>When starting ColEm-Unix, I get X_PutImage error.</B>
-<P>
-Unix/X version of ColEm can currently be compiled for 8bit, 16bit, or
-32bit Xterminals. Neither 1bit nor 4bit Xterminals will work with the
-drivers included into official ColEm distribution.
-</P>
-</OL>
-
-<A NAME="LABK">
-<H1>History</H1>
-</A>
-<H2>New in ColEm 2.4</H2>
-<UL>
-<LI>Ported ColEm to smartphones running <B>Symbian/UIQ3</B> software!
-<LI>Added new, much better, scanline simulation and video softening
- effects to ColEm-Windows.
-<LI>ColEm-Windows full-screen mode now runs in 640x480 resolution.
-<LI>Added <CODE>-sync/-nosync</CODE> option to ColEm-MSDOS to sync screen
- updates to the timer (use <CODE>-vsync</CODE> for VBlanks).
-<LI>Added <CODE>-zoom/-nozoom</CODE> option to ColEm-MSDOS that will
- zoom ColEm display to fill the whole screen, using image
- softening algorithm.
-<LI>ColEm-MSDOS now runs in 640x480x15bpp VESA screen mode when
- <CODE>-zoom</CODE> or <CODE>-tv</CODE> options used, otherwise
- it runs in 320x200x15bpp screen mode.
-<LI>Added [CONTROL]+[F8] key combination to ColEm-MSDOS to toggle
- display zoom on/off.
-<LI>Added new "Fill & Soften" zoom mode to ColEm-Symbian. It is
- rather slow though.
-<LI>Fixed possible source of instabilities in the S60 open file dialog
- in ColEm-Symbian.
-</UL>
-<H2>New in ColEm 2.3</H2>
-<UL>
-<LI>Added <B>network play</B> option to ColEm-Windows and ColEm-Symbian!
-<LI>Now resetting R register on ResetZ80() to keep states of both NetPlay
- players consistent.
-<LI>Now clearing all RAM on ResetColeco() to keep states of both NetPlay
- players consistent.
-<LI>Added new, much better, scanline simulation and video softening
- effects to ColEm-Windows.
-<LI>ColEm-Windows full-screen mode now runs in 640x480 resolution.
-<LI>Added zoom settings to ColEm-Symbian ("None", "Keep Aspect", and
- "Fill Screen").
-<LI>Added display orientation settings to ColEm-Symbian ("Landscape",
- "Portrait", and "Auto").
-<LI>Finally fixed opendir() problem in EMULib-Symbian. All built-in
- menu file dialogs work now!
-<LI>Further extended and optimized Symbian screen rendering routines.
-<LI>Fixed and optimized TV scanline simulation in ColEm-Symbian, made
- scanline effect stronger.
-<LI>Fixed system warnings in when flipping Nokia E70 open/closed.
-<LI>Fixed possible crash when selecting an initial file in ColEm-Symbian.
-</UL>
-<H2>New in ColEm 2.2</H2>
-<UL>
-<LI>Changed Z80 NMI handling to comply with the standard.
-<LI>Added "show all sprites" option (-allspr).
-<LI>Added error messages to ColEm-Windows and ColEm-Symbian.
-<LI>Added button and key remapping configuration to ColEm-Symbian.
-<LI>ColEm-Symbian application menu is now split into three pages.
-<LI>ColEm-MSDOS is now prebound with DOS32A extender, instead of
- outdated DOS4GW.
-</UL>
-<H2>New in ColEm 2.1</H2>
-<UL>
-<LI>Added builtin configuration menu ([F5]).
-<LI>Added palette selection (-palette) between scaled VDP palette, original
- VDP palette, and the faded NTSC palette suggested by Richard Drushel.
-<LI>Now defaulting to the palette from TMS9918 datasheet scaled by 255/224
- to get true white color.
-<LI>Fixed console keyboard input in Windows.
-<LI>Updated and extended documentation.
-</UL>
-<H2>New in ColEm 2.0</H2>
-<UL>
-<LI>MSDOS and Windows versions are now based on the new framework.
-<LI>Started adding Coleco Adam emulation (not finished yet).
-<LI>Added state saving and loading via .STA files.
-<LI>Added SuperAction spinner emulation with the mouse.
-<LI>Added zoomed sprites support in VDP.
-<LI>Standardized TMS9918 emulation.
-<LI>Fixed VDP VBlank interrupt bug.
-<LI>Replaced "updates per VBlank" (-uperiod) with "percentage of
- skipped frames" parameter (-skip).
-<LI>Removed -vperiod/-hperiod parameters as deprecated.
-<LI>Added -pal/-ntsc parameters to switch between TMS9918/TMS9928
- and TMS9929 VDPs.
-<LI>Soundtrack saved into MIDI files.
-<LI>Documentation rewritten in HTML.
-<LI>Added speed throttling to ColEm-MSDOS (-vsync).
-<LI>Keyboard assignments have changed.
-</UL>
-<H2>New in ColEm 1.0</H2>
-<UL>
-<LI>Standardized Z80 emulation.
-<LI>Standardized PSG emulation.
-<LI>Soundtrack saved into .SND files.
-<LI>Screen refresh done line-by-line.
-<LI>Sprites are refreshed line-by-line.
-<LI>Limit on sprites per line introduced.
-<LI>General cleanup of the source code.
-<LI>Rewritten documentation.
-</UL>
-
-<A NAME="LABI">
-<H1>Thanks to...</H1>
-</A>
-<P>
-Finally, I would like to thank Hans Guijt, Marcel de Kogel, John Stiles,
-Neal Danner, Alan Steremberg, and all other people who helped me with
-advice, information, ROM images, and encouragment.
-</P>
-
-<HR>
-<I>
-&copy; Copyright by
-<A HREF="http://fms.komkon.org/">Marat Fayzullin</A>
-(marat [AT] komkon /DOT/ org)
-</I>
-</BODY>
-</HTML>
diff --git a/games/colem/README b/games/colem/README
index 93f7a565277cd..7ff796550c4a6 100644
--- a/games/colem/README
+++ b/games/colem/README
@@ -4,10 +4,10 @@ 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.
-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.
+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
+(which will use aoss automatically).
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.
diff --git a/games/colem/colem.1 b/games/colem/colem.1
deleted file mode 100644
index e8d3c76029c56..0000000000000
--- a/games/colem/colem.1
+++ /dev/null
@@ -1,215 +0,0 @@
-.TH COLEM "1" "January 2011" "SlackBuilds.org" "User Commands"
-.SH NAME
-colem \- Emulator for ColecoVision and Coleco Adam consoles
-.SH SYNOPSIS
-.B colem
-[\fI-option1 \fR[\fI-option2\fR...]] [\fIfilename\fR]
-.SH 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
-.B http://fms.komkon.org/ColEm/
-.SH OPTIONS
-.TP
-\fB[filename]\fR
-Name of the file to load as a cartridge [default: CART.ROM]
-.PP
-This program will transparently uncompress singular GZIPped
-and PKZIPped files.
-.TP
-\fB\-verbose\fR <level>
-Select debugging messages [bitmask, default: 5]
-.br
-0 \- Silent
-.br
-1 \- Startup messages
-.br
-2 \- VDP
-.br
-4 \- Illegal Z80 ops
-.br
-16 \- Sound
-.TP
-\fB\-pal\fR, \fB\-ntsc\fR
-Video system to use [default: \-ntsc]
-.TP
-\fB\-skip\fR <percent>
-Percentage of frames to skip [default: 25]
-.TP
-\fB\-help\fR
-Print this help page
-.TP
-\fB\-home\fR <dirname>
-Set directory with system ROM files [default: see FILES, below]
-.TP
-\fB\-adam\fR, \fB\-cv\fR
-Run in Adam/ColecoVision mode [default: \-cv]
-.TP
-\fB\-allspr\fR
-Show all sprites [off]
-.TP
-\fB\-autoa\fR, \fB\-noautoa\fR
-Autofire/No autofire for FIRE\-R button [default: \-noautoa]
-.TP
-\fB\-autob\fR, \fB\-noautob\fR
-Autofire/No autofire for FIRE\-L button [default: \-noautob]
-.TP
-\fB\-spin1x\fR, \fB\-spin1y\fR
-Mouse X/Y position as SuperAction spinner 1 [default: off]
-.TP
-\fB\-spin2x\fR, \fB\-spin2y\fR
-Mouse X/Y position as SuperAction spinner 2 [default: off]
-.TP
-\fB\-drums\fR, \fB\-nodrums\fR
-Hit/Don't hit MIDI drums on noise [default: \-nodrums]
-.TP
-\fB\-logsnd\fR <filename>
-Write soundtrack to a MIDI file [default: LOG.MID]
-.TP
-\fB\-palette\fR <number>
-Use given color palette [default: 0]
-.br
-0 \- Scaled VDP colors
-.br
-1 \- Original VDP colors
-.br
-2 \- Faded NTSC colors
-.TP
-\fB\-sound\fR [<quality>]
-Sound emulation quality [default: 22050]
-.TP
-\fB\-nosound\fR
-Don't emulate sound [default: emulate sound]
-.TP
-\fB\-trap\fR <address>
-Trap execution when PC reaches address [default: FFFFh]
-.TP
-\fB\-sync\fR <frequency>
-Sync screen updates to <frequency> [default: 60]
-.TP
-\fB\-nosync\fR
-Do not sync screen updates [default: \-nosync]
-.TP
-\fB\-tv\fR, \fB\-notv\fR
-Simulate/Don't simulate scanlines [default: \-notv]
-.TP
-\fB\-soft\fR, \fB\-nosoft\fR
-Scale screen up with softening [default: \-nosoft]
-.TP
-\fB\-saver\fR, \fB\-nosaver\fR
-Save/don't save CPU when inactive [default: \-saver]
-.TP
-\fB\-shm\fR, \fB\-noshm\fR
-Use/don't use MIT SHM extensions for X [default: \-shm]
-.TP
-\fB\-scale\fR <factor>
-Scale window by <factor> [default: 2]
-.SH "KEYBOARD BINDINGS"
-.TP
-\fB[ALT]\fR
-Hold to switch to the second controller
-.TP
-\fB[SPACE]\fR
-FIRE\-R button (also: [SHIFT],A,S,D,F,G,H,J,K,L)
-.TP
-\fB[CONTROL]\fR
-FIRE\-L button (also: Z,X,C,V,B,N,M)
-.TP
-\fB[Q]\fR
-SuperAction PURPLE button (also: E,T,U,O)
-.TP
-\fB[W]\fR
-SuperAction BLUE button (also: R,Y,I,P)
-.TP
-\fB[0]\-[9]\fR
-Digit buttons
-.TP
-\fB[\-]\fR
-[*] button
-.TP
-\fB[=]\fR
-[#] button
-.TP
-\fB[PGUP]\fR
-Fast\-forward emulation (also: [F9])
-.TP
-\fB[ESC]\fR
-Quit emulation (also: [F12])
-.TP
-\fB[F1]\fR
-Go into the built\-in debugger
-.TP
-\fB[F2]\fR
-Turn soundtrack log on/off
-.TP
-\fB[F3]\fR
-Toggle FIRE\-R autofire on/off
-.TP
-\fB[F4]\fR
-Toggle FIRE\-L autofire on/off
-.TP
-\fB[F5]\fR
-Invoke configuration menu
-.TP
-\fB[F6]\fR
-Load emulation state
-.TP
-\fB[F7]\fR
-Save emulation state
-.TP
-\fB[F8]\fR
-Turn scanline simulation on/off
-.TP
-\fB[ALT]+[F8]\fR
-Toggle screen softening on/off
-.TP
-\fB[F9]\fR
-Fast\-forward emulation (also: [PGUP])
-.TP
-\fB[F11]\fR
-Reset hardware
-.TP
-\fB[F12]\fR
-Quit emulation (also: [ESC])
-.TP
-\fB[ALT]+[PGUP]\fR
-Increase audio volume
-.TP
-\fB[ALT]+[PGDOWN]\fR
-Decrease audio volume
-.SH FILES
-.TP
-\fBcoleco.rom\fR
-ColecoVision BIOS ROM image (8192 bytes). This is the only ROM required
-for playing ColecoVision games.
-.TP
-\fBwriter.rom\fR
-SmartWriter ROM (32768 bytes), only required for emulating the Coleco ADAM system.
-.TP
-\fBeos.rom\fR
-Extended OS ROM (8192 bytes), only required for emulating the Coleco ADAM system.
-.PP
-The above ROM images may be named in all\-lowercase or all\-uppercase,
-and are searched for in:
-.PP
-1. The directory specified by \fB\-home\fR, or the current directory if \fB\-home\fR not given.
-.br
-2. \fI/usr/share/colem\fR
-.br
-3. \fI~/.colem\fR
-.PP
-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:
-.PP
-2c66f5911e5b42b8ebe113403548eee7 (original version)
-.br
-00fd13b66d39c69706aa48eb84a78411 (hacked version, different font)
-.br
-47f7180592a00b9631c97a12ff0fdd3c (hacked version, no title screen delay)
-.PP
-ColEm works with any of the above ROM images.
-.SH 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.6 b/games/colem/colem.6
index f3d8f8dd6d63d..648b6b4dbf870 100644
--- a/games/colem/colem.6
+++ b/games/colem/colem.6
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "COLEM 6"
-.TH COLEM 6 "2014-08-25" "2.9" "SlackBuilds.org"
+.TH COLEM 6 "2015-05-06" "3.3" "SlackBuilds.org"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff --git a/games/colem/colem.SlackBuild b/games/colem/colem.SlackBuild
index b5cf0e3548df9..5753180f5d01c 100644
--- a/games/colem/colem.SlackBuild
+++ b/games/colem/colem.SlackBuild
@@ -6,6 +6,13 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20150506 bkw:
+# - updated for 3.3. Lots of little changes, meaning the script
+# won't work for 2.9 any more.
+# - stop the CRLF madness, extract with 'unzip -aa' and get rid of
+# the carriage returns in rom_path.diff.
+# - get rid of POD warnings when making man page.
+
# 20140825 bkw:
# - updated for 2.9
# - include icon in slackbuild dir (upstream removed it from src tarball)
@@ -27,7 +34,7 @@
# with OSS modules disabled by default.
PRGNAM=colem
-VERSION=${VERSION:-2.9}
+VERSION=${VERSION:-3.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -78,7 +85,7 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
mkdir $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
-unzip $CWD/$ZIPNAME$ZIPVER-Source.zip
+unzip -aa $CWD/$ZIPNAME$ZIPVER-Source.zip
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -102,13 +109,25 @@ cd $ZIPNAME/Unix
# 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
+#sed -i "/^DEFINES/s,-DCOLEM,& -DGIFLIB," Makefile
+
+# I have no idea why 3.3 suddenly defaults to 16-bit colordepth. Does
+# anyone still use less than 24-bit, this century? Getting rid of
+# -DBPP32 gives us a binary that works in 16 and 32 bit depth.
+sed -i "/^DEFINES/s,-DBPP..,," Makefile
+
+# If PNG support actually *did* anything, this is how we'd enable it:
+#sed -i "/^DEFINES/s,-DCOLEM,& -DLIBPNG," Makefile
+#sed -i "/^LIBS/s,=,& -lpng," ../../EMULib/Rules.gcc
# Allow building on big-endian platforms (such as s390)
if [ "${BIGENDIAN:-no}" != "no" ]; then
sed -i "/^DEFINES/s/-DLSB_FIRST/-DMSB_FIRST/" Makefile
fi
+# Fix linking on ColEm-3.3 (same .o file given twice in link command)
+sed -i '/^RECORD/d' ../../EMULib/Rules.gcc
+
make
# no 'make install', do it manually.
@@ -137,9 +156,9 @@ mkdir -p $PKG/usr/share/$PRGNAM
# Look for zipped ROM images and unzip them.
if [ -e $CWD/coleco.zip ]; then
- unzip -o $CWD/coleco.zip
+ unzip -o $CWD/coleco.zip
elif [ -e $CWD/COLECO.ZIP ]; then
- unzip -o $CWD/COLECO.ZIP
+ unzip -o $CWD/COLECO.ZIP
fi
# Look for non-zipped ROM images, either unzipped above or in $CWD.
diff --git a/games/colem/colem.info b/games/colem/colem.info
index 19b803b630a07..d7a1c4828ea81 100644
--- a/games/colem/colem.info
+++ b/games/colem/colem.info
@@ -1,8 +1,8 @@
PRGNAM="colem"
-VERSION="2.9"
+VERSION="3.3"
HOMEPAGE="http://fms.komkon.org/ColEm/"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/ColEm29-Source.zip"
-MD5SUM="a619dd9f5ddde76326b9278b13e6fac5"
+DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/ColEm33-Source.zip"
+MD5SUM="90d38c6fa5a88a100a855b4ad9d28233"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/games/colem/colem.pod b/games/colem/colem.pod
index 02e3b8167c096..d5b0a8aa50634 100644
--- a/games/colem/colem.pod
+++ b/games/colem/colem.pod
@@ -1,6 +1,5 @@
# 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.
+# pod2man --stderr -s6 -r3.3 -cSlackBuilds.org colem.pod > colem.6
=pod
@@ -34,23 +33,23 @@ Select debugging messages [bitmask, default: 5]
=over 4
-=item 0
+=item Z<>0
Silent
-=item 1
+=item Z<>1
Startup messages
-=item 2
+=item Z<>2
VDP
-=item 4
+=item Z<>4
Illegal Z80 ops
-=item 16
+=item Z<>16
Sound
@@ -110,15 +109,15 @@ Use given color palette [default: 0]
=over 4
-=item 0
+=item Z<>0
Scaled VDP colors
-=item 1
+=item Z<>1
Original VDP colors
-=item 2
+=item Z<>2
Faded NTSC colors
diff --git a/games/colem/rom_path.diff b/games/colem/rom_path.diff
index b2353f2190def..e788b8272d07c 100644
--- a/games/colem/rom_path.diff
+++ b/games/colem/rom_path.diff
@@ -2,86 +2,86 @@ diff -Naur a/ColEm/Coleco.c b/ColEm/Coleco.c
--- a/ColEm/Coleco.c 2008-03-30 12:53:24.000000000 -0400
+++ b/ColEm/Coleco.c 2009-09-29 17:49:32.000000000 -0400
@@ -19,6 +19,9 @@
- #include <stdlib.h>
- #include <ctype.h>
- #include <unistd.h>
-+#include <sys/types.h>
-+#include <limits.h>
-+#include <pwd.h>
-
- #ifdef __WATCOMC__
- #include <direct.h>
+ #include <stdlib.h>
+ #include <ctype.h>
+ #include <unistd.h>
++#include <sys/types.h>
++#include <limits.h>
++#include <pwd.h>
+
+ #ifdef __WATCOMC__
+ #include <direct.h>
@@ -69,6 +72,46 @@
- #define fwrite(B,N,L,F) gzwrite(F,B,(L)*(N))
- #endif
-
-+/* 20090929 bkw: smart_fopen() searches for ROMs in various places
-+ you might expect them to live, on a UNIXey system. Also searches
-+ for both upper- and lower-case filenames. */
-+static FILE *smart_fopen(const char *path, const char *mode) {
-+ FILE *fp;
-+ char lowercase_path[20], filename[PATH_MAX + 1];
-+ const char *p = path;
-+ char *lp = lowercase_path;
-+ struct passwd *ent;
-+
-+ while(*p) *lp++ = tolower(*p++);
-+ *lp = '\0';
-+
-+ if( (fp = fopen(path, mode)) )
-+ return fp;
-+
-+ if( (fp = fopen(lowercase_path, mode)) )
-+ return fp;
-+
-+ sprintf(filename, "/usr/share/colem/%s", path);
-+ if( (fp = fopen(filename, mode)) )
-+ return fp;
-+
-+ sprintf(filename, "/usr/share/colem/%s", lowercase_path);
-+ if( (fp = fopen(filename, mode)) )
-+ return fp;
-+
-+ if( (ent = getpwuid(getuid())) && (ent->pw_dir) ) {
-+ sprintf(filename, "%s/.colem/%s", ent->pw_dir, path);
-+ if( (fp = fopen(filename, mode)) )
-+ return fp;
-+
-+ sprintf(filename, "%s/.colem/%s", ent->pw_dir, lowercase_path);
-+ if( (fp = fopen(filename, mode)) )
-+ return fp;
-+ }
-+
-+ return NULL;
-+}
-+
- /** StartColeco() ********************************************/
- /** Allocate memory, load ROM image, initialize hardware, **/
- /** CPU and start the emulation. This function returns 0 in **/
+ #define fwrite(B,N,L,F) gzwrite(F,B,(L)*(N))
+ #endif
+
++/* 20090929 bkw: smart_fopen() searches for ROMs in various places
++ you might expect them to live, on a UNIXey system. Also searches
++ for both upper- and lower-case filenames. */
++static FILE *smart_fopen(const char *path, const char *mode) {
++ FILE *fp;
++ char lowercase_path[20], filename[PATH_MAX + 1];
++ const char *p = path;
++ char *lp = lowercase_path;
++ struct passwd *ent;
++
++ while(*p) *lp++ = tolower(*p++);
++ *lp = '\0';
++
++ if( (fp = fopen(path, mode)) )
++ return fp;
++
++ if( (fp = fopen(lowercase_path, mode)) )
++ return fp;
++
++ sprintf(filename, "/usr/share/colem/%s", path);
++ if( (fp = fopen(filename, mode)) )
++ return fp;
++
++ sprintf(filename, "/usr/share/colem/%s", lowercase_path);
++ if( (fp = fopen(filename, mode)) )
++ return fp;
++
++ if( (ent = getpwuid(getuid())) && (ent->pw_dir) ) {
++ sprintf(filename, "%s/.colem/%s", ent->pw_dir, path);
++ if( (fp = fopen(filename, mode)) )
++ return fp;
++
++ sprintf(filename, "%s/.colem/%s", ent->pw_dir, lowercase_path);
++ if( (fp = fopen(filename, mode)) )
++ return fp;
++ }
++
++ return NULL;
++}
++
+ /** StartColeco() ********************************************/
+ /** Allocate memory, load ROM image, initialize hardware, **/
+ /** CPU and start the emulation. This function returns 0 in **/
@@ -134,7 +177,7 @@
-
- /* COLECO.ROM: OS7 (ColecoVision BIOS) */
- if(Verbose) printf(" Opening COLECO.ROM...");
-- if(!(F=fopen("COLECO.ROM","rb"))) P="NOT FOUND";
-+ if(!(F=smart_fopen("COLECO.ROM","rb"))) P="NOT FOUND";
- else
- {
- if(fread(ROM_BIOS,1,0x2000,F)!=0x2000) P="SHORT FILE";
+
+ /* COLECO.ROM: OS7 (ColecoVision BIOS) */
+ if(Verbose) printf(" Opening COLECO.ROM...");
+- if(!(F=fopen("COLECO.ROM","rb"))) P="NOT FOUND";
++ if(!(F=smart_fopen("COLECO.ROM","rb"))) P="NOT FOUND";
+ else
+ {
+ if(fread(ROM_BIOS,1,0x2000,F)!=0x2000) P="SHORT FILE";
@@ -145,7 +188,7 @@
- if(!P)
- {
- if(Verbose) printf("OK\n Opening WRITER.ROM...");
-- if(F=fopen("WRITER.ROM","rb"))
-+ if(F=smart_fopen("WRITER.ROM","rb"))
- {
- if(fread(ROM_WRITER,1,0x8000,F)==0x8000) ++AdamROMs;
- fclose(F);
+ if(!P)
+ {
+ if(Verbose) printf("OK\n Opening WRITER.ROM...");
+- if(F=fopen("WRITER.ROM","rb"))
++ if(F=smart_fopen("WRITER.ROM","rb"))
+ {
+ if(fread(ROM_WRITER,1,0x8000,F)==0x8000) ++AdamROMs;
+ fclose(F);
@@ -157,7 +200,7 @@
- if(!P&&AdamROMs)
- {
- if(Verbose) printf(" Opening EOS.ROM...");
-- if(F=fopen("EOS.ROM","rb"))
-+ if(F=smart_fopen("EOS.ROM","rb"))
- {
- if(fread(ROM_EOS,1,0x2000,F)==0x2000) ++AdamROMs;
- fclose(F);
+ if(!P&&AdamROMs)
+ {
+ if(Verbose) printf(" Opening EOS.ROM...");
+- if(F=fopen("EOS.ROM","rb"))
++ if(F=smart_fopen("EOS.ROM","rb"))
+ {
+ if(fread(ROM_EOS,1,0x2000,F)==0x2000) ++AdamROMs;
+ fclose(F);