Tuesday, May 24, 2022

Space Invaders: Atari Archive Episode 32

For those who have some interest in video games.


I can't emphasize enough how difficult it is to write programs on the Atari 2600, also called the Atari VCS.  Since the machine only had 128 bytes of RAM, there is no video memory at all.  Instead, as the raster draws the picture on the TV screen, the microprocessor has to constantly send information to the display as to which pixels to draw.  It is a miracle that it can display anything at all.  The code necessary to draw the screen is contained in the ROM cartridge.  Most of the microprocessor time is spent drawing the screen, and any game logic had to be done during the television vertical blank period, which is the period of time that the electron gun moves from the bottom of the screen back to the top of the screen to start the next frame.  The vertical blank happens for about 1330 microseconds, sixty times per second.

There were a few rare 2600 cartridges that would have extra chips on them to boost the memory or the capabilities of the machine.  These special cartridges only got made when the chips became cheaper, like in the late 1980s which was near the end of the life of the 2600 game system.

Some early primitive computers with limited memory, like the Sinclair ZX80, ZX81, and Timex-Sinclair 1000, also used the microprocessor to draw the display.  This didn't involve computer code like on the 2600, but a hardware trick to get the microprocessor to copy bytes from the memory to the display.   It is my understanding that the first McIntosh computer lost about 40% of its processor time driving its display.

Memory limitations would drive the graphics on all videogame systems and computers throughout the 1980s.  Instead of every pixel having its own unique memory location, which has been true since the mid-90s, the screen would be made up of tiles, or blocks, which are like the characters on a computer keyboard.  Each tile could be defined to whatever you want, usually with a limited number of colors.  When I was programming on the Super Nintendo, the artists would create the tiles, and the program would tell the tiles where to display on the screen.  Objects that move on the screen are called "Sprites", and the hardware displays these in front of the background tiles and they are made up of their own separate tiles.  Since the mid-1990s these kinds of display methods were no longer necessary because the chips were faster and the systems had more memory.

No comments:

Post a Comment