Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Atari 8-bit computers
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Design == [[File:Atari-800-Expansion-Board-CPU.jpg|thumb|The processor board for the Atari 800 has the 6502, ANTIC, and CTIA chips.]] The Atari machines consist of a 6502 as the main processor, a combination of [[ANTIC]] and [[CTIA and GTIA|GTIA]] chips to provide graphics, and the [[POKEY]] chip to handle sound and serial input/output. These support chips are controlled via a series of [[hardware register|register]]s that can be user-controlled via memory load/store instructions running on the 6502. For example, the GTIA uses a series of registers to select colors for the screen; these colors can be changed by inserting the correct values into its registers, which are [[Memory-mapped I/O|mapped into the address space]] that is visible to the 6502. Some of the coprocessors use data stored in RAM, such as ANTIC's display buffer and [[display list]], and GTIA's Player/Missile ([[sprite (computer graphics)|sprite]]) information. The custom hardware features enable the computers to perform many functions directly in hardware, such as smooth background scrolling, that would need to be done in software in most other computers. Graphics and sound demos were part of Atari's earliest developer information and used as marketing materials with computers running in-store demos.<ref name=greggman/> === ANTIC === [[ANTIC]] is a microprocessor which processes a sequence of instructions known as a [[display list]]. An instruction adds one row of the specified graphics mode to the display. Each mode varies based on whether it represents text or a bitmap, the resolution and number of colors, and its vertical height in [[scan line]]s. An instruction also indicates if it contains an interrupt, if fine scrolling is enabled, and optionally where to fetch the display data from memory.<ref>{{Cite book |last1=Small |first1=David |url=https://books.google.com/books?id=O4Y_AQAAIAAJ |title=The Creative Atari |last2=Small |first2=Sandy |last3=Blank |first3=George |date=1983 |publisher=Creative Computing Press |isbn=978-0-916688-34-9 |language=en |access-date=18 December 2023}}</ref> Since each row can be specified individually, the programmer can create displays containing different text or bitmapped graphics modes on one screen, where the data can be fetched from arbitrary, non-sequential memory addresses.<ref>{{Cite book |url=https://books.google.com/books?id=9tsnHAAACAAJ |title=De Re Atari Anno Domini MCMLXXXI: A Guide to Effective Programming of the Atari 400/800 Home Computer |date=1981 |publisher=[[Atari, Inc.]] |language=en |access-date=18 December 2023}}</ref> ANTIC reads this display list and the display data using DMA (Direct Memory Access), then translates the result into a pixel data stream representing the playfield text and graphics. This stream then passes to [[CTIA and GTIA|GTIA]] which applies the playfield colors and incorporates Player/Missile graphics ([[sprite (computer graphics)|sprite]]s) for final output to a TV or composite monitor. Once the display list is set up, the display is generated without any CPU intervention. There are 15 character and bitmap modes. In low-resolution modes, 2 or 4 colors per display line can be set. In high-resolution mode, one color can be set per line, but the luminance values of the foreground and background can be adjusted. High resolution bitmap mode (320x192 graphics) produces NTSC [[composite artifact colors]]; these colors do not occur on PAL machines. For text modes, the [[character set]] data is pointed to by a register. It defaults to an address in ROM, but if pointed to RAM then a programmer can create custom characters. Depending on the text mode, this data can be on any 1K or 512 byte boundary. Additional registers flip all characters upside down and toggle inverse video. [[File:Atari8.png|thumb|A [[Moiré pattern]] in 320 horizontal pixel graphics mode creates [[artifact colors]] from displaying hi-res pixels which are half the size of the NTSC color clock.]] The [[ANTIC]] chip allows a variety of Playfield modes and widths, and the original Atari Operating System included with the Atari 800/400 computers provides easy access to a subset of these graphics modes. These are exposed to users through Atari BASIC via the "GRAPHICS" command and to some other languages via similar system calls. The later version of the OS used in the XL/XE computers added support for most of these "missing" graphics modes. ANTIC text modes support soft, redefineable character sets. ANTIC has four different methods of glyph rendering related to the text modes: Normal, Descenders, Single color character matrix, and Multiple colors per character matrix. The ANTIC chip uses a display list and other settings to create these modes. Any graphics mode in the default [[CTIA and GTIA|CTIA/GTIA]] color interpretation can be freely mixed without CPU intervention by changing instructions in the display list. The actual ANTIC screen geometry is not fixed. The hardware can be directed to display a narrow Playfield (128 color clocks/256 hi-res pixels wide), the normal width Playfield (160 color clocks/320 hi-res pixels wide), and a wide, overscan Playfield (192 color clocks/384 hi-res pixels wide) by setting a register value. The operating system's default height for creating graphics modes is 192 scan lines, and ANTIC can display vertical overscan up to 240 TV scan lines tall by creating a custom display list. The display list capabilities provide [[ANTIC#Scrolling|horizontal and vertical coarse scrolling]] requiring minimal CPU direction. Furthermore, the ANTIC hardware supports horizontal and vertical fine scrolling—shifting the display of screen data incrementally by single pixels (color clocks) horizontally and single scan lines vertically. The system CPU clock and video hardware are synchronized to one-half the NTSC clock frequency. Consequently, the pixel output of all display modes is based on the size of the NTSC color clock which is the minimum size needed to guarantee correct and consistent color regardless of the pixel location on the screen. The fundamental accuracy of the pixel color output allows horizontal fine scrolling without color "strobing"—unsightly hue changes in pixels based on horizontal position caused when signal timing does not provide the TV/monitor hardware adequate time to reach the correct color. === CTIA/GTIA === The [[CTIA and GTIA|Color Television Interface Adaptor]]<ref name="service-manual-name-2">{{cite book|title=Atari Home Computer Field Service Manual - 400/800|section=I. Theory of Operation|publisher=Atari, Inc.|url=http://www.digitpress.com/library/techdocs/Atari_400-800_Service_Manual.pdf|access-date=September 10, 2010|pages=1–10}}</ref> (CTIA) is the graphics chip originally used in the Atari 400 and 800. It is the successor to the [[Television Interface Adaptor|TIA]] chip of the 1977 Atari VCS. According to Joe Decuir, George McLeod designed the CTIA in 1977. It was replaced with the [[CTIA and GTIA|Graphic Television Interface Adaptor]]<ref name="service-manual-name-2"/> (GTIA) in later revisions of the 400 and 800 and all later 8-bit models. GTIA, also designed by McLeod, adds three new playfield graphics modes to ANTIC which enable more colors.{{sfn|Current|2023|loc=1.12) What are SALLY, ANTIC, CTIA/GTIA/FGTIA, POKEY, and FREDDIE?}} The CTIA/GTIA receives Playfield graphics information from ANTIC and applies colors to the pixels from a 128 or 256 color palette depending on the color interpretation mode in effect. CTIA/GTIA controls Player/Missile Graphics ([[sprite (computer graphics)|sprites]]) including collision detection between players, missiles, and the playfield; display priority for objects; and color/luminance control of all displayed objects. CTIA/GTIA outputs separate digital luminance and chroma signals, which are mixed to form an analog composite video signal. CTIA/GTIA reads the joystick triggers and the Option, Select and Start keys, and controls the keyboard speaker in the Atari 400 and 800. In later computer models the audio output for the keyboard speaker is mixed with the audio out for transmission to the TV/video monitor. === POKEY === [[POKEY]] is a custom chip used for reading the keyboard, generating sound and serial communications (in conjunction with the [[Peripheral Interface Adapter]] chip) commands and IRQs, plus controlling the 4 joystick movements on the 400 and 800 models, and later RAM banks or ROM (OS/BASIC/Self-test) enables for XL/XE lines.<ref>Mapping The Atari, Ian Chadwick and Atari 130XE owner's manual</ref> It provides timers, a [[Random number generation|random number generator]] for generating acoustic [[noise]] and random numbers, and [[maskable interrupt]]s. POKEY has four semi-independent audio channels, each with its own frequency, noise and volume control. Each 8-bit channel has its own audio control register which select the noise content and volume. For higher sound frequency resolution (quality), two of the audio channels can be combined for more accurate sound (frequency can be defined with 16-bit value instead of usual 8-bit). The name POKEY comes from the words "POtentiometer" and "KEYboard", which are two of the I/O devices that POKEY interfaces with (the potentiometer is the mechanism used by the [[Paddle (game controller)|paddle]]). The POKEY chip—and its dual- and quad-core versions—was used in many Atari coin-op arcade machines of the 1980s, including ''[[Centipede (video game)|Centipede]]'' and ''[[Millipede (video game)|Millipede]]'',<ref>[http://www.brasington.org/arcade/cm/trouble.shtml Multipede—Trouble shooting guide], Braze Technologies</ref> ''[[Missile Command]]'', ''[[Asteroids Deluxe]]'', ''[[Major Havoc]]'', and ''[[Star Wars: Return of the Jedi (video game)|Return of the Jedi]]''. === Models === Atari, Inc. shipped three updated versions of the 400/800 using the same chipset and with a different case aesthetic: the short-lived 1200XL, then the 600XL and 800XL. Numerous other, wide-ranging projects to develop successors to the 8-bit line were cancelled. After the re-establishment of Atari as Atari Corporation, three more systems were released using largely the same technology as earlier machines: the 65XE and 128 KB 130XE in 1985, and finally the game console inspired [[Atari XEGS]] in 1987. * 400 and 800 (1979) – original machines in beige cases. Both have 4 joystick ports below the keyboard and a cartridge slot covered by a door on the top of the machine. The 400 has a [[membrane keyboard]]. The 800 has full-travel keys, a second, rarely used, cartridge slot, and monitor output. Both have expandable memory (up to 48 KB); the RAM slots are easily accessible in the 800. Later [[PAL]] versions have the 6502C processor. * 1200XL (1983) – new aluminum and smoked plastic case. Includes 64 KB of RAM, two joystick ports, a Help key, and four function keys. Some older software was incompatible with the new OS. Starting with the 1200XL, the single cartridge slot is on the side of the case, and there are only 2 joystick ports. * 600XL and 800XL (1983) – the 600XL has 16 KB of memory and PAL versions have a monitor port. The 800XL has 64 KB and monitor output. Both have built-in BASIC and a [[Parallel Bus Interface (PBI)]] expansion port. The last produced PAL units contain the [[Atari FREDDIE]] chip and Atari BASIC revision C. * 65XE and 130XE (1985) – the 65XE has 64 KB of RAM. The 130XE has 128 KB of bank-switched RAM and an [[Enhanced Cartridge Interface (ECI)]] instead of a PBI. The first revisions of the 65XE have no ECI or PBI, and the later ones contain the ECI. The 65XE was relabelled as 800XE due to the local popularity of the 800XL, and was mostly sold in [[Central Europe]].{{sfn|Current|2023|loc=1.10) What is the Atari 800XE?}}<ref>{{cite web |title=Atari 800XE |url=https://gury.atari8.info/tech_atari800xe.php |website=Atari8.info |archive-url=https://web.archive.org/web/20140818010334/http://gury.atari8.info/tech_atari800xe.php |archive-date=18 August 2014}}</ref> * XE Game System (1987) – a 65XE styled as a game console. The basic version of the system shipped without the detachable keyboard. With the keyboard it operates just like other Atari 8-bit computer models. The cartridge slot is on the top, like other consoles. ===Production timeline=== <timeline> ImageSize = width:800 height:auto barincrement:25 PlotArea = left:115 bottom:110 top:20 right:10 Alignbars = justify DateFormat= mm/dd/yyyy Period = from:01/01/1979 till:06/30/1992 TimeAxis = orientation:horizontal format:yyyy Legend = orientation:vertical position:bottom columns:4 ScaleMajor= increment:1 start:1979 ScaleMinor= increment:2 start:1979 Colors = id:400_Line value:green legend:400_&_800_Line id:XE_Line value:blue legend:XE_Line id:XL_Line value:orange legend:XL_Line id:Lines value:black legend:Vertical_lines_are_Product_Announcements id:XEGS value:lavender legend:XEGS LineData = at:01/05/1979 color:green layer:back at:12/13/1982 color:orange layer:back at:06/10/1983 color:orange layer:back at:01/05/1985 color:blue layer:back at:01/05/1987 color:lavender layer:back at:01/01/1992 color:black layer:back BarData = bar:400 text:"400 & 800" bar:5200 text:"5200" bar:1200XL text:"1200XL" bar:600XL text:"600XL" bar:800XL text:"800XL" bar:65XE text:"65XE" bar:130XE text:"130XE" bar:800XE text:"800XE" bar:XEGS text:"XEGS" PlotData = width:10 textcolor:black align:left anchor:from shift:(10,-4) bar:400 from:06/05/1979 till:05/01/1983 color:400_Line bar:5200 from:11/01/1982 till:05/21/1984 color:400_Line bar:1200XL from:03/01/1983 till:07/01/1983 color:XL_Line bar:600XL from:07/01/1983 till:07/15/1984 color:XL_Line bar:800XL from:07/01/1983 till:02/14/1985 color:XL_Line bar:65XE from:05/05/1985 till:06/02/1991 color:XE_Line bar:130XE from:01/05/1985 till:02/02/1991 color:XE_Line bar:800XE from:05/05/1987 till:01/01/1992 color:XE_Line bar:XEGS from:08/05/1987 till:02/14/1991 color:XEGS width:3 textcolor:black align:left anchor:from shift:(10,-4) </timeline> The production timeline is from 1979 to 1987.{{sfn|Current|2023|loc=1.10) What is the Atari 800XE?}}<ref>{{cite news|url=http://pctimeline.info/comp1978.htm|title=Chronology of Personal Computers|date=April 3, 2014|access-date=February 5, 2015|author=Polsson, Ken|pages=1978|archive-url=https://web.archive.org/web/20150912005639/http://pctimeline.info/comp1978.htm|archive-date=September 12, 2015|url-status=dead}}</ref> === Prototypes and vaporware === {{unreferenced|section|date=July 2023}} * 1400XL: similar to the 1200XL but with a PBI, FREDDIE chip, built-in modem and a [[Votrax]] SC-01 speech synthesis chip. Cancelled. * 1450XLD: a 1400XL with built-in {{frac|5|1|4}}″ disk drive and expansion bay for a second {{frac|5|1|4}}″ disk drive. Code named ''Dynasty''. Made it to pre-production, but was abandoned by Tramiel. * 1600XL: codenamed ''Shakti'', this was dual-processor system with 6502 and [[Intel 80186|80186]] processors and two built-in {{frac|5|1|4}}″ floppy disk drives.<ref>{{Cite web |url=http://www.atarimuseum.com/computers/8BITS/XL/1600xl/1600xl.html |title=1600XL information |access-date=April 14, 2008 |archive-date=September 13, 2011 |archive-url=https://wayback.archive-it.org/all/20110913014906/http://www.atarimuseum.com/computers/8BITS/XL/1600xl/1600xl.html |url-status=dead }}</ref> * 1850XL: codenamed ''Mickey'', this was to use the "Lorraine" (aka "[[Amiga]]") custom graphics chips * 65XEM: 65XE with AMY sound synthesis chip. Cancelled. * 65XEP: "portable" 65XE with {{frac|3|1|2}}" disk drive, 5" green [[Cathode-ray tube|CRT]] and battery pack.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)