summaryrefslogtreecommitdiff
path: root/src/core/core_timing.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/core_timing.h')
-rw-r--r--src/core/core_timing.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/core/core_timing.h b/src/core/core_timing.h
index 3d8a7d0c0..b72a1b500 100644
--- a/src/core/core_timing.h
+++ b/src/core/core_timing.h
@@ -4,7 +4,9 @@
4 4
5#pragma once 5#pragma once
6 6
7#include <functional>
7#include <string> 8#include <string>
9#include "common/common_types.h"
8 10
9// This is a system to schedule events into the emulated machine's future. Time is measured 11// This is a system to schedule events into the emulated machine's future. Time is measured
10// in main CPU clock cycles. 12// in main CPU clock cycles.
@@ -19,10 +21,6 @@
19// inside callback: 21// inside callback:
20// ScheduleEvent(periodInCycles - cycles_late, callback, "whatever") 22// ScheduleEvent(periodInCycles - cycles_late, callback, "whatever")
21 23
22#include <functional>
23
24#include "common/common_types.h"
25
26extern int g_clock_rate_arm11; 24extern int g_clock_rate_arm11;
27 25
28inline s64 msToCycles(int ms) { 26inline s64 msToCycles(int ms) {
@@ -61,12 +59,11 @@ inline u64 cyclesToMs(s64 cycles) {
61 return cycles / (g_clock_rate_arm11 / 1000); 59 return cycles / (g_clock_rate_arm11 / 1000);
62} 60}
63 61
64namespace CoreTiming 62namespace CoreTiming {
65{
66void Init(); 63void Init();
67void Shutdown(); 64void Shutdown();
68 65
69typedef void(*MHzChangeCallback)(); 66typedef void (*MHzChangeCallback)();
70typedef std::function<void(u64 userdata, int cycles_late)> TimedCallback; 67typedef std::function<void(u64 userdata, int cycles_late)> TimedCallback;
71 68
72u64 GetTicks(); 69u64 GetTicks();
@@ -81,7 +78,7 @@ u64 GetGlobalTimeUs();
81 */ 78 */
82int RegisterEvent(const char* name, TimedCallback callback); 79int RegisterEvent(const char* name, TimedCallback callback);
83/// For save states. 80/// For save states.
84void RestoreRegisterEvent(int event_type, const char *name, TimedCallback callback); 81void RestoreRegisterEvent(int event_type, const char* name, TimedCallback callback);
85void UnregisterAllEvents(); 82void UnregisterAllEvents();
86 83
87/// userdata MAY NOT CONTAIN POINTERS. userdata might get written and reloaded from disk, 84/// userdata MAY NOT CONTAIN POINTERS. userdata might get written and reloaded from disk,
@@ -128,7 +125,7 @@ void ClearPendingEvents();
128void LogPendingEvents(); 125void LogPendingEvents();
129 126
130/// Warning: not included in save states. 127/// Warning: not included in save states.
131void RegisterAdvanceCallback(void(*callback)(int cycles_executed)); 128void RegisterAdvanceCallback(void (*callback)(int cycles_executed));
132void RegisterMHzChangeCallback(MHzChangeCallback callback); 129void RegisterMHzChangeCallback(MHzChangeCallback callback);
133 130
134std::string GetScheduledEventsSummary(); 131std::string GetScheduledEventsSummary();