Revert "HW: Poll system input from system timers"
This reverts commit 854f6b8688
.
Conflicts:
Source/Core/Core/HW/GCPad.cpp
Source/Core/Core/HW/Wiimote.cpp
Source/Core/Core/State.cpp
This commit is contained in:
parent
78e59d08fe
commit
b645547930
|
@ -57,6 +57,14 @@ void GetStatus(u8 _numPAD, GCPadStatus* _pPADStatus)
|
||||||
memset(_pPADStatus, 0, sizeof(*_pPADStatus));
|
memset(_pPADStatus, 0, sizeof(*_pPADStatus));
|
||||||
_pPADStatus->err = PAD_ERR_NONE;
|
_pPADStatus->err = PAD_ERR_NONE;
|
||||||
|
|
||||||
|
// if we are on the next input cycle, update output and input
|
||||||
|
static int _last_numPAD = 4;
|
||||||
|
if (_numPAD <= _last_numPAD)
|
||||||
|
{
|
||||||
|
g_controller_interface.UpdateInput();
|
||||||
|
}
|
||||||
|
_last_numPAD = _numPAD;
|
||||||
|
|
||||||
// get input
|
// get input
|
||||||
((GCPad*)s_config.controllers[_numPAD])->GetInput(_pPADStatus);
|
((GCPad*)s_config.controllers[_numPAD])->GetInput(_pPADStatus);
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,8 +61,6 @@ IPC_HLE_PERIOD: For the Wiimote this is the call schedule:
|
||||||
#include "Core/IPC_HLE/WII_IPC_HLE.h"
|
#include "Core/IPC_HLE/WII_IPC_HLE.h"
|
||||||
#include "Core/PowerPC/PowerPC.h"
|
#include "Core/PowerPC/PowerPC.h"
|
||||||
|
|
||||||
#include "InputCommon/ControllerInterface/ControllerInterface.h"
|
|
||||||
|
|
||||||
#include "VideoCommon/CommandProcessor.h"
|
#include "VideoCommon/CommandProcessor.h"
|
||||||
#include "VideoCommon/VideoBackendBase.h"
|
#include "VideoCommon/VideoBackendBase.h"
|
||||||
|
|
||||||
|
@ -81,7 +79,6 @@ static int et_DSP;
|
||||||
static int et_IPC_HLE;
|
static int et_IPC_HLE;
|
||||||
static int et_PatchEngine; // PatchEngine updates every 1/60th of a second by default
|
static int et_PatchEngine; // PatchEngine updates every 1/60th of a second by default
|
||||||
static int et_Throttle;
|
static int et_Throttle;
|
||||||
static int et_UpdateInput;
|
|
||||||
|
|
||||||
// These are badly educated guesses
|
// These are badly educated guesses
|
||||||
// Feel free to experiment. Set these in Init below.
|
// Feel free to experiment. Set these in Init below.
|
||||||
|
@ -134,14 +131,6 @@ static void VICallback(u64 userdata, int cyclesLate)
|
||||||
CoreTiming::ScheduleEvent(VideoInterface::GetTicksPerLine() - cyclesLate, et_VI);
|
CoreTiming::ScheduleEvent(VideoInterface::GetTicksPerLine() - cyclesLate, et_VI);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void UpdateInputCallback(u64 userdata, int cyclesLate)
|
|
||||||
{
|
|
||||||
g_controller_interface.UpdateInput();
|
|
||||||
|
|
||||||
// Poll system input every 1/60th of a second.
|
|
||||||
CoreTiming::ScheduleEvent(SystemTimers::GetTicksPerSecond() / 60 - cyclesLate, et_UpdateInput);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void SICallback(u64 userdata, int cyclesLate)
|
static void SICallback(u64 userdata, int cyclesLate)
|
||||||
{
|
{
|
||||||
SerialInterface::UpdateDevices();
|
SerialInterface::UpdateDevices();
|
||||||
|
@ -270,7 +259,6 @@ void Init()
|
||||||
et_IPC_HLE = CoreTiming::RegisterEvent("IPC_HLE_UpdateCallback", IPC_HLE_UpdateCallback);
|
et_IPC_HLE = CoreTiming::RegisterEvent("IPC_HLE_UpdateCallback", IPC_HLE_UpdateCallback);
|
||||||
et_PatchEngine = CoreTiming::RegisterEvent("PatchEngine", PatchEngineCallback);
|
et_PatchEngine = CoreTiming::RegisterEvent("PatchEngine", PatchEngineCallback);
|
||||||
et_Throttle = CoreTiming::RegisterEvent("Throttle", ThrottleCallback);
|
et_Throttle = CoreTiming::RegisterEvent("Throttle", ThrottleCallback);
|
||||||
et_UpdateInput = CoreTiming::RegisterEvent("UpdateInput", UpdateInputCallback);
|
|
||||||
|
|
||||||
CoreTiming::ScheduleEvent(VideoInterface::GetTicksPerLine(), et_VI);
|
CoreTiming::ScheduleEvent(VideoInterface::GetTicksPerLine(), et_VI);
|
||||||
CoreTiming::ScheduleEvent(0, et_DSP);
|
CoreTiming::ScheduleEvent(0, et_DSP);
|
||||||
|
@ -284,8 +272,6 @@ void Init()
|
||||||
|
|
||||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bWii)
|
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bWii)
|
||||||
CoreTiming::ScheduleEvent(IPC_HLE_PERIOD, et_IPC_HLE);
|
CoreTiming::ScheduleEvent(IPC_HLE_PERIOD, et_IPC_HLE);
|
||||||
|
|
||||||
CoreTiming::ScheduleEvent(0, et_UpdateInput);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Shutdown()
|
void Shutdown()
|
||||||
|
|
|
@ -118,6 +118,14 @@ void Update(int _number)
|
||||||
{
|
{
|
||||||
//PanicAlert( "Wiimote_Update" );
|
//PanicAlert( "Wiimote_Update" );
|
||||||
|
|
||||||
|
// if we are on the next input cycle, update output and input
|
||||||
|
static int _last_number = 4;
|
||||||
|
if (_number <= _last_number)
|
||||||
|
{
|
||||||
|
g_controller_interface.UpdateInput();
|
||||||
|
}
|
||||||
|
_last_number = _number;
|
||||||
|
|
||||||
if (WIIMOTE_SRC_EMU & g_wiimote_sources[_number])
|
if (WIIMOTE_SRC_EMU & g_wiimote_sources[_number])
|
||||||
((WiimoteEmu::Wiimote*)s_config.controllers[_number])->Update();
|
((WiimoteEmu::Wiimote*)s_config.controllers[_number])->Update();
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue