Repository navigation
Firmware Fn addSegmentData
Part of Firmware Reversing.
-
Naive symbol-table address:
0x798990(VA0xf7026684) -
True prologue start:
0x798970(VA0xf7026664) -
Status: 🟡* Partially traced — a clean, confirmed epilogue exists
(
0x798a90-0x798ab8: all 8 saved GPRs restored,addi r1,r1,0x30) but with no locally-visibleblrimmediately after it — the same real, repeating anomaly already confirmed ongetNodeVidArmMP0,getIndexOfVidandfilterToggleSeg— see the general note on Firmware Reversing. Code resumes immediately after with no newstwu/mflrprologue, referencingr31again in a way inconsistent with straight-line fallthrough from an exited frame — not chased further, treated as the real function boundary. -
Full mangled name:
addSegmentData__16DYNA_SegmentListP8_tmc_segUsiP4vsegRUi
Takes a _tmc_seg and a vseg — directly relevant to this project's
own TMC/segment work. DYNA_SegmentList ("DYNAmic Segment List") is
real, previously-unexamined evidence this ties into dynamic
(traffic/rerouting) segment handling, not the static map-disc segment
data this wiki otherwise documents.
A small, 48-byte-plus-8-GPR stack frame, with a real doubly-linked-
list traversal loop at its core (lwz r31,0(r9) / cmpw r31,r9 /
beq — walk until back to the sentinel head node) over the segment
list the class name promises.
| Target | What it suggests |
|---|---|
__nw__35CfcAspectGuidanceStatusChangedEventUi |
Operator new for a real CfcAspectGuidanceStatusChangedEvent — adding a dynamic segment fires a real guidance-status-changed event |
getDbPartitions__22CfcTypeMapPOIPartition |
Queries real POI-partition data via CfcTypeMapPOIPartition — dynamic segment insertion touches POI-partition bookkeeping too |
__nw__42CfcAnnouncementCommandChangedListenerProxyUi |
Operator new for a real CfcAnnouncementCommandChangedListenerProxy — a 2nd real event/listener class fired here, voice-guidance-announcement-related (the same general "announcement changed" family as CfcAspectAnnouncementCommandChangedEvent, found separately on mv_lefthand_traffic) |
getCertainty_total__23CfcTypePossibleLocation |
Reads a real map-matching confidence value off a CfcTypePossibleLocation object |
DYNA_SegmentList::addSegmentData is not a plain list-insert helper:
inserting a dynamic segment also triggers real guidance-status and
announcement-changed events and touches both POI-partition data and
map-matching location-certainty data — consistent with this being
part of the live traffic/rerouting pipeline, where adding a new
dynamic segment can immediately affect what guidance is currently
being announced to the driver.
Road network
- eeu.rd
- eeu.il
- eeu.iof
- eeu.typ
- rt / rl / prl
- eeu.si (segment classification)
- eeu.tmc (TMC traffic data)
Places
- eeu.ctr
- cty / cl / ct
- eeu.cny (counties)
- eeu.stt (states/regions)
- eeu.ti (time-info/DST)
- pmc / pmm (postal-code merge)
- pol / pot / pmp (postal-code, empty)
Language / TTS support
- eeu.abc (alphabet)
- eeu.aff (affix)
- eeu.cal (country names)
- eeu.cat (country bboxes)
- prd (road phonetics)
- pct (city phonetics)
- pcl (phoneme cluster list)
- pca (country phonemes)
Map tiles
Container formats
Cross-cutting
- eeu.mod (schema dictionary)
- Road naming join
- Header trailer fields
- Map viewer tool
- Road editor tool
- Unexamined files
- Disc-root build script & subsystems
Firmware reversing