3 Generations of Game Machine Architecture - PowerPoint PPT Presentation

About This Presentation
Title:

3 Generations of Game Machine Architecture

Description:

Original product conception: generate cartoon-quality video games. ... luck matters: the collapse of the video game business in 1984 poisoned the well ... – PowerPoint PPT presentation

Number of Views:117
Avg rating:3.0/5.0
Slides: 45
Provided by: JoeDe
Category:

less

Transcript and Presenter's Notes

Title: 3 Generations of Game Machine Architecture


1
3 Generations of Game Machine Architecture
  • Joe Decuir
  • jdecuir_at_nwlink.com
  • alumnus of Atari Amiga

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

3
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.

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

5
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 1977.
  • Expected product life 3 years (e.g. to 1979)
  • Non-goals be an expandable personal computer.

6
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

7
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

8
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

9
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

10
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.

11
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

12
Hardware Software tradeoffsMotion 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.

13
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

14
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.

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

16
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.

17
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

18
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 1983.
  • Est. sales over 50 million by late 1980s.

19
Atari 2600 Lessons
  • Make the hardware a flexible platform for clever
    developers. (Bill Joys 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

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

21
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

22
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

23
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.

24
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

25
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 6502.
  • Maximum resolutions 320x240x1 in monochrome or
    160x240x2 in color
  • 8-bit palette registers 4 color, 4 luminance

26
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

27
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.

28
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.

29
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.

30
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.

31
Colleen in the market
  • First debut in 1979. 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.

32
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 didnt change the
    rules until after the Atari 800 shipped.
    Something like the 1200XL might have flown.

33
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.

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

35
Amiga computer requirements
  • Use a modern processor 68000 (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.

36
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)

37
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

38
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

39
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.

40
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.

41
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.

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

43
Amiga in the market
  • The Amiga 1000, loaded with computer options,
    shipped in 1986. 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.

44
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.
Write a Comment
User Comments (0)
About PowerShow.com