feat(cpu): account for source fetches in branch and IRQ refills
This commit is contained in:
parent
0650b60908
commit
2d7eb6e4eb
27 changed files with 638 additions and 87 deletions
|
|
@ -177,9 +177,8 @@ impl Machine {
|
|||
self.last_timing = timing;
|
||||
return Ok(StepKind::HaltIdle);
|
||||
}
|
||||
let (kind, timing) = if self.cpu.take_interrupt(self.memory.irq_pending(), false) {
|
||||
self.cpu.refill_pipeline(&mut self.memory);
|
||||
(StepKind::IrqEntry, self.cpu.exception_timing(&self.memory))
|
||||
let (kind, timing) = if let Some(timing) = self.cpu.take_irq_timed(&mut self.memory) {
|
||||
(StepKind::IrqEntry, timing)
|
||||
} else {
|
||||
(
|
||||
StepKind::Instruction,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue