7800 Tutorials and Guides

From 8BitDev.org - Atari 7800 Development Wiki
Jump to: navigation, search

Once you've read through an understood the 7800 Software Guide and 7800 Assembly Quick-Start, the documents listed in this entry will help you master more advanced topics.

MARIA Documents

Atari 7800 Color Documentation covers how the 7800 generates its colors, with specific consideration to color selection for homebrew authors.

Maria Display Structure Overview is a graphical overview of DL and DLL memory structures used to create the display.

Importing Bitmap Graphics into Assembly Source Code with BMP7800 covers the utility from Bob DeCrescenzo (aka PacManPlus)

Maximizing 7800 Sprites discusses techniques that can be used for games that need a maximum number of moving objects.

TIA Sound Documents

Eckhard Stolberg's Atari 2600 VCS Sound Frequency and Waveform Guide covers TIA musical frequencies.

The Perceptual Tuning Primer covers an easy technique to keep TIA music sounding in tune.

The Tune2600 Introduction covers using Thomas Jentzsch's Tune2600 utility to select your notes.

TIA Arpeggio Tips provides helpful information for implementing arpeggios in your music.

6532 RIOT Documents

RIOT limitations and workarounds contains info on using the RIOT RAM and Timers in 7800 mode.

6502 Assembly Documents

The 6502 Instruction Set reference lists 6502 opcodes, valid modes, cycles, etc.

6502 Beginner Tips contains useful information and references if you're new to 6502 assembly.

6502 Advanced Tips contains information for seasoned 6502 coders.

External links:

Opcodes in more detail

Compare Instructions in even-more detail

Advanced Comparisons by Bruce Clark, including alternatives to CMP/CPX/CPY, signed comparisons, and multibyte comparisons

Another overview, this one from NESdev, containing detail on addressing modes and status flags

Assembly Optimizations from NESdev

6502 Shorts by Lee Davison

6502 Routines also by Lee Davison

Tips for Programming by Garth Wilson

Investigating Interrupts, all you need to know and more about interrupts, by Garth Wilson

Self-Modifying Code by Garth Wilson

NMOS 6510 Unintended Opcodes is an excellent overview of the undocumented/illegal opcodes on the 6502/6510.

External Hardware Documents


Atari's internal POKEY C012294 Documentation covers POKEY in formal manner.

Detecting POKEY provides one method of detecting the presence of the POKEY chip.

The POKEY Note Table is a handy guide to note frequencies by Bobby Clark, aka Synthpopalooza. Both 8-bit and 16-bit modes are covered.

7800 games can use the RMT - Raster Music Tracker, originally developed by Radek Štěrba, currently maintained by Vin Samuel, with a 7800 driver port courtesy of Eckhard Stolberg.

ASMA SAP Archive contains SAP format wrapped Atari songs, some of which are SAP wrapped RMT files. You can download a collection of RMT based ASMA SAP files here.

XM, The 7800 Expansion Module

The XM Developers page has the official XM developer information.

The YM2151 Programming page has technical information on the YM2151 and the XM.

The OPM Instrument Collection page is a good source of instruments for the YM2151.

The YM2151 Detection page has code for detecting the YM2151 on the 7800. (XM or stand-alone)


AtariVox for the 7800 covers details for accessing the AtariVox peripheral.

High Score Cart

The HSC Layout describes the NVRAM layout for the HSC Cart.


SNES2Atari contains implementation information for connecting SNES controllers to the 7800, and othr Atari consoles.

Miscellaneous Documents

The A78 Header Specification covers the purpose and various fields in the A78 header.

The Old World A78 Format Primer covers v1.0 to v3.1 A78 header usage, with the intention of clarifying how the header should be parsed by emulators and flash-carts.

Bankset Bankswitching gives an overview of the homebrew bankswitching scheme.

The Atari 7800 BEAD Executable Specification covers how 7800 B78 executables are formatted.

Common Emulator Development Issues covers some of the games that may cause quirks in new emulators.

Introduction to the MAME debugger covers basic usage of the built-in MAME debugger.

Eckhard Stolberg's ATARI 7800 BANKSWITCHING GUIDE is the bank-switching bible for the 7800.

Debugging On Ancient Game Platforms has suggestions on what to do, when your homebrew project isn't going so well.

Creating Bluish Noise With Minimal Compute covers the uses of blue noise, and how to inexpensively generate it on older platforms.