1982 lines
53 KiB
JSON
1982 lines
53 KiB
JSON
{
|
|
"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."
|
|
],
|
|
"dispatch_table": {
|
|
"default_target_hex": "H'2CA6",
|
|
"entry_count": 128,
|
|
"interesting_count": 25,
|
|
"interesting_entries": [
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 0,
|
|
"dispatch_index_hex": "0x000",
|
|
"entry_address_hex": "H'28A6",
|
|
"selector": 0,
|
|
"selector_hex": "0x000",
|
|
"target": 11449,
|
|
"target_hex": "H'2CB9",
|
|
"target_label_or_hex": "H'2CB9"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 7,
|
|
"dispatch_index_hex": "0x007",
|
|
"entry_address_hex": "H'28B4",
|
|
"selector": 7,
|
|
"selector_hex": "0x007",
|
|
"target": 11715,
|
|
"target_hex": "H'2DC3",
|
|
"target_label_or_hex": "H'2DC3"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 18,
|
|
"dispatch_index_hex": "0x012",
|
|
"entry_address_hex": "H'28CA",
|
|
"selector": 18,
|
|
"selector_hex": "0x012",
|
|
"target": 11779,
|
|
"target_hex": "H'2E03",
|
|
"target_label_or_hex": "H'2E03"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 19,
|
|
"dispatch_index_hex": "0x013",
|
|
"entry_address_hex": "H'28CC",
|
|
"selector": 19,
|
|
"selector_hex": "0x013",
|
|
"target": 11782,
|
|
"target_hex": "H'2E06",
|
|
"target_label_or_hex": "H'2E06"
|
|
},
|
|
{
|
|
"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"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 22,
|
|
"dispatch_index_hex": "0x016",
|
|
"entry_address_hex": "H'28D2",
|
|
"selector": 22,
|
|
"selector_hex": "0x016",
|
|
"target": 11866,
|
|
"target_hex": "H'2E5A",
|
|
"target_label_or_hex": "H'2E5A"
|
|
},
|
|
{
|
|
"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"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 24,
|
|
"dispatch_index_hex": "0x018",
|
|
"entry_address_hex": "H'28D6",
|
|
"selector": 24,
|
|
"selector_hex": "0x018",
|
|
"target": 11887,
|
|
"target_hex": "H'2E6F",
|
|
"target_label_or_hex": "H'2E6F"
|
|
},
|
|
{
|
|
"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"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 35,
|
|
"dispatch_index_hex": "0x023",
|
|
"entry_address_hex": "H'28EC",
|
|
"selector": 35,
|
|
"selector_hex": "0x023",
|
|
"target": 12006,
|
|
"target_hex": "H'2EE6",
|
|
"target_label_or_hex": "H'2EE6"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 36,
|
|
"dispatch_index_hex": "0x024",
|
|
"entry_address_hex": "H'28EE",
|
|
"selector": 36,
|
|
"selector_hex": "0x024",
|
|
"target": 12044,
|
|
"target_hex": "H'2F0C",
|
|
"target_label_or_hex": "H'2F0C"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 37,
|
|
"dispatch_index_hex": "0x025",
|
|
"entry_address_hex": "H'28F0",
|
|
"selector": 37,
|
|
"selector_hex": "0x025",
|
|
"target": 12060,
|
|
"target_hex": "H'2F1C",
|
|
"target_label_or_hex": "H'2F1C"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 67,
|
|
"dispatch_index_hex": "0x043",
|
|
"entry_address_hex": "H'292C",
|
|
"selector": 67,
|
|
"selector_hex": "0x043",
|
|
"target": 12106,
|
|
"target_hex": "H'2F4A",
|
|
"target_label_or_hex": "H'2F4A"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 74,
|
|
"dispatch_index_hex": "0x04A",
|
|
"entry_address_hex": "H'293A",
|
|
"selector": 74,
|
|
"selector_hex": "0x04A",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 78,
|
|
"dispatch_index_hex": "0x04E",
|
|
"entry_address_hex": "H'2942",
|
|
"selector": 78,
|
|
"selector_hex": "0x04E",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 82,
|
|
"dispatch_index_hex": "0x052",
|
|
"entry_address_hex": "H'294A",
|
|
"selector": 82,
|
|
"selector_hex": "0x052",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 86,
|
|
"dispatch_index_hex": "0x056",
|
|
"entry_address_hex": "H'2952",
|
|
"selector": 86,
|
|
"selector_hex": "0x056",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 90,
|
|
"dispatch_index_hex": "0x05A",
|
|
"entry_address_hex": "H'295A",
|
|
"selector": 90,
|
|
"selector_hex": "0x05A",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 94,
|
|
"dispatch_index_hex": "0x05E",
|
|
"entry_address_hex": "H'2962",
|
|
"selector": 94,
|
|
"selector_hex": "0x05E",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 98,
|
|
"dispatch_index_hex": "0x062",
|
|
"entry_address_hex": "H'296A",
|
|
"selector": 98,
|
|
"selector_hex": "0x062",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 102,
|
|
"dispatch_index_hex": "0x066",
|
|
"entry_address_hex": "H'2972",
|
|
"selector": 102,
|
|
"selector_hex": "0x066",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 106,
|
|
"dispatch_index_hex": "0x06A",
|
|
"entry_address_hex": "H'297A",
|
|
"selector": 106,
|
|
"selector_hex": "0x06A",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
{
|
|
"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"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 108,
|
|
"dispatch_index_hex": "0x06C",
|
|
"entry_address_hex": "H'297E",
|
|
"selector": 108,
|
|
"selector_hex": "0x06C",
|
|
"target": 12207,
|
|
"target_hex": "H'2FAF",
|
|
"target_label_or_hex": "H'2FAF"
|
|
},
|
|
{
|
|
"decoded_code": false,
|
|
"dispatch_index": 109,
|
|
"dispatch_index_hex": "0x06D",
|
|
"entry_address_hex": "H'2980",
|
|
"selector": 109,
|
|
"selector_hex": "0x06D",
|
|
"target": 12309,
|
|
"target_hex": "H'3015",
|
|
"target_label_or_hex": "H'3015"
|
|
}
|
|
],
|
|
"table_base": 10406,
|
|
"table_base_hex": "H'28A6"
|
|
},
|
|
"display_text_hints": {
|
|
"note": "Text hits are ROM display resources, not literal serial payloads.",
|
|
"regions": [
|
|
{
|
|
"count": 2,
|
|
"end": 10075,
|
|
"samples": [
|
|
"FhG~H",
|
|
"%SbS"
|
|
],
|
|
"start": 10006
|
|
},
|
|
{
|
|
"count": 2,
|
|
"end": 10713,
|
|
"samples": [
|
|
"/\\/r/",
|
|
"4N0M,"
|
|
],
|
|
"start": 10618
|
|
},
|
|
{
|
|
"count": 2,
|
|
"end": 22576,
|
|
"samples": [
|
|
"Z [",
|
|
"Z ["
|
|
],
|
|
"start": 22436
|
|
},
|
|
{
|
|
"count": 2,
|
|
"end": 23432,
|
|
"samples": [
|
|
"0123456789",
|
|
"0 1 2 3 4 5 6 7 8 910111213141516171819"
|
|
],
|
|
"start": 23381
|
|
},
|
|
{
|
|
"count": 4,
|
|
"end": 25412,
|
|
"samples": [
|
|
"lZltl",
|
|
"[c.T",
|
|
"rXs(s",
|
|
"vpwhx6"
|
|
],
|
|
"start": 25340
|
|
},
|
|
{
|
|
"count": 17,
|
|
"end": 26456,
|
|
"samples": [
|
|
"OPERATION",
|
|
"PAINT",
|
|
"ADV~Xd",
|
|
"OPERATION",
|
|
"IRIS/M.BLK",
|
|
"OPERATION",
|
|
"LOCK",
|
|
"DYNA LATITUDE Xe/"
|
|
],
|
|
"start": 25559
|
|
},
|
|
{
|
|
"count": 7,
|
|
"end": 27029,
|
|
"samples": [
|
|
"TLCS Xg",
|
|
"ON OFF~Xh",
|
|
"AGC GAIN AE Xh",
|
|
"CL F16 F11 F8 F5.6F4 F2.8F2 F1.8F1.4 OP DPR HYP HIGHMID LOW 36dB30dB24dB18dB12dB 9dB 6dB 3dB 0dB-3dB",
|
|
"AUTO FUNC Xi;",
|
|
"ATW Xi\\",
|
|
"ON OFF~Xi"
|
|
],
|
|
"start": 26592
|
|
},
|
|
{
|
|
"count": 10,
|
|
"end": 27719,
|
|
"samples": [
|
|
"AUTO FUNC XjO",
|
|
"STD SPOT.L~Xjp",
|
|
"A.IRIS MODE Xj",
|
|
"AI BACK.L~Xj",
|
|
"AUTO FUNC Xk=",
|
|
"AUTO FOCUS Xk^",
|
|
"ON OFF~Xk",
|
|
"DIAG Xk"
|
|
],
|
|
"start": 27215
|
|
}
|
|
],
|
|
"term_hits": [
|
|
{
|
|
"hit_count": 0,
|
|
"samples": [],
|
|
"term": "CONNECT"
|
|
},
|
|
{
|
|
"hit_count": 4,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'77F4",
|
|
"text": "literal COMM LINK"
|
|
},
|
|
{
|
|
"address_hex": "H'78F4",
|
|
"text": "literal COMM LINK"
|
|
},
|
|
{
|
|
"address_hex": "H'77F4",
|
|
"text": "COMM LINK ITEM-1Xw"
|
|
},
|
|
{
|
|
"address_hex": "H'78F4",
|
|
"text": "COMM LINK ITEM-2Xx"
|
|
}
|
|
],
|
|
"term": "COMM LINK"
|
|
},
|
|
{
|
|
"hit_count": 2,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'A027",
|
|
"text": "literal COMPLETED"
|
|
},
|
|
{
|
|
"address_hex": "H'A025",
|
|
"text": "COMPLETED"
|
|
}
|
|
],
|
|
"term": "COMPLETED"
|
|
},
|
|
{
|
|
"hit_count": 6,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'7149",
|
|
"text": "literal CAM"
|
|
},
|
|
{
|
|
"address_hex": "H'71FC",
|
|
"text": "literal CAM"
|
|
},
|
|
{
|
|
"address_hex": "H'72C7",
|
|
"text": "literal CAM"
|
|
},
|
|
{
|
|
"address_hex": "H'7144",
|
|
"text": "CAM ID SET~XqD"
|
|
},
|
|
{
|
|
"address_hex": "H'71F9",
|
|
"text": "CAM ID IND Xq"
|
|
},
|
|
{
|
|
"address_hex": "H'72C7",
|
|
"text": "CAM BARS~Xr"
|
|
}
|
|
],
|
|
"term": "CAM"
|
|
},
|
|
{
|
|
"hit_count": 12,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'72D1",
|
|
"text": "literal BARS"
|
|
},
|
|
{
|
|
"address_hex": "H'757D",
|
|
"text": "literal BARS"
|
|
},
|
|
{
|
|
"address_hex": "H'9C61",
|
|
"text": "literal BARS"
|
|
},
|
|
{
|
|
"address_hex": "H'9E7D",
|
|
"text": "literal BARS"
|
|
},
|
|
{
|
|
"address_hex": "H'72C7",
|
|
"text": "CAM BARS~Xr"
|
|
},
|
|
{
|
|
"address_hex": "H'757A",
|
|
"text": "BARS TYPE Xuz"
|
|
},
|
|
{
|
|
"address_hex": "H'9C3A",
|
|
"text": "OPERATION OPERATION NG:BARS NG:HIGH LIGHT NG:LOW LIGHT OK"
|
|
},
|
|
{
|
|
"address_hex": "H'9E56",
|
|
"text": "OPERATION OPERATION NG:BARS NG OK"
|
|
}
|
|
],
|
|
"term": "BARS"
|
|
},
|
|
{
|
|
"hit_count": 22,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'65CC",
|
|
"text": "literal BLACK"
|
|
},
|
|
{
|
|
"address_hex": "H'6647",
|
|
"text": "literal BLACK"
|
|
},
|
|
{
|
|
"address_hex": "H'6709",
|
|
"text": "literal BLACK"
|
|
},
|
|
{
|
|
"address_hex": "H'78E0",
|
|
"text": "literal BLACK"
|
|
},
|
|
{
|
|
"address_hex": "H'65C9",
|
|
"text": "BLACK STR Xe"
|
|
},
|
|
{
|
|
"address_hex": "H'6644",
|
|
"text": "BLACK STR XfD"
|
|
},
|
|
{
|
|
"address_hex": "H'6706",
|
|
"text": "BLACK STR Xg"
|
|
},
|
|
{
|
|
"address_hex": "H'78D7",
|
|
"text": "WHITE BLACK~Xx"
|
|
}
|
|
],
|
|
"term": "BLACK"
|
|
},
|
|
{
|
|
"hit_count": 6,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'6461",
|
|
"text": "literal IRIS"
|
|
},
|
|
{
|
|
"address_hex": "H'6A92",
|
|
"text": "literal IRIS"
|
|
},
|
|
{
|
|
"address_hex": "H'A5CA",
|
|
"text": "literal IRIS"
|
|
},
|
|
{
|
|
"address_hex": "H'6461",
|
|
"text": "IRIS/M.BLK"
|
|
},
|
|
{
|
|
"address_hex": "H'6A8E",
|
|
"text": "A.IRIS MODE Xj"
|
|
},
|
|
{
|
|
"address_hex": "H'A5A6",
|
|
"text": "NG NG:?? NG:IRIS NOT CL NG:BARS"
|
|
}
|
|
],
|
|
"term": "IRIS"
|
|
},
|
|
{
|
|
"hit_count": 10,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'6825",
|
|
"text": "literal GAIN"
|
|
},
|
|
{
|
|
"address_hex": "H'7813",
|
|
"text": "literal GAIN"
|
|
},
|
|
{
|
|
"address_hex": "H'98A1",
|
|
"text": "literal GAIN"
|
|
},
|
|
{
|
|
"address_hex": "H'99B8",
|
|
"text": "literal GAIN"
|
|
},
|
|
{
|
|
"address_hex": "H'681F",
|
|
"text": "AGC GAIN AE Xh"
|
|
},
|
|
{
|
|
"address_hex": "H'7813",
|
|
"text": "GAIN SHUTTER~Xx"
|
|
},
|
|
{
|
|
"address_hex": "H'9895",
|
|
"text": "START:PUSH AGAINX"
|
|
},
|
|
{
|
|
"address_hex": "H'99AC",
|
|
"text": "START:PUSH AGAINX"
|
|
}
|
|
],
|
|
"term": "GAIN"
|
|
},
|
|
{
|
|
"hit_count": 4,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'6FB2",
|
|
"text": "literal SHUTTER"
|
|
},
|
|
{
|
|
"address_hex": "H'781A",
|
|
"text": "literal SHUTTER"
|
|
},
|
|
{
|
|
"address_hex": "H'6FAE",
|
|
"text": "SHUTTER Xo"
|
|
},
|
|
{
|
|
"address_hex": "H'7813",
|
|
"text": "GAIN SHUTTER~Xx"
|
|
}
|
|
],
|
|
"term": "SHUTTER"
|
|
},
|
|
{
|
|
"hit_count": 8,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'B53E",
|
|
"text": "literal CALL"
|
|
},
|
|
{
|
|
"address_hex": "H'B563",
|
|
"text": "literal CALL"
|
|
},
|
|
{
|
|
"address_hex": "H'B62F",
|
|
"text": "literal CALL"
|
|
},
|
|
{
|
|
"address_hex": "H'B654",
|
|
"text": "literal CALL"
|
|
},
|
|
{
|
|
"address_hex": "H'B537",
|
|
"text": "RECALL X"
|
|
},
|
|
{
|
|
"address_hex": "H'B558",
|
|
"text": "SCENE F. RECALL~X"
|
|
},
|
|
{
|
|
"address_hex": "H'B628",
|
|
"text": "RECALL X"
|
|
},
|
|
{
|
|
"address_hex": "H'B649",
|
|
"text": "SETUP F. RECALL~X"
|
|
}
|
|
],
|
|
"term": "CALL"
|
|
},
|
|
{
|
|
"hit_count": 0,
|
|
"samples": [],
|
|
"term": "POWER"
|
|
},
|
|
{
|
|
"hit_count": 34,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'693E",
|
|
"text": "literal AUTO"
|
|
},
|
|
{
|
|
"address_hex": "H'6A52",
|
|
"text": "literal AUTO"
|
|
},
|
|
{
|
|
"address_hex": "H'6B40",
|
|
"text": "literal AUTO"
|
|
},
|
|
{
|
|
"address_hex": "H'6B61",
|
|
"text": "literal AUTO"
|
|
},
|
|
{
|
|
"address_hex": "H'693B",
|
|
"text": "AUTO FUNC Xi;"
|
|
},
|
|
{
|
|
"address_hex": "H'6A4F",
|
|
"text": "AUTO FUNC XjO"
|
|
},
|
|
{
|
|
"address_hex": "H'6B3D",
|
|
"text": "AUTO FUNC Xk="
|
|
},
|
|
{
|
|
"address_hex": "H'6B5E",
|
|
"text": "AUTO FOCUS Xk^"
|
|
}
|
|
],
|
|
"term": "AUTO"
|
|
},
|
|
{
|
|
"hit_count": 6,
|
|
"samples": [
|
|
{
|
|
"address_hex": "H'6BF5",
|
|
"text": "literal DIAG"
|
|
},
|
|
{
|
|
"address_hex": "H'6C19",
|
|
"text": "literal DIAG"
|
|
},
|
|
{
|
|
"address_hex": "H'6E46",
|
|
"text": "literal DIAG"
|
|
},
|
|
{
|
|
"address_hex": "H'6BEF",
|
|
"text": "DIAG Xk"
|
|
},
|
|
{
|
|
"address_hex": "H'6C16",
|
|
"text": "DIAG DATA Xl"
|
|
},
|
|
{
|
|
"address_hex": "H'6E40",
|
|
"text": "DIAG Xn@"
|
|
}
|
|
],
|
|
"term": "DIAG"
|
|
},
|
|
{
|
|
"hit_count": 0,
|
|
"samples": [],
|
|
"term": "DXC"
|
|
}
|
|
]
|
|
},
|
|
"kind": "ccu_seed_hints",
|
|
"seed_plan": {
|
|
"model": "candidate initial CCU state push using command 0 writes, verified with command 1 reads",
|
|
"steps": [
|
|
{
|
|
"frame": "00 00 00 80 80 5A",
|
|
"name": "cmd0 seed selector 0x000 = 0x8080",
|
|
"readback_frame": "01 00 00 00 00 5B",
|
|
"selector": 0,
|
|
"selector_hex": "0x000",
|
|
"value": 32896,
|
|
"value_hex": "0x8080",
|
|
"why": "selector zero active/connect candidate from emulator state search"
|
|
},
|
|
{
|
|
"frame": "00 00 03 80 00 D9",
|
|
"name": "cmd0 seed selector 0x003 = 0x8000",
|
|
"readback_frame": "01 00 03 00 00 58",
|
|
"selector": 3,
|
|
"selector_hex": "0x003",
|
|
"value": 32768,
|
|
"value_hex": "0x8000",
|
|
"why": "ROM default state also sets selector 0x003 high bit"
|
|
},
|
|
{
|
|
"frame": "00 00 40 FF FF 1A",
|
|
"name": "cmd0 seed selector 0x040 = 0xFFFF",
|
|
"readback_frame": "01 00 40 00 00 1B",
|
|
"selector": 64,
|
|
"selector_hex": "0x040",
|
|
"value": 65535,
|
|
"value_hex": "0xFFFF",
|
|
"why": "ROM default all-ones/status candidate touched by bench 0x40 family"
|
|
},
|
|
{
|
|
"frame": "00 01 76 20 00 0D",
|
|
"name": "cmd0 seed selector 0x0F6 = 0x2000",
|
|
"readback_frame": "01 01 76 00 00 2C",
|
|
"selector": 246,
|
|
"selector_hex": "0x0F6",
|
|
"value": 8192,
|
|
"value_hex": "0x2000",
|
|
"why": "sets E1EC bit13 candidate used by loc_48FA report bridge"
|
|
}
|
|
]
|
|
},
|
|
"selector_candidates": [
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'4096",
|
|
"function": "loc_4096",
|
|
"instruction": "MOV:G.W #H'0080, @H'E000",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'40A8",
|
|
"function": "loc_4096",
|
|
"instruction": "MOV:G.W #H'0080, @H'E800",
|
|
"table": "current_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'4088",
|
|
"function": "loc_4075",
|
|
"instruction": "CLR.W @(-H'1400,R0)",
|
|
"table": "flag_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 00 00 00 00 5B",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 0,
|
|
"dispatch_index_hex": "0x000",
|
|
"entry_address_hex": "H'28A6",
|
|
"selector": 0,
|
|
"selector_hex": "0x000",
|
|
"target": 11449,
|
|
"target_hex": "H'2CB9",
|
|
"target_label_or_hex": "H'2CB9"
|
|
},
|
|
"name": "heartbeat_or_idle_report_candidate",
|
|
"reasons": [
|
|
"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",
|
|
"observed RCP autonomous report frame(s): 00 00 00 00 80 DA",
|
|
"selector dispatches to H'2CB9"
|
|
],
|
|
"score": 18,
|
|
"seed_frames": [
|
|
{
|
|
"cmd0_frame": "00 00 00 00 80 DA",
|
|
"value": 128,
|
|
"value_hex": "0x0080"
|
|
},
|
|
{
|
|
"cmd0_frame": "00 00 00 80 80 5A",
|
|
"value": 32896,
|
|
"value_hex": "0x8080"
|
|
}
|
|
],
|
|
"selector": 0,
|
|
"selector_hex": "0x000",
|
|
"tables": [
|
|
"primary_value_table_candidate",
|
|
"current_value_table_candidate",
|
|
"flag_table_candidate"
|
|
]
|
|
},
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'17D0",
|
|
"function": "loc_17C9",
|
|
"instruction": "BTST.W #12, @H'E126",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'1802",
|
|
"function": "loc_17FB",
|
|
"instruction": "BTST.W #12, @H'E126",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'183A",
|
|
"function": "loc_182D",
|
|
"instruction": "BTST.W #5, @H'E126",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'189E",
|
|
"function": "loc_1891",
|
|
"instruction": "BTST.W #5, @H'E126",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'18F4",
|
|
"function": "loc_18E7",
|
|
"instruction": "BTST.W #5, @H'E126",
|
|
"table": "primary_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 01 13 00 00 49",
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"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",
|
|
"primary_value_table_candidate read in loc_18E7: BTST.W #5, @H'E126"
|
|
],
|
|
"score": 15,
|
|
"seed_frames": [],
|
|
"selector": 147,
|
|
"selector_hex": "0x093",
|
|
"tables": [
|
|
"primary_value_table_candidate"
|
|
]
|
|
},
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'490F",
|
|
"function": "loc_48FA",
|
|
"instruction": "BTST.W #13, @H'E1EC",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'4915",
|
|
"function": "loc_48FA",
|
|
"instruction": "MOV:G.W @H'E1EC, R0",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'491D",
|
|
"function": "loc_48FA",
|
|
"instruction": "MOV:G.W R0, @H'E9EC",
|
|
"table": "current_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 01 76 00 00 2C",
|
|
"name": "active_status_bridge_candidate",
|
|
"reasons": [
|
|
"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"
|
|
],
|
|
"score": 14,
|
|
"seed_frames": [
|
|
{
|
|
"cmd0_frame": "00 01 76 20 00 0D",
|
|
"value": 8192,
|
|
"value_hex": "0x2000"
|
|
}
|
|
],
|
|
"selector": 246,
|
|
"selector_hex": "0x0F6",
|
|
"tables": [
|
|
"primary_value_table_candidate",
|
|
"current_value_table_candidate"
|
|
]
|
|
},
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'409C",
|
|
"function": "loc_4096",
|
|
"instruction": "MOV:G.W #H'8000, @H'E006",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'40AE",
|
|
"function": "loc_4096",
|
|
"instruction": "MOV:G.W #H'8000, @H'E806",
|
|
"table": "current_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 00 03 00 00 58",
|
|
"name": "default_enabled_bit_candidate",
|
|
"reasons": [
|
|
"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"
|
|
],
|
|
"score": 11,
|
|
"seed_frames": [
|
|
{
|
|
"cmd0_frame": "00 00 03 80 00 D9",
|
|
"value": 32768,
|
|
"value_hex": "0x8000"
|
|
}
|
|
],
|
|
"selector": 3,
|
|
"selector_hex": "0x003",
|
|
"tables": [
|
|
"primary_value_table_candidate",
|
|
"current_value_table_candidate"
|
|
]
|
|
},
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'40A2",
|
|
"function": "loc_4096",
|
|
"instruction": "MOV:G.W #H'FFFF, @H'E080",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'40B4",
|
|
"function": "loc_4096",
|
|
"instruction": "MOV:G.W #H'FFFF, @H'E880",
|
|
"table": "current_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 00 40 00 00 1B",
|
|
"name": "default_all_ones_or_status_block_candidate",
|
|
"reasons": [
|
|
"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"
|
|
],
|
|
"score": 11,
|
|
"seed_frames": [
|
|
{
|
|
"cmd0_frame": "00 00 40 FF FF 1A",
|
|
"value": 65535,
|
|
"value_hex": "0xFFFF"
|
|
},
|
|
{
|
|
"cmd0_frame": "00 00 40 40 30 6A",
|
|
"value": 16432,
|
|
"value_hex": "0x4030"
|
|
}
|
|
],
|
|
"selector": 64,
|
|
"selector_hex": "0x040",
|
|
"tables": [
|
|
"primary_value_table_candidate",
|
|
"current_value_table_candidate"
|
|
]
|
|
},
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'3DDA",
|
|
"function": "vec_ad_adi_3D99",
|
|
"instruction": "MOV:G.W @H'E102, R0",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'3DFA",
|
|
"function": "vec_ad_adi_3D99",
|
|
"instruction": "CMP:G.W @H'E102, R1",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'15ED",
|
|
"function": "loc_15E0",
|
|
"instruction": "MOV:G.W R1, @H'E902",
|
|
"table": "current_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 01 01 00 00 5B",
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"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"
|
|
],
|
|
"score": 9,
|
|
"seed_frames": [],
|
|
"selector": 129,
|
|
"selector_hex": "0x081",
|
|
"tables": [
|
|
"primary_value_table_candidate",
|
|
"current_value_table_candidate"
|
|
]
|
|
},
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'2657",
|
|
"function": "loc_2650",
|
|
"instruction": "MOV:G.W @H'E124, R0",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'268B",
|
|
"function": "loc_2650",
|
|
"instruction": "CMP:G.W @H'E124, R0",
|
|
"table": "primary_value_table_candidate"
|
|
},
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'2691",
|
|
"function": "loc_2650",
|
|
"instruction": "MOV:G.W R0, @H'E924",
|
|
"table": "current_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 01 12 00 00 48",
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"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"
|
|
],
|
|
"score": 9,
|
|
"seed_frames": [],
|
|
"selector": 146,
|
|
"selector_hex": "0x092",
|
|
"tables": [
|
|
"primary_value_table_candidate",
|
|
"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",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 108,
|
|
"dispatch_index_hex": "0x06C",
|
|
"entry_address_hex": "H'297E",
|
|
"selector": 108,
|
|
"selector_hex": "0x06C",
|
|
"target": 12207,
|
|
"target_hex": "H'2FAF",
|
|
"target_label_or_hex": "H'2FAF"
|
|
},
|
|
"name": "command5_be70_candidate",
|
|
"reasons": [
|
|
"continuation command 5 calls BE70 for selector 0x006C",
|
|
"selector dispatches to H'2FAF"
|
|
],
|
|
"score": 7,
|
|
"seed_frames": [],
|
|
"selector": 108,
|
|
"selector_hex": "0x06C",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 6D 00 00 36",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 109,
|
|
"dispatch_index_hex": "0x06D",
|
|
"entry_address_hex": "H'2980",
|
|
"selector": 109,
|
|
"selector_hex": "0x06D",
|
|
"target": 12309,
|
|
"target_hex": "H'3015",
|
|
"target_label_or_hex": "H'3015"
|
|
},
|
|
"name": "command5_be70_candidate",
|
|
"reasons": [
|
|
"continuation command 5 calls BE70 for selector 0x006D",
|
|
"selector dispatches to H'3015"
|
|
],
|
|
"score": 7,
|
|
"seed_frames": [],
|
|
"selector": 109,
|
|
"selector_hex": "0x06D",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 07 00 00 5C",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 7,
|
|
"dispatch_index_hex": "0x007",
|
|
"entry_address_hex": "H'28B4",
|
|
"selector": 7,
|
|
"selector_hex": "0x007",
|
|
"target": 11715,
|
|
"target_hex": "H'2DC3",
|
|
"target_label_or_hex": "H'2DC3"
|
|
},
|
|
"name": "camera_power_report_candidate",
|
|
"reasons": [
|
|
"observed RCP autonomous report frame(s): 00 00 07 80 00 DD",
|
|
"selector dispatches to H'2DC3"
|
|
],
|
|
"score": 5,
|
|
"seed_frames": [],
|
|
"selector": 7,
|
|
"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": [
|
|
{
|
|
"access": "write",
|
|
"address_hex": "H'402C",
|
|
"function": "loc_400C",
|
|
"instruction": "CLR.W @H'E046",
|
|
"table": "primary_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 00 23 00 00 78",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 35,
|
|
"dispatch_index_hex": "0x023",
|
|
"entry_address_hex": "H'28EC",
|
|
"selector": 35,
|
|
"selector_hex": "0x023",
|
|
"target": 12006,
|
|
"target_hex": "H'2EE6",
|
|
"target_label_or_hex": "H'2EE6"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"primary_value_table_candidate write in loc_400C: CLR.W @H'E046",
|
|
"selector dispatches to H'2EE6"
|
|
],
|
|
"score": 5,
|
|
"seed_frames": [],
|
|
"selector": 35,
|
|
"selector_hex": "0x023",
|
|
"tables": [
|
|
"primary_value_table_candidate"
|
|
]
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 6E 00 00 35",
|
|
"name": "command5_be70_candidate",
|
|
"reasons": [
|
|
"continuation command 5 calls BE70 for selector 0x006E"
|
|
],
|
|
"score": 5,
|
|
"seed_frames": [],
|
|
"selector": 110,
|
|
"selector_hex": "0x06E",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 01 16 00 00 4C",
|
|
"name": "connection_latch_clear_candidate",
|
|
"reasons": [
|
|
"when F731.7 is set, command 5 on this selector clears F731.7/F790.7"
|
|
],
|
|
"score": 5,
|
|
"seed_frames": [],
|
|
"selector": 150,
|
|
"selector_hex": "0x096",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 01 17 00 00 4D",
|
|
"name": "connection_latch_clear_candidate",
|
|
"reasons": [
|
|
"when F731.7 is set, command 5 on this selector clears F731.7/F790.7"
|
|
],
|
|
"score": 5,
|
|
"seed_frames": [],
|
|
"selector": 151,
|
|
"selector_hex": "0x097",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 01 46 00 00 1C",
|
|
"name": "connection_latch_clear_candidate",
|
|
"reasons": [
|
|
"when F731.7 is set, command 5 on this selector clears F731.7/F790.7"
|
|
],
|
|
"score": 5,
|
|
"seed_frames": [],
|
|
"selector": 198,
|
|
"selector_hex": "0x0C6",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 01 78 00 00 22",
|
|
"name": "connection_latch_clear_candidate",
|
|
"reasons": [
|
|
"when F731.7 is set, command 5 on this selector clears F731.7/F790.7"
|
|
],
|
|
"score": 5,
|
|
"seed_frames": [],
|
|
"selector": 248,
|
|
"selector_hex": "0x0F8",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'266F",
|
|
"function": "loc_2650",
|
|
"instruction": "BTST.W #13, @H'E004",
|
|
"table": "primary_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 00 02 00 00 59",
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"primary_value_table_candidate read in loc_2650: BTST.W #13, @H'E004"
|
|
],
|
|
"score": 3,
|
|
"seed_frames": [],
|
|
"selector": 2,
|
|
"selector_hex": "0x002",
|
|
"tables": [
|
|
"primary_value_table_candidate"
|
|
]
|
|
},
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'170C",
|
|
"function": "loc_1705",
|
|
"instruction": "BTST.W #15, @H'E14E",
|
|
"table": "primary_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 01 27 00 00 7D",
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"primary_value_table_candidate read in loc_1705: BTST.W #15, @H'E14E"
|
|
],
|
|
"score": 3,
|
|
"seed_frames": [],
|
|
"selector": 167,
|
|
"selector_hex": "0x0A7",
|
|
"tables": [
|
|
"primary_value_table_candidate"
|
|
]
|
|
},
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'175A",
|
|
"function": "loc_174D",
|
|
"instruction": "BTST.W #13, @H'E16E",
|
|
"table": "primary_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 01 37 00 00 6D",
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"primary_value_table_candidate read in loc_174D: BTST.W #13, @H'E16E"
|
|
],
|
|
"score": 3,
|
|
"seed_frames": [],
|
|
"selector": 183,
|
|
"selector_hex": "0x0B7",
|
|
"tables": [
|
|
"primary_value_table_candidate"
|
|
]
|
|
},
|
|
{
|
|
"accesses": [
|
|
{
|
|
"access": "read",
|
|
"address_hex": "H'179C",
|
|
"function": "loc_1795",
|
|
"instruction": "BTST.W #13, @H'E172",
|
|
"table": "primary_value_table_candidate"
|
|
}
|
|
],
|
|
"cmd1_read_frame": "01 01 39 00 00 63",
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"primary_value_table_candidate read in loc_1795: BTST.W #13, @H'E172"
|
|
],
|
|
"score": 3,
|
|
"seed_frames": [],
|
|
"selector": 185,
|
|
"selector_hex": "0x0B9",
|
|
"tables": [
|
|
"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",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 18,
|
|
"dispatch_index_hex": "0x012",
|
|
"entry_address_hex": "H'28CA",
|
|
"selector": 18,
|
|
"selector_hex": "0x012",
|
|
"target": 11779,
|
|
"target_hex": "H'2E03",
|
|
"target_label_or_hex": "H'2E03"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2E03"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 18,
|
|
"selector_hex": "0x012",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 13 00 00 48",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 19,
|
|
"dispatch_index_hex": "0x013",
|
|
"entry_address_hex": "H'28CC",
|
|
"selector": 19,
|
|
"selector_hex": "0x013",
|
|
"target": 11782,
|
|
"target_hex": "H'2E06",
|
|
"target_label_or_hex": "H'2E06"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2E06"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 19,
|
|
"selector_hex": "0x013",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 16 00 00 4D",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 22,
|
|
"dispatch_index_hex": "0x016",
|
|
"entry_address_hex": "H'28D2",
|
|
"selector": 22,
|
|
"selector_hex": "0x016",
|
|
"target": 11866,
|
|
"target_hex": "H'2E5A",
|
|
"target_label_or_hex": "H'2E5A"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2E5A"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 22,
|
|
"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",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 24,
|
|
"dispatch_index_hex": "0x018",
|
|
"entry_address_hex": "H'28D6",
|
|
"selector": 24,
|
|
"selector_hex": "0x018",
|
|
"target": 11887,
|
|
"target_hex": "H'2E6F",
|
|
"target_label_or_hex": "H'2E6F"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2E6F"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 24,
|
|
"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 24 00 00 7F",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 36,
|
|
"dispatch_index_hex": "0x024",
|
|
"entry_address_hex": "H'28EE",
|
|
"selector": 36,
|
|
"selector_hex": "0x024",
|
|
"target": 12044,
|
|
"target_hex": "H'2F0C",
|
|
"target_label_or_hex": "H'2F0C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F0C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 36,
|
|
"selector_hex": "0x024",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 25 00 00 7E",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 37,
|
|
"dispatch_index_hex": "0x025",
|
|
"entry_address_hex": "H'28F0",
|
|
"selector": 37,
|
|
"selector_hex": "0x025",
|
|
"target": 12060,
|
|
"target_hex": "H'2F1C",
|
|
"target_label_or_hex": "H'2F1C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F1C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 37,
|
|
"selector_hex": "0x025",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 43 00 00 18",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 67,
|
|
"dispatch_index_hex": "0x043",
|
|
"entry_address_hex": "H'292C",
|
|
"selector": 67,
|
|
"selector_hex": "0x043",
|
|
"target": 12106,
|
|
"target_hex": "H'2F4A",
|
|
"target_label_or_hex": "H'2F4A"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F4A"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 67,
|
|
"selector_hex": "0x043",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 4A 00 00 11",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 74,
|
|
"dispatch_index_hex": "0x04A",
|
|
"entry_address_hex": "H'293A",
|
|
"selector": 74,
|
|
"selector_hex": "0x04A",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F5C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 74,
|
|
"selector_hex": "0x04A",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 4E 00 00 15",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 78,
|
|
"dispatch_index_hex": "0x04E",
|
|
"entry_address_hex": "H'2942",
|
|
"selector": 78,
|
|
"selector_hex": "0x04E",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F5C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 78,
|
|
"selector_hex": "0x04E",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 52 00 00 09",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 82,
|
|
"dispatch_index_hex": "0x052",
|
|
"entry_address_hex": "H'294A",
|
|
"selector": 82,
|
|
"selector_hex": "0x052",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F5C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 82,
|
|
"selector_hex": "0x052",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 56 00 00 0D",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 86,
|
|
"dispatch_index_hex": "0x056",
|
|
"entry_address_hex": "H'2952",
|
|
"selector": 86,
|
|
"selector_hex": "0x056",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F5C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 86,
|
|
"selector_hex": "0x056",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 5A 00 00 01",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 90,
|
|
"dispatch_index_hex": "0x05A",
|
|
"entry_address_hex": "H'295A",
|
|
"selector": 90,
|
|
"selector_hex": "0x05A",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F5C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 90,
|
|
"selector_hex": "0x05A",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 5E 00 00 05",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 94,
|
|
"dispatch_index_hex": "0x05E",
|
|
"entry_address_hex": "H'2962",
|
|
"selector": 94,
|
|
"selector_hex": "0x05E",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F5C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 94,
|
|
"selector_hex": "0x05E",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 62 00 00 39",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 98,
|
|
"dispatch_index_hex": "0x062",
|
|
"entry_address_hex": "H'296A",
|
|
"selector": 98,
|
|
"selector_hex": "0x062",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F5C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 98,
|
|
"selector_hex": "0x062",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 66 00 00 3D",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 102,
|
|
"dispatch_index_hex": "0x066",
|
|
"entry_address_hex": "H'2972",
|
|
"selector": 102,
|
|
"selector_hex": "0x066",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F5C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 102,
|
|
"selector_hex": "0x066",
|
|
"tables": []
|
|
},
|
|
{
|
|
"accesses": [],
|
|
"cmd1_read_frame": "01 00 6A 00 00 31",
|
|
"dispatch_target": {
|
|
"decoded_code": false,
|
|
"dispatch_index": 106,
|
|
"dispatch_index_hex": "0x06A",
|
|
"entry_address_hex": "H'297A",
|
|
"selector": 106,
|
|
"selector_hex": "0x06A",
|
|
"target": 12124,
|
|
"target_hex": "H'2F5C",
|
|
"target_label_or_hex": "H'2F5C"
|
|
},
|
|
"name": "state_selector_candidate",
|
|
"reasons": [
|
|
"selector dispatches to H'2F5C"
|
|
],
|
|
"score": 2,
|
|
"seed_frames": [],
|
|
"selector": 106,
|
|
"selector_hex": "0x06A",
|
|
"tables": []
|
|
}
|
|
],
|
|
"summary": {
|
|
"candidate_count": 41,
|
|
"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."
|
|
},
|
|
"table_model": [
|
|
{
|
|
"access_count": 31,
|
|
"logical_range_hex": "H'E000-H'E3FF",
|
|
"name": "primary_value_table_candidate",
|
|
"static_selectors": [
|
|
0,
|
|
2,
|
|
3,
|
|
35,
|
|
64,
|
|
129,
|
|
146,
|
|
147,
|
|
167,
|
|
183,
|
|
185,
|
|
246,
|
|
272
|
|
],
|
|
"static_selectors_hex": [
|
|
"0x000",
|
|
"0x002",
|
|
"0x003",
|
|
"0x023",
|
|
"0x040",
|
|
"0x081",
|
|
"0x092",
|
|
"0x093",
|
|
"0x0A7",
|
|
"0x0B7",
|
|
"0x0B9",
|
|
"0x0F6",
|
|
"0x110"
|
|
]
|
|
},
|
|
{
|
|
"access_count": 8,
|
|
"logical_range_hex": "H'E400-H'E7FF",
|
|
"name": "secondary_value_table_candidate",
|
|
"static_selectors": [],
|
|
"static_selectors_hex": []
|
|
},
|
|
{
|
|
"access_count": 14,
|
|
"logical_range_hex": "H'E800-H'EBFF",
|
|
"name": "current_value_table_candidate",
|
|
"static_selectors": [
|
|
0,
|
|
3,
|
|
64,
|
|
129,
|
|
146,
|
|
246
|
|
],
|
|
"static_selectors_hex": [
|
|
"0x000",
|
|
"0x003",
|
|
"0x040",
|
|
"0x081",
|
|
"0x092",
|
|
"0x0F6"
|
|
]
|
|
},
|
|
{
|
|
"access_count": 6,
|
|
"logical_range_hex": "H'EC00-H'EFFF",
|
|
"name": "flag_table_candidate",
|
|
"static_selectors": [
|
|
0
|
|
],
|
|
"static_selectors_hex": [
|
|
"0x000"
|
|
]
|
|
}
|
|
]
|
|
}
|