Tech Section¶
Notes from the Tech Section of the podcast are here. I’m also working on a set of development notes as I attempt to write my own game from scratch to demo some of the features of the system.
My Games¶
Air Defense¶
An incomplete game, inspired by Sabotage on the Apple ][ that I started work on back in 1984 or 1985. More info…
My Utilities¶
ATRCopy¶
Python code to list files on and extract files from Atari 8-bit emulator disk images.
Featured on the Podcast¶
Star Raiders¶
Technical notes on my Retro Challenge attempt to speed up the explosions in Star Raiders. Subsequent to my attempt, the source code was found and digitized, and others completed the work I was aiming to do. More info…
Featured in Episode 1
Shamus¶
Some raw technical discussion of the Shamus disassembly and display list structure. More info…
Featured in Episode 17
Hardware¶
MOS 6502 at 1.79 MHz (NTSC), 1.77 MHz (PAL)
Max 64k RAM addressable at any given time (bank switching was used to address more RAM
POKEY
4 channel audio processor
Keyboard scanning
Serial I/O
ANTIC
2D frame buffer for text and bitmapped graphics
Horizonal/vertical fine scrolling
Display list interrupt (i.e. horizontal blank interrupt)
CTIA/GTIA
Player/missile (sprite) overlay with collision detection
SIO Bus
Serial bus, 13 pin connector, up to 19200 baud (bi-directional)
References
Graphics Modes¶
ANTIC Mode |
BASIC Mode |
Description |
Type |
Colors |
02 |
0 |
40 x 24 |
text |
2 |
03 |
n/a |
40 x 19 |
text |
2 |
04 |
n/a |
40 x 24 |
text |
4 |
05 |
n/a |
40 x 12 |
text |
4 |
06 |
1 |
20 x 24 |
text |
5 |
07 |
2 |
20 x 12 |
text |
5 |
08 |
3 |
40 x 24 |
graphic |
4 |
09 |
4 |
80 x 48 |
graphic |
2 |
10 |
5 |
80 x 48 |
graphic |
4 |
11 |
6 |
160 x 96 |
graphic |
2 |
12 |
n/a |
160 x 192 |
graphic |
2 |
13 |
7 |
160 x 96 |
graphic |
4 |
14 |
n/a |
160 x 192 |
graphic |
4 |
15 |
8 |
320 x 192 |
graphic |
2 |
15 (GTIA 1) |
9 |
80 x 192 |
graphic |
16 luminances of one hue |
15 (GTIA 2) |
10 |
80 x 192 |
graphic |
9 |
15 (GTIA 3) |
11 |
80 x 192 |
graphic |
16 colors with same luminance |
For a reference on Graphics 7+ (or Antic mode 14), see ANALOG Magazine Issue 7.
Player/Missile Graphics¶
4 sprites, 8 bits wide and 256 bytes tall
4 missiles, each 2 bits wide and 256 bytes tall
Can be combined into 5th player
Each player has independent color
Horizonal position controlled by setting value in register
Vertical position under user control by setting bytes in the player memory
Hardware collision detection between:
player/player
player/missile
player/background
missile/background
For more information, see De Re Atari, Chapter 4.
Useful Links¶
Emulators¶
atari800, a cross-platform emulator
Altirra, Windows only, but has a great debugger
Atari800MacX for Mac OS X
Archive Sites¶
Atari 8-bit Forever: http://gury.atari8.info/ including links to lots of related reviews of games
Utilities¶
Disk Utilities¶
Atari disk format: http://atari.kensclassics.org/dos.htm
FC5025: I added double density support to the FC5025 driver software, but do not have permission to release it since I’m unsure of the license of the original code. I will release a patch file if anyone is interested.
Debuggers¶
Reading¶
Halcyon Days, James Hauge’s Interviews with Classic Game Programmers http://www.dadgum.com/halcyon/index.html
Full text of Atari magazines: http://www.atarimagazines.com/
Vintage Game Consoles chapter on Atari 8-bits http://books.google.com/books?id=wZnpAgAAQBAJ&pg=PA55&source=gbs_selected_pages&cad=2#v=onepage&q&f=false
Info on prototype and uncompleted hardware and software: http://www.atariprotos.com/8bit/8bit.htm
Hardware Hacking¶
attach db-9 port to keyboard! http://wiki.samygo.tv/index.php5/Atari800_emulator