BT410 5.3.68: THE LIVE-RIO FAULT IS FIXED -- it and the TM crash were one defect
The [map] audit named it in one run: subsystem 17 = Torso, attribute ids 12/13 unresolved. The donor's decompiled torso.hpp carries the authentic enum with binary offsets -- ids 3..15, including StickPosition(9), TorsoUp/Down/ Left/Right(10-13), TorsoCenter(14), MotionState(15). Our table stopped at seven entries with MotionState at id 9, on the strength of a comment claiming the rest were messages. The streamed control mappings bind BY ID as direct WRITE destinations, so the truncation produced two different crashes from one cause: in TM mode the button ids 12/13 resolved NULL (the boot write-fault the moment the joystick polled), and in RIO mode the analog id 9 resolved to our motionState StateIndicator -- every analog packet from a live vRIO wrote raw floats over a watcher-socketed object, and the corrupted chains walked into unmapped memory ~30-40s later. That was the 'intermittent' pod fault at the fixed DPMI-host address. vRIO down = no analog = no corruption, which is why the norio conf launched: every observation from the whole hunt drops out of this mechanism. Fix: the full 13-entry donor table; five int command members carved from the dynamicsState reserve (class size unchanged); ctor zeros them. Verified, two agreeing runs each way: TM mode launches with a clean audit and the Thrustmaster joystick driving the torso (stickY=0.907 -> torsoElev 0.349); RIO mode with vRIO STREAMING launches, zero faults, weapons cycling. pod_render_rec is no longer poisoned and the norio workaround is obsolete. The audit-before-the-archive-call pattern (BT_MAP_LOG walks the same streamed table CreateStreamedMappings consumes, naming what will not resolve) turned a two-day intermittent-corruption hunt into a one-run lookup. The streamed RES tables are binding contracts on our attribute enums. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
LOG: Early LOG Init complete
|
||||
LOG: CONFIG: Loaded config file: C:/VWE/TeslaRel410/emulator/render-bridge/pod_render_tm.conf
|
||||
LOG: CONFIG: Loaded config file: C:/VWE/TeslaRel410/emulator/render-bridge/pod_render_rec.conf
|
||||
LOG: DOSBox-X's working directory: C:\VWE\TeslaRel410\emulator\src\src
|
||||
LOG: Logging init: beginning logging proper. This is the end of the early init logging
|
||||
LOG: Logging: No logfile was given. All further logging will be discarded.
|
||||
@@ -54,40 +54,3 @@ LOG: ISA Plug & Play BIOS enabled
|
||||
LOG: VGA ROM BIOS init callback
|
||||
LOG: pixratio 1.000, dw false, dh false
|
||||
LOG: Aspect ratio: 640 x 480 xToY=1.333 yToX=0.750
|
||||
LOG: WARNING: No translation support (to host) for code page 0
|
||||
LOG: DOS keyboard layout loaded with main language code US for layout us
|
||||
LOG: XMS: 50 handles allocated for use by the DOS environment
|
||||
LOG: EMS page frame at 0xe000-0xefff
|
||||
LOG: COMMAND.COM env size: 720 bytes
|
||||
LOG: COMMAND.COM environment block: 0x0701 sz=0x002d
|
||||
LOG: COMMAND.COM main body (PSP): 0x072f sz=0x009a
|
||||
LOG: COMMAND.COM stack: 0x0749
|
||||
LOG: pixratio 1.350, dw false, dh false
|
||||
LOG: Aspect ratio: 720 x 540 xToY=1.333 yToX=0.750
|
||||
LOG: SHELL:Redirect output to COM3
|
||||
LOG: VPXLOG: fifosock client connected
|
||||
VPX lights@f1: type6=0 typeE=0 decoded=0 dir=0 amb(0.00,0.00,0.00)
|
||||
LOG: 237273074 ERROR MOUSE:Unhandled videomode 79 on reset
|
||||
LOG: pixratio 1.000, dw false, dh false
|
||||
LOG: Aspect ratio: 640 x 480 xToY=1.333 yToX=0.750
|
||||
VPX lightnode t=6 nb=52: [8]00000000/0 [12]00000000/0 [16]00000001/1.4013e-45 [20]3f800000/1 [24]3f800000/1 [28]3f800000/1 [32]64078678/1e+22 [36]64078678/1e+22 [40]00311d60/4.51048e-39 [44]00326744/4.62882e-39 [48]ffffffff/nan
|
||||
LOG: 684478479 ERROR INT10:PutPixel unhandled mode type 7
|
||||
LOG: SHELL:Redirect output to RC.TXT
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:2 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:12 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:6 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:6 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:6 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:6 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:3 (IF0:0), TX:0, Break 0
|
||||
LOG: Serial1: Errors: Framing 0, Parity 0, Overrun RX:6 (IF0:0), TX:0, Break 0
|
||||
|
||||
Reference in New Issue
Block a user