Skip to content

Firmware Fn DumpNavGraph

Kristiyan edited this page Oct 1, 2026 · 1 revision

DumpNavGraph — AdasTools::DumpNavGraph

Part of Firmware Reversing.

  • File offset: 0x788240 (VA 0xf7015f34)
  • Status: 🟡* Partially traced — clean prologue-to-blr (268 bytes total, 0x788240-0x78834c), but several short "undecodable" <data> word-pairs (the same real anomaly already documented on Firmware Reversing) interrupt a couple of internal branches, so the exact dispatch wiring isn't 100% certain.
  • Full mangled name: DumpNavGraph__9AdasToolsP12DispMqStruct

Found while mining the newly-discovered AdasTools/CArr_AdasMain/ Adas_Most_Dispatcher class family for real, reachable (<9MB), cleanly- prologued functions — see Firmware Reversing's new "A real, previously- uncatalogued ADAS subsystem" section for the full class list this came from.

Real, confirmed behavior

A rate-limited diagnostic dump, called with a DispMqStruct* (a dispatch-message-queue struct — the same type Adas_Most_Dispatcher's own DumpMessage/SendEvent functions take, per the symbol table).

  1. Throttling: increments a real global counter; once it exceeds 0x927bf (599,999), resets a flag on the input struct and zeroes the counter back out — a classic "only actually do the expensive dump work once every N calls" pattern.
  2. Branches on a flag read from the struct. One real path calls vd_autoredraw() directly — the same UGL-family screen-redraw primitive this wiki's own SCREENSH.OUT work already confirmed exists in this codebase's graphics stack.
  3. A second real path, gated on another struct field:
    • destructs a real TIMEx_FlowExplorer object — directly ties this ADAS code to the SAME TIMEx_* family as prepareOutputForMap (TIMEx_Explorer::prepareOutputForMap), already fully traced elsewhere on this wiki. TIMEx = Traffic Information Message/TMC explorer — a real, concrete link between the new ADAS subsystem and the already-documented TMC pipeline.
    • calls handlePosCoord__19CArr_NavigationMainPcRlT2Ri — a real position-coordinate handler on CArr_NavigationMain, the top-level navigation-main class — confirming this dump function reads/reports the vehicle's current position as part of its output.
    • calls readDouble__20CfcIoBinaryUcs2CodecR13CfcUtilBuffer — reads a real double-precision float out of a binary-codec buffer, consistent with decoding a lat/lon coordinate pair.

Net read

A diagnostic/debug dump tool for ADAS navigation-graph messages that also reports current position and can trigger a screen redraw — genuinely useful confirmation that the AdasTools family is wired directly into both the existing TMC (TIMEx_*) pipeline and the core navigation-position pipeline (CArr_NavigationMain), not an isolated bolt-on subsystem.

Clone this wiki locally