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


../_images/air_defense.png

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.

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.