As a game console - Portland Retro Gaming Expo

advertisement
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
Download