Deploy: --pipe trim -- named-pipe serials to vRIO/vPLASMA for every mode
Dev-rig policy (2026-07-17): everything on the dev machine runs named pipes to vRIO until Real-RIO testing -- no com0com. pod-launch --pipe selects the <mode>_pipe conf (serial1=namedpipe pipe:vrio, serial2=namedpipe pipe:vplasma); pipe variants of all three deploy templates (auto-staged/ rendered) + a dev-tree net_loop_pipe.conf beside the existing RP one. Requires the vRIO dist >= 20260716-68e3d1f (VRioPipeService/ VPlasmaPipeService landed there). Arcade cockpits with the physical RIO keep the plain COM-port confs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# DEPLOY TEMPLATE -- rendered to net_loop_pipe.conf by deploy/configure.ps1 at install.
|
||||
# PIPE TRIM: serial1/2 are NAMED PIPES to vRIO (pipe:vrio) + vPLASMA
|
||||
# (pipe:vplasma) -- the dev-rig default (launch: pod-launch <mode> --pipe;
|
||||
# vRIO dist >= 20260716-68e3d1f speaks the pipe). Arcade cockpits with the
|
||||
# REAL RIO/plasma on COM ports use the non-_pipe confs.
|
||||
# Tokens (filled by postinstall): @@ROOT@@ = package dir (C:\games\<folder>),
|
||||
# @@REALNIC@@ = this pod's NIC GUID fragment, @@MACADDR@@ = stable derived MAC.
|
||||
# BattleTech, GO.BAT-style netnub loop (pod stays connected + picks up missions).
|
||||
[sdl]
|
||||
output=opengl
|
||||
priority=highest,highest
|
||||
[dosbox]
|
||||
memsize=32
|
||||
machine=svga_s3
|
||||
[cpu]
|
||||
core=dynamic
|
||||
cputype=pentium
|
||||
cycles=max
|
||||
[ne2000]
|
||||
ne2000=true
|
||||
nicbase=340
|
||||
# IRQ 10, NOT 3: COM2 (plasma) owns IRQ 3 in-game.
|
||||
nicirq=10
|
||||
macaddr=@@MACADDR@@
|
||||
backend=pcap
|
||||
[ethernet, pcap]
|
||||
realnic=@@REALNIC@@
|
||||
[sblaster]
|
||||
sbtype=sb16
|
||||
sbbase=220
|
||||
irq=5
|
||||
dma=1
|
||||
hdma=5
|
||||
[mixer]
|
||||
rate=44100
|
||||
blocksize=1024
|
||||
prebuffer=60
|
||||
[serial]
|
||||
serial1=namedpipe pipe:vrio rxpollus:100 rxburst:16
|
||||
serial2=namedpipe pipe:vplasma
|
||||
[autoexec]
|
||||
mount c "@@ROOT@@\ALPHA_1"
|
||||
mount d "@@ROOT@@\net-boot"
|
||||
d:
|
||||
echo === loading NE2000 packet-driver stack (pcap/bridge, port 340) ===
|
||||
d:\lsl
|
||||
d:\ne2000
|
||||
d:\odipkt
|
||||
c:
|
||||
cd \rel410\bt
|
||||
set VIDEOFORMAT=svga
|
||||
set BLASTER=A220 I5 D1 H5 P330 T6
|
||||
c:\sb16\diagnose /s
|
||||
set BLASTER=A240 I7 D3 H6 P300 T6
|
||||
c:\sb16\diagnose /s
|
||||
set BLASTER=A220 I5 D1 H5 P330 T6
|
||||
set TEMP=c:\
|
||||
set HEAPSIZE=15000000
|
||||
set L4GAUGE=640x480x16
|
||||
call setenv.bat r f s p
|
||||
echo === entering GO.BAT-style netnub loop (waits for console missions) ===
|
||||
call d:\loop.bat
|
||||
@@ -0,0 +1,63 @@
|
||||
# DEPLOY TEMPLATE -- rendered to net_rp_pipe.conf by deploy/configure.ps1 at install.
|
||||
# PIPE TRIM: serial1/2 are NAMED PIPES to vRIO (pipe:vrio) + vPLASMA
|
||||
# (pipe:vplasma) -- the dev-rig default (launch: pod-launch <mode> --pipe;
|
||||
# vRIO dist >= 20260716-68e3d1f speaks the pipe). Arcade cockpits with the
|
||||
# REAL RIO/plasma on COM ports use the non-_pipe confs.
|
||||
# Tokens (filled by postinstall): @@ROOT@@ = package dir (C:\games\<folder>),
|
||||
# @@REALNIC@@ = this pod's NIC GUID fragment, @@MACADDR@@ = stable derived MAC.
|
||||
# Red Planet 4.10, networked pod boot (console pushes the mission egg over TCP).
|
||||
# Loops netnub (loop_rp.bat) so the pod stays connected + picks up missions;
|
||||
# runs until the supervisor (pod-launch) kills DOSBox. No single-shot in deploy.
|
||||
[sdl]
|
||||
output=opengl
|
||||
priority=highest,highest
|
||||
[dosbox]
|
||||
memsize=32
|
||||
machine=svga_s3
|
||||
[cpu]
|
||||
core=dynamic
|
||||
cputype=pentium
|
||||
cycles=max
|
||||
[ne2000]
|
||||
ne2000=true
|
||||
nicbase=340
|
||||
nicirq=10
|
||||
macaddr=@@MACADDR@@
|
||||
backend=pcap
|
||||
[ethernet, pcap]
|
||||
realnic=@@REALNIC@@
|
||||
[sblaster]
|
||||
sbtype=sb16
|
||||
sbbase=220
|
||||
irq=5
|
||||
dma=1
|
||||
hdma=5
|
||||
[mixer]
|
||||
rate=44100
|
||||
blocksize=1024
|
||||
prebuffer=60
|
||||
[serial]
|
||||
serial1=namedpipe pipe:vrio rxpollus:100 rxburst:16
|
||||
serial2=namedpipe pipe:vplasma
|
||||
[autoexec]
|
||||
mount c "@@ROOT@@\ALPHA_1"
|
||||
mount d "@@ROOT@@\net-boot"
|
||||
d:
|
||||
echo === loading NE2000 packet-driver stack (pcap/bridge, port 340) ===
|
||||
d:\lsl
|
||||
d:\ne2000
|
||||
d:\odipkt
|
||||
c:
|
||||
cd \rel410\rp
|
||||
set VIDEOFORMAT=svga
|
||||
set BLASTER=A220 I5 D1 H5 P330 T6
|
||||
c:\sb16\diagnose /s
|
||||
set BLASTER=A240 I7 D3 H6 P300 T6
|
||||
c:\sb16\diagnose /s
|
||||
set BLASTER=A220 I5 D1 H5 P330 T6
|
||||
set TEMP=c:\
|
||||
set HEAPSIZE=15000000
|
||||
set L4GAUGE=640x480x16
|
||||
call setenv.bat r f s p
|
||||
echo === entering netnub loop (waits for console missions; supervisor kills to stop) ===
|
||||
call d:\loop_rp.bat
|
||||
@@ -0,0 +1,58 @@
|
||||
# DEPLOY TEMPLATE -- rendered to vwetest_pipe.conf by deploy/configure.ps1 at install.
|
||||
# PIPE TRIM: serial1/2 are NAMED PIPES to vRIO (pipe:vrio) + vPLASMA
|
||||
# (pipe:vplasma) -- the dev-rig default (launch: pod-launch <mode> --pipe;
|
||||
# vRIO dist >= 20260716-68e3d1f speaks the pipe). Arcade cockpits with the
|
||||
# REAL RIO/plasma on COM ports use the non-_pipe confs.
|
||||
# Tokens (filled by postinstall): @@ROOT@@ = package dir (C:\games\<folder>),
|
||||
# @@REALNIC@@ = this pod's NIC GUID fragment, @@MACADDR@@ = stable derived MAC.
|
||||
# VGL_LABS factory cockpit test suite: the stock C:\VWETEST\TEST.BAT chain
|
||||
# (DIAGNOSE + AWEUTIL /S on both AWE cards, SETSVGA, VGLTEST\TSTALL.EXE --
|
||||
# RIO, plasma, audio, video/Division calibration, Munga-net). Launch:
|
||||
# pod-launch test. AWEUTIL's WC-timed init needs the parity-safe EMU8000
|
||||
# sample-counter readback (vweawe.cpp, 2026-07-16) -- on older dosbox-x.exe
|
||||
# builds it hangs at AWEUTIL. Drops to a DOS prompt when the suite exits.
|
||||
[sdl]
|
||||
output=opengl
|
||||
priority=highest,highest
|
||||
[dosbox]
|
||||
memsize=32
|
||||
machine=svga_s3
|
||||
[cpu]
|
||||
core=dynamic
|
||||
cputype=pentium
|
||||
cycles=max
|
||||
[ne2000]
|
||||
ne2000=true
|
||||
nicbase=340
|
||||
# IRQ 10, NOT 3: COM2 (plasma) owns IRQ 3 in the suite, same as in-game.
|
||||
nicirq=10
|
||||
macaddr=@@MACADDR@@
|
||||
backend=pcap
|
||||
[ethernet, pcap]
|
||||
realnic=@@REALNIC@@
|
||||
[sblaster]
|
||||
sbtype=sb16
|
||||
sbbase=220
|
||||
irq=5
|
||||
dma=1
|
||||
hdma=5
|
||||
[mixer]
|
||||
rate=44100
|
||||
blocksize=1024
|
||||
prebuffer=60
|
||||
[serial]
|
||||
serial1=namedpipe pipe:vrio rxpollus:100 rxburst:16
|
||||
serial2=namedpipe pipe:vplasma
|
||||
[autoexec]
|
||||
mount c "@@ROOT@@\ALPHA_1"
|
||||
mount d "@@ROOT@@\net-boot"
|
||||
d:
|
||||
echo === loading NE2000 packet-driver stack (for the Munga-net tests) ===
|
||||
d:\lsl
|
||||
d:\ne2000
|
||||
d:\odipkt
|
||||
c:
|
||||
cd \vwetest
|
||||
echo === VGL_LABS cockpit test suite (stock TEST.BAT) ===
|
||||
call test.bat
|
||||
echo === test suite exited -- DOS prompt ===
|
||||
@@ -0,0 +1,63 @@
|
||||
# Networked pod boot, GO.BAT-style loop (persistent: auto-relaunches netnub
|
||||
# after each mission/idle disconnect so the pod stays connected to the console
|
||||
# and picks up missions as the operator queues them -- mirrors the real pod's
|
||||
# GO.BAT). Same 0x340 NIC fix as net_full.conf (see that file's header).
|
||||
# FULL production parity (sound + plasma) as of 2026-07-08: the SBK re-upload
|
||||
# per mission is only ~30s (measured), and the instant netnub relaunch is what
|
||||
# lets the console recover its TCP session between missions WITHOUT an app
|
||||
# restart (netnub exits without FIN; a fast relaunch answers the console's
|
||||
# early retransmissions -- sitting at a DOS pause instead wedges the console
|
||||
# into multi-minute Mac TCP backoff; that is why retail looped).
|
||||
[sdl]
|
||||
output=opengl
|
||||
priority=highest,highest
|
||||
[dosbox]
|
||||
memsize=32
|
||||
machine=svga_s3
|
||||
[cpu]
|
||||
core=dynamic
|
||||
cputype=pentium
|
||||
cycles=max
|
||||
[ne2000]
|
||||
ne2000=true
|
||||
nicbase=340
|
||||
# IRQ 10, NOT 3: COM2 (plasma) owns IRQ 3 in-game; see net_full.conf.
|
||||
nicirq=10
|
||||
backend=pcap
|
||||
[ethernet, pcap]
|
||||
realnic=DB5521D
|
||||
[sblaster]
|
||||
sbtype=sb16
|
||||
sbbase=220
|
||||
irq=5
|
||||
dma=1
|
||||
hdma=5
|
||||
[mixer]
|
||||
rate=44100
|
||||
blocksize=1024
|
||||
prebuffer=60
|
||||
[serial]
|
||||
serial1=namedpipe pipe:vrio rxpollus:100 rxburst:16
|
||||
serial2=namedpipe pipe:vplasma
|
||||
[autoexec]
|
||||
mount c "C:\VWE\TeslaRel410\ALPHA_1"
|
||||
mount d "C:\VWE\TeslaRel410\emulator\net-boot"
|
||||
d:
|
||||
echo === loading NE2000 packet-driver stack (pcap/bridge, port 340) ===
|
||||
d:\lsl
|
||||
d:\ne2000
|
||||
d:\odipkt
|
||||
c:
|
||||
cd \rel410\bt
|
||||
set VIDEOFORMAT=svga
|
||||
set BLASTER=A220 I5 D1 H5 P330 T6
|
||||
c:\sb16\diagnose /s
|
||||
set BLASTER=A240 I7 D3 H6 P300 T6
|
||||
c:\sb16\diagnose /s
|
||||
set BLASTER=A220 I5 D1 H5 P330 T6
|
||||
set TEMP=c:\
|
||||
set HEAPSIZE=15000000
|
||||
set L4GAUGE=640x480x16
|
||||
call setenv.bat r f s p
|
||||
echo === entering GO.BAT-style netnub loop (waits for console missions) ===
|
||||
call d:\loop.bat
|
||||
@@ -26,6 +26,7 @@ namespace VwePod
|
||||
|
||||
public bool NoBridge;
|
||||
public bool NoSound;
|
||||
public bool Pipe;
|
||||
public bool Mipmap;
|
||||
public bool NoFocus;
|
||||
public bool DryRun;
|
||||
@@ -76,6 +77,7 @@ namespace VwePod
|
||||
case "--dosbox-xy": ParseWH(Next(a), out o.DosBoxX, out o.DosBoxY); dosboxXySet = true; break;
|
||||
case "--no-bridge": o.NoBridge = true; break;
|
||||
case "--no-sound": o.NoSound = true; break;
|
||||
case "--pipe": o.Pipe = true; break;
|
||||
case "--mipmap": o.Mipmap = true; break;
|
||||
case "--no-focus": o.NoFocus = true; break;
|
||||
case "--dry-run": o.DryRun = true; break;
|
||||
@@ -103,17 +105,20 @@ namespace VwePod
|
||||
?? throw new ArgumentException("dosbox-x.exe not found under root; pass --dosbox");
|
||||
o.DosBoxDir = Path.GetDirectoryName(o.DosBox);
|
||||
|
||||
o.Conf = confArg ?? FirstExisting(Path.Combine(o.Root, o.Mode.ConfBase + ".conf"));
|
||||
// --pipe: the <mode>_pipe conf variant (serials as named pipes to
|
||||
// vRIO/vPLASMA -- the dev-rig trim; real cockpits keep COM ports).
|
||||
string confBase = o.Mode.ConfBase + (o.Pipe ? "_pipe" : "");
|
||||
o.Conf = confArg ?? FirstExisting(Path.Combine(o.Root, confBase + ".conf"));
|
||||
if (o.Conf == null)
|
||||
{
|
||||
// A .tmpl sitting there means the install was extracted but never
|
||||
// configured -- point at the real fix, not at --conf.
|
||||
bool unrendered = File.Exists(Path.Combine(o.Root, o.Mode.ConfBase + ".conf.tmpl"));
|
||||
bool unrendered = File.Exists(Path.Combine(o.Root, confBase + ".conf.tmpl"));
|
||||
throw new ArgumentException(unrendered
|
||||
? o.Mode.ConfBase + ".conf not rendered yet: this install hasn't been configured.\n" +
|
||||
? confBase + ".conf not rendered yet: this install hasn't been configured.\n" +
|
||||
"Run postinstall.bat (elevated) from the extracted zip root, or:\n" +
|
||||
" powershell -File <install>\\deploy\\configure.ps1 -Root <install>"
|
||||
: o.Mode.ConfBase + ".conf not found under root; pass --conf");
|
||||
: confBase + ".conf not found under root; pass --conf");
|
||||
}
|
||||
|
||||
o.RendererExe = rendererArg ?? FirstExisting(
|
||||
@@ -182,6 +187,9 @@ namespace VwePod
|
||||
--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)
|
||||
--pipe use the <mode>_pipe conf: serial1/2 as named pipes to
|
||||
vRIO (pipe:vrio) + vPLASMA (pipe:vplasma). Dev-rig
|
||||
default trim; arcade cockpits keep real COM ports
|
||||
--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");
|
||||
|
||||
@@ -70,6 +70,7 @@ see `../CAMERA-REVIEW-NOTES.md`. Default mode: `bt`.
|
||||
| `--layout cockpit\|explode` | `cockpit` = borderless VDB head windows (default); `explode` = 7-window debug |
|
||||
| `--no-bridge` | pod only, no GL render window |
|
||||
| `--no-focus` | skip the renderer-topmost / DOSBox-focus pass |
|
||||
| `--pipe` | use the `<mode>_pipe` conf: serials as named pipes to vRIO (`pipe:vrio`) + vPLASMA (`pipe:vplasma`), no com0com. **Dev-rig policy (2026-07-17): always `--pipe` on the dev machine** — vRIO dist ≥ `20260716-68e3d1f` speaks the pipe; the plain confs (real COM ports) are for cockpits with the physical RIO/plasma |
|
||||
|
||||
### Window placement (per-rig; normally fixed, overridable per-launch)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user