Home
NES
Atari 2600
Neo geo Pocket Color
Atari 2600 / Video Computer System (VCS)

Released on September 11th 1977, The Original Atari 2600 was credited for popularizing the use of microprocessor hardware and video games in general. It came with 2 four-way 1 button joysticks, A conjoined pair of paddle controllers, and a pack in game cartridge. This pack in game was originally 'Combat' and later 'Pac-man'.

Technical Specs:
CPU: MOS Technology 6507 @ 1.19Mhz (6502 core, reduced address space and no interrupts)
Memory: 128 bytes, Can be extended
GPU: (Custom) Television Interface Adapter (TIA)
Video Ram: 39 bits

The heart if the Atari is the Television Interface Adapter (TIA). It's the video chip, sound generator, and also handles some controller input. As a video chip, the TIA is unique. All other systems have memory that holds the current state of the display. Their video chip reads from this memory and uses that information to generate the display. But the TIA was designed in a time where memory was very expensive. Instead the TIA has a handful of registers that contains just the information needed to draw a single SCAN-LINE.

(crash course on scan-lines: CRT’s draw their image from top to bottom, left to right. A scan-line is one row in this picture.)

It is up to the program to change those registers in real-time so that each scan-line show what its suppose to.

The Horizontal Blank is part of each scan-line, so we do not need to worry about generating it. Everything else is up to us. We need to generate a sync signal over 3 scan lines, after which we have 37 scan lines worth of machine cycles (37 scan lines * 76 machine cycles per scan line = 2812 machine cycles before the TV picture) before we tell the TIA to "Turn on" the image output. Now we need to update the TIA so each of the 192 scan-lines that comprise the visible portion of the display are updated to what they are supposed to (14,592 machine cycles). Once that is done we "Turn off" the image output, now we have 30 scan-lines (2,280 machine cycles) before we start all over again.TIA TV diagram

The quality of the picture depends oh how efficient one can write code for the TIA, as the years went by, people3 started writing more advanced displays:
combat
Combat (1977)
Solaris
Solaris (1986)



VSYNC






D1

D1 [1 = start vertical sync, 0 = stop vertical sync)
VBLANK






D1

D1 [1 = start vertical blank, 0 = stop vertical blank)
WSYNC (wait for sync)
Data bits not used (just write to it)

To provide additional resources, the system is equipped with the RIOT chip (Ram, Input, Output, Timer)

The timer can be set into 1 of 4 modes:
Cycles Per interval
Register Name
Count down every cycle TIM1T
Count down every 8 cycles TIM8T
Count down every 64 cycles TIM64T
count down every 1024 cycles T1024T
For example, if the value of decimal 100 were written to TIM64T, the timer would expire after (64 * 100 = 6,400) CPU cycles.



128 bytes of ram:
Ram
                  area
The entire 128 bytes of RAM the stock system has. This can be extended with additional Ram chips located withing the game cartridge.
The extended ram is usually another 128 byte ram chips. But configurations that allow 256 byte and more exist, however these are more rare. The vast majority of games only used the on board 128 bytes.


And then there is the Starpath Supercharger. Adds 6k of ram and games are loaded off audio cassette's.

My own Atari 2600 game: Diamond Drop
Online Emulator: Javatari


return to top