Atari Forever

power without the price

Virtual 2600 Amiga (v2600), An Atari 2600 Emulator
Amiga version 0.83. This is BETA software. Please report any bugs.

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

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)

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.

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.

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

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.

Virtual 2600 Amiga:
Matthew Stroup
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
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.

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 I'll try to get back to you as soon as
possible. I no longer receive e-mail at or

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!

* 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.

© marko latvanen / atari forever 1999-2006