Keith J. O'Hara

teaching

CPSC 86

Games 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 hello tic 80
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 [src] 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 collision detection vectors & driving tutorials; map TIC-80 mini-lab
2/3/2026 combat [src] & video olympics RtB 12–42; "Untold Story of the Game Cartridge"; Atari ch 2–5
2/4/2026 mos 6502; hardware; adventure [src] RtB Ch. 3; "Indigenous Circuits: Navajo Women and the Racialization of Early Electronic Manufacture"; Atari Ch. 6 game loop (sglasha1; jwang8)
4
ATARI 2600

"High Score 1"
2/9/2026 6502 ASM & stella 6502 tutorial; how to hack a rom (battlezone) tutorial; 10P 195–242; run it!; Atari Ch. 1 stella/6502
2/10/2026 pac-man; sprites RtB Ch. 4; Atari Ch. 7-9; distellamap double buffer (pkampel1; jmartin7)
2/12/2026 yars revenge; asteroids; input RtB Ch. 5; Atari Ch. 10-13 update method (tabera1; oogunde1)
5
ATARI 2600 II

"High Score 2"
2/16/2026 HACK/REMAKE WORKSHOP
2/17/2026 pitfall [src]; procedural graphics; river raid [src] RtB Ch. 6; Atari 155–164 command (cguerre1; hharris2)
2/19/2026 SIGCSE
6
SIMULATION & EMULATION I

"Atari Game Over"
2/23/2026 E.T.; bank switching "Was E.T. Really the 'Worst Game Ever'?" & fixing E.T. Atari 195–201 fixing E.T.
2/24/2026 star wars; pressure cooker; sound RtB Ch. 7; Atari 171–184 state (jtinsle1; pdinh1)
2/26/2026 emulation; state; particles scene management tutorial; "Use of a Game Over: Emulation and the Video"; RtB Ch. 8 singleton (khikino1; mmangin1)
7
HACK THE MAGIC CIRCLE

"American Hysteria #Gamergate"
3/2/2026 REMAKE/HACK WORKSHOP
3/3/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 flyweight (jbooker1; kgabres1)
3/5/2026 REMAKE W_I_P POSTER play-testing
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 nintendo; donkey kong Error 1–79 prototype ()
3/19/2026 NES Error 81–115; NES 55–62; signal lazy initialization (moludar1; kvallej1) DEMAKE: back-port a current game to the NES
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 SMB [src]; scrolling Error 116–162; NES 63–68; 75–82 observer (iallah1; nargaw1)
3/26/2026 storage; vram buffers; zelda [src] Error 163–196 event queue ()
11
SOUND

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

archiving & game genie
4/6/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/7/2026 mappers and interrupts NES 147-167 dirty flag () ()
4/9/2026 emulation II; expansion dragon quest; game genie; Error 197–248 spatial partition (tli2; mtalukd1) MAKE: create a new 8-bit game (2600/NES/TIC80)
13
SIMULATION & EMULATION II

"The Turing Problem"
4/13/2026 climber NES 117–146
4/14/2026 randomizers; TAS "How 'randomizers' are breathing new life into old games"; Error 289–324 bytecode ()
4/16/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 ()
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 slack
15
NEW DIRECTIONS

"Dr. Gladys West: The Mathematician Who Reshaped Our World"
4/27/2026 MAKE WORKSHOP
4/28/2026 mobile; pokemon "Mobile Frontiers" by Fickle; Error 325–331 type object (acancam1; tkehind1)
4/30/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 data locality (keith)
16
FINAL
4/XY/2026 FINAL MAKE PRESENTATIONS)