Merge pull request #3458 from JosJuice/seconds-not-ticks

Replace some unnamed tick constants with GetTicksPerSecond()
This commit is contained in:
Markus Wick
2016-08-10 17:43:51 +02:00
committed by GitHub
4 changed files with 13 additions and 7 deletions

View File

@ -489,7 +489,7 @@ void ChangeDiscAsCPU(const std::string& newFileName)
{ {
std::string* _FileName = new std::string(newFileName); std::string* _FileName = new std::string(newFileName);
CoreTiming::ScheduleEvent(0, s_eject_disc); CoreTiming::ScheduleEvent(0, s_eject_disc);
CoreTiming::ScheduleEvent(500000000, s_insert_disc, (u64)_FileName); CoreTiming::ScheduleEvent(SystemTimers::GetTicksPerSecond(), s_insert_disc, (u64)_FileName);
if (Movie::IsRecordingInput()) if (Movie::IsRecordingInput())
{ {
std::string fileName = newFileName; std::string fileName = newFileName;

View File

@ -15,6 +15,7 @@
#include "Core/HW/MMIO.h" #include "Core/HW/MMIO.h"
#include "Core/HW/ProcessorInterface.h" #include "Core/HW/ProcessorInterface.h"
#include "Core/HW/Sram.h" #include "Core/HW/Sram.h"
#include "Core/HW/SystemTimers.h"
#include "Core/Movie.h" #include "Core/Movie.h"
SRAM g_SRAM; SRAM g_SRAM;
@ -104,11 +105,12 @@ static void ChangeDeviceCallback(u64 userdata, s64 cyclesLate)
void ChangeDevice(const u8 channel, const TEXIDevices device_type, const u8 device_num) void ChangeDevice(const u8 channel, const TEXIDevices device_type, const u8 device_num)
{ {
// Called from GUI, so we need to make it thread safe. // Called from GUI, so we need to make it thread safe.
// Let the hardware see no device for .5b cycles // Let the hardware see no device for 1 second
CoreTiming::ScheduleEvent_Threadsafe( CoreTiming::ScheduleEvent_Threadsafe(
0, changeDevice, ((u64)channel << 32) | ((u64)EXIDEVICE_NONE << 16) | device_num); 0, changeDevice, ((u64)channel << 32) | ((u64)EXIDEVICE_NONE << 16) | device_num);
CoreTiming::ScheduleEvent_Threadsafe( CoreTiming::ScheduleEvent_Threadsafe(SystemTimers::GetTicksPerSecond(), changeDevice,
500000000, changeDevice, ((u64)channel << 32) | ((u64)device_type << 16) | device_num); ((u64)channel << 32) | ((u64)device_type << 16) |
device_num);
} }
CEXIChannel* GetChannel(u32 index) CEXIChannel* GetChannel(u32 index)

View File

@ -10,6 +10,7 @@
#include "Core/CoreTiming.h" #include "Core/CoreTiming.h"
#include "Core/HW/MMIO.h" #include "Core/HW/MMIO.h"
#include "Core/HW/ProcessorInterface.h" #include "Core/HW/ProcessorInterface.h"
#include "Core/HW/SystemTimers.h"
#include "Core/IPC_HLE/WII_IPC_HLE.h" #include "Core/IPC_HLE/WII_IPC_HLE.h"
#include "Core/IPC_HLE/WII_IPC_HLE_Device_stm.h" #include "Core/IPC_HLE/WII_IPC_HLE_Device_stm.h"
#include "Core/PowerPC/PowerPC.h" #include "Core/PowerPC/PowerPC.h"
@ -217,7 +218,8 @@ void ResetButton_Tap()
{ {
CoreTiming::ScheduleEvent_AnyThread(0, toggleResetButton, true); CoreTiming::ScheduleEvent_AnyThread(0, toggleResetButton, true);
CoreTiming::ScheduleEvent_AnyThread(0, iosNotifyResetButton, 0); CoreTiming::ScheduleEvent_AnyThread(0, iosNotifyResetButton, 0);
CoreTiming::ScheduleEvent_AnyThread(243000000, toggleResetButton, false); CoreTiming::ScheduleEvent_AnyThread(SystemTimers::GetTicksPerSecond() / 2, toggleResetButton,
false);
} }
} // namespace ProcessorInterface } // namespace ProcessorInterface

View File

@ -15,6 +15,7 @@
#include "Core/HW/ProcessorInterface.h" #include "Core/HW/ProcessorInterface.h"
#include "Core/HW/SI.h" #include "Core/HW/SI.h"
#include "Core/HW/SI_DeviceGBA.h" #include "Core/HW/SI_DeviceGBA.h"
#include "Core/HW/SystemTimers.h"
#include "Core/Movie.h" #include "Core/Movie.h"
#include "Core/NetPlayProto.h" #include "Core/NetPlayProto.h"
@ -527,12 +528,13 @@ static void ChangeDeviceCallback(u64 userdata, s64 cyclesLate)
void ChangeDevice(SIDevices device, int channel) void ChangeDevice(SIDevices device, int channel)
{ {
// Called from GUI, so we need to make it thread safe. // Called from GUI, so we need to make it thread safe.
// Let the hardware see no device for .5b cycles // Let the hardware see no device for 1 second
// TODO: Calling GetDeviceType here isn't threadsafe. // TODO: Calling GetDeviceType here isn't threadsafe.
if (GetDeviceType(channel) != device) if (GetDeviceType(channel) != device)
{ {
CoreTiming::ScheduleEvent_Threadsafe(0, changeDevice, ((u64)channel << 32) | SIDEVICE_NONE); CoreTiming::ScheduleEvent_Threadsafe(0, changeDevice, ((u64)channel << 32) | SIDEVICE_NONE);
CoreTiming::ScheduleEvent_Threadsafe(500000000, changeDevice, ((u64)channel << 32) | device); CoreTiming::ScheduleEvent_Threadsafe(SystemTimers::GetTicksPerSecond(), changeDevice,
((u64)channel << 32) | device);
} }
} }