Advertisement
I Robot
I, Robot was an arcade game produced by Atari in 1983. It was designed by Dave Theurer (of Tempest fame) and was a very innovative and creative game. Unfortunately Atari did not sell a lot of them. It is believed that Atari only produced 1000 I,Robot machines. It's failure was due partially to it being to unique for arcade audiences of that time, and partially to technical issues that made the game difficult and expensive to produce. It is notable from a technical standpoint because it was the first arcade game to feature true 3D filled polygon graphics, and the first game to use Hall-effect joysticks.
System Specs

Main Processor: 6809 @ 1.5Mhz

Mathbox Processor: Custom math processor build around four AMD 2901 4-bit chip slices.

RAM:

2K fixed main RAM
6K bank switched main RAM
8K shared with Mathbox
8K shared with video processor in two 4K banks.

ROM:

40K fixed main ROM
48K bank switched main ROM
48K bank switched mathbox ROM
1K x 54bit mathbox micro code ROM

Sound: Quad Atari Pokey

Graphics:

32x32x1 color character display
256x232x6bit bitmap display drawn to by custom polygon drawing hardware.

Links
Jeff Anderson's I, Robot page

An excellent pages with lots of information on the game play. Mainly information on the game play but also some technical and historical information.

John Manfreda's I, Robot page

You can download John's I, Robot emulator from this page as well as VRML models of the various 3D objects in the game.

KLOV

Has some basic information on the game and a few pictures. You can also download the operators manual here.

I, Robot Technical Help Page

A good page with a bunch of technical information on the game including the schematics and ROM images.

Derek Litton's I, Robot page

Has a little bit of information on the game and some pictures.

I, Robot FAQ
Technical Files

The following files where generously provided by John Manfreda

3D Overview - Describes how the 3D object data is stored in memory and how the objects are drawn to the video memory.

Bank Switch - Describes how the processor and mathbox access RAM and ROM

Video Hardware - Describes how the custom video processor works.

Video Hardware (.txt) - Describes the alphanumeric generation and the background video buffer.

Mathbox Source Code - C source code for a mathbox emulator.

Patents

4467412 - Slave processor with clock controlled by internal ROM & master processor

4425559 - Method and apparatus for generating line segments and polygonal areas on a raster-type display

4459578 - Finger control joystick utilizing Hall effect

Development Software

MADS: MADS is a popular 6502 assembler for various Atari systems. You can find the english documetation here.

DASM.ZIP: This is an excellent 6502 cross assembler for MSDOS. It supports pretty much any feature you could want in an assembler including macros, and the ability to produce raw-binary files. Thanks to Bob Colbert for porting this assembler from the Amiga.

2600gfx.zip: These programs allow you to extract graphics from Atari 2600 binary files into a text file, then turn the text file back into a binary. You can use these programs to put your own graphics into 2600 games.

distella.zip: This is an excellent Atari 2600 cartridge disassembler. I creates re-assembleable code, puts in register labels, and automatically separates data from code.

Emulators

One of the easiest ways of doing 2600 development is to simply run you code on an emulator. There are a number of emulators currently available for MSDOS, Windows, and other platforms. For development work I recommend PC Atari by John Dullea.

Here are some links to good 2600 emulators:

Stella

This is a very good emulator that runs on Linux, Unix, MSDOS, Power Mac, and Windows. The page has full source code and binaries.

Virtual 2600

A 2600 emulator for Unix. This is the emulator that my Virtual VCS is based on.

Z26 Home Page

Another good 2600 emulator with source code available.


Virtual VCS V0.60:

Virtual VCS is an MSDOS port of the x2600 VCS emulator (later now known as Virtual 2600) which was written by Alex Hornby. This was the first emulation project I worked on and I was quite proud of the results. I have stopped further development on it since it has been superceeded by other much better 2600 emulators, and because I have moved onto other projects. I am leaving the source and binary here for educational purposes.

Virtual VCS and x2600 are distributed under the terms of the GNU Public Licence.

Click here to download version 0.60 of Virtual VCS.

Click here to download version 0.60 of Virtual VCS source code.

NOTE:

Due to the flood of good Atari 2600 emulators in the past few months I will not be doing any future development on VVCS. I am very glad to have provided the first non-commercial Atari 2600 emulator for MSDOS and to have given a boost to some of the later 2600 authors, who's emulators are now superior to mine.

Schematics

The following are schematics that I have traced out by hand. I cannot guarantee that these schematics are accurate, or that they are the same for all versions of a piece of equipment. These where all draw with Orcad, exported to a DXF file, imported into Corel Photopaint, then exported as a GIF.

Starpath/Arcadia Supercharger

Logic

Atari 2600 VCS Rev 13:

Audio/Video

Main Logic

Ports/Switches

Power/Clock