Keith J. O'Hara
Associate Professor
Computer Science Department
Swarthmore College
C.V.
News
Teaching
Schedule
the draB Lab
teaching
CPSC 86
Games Systems: Platforms, Programs & Power (F2026)
overview
|
logistics
|
schedule
|
edstem
|
assignments
|
resources
Tentative Schedule (changes frequently)
week
date
topics
readings
pattern
work assigned
1
PLATFORM STUDIES
(listen ahead)
8/31/2026
course
introduction
syllabus; RtB and 10P forewards
10 PRINT
9/1/2026
hello
TIC-80
;
10 PRINT
;
snake
TIC-80
tutorials
; Pippin Barr's
snakisms
;
1D Games
hello tic 80
9/3/2026
platform study:
10: PRINT
10P 1–242
;
VIC20
and
C64
emulators
REMAKE: reimagine an early game
2
HACKING SYSTEMS
"Programming as Forgetting"
by Parrish
9/7/2026
LABOR DAY
9/8/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
9/10/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)
3
GAMES AT HOME
"Jerry Lawson: The Engineer Who Changed the Game"
9/14/2026
collision detection
vectors
&
driving
tutorials;
map
TIC-80 mini-lab
9/15/2026
combat
[
src
] &
video olympics
RtB 12–42;
"Untold Story of the Game Cartridge"
; Atari ch 2–5
9/17/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
()
4
ATARI 2600
"High Score 1"
9/21/2026
6502
ASM & stella
6502 tutorial
;
how to hack a rom (battlezone) tutorial
; 10P 195–242;
run it!
; Atari Ch. 1
stella/6502
9/22/2026
pac-man
; sprites
RtB Ch. 4; Atari Ch. 7-9;
distellamap
double buffer
()
HACK: modify an existing 2600 game
9/24/2026
REMAKE W_I_P POSTER
play-testing
5
ATARI 2600 II
"High Score 2"
9/28/2026
HACK/REMAKE Workshop
2/29/2026
yars revenge
;
asteroids
; input
RtB Ch. 5; Atari Ch. 10-13
update method
()
10/1/2026
pitfall
[
src
]; procedural graphics;
river raid
[
src
]
RtB Ch. 6; Atari Ch. 29 & 30
state
()
6
SIMULATION & EMULATION I
"Atari Game Over"
10/5/2026
E.T.
; bank switching
"Was E.T. Really the 'Worst Game Ever'?"
&
fixing E.T.
Atari Ch. 35 & 17
fixing E.T.
10/6/2026
star wars
;
pressure cooker
;
sound
RtB Ch. 7; Atari Ch. 31 –33;
scene management tutorial
singleton
()
10/7/2026
emulation;
timers
"Use of a Game Over: Emulation and the Video"
; RtB Ch. 8;
particles
flyweight
()
7
BREAK
10/12/2026
FALL BREAK
10/13/2026
10/14/2026
7
HACK THE MAGIC CIRCLE
"American Hysteria #Gamergate"
10/19/2026
HACK WORKSHOP
10/20/2026
entombed
(mazes);
wabbit
;
"Pioneer Rediscovered: The Woman who Brought Female Representation to Games"
;
"Entombed: An archaeological examination of an Atari 2600 game"
command
()
10/21/2026
slack
9
NES/FAMICOM I
"Story Behind Super Mario Bros. 3"
10/26/2026
pattern & name table
NES 1–53
10 print NES remake
10/27/2026
nintendo;
donkey kong
Error 1–79
prototype
()
10/29/2026
NES
Error 81–115; NES 55–62;
signal
lazy initialization
()
DEMAKE
: back-port a current game to the NES
10
NES/FAMICOM II
Tetris Movie
11/2/2026
pattern & name table
NES 1–53;
Super Mario Clouds
&
I Shot Andy Warhol
;
"NES Memory Visualization"
and
plots
10 print NES remake
11/3/2026
SMB
[
src
]; scrolling
Error 116–162; NES 63–68; 75–82
observer
()
11/4/2026
storage; vram buffers;
zelda
[
src
]
Error 163–196
event queue
()
11
SOUND
Reliving Nintendo Soundtracks with the Brickster
11/9/2026
sprites & sound
NES 69–73;
sound tutorial
pong NES remake
11/10/2026
2A03;
mega man
Error 249–288;
"The Women Who Invented Video Game Music"
; NES 93–108;
object pool
()
11/12/2026
scrolling; climber
NES 117–156;
thread pool
()
12
EXPANSION
archiving
&
game genie
11/16/2026
DEMAKE WORKSHOP
11/17/2026
emulation II; expansion; mappers
dragon quest; game genie; Error 197–248; NES 147-162
dirty flag
()
MAKE: create a new 8-bit game (2600/NES/TIC80)
11/19/2026
tetris
; 6502 ASM reprised; interrupts
tetris
AI; NES 163-223;
"34 years later, a 13-year-old hits the NES Tetris 'kill screen'"
spatial partition
()
13
SIMULATION & EMULATION II
"The Turing Problem"
11/23/2026
DEMAKE WORKSHOP
11/24/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
()
11/26/2026
THANKSGIVING
13
SIMULATION & EMULATION II
"American Hysteria #Gamergate"
11/30/2026
DEMAKE WORKSHOP
12/1/2026
DEMAKE W_I_P POSTER
play-testing
12/3/2026
randomizers; TAS
"How 'randomizers' are breathing new life into old games"
; Error 289–324
bytecode
()
15
NEW DIRECTIONS
"Dr. Gladys West: The Mathematician Who Reshaped Our World"
12/7/2026
MAKE WORKSHOP
12/8/2026
proto-VR
"Unraveling The Enigma Of Nintendo's Virtual Boy"
;
"The Story of the Power Glove"
;
"Sega VR Revived"
; course evals;
mediator
data locality
(keith)
16
FINAL
12/TBD/2026
FINAL MAKE PRESENTATIONS