Encore: Atari’s Second System Joe Decuir, Atari Alumnus Standards Architect, CSR Distinguished Lecturer, IEEE Consumer Electronics Society Jdecuir@ieee.org Agenda • Lessons Atari learned from the Atari VCS (aka 2600) • The competitive landscape in the late 1970s • How we decided the target market • How we decided the hardware features • How we decided the software features • Ported Arcade games • Original games: Star Raiders • The development ecosystem • What we learned from the Atari PCS – visions for our third system Our first success: Atari VCS • This was a good idea, executed surprisingly well • The hardware was cheap enough, to make it to market in 1977. • The hardware was flexible enough to enable great game designers • The market concept was simple: take relatively complex contemporary games and bring them home. • Technical Reference: Racing the Beam, MIT Press, Montfort & Bogost • Social history: Atari: Business is Fun, Goldberg & Vendel • Crucial: the 6502 was fast enough to allow a line-by-line display • A bit map would have been prohibitively expensive at that time. Atari 2600 Page 4 Atari 2600: Combat screen Page 5 Atari 2600 system Modulated RF cable Video & Audio I/O Plug-in cartridge CPU System Local I/O ports Console switches Joystick User inputs TV: Synthetic video Synthetic audio User outputs Page 6 Atari 2600 system diagram Page 7 Lessons Atari drew from the VCS’ success 1. Make a flexible system; the programmers are smart • Bill Joy says: ‘design your product around the assumption that not all of the smart people in the world work for your company’. • Allow for self development: let programmers use the machine itself to develop new games and/or other applications • This would generate recursive feedback: the system with the biggest source of applications (e.g. games) would attract the most sales. 2. For games, allow the programmers to follow the beam, even if we don’t know what all they will do with that flexibility 3. In a new design that has a screen map (bit map or character map), use that memory efficiently. 1977: two kinds of competition Video Game consoles • Colecovision • Mattel Intellevision • Fairchild Channel F Personal Computers • S-100 machines • Apple II (next slides) • Commodore PET • Radio Shack TRS-80 Page 9 Competition: Apple II Page 10 Early Apple II character display: Zork Page 11 Market Concept • Atari believed that the best home computer would play great games • This dichotomy constantly pulled in two directions: • What does it take to make a next generation game machine? • What does it take to make a useful home productivity computer? • Atari brought out two machines in parallel: 1. A great game console that could be a computer: Atari 400 2. A personal computer that played great games: Atari 800 • From a software standpoint, they were identical • Physical differences: • membrane keyboard (400) vs full travel keyboard (800) • fixed RAM (400, 8KB) or expandable RAM (800, 8 - 48KB) Page 12 Application requirements for a console The arcade world was pushing the boundaries: bigger and more complicated playfields and players 1. Bit maps, with multiple colors 2. Character maps, for repetitive detail 3. More moving objects 4. The ability to add playfield motion in two dimensions Hardware requirements for a console • We could afford a screen map with resolution higher than 40 x 24 • We needed to be efficient with a screen display • The original design was 4KB; we got 8KB by buying defective parts. • We invented graphic character maps, making different use of the same hardware used for monochrome character maps • We added the ability to scroll a bit map or character map in 2 D • There is hardware support for horizontal and vertical scrolling • We also extended the ability to do ‘sprites’: • Four 8-bit objects and four 2-bit objects, all independently movable • We allowed the programmers to make adjustments in a screen vertically: change colors, move objects, scroll, change character sets, etc Character maps and bit maps • ANTIC contained a Display List Processor • a simple parallel processor with a few instructions. • These instructions chose the graphics mode, scrolling, and interrupts • These graphics modes could be mixed on a logical line-by-line basis: • Bit maps: 320x1 bit (monochrome); 160x2 (4 color); 80x1; 80x2; 40x2 • Character maps: 40x8x8x1 (monochrome); 40x8x4x2 (4 color) • RAM budgets: • • • • Hi res bit map: 320x192x1 =7680 bytes, almost all standard RAM (8KB) 4 color bit map: 160x96x2 = 3840 bytes, almost all of the original RAM (4KB) Monochrome alphanumeric characters: 40x24x8 = 960 bytes 4 color character map: 960 bytes + 2048 byte character set • Note: monochrome or color character maps could be in ROM Placeholder for demo • Atari monochrome character mode • Atari graphics character mode • Set character set pointer to random data in the OS • Atari graphics: 320x1, 160x2 • Type in a simple plot program Atari 400 Atari PCS diagram – from De Re Atari Application requirements for a computer The hardware requirements were driven by the killer software applications: 1. Word processing – e.g. Atariwriter 2. Spreadsheets – e.g. VisiCalc 3. Basic programming – Atari and Microsoft 4. Communications = terminal emulation over a modem Hardware requirements for a computer 1. Character display • we limited ourselves to a home TV, so we had to accept a limit of 40 characters/line 2. Enough RAM for the applications • We used DRAM, not SRAM. This required refresh cycles 3. Mass storage on diskettes 4. A printer port 5. Serial communication for terminal emulation Atari 800 system with 3 SIO peripherals Atari 800 ‘tank’ internal boards Complete Atari 800 system w/SIO & peripherals TV or Monitor w/speakers Atari 850 I/O Ports Parallel Printer Port CentronixCompatible Printer Serial Port video audio Atari PCS CPU SIO Atari 810 FDD 300/1200 bps Modem Phone cable To PSTN The external I/O requirement problems • The Apple II has slots! • This made general I/O expansion easy • How they got slots: Apple did NOT include an RF TV modulator • Including one would subject them to FCC regulations that they could not meet • The base Apple II would drive a separate monitor • Wozniak did a great job of moving diskette IO functions from an expensive diskette controller ASIC to 6502 firmware • This made an Apple II with two diskette drives cost effective in 1979 • A simple expansion card could drive a Centronix printer • A more complicated card could hold an internal 300 bps modem Atari had a new problem • Personal computer or video game console systems generate substantial radio frequency interference. • Modern systems need RFI shielding to pass FCC class B tests • The FCC had I Type requirements for anything connected to a TV antenna • This is before they relaxed them all in 1980 when they established class B • Atari’s decision to confine video to a TV required designing to pass FCC Type I, which were over 20 dB tougher than class B • The Atari 2600 was contained, and didn’t need peripherals • It was a victory when the FCC decided that changing cartridges didn’t matter • This raises the huge question: how could Atari expand a system? Atari had two answers • For RAM expansion, Atari put expansion slots inside the Atari 800 case • That entire system fit within an aluminum casting about 1mm thick • In your physics classes, these are called Faraday cages • For all other expansion, Atari had to invent new: a Serial IO Bus. • • • • The data rate was set to 19,200 kbps, quiet enough for the FCC This was easily fast enough for external printer ports This was easily fast enough for the dial up modems we imagined at the time This was tolerable enough for diskette drives from the time, but those devices got a lot faster • This was completely inadequate for hard discs, but these were prohibitively expensive in 1979 Costs of Serial IO Expansion • The decision to use home TVs AND to support external computer I/O functions drove a lot of COST into a COMPLETE SYSTEM. • The Atari 810 single diskette device was a parallel computer subsystem with another 6502, ROM, RAM, SIO IO, diskette IO, the physical drive and power • The Atari 820 printer was another parallel computer with a 6502, ROM, RAM, SIO IO, a 40 column printer mechanism and power • The Atari 850 expansion devise had another 6502, RAM, ROM, SIO IO, a DB-25 Centronix printer interface, four DB-9 RS-232 serial interfaces and power • A complete useful system was too expensive to be competitive with an Apple II Atari 850 Interface Atari 850 board SIO bus pins 1. 2. 3. 4. 5. 6. 7. Clock input Clock output Data Input Ground Data output Ground Command (PC to peripheral) 8. Motor Control (cassette) 9. Proceed (flow on) 10. +5v DC/Ready 11. Audio input (cassette) 12. +12v DC 13. Interrupt (peripheral to PC) Atari system software – the Atari OS • Atari accepted that the system would come with an operating system • That would perform what we call a BIOS = Basic Input Output System • All the essential internal IO is abstracted via IO Control Blocks (IOCB) • Get character, put character, etc • This included drivers for bundled devices: • S: (Screen); K: (Keyboard); E: (Editor) • This also included drivers for anticipated SIO devices: • D: (disk); P: (printer); R: (RS-232 serial); C: (cassette) • The BIOS is 8K; we also added 2K of floating point math • The rest of the system was allocated to the Disk Operating System (DOS) • e.g. file management) Personal productivity and education Personal Productivity and Communications • Atari produced Atariwriter • Software Arts produced VisiCalc, compatible with the Apple II version • Synapse produced a suite of tools: Syncalc; Syntrend; Synfile • Broderbund produced Print Shop • Atari Shipped Telelink I as a terminal emulator for BBS access Education • Atari produced the “Education System” cartridge, which used content on cassette – both digital content and recorded narration • Atari also produced the Pilot programming cartridge and toolkit. • Fisher Price produced “Linking Logic” Ported Arcade Games Demo samples in hand: • Asteroids • Donkey Kong • Galaxian • Missile Command • PacMan • Space Invaders Best original game: Star Raiders Programming languages • Atari approached Microsoft for Basic • Their version took 12K • Microsoft went to Shepherd Microsystems (aka OSS) for an 8K version • Microsoft also sold their BASIC II as a ‘cross compatible’ version • • • • Atari, OSS and Synapse produced 6502 Assemblers OSS shipped Tiny C OSS shipped Action! Which was optimized for game design FORTH was available from the Atari Program Exchange (APX), and two other companies • LOGO was available, for educational uses • LISP was available Development environment • This was the first ‘game console’ that could do ‘self development’ • The system documentation was very good: • from Atari, from APX (De Re Atari), and several 3rd parties • There were several self assemblers: Atari, OSS, Synapse • I am not aware of commercial single-step monitors; Atari had them • There were higher level languages: Action!, Tiny C • Programmers could write games directly to diskette for small markets • Their customers had to own an FDD, which cost a lot • The could also use PROM programmers to generate cartridge prototypes: • Example: Thompson Electronics’ Proburner fits into a cartridge slot Dedicated game console: Atari 5200 Lessons learned, and not learned As a game console: • We did provide good self-development tools to attract developers • The founders of Activision and Imagic had not left yet, so Atari was not afraid of third-party developers – that happened later As a computer: • Massive cost reduction possible after FCC changed the rules • The Commodore C64 passed Atari at this point • Atari should build a unit with integrated FDD • Atari could build an expansion unit with hardware slots Concepts for a rd 3 system As a game console: • Cartoon-level animation • Accelerate bit map manipulation in hardware • Synchronize with external video (genlock) As a computer: • 80 column character displays • Enough bit mapped memory for a Xerox Alto-like ‘window’ OS • Larger memory: 128KB or more • Built in 3.5” FDD • Expansion to HDD Visions of a 3rd system: Amiga 1000 Read: “The Future Was Here” by Jimmy Maher, MIT Press Resources: • • • • • • • • • • Racing the Beam, MIT Press (eBook and hardcover) The Future was Here, MIT Press (eBook and hardcover) Atari: Business is Fun (softcover) De Re Atari, Chris Crawford (softcover and web) Atari Home Computer System: Hardware Manual; Operating System User Manual; Operating System Source Listing Mapping the Atari, Chadwick Your Atari Computer, Osborne The Mythical Man-Month, Brooks Art of the Video Game, Smithsonian Web pointers More Questions? 42