1
0

selector lamps

This commit is contained in:
Aiden
2026-05-28 10:12:08 +10:00
parent 4364d0ed48
commit 4ebbb963bd
7 changed files with 604 additions and 149 deletions

View File

@@ -858,6 +858,31 @@
"value": 8192,
"value_hex": "0x2000"
},
{
"cmd0_frame": "00 01 13 10 20 78",
"value": 4128,
"value_hex": "0x1020"
},
{
"cmd0_frame": "00 01 13 40 40 48",
"value": 16448,
"value_hex": "0x4040"
},
{
"cmd0_frame": "00 01 13 80 40 88",
"value": 32832,
"value_hex": "0x8040"
},
{
"cmd0_frame": "00 01 13 00 20 68",
"value": 32,
"value_hex": "0x0020"
},
{
"cmd0_frame": "00 01 13 00 40 08",
"value": 64,
"value_hex": "0x0040"
},
{
"cmd0_frame": "00 01 13 00 00 48",
"value": 0,
@@ -1066,6 +1091,75 @@
"current_value_table_candidate"
]
},
{
"accesses": [],
"cmd1_read_frame": "01 00 6B 00 00 30",
"dispatch_target": {
"decoded_code": false,
"dispatch_index": 107,
"dispatch_index_hex": "0x06B",
"entry_address_hex": "H'297C",
"selector": 107,
"selector_hex": "0x06B",
"target": 12146,
"target_hex": "H'2F72",
"target_label_or_hex": "H'2F72"
},
"name": "standard_lamp_lane",
"reasons": [
"when F731.7 is set, command 5 on this selector clears F731.7/F790.7",
"Bench-visible STANDARD lamp lane found from ROM-derived F6D4.6 handler candidate.",
"selector dispatches to H'2F72"
],
"score": 11,
"seed_frames": [
{
"cmd0_frame": "00 00 6B 80 00 B1",
"value": 32768,
"value_hex": "0x8000"
}
],
"selector": 107,
"selector_hex": "0x06B",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 00 15 00 00 4E",
"dispatch_target": {
"decoded_code": false,
"dispatch_index": 21,
"dispatch_index_hex": "0x015",
"entry_address_hex": "H'28D0",
"selector": 21,
"selector_hex": "0x015",
"target": 11833,
"target_hex": "H'2E39",
"target_label_or_hex": "H'2E39"
},
"name": "call_and_red_tally_lamp_lane",
"reasons": [
"observed RCP autonomous report frame(s): 00 00 15 80 00 CF, 00 00 15 00 00 4F",
"Bench-visible CALL lamp and red tally lane; local CALL handler mirrors F6DB.5 into E800[0x0015].15.",
"selector dispatches to H'2E39"
],
"score": 9,
"seed_frames": [
{
"cmd0_frame": "00 00 15 80 00 CF",
"value": 32768,
"value_hex": "0x8000"
},
{
"cmd0_frame": "00 00 15 00 00 4F",
"value": 0,
"value_hex": "0x0000"
}
],
"selector": 21,
"selector_hex": "0x015",
"tables": []
},
{
"accesses": [
{
@@ -1146,31 +1240,6 @@
"current_value_table_candidate"
]
},
{
"accesses": [],
"cmd1_read_frame": "01 00 6B 00 00 30",
"dispatch_target": {
"decoded_code": false,
"dispatch_index": 107,
"dispatch_index_hex": "0x06B",
"entry_address_hex": "H'297C",
"selector": 107,
"selector_hex": "0x06B",
"target": 12146,
"target_hex": "H'2F72",
"target_label_or_hex": "H'2F72"
},
"name": "connection_latch_clear_candidate",
"reasons": [
"when F731.7 is set, command 5 on this selector clears F731.7/F790.7",
"selector dispatches to H'2F72"
],
"score": 7,
"seed_frames": [],
"selector": 107,
"selector_hex": "0x06B",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 00 6C 00 00 37",
@@ -1221,6 +1290,36 @@
"selector_hex": "0x06D",
"tables": []
},
{
"accesses": [
{
"access": "read",
"address_hex": "H'17A7",
"function": "loc_1795",
"instruction": "BTST.W #15, @H'E220",
"table": "primary_value_table_candidate"
}
],
"cmd1_read_frame": "01 01 90 00 00 CA",
"name": "knee_auto_lamp_or_page_status_lane",
"reasons": [
"primary_value_table_candidate read in loc_1795: BTST.W #15, @H'E220",
"Bench-visible KNEE AUTO source; ROM notes indicate timed KNEE/detail page interaction."
],
"score": 7,
"seed_frames": [
{
"cmd0_frame": "00 01 90 80 00 4B",
"value": 32768,
"value_hex": "0x8000"
}
],
"selector": 272,
"selector_hex": "0x110",
"tables": [
"primary_value_table_candidate"
]
},
{
"accesses": [],
"cmd1_read_frame": "01 00 13 00 00 48",
@@ -1264,6 +1363,93 @@
"selector_hex": "0x013",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 00 17 00 00 4C",
"dispatch_target": {
"decoded_code": false,
"dispatch_index": 23,
"dispatch_index_hex": "0x017",
"entry_address_hex": "H'28D4",
"selector": 23,
"selector_hex": "0x017",
"target": 11909,
"target_hex": "H'2E85",
"target_label_or_hex": "H'2E85"
},
"name": "bars_lamp_lane",
"reasons": [
"Bench-visible BARS lamp/latch lane; low writes do not reliably clear the visible latch.",
"selector dispatches to H'2E85"
],
"score": 6,
"seed_frames": [
{
"cmd0_frame": "00 00 17 80 00 CD",
"value": 32768,
"value_hex": "0x8000"
},
{
"cmd0_frame": "00 00 17 40 00 0D",
"value": 16384,
"value_hex": "0x4000"
},
{
"cmd0_frame": "00 00 17 00 00 4D",
"value": 0,
"value_hex": "0x0000"
}
],
"selector": 23,
"selector_hex": "0x017",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 00 1A 00 00 41",
"dispatch_target": {
"decoded_code": false,
"dispatch_index": 26,
"dispatch_index_hex": "0x01A",
"entry_address_hex": "H'28DA",
"selector": 26,
"selector_hex": "0x01A",
"target": 11972,
"target_hex": "H'2EC4",
"target_label_or_hex": "H'2EC4"
},
"name": "monitor_selector_lamps",
"reasons": [
"Bench-visible MONITOR selector cluster found from ROM-derived button-output sweep.",
"selector dispatches to H'2EC4"
],
"score": 6,
"seed_frames": [
{
"cmd0_frame": "00 00 1A 08 08 40",
"value": 2056,
"value_hex": "0x0808"
},
{
"cmd0_frame": "00 00 1A 20 20 40",
"value": 8224,
"value_hex": "0x2020"
},
{
"cmd0_frame": "00 00 1A 40 40 40",
"value": 16448,
"value_hex": "0x4040"
},
{
"cmd0_frame": "00 00 1A 80 80 40",
"value": 32896,
"value_hex": "0x8080"
}
],
"selector": 26,
"selector_hex": "0x01A",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 00 24 00 00 7F",
@@ -1325,31 +1511,6 @@
"selector_hex": "0x007",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 00 15 00 00 4E",
"dispatch_target": {
"decoded_code": false,
"dispatch_index": 21,
"dispatch_index_hex": "0x015",
"entry_address_hex": "H'28D0",
"selector": 21,
"selector_hex": "0x015",
"target": 11833,
"target_hex": "H'2E39",
"target_label_or_hex": "H'2E39"
},
"name": "call_button_report_candidate",
"reasons": [
"observed RCP autonomous report frame(s): 00 00 15 80 00 CF, 00 00 15 00 00 4F",
"selector dispatches to H'2E39"
],
"score": 5,
"seed_frames": [],
"selector": 21,
"selector_hex": "0x015",
"tables": []
},
{
"accesses": [
{
@@ -1493,6 +1654,21 @@
"value": 32768,
"value_hex": "0x8000"
},
{
"cmd0_frame": "00 01 03 40 00 18",
"value": 16384,
"value_hex": "0x4000"
},
{
"cmd0_frame": "00 01 03 20 00 78",
"value": 8192,
"value_hex": "0x2000"
},
{
"cmd0_frame": "00 01 03 00 04 5C",
"value": 4,
"value_hex": "0x0004"
},
{
"cmd0_frame": "00 01 03 00 00 58",
"value": 0,
@@ -1503,6 +1679,40 @@
"selector_hex": "0x083",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 01 0F 00 00 55",
"name": "shutter_display_status_lane",
"reasons": [
"Bench-visible shutter/status display lane; local F6D0.6/F6D0.7 handlers also queue this selector."
],
"score": 4,
"seed_frames": [
{
"cmd0_frame": "00 01 0F 80 00 D4",
"value": 32768,
"value_hex": "0x8000"
},
{
"cmd0_frame": "00 01 0F 20 00 74",
"value": 8192,
"value_hex": "0x2000"
},
{
"cmd0_frame": "00 01 0F 08 00 5C",
"value": 2048,
"value_hex": "0x0800"
},
{
"cmd0_frame": "00 01 0F 10 00 44",
"value": 4096,
"value_hex": "0x1000"
}
],
"selector": 143,
"selector_hex": "0x08F",
"tables": []
},
{
"accesses": [
{
@@ -1595,29 +1805,6 @@
"primary_value_table_candidate"
]
},
{
"accesses": [
{
"access": "read",
"address_hex": "H'17A7",
"function": "loc_1795",
"instruction": "BTST.W #15, @H'E220",
"table": "primary_value_table_candidate"
}
],
"cmd1_read_frame": "01 01 90 00 00 CA",
"name": "state_selector_candidate",
"reasons": [
"primary_value_table_candidate read in loc_1795: BTST.W #15, @H'E220"
],
"score": 3,
"seed_frames": [],
"selector": 272,
"selector_hex": "0x110",
"tables": [
"primary_value_table_candidate"
]
},
{
"accesses": [],
"cmd1_read_frame": "01 00 12 00 00 49",
@@ -1666,30 +1853,6 @@
"selector_hex": "0x016",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 00 17 00 00 4C",
"dispatch_target": {
"decoded_code": false,
"dispatch_index": 23,
"dispatch_index_hex": "0x017",
"entry_address_hex": "H'28D4",
"selector": 23,
"selector_hex": "0x017",
"target": 11909,
"target_hex": "H'2E85",
"target_label_or_hex": "H'2E85"
},
"name": "state_selector_candidate",
"reasons": [
"selector dispatches to H'2E85"
],
"score": 2,
"seed_frames": [],
"selector": 23,
"selector_hex": "0x017",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 00 18 00 00 43",
@@ -1714,30 +1877,6 @@
"selector_hex": "0x018",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 00 1A 00 00 41",
"dispatch_target": {
"decoded_code": false,
"dispatch_index": 26,
"dispatch_index_hex": "0x01A",
"entry_address_hex": "H'28DA",
"selector": 26,
"selector_hex": "0x01A",
"target": 11972,
"target_hex": "H'2EC4",
"target_label_or_hex": "H'2EC4"
},
"name": "state_selector_candidate",
"reasons": [
"selector dispatches to H'2EC4"
],
"score": 2,
"seed_frames": [],
"selector": 26,
"selector_hex": "0x01A",
"tables": []
},
{
"accesses": [],
"cmd1_read_frame": "01 00 25 00 00 7E",
@@ -2004,7 +2143,7 @@
}
],
"summary": {
"candidate_count": 43,
"candidate_count": 44,
"confidence": "medium",
"core_model": "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."
},