Star on GitHubStar2.4k stars

Case study

Pitfall!: an annotated Atari VCS disassembly of scene generation and the kernel

Activision's 1982 Atari VCS game Pitfall! is disassembled into labeled and commented 6502 assembly (version 0.9). Notes explain how a reversible LFSR generates the 255 jungle scenes, which bits of the random number select ground objects, scene type, tree pattern and wall position, and how the nine-stripe display kernel draws Harry, the liana, holes, ladder and wall; assembler switches add optional optimizations, screensaver code and a training mode.

Targets
Game
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed
Copy as MarkdownView JSONCite

Requirements & limits

  • Prerequisites: Assembling needs a 6502 assembler and the vcs.h Atari VCS header that the listing includes.
  • Limits: Version 0.9 of the analysis, last updated in October 2001.
  • License: No licence stated on the project page.

Cite

BibTeX

@misc{pitfall-atari-vcs-disassembly-case,
  title = {{Pitfall!: an annotated Atari VCS disassembly of scene generation and the kernel}},
  howpublished = {\url{https://www.qotile.net/minidig/disassembly/pitfall.asm}},
  url = {https://www.qotile.net/minidig/disassembly/pitfall.asm},
  urldate = {2026-11-09},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/pitfall-atari-vcs-disassembly-case/}}
}

Plain text

Pitfall!: an annotated Atari VCS disassembly of scene generation and the kernel. https://www.qotile.net/minidig/disassembly/pitfall.asm (accessed 2026-11-09). Awesome REA entry: https://awesomerea.org/resources/pitfall-atari-vcs-disassembly-case/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. https://web.archive.org/web/20260213080644/https://www.qotile.net/minidig/disassembly/pitfall.asm

More in Games

All 2976 entries in GamesGames case studies (2832)

↑↓ move↵ open⌘↵ new tab