VSS V0.60 (Virtual Super System) copyright 1996 by Daniel Boris (dan.boris@coat.com) --------------------------------------------------------------------------- Acknowledgments: I would like to thank the following people for their help and encouragement: Bo Krogsgaard (Therion23) for his support of the project and his ASM coding and beta testing. Keita Iida (Keita/Pooka/Fygar) for his enthusiasm for the 5200 beta testing and general encouragement. Markus Gietzen for ideas on improving the emulation. Erica (unico) for putting up with me while I was working on this ;) and everyone on EFNET IRC channels #emulate and #rgvc. --------------------------------------------------------------------------- Introduction Virtual Super System (VSS) is an Atari 5200 Super System emulator for MSDOS. VSS needs a 386 or greater processor with 1 Meg of memory and a standard VGA card to run. The emulator is still a little slow, so the faster the processor the better. On my 486DX2/66, with a frame rate of 4 , the emulator will run some games at almost normal speed. The current version of Virtual Super System can be found at: http://www.geocities.com/SiliconValley/9461 VSS was written using DJGPP a free 32bit C/C++ development system: http://www.delorie.com/djgpp/ VSS uses Allegro, an excellent game programming library for djgpp by Shawn Hargreaves: ftp://x2ftp.oulu.fi/pub/msdos/programmer/djgpp2/ ---------------------------------------------------------------------------- Setup Before you can run VSS you need a copy of the 5200 BIOS ROM. For copyright reasons I am not including this ROM image in this archive, but it can be found at: http://www.nfinity.com/~swhalen/node99/5200.html Once you get the image rename it to 5200.bin and put it in the same directory as the emulator. If you are running under MSDOS you must copy the file CWSDPMI.EXE to your root directory. You will also need cartridge images, but again for copyright reasons I cannot provide these. PLEASE DO NOT E-mail me asking for ROM images! All messages asking for ROM images will be promptly deleted. The following games run almost perfectly: Pac-man,Ms. Pac-man, K-razy Shoot Out, Frogger, Frogger II, Jungle Hunt Astrochase, Berzerk, Blue Print, Centipede, Defender, Gorf, Gremlins, Kaboom, Missile Command, Pengo, Space Dungeon, Super Breakout A note on bad images: If an image does not run on the emulator it is possible that the ROM image is bad. I had a working Q-Bert image, and got another one that worked OK, but the top of the screen was messed up. If the Atari logo comes up, and the title of the game is corrupt or missing, then the image is probably bad. If an image crashes out to the debugger, then the image is probably bad. Also note the Miner 2049er uses a bank switching scheme as copy protection, so it will not run on the emulator. ----------------------------------------------------------------------------- Usage: 5200 file -[options] file - 5200 file to load. This must be a raw binary file, either 16K or 32K long. -frame=# - Sets frame skip rate. The emulator will display 1 out of every # frames. The higher the number, the faster the emulation, but more frames are skipped. I find that a frame rate of -frame=4 works good for most games. Some games display things every other frame, (e.g. Pengo, Wizard of Wor). In this case an even frame skip number will not work, but an odd number will. Please note that due to the way frame skipping is handled, the color scrolling Atari logo will appear to scroll at the same speed, but it will disappear faster. -debug - Start emulator in debug mode. -mouse=# - Enables joystick emulation via the mouse. # is the sensitivity of the mouse from 1 to 10. A value around 2 seems to work OK. Please note that this sensitivity value is totally different then the one in version 0.5. The 5200's joysticks are analog as opposed to digital. Most games treat them as digital sticks, and these games work fine with the keyboard controls. Some games like Missile Command, and Gorf, use the 'analogness' of the sticks and work better with the mouse. -top=# - sets the first scanline to display on the screen. Default is 24. The 5200 screen is only supposed to be 192 lines high, but some games stretch this beyond 200, thus the emulator will cut off the bottom of the image. The image can be shifted up and down with this setting. -pengo - Enables special keyboard joystick emulation for use in Pengo, Super Breakout, Missile Command and probably some others. -stickd - Enables a real joystick to be used in digital mode. This mode works good for most games. -sticka - Enables a real joystick to be used in analog mode. The first time you use this option you will be prompted through calabrating your joystick. Once you have done this once, it will be saved in a file called stick.ini. If you ever need to re-calibrate the stick start the emulator with both the -sticka and -cal options. -cal - Forces re-calibration of the joystick. This must be used in conjunction with -sticka or -stickd. ---------------------------------------------------------------------------- Controls Arrow keys = Joystick 1 E,S,X,F = Joystick 2 Alt = Fire A Stick 1 Ctrl = Fire B Stick 1 Space = Fire A Stick 2 1-9,0 = keypad number keys F6 = # key F5 = * key ESC = Leave the emulator F1 = Start key F2 = Pause key F3 = Reset key F4 = Enter debugger ---------------------------------------------------------------------------- Debugger H = display help ---------------------------------------------------------------------------- Limitations - No sound emulation - No Horizontal or Vertical Fine Scroll - GTIA graphics modes 16,17,18 - ANTIC mode 3 (I have never seen it used) Version History: v0.60: 11/7/96 - Ported to DJGPP for increased speed. - Fixed problems with frame skip mode. - Fixed a few screen drawing bugs - Replaced interactive debugger with a new one with more features - Added joystick emulation. - Added second joystick emulation keyboard. - Fixed bug that locked up Star Raiders. v0.50: 9/03/96 First Public Release