
"Sparcade!" aka Dave's Arcade Emulator, copyright David Spicer 1995-1998
------------------------------------------------------------------------

Core release v2.25

-- Contents ------------------------------------------------------------------

  1. Conditions of use

  2. Introduction

    2.1 What is Sparcade?
    2.2 Sparcade's history

  3. Using Sparcade

    3.1 System requirements
    3.2 Installing Sparcade
    3.3 The menu system
    3.4 Default keyboard controls
    3.5 Benchtesting [NEW]

  4. Troubleshooting and contact information

  5. Thanks to...


  Appendices

    A. Outstanding issues/problems with Sparcade's emulations
    B. Missing drivers
    C. Update history


-- 1. Conditions of use ------------------------------------------------------

  Sparcade is provided for free, personal use subject to certain terms and
  conditions.  Please take the time to read through these conditions before
  using Sparcade.

    Sparcade is provided "as is" without warranty of any kind, either
    expressed or implied.  Anyone using the program does so at their own
    risk.  The author accepts no liability for any loss or damage arising
    from its use.

    Distribution of Sparcade on public Internet web sites is permitted
    providing the original zip file is not modified.  All other forms of
    distribution are strictly prohibited.  This restriction includes, but is
    not limited to, distribution on floppy disks, CDs or via a BBS.  In
    particular, attempting to sell Sparcade or distribute it with game ROM
    code constitutes a violation of copyright and may result in legal action.

    Sparcade may only be used for the purpose of playing the supported games.
    Users must not disassemble or reassemble the program code or produce
    derivative works based on the concepts or program code of the emulator.

    The author will not be held responsible for copyright violations by users
    of the emulator.  Users are reminded that all of the games supported are
    copyrighted and should not be distributed without permission.

    To use Sparcade, you must agree to be bound by the conditions of use
    listed above.  If you cannot agree to these terms, please delete your
    copy of the emulator immediately.

    Violation of the conditions of use will directly affect the future of the
    Sparcade emulator project.


-- 2. Introduction -----------------------------------------------------------

  2.1 What is Sparcade?

  Sparcade is a multi-processor emulation engine, primarily designed to
  run code from the classic arcade games of the 80s.

  I'd like very much to expand this section to include some detail about
  Sparcade's history and my motivations for continuing with the project.
  However, time is short and for now I'll have to mark it as "to be
  expanded at a later date".


-- 3. Using Sparcade ---------------------------------------------------------

  3.1 System requirements

    3.1.1 CPU

      Minimum setup

        486DX2-66 with 4 megabytes of RAM

        Some of the more complex titles won't run smoothly.

      Typical setup

        Pentium 133 with 8 megabytes of RAM

        Vulcan Venture will still have problems.

      Dream setup

        K6-233 with 16 megabytes of RAM

        Everything should run smoothly and at full speed.

      Don't worry if your system doesn't meet the requirements above.  Try
      running a few games - you may be surprised!

      N.b. Sparcade uses 486 code in some of its drivers making it
           incompatible with 386-based machines.


    3.1.2 Operating system

      MSDOS 3.0 and above or Windows 95.  Unlike the original Sparcade,
      this version does not require a memory manager.

      Running Sparcade from a Windows 95 DOS reboot may cause problems
      if EMM386 is installed.  The same appears to be true of programs
      using PMODE/W, suggesting that the problem lies with the PMODE
      DOS extender rather than Sparcade itself.


    3.1.3 Graphics card

      Basically, the faster the better.  I'd certainly say users should be
      aiming at VLB or PCI based cards.  Does *anyone* still use ISA?


    3.1.4 Sound card

      Gravis Ultrasound (all models)

        The GUS provides the highest quality sound for most games but
        doesn't support the FM sound required by Wardner, Salamander and
        Vulcan Venture.

      Sound Blaster classic / pro

        A Sound Blaster must have a DSP revision of 2.0 or later in order
        to work with Sparcade.  Unlike the GUS, the Soundblaster will work
        with games which require simple FM sound.  To my knowledge, no
        Soundblaster in this category provides the OPL3 chip required for
        Salamander and Vulcan Venture.

      Sound Blaster 16 / 32 / AWE32 / AWE64

        Good quality audio for all games, including those that require FM
        sounds.

      Sound Blaster clones

        A 100% compatible Sound Blaster or Sound Blaster 16 clone should
        work flawlessly with Sparcade.  Cards which are not 100% compatible
        may sound out of tune, especially at high mixing rates.

    3.1.5 Input

      Sparcade supports keyboard play or a joystick with up to 4 fire
      buttons.


  3.2 Installing Sparcade

    3.2.1 Basic installation

      Unzip Sparcade into an empty directory.  If using Windows 95/98,
      create a shortcut for the program 'arcade.exe' and modify its
      properties as follows:

        Program/Close on exit: checked
        Screen/Usage: full-screen
        Misc/Windows shortcut keys: all boxes unchecked

      The "protected" box under "memory settings" should remain unchecked.

      Owners of slow systems may find performance is increased by running
      Sparcade in MSDOS mode.  The shortcut can be made to do this
      automatically by checking the 'MS-DOS mode' box under Program/Advanced.

      Note: For correct operation with a Windows 95 keyboard, Microsoft's
            "Winkey" utility should be installed.  Winkey may be obtained
            from Microsoft's ftp site.

    3.2.2 Game ROM images

      Game ROM images must be placed in individual directories.  By default
      Sparcade expects to find these within its own directory, however an
      alternative location can be chosen (see 'the options menu' below).

      The names of the ROM image directories and the files within them are
      all listed in the file 'romlist.txt'.

    3.3.3 Starting Sparcade

      In DOS, change to the Sparcade directory and type 'arcade'.  In Windows
      95, click on the shortcut you created earlier.


 3.3 The menu system

    Use the following keys to navigate through the menu system:

      up/down cursor keys    - choose item
      page up/page down      - move rapdily through items
      home                   - move to top item
      end                    - move to bottom item
      left/right cursor keys - change menu
      return                 - run game or select chosen item
      esc                    - exit from Sparcade

    3.3.1 The main menu

      Fairly self explanatory - select a game to play or push the left
      cursor key to enter the options menu.

    3.3.2 The options menu

      Push the right cursor key to return to the main menu or select from
      the following items:

        Change monitor type

          Toggle the monitor type between VGA and SVGA.  Selecting VGA
          allows Sparcade to work correctly on an old 640x480 monitor,
          whereas SVGA will work with more modern monitors.

          Why use it?  Switching to SVGA mode allows Sparcade to use
          higher refresh rates in some of the emulations (e.g. Pacman).

        Change hires method

          Select the method used to provide high resolution modes for
          games such as Tron and Satan's Hollow.

            Generic - Attempts to create hi-res modes using standard VGA
                      registers.  You must calibrate your video card
                      before this mode will work correctly.  Not all cards
                      provide the facilities required for generic mode, so
                      you may have to use "chunky" instead.

            ET6000  - Turns on hi-res mode by halving the pixel width.
                      Surprisingly, many cards don't properly support this
                      feature in VGA modes.  The ET6000 is one card that
                      does, hence the name of the option.

            Chunky  - If all else fails, this mode halves the horizontal
                      resolution and uses filtering in attempt to reduce
                      blockiness.  Chunky mode has the added advantage of
                      requiring less CPU time than the other 2 modes.

        Change frontend video mode

          Select the type of video mode used for Sparcade's menu system.
          Switch to VGA if you experience pauses when moving through menus
          or, alternatively, get hold of a decent VESA implementation...!
          I've only ever experienced VESA-related problems when using S3 or
          ATI video cards.

            VGA  -  16 colour mode
            VESA -  256 colour mode

          VESA is used by default if it is available.

          Visually, the 2 modes are identical.  Later versions of Sparcade
          may make more use of VESA.


        Calibrate video card

          This option allows Sparcade to work out which display resolutions
          are available using standard VGA features.  If you don't see a good(*)
          spread of 'dot clock' values, you may have problems with the 'generic'
          hi-res mode documented above.

          (*) Typically, you will see 4 numbers ranging from 25MHz to 40MHz.

          For safety, you should switch off your monitor during calibration
          (switch back on a few seconds after starting calibration).

          Aborting video calibration causes any previous settings to be
          arranged.  This feature may be used to reverse the effects of
          calibration if you experience problems with your video card.

        Toggle MMX optimisations

          MMX optimisations may be used for future Sparcade drivers.  At
          present there are no drivers which would benefit from the use of
          MMX code.

          NOTE: This option must *not* be enabled unless your processor
                supports MMX.  Doing so may cause unpredictable behaviour
                when running MMX-capable games.

        Change ROM path

          Allows you to specify the root directory where Sparcade will look
          for arcade ROM images.  Specifying an empty path (the default case)
          causes Sparcade to look in its own directory.

        Redefine keyboard controls

          Modify the "global" controls used by Sparcade.

        Calibrate joystick

          Prepare an analogue joystick for use.

        Change FM delay

          Compensate for timing conflicts between newer motherboards and
          old FM sound chips.  The default value of 1 should work with all
          Sound Blaster cards from the Pro upwards.

          I'd suggest using Wardner as a test case for this option.  If you
          experience problems with the game's sound, increase the FM delay
          and retry.

          N.b. Setting the FM delay to '0' may cause early Sound Blaster
               models to crash Sparcade.
          
    3.3.3 The 'in-game' menus

      The in-game menus may be accesed by pressing the "options" key
      (by default, the TAB key is used).

      Press ESC to exit, or select from the following items:

        Game settings

          Modify settings which appear as DIP switches on the original
          games.

          The settings will not usually take effect until the next time
          you load the game.

        Video settings

          Slow refresh

            On games with borderline performance, you may get smoother
            movement after enabling slow refresh.

          Frame skip

            Allows display updates to be skipped in order to give faster
            performance.  Movement will only be smooth if a frameskip
            value of 0 is used.

          Scan lines

            When enabled, lines of pixels alternate with black lines.  Some
            people seem to like this effect, though personally I find it
            quite ugly.

          Detail level

            When set to 'low', some display features will be disabled in
            order to give better performance.  Currently, this option only
            works with Nemesis.

          N.b. The frame skip and scan lines options don't work on
               Tron, Domino Man or Satan's Hollow.

        Sound settings

          Modify sound parameters such as volume and mixing rate.
 
          Note that only the "master volume" setting is valid when using
          a Gravis Ultrasound.

        Keyboard controls

          Redefine keyboard controls.

        Joystick controls

          Choose fire button mapping for joystick control.

        Switch off game

          Exit from the current game.  Using this option will cause the
          game to act as if it had been switched off, usually losing any
          high score settings.          

        Return to game

          As the name suggests, exits from the menu and returns to the game.
          Pressing the ESC key acts as a shortcut to this option.

 3.4 Default keyboard controls

    The default keyboard controls for Sparcade are:

      cursor keys            - joystick up, down, left and right
      ctrl                   - first fire button
      alt                    - second fire button
      space                  - third fire button
      return                 - fourth fire button
      TAB                    - enter the in-game menu system
      ESC                    - exit from game without switching off
                               (play will resume from where you left it
                               next time the game is started)

 3.5 Bench testing

    New versions of Sparcade incorporate a simple benchtesting facility
    which may be used to measure performance.  While testing is enabled,
    2 numbers are displayed: the lefthand number gives the average frame
    rate and the one on the right gives the current rate.  Values larger
    than 9999 will be displayed in the form xxEy, where the actual frame
    rate = xx * 10^y.

    During test, any speed limiting within Sparcade is disabled and the
    current game runs as fast as it can on your system.

    Two test modes are available:

      Test mode # 1

        Press F10 to test.
 
        In this mode, Sparcade emulates one frame's worth of code
        from the original game, updates the display and repeats.

        Once full speed for a particular game is achieved, it's
        likely that your video card will become the system bottle-
        neck and increasing processor speeds will have very little
        impact on performance.  In effect, you'll end up testing
        your video card rather than Sparcade!

      Test mode # 2

        Press F9 to test.

        In this mode, emulation of the original game code proceeds
        as above but the display will not be redrawn any faster
        than 60 times a second.  This provides a more meaningful
        benchmark than mode # 1 at high frame rates.

    To disable test mode, press either F9 or F10.



-- 4. Troubleshooting and contact information --------------------------------


  For troubleshooting information, refer to the on-line "frequently asked
  questions" documents, accessible via the Sparcade home page.  Please get in
  touch via email if you have a question which is not answered there and I'll
  endeavour to add it to the faq.

  *Please note* - questions which can be answered by reading either this
  documentation or your operating system's manual will not be answered!


  How to contact me:

    Sparcade homepage:            http://www.hubcap.demon.co.uk/sparcade.htm
    Email address for questions:  archelp@hubcap.demon.co.uk
    Email address for comments:   sparcade@hubcap.demon.co.uk


  Please don't quote these addresses in any public forum (e.g. news-
  groups, web pages).  Automatic mailing list programs grab addresses from
  all over the Internet and the resulting spam really spoils my day.

  Some people are already quoting many of my email addresses.  PLEASE STOP!


-- 5. Thanks to... -----------------------------------------------------------


  I'd like to thank the following people for their contributions to both
  this and earlier versions of Sparcade:


    Dave Harlan
    Jim Hernandez
    Phil Morris
    James Rowan
    Lee Taylor

  Also, a big "hi" goes out to:

    Mark Adsett
    Richard Aplin
    Joergen Bech
    Neil Bradley
    Jason Brashill
    Mirko Buffoni
    Chuck Cochems
    James O'Conner
    Sergio Munoz Garcia
    Thierry Lescot
    Alan McCormick
    Gary Pearson
    Lee Tonks
    Mark Vanstone
    Jeff Vavasour
    Dave W

    and anyone on my old Sparcade v1.x mailing list.


-- Appendix A - outstanding issues/problems with Sparcade's emulations -------


  Title                  Outstanding issues
  ----------------------------------------------

  Amidar (Japan)
  Amidar (US)
  Berzerk                    S
  Bombjack
  Centipede                  S
  Commando                   S PG OPL3
  Domino Man
  Frogger
  Galaxian (Midway)
  Galaxian (Namco)
  Hangly Man
  Junior Pacman
  Lunar Rescue               S
  Millipede                  S C
  Moon Cresta (Gremlin)
  Moon Cresta (Nichibutsu)
  MsPacman
  Nemesis                    G
  Pacman
  Pengo
  Pisces
  Salamander                 S G PG OPL3
  Satan's Hollow
  Scramble
  Slap Fight
  Space Attack               S
  Space Invaders             S
  Space Invaders Deluxe      S
  Starforce                  C
  Starforce v2               C
  Super Cobra                C
  Tazmania                   C
  Terra Cresta               S
  The End                    C
  Tron
  Turtles                    C
  Tutankham                  S
  Uniwars                    C
  Wardner                    SB
  War of the Bugs            C
  Vulcan Venture             S G C PG OPL3


Key:

   S = sound support is incomplete or absent
   C = some or all colours may be incorrect
   G = some graphical features may not be fully emulated
  SB = sound support is only available with a Sound Blaster card
  PG = GUS sound support is only partially implemented
OPL3 = a Sound Blaster with an OPL3 chip is required for quality sound
       (later versions of Sparcade will provide emulation for owners
       of pre-OPL3 sound cards)
  

Additional notes:

  Tron, Satan's Hollow and Domino Man

   - After switching to test mode you have to exit and rerun the game.
   - Game state is not saved on these games.  However, high scores
     and game settings are retained as on the original arcade versions.

  Tron

   - Tron is designed for keyboard play at present and is rather awkward with
     a joystick.

  Nemesis and Salamander

   - Some features from one driver are not implemented in the other.
     I keep meaning to get around to merging the two, using the best
     parts of each.

  Salamander

   - Game state is not saved.

  Vulcan Venture

   - The driver has not been fully optimised and is unlikey to run smoothly
     on anything less than a 200MHz Pentium, coupled with a fast video
     card.  Owners of slower systems should adjust the "frameskip" setting
     in the video menu.

   - On some levels, the graphics code will run out of display colours
     resulting in rather odd-looking sprites.

   - Using a cheap Sound Blaster clone may cause some of the music voices
     to be out of tune.  Keeping the mixing rate at 22KHz or below should
     fix the problem.

   - Game state is not saved.


-- Appendix B - missing drivers ----------------------------------------------

  Due to lack of interest, I have abandoned the idea of updating the older
  drivers listed in previous versions of this documentation.

-- Appendix C - update history -----------------------------------------------

v2.23

  Wardner game options fixed
  Centipede scanlines bug fixed
  Original version of Slapfight now supported
  Alcon now supported (US version of Slapfight)
  Commando frame skip bugs fixed

v2.24

  Vulcan Venture / Salamander / Commando sound improved
  Terra Cresta colours + sound fixed
  Joystick button mapping fixed
  Galaxian background noise no longer affected by frame skips
  Sound Blaster mixer settings now correctly retained
  Windows keyboards now supported
  Fire logo now drawn correctly in VGA mode
  Fixed a bug in SVGA monitor mode

v2.25

  Vulcan Venture sprite<->background priorities fixed
  Cured a bug in Vulcan Venture which caused noisy SB sound fx
  Terra Cresta's second fire button can now be redefined
  Terra Cresta's performance improved for slow machines
  Benchtest facility added
  Save game feature added


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

