Virtual 2600 Amiga (v2600), An Atari 2600 Emulator ================================================== Amiga version 0.83. This is BETA software. Please report any bugs. DESCRIPTION =========== Virtual 2600 Amiga is an emulation of the Atari 2600 video game system, otherwise known as the Atari VCS, or Video Computer System. It can read ROM files of the following types: .bin binary images, Commodore .prg format files, Activision Action Pack .bin files, and the new .c26 Common 2600 file format files. It uses regular Amiga joysticks, and can use the mouse to emulate paddles. Many existing Atari 2600 cartridges can be used with this emulator. Even sound is supported, more or less... REQUIREMENTS ============ Any fast Amiga, 020 or better, OS 3.0 or better. Fast RAM recommended. The faster the Amiga, the better. Atari 2600 ROMs (one included: Okie-Dokie) USAGE ===== Double-click on the v2600 icon to bring up the window. The Command Line Interface has been removed. Too bad, eh? ;^) Load ROM Click on the "Load ROM" button to bring up a file requester. It will only display files that are valid with v2600. When you select a ROM, the filename and path will be shown in the box next to the "Load ROM" button. You can just type in the name of a ROM you want to load in this box if you don't care to use the file requester. Be careful what you load, since there is no way to thoroughly check that you are using a real Atari ROM. Loading other files could crash your computer. Refresh Rate This will set how often the screen will be updated. For example, if you set the Refresh Rate to 2, it will only refresh every-other-frame. This can speed up the graphics rendering, but can also cause some games to look pretty bad. System Type This will allow you to emulate either a PAL or NTSC Atari. Left Controller Right Controller Paddle Control This allows you to select what type of controller the left and right players will use. If you select "Joystick", then a standard Amiga joystick may be used. In case you didn't already know, Amiga joysticks are compatible with Atari joysticks, so you can use the original Atari joysticks for a really authentic (not to mention uncomfortable) experience. The "Left Controller", which is used by "Player 1" in most games, uses the joystick port (Port 1) on your Amiga. To use the "Right Controller", you must remove your mouse from the mouse port (Port 0), and replace it with a joystick. If you want to play a paddle game, you can change to "Paddle". The Amiga mouse is used to emulate an Atari paddle. Real Atari paddles are not supported at this time. If you set the "Paddle Control" to "Use Mouse X", then you can move the mouse left and right (along the X-axis) to emulate a paddle. If you change the "Paddle Control" to "Use Mouse Y", then you can move the mouse up and down (along the Y-axis) to emulate a paddle. Atari racing paddles and keyboard controllers are not supported at this time. Bank Switching The Atari could only address about 6k from a cartridge ROM, so for games requiring more memory, special hardware is used to "switch banks" of ROM memory. Since this is done with hardware, emulating this can be tricky, because there is no way to determine if a ROM requires this. It was up to the game manufacturer to decide what type of bank switching hardware they wanted to use. Thankfully there were a few companies that stuck with a standard chip. The bank switching schemes emulated are Atari 8k, for most 8k Atari-manufactured ROMs, Atari 16k for most 16k Atari-manufactured ROMs, Parker 8k for most 8k Parker-Brothers-manufactured ROMs, CBS for most CBS-manufactured ROMs, and Atari Super Chip for Atari-manufactured ROMs that use it. If the ROM you want to play is 6k or less, you can most likely choose NONE for no banking, since it's not necessary for small ROMs. It's a guessing game for other ROMs, though. Unfortunately, large Activision ROMs are not yet supported. Currently, bank switching is fairly unstable. Choosing the wrong bank switching method could lock-up or crash your computer. Video Output This allows you to select the video output mode of the emulator. "Workbench Screen" opens a window on the Workbench. The more colors your Workbench can display, the better. "Custom Screen" opens a separate screen for output. Both of these modes use the WritePixelArray8() chunky-to-planar routine. "Fast & Ugly" uses a custom screen, and uses a custom c2p routine. It's the fastest method, but it can be flickery. Sound Output If you check this box, Atari sound will be emulated. This will slow down the emulator considerably, so only use it if you have a really beefy machine. Only pure sounds are supported. White noise, which is used in explosions and other sound effects, is not emulated. This will make some games sound bad. Sorry. Start Press the "Start" button to play the selected ROM. If you haven't selected a ROM, the "Start" button will be "greyed-out", and won't function. When you press "Start", all the current settings are saved to a file called "v2600.opts" in the directory that v2600 resides in. KEYBOARD CONTROL ================ For the sake of faster emulation and cleaner code, keyboard emulation of the joystick has been removed. It will only be added if there is a big demand for it. CONSOLE SWITCHES ================ The Atari 2600 has several switches on the console which perform various functions. The keyboard equivalents are: F1 or R Reset F2 or S Select F3 or B Color/BW F4 Left Player Amateur (B on some Ataris) F5 Left Player Pro (A on some Ataris) F6 Right Player Amateur (B on some Ataris) F7 Right Player Pro (A on some Ataris) ESC or F10 Quit COPY POLICY =========== The original Virtual 2600 is copyright 1995/96 Alex Hornby. Virtual 2600 Amiga is copyright 1998 Matthew Stroup. Virtual 2600 is free software distributed under the terms of the GNU General Public License. This means that the source code needs to be available. To cut down on archive size, I will make the source available on my web page in a separate archive. AUTHORS ======= Virtual 2600 Amiga: Matthew Stroup stroupm@jps.net http://www.jps.net/stroupm/v2600.htm When I saw that the Virtual 2600 code was available to be ported, I thought it would be a challenging project. Unfortunately, it runs about 4-5 fps on my 50MHz 68030. Most of the speed problems stem from the fact that Virtual 2600 was intended to run on PC hardware. A great deal of time is spent emulating PC hardware, not an Atari 2600. Both my code and Alex Hornby's original code are in beta stages. Later versions will hopefully be faster. Amiga v2600 was compiled using SAS/C 6.58. The source code for the Amiga version is available on my web page, as per the GNU public license. To get the original source code, or source code for other platforms, check the Virtual 2600 home page. Virtual 2600: Alex Hornby ahornby@zetnet.co.uk http://www.users.zetnet.co.uk/ahornby/v2600.html The original Virtual 2600 is the result of Alex Hornby's 3rd year university project. His aim is to preserve old computer games that would otherwise be lost to the world. IMPORTANT NOTES =============== Please don't e-mail me asking for ROMs, because I won't give them to you. Someone has uploaded a file to Aminet that includes nearly every Atari 2600 ROM in existence. I will put a link to that file on my web page. I highly recommend only using the ROMs that you actually own. Doing otherwise can be copyright infringement, although some of the copyrights for Atari 2600 software have expired long ago. I have included a freeware game, OkieDokie, with the permission of Bob Colbert and Retroware. If you have any comments, suggestions, or bug reports, please send me e-mail at stroupm@jps.net. I'll try to get back to you as soon as possible. I no longer receive e-mail at stroupm@inreach.com or stroupm@csus.edu. TROUBLESHOOTING =============== If a game doesn't seem to be working, it's probably because you selected the wrong banking type. It is possible that your memory is getting trashed, and v2600 may freeze up, requiring a reset. This is apparently caused by faulty bank switching, which has been noted by the original author. I have not, however, had any Enforcer hits. It would be a good idea to reset your Amiga after using v2600, though, and don't do anything important in the background. You've been warned! ;^) Some games, such as Activision's Pitfall II, had custom hardware in the cartridge, which makes emulation impossible. Although many games work, there are quite a few that won't. Your best bet is to just experiment. Have fun! THINGS TO COME (MAYBE) ====================== * Support for real Atari paddles. * Support (real or emulated) for Atari racing controllers. * Support (real or emulated) for Atari keyboard controllers. * Make it faster. * Improve sound emulation. * Eliminate hardware banging for compatibility with future Amigas.