diff --git a/LR35902/inc/GameBoyBus.h b/LR35902/inc/GameBoyBus.h index cb94c99..b1781af 100644 --- a/LR35902/inc/GameBoyBus.h +++ b/LR35902/inc/GameBoyBus.h @@ -24,7 +24,11 @@ namespace EightBit { }; enum { + CyclesPerSecond = 4 * 1024 * 1024, + FramesPerSecond = 60, + CyclesPerFrame = CyclesPerSecond / FramesPerSecond, TotalLineCount = 154, + CyclesPerLine = CyclesPerFrame / TotalLineCount, RomPageSize = 0x4000 }; diff --git a/LR35902/inc/LR35902.h b/LR35902/inc/LR35902.h index dc1b251..fbce5b4 100644 --- a/LR35902/inc/LR35902.h +++ b/LR35902/inc/LR35902.h @@ -34,9 +34,6 @@ namespace EightBit { virtual void reset() override; - static int framesPerSecond() { return 60; } - static int cyclesPerFrame() { return cyclesPerSecond() / framesPerSecond(); } - int runRasterLines(); int runRasterLine(); int runVerticalBlankLines(); @@ -61,9 +58,6 @@ namespace EightBit { bool m_prefixCB; - static int cyclesPerSecond() { return 4 * 1024 * 1024; } - static int cyclesPerLine() { return cyclesPerFrame() / Bus::TotalLineCount; } - bool& IME() { return m_ime; } uint8_t R(int r, uint8_t& a) { diff --git a/LR35902/src/LR35902.cpp b/LR35902/src/LR35902.cpp index 8103606..456a36a 100644 --- a/LR35902/src/LR35902.cpp +++ b/LR35902/src/LR35902.cpp @@ -336,7 +336,7 @@ int EightBit::GameBoy::LR35902::runRasterLines(int limit) { } int EightBit::GameBoy::LR35902::runRasterLine() { - const auto count = run(cyclesPerLine()); + const auto count = run(Bus::CyclesPerLine); if (m_bus.peekRegister(Bus::LCDC) & Bus::LcdEnable) { m_bus.updateLcdStatusMode(Bus::LcdStatusMode::HBlank); m_bus.incrementLY();