Adjust the number of PowerPC cycles executed per frame to assume 57.524 Hz refresh rate

Fighting Vipers 2 attract mode no longer requires 100+ MHz to run smoothly

Supermodel itself still runs at 60 Hz
This commit is contained in:
Matthew Daniels 2022-01-23 15:32:53 +00:00
parent 0ef90899e1
commit 646b46fd4b

View file

@ -2031,7 +2031,7 @@ void CModel3::RunMainBoardFrame(void)
// Compute display and VBlank timings // Compute display and VBlank timings
unsigned ppcCycles = m_config["PowerPCFrequency"].ValueAs<unsigned>() * 1000000; unsigned ppcCycles = m_config["PowerPCFrequency"].ValueAs<unsigned>() * 1000000;
unsigned frameCycles = ppcCycles / 60; unsigned frameCycles = (unsigned)((float)ppcCycles / 57.524160f);
unsigned gapCycles = (unsigned)((float)frameCycles * 2.5f / 100.0f); // we need a gap between asserting irq2 & irq 0x40 unsigned gapCycles = (unsigned)((float)frameCycles * 2.5f / 100.0f); // we need a gap between asserting irq2 & irq 0x40
unsigned offsetCycles = (unsigned)((float)frameCycles * 33.f / 100.0f); unsigned offsetCycles = (unsigned)((float)frameCycles * 33.f / 100.0f);
unsigned dispCycles = frameCycles - gapCycles - offsetCycles; unsigned dispCycles = frameCycles - gapCycles - offsetCycles;