Keith J. O'Hara

teaching

CPSC 86

Game Systems: Platforms, Programs & Power (S2026)

overview | logistics | schedule | edstem | assignments | resources

Tentative Schedule (changes frequently)

week date topics readings pattern work assigned
1
PLATFORM STUDIES

(listen ahead)
9/20/2026 course introduction syllabus; RtB and 10P forewards 10 PRINT
9/22/2026 platform study: 10: PRINT 10P 1–242; VIC20 and C64 emulators
2
HACKING SYSTEMS

"Programming as Forgetting"
by Parrish
1/26/2026 hello TIC-80; 10 PRINT; snake TIC-80 tutorials; Pippin Barr's snakisms; 1D Games tic 80 platform study
1/27/2026 hacking; remaking; demaking "Hacker" by Coleman; read about, download & play a demake of Halo; "Searching Internet Archive"; TIC-80 memory map and file format REMAKE: reimagine an early game
1/29/2026 before atari: arcade & mainframe: Tennis for Two; Pong; Breakout; OXO; SpaceWar (source) RtB 1–11; A Video Game by Any Other Name; Pixels in Print part 1 and part 2; "The Gender Binary of Computing: Challenging Sexism in Technology" by Zalkikar component (keith) HACK: modify an existing 2600 game
3
GAMES AT HOME

"Jerry Lawson: The Engineer Who Changed the Game"
2/2/2026 6502 ASM & stella 6502 tutorial; how to hack a rom (battlezone) tutorial; Atari 1–31; 10P 195–242; run it! stella/snake
2/3/2026 combat [src] & video olympics RtB 12–42; "Untold Story of the Game Cartridge" game loop ()
2/4/2026 mos 6502; hardware; adventure [src] RtB 43-63; "Indigenous Circuits: Navajo Women and the Racialization of Early Electronic Manufacture" double buffer ()
4
ATARI 2600

"High Score 1"
2/9/2026 collision detection vectors & driving tutorials TIC-80 mini-lab
2/10/2026 pac-man; sprites RtB 65–79; Atari 31–53; distellamap update method ()
2/12/2026 yars revenge; asteroids; input RtB 82–97; Atari 71–98 command ()
5
ATARI 2600 II

"High Score 2"
2/16/2026 E.T.; bank switching "Was E.T. Really the 'Worst Game Ever'?" & fixing E.T. Atari 195–201 fixing E.T.
2/17/2026 pitfall [src]; procedural graphics; river raid [src] RtB 99-117; Atari 155–164 state ()
2/19/2026 star wars; pressure cooker; sound RtB 119–135; Atari 171–184 singleton ()
6
SIMULATION & EMULATION I

"Atari Game Over"
2/23/2026 HACK/REMAKE WORKSHOP
2/24/2026 emulation; state; particles scene management tutorial; "Use of a Game Over: Emulation and the Video"; RtB 137–150 flyweight ()
2/26/2026 entombed (mazes); wabbit; timers "Pioneer Rediscovered: The Woman who Brought Female Representation to Games"; "Entombed: An archaeological examination of an Atari 2600 game"; timers prototype ()
7
HACK THE MAGIC CIRCLE

"American Hysteria #Gamergate"
3/2/2026 REMAKE/HACK WORKSHOP
3/3/2026 REMAKE W_I_P POSTER play-testing
3/5/2026 nintendo; donkey kong Error 1–79 lazy initialization ()
8
BREAK
3/9/2026 SPRING BREAK
3/10/2026
3/11/2026
9
NES/FAMICOM I

"Story Behind Super Mario Bros. 3"
3/16/2026 HACK/REMAKE
3/17/2026 NES Error 81–115; NES 55–62; signal observer () DEMAKE: back-port a current game to the NES
3/19/2026 SMB [src]; scrolling Error 116–162; NES 63–68; 75–82 dirty flag ()
10
NES/FAMICOM II

Tetris Movie
3/23/2026 pattern & name table NES 1–53; Super Mario Clouds & I Shot Andy Warhol; "NES Memory Visualization" and plots 10 print NES remake
3/24/2026 storage; vram buffers; zelda [src] Error 163–196 event queue ()
3/26/2026 controls NES 69–84
11
SOUND

Reliving Nintendo Soundtracks with the Brickster
3/30/2026 sprites & sound NES 83–116; sound tutorial pong NES remake
3/31/2026 2A03; mega man Error 249–288; "The Women Who Invented Video Game Music"; object pool ()
4/2/2026 climber NES 117–146
12
EXPANSION

archiving & game genie
4/6/2026 mappers and interrupts NES 147-167 thread pool ()
4/7/2026 emulation II; expansion dragon quest; game genie; Error 197–248 spatial partition () MAKE: create a new 8-bit game (2600/NES/TIC80)
4/9/2026 randomizers; TAS "How 'randomizers' are breathing new life into old games"; Error 289–324 bytecode ()
13
SIMULATION & EMULATION II

"The Turing Problem"
4/13/2026 tetris; 6502 ASM reprised tetris AI; NES 171-223; "34 years later, a 13-year-old hits the NES Tetris 'kill screen'" tetris
4/14/2026 simulation; civilization; simcity "Modeling Indigenous Peoples: Unpacking Ideology in Sid Meier's Colonization"; "Model Metroplis"; "Recovering Nintendo's Lost Simcity for the NES" service locator ()
4/16/2026 slack
14
NEW DIRECTIONS

"Dr. Gladys West: The Mathematician Who Reshaped Our World"
4/20/2026 DEMAKE WORKSHOP
4/21/2026 DEMAKE W_I_P POSTER play-testing
4/24/2026 mobile; pokemon "Mobile Frontiers" by Fickle; Error 325–331 type object ()
15
PATTERNS REPRISE
4/27/2026 advanced lua; turmites; game of life lua objects; wireworld; Game of Life; Turmites data locality (keith) make workshop
4/28/2026 proto-VR "Sega VR Revived"; "Unraveling The Enigma Of Nintendo's Virtual Boy"; "The Story of the Power Glove"; early presentations; course evals; mediator publish/subscribe ()
4/30/2026 slack
16
FINAL
4/XY/2026 FINAL MAKE PRESENTATIONS)