Dan Boris's

Atari 7800 Tech Info Page

The Atari 7800 was the followup to Atari's less then successful 5200. The 7800 was developed in 1984 but was shelved by Atari until 1986 when they brought it out to compete with the Nintendo Entertainment Systems (NES). Were as the 5200 borrowed it's technology from the 8-bit computer line, the 7800 was an entirely new design, but was still backwards compatible with the Atari 2600. The 7800 has all of the 2600 hardware in it, but when running in 7800 mode it uses an entirely different graphics chip (the MARIA) and has expand RAM and cartridge space.


Emulation:

I have recently written an Atari 7800 driver for the multi-system emulator MESS. This driver will be included in the next public release.

While you wait for the next release of MESS you can now download my standalone 7800 emulator for MSDOS. This is a standalone version of my MESS code that I hacked together while the next version of MESS is still in development. It's not perfect and it's a little slow, but it is playable. Due to copyright reasons, I cannot provide rom images. PLEASE DO NOT E-mail me looking for ROM images. All messages looking for ROM images will be promptly deleted. I will do my best to answer all other e-mails.

7800 ROM images can be found at: http://www.emuviews.com

What's new in V0.12:

- now shuts down properly when started with -nosound
- Fixed VBLANK timing. Foodfight now works.
- Added support for 48K carts
- Added pause button
- Fixed holey DMA support. Lucasfilm logo is now better
- Replaced 6502 CPU core with Neil Bradley's ASM 6502 core. (Increased speed, and accuracy)
- Fixed handling of fire buttons.
- Implemented Debugger. (Only available in debug version).

Click here to download V7800 V0.12.

Debug Version:

For anyone interested in doing some 7800 game development I have added a debugger to v7800. To maintain the performance of the emulator I have made a separate version of it with the debugger enabled.

I am currently finishing up the debug version and I should be releasing it soon.


System Specs:

Processor: 6502 (note: This is Atari's custom 6502 which can be halted to allow other devices to control the bus)

Speed: 1.79Mhz, drops to 1.19Mhz when the TIA or RIOT chips are accessed

RAM: 4K

ROM: built in 4K BIOS ROM, 32K Cartridge ROM space without bankswitching

Sound: TIA custom sound chip, same as the 2600

Graphics: MARIA custom graphics controller, 320x200 resolution with 256 colors.

I/O: Joystick and console switch IO handled byte 6532 RIOT and TIA

Ports: 2 Joystick ports, 1 Cartridge port, 1 expansion connector, Power in, RF output


Links

The Atari 7800 Tech Center

This site has a collection of 7800 technical information gathered from all over the net. I also has a good document that address the "encryption problem", see below for more on that.

AtariHQ's 2600/7800 section

Here you will find the Atari 7800 FAQ, an archive of Atari 7800 screenshots, and some pictures of the 7800 hardware.

Also check out my Atari 2600 page and 6502 processor page for more useful information.


The Encryption Issue

There has been a myth surrounding the Atari 7800 for some time that the 7800 carts were encrypted. This has scarred a lot of people off attempting to emulate the system since there was no info available on this encryption. It turns out that this is basically false, the carts are not encrypted.

What started this rumor was the fact that all the 7800 carts have a validation key in them. There were two purposes for this key, the first was to allow the bios in the 7800 to determine if the cart in the slot was a 2600 cart or a 7800 cart. The second purpose was to prevent unauthorized companies making carts for the 7800 without Atari's approval. The key works like this; when the system starts up the bios performs some sort of mathematical algorithm using the data in the cart and the encryption key. If this algorithm yields a valid result, then the cart must be a 7800 cart and the system is locked into 7800 mode and the cart it executed. If the algorithm fails the system is locked into 2600 mode and the cart is executed.

This validation key in no way interferes with emulation. The validation code in the bios runs on the emulator and gives a valid result just like in a real 7800. What the key does prevent is someone making new 7800 carts that can be run on unmodified 7800's.

For more information on the encryption algorithm check out the Stella Mailling List archive. Check out the messages in November and December of 1998.


Technical Files

Cartridge Pinouts - This file describes the pinout of the cartridge port and the function of each of the pins

Memory Map - This file describes the memory map of the 7800.

Video System - A description of how the 7800 video systems works.

Cartridge List - This is a list of the 7800 cartridges I have opened up and what type the cart is (normal, Pokey, Supercart, etc)

7800 EPROM conversion - This document was written by Bruce Tomlin and describes how to modify the 7800 so that the BIOS ROM can be replaced with an EPROM.


Source Code

7800 BIOS - This is the source code for the 7800 BIOS ROM. It was originally commented by Keith Henrickson, and further commented by myself.


Development Software


Return to my Home Page.

dboris@home.com / Dan's Home Page / Dan Boris

Last modified 10/09/99