Files
TeslaRel410/emulator/render-bridge/logs/025-dosbox.txt
T
CydandClaude Fable 5 d143f833ab BT410 5.3.64: THE COCKPIT EYE IS LIVE -- root+eye composition, and the emulator
deadlock it exposed

The camera gap root-caused and fixed through three layers:

LAYER 1 (ours): "chain the engine after the skeleton" was a non-fix.  The
engine's MakeEntityRenderables only accepts Object/Rubble resources, so
chaining it with a Skeleton printed "wrong video resource type" and built
NOTHING -- the fifodump proved it: zero vr_flush_dcs_artic records.  The real
fix mirrors the engine's Mover composition (L4VIDEO.CPP:4795-4860) inside our
mech case: a Dynamic RootRenderable (whose ctor seeds its DCS from
localToWorld and whose Execute re-flushes on change -- the ONLY source of
per-frame wire articulation), the skeleton hung UNDER its DCS via ReadSKLFile's
new parent_dcs parameter, and for the inside view a DPLEyeRenderable on that
root with the published EyepointRotation.  Also explains the mystery monolith
in the first frame: the skeleton was parked at the world origin with the
camera inside its shins.

LAYER 2 (1995 library, read from our own linked symbols): dpl_DrawSceneComplete
= velocirender_frameack(0), and frameack's unsolicited-reply path prints
"dpl error - unsolicited input during frame ack", adds the 1995 authors' own
puzzled "flush artic??" when the stray action is 0x1f, and calls exit(9).
Documented before it ever fires.

LAYER 3 (emulator, the actual deadlock): with per-frame articulation flowing
for the first time, the game stopped drawing at frame 232 -- one 0x1f burst
per frame forever, no receives, no error.  The VPX device feeds the frame ack
only after 6 CONSECUTIVE empty polls and reset that counter on EVERY
outputData write; per-frame articulation writes made the count unreachable, so
dpl_DrawSceneComplete never went true.  Fix: the reset is gated on
!frame_outstanding -- once a draw is outstanding the only receive the game
will do next is the frame ack.  The iserver-drain concern the reset guarded is
boot-time only, when no frame is outstanding.

Verified: two agreeing runs of ours on the fixed emulator (611 draws / 222
artic batches in run 2 -- the 232 wall is gone), camera travelling with the
mech (cam -329.7,0,60.5 -> -362.3,0,54.5 across 8s), anim_abs 0 -> 1 on the
bridge, view now INSIDE the cockpit cage.  Shipped binary re-run on the fixed
emulator: launches and runs, no regression.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-29 09:46:23 -05:00

89 lines
5.1 KiB
Plaintext

LOG: Early LOG Init complete
LOG: CONFIG: Loaded config file: C:/VWE/TeslaRel410/emulator/render-bridge/pod_render_norio.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.
LOG: DOSBox-X version 2026.06.02 Commit d75a57c (MinGW SDL2 64-bit)
LOG: Prevent capture: 0
LOG: SDL: version 2.32.10, Video windows, Audio directsound
LOG: EXPERIMENTAL: Debugger enabled for MinGW build, DOSBox-X crashes depending on the terminal software you use. Launching from command prompt (cmd.exe) is recommended.
LOG: Windows keyboard layout ID is 0x0409
LOG: Host keyboard layout is now us (US English)
LOG: Mapper keyboard layout is now us (US English)
LOG: SDL2 reports desktop display mode 3440 x 1440
LOG: OpenGL Version : 4.6.0 NVIDIA 610.47
LOG: Configured windowposition: -
LOG: SDL: Current window pixel format: SDL_PIXELFORMAT_RGB888
LOG: SDL: You are running in 24 bpp mode, this will slow down things!
LOG: Releasing keyboard
LOG: SDL: Windows 11 round corners will be disabled.
LOG: Screen report: Method 'Win98base' (3440.000 x 1440.000 pixels) at (0.000 x 0.000) (910.167 x 381.000 mm) (35.833 x 15.000 in) (96.000 x 96.000 DPI)
LOG: ISA BCLK: 8333333.333Hz (25000000/3)
LOG: monopal: green,
LOG: Active save slot: 1 [Empty]
LOG: USING AVI+ZMBV
LOG: Pentium CMPXCHG8B emulation is enabled
LOG: Max 1073741824 sz 32768
LOG: Final 32768
LOG: Final arrangement: Below 4GB = 32768KB, Above 4GB = 0KB
LOG: VPXLOG: fifosock listening on 127.0.0.1:8621
LOG: VPXLOG: live render backend started
LOG: VPXLOG: base 0x150 respond=1 handshakes=3 log='C:\Users\cyd\AppData\Local/Temp/vwe-pod/vpxresp.txt'
LOG: MIDI:Opened device:win32
LOG: mic_input: Selected microphone device: Microphone (Steam Streaming Microphone)
LOG: One joystick reported, initializing with 4axis
LOG: Using joystick Xbox One Controller with 6 axes, 16 buttons and 1 hat(s)
LOG: VOODOO LFB now at d0000000
LOG: Serial2: BASE 2f8h
LOG: Serial2: namedpipe client of \\.\pipe\vplasma (poll 1.00ms burst x1)
LOG: Serial2: namedpipe connected to \\.\pipe\vplasma
LOG: Serial3: BASE 3e8h
LOG: Serial: port 3 will write to file C:\VWE\TeslaRel410\emulator\render-bridge\podlog.txt
LOG: Parallel1: BASE 378h
LOG: MPU-401 Registering I/O ports as if IBM PC MPU-401 at base 330h
LOG: Memory I/O complexity optimization enabled aka option 'memory io optimization 1'. If the game or demo is unable to draw to the screen properly, set the option to false.
LOG: The 'scanline render on demand' option is available and may provide a modest boost in video render performance if set to true.
LOG: Allocated APM BIOS pm entry point at f000:ce40
LOG: Writing code to fce40
LOG: Writing code to fce60
LOG: Windows: IID_ITaskbarList3 is available
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: 175021494 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]3f7c6c01/0.986023 [44]3ce1d649/0.027568 [48]ffffffff/nan
VPX lights@f121: type6=2 typeE=9 decoded=2 dir=1 amb(0.55,0.50,0.65)
L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00)
VPX lights@f241: type6=2 typeE=10 decoded=2 dir=1 amb(0.55,0.50,0.65)
L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00)
VPX lights@f361: type6=2 typeE=10 decoded=2 dir=1 amb(0.55,0.50,0.65)
L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00)
VPX lights@f481: type6=2 typeE=10 decoded=2 dir=1 amb(0.55,0.50,0.65)
L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00)
VPX lights@f601: type6=2 typeE=10 decoded=2 dir=1 amb(0.55,0.50,0.65)
L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00)
VPX lights@f721: type6=2 typeE=10 decoded=2 dir=1 amb(0.55,0.50,0.65)
L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00)
VPX lights@f841: type6=2 typeE=10 decoded=2 dir=1 amb(0.55,0.50,0.65)
L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00)
VPX lights@f961: type6=2 typeE=10 decoded=2 dir=1 amb(0.55,0.50,0.65)
L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00)
VPX lights@f1081: type6=2 typeE=10 decoded=2 dir=1 amb(0.55,0.50,0.65)
L0 dir(0.11,0.77,0.63) col(1.10,0.90,1.00)