Atari 2600 deep dive
One thing that many people don’t realize is that the foundation of the video game industry, including terminology and techniques were solidified in the 1970s and early 1980s during the home video game movement! And the home gaming console that led to the most development in this area was the least technologically advanced one for its time: The 1977 Atari Video Computer System (VCS), later known as the Atari 2600.
So how limited was the Atari VCS hardware? Well, technically, it was pretty much obsolete when it was released, but that was OK because it was geared to be a home video game system that was affordable.
It took cartridges that contained the game on a ROM chip, opening up the market for game programmers - eventually over 1000 games were made for the Atari VCS. This is why you could still buy a new Atari VCS over 12 years after it was first released (the Atari VCS was the longest lived gaming console of all time).
The cartridges used by the Atari VCS could only store a maximum of 4KB (many only used 2KB). What this means is that programs (and all their data) had to be less than 4KB in size! For comparison, your Web browser program uses more than 100,000 times as much to store its instructions and data.
The picture to the right is the motherboard of an original Atari VCS. There are four main chips under the big black cartridge connector:
-
The RAM/Input/Output/Timer (RIOT) chip that contained the RAM (128 bytes) and controlled the joystick and cartridge input.
-
The MOS 6507 CPU that performed all game calculations (a variant of the popular MOS 6502 CPU that could only address 8KB of memory).
-
CMOS Hex Buffer (not present on later models).
-
The Television Interface Adapter (TIA) or “Stella” chip that handled all graphics and sound. This was the most important chip in the Atari VCS as it essentially provided the “look and feel” associated with Atari games. As a result, the Atari 2600 emulator that you can get today is also called Stella.
The screen in modern games is drawn at once from an image that is stored in RAM (called a framebuffer). However, the Atari VCS had only 128 bytes of RAM (too little to store any screen image), so the TIA chip wrote the image line-by-line on the television screen (the electron beam in a TV “paints” the image from left to right for each line on the screen top to bottom). This gave the Atari 2600 graphics their unusual rectangular blocky look compared to video games seen in video arcades of the time.
For example, the Pac Man arcade game (below left) uses small, finite pixels, whereas the Atari VCS Pac Man game uses long rectangular pixels because of the way the images were painted to the TV line by line.
As a programmer, you had to carefully time when your program could do logic (decision calculations) - you had to time those calculations when the electron beam was between line drawing events! Also, the TIA chip only allowed two sprites (or characters) on the screen - to get the four ghosts in Pac Man (in addition to Pac Man himself), they had to switch back and forth between drawing four single objects to give the illusion that there were four ghosts on the screen. Unfortunately, this led to the terrible “flicker” of the ghosts in Pac Man for the Atari VCS. Today, we still use this technique and we still call it flicker. However, flicker today is unnoticeable to the user because today’s hardware is very fast.
To make games more impressive with the Atari VCS’s limited hardware, programmers were forced to be creative with the limited hardware and take advantage of every little aspect of the system. For example, the colorful explosion effect in the game Yar’s Revenge just used some existing data on the system to write random colors on the screen in a cool way. This didn’t need any extra storage (remember that game cartridges were limited to 4KB!).
One neat aspect that resulted from the Atari VCS drawing images line-by-line on the screen was that you could have accurate collision detection (when one object touches another). However, this often made the game harder to play since you had to hit your targets more accurately!
The Atari VCS was a pioneer in many other aspects of game history. The first ever easter egg (hidden gem) in a video game was in the Atari game called Adventure, which was also the first video game to use a virtual playing area that extended beyond the size of the visible screen. In addition, the first ever video game based on Star Wars (The Empire Strikes Back) was created only on the Atari VCS, and was the first to offer parallax scrolling, where the background images grew and shrunk to give the illusion that the game was in 3D.
I could go on for hours on how the Atari VCS laid the foundation for modern video game programming, but I’ll cut it short here so as not to exasperate the point I’m trying to make: It was the hardware limitations of Atari VCS that forced programmers to use creative techniques that would allow for complex games - these techniques laid the foundation of modern game programming and are still used today!