KB: pod-hardware readiness gaps -> open-questions (Phase 8 assessment)

What's carried + plausibly functional vs what will need real work on modern
hardware: RIO serial chain / RGB-splitter channel packing / multi-output
selection / plasma driver all EXIST but are pod-untested; expected work =
multi-head D3D9 fullscreen modernization, the folded-away rear sound card
(4-speaker split), RIO protocol timing, and the undocumented pod bring-up.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
arcattack
2026-07-17 07:32:20 -05:00
co-authored by Claude Opus 4.8
parent abed41e711
commit 46446f3870
+26
View File
@@ -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].**