Atari built a series of 8-bit home computers based on the MOS Technology 6502 CPU, starting in 1979. Over the next decade several versions of the same basic design would be released, but the models remained largely identical internally. They were, for their era, one of the most technically advanced machines on the market, but a combination of factors, largely business related, meant they did not have a major market when the Commodore 64 shipped a few years later and took over most of the market.
History
Origins
As soon as the Atari 2600 was released the engineering team went back to design its eventual replacement. The newer design would be faster, have better graphics, and include much better sound hardware. Work continued throughout 1978, primarily focusing on the much-improved video hardware known as the CTIA (the 2600 used a chip known as the TIA).
However, at this point, the home computer revolution took off in the form of the Apple II family, Commodore PET and TRS-80. Atari management saw this as a golden opportunity to re-purpose the machines, and started research on what would be needed to produce a workable home computer of their own. This included support for character graphics (something the 2600 didn't support), some form of expansion for peripherals, the BASIC programming language, and a keyboard.
Design
All aspects of the machine were considered open to new solutions, and the machine ended up with its own BASIC (ATARI BASIC), a wonderfully simple peripheral system known as SIO (Serial I/O), and a very powerful character/display driver known as ANTIC. Unlike the 2600 where the video was controlled solely by the TIA moving sprites (known as player/missile graphics in Atari lingo) around a colored background, in the new machines the ANTIC did most of the work drawing the screen (including the ATASCII characters), which the GTIA then colored and added sprites. This separation of duties allowed both chips to be as powerful as possible in an era of expensive silicon, and the machine's graphics were the best on the market until the release of the C64 in 1982.
One of the main reasons the 6502 was so widely used in early machines was cost, but the other was a unique feature that made it ideally suited to graphics. During normal processing of instructions, there was a single cycle of every four that it was guaranteed to not be using the bus. During this time the display hardware, in this case the CTIA, would quickly read out the graphics from memory to the screen.
In the Atari design this was not, of itself, a complete solution. Since the ANTIC and 6502 would both be writing to memory, some system needed to be in place to ensure they both did not do so at the same time. Fairly tight timing constraints limited the modes the ANTIC could support without stepping on the 6502's toes. A more convincing solution was offered later in the form of a custom version of the 6502, originally nicknamed SALLY but later officially known as the 6502C, that could be halted when the ANTIC needed memory access.
Another custom support chip, named POKEY, was responsible for reading the keyboard, generating sound and serial communication (The latter in conjunction with the PIA). The same POKEY chip was also a very common solution for sound effects and music in arcade games in the 1980s, producing a distinctive square wave flavor that is popular among chip tune aficionados.
Eventually they identified two "sweet spots" for such machines, the low-end Candy and high-end Colleen. Based on the 6502B, a faster version of the more common A model, both ran at 1.79 MHz (PAL version, European) or 1.77 MHz (NTSC version, US), which made them almost twice as fast as most machines of the era; the Apple II and Commodore PET ran at 1 MHz, the TRS-80 was at 2.03 MHz but was actually about 1/2 of the speed due to its processor, the Zilog Z80's, design.
The primary difference between the two models was expandability, Colleen would include a number of memory slots, monitor output and a full keyboard, while Candy used a plastic "membrane keyboard" and didn't include any memory slots. Both machines were built like tanks with huge internal aluminum shields, a side effect of meeting a FCC specification that was soon to be removed anyway (the first model of the TRS-80 actually never met that FCC spec).
The early machines: 400, 800
The machines were brought to market in February 1979 as the 400 and 800, although they weren't widely available until late 1979. The names originally referred to the amount of memory, 4K RAM in the 400 and 8K in the 800. However by the time they were released the prices on RAM had started to fall, so the machines were instead released with 8K and 16K respectively, making the naming somewhat superfluous. The 800's expansion system allowed it to be fitted with up to 48K RAM, and it wasn't long before it came fully expanded from the factory anyway. The expansion system wasn't "real" however, and could only be used for memory. The ATARI BASIC interpreter was supplied as a ROM cartridge, which had to be purchased separately. Later a more advanced Microsoft BASIC would also become available in disk form, and then cartridge.
The later machines: XLs, XE(GS)s
The 800 was rather complex and expensive to build and the 400 didn't compete technically with some of the newer machines appearing in the early 1980s, so in 1982 Atari started the Sweet 16 project to address these issues. The result was an upgraded set of machines otherwise similar to the 400 and 800, but much cheaper to produce. Newer fabs allowed a number of chips in the original systems to be condensed into one. For comparison the original 800 used seven separate circuit boards (many of them small), while the new machines used only one. Sweet 16 also addressed problems with the 800 by adding a new expansion chassis as well. Like the earlier machines, the Sweet 16 was intended to be released as the 1000 with 16KB and the 1000XL with 64KB.
But when the machines were actually released there was only one version, the 1200XL, an odd hybrid of features from the Sweet 16 project. A number of problems in this machine, including a change in its operating system which made many programs written for the 400/800 computers incompatible, made the machine a flop. This was quickly addressed in the hastily-completed 600XL and 800XL, which were largely identical to the original Sweet 16 specifications. The XL series had Atari BASIC built into the ROM of the computer.
However the 1200XL was released at potentially the exact wrong time. By the time the new machines replaced it the Commodore 64 had already become the market leader, and Atari was unable to address this.
The final machines in the series were there 130XE and 65XE. These were really cut-down versions of the 600XL and 800XL in much cheaper cases, a result of Jack Tramiel's efforts to wring every dollar out of the platform before finally killing it. The X in XE stood for XL-Compatible.
A theory for why the number 65 was used for the first machine in the XE series is because Atari wanted their machine-numbers to correspond with the amount of RAM they came with, but as Commodore already used the numbers 64 and 128, Atari decided to add one to 64 and chose 65. All subsequent model-numbers were multiples of 65 instead of 64. This numbering-scheme was used in the Atari ST line of computers as well.
An additional 800XE was available in Europe (mostly Eastern Europe), it was basically a 130XE with half the memory. Almost as an afterthought, there was also the XE Game System (XEGS), released in 1987. Launched at the very end of the family's market life, the XEGS was sold bundled with its detachable keyboard, a joystick and a lightgun, and a couple of game cartridges.
Computer models
- 400 and 800 (1979) – original machines in beige cases, 400 had membrane keyboard, 800 had full-travel keys, two cartridge ports.
- 1200XL (1982) – new aluminum and smoked plastic cases, 64KB of RAM, only two joystick ports. New OS caused compatibility problems with older software.
- 600XL and 800XL (1982) – replacements for the 1200XL. 600XL had 16KB of memory, 800XL had 64KB. Both had BASIC built-in and a expansion port.
- 800XLF – 800XL with FREDDIE MMU chip and BASIC rev. C. Released in Europe only.
- 65XE, and 130XE (1985) – 800XLs repackaged with highly inexpensive cases and keyboards. 130XE came with 128KB of RAM and a FREDDIE MMU chip.
- XEGS (1987) – a game machine in a light beige case, with a detachable full-travel but slightly "mushy" keyboard (Atari ST'ish)
- Prototypes (Never Officially Released)
- 1400XL – Similar to the 1200XL but with an expansion port, FREDDIE MMU chip, built-in modem and speech synthesis chip. Cancelled by Atari.
- 1450XLD – basically a 1400XL with built in 5 1/4" disk drive and expansion bay for a second 5 1/4" disk drive. Code named Dynasty. Cancelled due to sale of Atari computers/consoles to Tramiel Family.
- 65XEM – 65XE with AMY sound synthesis chip. Cancelled.
- 65XEP – "portable" 65XE with 3.5" disk drive, 5" green CRT and battery pack. Never released
Peripherals
Atari's peripherals were named after the machines they were intended to be used with, so in general they have names like "410" and "1050". All of them used the proprietary SIO port, which allowed them to be daisy chained together into a single string; a method also used in Commodore's home computers from the VIC-20 onwards. This resulted in far less "cable spaghetti" on the desk, but it also meant plugging in "standard" components like printers and modems was practically impossible without the purchase of separate conversion units (in Atari's case, the 850 interface expansion system).
400/800 series
- 410 tape drive, 600 bit/s on cassettes
- 810 5¼" floppy disk, single-density single-sided, 90KB
- 815 dual 5¼" floppy disks, double-density single-sided, 180KB (only small numbers produced)
- 820 printer, 40-column dot matrix on adding machine paper
- 822 printer, 40-column thermal on slightly wider paper
- 825 printer, 80-column dot matrix (Centronics 737)
- 830 300-baud modem, using an acoustic coupler, used RS-232 so required an 850 (Novation CAT)
- 835 300-baud modem, direct connect, basic Hayes compatible with SIO interface
- 850 expansion system, included four RS-232 ports and one Centronics parallel port
XL series
- 1010 tape drive, a smaller replacement for the 410
- 1020 color printer, 40-column plotter with 4 pens - 256 colors
- 1025 printer, 80-column dot matrix (Okidata ML-80)
- 1027 printer, 80-column letter quality daisy wheel (Mannesmann Tally Riteman LQ)
- 1029 printer, 80-column lower-quality 7-pin dot matrix sold in Europe (Seikosha mechanism)
- 1030 300 baud modem, direct connect
- 1050 5¼" floppy disk, "enhanced density" format single-sided, 130KB
- 1064 memory module, 64K memory expansion for 600XL
- 1090 expansion system, 5 slots in a large case (never released, small numbers leaked out)
XE series
- XEP80 80-column display module, parallel port
- XC11 tape drive
- XC12 tape drive (small model like the 1010, sold worldwide)
- XF551 5¼" floppy disk, double-density double-sided, 360KB
- XMM801 printer, 80-column dot matrix
- XDM121 printer, 80-column letter quality daisy wheel
- XM301 300 baud modem
- SX212 1200 baud modem (also included RS-232 for use on Atari ST computers)
Atari also produced a number of other tape drives for use in eastern Europe where they continued to sell into the late 1980s due to their low cost. Some of these included various "high-speed" modes which made them almost as fast as early disk drives.
In addition to the list above, Atari failed to release a huge selection of machines and peripherals that were otherwise completed. See the externally linked FAQ below for details.
Software
Built-in and disk operating systems
The Atari 8-bit computers came with an operating system built into the ROM. The Atari 400/800 had the following:
- OS Rev. A - 10K ROM (3 chips) early machines.
- OS Rev. B - 10K ROM (3 chips) bug fixes. Most common for 400/800.
The XL/XE Atari 8-bit models all had OS revisions due to added hardware features and changes. But this created compatibility issues with older software. Atari responded with the Translator Disk, a floppy disk which loaded the older 400/800 Rev. B or Rev. A OS into the XL/XE computers.
- OS Rev. 10 - 16K ROM (2 chips) for 1200XL Rev A
- OS Rev. 11 - 16K ROM (2 chips) for 1200XL Rev B (bug fixes)
- OS Rev. 1 - 16K ROM for 600XL
- OS Rev. 2 - 16K ROM for 800XL
- OS Rev. 3 - 16K ROM for 800XE/130XE
- OS Rev. 4 - 16K ROM + 8K BASIC + 8K Missile Command for XEGS
Several third-party replacement OSes were also available. See Atari DOS under Third-party DOS Programs.
The standard Atari OS only contained very low-level routines for accessing floppy disk drives. An extra layer, a disk operating system, was added to assist in organizing file system-level disk access. Enter Atari DOS, which, like most home computer DOSes of the era, had to be booted from floppy disk at every power-on or reset. Unlike most others, Atari DOS was entirely menu driven.
- DOS 1.0 - Initial DOS for Atari.
- DOS 2.0S, 2.0D - Improved over DOS 1.0, became the standard for the 810 disk drive. 2.0D was for never-released 815 drive.
- DOS 3.0 - Came with 1050 drive, not compatible with DOS 2.0.
- DOS 2.5 - Replaced DOS 3.0 due to complaints.
- DOS 4.0 - Designed for 1450XLD, cancelled, rights given back to the author.
- DOS XE - Designed for the XF551 drive.
(Only a very few comparable DOSes were stored elsewhere than floppy disks; among these exceptions were the British BBC Micro's optional Disc Filing System, DFS, offered as a kit with a disk controller chip, a ROM chip, and a handful of logic chips, to be installed inside the computer; and Commodore's CBM DOS, located in a ROM chip in each disk drive.)
For more info, see Atari DOS.
This section needs expansion. You can help by adding to it. |
Available programming languages
- Action! – A product of Optimized Systems Software. A high performance language that compiled to machine code, with good support for Atari's hardware. While it was popular with hobbyists, it never attained widespread acceptance, particularly since it was limited to the Atari 8-bit platform.
- Assembly language
- Atari Assembler/Editor – A 6502 assembler editor and compiler was released by Atari in a ROM cartridge.
- Atari Macro Assembler (AMAC) – A macro assembler released by Atari/APX in disk form. Copy protected.
- MAC/65 – 6502 macro assembler/editor developed by Optimized Systems Software. Released in disk and cartridge forms.
- Synassembler – Assembler from Synapse Software. Written by Steve Hales. Not compatible with XL/XE computers without patching.
- Macro Assembler/Text Editor (MAE) – Assembler from Eastern House Software. Written by John Harris.
- BASIC dialects.
- Atari BASIC – This was the original BASIC for the Atari 8-bit family. Came as a ROM cartridge with the Atari 400/800 models, but was built into the computer's ROM in later models. In the XL/XE models, BASIC could be disabled by holding down the OPTION key while booting.
- Atari Microsoft BASIC – A version of BASIC for the Atari 8-bit family released by Atari that was more like the industry standard Microsoft BASIC. This did not catch on.
- Atari Microsoft BASIC II – Microsoft BASIC in a ROM cartridge plus extension disk.
- Turbo Basic XL – An improved version of Atari BASIC released by a third party that is not only faster, but offers many more commands. There is also a compiler that makes Turbo-BASIC XL programs even faster by compiling them into machine-language binaries.
- BASIC A Plus — An extended BASIC from Optimized Systems Software
- BASIC XL — An improved BASIC from Optimized Systems Software [1]
- BASIC XE — An enhanced version of BASIC XL from Optimized Systems Software [2]
- Atari-LOGO
- PILOT
- Pascal
- Atari Pascal – Required two drives.
- Draper Pascal
- Kyan Pascal
- Forth
- Deep Blue C – A C compiler. Written by John Palevich, APX.
After Atari's 8-bit machines entered the realm of retrocomputing in the late 1990s, cross platform development tools such as XASM, TASM, and cc65, most commonly run on PCs, have been much used by enthusiasts to do programming intended for the machines.
Applications
See Category:Atari 8-bit family software.
Games
Graphics capabilities
Standard modes
While the ANTIC and GTIA chips allowed a variety of graphics modes to be combined, and different playfield widths to be used, the Atari's Operating System provided a basic set of graphics modes. In most cases, these were exposed to Atari BASIC via the "GRAPHICS" command, and to some other languages, via similar system calls.
- 40x24 text modes
- 1 color of text, with each character's 8x8 pixels the same size as those in 320x192 graphics mode, with the same hue restriction. Characters with the high-bit on were represented in inverse-video.
- "Lowercase with descenders" mode, which was not available through GRAPHICS, only as part of custom display lists. In this mode characters were 10 pixels high and occupied either the upper or lower 8 pixels of that height. This was not strictly speaking a 40x24 text mode, because of the unusual height.
- Colored text, where every two bits represents a colored pixel (characters were 4x8 pixels that were the same size as those in 160x192 graphics mode). Characters with the high-bit on were displayed using a 5th color palette registered where the 4th would normally be used.
- Colored text, where every four bits represents a colored pixel (characters were 2x8 pixels that were the same size as those in 80x192 graphics mode and had the same color limitations). This mode was not directly available through GRAPHICS but required setting GTIA flags in text mode.
- 20x24 text mode
- 1 color of text, with each character's 8x8 pixels the same size as those in 160x192 graphics mode. Characters with various bits enabled or disabled (which would normally appear as 'control-characters', lower-case characters, or inverse-video) were displayed with different colored pixels.
- 20x12 text mode
- (Same as 20x24 text mode, but with larger pixels and fewer rows of text)
- 40x24 graphics mode -- 4 colors (2bpp)
- 80x48 graphics modes -- Either 2 colors (1bpp), or 4 colors (2bpp)
- 160x96 graphics modes -- Either 2 colors, or 4 colors
- 160x192 graphics modes -- Either 2 colors, or 4 colors
- 320x192 graphics mode -- 2 colors (1bpp). The pixels were a shade of the playfield color, and could not be different hue.
- 80x192 graphics modes (GTIA chip only)
- 9 colors from the color palette registers
- All 15 Atari hues, but only of one brightness (plus black)
- All 16 Atari shades, but only of one hue
Software-driven modes
In 1992, Jeff D. Potter created a GIF decoder and image viewer for the Atari called APACView. APAC, or Any Point, Any Color, was a software-driven method of display an image using all 256 of the Atari's possible colors. By taking 80x192 mode lines that displayed 16 hues, and those that displayed 16 shades, and either interlacing rows of them, quickly alternating between rows of them, or both, a screen displaying 80x96 or 80x192 pixels in 256 colors could be perceived. (This mode may have been invented by someone earlier.)
Later, Jeff created another GIF decoder, and later a JPEG decoder was created, which broke an image into the three red, green and blue channels. 16 shades of each, at 80x192 pixels, would be displayed in an interlaced and flickering fashion. The human eye's persistence of vision would allow the viewer to see 4096 colors (12bpp) at 80x192, with slight 'rolling' artifacts in solid red, green or blue fields in the image. This was called ColorView mode.
In 1994, Clay Halliwell created a modem terminal program for the Atari (FlickerTerm80) which uses 40x24 text mode, combined with two character sets with an identical 4x8 font -- one with the pixels on the left half of the 8x8 grid, the other on the right. By altering where in memory ANTIC looks for graphics, and which font to display, an 80x24 character screen can be displayed. It uses less memory (about 2KB) and can be more quickly manipulated, compared to rendering 80x24 characters using a 320x192 bitmap mode (which would require about 8KB).
In 1998, Bill Kendrick created a puzzle video game for the Atari (Gem Drop) which utilized a similar effect, but by using two alternating character sets (fonts) in colored text. (Each character is 4x8 pixels, each pixel being one of 4 colors.) No color palette changes occurred, and ANTIC's Display List wasn't altered -- only a vertical blank interrupt was used to change the character set. This allowed for approximately 13 colors on the screen. Solid color fields that were based on two actual colors (e.g., dark red created by flickering between red and black) had less artifacting because they could be drawn in a checkerboard fashion. This mode was called SuperIRG. (Normal 4x8 multi-colored text on the Atari is called IRG.)
In 1996, Atari demo coders HARD Software from Hungary created HARD Interlacing Picture (HIP), which can display 160x192 pixels in 30 shades of grey. It interlaces two modes -- 80x192 with 16 shades of grey, 80x192 with 9 paletted colors -- and utilizes a bug in the GTIA chip that causes one of the modes to be shifted 1/2 pixel, allowing for a perceived 160 pixels across.
Later, other demo coders created RIP graphics mode, which is similar to HIP, but can display 160x192 pixels in color.
External links
General:
- Atari 8-Bit Computers: Frequently Asked Questions
- http://www.atari8bit.org/
- The Atari 8-bit Computer WebRing
- Atari 8-bit Resort
- Atari XL/XE Scene Information Page – Fresh news from the 8-bit Atari retrocomputing world
History:
Software, games:
- Atari Archives
- XL Search – A searchable index of files from numerous Atari FTP archives and websites
- Reminiscing: 8-Bit Atari Games
- Database of Atari games
Software-driven graphics modes: