What does a loop cost? When does a smaller program run more slowly? These essays use vintage machines to examine how programs work and why familiar advice sometimes helps — and sometimes does not. Each explanation connects a concrete example to the choices we make when programming today.
Performance · 6502
Why "unroll your loops" is real advice
Read →Arithmetic · 6502
When 255 + 1 = 0
Read →Arithmetic · Z80
Why everything is a power of two
Read →Architecture · 68000
"Stack overflow" is a real place
Read →Graphics · NES (6502)
Racing the beam
Read →Tables · 68000
The fastest function is the one you already ran
Read →Hardware · Z80
The register is the bitfield
Read →Arithmetic · NES (6502)
Mario moves in fractions of a pixel
Read →Memory · 68000
Why your structs have holes in them
Read →Memory · 6502 vs 68000
Why the bytes come out backwards
Read →Memory · 6502
A pointer is just an address you stored somewhere
Read →Hardware · 68000
Why there's a chip that does nothing but move memory
Read →Code as data · 6502
Code that rewrites itself
Read →Control flow · Z80
