Skip to content

Commit

Permalink
Minor change to I/O port timing
Browse files Browse the repository at this point in the history
  • Loading branch information
istvan-v committed Sep 25, 2016
1 parent 903024c commit e044032
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/ep128vm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -274,17 +274,19 @@ namespace Ep128 {

EP128EMU_REGPARM3 void Ep128VM::Z80_::doOut(uint16_t addr, uint8_t value)
{
if (EP128EMU_EXPECT(vm.cpuCyclesRemaining < -(vm.cpuCyclesPerNickCycle)))
vm.cpuCyclesRemaining -= (int64_t(3) << 32);
if (vm.cpuCyclesRemaining < -(vm.cpuCyclesPerNickCycle))
vm.runDevices();
vm.cpuCyclesRemaining -= (int64_t(4) << 32);
vm.cpuCyclesRemaining -= (int64_t(1) << 32);
vm.ioPorts.write(addr, value);
}

EP128EMU_REGPARM2 uint8_t Ep128VM::Z80_::doIn(uint16_t addr)
{
if (EP128EMU_EXPECT(vm.cpuCyclesRemaining < -(vm.cpuCyclesPerNickCycle)))
vm.cpuCyclesRemaining -= (int64_t(3) << 32);
if (vm.cpuCyclesRemaining < -(vm.cpuCyclesPerNickCycle))
vm.runDevices();
vm.cpuCyclesRemaining -= (int64_t(4) << 32);
vm.cpuCyclesRemaining -= (int64_t(1) << 32);
return vm.ioPorts.read(addr);
}

Expand Down

0 comments on commit e044032

Please sign in to comment.