diff --git a/Processors/Z80/Z80.hpp b/Processors/Z80/Z80.hpp index 116d4181a..a6460367b 100644 --- a/Processors/Z80/Z80.hpp +++ b/Processors/Z80/Z80.hpp @@ -707,7 +707,7 @@ template class Processor: public MicroOpScheduler { case MicroOp::DecodeOperation: if(current_instruction_page_->increments_r) r_ = (r_ & 0x80) | ((r_ + 1) & 0x7f); pc_.full++; - decode_operation(operation_); + decode_operation(is_halted_ ? 0x00 : operation_); break; case MicroOp::Increment16: (*(uint16_t *)operation->source)++; break; @@ -1385,7 +1385,6 @@ template class Processor: public MicroOpScheduler { case MicroOp::HALT: is_halted_ = true; - pc_.full --; break; #pragma mark - Internal bookkeeping