programmer’s log – Parsec 2000, #1 an over view

Parsec v. Swoopers on 2600

I have decided to log the creation process of my Parsec 2000 for the Atari 2600 here on this blog.

First, I have become very impressed with the architecture of the Atari 2600. You have to take into consideration this machine was released in 1977. That means it was being created in 1975, 76. If you lived that long, think back to the level of tech available in 1976 (if you haven’t, look it up on Wikipedia). THIS was the current level of tech in 1976. (below)


In comes the Atari VCS (or Sears Video Entertainment System) with it’s 128 colors, two channel sound and all us kids were just wowed! I remember playing Target Fun on the Sears VES and being blown away! Pong was so 1975, I wanted a Sears VES! Oddly, I didn’t get one till after I got my Atari 800XL but I digress.  Here is what Wikipedia has to say about it.

The major components of the 2600 in a nutshell.


The limitations on graphics have been far less restrictive then I initially thought. Let me say, the designers put a lot of flexibility into the system.

The TIA chip is the chip that produces the screen on the TV. TIA playfield (background) has two color; foreground and background from a palette of 128 colors. But each scan line ( there are 88 scan lines going down the screen) can have it’s own foreground and background color. this gives the rainbow effect you have seen on many Atari 2600/5200/8-bit computers. The playfield can be mirrored with the right side reflecting the left or as a single scan line long playfield. Scrolling up and down a playfield larger than the screen can be accomplished easily (see River Raid). Left and right scroll isn’t as easy if it’s larger than the screen. Left/Right scroll the size of  the screen where you just loop the screen is fairly easy though.

TIA has two 8 bit wide, full screen long players (now commonly known as sprites) with two corresponding missiles and a 2×2 ball. These player/Missiles/Ball can move independently of the playfield with their colors (from the 128 color palette) and location not dependent of the playfield. These sprites can be re-positioned each  scan line giving the illusion of more sprite objects (the down side is a flicker if more than two sprites occupy the same scan line. Watch a game of Ms. Pacman for an example).

The down side of the TIA chip is that it is fairly stupid. You have to stuff the information for EACH scan line from the memory into TIA every time a screen is drawn (Which is 60 times a second in the US.) This ties up a lot of CPU time. In later Atari systems a co-processors was added for this task to take some of the burden off the CPU (ANTIC in the 5200/8-bit computers, MARIA in the 7800).


TIA (also does sound) produces two independent channels of sound. The sound generator can produce noise effects (a noise effect would be any explosion in a game) and pure square wave tones. The tones are what gives you the simulation of music. That computer-y sound that many of the game systems and computers produced in that era was due to the square wave of the frequency generated. In the real world sound has a curved wave sound. The pitch goes up slowly, levels off, then slowly goes down. Early computers had a hard time creating such complex wave forms. When the sound was turned on it went to max., then stayed there till the sound was turned off that went to zero. Still, it was heads above the beeps and bops created by other systems of the time.


There are two types of controllers. The ‘pot’ joystick and the paddle. The joysticks are simple digital controllers. That means that you push the joystick to the left and a switch inside the joystick is clicked that sends a command to the 2600 that says ‘left’. push to right, ‘right’ etc… You have four directions (diagonal is two directions pushed at the same time) and that is it. The paddles are more of an analog affair. The paddles have a rheostat much like the volume control in old radios. All the way to the left and the paddle is read as a value of 0. All the way to the right and a value of 77 is sent to the 2600. Somewhere in between and you get values between those numbers. You can use those values in whatever form you wish. Move a sprite up and down or left and right, like in Kaboom!

Well, that was an over view. More is coming later.