Virtual 2600, An Atari 2600 Emulator

LOGO
DIVIDER

Contents

Updated 6th November 1997. Previous Updates

Please mail me if you find broken links.

Introduction

Welcome to the Virtual 2600 home page. Virtual 2600 is an emulation of the Atari 2600 game console that currently runs on UN*X/X11, SVGAlib and DOS. Virtual 2600 was formerly known as X2600, and has been renamed as it is no longer restricted to X11. Some features:

The X11 version can optionally use an Xt based GUI. The Athena widgets come with X11, and the FWF widget set is available from sunsite.unc.edu.


Progress

I have added support for a new common file format for 2600 cartridge images that should avoid the problems of the .bin standard. See the proposal at: Common 2600 file format proposal.

Virtual 2600 now runs quite a lot of games. Here are some pictures:

And there is an integrated debugger. which allows single stepping on either the instruction or raster level, along with processor and hardware register inspection/alteration.

The speed on my P-100 it is 47 fps running Pacman, 43 fps with Pitfall!, and 60+ fps running Gorf. I would be interested to see performance figures on RISC machines.


Releases

v0.82 Release

Pre release
This pre release has been made as the 16 and 24 bit display code is not yet mature, but might be useful to some people

v0.81 Release

v2600src-0.81.tar.gz
The full source code
v2600svga-0.81.tar.gz
The Linux SVGAlib binary release
v2600x11-0.81.tar.gz
The Linux X11 binary release

The first release that has DOS support merged in to the main trunk. See the Ports section to get the DOS program files. Also includes a default game, the freeware Okiedokie!

v0.80 Release

This gets a big version number jump as the Linux version now supports sound using Ron Frie's TIA sound library. NAS sound should still work on non-Linux unices.

v0.72 Release

I have included John Richardson's Motif patches. ./configure --with-motif works on my system under Lesstif and the resulting binary runs but will not respond to key presses. The FWF, SVGAlib and DOS ports should be unaffected.

v0.71 Release

Small source code fixes (DOS, X11), does not affect 0.70 binaries below.

v0.70 Beta 3 Release

This release adds more speed, better X11 portability and the ability to run many more games due to improvements in the bank switching code. It is approx 30-50% faster than beta 2.
au.tar.gz
A Linux binary of the NAS audio server. Compiled on kernel 1.3.42.

Beta 2 Release

I have implemented a GNU autoconf front end to make building easier. And I have add sound support using NAS . I have got the pure tone waveforms working, but still need good quality samples of the others. If you can help please mail me. If you have patches that got Virtual 2600 to run on other architectures I would be pleased to recieve them.

Beta 1 Release

I prepared a v1.0b1 release of x2600 based on the version I used to give my project demonstration. It was really only interesting for historical (hysterical?) purposes.

WARNING: This release is not stable without some hacking. I suggest you get the latest release as it is about three times faster.

Remember to shift-click (unless you wanted the files as text:),

x2600src-1.0b1.tgz
The full source code


Tools

Cartridge Reader

When writing a 2600 emulator one problem raises its head, where do I get cart images from? I have already had a few donated, but if you would like to contribute, here is a zip of a cart reader. I haven't tested it myself, but it looks feasible.

cartread.zip
Documentation

I now have cartridge images of plenty of games, and a big thank you to those who contributed. If you find a cartridge that doesn't work then please e-mail me with a description of the problem.

6507 assembler

I have found a 65xx assembler and disassembler.


Documents

Common 2600 (.c26) file format specification
Specifications and example code for the new richer cartridge file format.
Original Specification
You can see my original project specification of how I thought x2600 would work back in 1995.
Final Report
I have my degree class now, so here is my project report as a zipped postscript file. Note that to save server space the appendices are not included. If you would like them mail me and I will send you a copy.
Final Report in Word 6.0 format
I have had several requests for this
Stella Programming Manual
The original manual as given out in 1978/79!
tech2600.txt.gz
A text file on the 2600. I included it on this server as the version on umich is stored as a ".arc" file that not many people can read these days.

I still have unanswered questions. If you know of any documents on the undocumented behaviour then please contact me.


Ports

If you are going to do a port, please keep the name as "Virtual 2600 PLATFORM" where PLATFORM is your portname. How to port Virtual 2600

Useful porting files

Here is a copy of the GNU libc 1.09 getopt function for those without it.

getopt(3)

UNIX

You're looking at it! Linux/X11 is the main development version, there is an SVGAlib port as well. If you have compiled Virtual 2600 on a new platform please send be some mail containing the config.log and config.status files.

Unices that have worked:

DOS

I have ported v0.81 to DOS. It is the same as the Linux v0.81 except for the lack of sound support. I don't really have time to work on sound drivers, but I hope that Dan will be coordinating this effort :)

Dan Boris did a DOS 16bit port of x2600 beta 1 called (confusingly:-) Virtual VCS. It is looking a bit old compared to v0.81. Click here for more info from Dan himself. Dan has expressed interest in taking on the DOS port once more, so hopefully I will be relieved of DOS edit in the near future :)

Win32

I'm looking at using the GNU win32 environment to do the port to when it hits a stable release. GNU Win32 is looking very good at the moment so I will probably give it a go.

Mac

Volunteers wanted. I had some interest, go on Rob, you can do it!

Amiga

It now includes ECS and graphics card support.

Ported by Matthew Stroup. This is an LHA including amiga binaries and sources. You can also visit Mathews Amiga v2600 page.

BeBox

It has been done! by Triquet Benoit . I don't have the source here for some reason.

Others

A NextStep, OS/2 or Archimedes port would be cool.


Net Resources

News groups

For 2600 emulation, the groups to watch are comp.emulators.misc , comp.emulators.announce and comp.emulators.game-consoles .For general 2600 discussion including lots of auctions try alt.atari.2600 and rec.games.video.classic.

IRC

I have recently discovered #emulate on EFNET. I normal use the nick "Opaque". Check out The official #emulate homepage for a list of the main cast.

Links

There are many 2600 related sites, but here are a few I have visited:

Dave's Video Game Classics this includes some 2600 roms.
2600 games
2600 ROM image page
Atari Information
Atari CollectorNet UK
Atari 2600 Information
Atari 2600 Emulation Project
Stella 96 - An Atari 2600 Emulator


Credits

Here are the credits. If I have missed you out it is not on purpose, mail me and I'll put it right.

Alex Hornby
Main author and maintainer.
Ron Fries
Creator of the TIA sound library.
Matthew Stroup
Amiga port maintainer.
Dan Boris
Creator of the DOS port. Also fixed some bugs in the emulation.
Benoit
Is this your surname? The BeBox port.
Mark Szlaga, Paul Janzen, James Burgess, Eric Maillet
SunOS beta testing. (Come on people, this is how we make it work! Alex.)
John Richardson
Added Motif (Lesstif) support, and tested V2600 on a chunky DEC Alpha.
David Firth
Patches to allow operation without the FWF widget set.


Copyright

Virtual 2600 is copyright 1996 & 1997 Alex Hornby under the terms of the GNU General Public License and contains GPLed code from the Free Widget Foundation, and the X64 project ( Noteably the basis for the cpu emulation, and the X based debugger.)


You are visitor Zetnet Counter since 22nd August 1996

Maintained by: ahornby@zetnet.co.uk

Back to: Alex's Home Page

Web Counter Linux Web Watcher