summaryrefslogtreecommitdiff
path: root/arm9/lib
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/lib')
-rw-r--r--arm9/lib/include/OS_emulator.h13
-rw-r--r--arm9/lib/include/OS_init.h1
-rw-r--r--arm9/lib/include/consts.h4
-rw-r--r--arm9/lib/src/OS_arena.c2
-rw-r--r--arm9/lib/src/OS_emulator.c18
5 files changed, 37 insertions, 1 deletions
diff --git a/arm9/lib/include/OS_emulator.h b/arm9/lib/include/OS_emulator.h
new file mode 100644
index 00000000..54105258
--- /dev/null
+++ b/arm9/lib/include/OS_emulator.h
@@ -0,0 +1,13 @@
+//
+// Created by red031000 on 2020-05-05.
+//
+
+#ifndef POKEDIAMOND_OS_EMULATOR_H
+#define POKEDIAMOND_OS_EMULATOR_H
+
+#include "consts.h"
+
+BOOL OS_IsRunOnEmulator();
+u32 OS_GetConsoleType();
+
+#endif //POKEDIAMOND_OS_EMULATOR_H
diff --git a/arm9/lib/include/OS_init.h b/arm9/lib/include/OS_init.h
index 1ff2837c..d2497836 100644
--- a/arm9/lib/include/OS_init.h
+++ b/arm9/lib/include/OS_init.h
@@ -11,6 +11,7 @@
#include "OS_thread.h"
#include "OS_protectionRegion.h"
#include "OS_entropy.h"
+#include "OS_emulator.h"
#include "OS_arena.h"
#include "OS_alloc.h"
#include "OS_system.h"
diff --git a/arm9/lib/include/consts.h b/arm9/lib/include/consts.h
index e07fe323..81330924 100644
--- a/arm9/lib/include/consts.h
+++ b/arm9/lib/include/consts.h
@@ -48,6 +48,10 @@
#define HW_C6_PR_2GB 0x3c
#define HW_C6_PR_4GB 0x3e
+#define OSi_CONSOLE_NOT_DETECT 0xffffffff
+
+#define OS_CONSOLE_NITRO 0x80000000
+#define OS_CONSOLE_DEV_CARD 0x02000000
#define OS_CONSOLE_SIZE_MASK 0x00000003
#define OS_CONSOLE_SIZE_4MB 0x00000001
diff --git a/arm9/lib/src/OS_arena.c b/arm9/lib/src/OS_arena.c
index eb04e60b..ae05b49c 100644
--- a/arm9/lib/src/OS_arena.c
+++ b/arm9/lib/src/OS_arena.c
@@ -5,8 +5,8 @@
#include "consts.h"
#include "OS_arena.h"
#include "OS_protectionRegion.h"
+#include "OS_emulator.h"
-extern u32 OS_GetConsoleType();
extern BOOL OSi_MainExArenaEnabled;
extern BOOL OSi_Initialized; // TODO: located at 0x021d36f0
void SDK_MAIN_ARENA_LO(); // TODO: technically this should be defined in the lcf
diff --git a/arm9/lib/src/OS_emulator.c b/arm9/lib/src/OS_emulator.c
new file mode 100644
index 00000000..1be0e163
--- /dev/null
+++ b/arm9/lib/src/OS_emulator.c
@@ -0,0 +1,18 @@
+//
+// Created by red031000 on 2020-05-05.
+//
+
+#include "OS_emulator.h"
+#include "function_target.h"
+
+extern u32 OSi_ConsoleTypeCache; //todo fix bss
+
+ARM_FUNC BOOL OS_IsRunOnEmulator() {
+ return FALSE;
+}
+
+ARM_FUNC u32 OS_GetConsoleType() {
+ OSi_ConsoleTypeCache = OS_CONSOLE_NITRO | OS_CONSOLE_DEV_CARD | OS_CONSOLE_SIZE_4MB;
+
+ return OSi_ConsoleTypeCache;
+}