Difference between revisions of "7800 Tutorials and Guides"

From 8BitDev.org - Atari 7800 Development Wiki
Jump to: navigation, search
Line 57: Line 57:
[http://wilsonminesco.com/SelfModCode/ Self-Modifying Code] by Garth Wilson
[http://wilsonminesco.com/SelfModCode/ Self-Modifying Code] by Garth Wilson
[https://www.esocop.org/docs/MOS6510UnintendedOpcodes-20152412.pdf NMOS 6510 Unintended Opcodes] is an excellent overview of the Undocumented Opcodes on the 6502/6510.
[https://www.esocop.org/docs/MOS6510UnintendedOpcodes-20152412.pdf NMOS 6510 Unintended Opcodes] is an excellent overview of the undocumented/illegal opcodes on the 6502/6510.
==External Hardware Documents==
==External Hardware Documents==

Revision as of 23:16, 28 August 2020

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

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.


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.

Miscellaneous Documents

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

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

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.