Keith J. O'Hara
Associate Professor
Computer Science Department
Swarthmore College
C.V.
News
Teaching
Schedule
the draB Lab
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)