public void StopSeeking() { seeking = false; for (int i = 0; i < shadowRegisters.Length; i++) { if (shadowRegisters[i] >= 0) { NesApu.NesApuWriteRegister(apuIdx, 0x4000 + i, shadowRegisters[i]); } } }
protected void WriteApuRegister(int register, int data) { if (seeking) { int idx = register - 0x4000; // Not caching DPCM register for now. if (idx < shadowRegisters.Length) { shadowRegisters[idx] = data; } } else { NesApu.NesApuWriteRegister(apuIdx, register, data); } }