EMualtor adjustments
This commit is contained in:
@@ -5,6 +5,185 @@
|
||||
"Branch predicates are summarized from local instruction order and targets; this is not an emulator trace."
|
||||
],
|
||||
"evidence": {
|
||||
"idle_heartbeat_gate_loc_4046": {
|
||||
"candidate_timer_roles": [
|
||||
{
|
||||
"address": 63940,
|
||||
"address_hex": "H'F9C4",
|
||||
"evidence_address_hex": "H'BF2D",
|
||||
"role": "candidate idle heartbeat/report gate countdown"
|
||||
}
|
||||
],
|
||||
"decrement_address_hex": "H'BF2D",
|
||||
"gate_address_hex": "H'4046",
|
||||
"initial_reload_address_hex": "H'40E0",
|
||||
"initial_reload_value_hex": "H'14",
|
||||
"items": [
|
||||
{
|
||||
"address": 16454,
|
||||
"address_hex": "H'4046",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "TST.B @H'F9C4"
|
||||
},
|
||||
{
|
||||
"address": 16458,
|
||||
"address_hex": "H'404A",
|
||||
"present": true,
|
||||
"targets_hex": [
|
||||
"H'4058"
|
||||
],
|
||||
"text": "BNE loc_4058"
|
||||
},
|
||||
{
|
||||
"address": 16460,
|
||||
"address_hex": "H'404C",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "BTST.B #7, @H'FAA5"
|
||||
},
|
||||
{
|
||||
"address": 16464,
|
||||
"address_hex": "H'4050",
|
||||
"present": true,
|
||||
"targets_hex": [
|
||||
"H'4059"
|
||||
],
|
||||
"text": "BEQ loc_4059"
|
||||
},
|
||||
{
|
||||
"address": 16466,
|
||||
"address_hex": "H'4052",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "TST.B @H'F9C3"
|
||||
},
|
||||
{
|
||||
"address": 16470,
|
||||
"address_hex": "H'4056",
|
||||
"present": true,
|
||||
"targets_hex": [
|
||||
"H'4059"
|
||||
],
|
||||
"text": "BEQ loc_4059"
|
||||
},
|
||||
{
|
||||
"address": 16472,
|
||||
"address_hex": "H'4058",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "RTS"
|
||||
},
|
||||
{
|
||||
"address": 16473,
|
||||
"address_hex": "H'4059",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "MOV:G.B @H'F9B0, R2"
|
||||
},
|
||||
{
|
||||
"address": 16479,
|
||||
"address_hex": "H'405F",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "CMP:G.B @H'F9B5, R2"
|
||||
},
|
||||
{
|
||||
"address": 16483,
|
||||
"address_hex": "H'4063",
|
||||
"present": true,
|
||||
"targets_hex": [
|
||||
"H'4074"
|
||||
],
|
||||
"text": "BNE loc_4074"
|
||||
},
|
||||
{
|
||||
"address": 16487,
|
||||
"address_hex": "H'4067",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "MOV:G.W #H'00, @(-H'0790,R2)"
|
||||
},
|
||||
{
|
||||
"address": 16492,
|
||||
"address_hex": "H'406C",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "ADD:Q.B #1, @H'F9B0"
|
||||
},
|
||||
{
|
||||
"address": 16496,
|
||||
"address_hex": "H'4070",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "BCLR.B #7, @H'F9B0"
|
||||
},
|
||||
{
|
||||
"address": 16608,
|
||||
"address_hex": "H'40E0",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "MOV:G.B #H'14, @H'F9C4"
|
||||
},
|
||||
{
|
||||
"address": 47665,
|
||||
"address_hex": "H'BA31",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "MOV:G.B #H'07, @H'F9C4"
|
||||
},
|
||||
{
|
||||
"address": 48931,
|
||||
"address_hex": "H'BF23",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "BCLR.B #5, @FRT2_TCSR"
|
||||
},
|
||||
{
|
||||
"address": 48935,
|
||||
"address_hex": "H'BF27",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "TST.B @H'F9C4"
|
||||
},
|
||||
{
|
||||
"address": 48941,
|
||||
"address_hex": "H'BF2D",
|
||||
"present": true,
|
||||
"targets_hex": [],
|
||||
"text": "ADD:Q.B #-1, @H'F9C4"
|
||||
}
|
||||
],
|
||||
"post_tx_reload_address_hex": "H'BA31",
|
||||
"post_tx_reload_value_hex": "H'07",
|
||||
"present": true,
|
||||
"queue_write_address_hex": "H'4067",
|
||||
"required_addresses_hex": [
|
||||
"H'4046",
|
||||
"H'4050",
|
||||
"H'4067",
|
||||
"H'40E0",
|
||||
"H'BA31",
|
||||
"H'BF23",
|
||||
"H'BF2D"
|
||||
],
|
||||
"summary": "F9C4 gates the idle/default report enqueue. Reset/init loads H'14, each BA26 send reloads H'07, and the FRT2 OCIA handler decrements it; when it reaches zero loc_4046 can enqueue H'00FF if the queue is empty and the FAA5/F9C3 RX gate permits it. With FRT2 OCRA H'7A12 and CKS=phi/32, a phi near 10 MHz gives about 0.7s for H'07, matching the observed heartbeat cadence.",
|
||||
"tick_handler_address_hex": "H'BF23",
|
||||
"timer": {
|
||||
"clock_select": "CKS1=1 CKS0=0 => phi/32",
|
||||
"handler_address_hex": "H'BF23",
|
||||
"manual_reference": "Manual/0900766b802125d0.md:12038 FRT CKS1/CKS0 clock select",
|
||||
"observed_period_ms_candidate": 700,
|
||||
"ocra_address_hex": "H'FEA4",
|
||||
"ocra_value_hex": "H'7A12",
|
||||
"source": "FRT2 OCIA",
|
||||
"tcr_address_hex": "H'FEA0",
|
||||
"tcsr_address_hex": "H'FEA1",
|
||||
"vector_address_hex": "H'006A",
|
||||
"vector_target_label": "vec_frt2_ocia_BF23"
|
||||
},
|
||||
"title": "loc_4046 idle heartbeat/report gate"
|
||||
},
|
||||
"queue_send_gate_loc_BAF2": {
|
||||
"items": [
|
||||
{
|
||||
@@ -1330,6 +1509,87 @@
|
||||
],
|
||||
"write_count": 4
|
||||
},
|
||||
{
|
||||
"accesses": [
|
||||
{
|
||||
"access": "read",
|
||||
"address": 16454,
|
||||
"address_hex": "H'4046",
|
||||
"function": "loc_4046",
|
||||
"text": "TST.B @H'F9C4"
|
||||
},
|
||||
{
|
||||
"access": "write",
|
||||
"address": 16608,
|
||||
"address_hex": "H'40E0",
|
||||
"function": "loc_40BB",
|
||||
"text": "MOV:G.B #H'14, @H'F9C4"
|
||||
},
|
||||
{
|
||||
"access": "write",
|
||||
"address": 47665,
|
||||
"address_hex": "H'BA31",
|
||||
"function": "loc_BA26",
|
||||
"text": "MOV:G.B #H'07, @H'F9C4"
|
||||
},
|
||||
{
|
||||
"access": "read",
|
||||
"address": 48935,
|
||||
"address_hex": "H'BF27",
|
||||
"function": "vec_frt2_ocia_BF23",
|
||||
"text": "TST.B @H'F9C4"
|
||||
},
|
||||
{
|
||||
"access": "read_write",
|
||||
"address": 48941,
|
||||
"address_hex": "H'BF2D",
|
||||
"function": "vec_frt2_ocia_BF23",
|
||||
"text": "ADD:Q.B #-1, @H'F9C4"
|
||||
}
|
||||
],
|
||||
"address": 63940,
|
||||
"address_hex": "H'F9C4",
|
||||
"read_count": 2,
|
||||
"read_write_count": 1,
|
||||
"sample_accesses": [
|
||||
{
|
||||
"access": "read",
|
||||
"address": 16454,
|
||||
"address_hex": "H'4046",
|
||||
"function": "loc_4046",
|
||||
"text": "TST.B @H'F9C4"
|
||||
},
|
||||
{
|
||||
"access": "write",
|
||||
"address": 16608,
|
||||
"address_hex": "H'40E0",
|
||||
"function": "loc_40BB",
|
||||
"text": "MOV:G.B #H'14, @H'F9C4"
|
||||
},
|
||||
{
|
||||
"access": "write",
|
||||
"address": 47665,
|
||||
"address_hex": "H'BA31",
|
||||
"function": "loc_BA26",
|
||||
"text": "MOV:G.B #H'07, @H'F9C4"
|
||||
},
|
||||
{
|
||||
"access": "read",
|
||||
"address": 48935,
|
||||
"address_hex": "H'BF27",
|
||||
"function": "vec_frt2_ocia_BF23",
|
||||
"text": "TST.B @H'F9C4"
|
||||
},
|
||||
{
|
||||
"access": "read_write",
|
||||
"address": 48941,
|
||||
"address_hex": "H'BF2D",
|
||||
"function": "vec_frt2_ocia_BF23",
|
||||
"text": "ADD:Q.B #-1, @H'F9C4"
|
||||
}
|
||||
],
|
||||
"write_count": 2
|
||||
},
|
||||
{
|
||||
"accesses": [
|
||||
{
|
||||
@@ -1993,6 +2253,11 @@
|
||||
"address_hex": "H'F9C3",
|
||||
"symbol": "ram_F9C3"
|
||||
},
|
||||
{
|
||||
"address": 63940,
|
||||
"address_hex": "H'F9C4",
|
||||
"symbol": "ram_F9C4"
|
||||
},
|
||||
{
|
||||
"address": 63941,
|
||||
"address_hex": "H'F9C5",
|
||||
|
||||
Reference in New Issue
Block a user