H8/536 CCU Seed Hint Report

Summary: The RCP likely waits for the CCU to seed mirrored state tables, then uses those selector values to update LCD text, panel lamps, and report state changes.
Confidence: medium

Table Model:
- primary_value_table_candidate: H'E000-H'E3FF; accesses=31 static selectors=0x000, 0x002, 0x003, 0x023, 0x040, 0x081, 0x092, 0x093, 0x0A7, 0x0B7, 0x0B9, 0x0F6
- secondary_value_table_candidate: H'E400-H'E7FF; accesses=8 static selectors=none
- current_value_table_candidate: H'E800-H'EBFF; accesses=14 static selectors=0x000, 0x003, 0x040, 0x081, 0x092, 0x0F6
- flag_table_candidate: H'EC00-H'EFFF; accesses=6 static selectors=0x000

Highest-Value Selector Candidates:
- 0x000 heartbeat_or_idle_report_candidate: score=18 tables=primary_value_table_candidate, current_value_table_candidate, flag_table_candidate
  - primary_value_table_candidate write in loc_4096: MOV:G.W #H'0080, @H'E000
  - current_value_table_candidate write in loc_4096: MOV:G.W #H'0080, @H'E800
  - flag_table_candidate write in loc_4075: CLR.W @(-H'1400,R0)
  - idle report selector and CONNECT OK emulator condition both center on selector zero
  seed frames: 0x0080 -> 00 00 00 00 80 DA; 0x8080 -> 00 00 00 80 80 5A
  readback frame: 01 00 00 00 00 5B
- 0x093 state_selector_candidate: score=15 tables=primary_value_table_candidate
  - primary_value_table_candidate read in loc_17C9: BTST.W #12, @H'E126
  - primary_value_table_candidate read in loc_17FB: BTST.W #12, @H'E126
  - primary_value_table_candidate read in loc_182D: BTST.W #5, @H'E126
  - primary_value_table_candidate read in loc_1891: BTST.W #5, @H'E126
  readback frame: 01 01 13 00 00 49
- 0x0F6 active_status_bridge_candidate: score=14 tables=primary_value_table_candidate, current_value_table_candidate
  - primary_value_table_candidate read in loc_48FA: BTST.W #13, @H'E1EC
  - primary_value_table_candidate read in loc_48FA: MOV:G.W @H'E1EC, R0
  - current_value_table_candidate write in loc_48FA: MOV:G.W R0, @H'E9EC
  - loc_48FA tests E1EC bit13 and can enqueue report selector 0x00F6
  seed frames: 0x2000 -> 00 01 76 20 00 0D
  readback frame: 01 01 76 00 00 2C
- 0x003 default_enabled_bit_candidate: score=11 tables=primary_value_table_candidate, current_value_table_candidate
  - primary_value_table_candidate write in loc_4096: MOV:G.W #H'8000, @H'E006
  - current_value_table_candidate write in loc_4096: MOV:G.W #H'8000, @H'E806
  - ROM default table writes E000/E800 selector 0x003 to 0x8000
  seed frames: 0x8000 -> 00 00 03 80 00 D9
  readback frame: 01 00 03 00 00 58
- 0x040 default_all_ones_or_status_block_candidate: score=11 tables=primary_value_table_candidate, current_value_table_candidate
  - primary_value_table_candidate write in loc_4096: MOV:G.W #H'FFFF, @H'E080
  - current_value_table_candidate write in loc_4096: MOV:G.W #H'FFFF, @H'E880
  - ROM default table writes E000/E800 selector 0x040 to 0xFFFF and bench tests repeatedly touched the 0x40 family
  seed frames: 0xFFFF -> 00 00 40 FF FF 1A; 0x4030 -> 00 00 40 40 30 6A
  readback frame: 01 00 40 00 00 1B
- 0x081 state_selector_candidate: score=9 tables=primary_value_table_candidate, current_value_table_candidate
  - primary_value_table_candidate read in vec_ad_adi_3D99: MOV:G.W @H'E102, R0
  - primary_value_table_candidate read in vec_ad_adi_3D99: CMP:G.W @H'E102, R1
  - current_value_table_candidate write in loc_15E0: MOV:G.W R1, @H'E902
  readback frame: 01 01 01 00 00 5B
- 0x092 state_selector_candidate: score=9 tables=primary_value_table_candidate, current_value_table_candidate
  - primary_value_table_candidate read in loc_2650: MOV:G.W @H'E124, R0
  - primary_value_table_candidate read in loc_2650: CMP:G.W @H'E124, R0
  - current_value_table_candidate write in loc_2650: MOV:G.W R0, @H'E924
  readback frame: 01 01 12 00 00 48
- 0x06B connection_latch_clear_candidate: score=7 tables=none
  - when F731.7 is set, command 5 on this selector clears F731.7/F790.7
  - selector dispatches to H'2F72
  readback frame: 01 00 6B 00 00 30
- 0x06C command5_be70_candidate: score=7 tables=none
  - continuation command 5 calls BE70 for selector 0x006C
  - selector dispatches to H'2FAF
  readback frame: 01 00 6C 00 00 37
- 0x06D command5_be70_candidate: score=7 tables=none
  - continuation command 5 calls BE70 for selector 0x006D
  - selector dispatches to H'3015
  readback frame: 01 00 6D 00 00 36
- 0x007 camera_power_report_candidate: score=5 tables=none
  - observed RCP autonomous report frame(s): 00 00 07 80 00 DD
  - selector dispatches to H'2DC3
  readback frame: 01 00 07 00 00 5C
- 0x015 call_button_report_candidate: score=5 tables=none
  - observed RCP autonomous report frame(s): 00 00 15 80 00 CF, 00 00 15 00 00 4F
  - selector dispatches to H'2E39
  readback frame: 01 00 15 00 00 4E
- 0x023 state_selector_candidate: score=5 tables=primary_value_table_candidate
  - primary_value_table_candidate write in loc_400C: CLR.W @H'E046
  - selector dispatches to H'2EE6
  readback frame: 01 00 23 00 00 78
- 0x06E command5_be70_candidate: score=5 tables=none
  - continuation command 5 calls BE70 for selector 0x006E
  readback frame: 01 00 6E 00 00 35
- 0x096 connection_latch_clear_candidate: score=5 tables=none
  - when F731.7 is set, command 5 on this selector clears F731.7/F790.7
  readback frame: 01 01 16 00 00 4C
- 0x097 connection_latch_clear_candidate: score=5 tables=none
  - when F731.7 is set, command 5 on this selector clears F731.7/F790.7
  readback frame: 01 01 17 00 00 4D
- 0x0C6 connection_latch_clear_candidate: score=5 tables=none
  - when F731.7 is set, command 5 on this selector clears F731.7/F790.7
  readback frame: 01 01 46 00 00 1C
- 0x0F8 connection_latch_clear_candidate: score=5 tables=none
  - when F731.7 is set, command 5 on this selector clears F731.7/F790.7
  readback frame: 01 01 78 00 00 22
- 0x002 state_selector_candidate: score=3 tables=primary_value_table_candidate
  - primary_value_table_candidate read in loc_2650: BTST.W #13, @H'E004
  readback frame: 01 00 02 00 00 59
- 0x0A7 state_selector_candidate: score=3 tables=primary_value_table_candidate
  - primary_value_table_candidate read in loc_1705: BTST.W #15, @H'E14E
  readback frame: 01 01 27 00 00 7D
- 0x0B7 state_selector_candidate: score=3 tables=primary_value_table_candidate
  - primary_value_table_candidate read in loc_174D: BTST.W #13, @H'E16E
  readback frame: 01 01 37 00 00 6D
- 0x0B9 state_selector_candidate: score=3 tables=primary_value_table_candidate
  - primary_value_table_candidate read in loc_1795: BTST.W #13, @H'E172
  readback frame: 01 01 39 00 00 63
- 0x110 state_selector_candidate: score=3 tables=primary_value_table_candidate
  - primary_value_table_candidate read in loc_1795: BTST.W #15, @H'E220
  readback frame: 01 01 90 00 00 CA
- 0x012 state_selector_candidate: score=2 tables=none
  - selector dispatches to H'2E03
  readback frame: 01 00 12 00 00 49

Display Text Hints:
- CONNECT: 0 hit(s)
- COMM LINK: 4 hit(s) - H'77F4 'literal COMM LINK', H'78F4 'literal COMM LINK', H'77F4 'COMM LINK ITEM-1Xw'
- COMPLETED: 2 hit(s) - H'A027 'literal COMPLETED', H'A025 'COMPLETED'
- CAM: 6 hit(s) - H'7149 'literal CAM', H'71FC 'literal CAM', H'72C7 'literal CAM'
- BARS: 12 hit(s) - H'72D1 'literal BARS', H'757D 'literal BARS', H'9C61 'literal BARS'
- BLACK: 22 hit(s) - H'65CC 'literal BLACK', H'6647 'literal BLACK', H'6709 'literal BLACK'
- IRIS: 6 hit(s) - H'6461 'literal IRIS', H'6A92 'literal IRIS', H'A5CA 'literal IRIS'
- GAIN: 10 hit(s) - H'6825 'literal GAIN', H'7813 'literal GAIN', H'98A1 'literal GAIN'
- SHUTTER: 4 hit(s) - H'6FB2 'literal SHUTTER', H'781A 'literal SHUTTER', H'6FAE 'SHUTTER     Xo'
- CALL: 8 hit(s) - H'B53E 'literal CALL', H'B563 'literal CALL', H'B62F 'literal CALL'
- POWER: 0 hit(s)
- AUTO: 34 hit(s) - H'693E 'literal AUTO', H'6A52 'literal AUTO', H'6B40 'literal AUTO'
- DIAG: 6 hit(s) - H'6BF5 'literal DIAG', H'6C19 'literal DIAG', H'6E46 'literal DIAG'
- DXC: 0 hit(s)

Selector Dispatch Hints:
- table H'28A6: 25 non-default/interesting entries
  - selector 0x000 -> H'2CB9 (dispatch index 0x000)
  - selector 0x007 -> H'2DC3 (dispatch index 0x007)
  - selector 0x012 -> H'2E03 (dispatch index 0x012)
  - selector 0x013 -> H'2E06 (dispatch index 0x013)
  - selector 0x015 -> H'2E39 (dispatch index 0x015)
  - selector 0x016 -> H'2E5A (dispatch index 0x016)
  - selector 0x017 -> H'2E85 (dispatch index 0x017)
  - selector 0x018 -> H'2E6F (dispatch index 0x018)
  - selector 0x01A -> H'2EC4 (dispatch index 0x01A)
  - selector 0x023 -> H'2EE6 (dispatch index 0x023)
  - selector 0x024 -> H'2F0C (dispatch index 0x024)
  - selector 0x025 -> H'2F1C (dispatch index 0x025)
  - selector 0x043 -> H'2F4A (dispatch index 0x043)
  - selector 0x04A -> H'2F5C (dispatch index 0x04A)
  - selector 0x04E -> H'2F5C (dispatch index 0x04E)
  - selector 0x052 -> H'2F5C (dispatch index 0x052)

Candidate Fake-CCU Seed Plan:
- cmd0 seed selector 0x000 = 0x8080: 00 00 00 80 80 5A
  selector zero active/connect candidate from emulator state search
- cmd0 seed selector 0x003 = 0x8000: 00 00 03 80 00 D9
  ROM default state also sets selector 0x003 high bit
- cmd0 seed selector 0x040 = 0xFFFF: 00 00 40 FF FF 1A
  ROM default all-ones/status candidate touched by bench 0x40 family
- cmd0 seed selector 0x0F6 = 0x2000: 00 01 76 20 00 0D
  sets E1EC bit13 candidate used by loc_48FA report bridge

Bench Implications:
- Do not wait for non-heartbeat reports as the only activation source; the CCU may be expected to push initial table state first.
- Use command 0 writes for initial seeding, then command 1 readbacks for verification. Treat command 4/5/6 as continuation-only until a live report proves otherwise.
- Selector zero remains the highest-value activation candidate because the emulator reaches CONNECT OK when E000[0]=0x8080 and the selector-zero processing queue runs.
- E1EC/selector 0x00F6 is a strong follow-up candidate because loc_48FA tests bit13 there and can enqueue report 0x00F6.
- LCD text terms such as CAM/BARS/BLACK/COMM LINK appear in ROM records, but they are not direct serial payload strings; they point to selector-driven display builders.

Caveats:
- Selector names are candidates, not confirmed protocol labels.
- Static table xrefs prove that firmware reads/writes a selector; they do not prove the external CCU must seed it on boot.
- Generated frames are syntactically valid six-byte host frames; bench safety still depends on timing and current RCP state.
