diff --git a/context/open-questions.md b/context/open-questions.md index 7d8ee17..e3cbad5 100644 --- a/context/open-questions.md +++ b/context/open-questions.md @@ -29,6 +29,32 @@ authentic path scoped. Remaining: bind the side/down look views to keys (only 'V' look-back is bound); pod look-button mappings for Phase 8. +## Pod-hardware readiness gaps (Phase 8 assessment, 2026-07-17) [[pod-hardware]] +Everything below EXISTS in the tree but has NEVER run against real pod hardware. Mechanism +status vs the pod's 7-display / RGB-splitter / dual-sound-card rig: +- **CARRIED + plausibly functional (untested on hardware):** + - RIO serial controls: real Win32 COM (`L4SERIAL` CreateFileA/SetCommState), the full chain + RIO AnalogReply → Ranger → ControlsManager → streamed `.CTL` mappings → mapper traced [T1]; + keyboard bridge disable = `BT_KEY_BRIDGE=0`. Pod look/config buttons are `.CTL` data-driven. + - RGB-splitter channel packing: `L4GraphicsPort::ChannelEnableID` (Red/Green/Blue/All + + transparent-zero variants) — each gauge draws into ONE color channel of the shared + 640x480x16 surface, feeding one monochrome CRT per channel through the splitter. The gauge + CONTENT is complete (same `L4GaugeRenderer` verified daily in the `BT_DEV_GAUGES` window). + - Multi-output selection: `SVGA16::BuildWindows` (a fullscreen D3D9 device per gauge/MFD + surface), adapter env `PRIMGAUGE`/`SECGAUGE`/`MFDGAUGE`/`MFDGAUGE2`/`SPANDISABLE`, MFD span + = width x2 across two displays; `content/SETENV.BAT` = the authentic pod env preset. + - The `L4PLASMA.cpp` serial plasma-display driver (`L4PLASMA=com2`). +- **EXPECTED TO NEED REAL WORK on modern hardware:** + 1. **Multi-head display management**: the original used TWO video cards; simultaneous + exclusive-fullscreen D3D9 devices on multiple heads of one modern GPU is fragile — likely + needs a borderless-window-per-head modernization of `BuildWindows`. + 2. **The REAR sound card is folded away**: the pod ran `AWE_FRONT`/`AWE_REAR` as two physical + cards for the 4-speaker front/rear split; our OpenAL opens ONE device (front/rear collapses + to stereo). Feasible fix: OpenAL Soft quad output (surround config) or a second device. + 3. Serial protocol timing/handshake vs a real RIO board (and the intercom path) — unverified. + 4. `-platform pod` deliberately does NOT auto-enable `L4GAUGE` (each surface needs its own + device); the pod bring-up procedure itself is undocumented → the Nick items above. + ## BINARY-COVERAGE AUDIT discoveries (2026-07-13, 6-agent decomp census) [T1 verified-uncited] New unaccounted functionality no prior list knew (addresses verified absent from game/+context/+docs): - **✅ `BTL4VideoRenderer::StartEntityEffectImplementation` @004d097c — DONE (2026-07-13) [T2].**