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:
@@ -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]; // D0–D7 followed by A0–A7.
|
||||
SlicedInt32 registers_[16]{}; // D0–D7 followed by A0–A7.
|
||||
SlicedInt32 stack_pointers_[2];
|
||||
|
||||
/// Current state of the DTACK input.
|
||||
|
||||
Reference in New Issue
Block a user