                  Retrocade 1.2 beta 2 - The Documentation

                                Version: 1.2
                        Created : January 28th, 1998
                        Modified: May 23rd, 1998 


-----------------------------------------------------------------------------


Table Of Contents
=================
1.  Introduction 
2.  Requirements 
      2.1 For DOS 
      2.2 For Windows 
      2.3 For UNIX 
      2.4 For Macintosh 
      2.5 For ARM 
      2.6 For All Versions 
3.  Games Supported 
4.  Getting Retrocade 
5.  Additional Support Files 
     5.1 For DOS 
     5.2 For Windows 
     5.3 For UNIX 
     5.4 For All Versions 
6.  Installation and Configuration 
     6.1 For DOS 
     6.2 For Windows 
     6.3 For UNIX 
     6.4 For Macintosh 
     6.5 For ARM 
     6.6 For All Versions 
7.  Using Retrocade 
     7.1 Command Line Switches 
     7.2 Splash Screen 
     7.3 The GUI 
     7.4 In-Game Controls 
     7.5 The OSD 
8.  Troubleshooting 
9.  Known Bugs 
10. Frequently Asked Questions 
11. Credits 
12. Glossary Of Terms  
13. Version Information
14. Legal Information


-----------------------------------------------------------------------------

                           Section 1: Introduction


Greetings, program. Welcome to the Retrocade Documentation platform. From
here, we will be launching multiple assaults on a vast range of enemies,
including evil Galaxians, the sinister Star Castle, a corrupt empire, and
some master chefs who seem to be a bit irate. And of course, the MCP himself,
so don't you dare lose your identity disc. 

Retrocade is a high-performance arcade emulation program that emulates a
large number of classic arcade games from the late 1970's and the 1980's. It
allows the user to play the actual, original arcade games on a home computer.
These are not conversions, simulations, or adaptations. The games that 
Retrocade supports are the real deal, and in fact require the original arcade
game programs (aka ROM images) to work. 

Retrocade offers advanced emulation performance by utilizing 100% assembly
language CPU emulators in both the DOS and Windows 32-bit versions, as well
as highly optimized display code (supports linear frame buffer access via 
VESA 2.0, as well as dirty buffering). Full sound support is offered as well
both through sound-chip emulation and the use of high quality (16-bit @ 44.1
KHz) samples and sample-playing techniques (real-time mixing of samples with
other samples as well as emulated sound). 

But wait, that's not all! Retrocade also supports a wide array of controller
devices. Analog and digital joysticks, the Microsoft Sidewinder (PC versions
only), the Wingman Warrior digital joystick (PC versions only), pretty much
any mouse on the planet, and of course your good ol' trusty keyboard. There's
even a default configuration set for use with the V-Stick controller. Support
for additional controller devices such as the GRiP pad may be added in the
future. You can configure the controls for all of the emulations any way you
wish, even mixing controllers such as mouse with keyboard, analog joystick
and mouse, etc. 

No proper emulator would be complete without support for backdrops, as well
as realistic vector effects such as glowing vector dots, translucency, and
anti-aliasing. Of course Retrocade offers all of these, and in 100% assembly
to boot (PC only). 

It goes without saying that Retrocade is available in a variety of popular
flavors: Original DOS flavor, Cheddar Cheese Windows flavor (32-bit only),
and the ever popular Hickory Barbeque Unix flavor. Work has also begun on
the Salsa MacOS flavor (PowerPC only), and experimentation with porting to
ARM processors is underway. 

NOTE: At this time, not all versions of Retrocade are at the same status.
The Mac and Unix versions will probably be released sometime after the DOS
version. 

You will find that Retrocade has a great deal to offer over many other arcade
emulators, including an easy-to-use graphical user interface (as well as
command line options), ROM and sample compression for added disk space
savings, and easy installation and configuration. Retrocade doesn't require
creating large numbers of directories, editing lots of complicated text
files, or invoking obscure and difficult-to-remember command parameters.
Yet, it's fully compatible with the directory structure of popular multi-
machine arcade emulators. 

In fact, there's a good chance you will have no problem using Retrocade
without ever even looking at this documentation. But that would be foolish
of you as you would soon find yourself de-rezzed without even realizing what
was coming. Please, take the time to read this documentation. Go ahead and
start up Retrocade first if you want, we'll wait for you to get back. Then
finish the documentation, as you may discover many features you were unaware
of, as well as answers to problems you may experience, tips on the games and
where to get some of the vital things needed to play with Retrocade. 

Starting with 1.2 beta 2, we have decided to release public betas to keep
public interest in Retrocade alive and give something to people to play with
as we're working on it.


-----------------------------------------------------------------------------


                           Section 2: Requirements


Retrocade has certain minimal hardware and software requirements to run on a
computer system. If your computer does not meet all of these requirements,
Retrocade will either not run on your computer or will give exceptionally
poor performance and may be unusable. A computer system that exceeds one or
more of these requirements should run Retrocade without any problem. The
requirements listed here are the minimum system requirements. 


2.1 PC running DOS requirements
===============================
* 486DX CPU, minimum of 66 MHz speed. Pentium, minimum of 166 Mhz speed for 
  68000-based games (Quantum, Food Fight, Xenophobe, etc). 
* At least 12 megabytes of RAM. 
* Any PCI or AGP videocard with at least 1 Megabyte of video RAM. 
  NOTE: Videocards that use the [E]ISA or VLB interface methods may work, but
        that is not guaranteed. PCI videocards will give you the best
        performance. 
* SoundBlaster Pro, SoundBlaster 16, or newer SoundBlaster soundcard. 
  NOTE: Early SoundBlaster 8-bit cards may work but are not officially
        supported. 
* MS-DOS version 6.0 or higher. 
* DOS4GW 32-bit extender (software). 
  NOTE: This software is freely available and easily downloaded off the net.
        See Section #5, "Additional Support Files".


2.2 PC running Windows95/98/NT requirements
===========================================
* 486DX CPU, minimum of 120 MHz speed. Pentium, minimum of 200 MHz speed for
  all games to run full speed. 
* At least 16 megabytes of RAM. 
* Any DirectX-compatible videocard. Minimum of 2 Megabytes video RAM. 
* Any Windows 95/98/NT wave playback device (SoundBlaster, Gravis Ultrasound,
  etc). 
* DirectX 3 or higher (software). 
  NOTE: This software is freely available and is easily downloaded off the
        net. See Section #5, "Additional Support Files".
  NOTE: The requirements listed here are for the Windows 32-bit executable
        of Retrocade, not the DOS version run under Windows. 
  NOTE: You can not run the Windows 32-bit version of Retrocade under Windows
        3.1, even if you have the 32-bit extensions installed. 


2.3 UNIX/Linux requirements
===========================
* 486DX CPU, minimum of 80 MHz speed. Pentium, minimum of 100 MHz speed for
  68000-based games (Quantum, Food Fight, Xenophobe, etc). 
* A comparable or better CPU in non-Intel architectures (PowerPC, Alpha, 
  Sparc 5, etc). 
* At least 16 Megabytes of RAM. 
* SVGA Video card capable of at least 8-bit color. A comparable or better
  video display on non-Intel architectures. 
  NOTE: Higher color modes may run slower if your XServer doesn't support 
        lower-bit visuals. 
* SoundBlaster, SoundBlaster Pro, SoundBlaster 16, or newer SoundBlaster
  soundcard. 
  NOTE: Sound support for non-Intel platforms is not yet implemented.


2.4 Macintosh running MacOS requirements
========================================
NOTE: The Macintosh port of Retrocade is in development and is not ready yet.
      These are the hardware requirements as best known at this writing. 

* PowerPC CPU, minimum speed unknown. 
  NOTE: There are no plans for a 680x0 Mac version of Retrocade. 
* At least 24 Megabytes of RAM. 
* Video capable of at least 640x480 resolution with at least 256 colors at
  one time. 


2.5 ARM Processor requirements
==============================
NOTE: The ARM/Acorn port of Retrocade is in early development and will not be
      ready for some time. These are the hardware requirements as best known
      at this writing. 

* StrongARM CPU, minimum speed unknown. 
* At least 4 Megabytes of RAM. 


2.6 All Versions
================

In addition to the individual system requirements, there are additional
things needed for Retrocade to work on any system.

* You can not play an arcade game unless you have the ROM images for that 
  game! ROM images are not included with Retrocade, and never will be. In 
  fact, if you obtained Retrocade and it came with the ROM images, you have
  been given an illicit and unauthorized version of Retrocade. Please report
  any such occurrences immediately to the Retrocade Alliance - 
  http://www.retrocade.com/. For information on how to get the necessary ROM
  images, please see Section #10, "Frequently Asked Questions". 

  NOTE: You are only legally entitled to use the ROM images for an arcade
        game (or motherboard) which you physically own. 

* Retrocade uses certain data files for sound, the GUI, and other functions.
  These data files are in a compressed form and have a .PAK extension. These
  files are not included with the Retrocade distribution itself (due to size
  and bandwidth considerations). See Section #5, "Additional Support Files"
  for details. 

* A game controller is needed for all games. The keyboard will work with all
  the games that Retrocade supports, but will not provide the best control
  for certain games. Some games are best played using a mouse, or the Wingman
  Warrior joystick (not available for all platforms). 


-----------------------------------------------------------------------------


                           Section 3: Games Supported


Retrocade supports an alarming number of classic arcade games. Here is a
table of the games supported, along with additional information about the
game and the emulator author(s) responsible for its appearance in Retrocade. 

Total games supported: 114

For a complete list of games supported by Retrocade, either bring up the 
user interface or use the -gamelist command line option to list all currently
supported games.


-----------------------------------------------------------------------------


                           Section 4: Getting Retrocade


If you are reading this documentation, you should already have Retrocade.
However, you may be reading a print-out, looking over someone's shoulder, or
recovering from a nasty hard-drive crash. So we'll be kind to you. 

The current version of Retrocade is 1.0 (DOS/PC). At this writing, no other
platforms are in public release however they are in development. The
Macintosh port is growing close to completion, and the Windows port is not
too behind the DOS version. 

You can NOT download Retrocade from the official website, there simply is not
enough bandwidth to support the traffic. 

You CAN find Retrocade on a number of distribution sites, most notably: 
* http://davesclassics.warzone.com/ 
* http://www.monroeworld.com/insertcoin/index.htm 
* http://www.emuviews.com/
* http://www.bigjack.com.br/arcade/ 
* http://classicgames.8m.com/ 

Depending on what platform you use, you will need to choose one of the
flavors of Retrocade. Then you will need to download the archive for that
flavor from one of the websites. You may also need to download additional
support files to use Retrocade (see Section #5, "Additional Support Files"),
though some of them are one-time downloads that you will not need to repeat
even if you upgrade to a new release of Retrocade. 

Regardless of what flavor of Retrocade you download, you will probably want
at least the GUI.PAK file if not the rest of the .PAK library. The .PAK files
provide data for various functions of Retrocade, with GUI.PAK being needed if
you want to utilize the GUI. See Section #2, "Requirements" and Section #5,
"Additional Support Files". 

Retrocade is NOT intended for distribution on a CD-ROM. Anyone distributing
Retrocade on a CD-ROM with ROM images for the emulator is in violation of the
distribution agreement and subject to legal action.


-----------------------------------------------------------------------------


                      Section 5: Additional Support Files


You may need to download additional files to use Retrocade, depending on your
system and what version of the program you have installed. These files are
not products of the Retrocade Alliance. They are not included with Retrocade
due to concerns on archive size, to avoid unnecessary download time, or
because they can not be officially distributed with Retrocade.

NOTE: This section does not cover ROM images or sound samples! Please see
Section #10, "Frequently Asked Questions". 


5.1 For DOS Version (Original flavor)
=====================================
You will need to have the DOS4GW.EXE extender program to use the DOS flavor
of Retrocade. Yes, even if you are running it under Windows. You can get the
file from a number of locations:

* http://www.retrocade.com/files/dos4gw.zip 
* http://davesclassics.warzone.com/ 
* ftp://ftp.it.dtu.dk/pub/field/menu/pc/dos4gw.exe 
* ftp://ftp.econ.duke.edu/pub/arg/npe/pc_executables/dos4gw.exe 

Put the DOS4GW.EXE file in the same directory as the RETRO.EXE file.
Alternately, you can put DOS4GW.EXE somewhere else on your drive, as long
as it is a directory present in your path (type 'path' and hit enter at the
DOS command prompt to see what directories are in your path setting). 

The DOS4GW.EXE program is a 32-bit extender, which means it adds on various
32-bit support features to DOS (which is not a 32-bit OS). This includes full
memory access and 32-bit interrupt access. 


5.2 For Windows Version (Cheddar Cheese flavor)
===============================================
To run the Windows flavor of Retrocade in full-screen mode, you need to have
DirectX installed (DirectX 3.0 or higher is supported). DirectX is free
software and is often required for Windows games, so you may already have it
installed. If not, you can download it directly from a number of locations:
 
* http://www.microsoft.com/directx/resources/default.asp
* ftp://ftp.microsoft.com/deskapps/games/public/monster/DirectX3.exe 
* ftp://ftp.sierra.com/pub/patches/pc/directx3.exe 

Once you the DirectX installer downloaded, simply double-click on its icon in
an Explorer window to start the installation. You will need to re-start
Windows for the changes to take affect. 


5.3 For Unix Version (Hickory Barbeque flavor)
==============================================
To use the Unix flavor of Retrocade, you will need to either have X-Windows
(available for just about all Unix systems) or the SVGAlib libraries (only
available for Linux and FreeBSD) installed. Without X-Windows or SVGAlib,
you will be unable to run Retrocade. 

X-Windows comes with most commercial Unix operating systems and you may
already be using it. However, it's not always installed by default on all
Unix systems. Here are several important sites to check if you don't have
X-Windows: 

* http://www.camb.opengroup.org/tech/desktop/x/ - The Official X-Windows
  Homepage 
* http://www.xfree86.org/ - The Official XFree86 Homepage. XFree86 is a port
  of X-Windows for the Intel architecture, suitable for use in Linux, 
  FreeBSD, etc. 

When you have the X-Windows package for your particular Unix variant
downloaded, you will need to extract it and install it. Instructions for how
to install X-Windows should be in the package. It is assumed that the
end-user is familiar with Unix operating systems and has installed large
program packages before. This is a very non-trivial thing to install and
configure, and is not for the faint-of-heart! Further instructions are beyond
the scope of this document. 

NOTE: Your XServer must support the MITSHM extensions. Most do, but if you
can't get Retrocade to start, check to see if you need to update your
XServer. 

SVGAlib is distributed with most Linux and FreeBSD packages, so if you are
using Linux/FreeBSD you probably already have SVGAlib installed. Consult the
documentation for your unix install. 


5.4 For All Versions
====================
Retrocade uses certain data files for sound, the GUI, and other functions.
These data files are in a compressed form and have a .PAK extension. None of
these files are strictly required but without them Retrocade will not have as
much functionality. Here is a synopsis of the .PAK files: 

Filename             What It Is Needed For/Contains               
--------------------------------------------------------------------
ANIM.PAK             Marquee animation effects in GUI.
ART.PAK              Backdrop and overlay images for various games.
GREEN.PAK            "Greenshots" of games in GUI.
GUI.PAK              Base graphical and sound data for GUI.
HISTORY.PAK          Arcade game pictures and history for GUI.
--------------------------------------------------------------------

NOTE: There are individual .PAK files containing the sound samples for just
specific games. They are not listed here for brevity's sake. 

These files are not included with the Retrocade distribution itself (due to
size and bandwidth considerations). They can be downloaded from one of the
distribution sites: 

* http://davesclassics.warzone.com/ 
* http://www.monroeworld.com/insertcoin/index.htm 
* http://www.bigjack.com.br/arcade/ 
* http://classicgames.8m.com/ 


-----------------------------------------------------------------------------


                   Section 6: Installation and Configuration


6.1 DOS Version Installation
============================
Make a directory on your hard-drive where you wish to store Retrocade. We
suggest "\RC" but you can put it wherever you want. Example: 

        mkdir c:\rc

Next, take the Retrocade archive and extract it into the directory you
created. You can use PKUNZIP 2.04g to extract the files from the Retrocade
distribution archive. Example: 

        pkunzip -d retro.zip c:\rc

Of course, other unzipping tools such as InfoZip will also work. It is
important to remember the -d command-line switch if you use PKUNZIP as the
Retrocade archive has an internal directory structure that needs to be
preserved. 

Once you've unzipped the files, change to the Retrocade directory. Example: 

        cd c:\rc

There should now be three subdirectories.  One of the subdirectories is
/paks.  You can place all of your PAK files in this directory.  The remaining
subdirectories are /scrnshot (which will contain any game screen shots you
take) and /saves (which will contain any save state or recording files you
create).

You will need to have a location in which to place your ROM images.  If such
a location does not already exist on your hard drive, a convenient place to
put these is in a /roms subdirectory underneath the main Retrocade directory.

That's it. Now you can start Retrocade by just typing in: 

        retro

at the command prompt, and then hitting the enter key.

You need to tell Retrocade where the ROM images are. Use the -romdir
c:\pathname. For example, if your games are in C:\ROMS, run Retrocade with: 

        retro -romdir c:\roms.

NOTE: YOU ONLY NEED TO DO THIS ONCE! Retrocade will remember the romdir you
have specified for all subsequent operations.

NOTE: Retrocade will not be able to run without at least one set of ROM
images, which must be somewhere within the directory it is installed in. See
Section #10, "Frequently Asked Questions" for more info. 

NOTE: You must be in the directory that you installed Retrocade into for the
program to work. It will not function correctly if you attempt to run the
program while in a different directory. 


6.2 Windows95/98/NT Version Installation
========================================
NOTE: The installer for the Windows version of Retrocade is not implemented
yet. 

Open up the folder that contains the "Winretro.exe" program (on some Windows
systems, it will appear as just "Winretro"). The installer should have the
Retrocade icon. Double-click on the icon to start the installer. 

Once the InstallShield installer comes up, read the license agreement before
continuing on. Click the "Yes" button to agree to the license and continue
with the installation. 

In the next screen, choose which directory you wish to install Retrocade
into. When you have selected the directory, press the "Next" button to
continue. 

In the final screen, InstallShield will list all the installation choices you
have made and will indicate where it will install Retrocade. Click the
"Install" button to start the installation process. If you need to adjust one
or more installation options, click on the "Back" button to go to the
previous screen. If you wish to abort the entire process, press the "Cancel"
button. 

After Retrocade has been installed you should see a message saying that you
have successfully installed the Retrocade program. You can then hit the
"Finish" button to finish-up and quit the installer. 

To start Retrocade, click on the Start button and go to the "Programs"
listing. Under "Programs" you will see a folder listed as "Retrocade". Go to
that entry and you will see several files, one of them called "Retrocade".
Select that file to start the emulator. 


6.3 Unix Version Installation
=============================
The Unix version of Retrocade comes in various sub-flavors for different
brands of Unix. You must have the correct flavor for your Unix system in
order for Retrocade to work. Not all brands of Unix are supported, so be sure
to check that you have the correct archive before trying to install
Retrocade. The archives are "tarballs", meaning that the files are archived
into a .tar file and then compressed using gzip. They have filenames such as
"retrocade-1.0-netbsd-1.3-i386.tar.gz" (which indicates Retrocade version 1.0,
for NetBSD 1.3 running on an Intel x86 hardware platform). The filename used
in the examples below is kept short for simplicities sake. 

Once you have obtained the proper Retrocade tarball for your system, you will
want to make a directory for it. Example: 

        mkdir /rcade

Then you need to uncompress the tarball archive using the gunzip command.
Example: 

        mv retro.tar.gz /rcade 
        cd /rcade 
        gunzip retro.tar.gz

Next, you need to extract the archive into the directory you've made for
Retrocade using the tar command. Example: 

        tar -x -v -f retro.tar

Once the archive has been extracted you will need to place required support
files (.PAK files and ROM images primarily) in the same directory. Please see
Section #5, "Additional Support Files". 

You start Retrocade by invoking it from its directory. Example: 

        ./retro &


6.4 Macintosh Version Installation
==================================
The Macintosh version of Retrocade is not currently available. Instructions
on how to install it will be given once it is released. 


6.5 ARM Version Installation
============================
The ARM version of Retrocade is not currently available. Instructions on how
to install it will be given once it is released. 


6.6 Configuration, All Versions
===============================
Retrocade does not require any special configuration to start. It should work
on any system "out of the box", assuming that your system meets the minimal
requirements and has any additional support files that may be needed. And of
course, you must have at least one initial set of ROM images. 


-----------------------------------------------------------------------------


                           Section 7: Using Retrocade


In this section, it is assumed that the user has successfully installed the
Retrocade program. Here, we cover how to use the Retrocade program, including
the GUI, the OSD, and the command-line switches. 


7.1 Command Line Switches
=========================
When you start Retrocade, there are optional switches you can specify to
change start-up options for Retrocade, toggle certain settings, and even
start a specific game directly instead of using the GUI. You can always get
a summary of the available command-line options from Retrocade by starting
it with the -? switch: 

        retro -?

NOTE: The Macintosh version of Retrocade will probably not support command
line options, but use some alternative interface for these settings. 

The command line options and what they do are covered here in detail. 

Command-Line  |
Option        |  What It Does 
-----------------------------------------------------------------------------
-?               Displays a summary of the command-line switches for
-h               Retrocade, as well as a listing of the games supported.

-nojoy           Disables joystick support. This does not include the Wingman
                 Warrior. 

-nomouse         Disables mouse support. PC Only.

-noww            Disables Wingman Warrior support.
 
-nosound         Disables all sound support. Use this to boost speed 
                 performance on slower systems, or if you think a problem
                 you're having may be sound related (I.E. Retrocade dies when
                 trying to start). 

-nosw            Disables Sidewinder probing and support.

-splash <on/off> Enables or disables the "splash" graphic that appears when
                 Retrocade is loading.  Note that this will not shorten the
                 time it takes Retrocade to start by any significant amount.
                 This option is sticky and only needs to be issued once.

-g <value>       Play game specified by <value>, skipping the Retrocade
                 splash screen and GUI entirely. <value> should be a game
                 name, and names that have spaces must be enclosed within
                 double quotes. Game names can be abbreviated to the
                 shortest, unique form. Examples: 

                 -g pacman       (Starts Retrocade and goes directly into
                                  Pacman)  
                 -g "star wars"  (Starts Retrocade and goes directly into
                                  Star Wars)  
                 -g food         (Starts Retrocade and goes directly into
                                  Food Fight)
 
-load <filename> Loads a previously saved game (.rsv file) or a recorded
                 session (.rrc file) as specified by <filename> and goes
                 directly into that emulation.  The switch functions very
                 much like the -g option except that you don't specify the
                 game name.

-romdir <value> Tells Retrocade to look in the directory specified by <value>
                for ROM images. By default, Retrocade will look for ROM
                images in a sub-directory called ROMS as well as several
                other locations. 
                See Section #10, "Frequently Asked Questions" for more info.

-emit           This option causes Retrocade to emit a blank controller
                template to standard out (your monitor). You can re-direct
                the output of this invocation to a file and then edit to make
                your own default controller (DEFCTRLS.INI) file. 

-romlist        Emit a list of all games and ROMs required to romlist.txt.
                This should be used when you have a ZIP archive problem or a
                game won't run properly.

-gamelist       Emits a list of all games supported by Retrocade, in addition
                to other information, such as availability of sound, dip
                switches, backdrop/overlay status, high score saving, etc...

-log            Enable thorough logging of all Retrocade functions. Results
                are stored in GAME.TXT, VIDLOG.TXT, and ART.TXT 

-8bpp           Force 8-bit color mode (256 colors max). This only affects
                vector games at this time, and automatically disables the
                various vector effects. 

-16bpp          Force 16-bit color mode (65,536 colors max). This only
                affects vector games at this time. 
 
-noaav          Disable anti-aliased vectors. This can speed-up emulation
                significantly.  This option only affects vector games. 

-notv           Disable translucent vectors. This can speed-up emulation
                significantly.  This option only affects vector games. 

-nobackdrop     Disables backdrops in any games that have them. This will not
                significantly increase emulation speed. 

-kidmode        Enables kid mode, which disables the onscreen display during
                gameplay.

-accel          Enable accelerated video modes (if any are available). By
                default Retrocade does not use accelerated video modes. 

-modex <on/off> Enables or disables using ModeX video modes instead of VGA.
                This will result in slower performance, but may make certain
                video modes available that would not normally be offered by
                a given video card.  This option is sticky and only needs to
                be issued once.

-tweak <on/off> Enables of disables using "tweaked" (custom) video modes.
                These can be accessed via ModeX or normal VGA methods.  The
                tweaked modes can be closer to the original arcade classic
                displays, but will not work with all video cards.  This
                option is sticky and only needs to be issued once.

-vsync          Force Vertical Refresh synchronization. Only affects vector
                games. This will eliminate flicker that may appear in vector
                games on slower computers (or computers with slow video),
                but may hinder game performance. 

-cpucheck       Turns off (or on) CPU type checking. Retrocade performs a
                test to see if a Pentium class of CPU is available so it can
                do detailed performance analysis. This test potentially will
                fail on different machines, and this provides a mechanism to
                disable it.

-scanlines <on/off>
                Enables or disables horizontal scanlines.  Scanlines are
                currently only available for the following resolutions:
                288x224, 224x288, and 256x256.  This option is sticky and
                only needs to be issued once.

-512            Force usage of the 512x384, 256 color display mode (for
                emulation only). This is the default. 

-640            Force usage of the 640x480, 256 color display mode (for
                emulation only). Use this if some games appear to "clip"
                around the edges on your display, or if you have display
                problems with a game. 

-800            Force usage of the 800x600, 256 color display mode (for
                emulation only). 

-1024           Force usage of the 1024x768, 256 color display mode (for
                emulation only). Best for vector games. 

-1280           Force usage of the 1280x1024, 256 color display mode (for
                emulation only). Best for vector games. 

-1600           Force usage of the 1600x1200, 256 color display mode (for
                emulation only). Best for vector games. 


When using command-line switches, you may have multiple switches in one
command line. Each switch should be prefixed with the hyphen and all
parameters should be spaced out. Example: 

        retro -640 -g targ -nojoy

This will start the game "Targ" (if the ROM images are available) in the
640x480 resolution display mode, while disabling the joystick support. It's
important to remember that switches which expect a parameter will cause an
error if a parameter is not specified. 


7.2 The Splash Screen
=====================
When starting Retrocade, the first thing you see is the "splash" screen.
RetroBabe[tm] welcomes you to the future while on the right a status screen
shows the progress of Retrocade loading. Once the loading has completed, we
bid farewell (for now!) to RetroBabe[tm] and enter the GUI... 

NOTE: If you wish to skip the splash screen when starting Retrocade, use the
"-splash off" command-line option (see above for a full list of command-line
options and what they do). No graphical splash screen will appear, but
Retrocade will still need to go through its loading procedure. Disabling the
splash screen will not significantly reduce loading time. Retrocade will also
automatically skip the splash screen when it has been started with the -g
option to run a specific game.  The -splash option is sticky and only needs
to be issued once.  To re-enable the splash screen, start Retrocade with
"-splash on".


7.3 The GUI
===========
Now we have arrived at the GUI, the unifying face of Retrocade. All versions
of Retrocade use the same GUI, which allows the user to change global
settings for the emulator, adjust controller settings for individual games,
save/load game states, and of course start a game. 

GUI Basics
----------
The GUI display consists of a virtual console, which is made up of three
primary parts: 

1. The Video Display Units or VDU's. There are two VDU's, one on the left and
one on the right. Both VDU's are at the top of the console. 

2. The function buttons and labels. There are four buttons on the console
under the VDU's, in the middle of the virtual console. Each button
corresponds to a function key on your keyboard (F1, F2, F3, and F4), and has
an electronic label to the right of it which indicates the button's current
function (if any). 

3. The scrolling "pinball" marquee, which will display status info and
various animations. The marquee appears near the bottom of the console. 

NOTE: You will also see a sort of joypad and several other buttons on the
sides of the marquee. These simply indicate when you are pressing particular
keys on your keyboard, and have no intrinsic function of their own. 

The VDU's are important, as they are the main way you get information from
Retrocade as well as make menu selections. In general, the left VDU will
display images, illustrations, or mode indicators while the right VDU will
display specifics such as menus, game listings, or special setting controls.
The right VDU consists of a scrollbar on the right, a title/information bar
at the top, and a status bar on the bottom. A fourth support bar on the left
prevents the display from collapsing. 

The function buttons are a very important part of Retrocade, and are needed
to navigate many GUI functions. Each button has a different purpose depending
on what GUI mode or menu you are in. The button's function will be shown in
the label to the right of it. For example, when Retrocade first starts up the
word "credits" appears in bright green next to the button marked as F3.
Hitting the F3 key on your keyboard will go into the Credits mode, where you
can get detailed info on all the people who helped make Retrocade a reality. 

Sometimes a button may have two purposes, in which case there will be two
items (separated by a horizontal line) listed in the label next to the
button. Holding down the shift key will allow you to access the secondary
function. For example, when Retrocade first starts up the word "favorites"
appear in bright green in the space to the right of the F1 button, while the
words "edit favs" appear just above those in dark green. Holding down the
shift key while pressing the F1 key will go into the Edit Favorites mode. All
of the functions of these buttons are covered in detail below. 

The marquee is not a vital function of Retrocade, and will usually just
display simple animations or scrolling text messages. 

GUI Menu System
---------------
The Retrocade GUI uses a uniform, simple menu system for most operations
(picking a game to play, changing settings, viewing credits, etc). This in
addition to the function keys are the primary method for navigating the GUI. 

When a menu or item listing is active you will see a green horizontal bar in
the right VDU highlighting a specific entry, which indicates the entry is
currently selected. You can change selections in a number of different ways: 

1. Use the up and down arrow keys to move the highlight bar up or down one
   selection at a time. 

2. Use the PageUp and PageDown keys to jump an entire screen's worth of
   entries. The PageUp key will move towards the beginning of the 
   menu/listing, and the PageDown key will move towards the end. 

3. Use the Home key will jump to the very first entry in the menu/listing.
   The End key will jump to the very last entry. 

4. Hit any of the letter keys on your keyboard to jump to an entry that
   starts with that letter. For example, hitting the 'R' key would jump to
   the first entry in the listing that starts with an R, unless there are
   none. If there are multiple entries that start with the same letter,
   hitting that letter key again will cycle through those entries. 

Retrocade supports automatic key repeat, which means you can hold down any of
these keys and the GUI will act as if you are repeatedly pressing that key.
This is quite useful for scrolling through a menu or listing. 

Once you have selected the menu entry you want, press the enter or space key
to activate that entry. In the case of the games listing, this will start the
game up (or return to a game in progress if there is one). In other cases it
will simply bring-up a sub-menu, or activate a specific function. 

F1: The Full and Favorite Games Listings
----------------------------------------
When Retrocade starts up it will display a listing of games in the right VDU,
allowing you to select a specific game to start. When you have initially
installed Retrocade, this will by default be the Full Listing of available
games. However, there is also a Favorites Listing you can activate where
Retrocade will only list the games you specifically want. To toggle between
the Full and Favorites Listing, hit the F1 key. If you don't have any
favorite games specified, the Favorites Listing will be blank (of course). 

In order to edit your Favorites Listing, you need to hit Shift-F1 (this will
work regardless of which listing mode you are in). In the Edit Favorites
mode, you have a listing of all the available games in the right VDU, with a
box to the left of each game. If there is a small 'x' in a box than that
game is on the Favorites List. You can toggle the setting by hitting the
space or enter key on a highlighted game. Once you have edited the Favorites
Listing to your satisfaction, hit the F1 key to return to the previous screen.

Retrocade will remember which listing mode you were in when you exit the
program, and switch to that listing mode automatically next time you start it
up. 

F2: Settings and Game State Saving/Loading
------------------------------------------
Changing settings for games in Retrocade, as well global Retrocade settings,
is done with the F2 key.  The menu options available are:

* Dip Switches
* Control Configuration
* Game Settings
* Global Settings

Dip Switches:
-------------
Many arcade games use dipswitches to allow the user to modify certain game
settings.  If dipswitches have been implemented in a particular game, this
menu option will allow you to modify the game's dipswitch settings.  Some
games do not use dipswitches and instead use NVRAM (non-volatile RAM) to
store game options.  This option can also be selected by pressing F2 when
the right VDU is showing the Settings menu.

Control Configuration:
----------------------
Most games contain multiple groups of controllers.  This menu option allows
you to change the control group for the selected game.  Most games have at
least two control group, "Default" and "V-Stick". Additional control groups
are available for some games and can be created by users by modifying the
DEFCTRLS.INI file.  This option can also be selected by pressing F3 when the
right VDU is showing the Settings menu.

Additionally, Retrocade allows you to modify each invidual control setting
for the selected game.  This option can be selected by either pressing
Shift-F3 when the right VDU is showing the Settings meny or by pressing F1
when the right VDU is showing the Control Config menu.

To add a new control assignment for the game, select a control name (i.e.
"Player 1 left") and press enter.  Then, operate the control you want to add
(move mouse, press a key, move joystick, etc), and that control will be
added.  You can hit ESC during this procedure to cancel the change.  To
delete a controller assignment, select the assignment and press Delete.

Game Settings:
--------------
Retrocade allows you to modify certain settings on a per-game basis. These
changes will remain as the game's permanent settings until they are changed
again.  The game settings are as follows:

Frames Per Second - This setting will determine the speed at which the game
  runs.  If this setting is made higher than Retrocade can run the game on
  your system, the game will perform at the fastest it can run.  This option
  can be set from 20 to 1200 in increments of 1.  All games have this option
  available to set.

Brightness - This setting will determine the game's brightness.  This option
  can be set from 49% to 201% in increments of 5%.  All games have this
  option available to set.

Game Volume - This setting will determine the volume of the game's sound.
  This option can be set from 0% to 101% in increments of 5%.  All games
  have this option available to set.

Enable Backdrop - This setting will determine if a game's overlay or
  backdrop should be displayed.  This option can be set to On of Off.  Only
  games with an overlay or backdrop will have this option available to set.

Anti-Aliased Vectors - This setting will determine if the vectors in a game
  are to be anti-aliased (smoothed to reduce jagged edges).  When this
  option is set, the visual quality of the drawn vectors is improved, at a
  cost of game performance.  This option can be set to On, Off, or Auto.
  Only vector games will have this option available to set.

Translucent Vectors - This setting will determine if the vectors in a game
  are to be translucent (intensity of overlapping vectors is increased).
  When this option is set, the overlapping portions of vectors will be
  brighter, as was in the original game, at a cost of game performance.
  This option can be set to On, Off, or Auto.  Only vector games will have
  this option available to set.

Enable VSYNC - This setting will determine if the game's display should be
  synchronized with your monitor's vertical retrace.  This option should be
  set if you experience flicker in vector games.  This option can be set to
  On, Off, or Auto.  Only vector games will have this option available to
  set.

The game settings option can also be selected by pressing F1 when the right
VDU is showing the Settings menu.

Global Settings:
----------------
Retrocade allows you to modify certin global settings.  These settings will
affect all games in Retrocade and/or the GUI.  These changes will remain as
Retrocade's permanent settings until they are changed again.  The global
settings are as follows:

Enable Splash Screen - This setting will determine if the RetroBabe(tm)
  splash screen will appear when Retrocade is run with the GUI.  As some
  people seem to be offended by a "fully clothed woman", this setting is
  provided to allow the splash screen to be disabled.  This option can be set
  to On or Off.

Enable Auto Save - This setting will determine if the currently running
  game's state will be saved when exiting the GUI.  This option can be set
  to On or Off.  THIS FEATURE IS NOT YET IMPLEMENTED IN RETROCADE.

GUI Brightness - This setting will determine the GUI's brightness.  This
  option can be set from 50% to 200% in increments of 5%.

GUI Volume - This setting will determine the volume of the GUI's sound.
  This option can be set from 0% to 100% in increments of 5%.

Tweaked VGA Modes - This option will determine if your video card should
  attempt to use tweaked VGA modes.  Tweaked video modes can provide a video
  modes which are closer to the original arcade game's resolution, but these
  modes will not work with all video cards.  This option can be set to On or
  Off.

ModeX Video Modes - This option will determine if your video card should
  attempt to use ModeX video modes instead of VGA.  ModeX can allow you to
  use certain video modes that are not normally available by your video
  card, but will result in slower performance.  This option can be set to On
  or Off.

Enable Scanlines - This option will determine if the games in Retrocade
  should be displayed with horizontal scanlines.  Scanlines are used to
  imitate the lower quality of the monitors used in older games.  Scanlines
  are currently only available for games which are run with 288x224, 
  224x288, and 256x256 resolutions.  This option can be set to On or Off.

Enable VBE/AF - This option will determine if VBE/AF (Video BIOS 
  Extensions / Accelerated Functions) are to be used.  This option should
  only be selected if you are using Scitech Display Doctor.  This option
  can be set to On or Off.

The global settings option can also be selected by pressing Shift-F1 when
the right VDU is showing the Settings menu.

A future Retrocade feature will allow you to save or load a game in progress
from within the GUI.  This option can be selected by pressing Shift-F2 when
the right VDU is showing the games selection.  Again, THIS FEATURE IS NOT
YET IMPLEMENTED IN RETROCADE.

F3: The Credits
---------------
You can hit the F3 key to get to the Credits sub-system. From there, the
right VDU will display a listing of credits and the left VDU will display
detailed information for each entry (if available). 

There are three categories for the credits which you can switch between by
using the function keys. Hit F1 for the main credits of who wrote Retrocade
and contributed to the project. Hit the F2 key for a listing of the
individual games supported by Retrocade with historical information about the
original arcade game. Hit the F3 key for a listing of all the beta testers
that helped discover bugs in Retrocade. 

Press the F4 key to return to the main menu. 

F4: Exit Retrocade
------------------
To exit Retrocade, hit the F4 key. You will be asked to confirm the exit
request by pressing the F4 key one more time. Press the F1 key if you do not
want to exit Retrocade, and you will return to the main menu. 

In addition to the above, you can hit Control-Break to instantly quit
Retrocade. This will work from both the GUI and from within any game that is
running. There is no confirmation dialog for this exit method, however. 


7.4 In-Game Controls
====================
These are the standard controls you can use in any game, and are used for
functions such as pausing, changing game settings, etc. The actual controls
you use to play the game will vary from game to game. 

Starting Play (AKA Coining-Up)
------------------------------
Once you have started a game emulation you will need to "coin-up" (insert a
virtual quarter) to start the game. All of the games supported by Retrocade
use the same keystrokes for this purpose: 

3 - Insert a virtual quarter, to increase credits. Needed to start any game. 
1 - The 1st Player button, for starting a one player game. 
2 - The 2nd Player button, for starting a two player game. 

Some games allow for 3 or 4 player games, and of course use the natural
progression of keystrokes (F3 and F4). You may also insert coins into
different virtual coin slots by using the 4, 5, and 6 keys. Not all games
have multiple coin slots, however, and for most games it makes no difference. 

Basic Game Play Controls
------------------------
Each game has its own default controller configuration, which can be altered
by the user if he so chooses. Most games will work with any of the supported
controllers you may have. For example, you can play Pacman with the keyboard,
a standard joystick, the Wingman Warrior, or a Microsoft Sidewinder gamepad
- all without having to change any of the controller settings. 

Some games are only realistically playable with certain controllers. For
example, "Tailgunner" works best with the mouse or an analog joystick because
the original arcade game used an analog joystick. Similarly, "Tempest" is
best played with a Wingman Warrior for the true spinning effect, but can be
played with relative ease using the keyboard or a joystick. 

You can change the control set-up for a specific game through the GUI.
Hi-light the game you wish to change settings for in the games listing, then
hit the F2 key. 

Special Functions
-----------------
There are additional standard keystrokes you may hit at any time during
gameplay for specific functions: 

backspace - Unix only. Hitting this key will toggle the "keyboard-grab" mode.
            It allows Retrocade to grab all of the keystrokes you hit, thus
            preventing odd things to happen in your X window manager. This
            key has no effect in non-Unix versions of Retrocade. 

pause -     Surprisingly, this pauses the current game. Hit the pause key
            again to resume. 

ESC -       Automatically pauses the game in progress and returns to the GUI. 
            NOTE: This only works when you start Retrocade up with the GUI,
            and not when you start Retrocade with the -g command-line switch
            to load a specific game. 

^BRK (Control-Break) - This will exit the Retrocade emulator all together,
            regardless of whether you started it with the GUI or not. The
            break key is the same as the pause key on a standard PC keyboard. 
            NOTE: For the MacOS version, use Command-Q to exit the emulator. 
            NOTE: For the Unix version, use Shift-Q (uppercase Q) to exit the
            emulator. 

` (grave) - Brings up the On Screen Display during gameplay. See the section
            below for details on the OSD. Hit the ` key again to make the OSD
            go away. Gameplay does not pause when the OSD is invoked! 

F5 -        Toggles the Performance Monitor (this does not pause the game!),
            which shows how Retrocade is dividing its processing power and
            the current display mode being used. Hit F5 again to get a
            real-time FPS and average FPS readout. Hitting F5 one more time
            will remove the Performance Monitor. 

F6 -        Toggles speed-throttling. With speed-throttling off, the current
            game will run at the maximum possible speed your system can
            manage, rather than the normal speed (Frames Per Second) it is
            set to run at. Hitting F6 again will toggle speed-throttling back
            on. 

CTRL-ALT-F12 - Resets the current virtual arcade machine (equivalent to
            power-cycling the arcade game). The current game in progress will
            be lost. 

PrtScr (Print Screen) - Dumps the current screen contents to an image file in
            Retrocade's /scrnshot directory. Screen dumps are verbatim of what
            is displayed on the screen, including the brightness for the 
            current game, any on-screen messages or status displays, etc. Dump
            filenames are automatically generated based on the name of the
            current game, and existing files are never over-written. 
            NOTE: The image format used for screen dumps might vary depending
            on what version (platform) of Retrocade you are using. 

Shift-PrtScr (Shift-Print Screen) - Saves the state of the currently running
            emulation, which effectively saves the game. Filename is 
            automatically generated based on the game name and uses .RSV for an
            extension.  The file will be saved into Retrocade's /saves
            directory.

Ctrl-PrtScr (Ctrl-Print Screen) - Begins a recording session of the currently
            running game.  Filename is automatically generated based on the 
            game name and uses .RRC for an extension.  The file will be saved
            into Retrocade's /saves subdirectory. Hit Ctrl-PrtScr again to
            stop recording.


7.5 The Onscreen display
========================
Besides being able to use the GUI to configure Retrocade and settings for
individual games, you may also use the OSD (On Screen Display) to make
changes. The OSD allows you to change settings from within a game, without
having to exit all the way back to the GUI. This is especially useful when
you launch a specific game directly (using the -g command-line switch) and
the GUI is not available. While not all Retrocade options can be changed from
the On Screen Display, the changes will affect only the current game that is
running, and all settings are saved automatically. This allows you to tweak
each individual game to your personal preference. 

During gameplay, hit the ` key (grave) to bring up the OSD. The display will
pop-up over part of the screen but the emulator will continue to run the
current game. You will need to hit the pause key before bringing up the OSD
if you don't want the game to keep running. To exit the OSD just hit the `
key again. 

The On Screen Display consists of a Setting Name, with the current Setting
Value displayed below the name. Some settings are shown as a simple bar graph
while other settings have a specific numeric or text value. Use the arrow
keys on the keyboard to manipulate the OSD, with the left and right arrow
keys changing the current setting's value and the up and down arrow keys
stepping through the various settings that are available. Holding down an
arrow key will auto-repeat that keystroke (I.E. holding down the left arrow
key will continually lower the current setting's value). All changes you make
in the OSD are immediately active, though they may not be instantly
noticeable. 

Here is a detailed description of all the available settings and what they
change. Remember that these settings are automatically saved, and are
separate for each game (so changing the volume in Pacman will not change the
volume in Scramble). 

Note: Not all of these settings will be available in all games. For example,
if a game doesn't use an analog or spinner control, you will not get options
for the mouse settings. Similarly, if no Wingman Warrior is detected on your
system you will not see settings for that controller. 

Brightness
----------
Adjusts the screen gamma for the current game. This does not affect the
brightness of the GUI. You can not set the brightness so low as to make the
game invisible. The minimum and maximum range of brightness will vary from
game to game. 

Volume
------
Changes the over-all volume level for the current game. This does not affect
the global volume level for Retrocade or sound outside of the games. The
far-right is the maximum volume for your soundcard, and supersedes any
previous mixer settings you may have. 

Frames Per Second
-----------------
This allows you to change the number of frames per second (FPS) for the
current game. The minimal allowable value is 20 while the maximum is 1200.
All games have a default FPS that is the proper screen update rate for that
game (most use 60, though the Midway MCR games use 30). Setting a game to a
lower FPS will make it run slower, while setting it to a higher FPS will make
it run faster. The FPS rate is the maximum rate for that game, so if your
system is not capable of running the game at a certain FPS rate then setting
the value higher will not speed up the game. 

The main use for adjusting the FPS rate for a game is to have it run at a
steady speed. If normally the FPS rate you get for a game jumps around
between 50 FPS and 60 FPS then you can adjust the rate with this setting to
50, and the game will run at a steady 50 frames per second. You get smoother
emulation with a relatively small loss of performance. Of course, you can
also use this to make a game run faster if your system is capable of doing
so, and you feel like a real challenge. :) 

Mouse X Ballistics
------------------
Adjusts the sensitivity of the X-axis movement for your mouse. A lower
setting will make Retrocade less sensitive to horizontal (left and right)
movement of the mouse, while a higher setting will make the emulator more
sensitive to the movement. 

Mouse Y Ballistics
------------------
Adjusts the sensitivity of the Y-axis movement for your mouse. A lower
setting will make Retrocade less sensitive to vertical (up and down) movement
of the mouse, while a higher setting will make the emulator more sensitive to
the movement. 

Mouse X Axis
------------
This changes how the X-axis movement of the mouse is treated. There are only
two valid setting values, "Normal" and "Inverted". When set to "Inverted",
moving the mouse left will give a right-movement input, while moving it right
will give a left-movement input. 

Mouse Y Axis
------------
This changes how the Y-axis movement of the mouse is treated. There are only
two valid setting values, "Normal" and "Inverted". When set to "Inverted",
moving the mouse up will give a down-movement input, while moving it down
will give a up-movement input. 

Joystick A X Sensitivity
------------------------
Adjusts the sensitivity of the X-axis movement for joystick A. This option
only applies to Analog joysticks and does not affect the way standard digital
joysticks work. A lower setting will make Retrocade less sensitive to
horizontal (left and right) movement of joystick A, while a higher setting
will make the emulator more sensitive to the movement. 

Joystick A X Axis
-----------------
This changes how the X-axis movement of joystick A is treated. There are only
two valid setting values, "Normal" and "Inverted". When set to "Inverted",
moving joystick A left will give a right-movement input, while moving it
right will give a left-movement input. 

Joystick A Y Sensitivity
------------------------
Adjusts the sensitivity of the Y-axis movement for joystick A. This option
only applies to Analog joysticks and does not affect the way standard digital
joysticks work. A lower setting will make Retrocade less sensitive to
vertical (up and down) movement of joystick A, while a higher setting will
make the emulator more sensitive to the movement. 

Joystick A Y Axis
-----------------
This changes how the Y-axis movement of joystick A is treated. There are only
two valid setting values, "Normal" and "Inverted". When set to "Inverted",
moving joystick A up will give a down-movement input, while moving it down
will give a up-movement input. 

Joystick B X Sensitivity
Joystick B X Axis
Joystick B Y Sensitivity
Joystick B Y Axis
-----------------
These are the same as the Joystick A settings, except that they affect
changes for joystick B (the second joystick if you have two joysticks
connected to the same gameport). 

Wingman X Axis
--------------
This changes how the X-axis movement of the Wingman Warrior joystick is
treated. There are only two valid setting values, "Normal" and "Inverted".
When set to "Inverted", moving the Wingman Warrior joystick left will give a
right-movement input, while moving it right will give a left-movement input. 

Wingman Y Axis
--------------
This changes how the Y-axis movement of the Wingman Warrior joystick is
treated. There are only two valid setting values, "Normal" and "Inverted".
When set to "Inverted", moving the Wingman Warrior joystick up will give a
down-movement input, while moving it down will give a up-movement input. 

Wingman Spinner Axis
--------------------
This changes how the movement of the Wingman Warrior spinner is treated.
There are only two valid setting values, "Normal" and "Inverted". When set
to "Inverted", turning the Wingman Warrior spinner clockwise will give a
counter-clockwise movement input, while turning it right will give a
left-turn input. 

Vector X Position
-----------------
This changes the horizontal offset of the game's vectors.  A lower setting
will move the vectors to the left, while a higher setting will move the
vectors to the right.  This option is only available in vector games.

Vector Y Position
-----------------
This changes the vertical offset of the game's vectors.  A lower setting will
move the vectors up, while a higher setting will moved the vectors down.
This option is only available in vector games.

Vector X Size
-------------
This changes the horizontal width of the area in which the game draws
vectors.  A lower setting will cause the horizontal vector area to shrink,
while a higher setting will cause the horizontal vector area to stretch.
This option is only available in vector games.

Vector Y Size
-------------
This changes the vertical height of the area in which the game draws vectors.
A lower setting will cause the vertical vector area to shrink, while a higher
setting will cause the vertical vector area to stretch.  This option is only
available in vector games.


-----------------------------------------------------------------------------


                            Section 8: Troubleshooting


If you are having a problem with Retrocade, be sure to check this table to
see if the problem is mentioned. There may be a simple solution to it. You
should also check Section #10, "Frequently Asked Questions". 


Problem Description:
    Retrocade doesn't start.

Symptoms:
    * Give's error message about "dos4gw.exe" not being found. 
    * Says there are no support ROM images found.

Possible Solution(s):
    * On DOS systems, make sure DOS4GW.EXE is in the same directory as
      Retrocade, or in a directory in your path. See Section #5, "Additional
      Support Files". 
    * Retrocade requires you have a copy of the original arcade game ROM
      contents. It can not run without them. See Section #10, "Frequently
      Asked Questions" for more details.
 

Problem Description:
    Missing Sound

Symptoms:
    * No sound can be heard. 
    * Most games have sound, but some do not.

Possible Solution(s):
    * Make sure you have a supported soundcard. 
    * Check to see if you have the WAV.PAK file for sound samples. Only some
      games require samples. 
    * On PC systems, make sure the BLASTER environment variable is set. If it
      is not set, or contains incorrect settings, this may cause sound to
      fail. 
      NOTE: Due to limits with the DOS4GW extender, you can not use an
      interrupt higher than 7 for your soundcard in the DOS version. See
      Section #10, "Frequently Asked Questions" for more details. 
    * Most games have sound, but some do not. You can instantly tell by
      bringing up the onscreen display and scrolling through the options. If
      you do not have a volume control, the game does not have sound, or no
      sound card has been detected. See Section #3, "Games Supported" to see
      if the particular game that is silent has sound support or not.


Problem Description:
    Games run very slowly

Symptoms:
    * Slower than normal screen updates. 
    * Sound is choppy, slow, or "warped". May fail to synchronize with screen
      action.

Possible Solution(s):
    * Retrocade is a high-performance emulator, but is not a miracle-worker.
      Some games (such as Xenophobe, which uses two 68000 CPU chips) require
      a great deal of CPU power to emulate. Make sure your system's hardware
      meets the minimal requirements (See Section #2, "Requirements") and if
      at all possible, exceeds them. A game like Xenophobe will require at
      least a Pentium 120 to run at full speed. 
    * The DOS version of Retrocade will run slower under Windows 32-bit
      systems (95/98/NT) than under straight DOS. Use the 32-bit Windows
      version of Retrocade under Windows. 
    * Pentium systems perform best with lots of Level 2 cache. If you only
      have 256KB L2 cache, invest in an upgrade to a 512KB L2 cache. If you
      can get even more than that, do it! 
    * Make sure you don't have any other programs running that are stealing
      away your CPU time. Quit as many applications as you can before
      starting Retrocade. If you're running on a Unix box, make sure there
      isn't a background task running that's CPU-intensive.


Problem Description:
    Flicker in vector games.

Symptoms:
    Vector games have flicker over part or all of screen.

Possible Solution(s):
    Vector games with full vector effects take a lot of CPU power. First try
    disabling vector effects (use the -noav and -notv command-line switches
    when starting Retrocade). If you still get flickering, your videocard may
    not have enough memory, in which case you can use the -vsync switch. 
    NOTE: The games "Demon" and "Armor Attack" flicker because that is how
    the original arcade games worked. They can not be made to not flicker.


-----------------------------------------------------------------------------


                            Section 9: Known Bugs


See file gamelist.txt for a complete list of all known bugs which are specific
to individual games.



-----------------------------------------------------------------------------


                       Section 10: Frequently Asked Questions


See file retro.faq to read the Frequently Asked Questions.



-----------------------------------------------------------------------------


                               Section 11: Credits


These are the members of the Retrocade Alliance. Worship them. For a list of
other contributors, see the file thanks.txt.

In alphabetical order by last name: 
===================================
Richard Bannister (titan@indigo.ie) - 
    * Did the Macintosh port of Retrocade. (Still in progress) 
    * Wrote the following Platform Extensions - Snow Bros 

Paul "syntax error" Biondich (syntax@atlantic.net) - 
    * Composed the artwork for the GUI and the intro screen. 
    * Did artwork for icons and logos on Retrocade Alliance webpage. 

Neil "Sound Rules" Bradley (neil@synthcom.com) - 
    * Wrote most of the main core architecture. 
    * Wrote the 6502 and Z80 CPU emulators (assembly, Intel). 
    * Wrote all of the sound code, including the 6808 emulator (assembly,
      Intel). 
    * Wrote the following Platform Extensions - Asteroids, Asteroids Deluxe,
      Lunar Lander, Battlezone, Tempest/Tempest Tubes, Red Baron, Space Duel,
      Black Widow, Gravitar, Major Havoc, Return To Vax, Targ, Spectar,
      Quantum, all Cinematronics PE's (with assistance from Zonn),
      Blasteroids, Omega Race, Missle Command. 
    * Re-wrote Peter Hirschberg's vector effects code (translucency,
      anti-aliasing) in Intel assembly. 

Richard "Rainbow" Bush - 
    * Technical advisor for adding "RAINE" supported games. 
    * Wrote the following Platform Extensions - Super Space Invaders, Zero
      Zone, Snow Bros. 

Neill "Comments are irrelevant" Corlett (corlett@elwha.nrrc.ncsu.edu) - 
    * Contributed his 680x0 CPU core (assembly, Intel - "Starscream"). 
    * Contributed TMS5220 and YM2151 sound chip emulators (C). 
    * Contributed font for internal debugger. 

Mike "I'm STILL not a hippy!" Cuddy (mcuddy@fensende.com) - 
    * Wrote the GUI for Retrocade.
    * Wrote the following Platform Extensions - All MCR games (I, II, and
      III), ZCPU platform, Xenophobe, Klax, Berzerk, Frenzy, Gyruss, Time
      Pilot, Cloak And Dagger, Crater Raider. 

Aaron "Not Copeland" Giles - 
    * Technical advisor and Mac consultant. 
    * Contributed his 68000 CPU core (assembly, Macintosh). 

Peter "VectorHead" Hirschberg (hippies@rma.edu) - 
    * Added multiple features to vector support (backdrops, translucent and
      anti-aliased vectors, etc.). 
    * Worked on Windows version of Retrocade. 
    * Provided samples for some Atari vector games (Lunar Lander, Asteroids,
      Asteroids Deluxe, Red Baron, Battlezone). 
    * Provided all backdrop images except for Discs Of Tron. 
    * Wrote the following Platform Extensions - Boothill. 

Patrick Lawrence - 
    * Wrote the 6808 and 6809 CPU emulation cores (assembly, Intel). 
    * Ported the MageX blit and graphics routines to Windows version. 
    * Implemented the raster graphics system, with the assistance of Brian
      Levine and Edward Massey. 
    * Wrote the following Platform Extensions - Star Wars, Food Fight,
      Centipede, Crystal Castles, Atari Football, all Williams games. 

Brian "Two of Three" Levine (blevine@mpinet.net) - 
    * Assisted in implementation of the raster graphics system (support for
      large palettes). 
    * Wrote the following Platform Extensions - Amidar, Donkey Kong, Donkey
      Kong Jr., Fantasy, Lunar Escape, Nibbler, Pioneer Balloon, Space
      Invaders, Space Invaders Part II, Vanguard, Frogger, Scramble, Super
      Cobra, Galaxian, Moon Cresta, Tutankham, The End, Yie Ar Kung Fu. 

Gareth "StrongARM" Long (gatch@elecslns.demon.co.uk) - 
    * Will be working on an ARM processor port of Retrocade. 

John "I, John" Manfreda (John.Manfreda@pcm.bosch.com) - 
    * Technical advisor for "I, Robot" Platform Extension (Not done yet) 

Edward "DirectX Rules" Massey (edward@greenvillenc.com) - 
    * Contributed his C++ 6809 and Z80 CPU emulation cores from MageX. 
    * Contributed additional function from MageX (graphics decoding, blitting). 
    * Wrote the Win32 host code. 

Jeff "The Riffer" Mercer (riffer@afn.org) - 
    * Wrote everything you are reading. 
    * Added documentation and default controller settings to DEFCTRLS.INI 

Jeff "skeezix" Mitchell (skeezix@skeleton.org) - 
    * Wrote the Generic UNIX port. 
    * Wrote the Linux ports (SVGAlib and direct-access versions). 
    * Rewrote Zonn's CCPU core and mathbox core in C (for generalized ports). 
    * Rewrote Edward Massey's C++ cores in C (for generalized ports). 

Zonn "Zonn" Moore (zonn@zonn.com) - 
    * Wrote the CCPU emulation core (assembly, Intel) - used just for
      Cinematronics games. 
    * Assisted Neil in writing all Cinematronics Platform Extensions. 
    * Wrote the mathbox emulation core (assembly, Intel) 
    * Wrote the Sinistar speech (CVSD) emulator (C). 
    * Wrote the front-end for the .WAV file compressor (offers significant
      lossless compression). 

Alex "How'd I get here?" Pasadyn (ajp@mail.utexas.edu) - 
    * Working on the 34010 processor emulator core (needed for certain
      Williams games) 
    * Working on the following Platform Extensions - Ninja Gaiden (not done),
      Teenage Mutant Ninja Turtles (not done). 

Brian "One of Three" Peek (peekb@union.edu) - 
    * Wrote the following Platform Extensions - Phoenix, Pleiads, Pacman, Ms.
      Pacman, Ms. Pacman Plus, Piranha, Arkanoid, Crush Roller. 
    * Completing Edward's work on the Windows version (graphics, input, and
      DirectSound). 

Brian "Three of Three" Stern (bstern@teleport.com) - 
    * Wrote the following Platform Extensions - Burger Time, Galaga, Dig Dug,
      Bosconian (speech by Neil Bradley). 


-----------------------------------------------------------------------------


                           Section 12: Glossary of Terms


bpp
---
Stands for "bits per pixel", a specification of color depth for video
hardware. The number of bits of video memory per pixel in a video mode
determines how many different colors that pixel can be, and consequently how
many total different colors can be displayed at one time on the screen. Just
about all video cards in the past eight years can do 8 bpp, which is 256
colors. 16 bpp is a color depth of 65,536 colors at one time, while 24 bpp
gives over 16 million possible colors at one time. Retrocade uses 8 bpp
display modes for the majority of games, however it uses 16 bpp display modes
for some games (such as the vector games to allow for vector effects and
backdrop/overlay support). The term bpp or "bits per pixel" is also sometimes
just referred to as "bit". 

CPU
---
An acronym, CPU stands for Central Processing Unit. It's the microchip that
does arithmetic, executes commands in a program, and manipulates memory. All
computers have a CPU, or collection of components that act as a CPU. 

Emulation
---------
The act of reproducing the functionality of hardware with software. In
regards to arcade games, this means mimicking the behavior of microchips,
discrete circuits, and even switches to allow the original arcade game
program to run on a computer, independent of the original arcade game
hardware. A program that does emulation is called an emulator. The verb form
is emulate as in "to emulate this game". 

Emulator
--------
See Emulation. 

FPS
---
Short for "Frames Per Second", a measurement of how many times per second the
screen is updated. A higher number of frames per second means a faster
execution time. Most classic arcade games had a refresh rate (or FPS) of 60
times per second, though some games used different values. In order to run
games at the right speed, Retrocade does what is called speed throttling to
make sure a game does not run faster than its correct number of Frames Per
Second. 

GUI
---
An acronym, GUI stands for Graphical User Interface. A GUI is literally what
it stands for, a graphical display (icons, pictures, and other
high-resolution image components) that acts as an interface between a user
and another program. A GUI allows for a simple, visually appealing way to
control the function of a program, such as changing settings, loading/saving
files, etc. 
For detailed information on Retrocade's GUI, see Section #7, "Using
Retrocade", "The GUI". 

KHz
---
An abbreviation for Kilohertz, KHz is a measurement of wave frequency. A
Kilohertz is one thousand hertz. A hertz is a single cycle (wave). In regards
to digital sound, this refers to how many samples per second are in a digital
sound. More samples means a better quality reproduction of the original
sound. 

OSD
---
Stands for On Screen Display, this refers to the settings display that can be
brought up directly onto the emulation screen while a game is running. The
OSD is used to change settings such as screen brightness, volume, and speed
throttling (FPS) during game play without need of the GUI. 
For detailed information on how to use the On Screen Display, see Section #7,
"Using Retrocade", "The OSD". 

PCI
---
An acronym that stands for Peripheral Component Interconnect, the word PCI
refers to the method by which an expansion or adapter card communicates to
your computer. This includes things like video cards, network cards, driver
controller cards, and so on. The PCI standard is faster than older interfaces
such as VLB and ISA/EISA and is widely supported now in the PC market. 

PE or Platform Extension
------------------------
The acronym "PE" stands for Platform Extension. This is the set of code in
Retrocade for a particular arcade game platform. Which means the hardware
such as CPU, sound chips, video hardware, controllers, etc that make up the
actual machine. In many cases, a particular platform only supports one game.
But there are some times when an arcade hardware platform supports multiple
games, such as with the Midway MCR arcade games. Retrocade is structured so
that new Platform Extensions can be inserted with minimal fuss, thus allowing
new emulations to be added without having to write vast amounts of code. 

Polling
-------
This term refers to a method used in computer programs to get input from a
device, usually a keyboard or mouse. When a program polls for input, it stops
whatever else it is doing and checks to see if there's been a change in the
state for an input device. While it may take very little time do this check,
to be able to have a program react "instantly" to an input change (such as a
keypress, mouse click, or joystick movement), the program has to poll the
input devices on a frequent basis. This can slow down the execution of a
program, though it is not really an issue except in programs where timing
is critical. 

VDU
---
The term VDU stands for Video Display Unit, and is just a fancy way to refer
to the virtual screen displays in the Retrocade GUI. 

VESA
----
This refers to both a video standard, and the organization that establishes
the standard. VESA stands for "Video Electronics Standards Association",
which tries to make industry guidelines and standards for video hardware. The
initial standard that was established is refereed to as VESA 1.x, while a
newer standard that supports a greater number of video modes and video
acceleration features is VESA 2.x. The VESA organization has also recently
come out with the specifications for VESA 3.x to match with newer video
technology. You can find out more by visiting their website,
http://www.vesa.org/ .
The DOS flavor of Retrocade makes use of the VESA standard, requiring that
you have at least VESA 1.x support and VESA 2.x support for faster
performance and certain options (such as vector effects). 

Wingman Warrior or WW
---------------------
This is a digital joystick manufactured by Logitech. While it can be plugged
into a standard game port on a PC and act like any common 4-way, 2-button
joystick, its real strength is when it is plugged into an open serial port.
This allows full use of all the gizmos on the Wingman Warrior which includes
a 4-way "Hat" switch, trigger switch, thumb button, and two "index" buttons.
It also includes a spinner, a knob that can be spun freely 360 degrees. This
makes the Wingman Warrior an ideal controller for games such as Tempest,
Tron, Discs Of Tron, and many others. It's also useful for playing some of
those silly old PC shooters like "DUME" and "QUACK", :) 
Unfortunately, the Wingman Warrior is not compatible with non-PC computer
systems. 



-----------------------------------------------------------------------------


                         Section 13: Version Information


The current version of Retrocade is 1.2 beta 2. Retrocade began development 
in the summer of 1997. 

This documentation is version 1.2. Additional changes will of course be made
with new versions of Retrocade. 


-----------------------------------------------------------------------------


                          Section 14: Legal Information


These pages and the content therein is copyright 1998 by the Retrocade
Alliance. All Rights Reserved. You are free to browse the site and download
any materials we provide here as long as you do not claim it is your own
work. These Materials are provided by the Retrocade Alliance as a service to
its customers and may be used for entertainment purposes only. 

Materials are copyrighted and are protected by worldwide copyright laws and
treaty provisions. They may not be copied, reproduced, modified, published,
uploaded, posted, transmitted, or distributed in any way, without Retrocade
Alliance's prior written permission. Except as expressly provided herein, the
Retrocade Alliance does not grant any express or implied right to you under
any patents, copyrights, trademarks, or trade secret information. Other
rights may be granted to you by the Retrocade Alliance in writing or
incorporated elsewhere in the Materials. 

All other brands and names mentioned throughout this site are the property of
their respective owners. 

The materials are provided "as is" without any express or implied warranty of
any kind including warranties of noninfringement of intellectual property, or
fitness for any particular purpose. In no event shall the Retrocade Alliance
be liable for any damages whatsoever (including, without limitation, damages
for loss of profits, business interruption, loss of information) arising out
of the use of or inability to use the materials, even if the Retrocade
Alliance has been advised of the possibility of such damages. Because some
jurisdictions prohibit the exclusion or limitation of liability for
consequential or incidental damages, the above limitation may not apply to
you. 

If you have questions about the emulator, please visit the FAQ. If you still
can't find an answer to your question there, you can send mail to
retro@retrocade.com. 

