diff --git a/src/xenia/emulator.cc b/src/xenia/emulator.cc index 9cf17667f..bcb2924ba 100644 --- a/src/xenia/emulator.cc +++ b/src/xenia/emulator.cc @@ -119,8 +119,8 @@ X_STATUS Emulator::Setup( display_window_ = display_window; // Initialize clock. - // 360 uses a 50MHz clock. - Clock::set_guest_tick_frequency(50000000); + // 360 uses a ~49.875MHz clock. + Clock::set_guest_tick_frequency(49875000); // We could reset this with save state data/constant value to help replays. Clock::set_guest_system_time_base(Clock::QueryHostSystemTime()); // This can be adjusted dynamically, as well. diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc index b12325dcd..92760b536 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc @@ -283,8 +283,7 @@ void KeSetCurrentProcessType(dword_t type) { DECLARE_XBOXKRNL_EXPORT1(KeSetCurrentProcessType, kThreading, kImplemented); dword_result_t KeQueryPerformanceFrequency() { - uint64_t result = Clock::guest_tick_frequency(); - return static_cast(result); + return 50000000; // always returns 50MHz, even though X360 is at 49.875 or so } DECLARE_XBOXKRNL_EXPORT2(KeQueryPerformanceFrequency, kThreading, kImplemented, kHighFrequency);