Add run-voyager, and make running depend on the disk

The jitter was a stale disk. An image built before the escape sequences came out still had
the old Snake on it, which sends ESC [ H every frame: the console swallows the escape,
because it is below the font's first character, and then draws "[H" as two ordinary letters.
So every frame began two characters to the right and one line further down than the last,
and the board walked down the screen. Not timing at all.

WHAT IS ON A DISK IS WHATEVER WAS BUILT WHEN THE DISK WAS MADE, and a machine whose console
has changed will start that image quite happily. That is the compatibility break we chose
when the parser came out, and it is fine - but it should not be a puzzle, so both run
targets depend on the disk rather than merely using it, and both READMEs say why.

run-voyager boots the same disk on the machine with a screen. It existed only as
EMU=../Voyager in front of run-cosmos, which is not a thing anybody should have to know.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E2JrLzFvuFX9fgi1LDRjrW
This commit is contained in:
Anachronaut
2026-08-28 23:25:18 -04:00
co-authored by Claude Opus 5
parent 310804e267
commit 761c11a66b
3 changed files with 36 additions and 1 deletions
+12
View File
@@ -75,6 +75,18 @@ To boot CosmOS with that disk attached:
make run-cosmos
```
Or on the Voyager, which is the same machine with a screen and a speaker instead of a
terminal:
```sh
make run-voyager
```
Both depend on the disk rather than merely using it, which is worth knowing: **what is on a
disk is whatever was built when the disk was made.** A machine whose console has changed
will start an old image quite happily and its programs will draw whatever the old way now
means, which is a confusing thing to debug and an easy thing to avoid.
The generated files are kept under `Programs/build/`:
- `CosmOS/Source/cosmos.bin` is the bootable CosmOS image.