1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-04-25 11:17:26 +00:00

Merge branch '68000Mk2' into InMacintosh

This commit is contained in:
Thomas Harte
2022-05-25 13:02:44 -04:00
6 changed files with 26 additions and 25 deletions
@@ -381,7 +381,6 @@ void Processor<BusHandler, dtack_is_implicit, permit_overrun, signal_will_perfor
// Switch to supervisor mode, disable interrupts.
status_.is_supervisor = true;
status_.trace_flag = 0;
status_.interrupt_level = 7;
should_trace_ = 0;
did_update_status();
@@ -1631,7 +1630,6 @@ void Processor<BusHandler, dtack_is_implicit, permit_overrun, signal_will_perfor
break;
}
SetupDataAccess(0, Microcycle::SelectWord);
SetDataAddress(registers_[8 + instruction_.reg(1)].l);
Access(operand_[1].low);
MoveToStateSpecific(Decode);
@@ -2426,6 +2424,7 @@ void Processor<BusHandler, dtack_is_implicit, permit_overrun, signal_will_perfor
// or that of the instruction after?
BeginState(TRAP):
IdleBus(2);
instruction_address_.l += 2; // Push the address of the instruction after the trap.
exception_vector_ = (opcode_ & 15) + InstructionSet::M68k::Exception::TrapBase;
MoveToStateSpecific(StandardException);
@@ -2434,6 +2433,7 @@ void Processor<BusHandler, dtack_is_implicit, permit_overrun, signal_will_perfor
if(!status_.overflow_flag) {
MoveToStateSpecific(Decode);
}
instruction_address_.l += 2; // Push the address of the instruction after the trap.
exception_vector_ = InstructionSet::M68k::Exception::TRAPV;
MoveToStateSpecific(StandardException);
@@ -46,7 +46,7 @@ struct ProcessorBase: public InstructionSet::M68k::NullFlowController {
// Register state.
InstructionSet::M68k::Status status_;
SlicedInt32 program_counter_;
SlicedInt32 registers_[16]; // D0D7 followed by A0A7.
SlicedInt32 registers_[16]{}; // D0D7 followed by A0A7.
SlicedInt32 stack_pointers_[2];
/// Current state of the DTACK input.