Emulator learnings folded back into decompiler
This commit is contained in:
@@ -498,6 +498,85 @@
|
||||
],
|
||||
"summary": "Requires FAA2 == 0, allows the FAA5.bit7 path only when F9C3 == 0, then requires F9C0 == 0 before BSR loc_BAF2.",
|
||||
"title": "loc_3FD3 gate into loc_BAF2"
|
||||
},
|
||||
"timer_tick_evidence": {
|
||||
"candidate_timer_roles": [
|
||||
{
|
||||
"address": 63936,
|
||||
"address_hex": "H'F9C0",
|
||||
"evidence_address_hex": "H'BEF4",
|
||||
"role": "candidate post-TX/report delay countdown"
|
||||
},
|
||||
{
|
||||
"address": 63937,
|
||||
"address_hex": "H'F9C1",
|
||||
"evidence_address_hex": "H'BEFE",
|
||||
"role": "candidate secondary delay countdown"
|
||||
},
|
||||
{
|
||||
"address": 63942,
|
||||
"address_hex": "H'F9C6",
|
||||
"evidence_address_hex": "H'BF08",
|
||||
"role": "candidate periodic report/heartbeat countdown"
|
||||
}
|
||||
],
|
||||
"handler_address_hex": "H'BEEA",
|
||||
"items": [
|
||||
{
|
||||
"address": 48874,
|
||||
"address_hex": "H'BEEA",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "BCLR.B #5, @FRT1_TCSR"
|
||||
},
|
||||
{
|
||||
"address": 48878,
|
||||
"address_hex": "H'BEEE",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "TST.B @H'F9C0"
|
||||
},
|
||||
{
|
||||
"address": 48884,
|
||||
"address_hex": "H'BEF4",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "ADD:Q.B #-1, @H'F9C0"
|
||||
},
|
||||
{
|
||||
"address": 48888,
|
||||
"address_hex": "H'BEF8",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "TST.B @H'F9C1"
|
||||
},
|
||||
{
|
||||
"address": 48894,
|
||||
"address_hex": "H'BEFE",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "ADD:Q.B #-1, @H'F9C1"
|
||||
},
|
||||
{
|
||||
"address": 48898,
|
||||
"address_hex": "H'BF02",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "TST.W @H'F9C6"
|
||||
},
|
||||
{
|
||||
"address": 48904,
|
||||
"address_hex": "H'BF08",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "ADD:Q.W #-1, @H'F9C6"
|
||||
}
|
||||
],
|
||||
"present": true,
|
||||
"summary": "Static evidence links vector H'0062 to the FRT1 OCIA handler at H'BEEA; the handler clears FRT1_TCSR.OCFA and conditionally decrements H'F9C0, H'F9C1, and H'F9C6.",
|
||||
"title": "FRT1 OCIA periodic tick countdowns",
|
||||
"vector_address_hex": "H'0062",
|
||||
"vector_target_label": "vec_frt1_ocia_BEEA"
|
||||
}
|
||||
},
|
||||
"kind": "serial_gate",
|
||||
@@ -1047,6 +1126,87 @@
|
||||
],
|
||||
"write_count": 7
|
||||
},
|
||||
{
|
||||
"accesses": [
|
||||
{
|
||||
"access": "write",
|
||||
"address": 47853,
|
||||
"address_hex": "H'BAED",
|
||||
"function": "vec_sci1_txi_BA84",
|
||||
"text": "CLR.B @H'F9C1"
|
||||
},
|
||||
{
|
||||
"access": "read",
|
||||
"address": 47985,
|
||||
"address_hex": "H'BB71",
|
||||
"function": "vec_sci1_rxi_BB67",
|
||||
"text": "TST.B @H'F9C1"
|
||||
},
|
||||
{
|
||||
"access": "write",
|
||||
"address": 48035,
|
||||
"address_hex": "H'BBA3",
|
||||
"function": "vec_sci1_rxi_BB67",
|
||||
"text": "MOV:G.B #H'05, @H'F9C1"
|
||||
},
|
||||
{
|
||||
"access": "read",
|
||||
"address": 48888,
|
||||
"address_hex": "H'BEF8",
|
||||
"function": "vec_frt1_ocia_BEEA",
|
||||
"text": "TST.B @H'F9C1"
|
||||
},
|
||||
{
|
||||
"access": "read_write",
|
||||
"address": 48894,
|
||||
"address_hex": "H'BEFE",
|
||||
"function": "vec_frt1_ocia_BEEA",
|
||||
"text": "ADD:Q.B #-1, @H'F9C1"
|
||||
}
|
||||
],
|
||||
"address": 63937,
|
||||
"address_hex": "H'F9C1",
|
||||
"read_count": 2,
|
||||
"read_write_count": 1,
|
||||
"sample_accesses": [
|
||||
{
|
||||
"access": "write",
|
||||
"address": 47853,
|
||||
"address_hex": "H'BAED",
|
||||
"function": "vec_sci1_txi_BA84",
|
||||
"text": "CLR.B @H'F9C1"
|
||||
},
|
||||
{
|
||||
"access": "read",
|
||||
"address": 47985,
|
||||
"address_hex": "H'BB71",
|
||||
"function": "vec_sci1_rxi_BB67",
|
||||
"text": "TST.B @H'F9C1"
|
||||
},
|
||||
{
|
||||
"access": "write",
|
||||
"address": 48035,
|
||||
"address_hex": "H'BBA3",
|
||||
"function": "vec_sci1_rxi_BB67",
|
||||
"text": "MOV:G.B #H'05, @H'F9C1"
|
||||
},
|
||||
{
|
||||
"access": "read",
|
||||
"address": 48888,
|
||||
"address_hex": "H'BEF8",
|
||||
"function": "vec_frt1_ocia_BEEA",
|
||||
"text": "TST.B @H'F9C1"
|
||||
},
|
||||
{
|
||||
"access": "read_write",
|
||||
"address": 48894,
|
||||
"address_hex": "H'BEFE",
|
||||
"function": "vec_frt1_ocia_BEEA",
|
||||
"text": "ADD:Q.B #-1, @H'F9C1"
|
||||
}
|
||||
],
|
||||
"write_count": 2
|
||||
},
|
||||
{
|
||||
"accesses": [
|
||||
{
|
||||
@@ -1823,6 +1983,11 @@
|
||||
"address_hex": "H'F9C0",
|
||||
"symbol": "ram_F9C0"
|
||||
},
|
||||
{
|
||||
"address": 63937,
|
||||
"address_hex": "H'F9C1",
|
||||
"symbol": "ram_F9C1"
|
||||
},
|
||||
{
|
||||
"address": 63939,
|
||||
"address_hex": "H'F9C3",
|
||||
|
||||
Reference in New Issue
Block a user