Difference between revisions of "7800 Tutorials and Guides"
(→External Hardware Documents) |
|||
| Line 2: | Line 2: | ||
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. | 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. | ||
| + | ==7800 Development Documents== | ||
| − | ==MARIA | + | ===General Topics=== |
| + | |||
| + | The Atari authored [[7800 Software Guide]] is still the best place for learning about the 7800 hardware and development. | ||
| + | |||
| + | The [[A78 Header Specification]] covers the purpose and various fields in the A78 header. | ||
| + | |||
| + | The [https://atariage.com/forums/topic/333208-old-world-a78-format-10-31-primer/ 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. | ||
| + | |||
| + | See [[The SuperGame Format]] for a brief synopsis of how to create games compatible with the SuperGame mapper, a format created by GCC/Atari and still in use by homebrews today. | ||
| + | |||
| + | [[Introduction to the MAME debugger]] covers basic usage of the built-in MAME debugger, an indispensable tool for the 7800 coder. | ||
| + | |||
| + | [[Debugging On Ancient Game Platforms]] has suggestions on what to do when your homebrew project isn't going so well. | ||
| + | |||
| + | ===MARIA Focused=== | ||
[[Atari 7800 Color Documentation]] covers how the 7800 generates its colors, with specific consideration to color selection for homebrew authors. | [[Atari 7800 Color Documentation]] covers how the 7800 generates its colors, with specific consideration to color selection for homebrew authors. | ||
| Line 15: | Line 30: | ||
[https://7800.8bitdev.org/images/3/3c/7800_Software_Guide_-_The_Podcast_-_Graphics_Overview%2C_DLs%2C_DLLs%2C_etc.mp3 The 7800 Software Guide Podcast] is a bit of fun. It's an AI podcast generated with [https://notebooklm.google/ Google's NotebookLM tool]. | [https://7800.8bitdev.org/images/3/3c/7800_Software_Guide_-_The_Podcast_-_Graphics_Overview%2C_DLs%2C_DLLs%2C_etc.mp3 The 7800 Software Guide Podcast] is a bit of fun. It's an AI podcast generated with [https://notebooklm.google/ Google's NotebookLM tool]. | ||
| − | ==TIA Sound | + | ===TIA Sound=== |
Eckhard Stolberg's [[Atari 2600 VCS Sound Frequency and Waveform Guide]] covers TIA musical frequencies. | Eckhard Stolberg's [[Atari 2600 VCS Sound Frequency and Waveform Guide]] covers TIA musical frequencies. | ||
| Line 25: | Line 40: | ||
[[TIA Arpeggio Tips]] provides helpful information for implementing arpeggios in your music. | [[TIA Arpeggio Tips]] provides helpful information for implementing arpeggios in your music. | ||
| − | ==6532 RIOT | + | ===6532 RIOT=== |
[[RIOT limitations and workarounds]] contains info on using the RIOT RAM and Timers in 7800 mode. | [[RIOT limitations and workarounds]] contains info on using the RIOT RAM and Timers in 7800 mode. | ||
| − | ==6502 Assembly Documents== | + | ==General 6502 Assembly Documents== |
| − | |||
The [[6502 opcodes for hackers]] reference lists 6502 opcodes, valid modes, cycles, useful illegal opcodes, etc. | The [[6502 opcodes for hackers]] reference lists 6502 opcodes, valid modes, cycles, useful illegal opcodes, etc. | ||
| Line 102: | Line 116: | ||
==Miscellaneous Documents== | ==Miscellaneous Documents== | ||
| − | |||
| − | |||
| − | |||
| − | |||
[[Bankset Bankswitching]] gives an overview of the homebrew bankswitching scheme. | [[Bankset Bankswitching]] gives an overview of the homebrew bankswitching scheme. | ||
| Line 113: | Line 123: | ||
[[Common Emulator Development Issues]] covers some of the games that may cause quirks in new emulators. | [[Common Emulator Development Issues]] covers some of the games that may cause quirks in new emulators. | ||
| − | [[ | + | Eckhard Stolberg's [[ATARI 7800 BANKSWITCHING GUIDE]] is the bank-switching bible for the 7800. |
| − | |||
| − | |||
[[Creating Bluish Noise With Minimal Compute]] covers the uses of blue noise, and how to inexpensively generate it on older platforms. | [[Creating Bluish Noise With Minimal Compute]] covers the uses of blue noise, and how to inexpensively generate it on older platforms. | ||
Latest revision as of 18:54, 3 January 2026
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.
Contents
7800 Development Documents
General Topics
The Atari authored 7800 Software Guide is still the best place for learning about the 7800 hardware and development.
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.
See The SuperGame Format for a brief synopsis of how to create games compatible with the SuperGame mapper, a format created by GCC/Atari and still in use by homebrews today.
Introduction to the MAME debugger covers basic usage of the built-in MAME debugger, an indispensable tool for the 7800 coder.
Debugging On Ancient Game Platforms has suggestions on what to do when your homebrew project isn't going so well.
MARIA Focused
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.
The 7800 Software Guide Podcast is a bit of fun. It's an AI podcast generated with Google's NotebookLM tool.
TIA Sound
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
RIOT limitations and workarounds contains info on using the RIOT RAM and Timers in 7800 mode.
General 6502 Assembly Documents
The 6502 opcodes for hackers reference lists 6502 opcodes, valid modes, cycles, useful illegal opcodes, 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
General
The Atari 7800 Hardware Interfacing Guide For Programmers page is a good primer for programmers aspiring to working with hardware.
POKEY
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
AtariVox for the 7800 covers details for accessing the AtariVox peripheral.
The Speakalator Web App can be used for authoring AtariVox phrases. It requires a chromium engine based browser to connect to your AtariVox via a TTL serial port.
High Score Cart
The HSC Layout describes the NVRAM layout for the HSC Cart.
SNES2Atari
SNES2Atari contains implementation information for connecting SNES controllers to the 7800, and othr Atari consoles.
Miscellaneous Documents
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.
Eckhard Stolberg's ATARI 7800 BANKSWITCHING GUIDE is the bank-switching bible for the 7800.
Creating Bluish Noise With Minimal Compute covers the uses of blue noise, and how to inexpensively generate it on older platforms.