Deploy: pod-launch warns that --no-sound freezes bt/rp

--no-sound strips VWE_AWE32, the FAST (28Hz SOS) clock never ticks, and
BTL4OPT hangs forever in the RIO-reset busy-wait (L4RIO.cpp SetDTR loop on
a frozen Now()) -- looks exactly like a vRIO/serial failure but isn't.
Root-caused during the 2026-07-10 dist smoke test. Only safe with a
SLOW-clock conf (setenv arg2=s). Warn at launch + document in usage/README.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-10 23:47:24 -05:00
co-authored by Claude Fable 5
parent a8e463e784
commit 7710be1a07
3 changed files with 10 additions and 4 deletions
+3 -1
View File
@@ -160,7 +160,9 @@ namespace VwePod
--bridge-size w,h main render window size (default 800,600)
--dosbox-xy x,y DOSBox window position + focus (default 10,10)
--no-bridge pod only, no GL render window
--no-sound skip the ~4-min SoundFont upload
--no-sound skip the ~4-min SoundFont upload. WARNING: no AWE32 =
no SOS ticks; bt/rp FREEZE at RIO init on the default
FAST-clock confs (only safe with a SLOW-clock conf)
--mipmap VRVIEW_MIPMAP=1 (RP floor shimmer fix; non-authentic)
--no-focus skip the window layout/focus pass
--dry-run resolve paths + print the launch plan, then exit");
+5
View File
@@ -93,6 +93,11 @@ namespace VwePod
Console.WriteLine($"pod PID {dosbox.Id} conf={Path.GetFileName(opt.Conf)} work={opt.Work}");
if (!opt.NoSound)
Console.WriteLine("sound ON: boot adds ~4 min for the SoundFont upload");
else
Console.WriteLine(
"WARNING: --no-sound removes the AWE32, and BT/RP's FAST SOS clock is\n" +
" sound-driven -- the game FREEZES at RIO init (Now() never ticks).\n" +
" Use only with a conf that selects the SLOW clock (setenv arg2=s).");
// ---- Render bridge (Dave's GL): also into the job. ----
if (!opt.NoBridge)
+2 -3
View File
@@ -43,8 +43,7 @@ dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=
`pod-launch [mode] [options]` — the single installed entry-point. The product is
installed once; the console activates features by the args it passes. The per-rig
layout is fixed at `postinstall` time, so a typical call is just `pod-launch bt`
`--no-sound`).
layout is fixed at `postinstall` time, so a typical call is just `pod-launch bt`.
### Mode — the primary feature selector (positional, or `--mode <name>`)
@@ -65,7 +64,7 @@ see `../CAMERA-REVIEW-NOTES.md`. Default mode: `bt`.
| Arg | Effect |
|---|---|
| `--no-sound` | skip the ~4-min AWE32 SoundFont upload (fast boot, no audio) |
| `--no-sound` | skip the ~4-min AWE32 SoundFont upload **freezes bt/rp**: no AWE32 = no SOS ticks, and the default confs use the FAST (SOS) clock, so BTL4 hangs in the RIO-reset busy-wait (`L4RIO.cpp` `SetDTR`/`Now()`; root-caused 2026-07-10). Only safe with a SLOW-clock conf (`setenv` arg2=`s`) |
| `--mipmap` | mip-filter minified textures (fixes RP floor shimmer; non-authentic) |
| `--layout cockpit\|explode` | `cockpit` = borderless VDB head windows (default); `explode` = 7-window debug |
| `--no-bridge` | pod only, no GL render window |