diff --git a/Processors/68000/State/State.cpp b/Processors/68000/State/State.cpp index ce718dec0..0acaca89c 100644 --- a/Processors/68000/State/State.cpp +++ b/Processors/68000/State/State.cpp @@ -35,12 +35,6 @@ State::State(const ProcessorBase &src): State() { // TODO: // execution_state_ - // last_trace_flag_ - // pending_interrupt_level_ - // accepted_interrupt_level_ - // is_starting_interrupt_ - // dbcc_false_address_ - // next_word_ // active_[program_/micro_op_/step_] // Execution state. @@ -49,6 +43,12 @@ State::State(const ProcessorBase &src): State() { execution_state.effective_address[1] = src.effective_address_[1].full; execution_state.source_data = src.source_bus_data_[0].full; execution_state.destination_data = src.destination_bus_data_[0].full; + execution_state.last_trace_flag = src.last_trace_flag_; + execution_state.next_word = src.next_word_; + execution_state.dbcc_false_address = src.dbcc_false_address_; + execution_state.is_starting_interrupt = src.is_starting_interrupt_; + execution_state.pending_interrupt_level = uint8_t(src.pending_interrupt_level_); + execution_state.accepted_interrupt_level = uint8_t(src.accepted_interrupt_level_); } void State::apply(ProcessorBase &target) { @@ -94,5 +94,11 @@ State::ExecutionState::ExecutionState() { DeclareField(effective_address); DeclareField(source_data); DeclareField(destination_data); + DeclareField(last_trace_flag); + DeclareField(next_word); + DeclareField(dbcc_false_address); + DeclareField(is_starting_interrupt); + DeclareField(pending_interrupt_level); + DeclareField(accepted_interrupt_level); } } diff --git a/Processors/68000/State/State.hpp b/Processors/68000/State/State.hpp index fa1aa1d3f..579bfafb5 100644 --- a/Processors/68000/State/State.hpp +++ b/Processors/68000/State/State.hpp @@ -65,6 +65,12 @@ struct State: public Reflection::StructImpl { uint32_t effective_address[2]; uint32_t source_data; uint32_t destination_data; + bool last_trace_flag; + uint16_t next_word; + uint32_t dbcc_false_address; + bool is_starting_interrupt; + uint8_t pending_interrupt_level; + uint8_t accepted_interrupt_level; ExecutionState(); } execution_state;