aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/core.cpp
diff options
context:
space:
mode:
authorGravatar bunnei <ericbunnie@gmail.com>2014-04-08 19:25:03 -0400
committerGravatar bunnei <ericbunnie@gmail.com>2014-04-08 19:25:03 -0400
commit63e46abdb8764bc97e91bae862c8d461e61b1965 (patch)
treee73f4aa25d7b4015a265e7bbfb6004dab7561027 /src/core/core.cpp
parent03c245345e1f319da5007c15019ed54432029fb8 (diff)
got rid of 'src' folders in each sub-project
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
new file mode 100644
index 00000000..540b20f2
--- /dev/null
+++ b/src/core/core.cpp
@@ -0,0 +1,58 @@
+// Copyright 2014 Citra Emulator Project
+// Licensed under GPLv2
+// Refer to the license.txt file included.
+
+#include "log.h"
+#include "core.h"
+#include "mem_map.h"
+#include "hw/hw.h"
+#include "arm/disassembler/arm_disasm.h"
+#include "arm/interpreter/arm_interpreter.h"
+
+namespace Core {
+
+ARM_Disasm* g_disasm = NULL; ///< ARM disassembler
+ARM_Interface* g_app_core = NULL; ///< ARM11 application core
+ARM_Interface* g_sys_core = NULL; ///< ARM11 system (OS) core
+
+/// Run the core CPU loop
+void RunLoop() {
+ // TODO(ShizZy): ImplementMe
+}
+
+/// Step the CPU one instruction
+void SingleStep() {
+ g_app_core->Step();
+ HW::Update();
+}
+
+/// Halt the core
+void Halt(const char *msg) {
+ // TODO(ShizZy): ImplementMe
+}
+
+/// Kill the core
+void Stop() {
+ // TODO(ShizZy): ImplementMe
+}
+
+/// Initialize the core
+int Init() {
+ NOTICE_LOG(MASTER_LOG, "Core initialized OK");
+
+ g_disasm = new ARM_Disasm();
+ g_app_core = new ARM_Interpreter();
+ g_sys_core = new ARM_Interpreter();
+
+ return 0;
+}
+
+void Shutdown() {
+ delete g_disasm;
+ delete g_app_core;
+ delete g_sys_core;
+
+ NOTICE_LOG(MASTER_LOG, "Core shutdown OK");
+}
+
+} // namespace