                      Retrocade 1.0 - The Documentation

                                Version: 1.0
                        Created : January 28th, 1998 
                        Modified: September 12th, 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. 


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


                           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 150 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. 
  NOTE: Esoniq soundcards do not currently work with Retrocade. 
* 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 150 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: 100

For a complete list of games supported by Retrocade, see the file
gamelist.txt. This file contains a list of all games/romsets that Retrocade
supports, in addition to any known issues or problems with the games
themselves.


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


                           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://www.davesclassics.com/ 
* http://www.monroeworld.com/insertcoin/index.htm 
* http://www.bigjack.com.br/arcade/ 
* http://classicgames.8m.com/ 
* http://www.users.globalnet.co.uk/~micro/
* http://home.stlnet.com/~btaylor/index.htm
* http://www.emuviews.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://www.davesclassics.com/misc/dos4gw.zip 
* 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.
Alternatively, 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/dx5end.htm 
* 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.
WAV.PAK/WAVALL.PAK   All sound samples for all games including the
                     Journey tape loop.
--------------------------------------------------------------------

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://www.davesclassics.com/ 
* http://www.monroeworld.com/insertcoin/index.htm 
* http://www.bigjack.com.br/arcade/ 
* http://classicgames.8m.com/ 
* http://www.users.globalnet.co.uk/~micro/ 
* http://home.stlnet.com/~btaylor/index.htm
* http://www.emuviews.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

You will need to place any ROM images you have in the ROMS sub-directory.
Example: 

        copy d:\roms\*.zip roms

And you can put the .PAK files you have in a directory called PAKS as well.
Example: 

        mkdir paks 
        move *.pak paks

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
                 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). 

-nosplash        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. 

-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 as specified by <filename> and
                 goes directly into that emulation. This switch functions
                 very much like the -g option except 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. 

-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. 

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

-modex          Use 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. 

-tweak          Use "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. 

-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. 

-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
-nosplash 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. 


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 as saving/loading game
states, is done with the F2 key. To change settings for a specific game,
highlight in the game listing and then press the F2 key on your keyboard.
The right VDU will show a settings menu, with a title bar indicating which
game you are changing settings for. The menu options available are: 

* Volume 
* Brightness 
* Dip Switches 
* Controls 
* Other Game Settings 

In addition to the settings menu, the function keys allow you to make
settings changes as well as exit the setting sub-system: 

* Pressing the F1 key will give you the settings menu. This comes up by
  default when you first go into the settings sub-system. 

* Holding down the shift key while pressing F1 will allow you to reset all
  the settings for the current game (except for dip-switch settings) to their
  "factory" default. 

* The F2 key activates the dip-switch settings interface, if any dip-switch
  settings are available for the current game (not all arcade games had dip
  switches, and some did but made no use of them). If the game has
  dip-switches then you will be able to scroll through the menu of options
  available, using the space or enter key to change the value for a specific
  option. A small diagram in the bottom of the right VDU illustrates the way
  the actual dip-switch block would look. 

* Hold down the shift key while hitting F2 (Shift-F2) to reset the dip-switch
  settings for the current game. They will be restored to the default that
  Retrocade uses. Resetting the dip-switches does not change any other
  settings for the game. 

* Hit the F3 key to change the control group for the game. All games have at
  least two control groups, "Default" and "V-Stick". Additional control
  groups are available for some games and users can create their own by
  modifying the DEFCTRLS.INI file. Just select whichever control group you
  want using the arrow keys and then press the space or enter key. 

* Hit Shift-F3 to access the advanced control settings. There you will be
  able to individually edit each control setting for the game. Select a
  controller name (I.E. "Player 1 Left") and press enter to add a new
  assignment for that name. Then operate the control you want to add (move
  the mouse, hit a key, move the joystick, etc.) for that item. You can hit
  ESC during this procedure to cancel the change. You can delete a controller
  assignment by highlighting the assignment entry under a controller name and
  then pressing enter. 

* Press the F4 key to exist the settings sub-system. 

Retrocade also supports Game State Saving, which simply means you can save a
game in progress and restore it at a later point. This is done by saving the
memory contents of the emulated chips for a game, as well as the virtual
memory space the emulated machine uses. To access the saving and loading of
game states, hold down the shift key while pressing F2 (Shift-F2). 

In the Save/Load sub-system, press the F2 key to save the current game in
progress to a file. Retrocade will automatically generate a filename based
on the game name, and will assign it a unique ID. Each save action creates a
new file, so old saved games are not over-written. Note that a game must be
in progress to be saved, so if you have not already started up a game then
this option will not work. 

To load a previously saved game, press the F1 key. The right VDU will display
a listing of saved games which you can go through. Once you have selected the
game you wish to load, press the space or enter game. 

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. 

ESC
---
The final thing to keep in mind about the Retrocade GUI is the escape (ESC)
key. This is not used to exit the Retrocade application.


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
            your Retrocade 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. 


7.5 The OSD
===========
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. 


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


                            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 bugs.txt for a complete list of all known bugs in Retrocade.  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. 
    * 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. (Under re-construction) 
    * 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. 


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


                           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.0. Retrocade began
development in the summer of 1997. 

This documentation is version 1.0, which means it's about 100 percent done.
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. 

If you have any questions about or problems with the website ONLY, you can
send mail to Valerie (val@synthcom.com). Please note, though, that she had no
hand in developing Retrocade and cannot help you with issues concerning the
emulator! 


