1
0

Emulator learnings folded back into decompiler

This commit is contained in:
Aiden
2026-05-25 19:11:22 +10:00
parent 1fabf6587d
commit d2e7609bbf
16 changed files with 1468 additions and 87 deletions

View File

@@ -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",