Attract Mode: A Love Letter To The Empty Store Shelf
The pitch
Section titled “The pitch”Expand T01’s build-log lane into a standalone essay. Attract mode is technically a screensaver; culturally it’s a ritual of 1980s electronics that the KN-86 — a device pretending to be from 1988 — had to have. Use the essay to explain both (a) why the ritual mattered and (b) how we built .kn86demo region-aware playback to restore it.
This is a single-lane long-form issue. No build-log / lore / cartridge split. One argument, told well.
Why this week
Section titled “Why this week”- Attract mode shipped the week of T01 (#23, #24). The code is fresh, the demo reel is visible in the emulator, and the claims are all verifiable on the desktop.
- Pairs naturally with a 30-second attract-mode video embedded in the email.
- Builds on a hook that T01 subscribers just read — reinforces the cadence.
Structure (four movements, ~375w each)
Section titled “Structure (four movements, ~375w each)”I. The Empty Store Shelf (~350w)
Section titled “I. The Empty Store Shelf (~350w)”Open in 1988. A Best Buy. An arcade. A computer-store window display in a mall. Every machine is running itself — Atari Lynx cycling through Blue Lightning, a Mac SE flipping through System 6 screensavers, a jukebox showing its title cards. You didn’t approach those machines. They approached you. Attract mode was a commercial ritual, but also a philosophical one: the machine has a responsibility to exist visibly when nobody is looking at it. Cite specifics (arcade “demo mode,” the Commodore “READY.” prompt as its own kind of attract, the Sega Master System boot melody).
II. The Problem We Had (~350w)
Section titled “II. The Problem We Had (~350w)”Until last week, the KN-86 emulator booted into a black screen with an amber cursor. That is a 2020s machine pretending to be a 1988 machine. Real 1988 machines did not sit quietly. The silence was wrong in a way it took us a while to name. Name it: the KN-86 has to demonstrate itself. It’s a device whose identity includes “look at me” — cartridge labels, amber glow, mechanical keys. Silence on boot contradicts the premise.
III. How We Built It (~450w)
Section titled “III. How We Built It (~450w)”The .kn86demo format, explained at a depth that doesn’t require a spec reader to follow. Three claims:
- Tiny. A 30-second attract loop fits in ~35KB. The file format is region-aware (demos target a rectangular sub-region of the 80×25 grid), so multiple demos can composite into one screen. Keyframe interval is configurable; typical attract is 150 frames at 30fps.
- Portable. The same bytes play on the desktop emulator (SDL3), the Pi Zero 2 W prototype, and eventually the Pico 2 production hardware. No remapping, no resizing. We authored the demos in Remotion (a React-based video rendering library) because that’s where our motion people are comfortable, then compiled them to binary. Scene-file-to-binary round-trip.
- Trivial to decode. The device-side player is ~200 lines of C with no heap allocation beyond one 2000-byte grid buffer. This matters because on the Pico 2 we can’t afford a frame decoder that eats a quarter of the system RAM.
Don’t teach the binary layout. Teach the intent of the binary layout: constraints forcing shape.
IV. What The Device Says When You Leave The Room (~350w)
Section titled “IV. What The Device Says When You Leave The Room (~350w)”Close with the philosophical point. The KN-86 is designed to be a handheld — you put it down, it stays beautiful. Attract mode is a promise the hardware has to keep. End on an image: a KN-86 on a kitchen table at 2 AM, cycling through its four launch-title demos to an empty room, amber and silent-except-for-the-PSG. That’s the device we’re building.
Open questions to resolve during drafting
Section titled “Open questions to resolve during drafting”- Embed an attract-mode GIF in the email? (Technically: yes, Brevo supports GIFs. Operationally: we need a 30-second low-fps GIF under 5MB. Should we pre-generate one this weekend?)
- Do we credit the specific Remotion scenes by launch title (ICE Breaker attract, Depthcharge attract) or keep it abstract?
- Callout box: link to the
.kn86demoformat spec for the handful of subscribers who’ll want to read it?
What moves this to FINISH
Section titled “What moves this to FINISH”- Record a 30s attract-mode video from the emulator, export as GIF (target <5MB) — Sat/Sun.
- Pull three to five specific 1988-1990 “attract mode” references the essay can cite by name.
- Decide on embed policy for the PIPELINE (whether every T has media or just some).
- Draft Mon–Wed, copyedit Thu, ship Fri 5pm.