Files
TeslaRel410/emulator/render-bridge/logs/039-prev.txt
T
CydandClaude Fable 5 8231bee58c 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>
2026-07-29 14:41:52 -05:00

177 lines
8.2 KiB
Plaintext

BattleTech v4.10
BTL4Application::BTL4Application
GaugeInterpreter: undefined label 'Initialization'
[exp] master player experience=2 simLive=1 heatModelOn=1 advDamage=1
[role] 'Role::Default' lives=1000 killBonus=500 dmgMod=1
[torso] horizJoint 'jointtorso' -> 0x00a05144 type=1 enabled=1
[weap] 'AFC100' seg=13 mount=sitelgunport rear=0
[proj] 'AFC100' ammoBinIndex=21 -> AmmoBinAFC100 (rounds=20)
[weap] 'ERLLaser' seg=7 mount=siterugunport rear=0
[weap] 'ERSLaser_1' seg=13 mount=sitelgunport rear=0
[weap] 'ERSLaser_2' seg=8 mount=siterdgunport rear=0
[weap] 'LRM15_1' seg=18 mount=sitelmissleport rear=0
[proj] 'LRM15_1' ammoBinIndex=26 -> AmmoBinLRM15_1 (rounds=16)
[weap] 'LRM15_2' seg=19 mount=sitermissleport rear=0
[proj] 'LRM15_2' ammoBinIndex=28 -> AmmoBinLRM15_2 (rounds=16)
[mech] segment walk done: subsystemCount=32 weaponCount=6
[skel] jointSubsystem=0x009e5044 jointCount=25
[skel] seg[0] name=ROOT jointIdx=-1
[skel] seg[1] name=jointlocal jointIdx=0
[skel] seg[2] name=jointhip jointIdx=1
[skel] seg[3] name=jointtorso jointIdx=2
[skel] seg[4] name=jointshakey jointIdx=3
[skel] seg[5] name=jointrshoulder jointIdx=4
[skel] seg[6] name=jointrgun jointIdx=5
[skel] seg[7] name=siterugunport jointIdx=-1
[skel] seg[8] name=siterdgunport jointIdx=-1
[skel] seg[9] name=siteedz_rgun jointIdx=-1
[skel] seg[10] name=siteedz_rarm jointIdx=-1
[skel] seg[11] name=jointlshoulder jointIdx=6
[skel] seg[12] name=jointlgun jointIdx=7
[skel] seg[13] name=sitelgunport jointIdx=-1
[skel] seg[14] name=sitelugunport jointIdx=-1
[skel] seg[15] name=siteldgunport jointIdx=-1
[skel] seg[16] name=siteedz_lgun jointIdx=-1
[skel] seg[17] name=siteedz_larm jointIdx=-1
[skel] seg[18] name=sitelmissleport jointIdx=-1
[skel] seg[19] name=sitermissleport jointIdx=-1
[skel] seg[20] name=sitelight jointIdx=-1
[skel] seg[21] name=siterutorsoport jointIdx=-1
[skel] seg[22] name=siterdtorsoport jointIdx=-1
[skel] seg[23] name=sitelutorsoport jointIdx=-1
[skel] seg[24] name=siteldtorsoport jointIdx=-1
[skel] seg[25] name=jointlmissledoor jointIdx=8
[skel] seg[26] name=siteedz_ldoor jointIdx=-1
[skel] seg[27] name=jointrmissledoor jointIdx=9
[skel] seg[28] name=siteedz_rdoor jointIdx=-1
[skel] seg[29] name=siteedz_rtorso jointIdx=-1
[skel] seg[30] name=siteedz_ltorso jointIdx=-1
[skel] seg[31] name=siteedz_utorso jointIdx=-1
[skel] seg[32] name=siteedz_dtorso jointIdx=-1
[skel] seg[33] name=siteedz_rearutorso jointIdx=-1
[skel] seg[34] name=siteedz_reardtorso jointIdx=-1
[skel] seg[35] name=siteedz_rearrtorso jointIdx=-1
[skel] seg[36] name=siteedz_rearltorso jointIdx=-1
[skel] seg[37] name=siteedz_searchlight jointIdx=-1
[skel] seg[38] name=siteedz_hip jointIdx=-1
[skel] seg[39] name=jointlthigh jointIdx=10
[skel] seg[40] name=jointlknee jointIdx=11
[skel] seg[41] name=jointlankle jointIdx=12
[skel] seg[42] name=jointlbacktoe jointIdx=13
[skel] seg[43] name=jointloutertoe jointIdx=14
[skel] seg[44] name=jointlinnertoe jointIdx=15
[skel] seg[45] name=siteedz_lfoot jointIdx=-1
[skel] seg[46] name=siteedz_ldleg jointIdx=-1
[skel] seg[47] name=siteedz_luleg jointIdx=-1
[skel] seg[48] name=jointrthigh jointIdx=16
[skel] seg[49] name=jointrknee jointIdx=17
[skel] seg[50] name=jointrankle jointIdx=18
[skel] seg[51] name=jointrbacktoe jointIdx=19
[skel] seg[52] name=jointrinnertoe jointIdx=20
[skel] seg[53] name=jointroutertoe jointIdx=21
[skel] seg[54] name=siteedz_rfoot jointIdx=-1
[skel] seg[55] name=siteedz_rdleg jointIdx=-1
[skel] seg[56] name=siteedz_ruleg jointIdx=-1
[skel] seg[57] name=jointshadow jointIdx=22
[skel] seg[58] name=jointtshadow jointIdx=23
[skel] seg[59] name=jointeye jointIdx=24
[skel] segments=60
[roster] slot 2 = HeatSink
[roster] slot 3 = Reservoir
[roster] slot 4 = Condenser1
[roster] slot 5 = Condenser2
[roster] slot 6 = Condenser3
[roster] slot 7 = Condenser4
[roster] slot 8 = Condenser5
[roster] slot 9 = Condenser6
[roster] slot 10 = GeneratorA
[roster] slot 11 = GeneratorB
[roster] slot 12 = GeneratorC
[roster] slot 13 = GeneratorD
[roster] slot 14 = Avionics
[roster] slot 15 = Myomers
[roster] slot 16 = Gyroscope
[roster] slot 17 = Torso
[roster] slot 18 = HUD
[roster] slot 19 = Searchlight
[roster] slot 20 = ThermalSight
[roster] slot 21 = AmmoBinAFC100
[roster] slot 22 = AFC100
[roster] slot 23 = ERLLaser
[roster] slot 24 = ERSLaser_1
[roster] slot 25 = ERSLaser_2
[roster] slot 26 = AmmoBinLRM15_1
[roster] slot 27 = LRM15_1
[roster] slot 28 = AmmoBinLRM15_2
[roster] slot 29 = LRM15_2
[roster] slot 30 = MessageManager
[roster] slot 31 = MechTech
[mech] model params: walkTR=65 runTR=40 maxAcc=20 throttleAdj=0.8 (deg,deg,u/s^2,scale)
[mech] look angles: L=50 R=-50 F=-15 B=0 (deg)
[zone] 0 'dz_dtorso' pts=122 seg=4 crit=5 redirect=0 VITAL
[zone] 1 'dz_hip' pts=122 seg=2 crit=4 redirect=0 VITAL
[zone] 2 'dz_larm' pts=77 seg=11 crit=2 redirect=0 DESCEND
[zone] 3 'dz_ldleg' pts=90 seg=40 crit=2 redirect=0 VITAL LEG
[zone] 4 'dz_ldoor' pts=1 seg=25 crit=0 redirect=0
[zone] 5 'dz_lfoot' pts=81 seg=41 crit=1 redirect=0 VITAL LEG
[zone] 6 'dz_lgun' pts=68 seg=12 crit=4 redirect=0 DESCEND
[zone] 7 'dz_ltorso' pts=117 seg=4 crit=6 redirect=0 VITAL
[zone] 8 'dz_luleg' pts=90 seg=39 crit=2 redirect=0 VITAL LEG
[zone] 9 'dz_rarm' pts=77 seg=5 crit=1 redirect=0 DESCEND
[zone] 10 'dz_rdleg' pts=90 seg=49 crit=2 redirect=0 VITAL LEG
[zone] 11 'dz_rdoor' pts=1 seg=27 crit=0 redirect=0
[zone] 12 'dz_reardtorso' pts=81 seg=4 crit=5 redirect=0 VITAL
[zone] 13 'dz_rearltorso' pts=117 seg=4 crit=4 redirect=0 VITAL
[zone] 14 'dz_rearrtorso' pts=117 seg=4 crit=4 redirect=0 VITAL
[zone] 15 'dz_rearutorso' pts=113 seg=4 crit=5 redirect=0 VITAL
[zone] 16 'dz_rfoot' pts=81 seg=50 crit=1 redirect=0 VITAL LEG
[zone] 17 'dz_rgun' pts=68 seg=6 crit=3 redirect=0 DESCEND
[zone] 18 'dz_rtorso' pts=117 seg=4 crit=6 redirect=0 VITAL
[zone] 19 'dz_ruleg' pts=90 seg=48 crit=2 redirect=0 VITAL LEG
[zone] 20 'dz_searchlight' pts=50 seg=4 crit=4 redirect=0
[zone] 21 'dz_utorso' pts=185 seg=4 crit=6 redirect=0 VITAL
[mech] damage zones streamed: 22 [dz_dtorso,dz_hip,dz_larm,dz_ldleg,dz_ldoor,dz_lfoot,dz_lgun,dz_ltorso,dz_luleg,dz_rarm,dz_rdleg,dz_rdoor,dz_reardtorso,dz_rearltorso,dz_rearrtorso,dz_rearutorso,dz_rfoot,dz_rgun,dz_rtorso,dz_ruleg,dz_searchlight,dz_utorso]
[cyl] table 'madcat' LOADED rows=7
[valve] 'Condenser1' valve=1 flow=0.166667
[valve] 'Condenser2' valve=1 flow=0.166667
[valve] 'Condenser3' valve=1 flow=0.166667
[valve] 'Condenser4' valve=1 flow=0.166667
[valve] 'Condenser5' valve=1 flow=0.166667
[valve] 'Condenser6' valve=1 flow=0.166667
[mapper] ctor id=0 throttleAttr=0x001a9fc8 controlModeAttr=0x001aa004
[map] 9 streamed mappings for 'Thrustmaster'
[map] BAD direct: idx=1 group=3 elem=68 subsysID=17 attrID=12 (attr NULL)
[map] BAD direct: idx=2 group=3 elem=67 subsysID=17 attrID=13 (attr NULL)
[gau2] cluster slot=14 classID=3011 auxScreen=5 name=Avionics
[gau2] cluster slot=15 classID=3014 auxScreen=6 name=Myomers
[gau2] cluster slot=22 classID=3021 auxScreen=1 name=AFC100
[gau2] cluster slot=23 classID=3016 auxScreen=10 name=ERLLaser
[gau2] cluster slot=24 classID=3016 auxScreen=3 name=ERSLaser_1
[gau2] cluster slot=25 classID=3016 auxScreen=12 name=ERSLaser_2
[gau2] cluster slot=27 classID=3024 auxScreen=2 name=LRM15_1
[gau2] cluster slot=29 classID=3024 auxScreen=9 name=LRM15_2
ColorMapperArmor warning: damage zone dz_missle not found
ColorMapperArmor warning: damage zone dz_missle not found
ColorMapperArmor warning: damage zone dz_lmissle not found
ColorMapperArmor warning: damage zone dz_rmissle not found
ColorMapperArmor warning: damage zone dz_ftorso not found
ColorMapperArmor warning: damage zone dz_btorso not found
[link] InitializePlayerLink -> vehicle playerLink=0x00ac1830
32loader runtime error: Unhandled exception
Exception 0E at 00FF:00485E1A error code 00000006
CS=00FF DS=0107 ES=0107 SS=0107 FS=011F GS=0000
EAX=00000000 EBX=001AA1EC ECX=0012DDC8 EDX=00000044
EBP=0012DDAC ESP=0012DDAC EDI=0012DE3C ESI=00050421
The invalid instruction was executed at 00485E1A
Module 'C:\REL410\BT\BTL4REC.EXE' section 'CODE' offset 00075E1A
[00485E12]: 8B 40 1C 8B 55 0C 8B 12 - 89 10 5D C3 55 8B EC 53
The instruction referenced illegal address 00000000