~/talk

Emulators, Immutability, and Time Travel

Talkat Clojure/west 2017 · 2017-03-30..03-31· [creative-coding]
links:none on file
slides:none on file

Built a time-traveling NES in Clojure that models the Ricoh 2A03 CPU, the PPU clock and scanline timing, and cartridge mappers (implemented NROM-128 mapper). Uses a single immutable state map — the one big atom model — plus custom 8‑bit arithmetic and Reagent cursors for a frame-stepping debugger. Verification runs against known test ROM logs; emulator matches about 3,000/8,000 log entries so far, can run some tests and rewind state but is not yet cycle‑accurate. Code is on GitHub.

AI-written summary · about

  1. 0:00Introduction
  2. 0:38Beam Racing
  3. 3:23The Chip
  4. 4:40The Magic
  5. 5:56Interactive Systems
  6. 7:26Speedrunning Community
  7. 12:11The CPU
  8. 13:38The registers
  9. 14:26The data flow
  10. 14:44Closure maps
  11. 16:21Map lookup
  12. 17:11Arithmetic
  13. 17:54Arithmetic Shift
  14. 18:53Cartridge
  15. 20:44Mapper
  16. 21:24Debugger
  17. 22:52PPU
  18. 29:28Mental Model
  19. 31:17Log Entries
  20. 35:15Software Archaeology
  21. 36:05Emulation is not magic
  22. 36:33Future work
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.