Emulator learnings folded back into decompiler
This commit is contained in:
@@ -61,11 +61,26 @@ SSR_FLAGS = {
|
||||
}
|
||||
|
||||
SSR_CLEAR_ACTIONS = {
|
||||
7: ("clear_tdre", "clear {channel} transmit data register empty flag (TDRE)"),
|
||||
6: ("clear_rdrf", "clear {channel} receive-data-full flag (RDRF)"),
|
||||
5: ("clear_orer", "clear {channel} overrun error flag (ORER)"),
|
||||
4: ("clear_fer", "clear {channel} framing error flag (FER)"),
|
||||
3: ("clear_per", "clear {channel} parity error flag (PER)"),
|
||||
7: (
|
||||
"clear_tdre",
|
||||
"clear {channel} TDRE after TDR write; TXI can fire again when hardware reasserts TDRE",
|
||||
),
|
||||
6: (
|
||||
"clear_rdrf",
|
||||
"clear {channel} RDRF with SSR R/(W)* semantics: write 0 clears latched hardware flag, write 1 preserves hardware-owned state",
|
||||
),
|
||||
5: (
|
||||
"clear_orer",
|
||||
"clear {channel} ORER with SSR R/(W)* semantics: write 0 clears latched hardware flag, write 1 preserves hardware-owned state",
|
||||
),
|
||||
4: (
|
||||
"clear_fer",
|
||||
"clear {channel} FER with SSR R/(W)* semantics: write 0 clears latched hardware flag, write 1 preserves hardware-owned state",
|
||||
),
|
||||
3: (
|
||||
"clear_per",
|
||||
"clear {channel} PER with SSR R/(W)* semantics: write 0 clears latched hardware flag, write 1 preserves hardware-owned state",
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
@@ -263,7 +278,10 @@ def _scr_bit_event(
|
||||
verb = "enable" if enabled else "disable"
|
||||
action_noun = noun.replace("/", "_").replace(" ", "_").lower()
|
||||
if bit == 7:
|
||||
comment = f"{verb} {register.channel} TX interrupt (TIE)"
|
||||
comment = (
|
||||
f"{verb} {register.channel} TX interrupt (TIE); "
|
||||
"gates TXI when hardware sets TDRE"
|
||||
)
|
||||
elif bit == 6:
|
||||
comment = f"{verb} {register.channel} receive and receive-error interrupts (RIE)"
|
||||
elif bit == 5:
|
||||
|
||||
Reference in New Issue
Block a user