Mesen2/Core/NES/NesConstants.h
2022-09-08 21:29:52 -04:00

28 lines
780 B
C++

#pragma once
#include "pch.h"
#include "Shared/SettingTypes.h"
class NesConstants
{
public:
static constexpr uint32_t ClockRateNtsc = 1789773;
static constexpr uint32_t ClockRatePal = 1662607;
static constexpr uint32_t ClockRateDendy = 1773448;
static constexpr uint32_t CyclesPerLine = 341;
static constexpr uint32_t ScreenWidth = 256;
static constexpr uint32_t ScreenHeight = 240;
static constexpr uint32_t ScreenPixelCount = ScreenWidth * ScreenHeight;
static uint32_t GetClockRate(ConsoleRegion region)
{
switch(region) {
default:
case ConsoleRegion::Ntsc: return NesConstants::ClockRateNtsc; break;
case ConsoleRegion::Pal: return NesConstants::ClockRatePal; break;
case ConsoleRegion::Dendy: return NesConstants::ClockRateDendy; break;
}
}
};