GPU: Set PAL mode on soft reset if region is PAL

This commit is contained in:
Connor McLaughlin 2019-11-16 20:15:33 +10:00
parent 49ab9467df
commit 613e4f4a2a
2 changed files with 5 additions and 1 deletions

View File

@ -40,6 +40,7 @@ void GPU::Reset()
void GPU::SoftReset() void GPU::SoftReset()
{ {
m_GPUSTAT.bits = 0x14802000; m_GPUSTAT.bits = 0x14802000;
m_GPUSTAT.pal_mode = m_system->IsPALRegion();
m_drawing_area.Set(0, 0, 0, 0); m_drawing_area.Set(0, 0, 0, 0);
m_drawing_area_changed = true; m_drawing_area_changed = true;
m_drawing_offset = {}; m_drawing_offset = {};
@ -279,7 +280,8 @@ void GPU::UpdateCRTCConfig()
} }
const TickCount ticks_per_frame = cs.horizontal_total * cs.vertical_total; const TickCount ticks_per_frame = cs.horizontal_total * cs.vertical_total;
const double vertical_frequency = static_cast<double>((u64(MASTER_CLOCK) * 11) / 7) / static_cast<double>(ticks_per_frame); const double vertical_frequency =
static_cast<double>((u64(MASTER_CLOCK) * 11) / 7) / static_cast<double>(ticks_per_frame);
m_system->GetHostInterface()->SetThrottleFrequency(vertical_frequency); m_system->GetHostInterface()->SetThrottleFrequency(vertical_frequency);
const u8 horizontal_resolution_index = m_GPUSTAT.horizontal_resolution_1 | (m_GPUSTAT.horizontal_resolution_2 << 2); const u8 horizontal_resolution_index = m_GPUSTAT.horizontal_resolution_1 | (m_GPUSTAT.horizontal_resolution_2 << 2);

View File

@ -50,6 +50,8 @@ public:
SPU* GetSPU() const { return m_spu.get(); } SPU* GetSPU() const { return m_spu.get(); }
MDEC* GetMDEC() const { return m_mdec.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 GetFrameNumber() const { return m_frame_number; }
u32 GetInternalFrameNumber() const { return m_internal_frame_number; } u32 GetInternalFrameNumber() const { return m_internal_frame_number; }
u32 GetGlobalTickCounter() const { return m_global_tick_counter; } u32 GetGlobalTickCounter() const { return m_global_tick_counter; }