encore: atari’s second system joe decuir, atari alumnus standards architect, csr distinguished...

42
Encore: Atari’s Second System Joe Decuir, Atari Alumnus Standards Architect, CSR Distinguished Lecturer, IEEE Consumer Electronics Society [email protected]

Upload: jean-hopkins

Post on 16-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Encore:Atari’s Second System

Joe Decuir, Atari AlumnusStandards Architect, CSRDistinguished Lecturer,

IEEE Consumer Electronics [email protected]

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

Atari2600 system

Page 6

User inputs User outputs

Consoleswitches Joystick

Local I/O ports

Video & Audio I/O

Modulated RF cable

Synthetic videoSynthetic audioTV:

CPUSystem

Plug-incartridge

Atari2600systemdiagram

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 4002. 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 consoleThe arcade world was pushing the boundaries: bigger and more complicated playfields and players1. Bit maps, with multiple colors2. Character maps, for repetitive detail3. More moving objects4. 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 ReAtari

Application requirements for a computerThe hardware requirements were driven by the killer software applications:1. Word processing – e.g. Atariwriter2. Spreadsheets – e.g. VisiCalc3. Basic programming – Atari and Microsoft4. Communications = terminal emulation over a modem

Hardware requirements for a computer1. 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 diskettes4. A printer port5. 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 PCSCPU

Atari 810FDD

Atari 850I/O Ports

Centronix-Compatible

Printer

300/1200 bpsModem

video audio

SIO

ParallelPrinter

Port

Serial Port

Phonecable

ToPSTN

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

Atari850board

SIO bus pins

1. Clock input2. Clock output3. Data Input4. Ground5. Data output6. Ground7. Command (PC to peripheral)

8. Motor Control (cassette)9. Proceed (flow on)10. +5v DC/Ready11. Audio input (cassette)12. +12v DC13. 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 educationPersonal 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 accessEducation• 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 learnedAs 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 laterAs 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 3rd 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 1000Read: “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