The Video Game R-
Evolution
Julio Seaman
The first videogame?
1947
Cathode Ray Amusement Device
1961 - Spacewars!
1972 - Magnavox Odyssey
1972 - Magnavox Odyssey
1972 - Pong
1972 - Pong
1975 - Sears Pong
1977 - Atari 2600
Atari 2600
• CPU: 6507, 8 bit, 1.19 mhz
• RAM: 128 bytes
• ROM: 4K
• Resolution: 160x192
• Colors: 128 max, 2 x scanline
(playfield), 1 x player
Atari 2600
• Arquitecture
• 6507
• RIOT
• Stella/TIA
• Cartridge
Atari 2600: Universal Pong
Machine
• Playfield
• 2 Players
• 2 Missiles
• 1 ball
Atari 2600: ASM 6502
• Read/Write
• Register Transfer
• Stack Operations
• Logical Operations
• Arithmetic Operations
• Inc/Dec
• Bit shifting
• Jump!
• Branching
Atari 2600 - General
Go to "Random Terrain" to see original article
Atari 2600: Playfield
• PF0,PF1,PF2
• COLUPF, COLUBK
• CTRPLF
• D0: Reflect
• D1: Score
• D2: Priority
• D4-5: Ball size (1,2,4,8)
Atari 2600: Playfield
Atari 2600: Playfield
“Racing the Beam”
Original Article at "Random Terrain"
Atari 2600: Playfield
How MK would have looked in an Atari 2600
Atari 2600: Playfield
Atari 2600: Playfield
Atari 2600: Playfield
Atari 2600: Players &
Missiles
• “Mejor resolución” (1 clock x bit)
• Definición: GRP1, GRP2
• 1 color (COLUP0, COLUP1)
• player.setPosition(x,y); // yeah, right!
• y = scanline #
• x = ?
• RESP1,RESP2,RESMP1,RESMP2
• HMP0,HMP1,HMM1,HMM2; HMOVE
Atari 2600: Players &
Missiles Variations• NUSIZ0, NUSIZ1
• Bits 0-2:
• 0 One copy (X.........)
• 1 Two copies - close (X.X.......)
• 2 Two copies - medium (X...X.....)
• 3 Three copies - close (X.X.X.....)
• 4 Two copies - wide (X.......X.)
• 5 Double sized player (XX........)
• 6 Three copies - medium (X...X...X.)
• 7 Quad sized player (XXXX......)
• Bits 4-5: Missile size (0..3 = 1,2,4,8 “pixels” width)
Atari 2600: Glitches
Atari 2600: Variations
Atari 2600: Adventure
Atari 2600: Adventure
Atari 2600: Video Chess
Atari 2600: Video Chess
“Venetian Blinds”
Atari 2600: Activision
"You are no more important to that game
than the guy on the assembly line who
puts it together." - Ray Kassar, Atari CEO
Atari 2600: Activision
Game Crash of 1983
Atari 2600: Game Over!
1983 - NES
NES
• CPU: RICOH (basado en 6502), 8 bit,
1.79 mhz
• RAM: 2kb, Video RAM: 2kb
• ROM: “Kirby’s Adventure” (732kb)
• Resolución: 256x224
• Colores: 4 paletas de 16 colores, 4 por
tile, 25 max
NES
• Arquitectura
• 6502
• PPU
• Cartridge
Atari 2600 vs NES
NES: The Tile Machine
• PPU
• Pattern Tables
• Name Tables
• Sprites
NES: Pattern Tables
• 8 kb
• 8x8 o 8x16 (bit 5 de PPUCTRL)
• 4 colores, 2 bits
• Secciones (bit 4 de PPUCTRL)
• Background
• Sprite
NES: Name Tables
• 32x30 tiles (de 8x8, 256x240 pixels)
• attributes table to indicate palette
• addressing for 4 tables (2000h, 2400h,
2800h, 2c00h)
• 2kb RAM, oops!
NES: Name Tables
Mirroring
NES: Name Tables
Scrolling
• 2 writes into PPUSCROLL
• x
• y
• Bits 1 y 0 of PPUCTRL
NES: Pattern Tables
Scrolling
NES: Sprites
• 64 at the same time
• 8 per scanline
• write into SPR-RAM
• Y
• Tile #
• Attributes
• Bits 0-1: Color
• Bit 5: Priority
• Bit 6: Horizontal flip
• Bit 7: Vertical flip
• X
PC
PC: CGA
• 2 modes (ah, al, int 13h)
• text
• 16 colors (+ blinking)
• 80x25
• b800h : text/attributes matrix
• graphic
• 4 colors. 4 palettes?
• 320x200
• a000: pixel matrix
PC: CGA
PC: CGA
PC: CGA
PC: CGA
PC: CGA
PC: CGA
CGA: Composite Output
CGA: Composite Hack
PC: CGA
CGA -> VGA
CGA -> VGA
CGA -> VGA
3D: 80’s
Castle Wolfenstein
3D: Ray Casting
Wolfenstein 3D
Trees
BSP Trees
Doom
Current limitations?
Thanks for coming!

The Video Game R-Evolution

Editor's Notes

  • #3 Thomas T. Goldsmith
  • #4 estudiantes MIT
  • #11 418 juegos hasta 1992
  • #30 created by Warren Robinet
  • #33 David Crane, Larry Kaplan, Alan Miller, and Bob Whitehead