mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-22 19:44:21 +01:00
games/colem: Updated for version 3.3.
This commit is contained in:
parent
791b93fab7
commit
acc32ca66d
8 changed files with 120 additions and 678 deletions
|
@ -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 <level> - Select debugging messages [5]
|
||||
0 - Silent 1 - Startup messages
|
||||
2 - VDP 4 - Illegal Z80 ops
|
||||
16 - Sound
|
||||
-skip <percent> - Percentage of frames to skip [25]
|
||||
-help - Print this help page
|
||||
-home <dirname> - 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 <filename> - Write soundtrack to a MIDI file [LOG.MID]
|
||||
-palette <number> - Use given color palette [0]
|
||||
0 - Scaled VDP colors 1 - Original VDP colors
|
||||
2 - Faded NTSC colors
|
||||
-sound [<quality>] - Sound emulation quality [22050]
|
||||
-nosound - Don't emulate sound [-nosound]
|
||||
|
||||
<B>With #define DEBUG:</B>
|
||||
-trap <address> - Trap execution when PC reaches address [FFFFh]
|
||||
|
||||
<B>With #define UNIX or MSDOS:</B>
|
||||
-sync <frequency> - Sync screen updates to <frequency> [-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 <factor> - Scale window by <factor> [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<path_to_libs></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>
|
||||
© Copyright by
|
||||
<A HREF="http://fms.komkon.org/">Marat Fayzullin</A>
|
||||
(marat [AT] komkon /DOT/ org)
|
||||
</I>
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -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.
|
||||
|
|
|
@ -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).
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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=""
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue