Circuit
Diagrams available from Technical
University of Chemnitz, Germany, Atari pages
Best
Electronics sell Atari custom chips.
Atari History
Society with impressive technical literature
collection!
Atari
Technical Information
Atari
System Reference Manual
Atari
Peripheral Emulator for DOS and Windows - Home Page
Antic
Magazine - The Atari Resource
The Atari 800XL used fewer chips than the BBC, but these were powerful full-custom ASICs.
The 'Sally' 6502 was customised for Atari - it had a pin to tri-state the buses so the other chips could take over at times. Because of this, you will probably have to implement the CPU in FPGA too. Alternatively, the tri-state buffering could be done by the FPGA
The ANTIC-E and GTIA chips controlled the video display and player/missile graphics.
Given the complexity of this machine and the unavailability of many parts, this might be best left to software emulation on the PC.
Clocks and Timing
The original Atari was NTSC, and the master crystal was 2 x the fastest pixel clock, 4 x the colour carrier and 8 x the CPU clock (1.789,772.72 Hz). The PAL version master crystal was 2.5 x the fastest pixel clock, 4 x the colour carrier and 10 x the CPU clock (1,773,447.50 Hz). PAL implementations in FPGA might be better running a 17,734,475 crystal through a frequency doubler so that the FPGA can simply divide-by-five to get the pixel clock.
Video
The video was very oriented to TV chrominance and luminance signals instead of RGB. These can be fed into the S-video of modern TVs but not as ideal as RGB. The video interface chip created these signals internally, so there is no way to access the RGB signals.
However, a clone design is free to produce RGB signals directly. They will require some work to convert to the appropriate analogue levels for the colours to match the original.
On the plus side, programming details are well documented.
The Atari video chip produced the colour carrier signals internally, and was thus not restricted to the 1-bit-per-colour-gun palette. It had up to 4 bits per pixel, allowing a choice of 16 colours from a programmable palette of 16 hues in 16 intensities.
TV signals are modulated by the Hue/Intensity model. While the RGB model typically assigns a value of 0 to 255 per colour gun, the Hue is often shown as a colour wheel with R, G and B at 120º apart. Since it is not possible to store 0 to 359º value in a byte, 0 to 239 is used instead.
It seems hardest to resolve colours when one primary dominates: either side of green and blue are not sufficiently different enough to have common names.
Of red's neighbor, orange is a common name, but the red/magenta blend might just be named rose if pushed. This suggests that the human eye is most sensitive in the red/green part of the spectrum.
You can see that 60º phase increments gets you all the
primaries and secondary colours.
Doubling the phase resolution to 30º only adds orange.
The Atari had 15 different hues, a phase resolution of 360º/15=24º. This yields a very different spectrum. The ideal colour phases are no longer there (apart from red), but there are values close enough.
In actual fact, the Atari has a phase resolution of 360º/12=30º.
So what happens to the missing 4 colours?
Logical colour 0 is 'no colour', i.e. black-grey-white.
Logical colours 1,2,3 are the same as 13,14,15.
So in practice, there are still only 12 colours.
H = Hue (using my HTML editor's colour picker)
Angle = H *1.5
N = Atari logical colour
Keyboard and Sound
The POKEY chip provides the sound and keyboard interface, scanning an 8x8 matrix through a pair of 4051 analogue multiplexers.
Custom chips