The evolution of game programming, part 1, looks at what went into programming the original Atari 2600:
Nowadays, we talk about how many polygons a machine can render per frame. Before that, we might have talked about the resolution of the system; how many pixels wide, how many pixels high, and the number of simultaneous colors on the screen at one time. Well, the 2600 had a resolution, obviously a rather low one, but what makes it astounding is this: The 2600 only had enough memory for two scan lines. That’s just two scanlines out of the roughly 240 that your television needed to draw every 1/60th of a second (not taking interlacing in to account.)To comprehend the impact of this, compare that to a slightly more modern system like the NES or the Genesis. Those systems contain enough memory to store the entire screen image before shuttling the information off to your TV screen. So programmers have a good chunk of that 1/60th of a second to make important calculations and execute somewhat sophisticated artificial intelligence before actually constructing the final image and letting the hardware take care of the rest. The Atari 2600 never had such a benefit.
So how did programmers create images on the Atari 2600? By very carefully holding it’s hand throughout the entire process. Atari 2600 programmers had to know the exact timing of every single instruction. Because when the TV got around to drawing a new screen, the program had to abandon whatever it was doing, and start feeding the TV with a signal two lines at a time. With the TV generating a new screen 60 times every second, and the Atari needing to time it’s display with the television, when did the programmers get to do ANYTHING game related? The answer is the vertical blank.
The vertical blank (or vertical interrupt) is the time that occurs after the television has drawn the last (lowest) visible line on the television set and needs a moment to reset the magnetic coils inside the tube in order to allow the next screen to be drawn, starting at the highest visible line. It was during this time that programmers would make important decisions, calculate scores, and move players and enemies around the screen.