summaryrefslogtreecommitdiffstats
path: root/src/core/system.h
diff options
context:
space:
mode:
authorbunnei <ericbunnie@gmail.com>2014-04-09 01:25:03 +0200
committerbunnei <ericbunnie@gmail.com>2014-04-09 01:25:03 +0200
commit63e46abdb8764bc97e91bae862c8d461e61b1965 (patch)
treee73f4aa25d7b4015a265e7bbfb6004dab7561027 /src/core/system.h
parentfixed some license headers that I missed (diff)
downloadyuzu-63e46abdb8764bc97e91bae862c8d461e61b1965.tar
yuzu-63e46abdb8764bc97e91bae862c8d461e61b1965.tar.gz
yuzu-63e46abdb8764bc97e91bae862c8d461e61b1965.tar.bz2
yuzu-63e46abdb8764bc97e91bae862c8d461e61b1965.tar.lz
yuzu-63e46abdb8764bc97e91bae862c8d461e61b1965.tar.xz
yuzu-63e46abdb8764bc97e91bae862c8d461e61b1965.tar.zst
yuzu-63e46abdb8764bc97e91bae862c8d461e61b1965.zip
Diffstat (limited to 'src/core/system.h')
-rw-r--r--src/core/system.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/core/system.h b/src/core/system.h
new file mode 100644
index 000000000..8e94e5252
--- /dev/null
+++ b/src/core/system.h
@@ -0,0 +1,35 @@
+// Copyright 2014 Citra Emulator Project
+// Licensed under GPLv2
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "emu_window.h"
+#include "file_sys/meta_file_system.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+namespace System {
+
+// State of the full emulator
+typedef enum {
+ STATE_NULL = 0, ///< System is in null state, nothing initialized
+ STATE_IDLE, ///< System is in an initialized state, but not running
+ STATE_RUNNING, ///< System is running
+ STATE_LOADING, ///< System is loading a ROM
+ STATE_HALTED, ///< System is halted (error)
+ STATE_STALLED, ///< System is stalled (unused)
+ STATE_DEBUG, ///< System is in a special debug mode (unused)
+ STATE_DIE ///< System is shutting down
+} State;
+
+extern volatile State g_state;
+extern MetaFileSystem g_ctr_file_system;
+
+void UpdateState(State state);
+void Init(EmuWindow* emu_window);
+void RunLoopFor(int cycles);
+void RunLoopUntil(u64 global_cycles);
+void Shutdown();
+
+};