VSS V0.71 (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: Keita Iida (Keita/Pooka/Fygar) for his enthusiasm for the 5200 beta testing and general encouragement. Markus Gietzen for ideas on improving the emulation. Bo Krogsgaard (Therion23) for his support of the project and his ASM coding and beta testing. Kevin Horton for figuring out the Bounty Bob bank switching. Ron Fries for his excellent pokey sound library. Jeffry Johnson (calamari) for help in beta testing (Lepper,Conjurer) for help in beta testing Erica (unico) for putting up with me while I was working on this ;) and everyone on EFNET IRC channels #emulate and #rgvc. --------------------------------------------------------------------------- Copyright: VSS is copyright 1996,1997 by Daniel Boris. POKEY Sound is copyright 1996 by Ron Fries. VSS is free as long as it is not used in a commercial matter and not altered in any way. The contents of this archive should not be added to or changed in any way. I maintain the right to forbid the use of the emulator at any time. I am not responsible for any damage caused by the use of this program. This program is distributed "as-is". I make no garuntees as to it's accuracy, performace, or compatibility with the users hardware. --------------------------------------------------------------------------- Introduction Virtual Super System (VSS) is an Atari 5200 Super System emulator for MSDOS. VSS needs a 486 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 Cyrix 133Mhz machine with PCI video card it runs at normal speed with sound and no frame skipping. 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/ POKEY sound emulation was done with POKEY sound V1.2 by Ron Fries. ---------------------------------------------------------------------------- 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. ------------------------------------------------------------------------------------ Sound Setup: Version 0.71 of VSS now supports sound on Sound Blaster and compatible cards. A major bug in version 0.70 prevented sound from working for most people. This bug has been corrected so the sound should work much better. The sound works ok with my Pro Audio Spectrum 16, and I have had reports that it works of with Sound Blaster 16, and AWE32 sound cards. To get the sound working please take the following steps: 1. Be sure that the BLASTER enviornment variable is set. See you sound cards documentation for more information on this. 2. Run the emulator. It will attempt to detect you sound card automatically. If this does not work goto step 3. 3. Run SNDSET.EXE. This is a sound setup program that comes with Allegro and should help you setup VSS for use with you sound card. For more information on SNDSET.EXE see the documentaion in SNDSET.TXT. If this does not work goto step 4. 4. Rename the file called SOUND to SOUND.CFG. Using the information provided in SNDSET.TXT modify this file with the configurations for your sound card. ----------------------------------------------------------------------------- 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. -nosound - Disables sound emulation. -buf=# - Sets the size of the sound buffer. This must be at least 256 and the default is 1000. The bigger the buffer, the better the sound quality but the slower the emulation. -bb - Uses Bounty Bob bankswitching. When you use this option you must still provide a filename although it will be ignored. With this option the emulator will load the following files: BB_A0_BF.bin - fixed bank at A000 to BFFF BB_40_4F.bin - 4 banks at 4000 to 4FFF BB_50_5F.bin - 4 banks at 5000 to 5FFF ---------------------------------------------------------------------------- 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 Q = Leave the emulator F1 = Start key F2 = Pause key F3 = Reset key F4 = Enter debugger ---------------------------------------------------------------------------- Debugger H = display help ---------------------------------------------------------------------------- Limitations - no GTIA graphics modes 16,17,18 - no ANTIC mode 3 (I have never seen it used) - vertical fine scrolling not implemented in every mode - no mode 15 alizing Version History: v0.71: 3/5/97 - Fixed a major bug in the sound card initilization - Fixed a bug in the trigger handling with the mouse - Fixed bugs in Debugger. Program can now be stopped and restarted more the once. - Added some error handling to the debugger commands. v0.70: 2/18/97 - Added horizontal fine scrolling - Added vertical fine scrolling to mode 4 and 5 - Added support for Bounty Bob bankswitching - Added sound support - Size of cart images is now checked - Many speed optimizations - Fixed handling of bit 6 in SKSTAT - ANTIC writes are now fully decoded - The random number generator is now seeded properly v0.60: 10/15/96 - Ported to DJGPP for increased speed. - Fixed problems with frame skip mode. - 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