summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--arm9/asm/OS_emulator.s19
-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
-rw-r--r--arm9/undefined_syms.txt1
-rw-r--r--undefined_syms.txt1
9 files changed, 43 insertions, 20 deletions
diff --git a/.gitignore b/.gitignore
index 9db5da34..1944bdd5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,3 +36,7 @@ arm*/baserom.*
arm9/modules/module_*.s
arm9/modules/module_*.sbin
arm9/modules/module_*.cfg
+
+# Dism scripts
+dism.sh
+asmdiff.sh
diff --git a/arm9/asm/OS_emulator.s b/arm9/asm/OS_emulator.s
deleted file mode 100644
index 69207a5e..00000000
--- a/arm9/asm/OS_emulator.s
+++ /dev/null
@@ -1,19 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start OS_GetConsoleType
-OS_GetConsoleType: ; 0x020CBBC0
- ldr r0, _020CBBD0 ; =0x82000001
- ldr r1, _020CBBD4 ; =0x02106828
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020CBBD0: .word 0x82000001
-_020CBBD4: .word 0x02106828
-
- arm_func_start OS_IsRunOnEmulator
-OS_IsRunOnEmulator:
- mov r0, #0x0
- bx lr
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;
+}
diff --git a/arm9/undefined_syms.txt b/arm9/undefined_syms.txt
index 72e1c07e..a76e7783 100644
--- a/arm9/undefined_syms.txt
+++ b/arm9/undefined_syms.txt
@@ -16,6 +16,7 @@ Unk_02106A00 = 0x02106A00;
Unk_02106A04 = 0x02106A04;
// .bss
+OSi_ConsoleTypeCache = 0x02106828;
gBacklightTop = 0x02106FA0;
gBacklightTop_2 = 0x02106FA0;
gUnknown21C48B8 = 0x021C48B8;
diff --git a/undefined_syms.txt b/undefined_syms.txt
index 302fe8bf..9fca8cb5 100644
--- a/undefined_syms.txt
+++ b/undefined_syms.txt
@@ -14,6 +14,7 @@ Unk_02106A00 = 0x02106A00;
Unk_02106A04 = 0x02106A04;
// .bss
+OSi_ConsoleTypeCache = 0x02106828;
gBacklightTop = 0x02106FA0;
gBacklightTop_2 = 0x02106FA0;
gUnknown21C48B8 = 0x021C48B8;