diff --git a/apu/apu.cpp b/apu/apu.cpp index d9c214b9..aeb116e9 100644 --- a/apu/apu.cpp +++ b/apu/apu.cpp @@ -617,6 +617,8 @@ void S9xAPUSaveState (uint8 *block) ptr += sizeof(int32); SNES::set_le32(ptr, spc::remainder); ptr += sizeof(int32); + SNES::set_le32(ptr, SNES::dsp.clock); + ptr += sizeof(int32); memcpy (ptr, SNES::cpu.registers, 4); } @@ -633,6 +635,8 @@ void S9xAPULoadState (uint8 *block) ptr += sizeof(int32); spc::remainder = SNES::get_le32(ptr); ptr += sizeof(int32); + SNES::dsp.clock = SNES::get_le32(ptr); + ptr += sizeof(int32); memcpy (SNES::cpu.registers, ptr, 4); } diff --git a/apu/bapu/smp/smp.hpp b/apu/bapu/smp/smp.hpp index 638c400d..1bf75129 100644 --- a/apu/bapu/smp/smp.hpp +++ b/apu/bapu/smp/smp.hpp @@ -93,7 +93,7 @@ public: Timer<128> timer1; Timer< 16> timer2; - void tick(); + alwaysinline void tick(); alwaysinline void op_io(); debugvirtual alwaysinline uint8 op_read(uint16 addr); debugvirtual alwaysinline void op_write(uint16 addr, uint8 data);