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