From 4e61158b11ce5c967650abf09a39a8d074d6974e Mon Sep 17 00:00:00 2001 From: Anachronaut Date: Sun, 6 Sep 2026 13:22:56 -0400 Subject: [PATCH] The splash stops sounding before it ends, so listen earlier The check asked whether music was still playing four seconds in, and the score it listens to ends its every voice on a rest - twelve ticks of silence that hold the logo up while the voices decay. So it was measuring exactly the quiet the score asks for and calling a perfect tune a failure. Three seconds instead, which is still twice the second and a half the silent path holds the logo for, and which is what the check is actually about: that this is the tune and not the hold. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01E2JrLzFvuFX9fgi1LDRjrW --- Tests/sound.sh | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Tests/sound.sh b/Tests/sound.sh index fd08289..133fefb 100755 --- a/Tests/sound.sh +++ b/Tests/sound.sh @@ -940,9 +940,14 @@ open('$BUILD/still.pad','wb').write(b'\x00' * 20000)" --disk "$ROOT/Tests/build/disks/cosmos.img" --ram-disk 2048 \ "$BUILD/cosmos.bin" > "$BUILD/splash.out" 2>&1 || true - # The tune is six seconds of ticks. What is checked is that music is still playing well - # after a splash that failed to load would have given up: the silent path holds the logo - # for ninety frames, a second and a half, and then the game starts. + # What is checked is that music is still playing well after a splash that failed to load + # would have given up: the silent path holds the logo for ninety frames, a second and a + # half, and then the game starts. So the late window is at three seconds, twice that. + # + # NOT LATER, because the tune stops sounding before it ends. Its last sequence on every + # voice is a rest, which is what holds the logo up while the voices decay - so a window + # past three and three quarter seconds is measuring the silence the score asks for and + # would fail on a tune that played perfectly. read -r EARLY LATE <