mirror of
https://github.com/TomHarte/CLK.git
synced 2025-08-15 14:27:29 +00:00
Add spurious interrupt support.
This commit is contained in:
@@ -595,8 +595,12 @@ void Processor<BusHandler, dtack_is_implicit, permit_overrun, signal_will_perfor
|
|||||||
if(vpa_) {
|
if(vpa_) {
|
||||||
temporary_value_.b = uint8_t(InstructionSet::M68k::Exception::InterruptAutovectorBase - 1 + captured_interrupt_level_);
|
temporary_value_.b = uint8_t(InstructionSet::M68k::Exception::InterruptAutovectorBase - 1 + captured_interrupt_level_);
|
||||||
}
|
}
|
||||||
|
if(berr_) {
|
||||||
|
temporary_value_.b = uint8_t(InstructionSet::M68k::Exception::SpuriousInterrupt);
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: if bus error is set, treat interrupt as spurious.
|
// TODO: check documentation for other potential interrupt outcomes;
|
||||||
|
// and presumably spin here if DTACK isn't implicit.
|
||||||
|
|
||||||
IdleBus(3); // n- n
|
IdleBus(3); // n- n
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user