Record every pad, not the one that happened to be first

The first recording ever made with this came back 1,766 frames of nothing.
It recorded pad NOUGHT and the controller was somewhere else - which pad
one lands on is an accident of the host, the same accident that made Lunar
Porter read all four in the first place - and a flight flown for the
purpose was lost to it.

So every pad is or-ed into the byte. A demo is a record of what somebody
DID, and on a machine one person is playing the number it arrived on is
not part of that. It plays back on pad nought, where --pad puts the first
file given, and any program that reads more than one pad reads them or-ed
anyway for exactly the same reason.

--record-pad takes one file now rather than filling pads in turn, because
there is nothing left for the second one to mean.

The check for it plays a recording on pad ONE with nought holding nothing
and requires the bytes back. That is the case that was missing: the round
trip was tested and passed, on pad nought, which is the only pad it could
not have gone wrong on.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E2JrLzFvuFX9fgi1LDRjrW
This commit is contained in:
Anachronaut
2026-09-03 14:27:58 -04:00
co-authored by Claude Opus 5
parent eb695a3f3b
commit de1857f5f7
9 changed files with 61 additions and 25 deletions
+7
View File
@@ -76,6 +76,13 @@ A recording is written one byte a frame and is only worth having if playing it b
was recorded, so the strongest form of that claim is checked: a recording is made **of a
playback**, and the bytes coming out have to be the bytes that went in.
**Every pad is recorded at once**, or-ed into one byte, rather than one pad chosen by number.
Which pad a controller lands on is an accident of the host: the first recording ever made with
this came back 1,766 frames of nothing, because it recorded pad 0 and the controller was
somewhere else, and the flight had to be flown again for nothing. A demo is a record of what
somebody *did*, and on a machine one person is playing the number it arrived on is not part of
that.
It exists because some inputs cannot sensibly be written by hand. Flying a lander from one
base to another is a few hundred frames of steering that has to arrive somewhere eight cells
wide, and several attempts at authoring one by hand got within two columns and no closer. That