diff --git a/src/core/gpu.cpp b/src/core/gpu.cpp index 1366c2b50..fb7ca7f2d 100644 --- a/src/core/gpu.cpp +++ b/src/core/gpu.cpp @@ -40,6 +40,7 @@ void GPU::Reset() void GPU::SoftReset() { m_GPUSTAT.bits = 0x14802000; + m_GPUSTAT.pal_mode = m_system->IsPALRegion(); m_drawing_area.Set(0, 0, 0, 0); m_drawing_area_changed = true; m_drawing_offset = {}; @@ -279,7 +280,8 @@ void GPU::UpdateCRTCConfig() } const TickCount ticks_per_frame = cs.horizontal_total * cs.vertical_total; - const double vertical_frequency = static_cast((u64(MASTER_CLOCK) * 11) / 7) / static_cast(ticks_per_frame); + const double vertical_frequency = + static_cast((u64(MASTER_CLOCK) * 11) / 7) / static_cast(ticks_per_frame); m_system->GetHostInterface()->SetThrottleFrequency(vertical_frequency); const u8 horizontal_resolution_index = m_GPUSTAT.horizontal_resolution_1 | (m_GPUSTAT.horizontal_resolution_2 << 2); diff --git a/src/core/system.h b/src/core/system.h index ae92f89fc..87197f998 100644 --- a/src/core/system.h +++ b/src/core/system.h @@ -50,6 +50,8 @@ public: SPU* GetSPU() const { return m_spu.get(); } MDEC* GetMDEC() const { return m_mdec.get(); } + ConsoleRegion GetRegion() const { return m_region; } + bool IsPALRegion() const { return m_region == ConsoleRegion::PAL; } u32 GetFrameNumber() const { return m_frame_number; } u32 GetInternalFrameNumber() const { return m_internal_frame_number; } u32 GetGlobalTickCounter() const { return m_global_tick_counter; }