diff --git a/src/core/src/core.cpp b/src/core/src/core.cpp
index 523b860f6e..800a2a3fb9 100644
--- a/src/core/src/core.cpp
+++ b/src/core/src/core.cpp
@@ -143,6 +143,11 @@ int Init() {
     return 0;
 }
 
+ARMul_State* GetState()
+{
+    return core->state;
+}
+
 void Shutdown() {
     //delete g_arm_state;
     //g_arm_state = NULL;
diff --git a/src/core/src/core.h b/src/core/src/core.h
index 8021b762ed..f4a3ca05d4 100644
--- a/src/core/src/core.h
+++ b/src/core/src/core.h
@@ -25,6 +25,8 @@
 #ifndef CORE_CORE_H_
 #define CORE_CORE_H_
 
+#include "arm/armdefs.h"
+
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
 namespace Core {
@@ -47,6 +49,8 @@ void Stop();
 /// Initialize the core
 int Init();
 
+ARMul_State* GetState();
+
 } // namespace
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////