3 Generations of Game Machine Architecture Joe Decuir alumnus of Atari & Amiga.

Slides:



Advertisements
Similar presentations
Hardware Lesson 3 Inside your computer.
Advertisements

HARDWARE Rashedul Hasan..
Parul Polytechnic Institute
 2002 Prentice Hall Hardware Basics: Inside The Box Chapter 2.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Encore: Atari’s Second System Joe Decuir, Atari Alumnus Standards Architect, CSR Distinguished Lecturer, IEEE Consumer Electronics Society
Team Monte Cristo Joseph Carrafa Sharon Clark Scott Hassett Alex Mason The Deep Fried Game Station.
Computational Astrophysics: Methodology 1.Identify astrophysical problem 2.Write down corresponding equations 3.Identify numerical algorithm 4.Find a computer.
Memory Organization.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
IT Systems Memory EN230-1 Justin Champion C208 –
Chapter 5 Computing Components. 2 Chapter Goals Read an ad for a computer and understand the jargon List the components and their function in a von Neumann.
EET Advanced Digital Display Adapters. A vital part to the system provides the visual part of the Human/Computer interface In boot process, goes.
Chapter 6 Memory and Programmable Logic Devices
Computer Systems CS208. Major Components of a Computer System Processor (CPU) Runs program instructions Main Memory Storage for running programs and current.
Semester One 2001/2002 Sheffield Hallam University1 The Motherboard Major circuit board in PC Holds CPU where calculations and instructions on data are.
Counters and Registers
The Personal Computer A Timeline The Commodore PET First Personal Computer 1Mhz processor 4K memory Tape drive for storage Capable of displaying.
Atari 2600: Stella Console Hardware & Combat Sample Game Software
Ping-O-TronicColor TV GameTelstar (game console) The players controlled their paddles with dials attached directly to the machine. Additionally, as an.
Atari 2600 Homebrew Darrell Spice, Jr..
1/1/ / faculty of Electrical Engineering eindhoven university of technology Input/Output devices Part 3: Programmable I/O and DSP's dr.ir. A.C. Verschueren.
INTRODUCTION TO MICROCONTROLLER. What is a Microcontroller A microcontroller is a complete microprocessor system, consisting of microprocessor, limited.
Computer Systems 1 Fundamentals of Computing
ECE 447: Lecture 1 Microcontroller Concepts. ECE 447: Basic Computer System CPU Memory Program + Data I/O Interface Parallel I/O Device Serial I/O Device.
Operating Systems What do you have left on your computer after you strip away all of the games and application programs you bought and installed? Name.
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
The Purchase of a PC Robert Grauer and Maryann Barber.
Computer Hardware Ruth Watson
Chapter 2 IT Foundation Data: facts about objects Store data in computer: – binary data – bits – bytes Five types of data.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
Computer Processing of Data
XP Practical PC, 3e Chapter 16 1 Looking “Under the Hood”
The Computer Systems By : Prabir Nandi Computer Instructor KV Lumding.
 Design model for a computer  Named after John von Neuman  Instructions that tell the computer what to do are stored in memory  Stored program Memory.
By Danny Matthews Supervised by Dr Des Watson. “ A very precise form of simulation which enables one type of computer to operate as if it were a different.
A Short History of the PC. Prolog Before the IBM, there were many PC vendors. –These were typically garage-shop start-ups with shaky financing. –The big.
ECE291 Computer Engineering II Lecture 9 Josh Potts University of Illinois at Urbana- Champaign.
Video Monitor Uses raster scanning to display images –Beam of electrons illuminates phosphorus dots on the screen called pixels. Starting at the top of.
Buses Warning: some of the terminology is used inconsistently within the field.
Hardware & Software The CPU & Memory.
Eng.Abed Al Ghani H. Abu Jabal Introduction to computers.
Slide 1 – CPU Acronym Definition The CPU is a small square unit that sits behind a fan, the fan keeps the CPU from over heating. The CPU (Central Processing.
ECE Lecture 1 Microcontroller Concepts. Basic Computer System CPU Memory Program + Data I/O Interface Parallel I/O Device Serial I/O Device Data.
1 Hardware and Software b Hardware the physical, tangible parts of a computerthe physical, tangible parts of a computer keyboard, monitor, wires, chips,
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
© 2006 Pearson Education Chapter 1: Computer Systems.
8254 Timer.
BMOW is a Custom CPU Design Like your PC’s Pentium, but much simpler Closest cousin is the MOS 6502 used in the Apple II, C-64, and Atari VCS =
Multilevel Caches Microprocessors are getting faster and including a small high speed cache on the same chip.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
1 Chapter Seven CACHE MEMORY AND VIRTUAL MEMORY. 2 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4.
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
بسم الله الرحمن الرحيم MEMORY AND I/O.
1 Chapter Seven. 2 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4 to 6 transistors) DRAM: –value.
CS 1410 Intro to Computer Tecnology Computer Hardware1.
Presentation 2: A More Detailed Look Advanced VLSI Design (ECE 1193) Kent Nixon, Tom Nason, Enes Eken, and Christopher Lukas January 17, 2013.
The Purchase of a PC Robert Grauer and Maryann Barber.
Programming with Java. Chapter 1 Focuses on: –components of a computer –how those components interact –how computers store and manipulate information.
Robert Grauer and Maryann Barber
Microprocessor and Assembly Language
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Graphics Hardware: Specialty Memories, Simple Framebuffers
Five Key Computer Components
Presentation transcript:

3 Generations of Game Machine Architecture Joe Decuir alumnus of Atari & Amiga

Agenda My background Atari Stella system (2600) Atari Colleen system (400/800, 5200, etc) Amiga Lorraine system (1000, 2000, etc) looking ahead

My background, pre-Atari Clearly an engineer from my first Erector set (age 6) BS & MS degrees from Berkeley, in EECS and pre-med, including Intel 4004 design A couple years spent in medical instrument design and in medical research that leveraged those instruments. Bought my one 6502 at Wescon in 1975.

Stella Architecture Product requirements Design choices Hardware/firmware tradeoffs Results Lessons

Stella Requirements Atari management had a clear vision for the product: provide a means to bring successful Arcade games home. We had to hit a $200 max retail price for the console, for Christmas of Expected product life: 3 years (e.g. to 1979) Non-goals: be an expandable personal computer.

Stella System TIA video chip (see below) 6502-based processor, “6507”: –13 bit address, no interrupts, RDY line –1.2 MHz 6532 combo –128 bytes of RAM (all mapped into zero page) –16 bits of parallel I/O (joysticks and panel) –timer (interrupt not used) cartridge slot for 2K or 4K ROMs (24 pins) 2 game control ports

Stella Implementation From coin-op games, there were two obvious ways to architect the system: –non-programmable random logic –programmable (uP) with screen bit-map Fatal flaws in both: –random logic would be slow development, and not re-usable –bit maps were expensive

Bit maps and games Games traditionally contain a background of some kind (playfield) and foreground active objects (players, sprites, etc). If only a bit map is used for everything: –sprite graphics and motion resolution are the same as the playfield resolution, forcing –a hard choice between high cost or clunkiness

The breakthrough: soft video Mayer and Milner proposed using a fast enough processor to reload video on a line- by-line basis. The processor replaces logic. They had to wait for the right chip: –Intel 8080 was expensive, needed 3 supplies. –Motorola 6800 was too slow –Fairchild F8 was even slower –MOS 6502 was perfect: fast and cheap

Why was the 6502 so good? Process speed: depletion load pullup transistors were much faster and smaller than enhancement pullups (e.g. 6800). Architecture speed: –little-endian addresses pipelined instructions –indexed-indirect and indirect-indexed instructions allowed use of zero page as an array of fast memory pointers.

Design decisions Our target coin op games were two player action (Tank - Combat), sports (Basketball) and paddle (Pong -Video Olympics). We decided that we needed: –2 8-bit motion objects (P0, P1) –3 1-bit motion objects (M0, M1, Ball) –20 or 40 bits of low resolution playfield

Hardware Software tradeoffs: Motion control The easy way to make these motion objects would require a binary horizontal counter, and 5 8-bit position registers and comparators. We thought this would be huge. The cheap way was to use dynamic polynomial counters, running in parallel. Motion in implemented with resets and motion vectors.

Motion control, continued To appease the programmers, I generated a ‘Compute Horizontal Reset’ CHRST utility. Called with object index in X, position in A: –computes a loop count (15 clocks) –computes a residual motion vector (+/-7) –waits for sync, loops, resets and writes motion For the programmers, this was good enough

Motion control, epilog An alternative that we considered too late: keep the polynomial horizontal counter replace the separate object counters and motion registers with simple position latches and comparators use a 160-byte look up table in cartridge ROM to map binary horizontal positions to polynomial counter values.

Other TIA chip features 4 7-bit palette registers 15 collision detection latches 2 channel sound system –variable prescaler –4+5 bit polynomial counters –volume registers trigger and potentiometer input ports trigger input could be used for light pens or light guns.

Stella Graphics Fundamental pixel resolution is 1 color burst clock (280nsec, 160/line) by 1 line. Motion objects are 1, 2, 4 or 8 clocks/bit. Motion objects may be replicated in hardware. Playfield is 4 clocks per bit. Playfield bits are either repeated or reflected in hardware.

Example Stella Game structure In Vertical Blank: –detect collisions and control inputs –decide new game conditions –computer new game graphics pointers In Display, for each line or two: –step graphics pointers –fetch graphics –wait for horizontal blank, and write graphics

Atari 2600 market history 1st shown at June 1977 CES show 250,000 sold in 1977, with 6 cartridges 550,000 sold in 1978, but big unsold inventory (800,000 made that year). Sales continued to double annually until the market collapse in Est. sales over 50 million by late 1980s.

Atari 2600 Lessons Make the hardware a flexible platform for clever developers. (Bill Joy’s theorem) Good hardware-software tradeoffs make the product economically viable. Real marketing is essential. This means that somebody has a clear vision of: –who will buy the product –why they buy the product at all –why they buy the product from us

Colleen System Architecture (Atari 400/800, 5200, 65XE, etc) Product requirements Design choices Hardware/firmware tradeoffs Results Lessons

Colleen requirements Split requirements: –support 1978 vintage arcade games. We knew we would need to leapfrog the 2600 before somebody else did. –support home computer character and bit map graphics. We saw the Apple II, Commodore and Radio Shack appliance machines coming. Result: –Atari 800 was full computer –Atari 400 was a game machine w/flat keyboard

Colleen computer requirements Keyboard Character graphics Enough memory to run large programs. Means to load programs from tape or disk. Means for memory expansion Means for peripheral expansion

Colleen game Requirements Hardware drives the graphics, so that the CPU has time to do other things. More moving objects. Multi-colored character maps, so that complex playfields can be generated without large amounts of memory. Playfield motion: vertical and horizontal scrolling.

Colleen System Architecture 5 LSI parts: –6502 at 1.8 MHz, all address and interrupts –ANTIC: Video address generator, etc –CTIA/GTIA: video output –POKEY: pots, keyboard, audio, serial bus –6520 PIA: simple 16 bits of parallel I/O at least 4KB of DRAM (1st shipped w/8K) 1-2 ROM cartridge slots 4 game controller ports

Colleen Video architecture 5 motion object generators Display list processor generates playfield or character displays, on line-by-line basis. Both graphics generators get DMA access, so they share memory with the Maximum resolutions: 320x240x1 in monochrome or 160x240x2 in color 8-bit palette registers: 4 color, 4 luminance

ANTIC Display list modes 8-bit instructions: –4-bit display mode –2-bits scroll control –1-bit interrupt request –1-bit load new address bit map modes: 40x8x2 to 320x1x1 text modes: 20x(8x8)x2 and 40x(8x8)x1 color characters: 40x(4x8)x2

ANTIC player graphics DMA from 5 fixed strips of 120 or 240 bytes of memory. Horizontal motion by writing a binary register (the way the programmers wanted Stella to work). Vertical motion by erasing and rewriting the picture. Vertical reuse possible: use Display list interrupts to rewrite horizontal positions.

More about playfield motion Complex games may have a huge virtual playfield, windowed on the screen. For each display instruction with horizontal scrolling enabled, ANTIC will load 192 pixels worth of data, and clip, controlled by the horizontal scrolling register. For each display instruction with vertical scrolling enabled, ANTIC will clip that line, controlled by the vertical scrolling register.

Non-video I/O Pokey supported 4 audio channels Pokey supported 8 potentiometer inputs, sampled in hardware Pokey scanned a keyboards, using commodity CMOS external muxes.

Colleen system issues The most direct competitor was the Apple II The Apple II was not bundled with a TV RF modulator, so it was not regulated by FCC. It could have slots! Peripherals were easy. The 800 was cased in cast aluminum The 800 had internal memory slots. The 800 used a serial bus for external expansion, 19,200 b/s. The peripherals had intelligence, so they were expensive.

Colleen in the market First debut in Sold respectably but not near as well as the Apple. FCC changed the rules in 1979: “Class B” Commodore C64 jumped in with lower cost and more memory. Atari answered with 800XL, etc, but trailed Apple and Commodore (and Radio Shack) Repackaged as pure game machine, 5200, competed with wealth of 2600 games.

Colleen Lessons A personal computer has to have easy expansion, with lots of room for 3rd parties to add value (e.g. Apple II and IBM PC/AT family) It appears to confuse things to sell a hybrid game console and crippled PC (e.g. Atari 400). It was bad luck that the FCC didn’t change the rules until after the Atari 800 shipped. Something like the 1200XL might have flown.

Amiga Lorraine System Company founded by Dave Morse (Mattel marketing) and Jay Miner. I was badge #3. Original product conception: generate cartoon-quality video games. Also a computer, with a built-in floppy driver for distributing games. Commodore turned it into a “color multi- media MAC” in 1984, shipped in 1986.

Amiga System Architecture (Amiga 1000, Amiga 2000, etc) Product requirements Design choices Hardware/firmware tradeoffs Results Lessons

Amiga computer requirements Use a modern processor: (w/o memory management unit) Built in floppy drive, not built in hard drive. 40 or more characters/line on TV, 80 or better on a monitor GUI OS requirement added after Commodore purchase in 1984.

Amiga gaming requirements Hardware assist for: –common graphics operations –changing the hardware synchronous with the video beam. Foreground and background bit maps Multiple motion objects Multi-channel DMA audio Loading games from floppy drive. Interact with external video (disk, VCR, etc)

Amiga system design 4 LSI chips: –68000 CPU, at 7.2 MHz –AGNUS address generator/DMA engine –DENISE video output chip –PAULA I/O chip 256K DRAM minimum, 512K common 2 game ports Floppy drive

Amiga video design Primary display is a set of bit plane engines. Bit planes can be used as a set of 4, for 16- color displays, or in two sets of 3 and 3, for an 8-color foreground (or motion objects) and an 8-color background. 8 identical sprite engines. Palette registers are 12 bit: 4 each RGB, or 4 each color, saturation and luminance

Amiga bit blitter detail Automates common graphics operations: –line draw –area fill –splicing and manipulating images Bit blitter: –3 input images, 1 output image –2 input images can be barrel shifted independently –any arbitrary operation can be performed, selected by 8-bit mask.

Amiga sprite engines Each engine reads a string of 16-bit words in memory. The first words specify top left corner and size. Subsequent words are data (16 x 2 bits/line) Sprites can be reused to the end of the screen.

Amiga Audio 4 DMA channels: –8 bits/sample –adjustable sample rate –sample table in memory can be from 2 bytes (square wave) to 8192 bytes. –Separate pointers: each chunk of audio can come from anywhere in memory.

Amiga System Issues The first version would have looked like the Amiga 500, with 128K of DRAM and no GUI OS, and shipped in Amiga ran out of money, which slowed development. Commodore bought it in June of Commodore repositioned it as a color multimedia MAC-like PC

Amiga in the market The Amiga 1000, loaded with computer options, shipped in Competitors: –IBM PC/AT and clones –Mac, with color –Atari ST It was the best multi-media computer of its time, but it had a distinct market only for video production (with the Video Toaster) It became a cult favorite, but a market failure.

Amiga lessons Again, clear product focus matters a lot: competent marketing people working with engineers who listen. Bad luck matters: the collapse of the video game business in 1984 poisoned the well financially and prospectively. Otherwise, we would play Amiga consoles instead of the NES in the mid-1980s.