From 43eb982a80c45fe26f1cbbc23285c4d8a2cc64b4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 20 Apr 2020 20:57:00 -0400 Subject: Create include/ directory and move main.h structs there --- CMakeLists.txt | 2 +- Makefile | 2 +- include/global.h | 6 ++++++ include/main.h | 40 ++++++++++++++++++++++++++++++++++++++++ include/nitro/nitro.h | 16 ++++++++++++++++ include/nitro/os.c | 9 +++++++++ include/nitro/os.h | 10 ++++++++++ include/nitro/os_asm.h | 12 ++++++++++++ include/nitro/os_asm.s | 7 +++++++ include/nitro/types.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ nitro/nitro.h | 16 ---------------- nitro/os.c | 9 --------- nitro/os.h | 10 ---------- nitro/os_asm.h | 12 ------------ nitro/os_asm.s | 7 ------- nitro/types.h | 50 -------------------------------------------------- src/FUN_02000DF4.c | 11 ++--------- src/main.c | 45 ++------------------------------------------- src/string_util.c | 2 +- 19 files changed, 157 insertions(+), 159 deletions(-) create mode 100644 include/global.h create mode 100644 include/main.h create mode 100644 include/nitro/nitro.h create mode 100644 include/nitro/os.c create mode 100644 include/nitro/os.h create mode 100644 include/nitro/os_asm.h create mode 100644 include/nitro/os_asm.s create mode 100644 include/nitro/types.h delete mode 100644 nitro/nitro.h delete mode 100644 nitro/os.c delete mode 100644 nitro/os.h delete mode 100644 nitro/os_asm.h delete mode 100644 nitro/os_asm.s delete mode 100644 nitro/types.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 27dd07f9..ef9276a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,4 +8,4 @@ enable_language(ASM) file(GLOB_RECURSE SOURCES RELATIVE ${CMAKE_SOURCE_DIR} "*.c") add_executable(PokeDiamond ${SOURCES}) -target_include_directories(PokeDiamond PRIVATE nitro) +target_include_directories(PokeDiamond PRIVATE include) diff --git a/Makefile b/Makefile index f70d51b8..91f6d8e3 100644 --- a/Makefile +++ b/Makefile @@ -79,7 +79,7 @@ OBJCOPY := $(CROSS)objcopy # ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o ASFLAGS = -proc arm5te -CFLAGS = -O4,p -proc v5te -thumb -fp soft -lang c99 -Cpp_exceptions off -i nitro +CFLAGS = -O4,p -proc v5te -thumb -fp soft -lang c99 -Cpp_exceptions off -i include LDFLAGS = -map -nodead -w off -proc v5te -interworking -map -symtab -m Entry ####################### Other Tools ######################### diff --git a/include/global.h b/include/global.h new file mode 100644 index 00000000..33880ca1 --- /dev/null +++ b/include/global.h @@ -0,0 +1,6 @@ +#ifndef GUARD_GLOBAL_H +#define GUARD_GLOBAL_H + +#include "nitro/nitro.h" + +#endif //GUARD_GLOBAL_H diff --git a/include/main.h b/include/main.h new file mode 100644 index 00000000..0df94795 --- /dev/null +++ b/include/main.h @@ -0,0 +1,40 @@ +#ifndef GUARD_MAIN_H +#define GUARD_MAIN_H + +struct Unk2106FA0 +{ + s32 unk0; + s32 unk4; + s32 unk8; + s32 unkC; + s32 unk10; + s32 unk14; + s32 unk18; + s32 unk1C; + s32 unk20; +}; + +struct Unk21C48B8 +{ + void (*unk0)(s32); + s32 unk4; + s32 unk8; + s32 unkC; + s32 unk10; + s32 unk14; + s32 unk18; + s32 unk1C; + s32 unk20; + s32 unk24; + s32 unk28; + s32 unk2C; + s32 unk30; + s32 unk34; + s32 unk38; + u8 filler3C[0xC]; + s32 unk48; + u8 filler4C[0x20]; + s32 unk6C; +}; + +#endif //GUARD_MAIN_H diff --git a/include/nitro/nitro.h b/include/nitro/nitro.h new file mode 100644 index 00000000..017f3708 --- /dev/null +++ b/include/nitro/nitro.h @@ -0,0 +1,16 @@ +#ifndef POKEDIAMOND_NITRO_H +#define POKEDIAMOND_NITRO_H + +#ifdef __cplusplus +extern "C" { +#endif + +// Include all nitro files +#include "nitro/types.h" +#include "nitro/os.h" + +#ifdef __cplusplus +}; +#endif + +#endif //POKEDIAMOND_NITRO_H diff --git a/include/nitro/os.c b/include/nitro/os.c new file mode 100644 index 00000000..a531740d --- /dev/null +++ b/include/nitro/os.c @@ -0,0 +1,9 @@ +// +// Created by mart on 4/12/20. +// + +#include "os.h" + +asm void OS_GetProcMode() { + +} \ No newline at end of file diff --git a/include/nitro/os.h b/include/nitro/os.h new file mode 100644 index 00000000..c14b2891 --- /dev/null +++ b/include/nitro/os.h @@ -0,0 +1,10 @@ +// +// Created by mart on 4/12/20. +// + +#ifndef POKEDIAMOND_OS_H +#define POKEDIAMOND_OS_H + +#include "nitro/os_asm.h" + +#endif //POKEDIAMOND_OS_H diff --git a/include/nitro/os_asm.h b/include/nitro/os_asm.h new file mode 100644 index 00000000..775955f1 --- /dev/null +++ b/include/nitro/os_asm.h @@ -0,0 +1,12 @@ +// +// Created by mart on 4/12/20. +// + +#ifndef POKEDIAMOND_OS_ASM_H +#define POKEDIAMOND_OS_ASM_H + +#include "nitro/types.h" + +OSProcMode OS_GetProcMode(); + +#endif //POKEDIAMOND_OS_ASM_H diff --git a/include/nitro/os_asm.s b/include/nitro/os_asm.s new file mode 100644 index 00000000..86d7603c --- /dev/null +++ b/include/nitro/os_asm.s @@ -0,0 +1,7 @@ + +# TODO: make this syntax look correct in CLion +# Potentially switch to AT&T syntax? +OS_GetProcMode: + mrs r0, cpsr + and r0, r0, #0x80 + bx lr diff --git a/include/nitro/types.h b/include/nitro/types.h new file mode 100644 index 00000000..d702de23 --- /dev/null +++ b/include/nitro/types.h @@ -0,0 +1,50 @@ +#ifndef POKEDIAMOND_NITRO_TYPES_H +#define POKEDIAMOND_NITRO_TYPES_H + +typedef unsigned char u8; +typedef unsigned short int u16; +typedef unsigned long u32; + +typedef signed char s8; +typedef signed short int s16; +typedef signed long s32; + +typedef unsigned long long int u64; +typedef signed long long int s64; + +typedef volatile u8 vu8; +typedef volatile u16 vu16; +typedef volatile u32 vu32; +typedef volatile u64 vu64; + +typedef volatile s8 vs8; +typedef volatile s16 vs16; +typedef volatile s32 vs32; +typedef volatile s64 vs64; + +typedef float f32; +typedef volatile f32 vf32; + +typedef int BOOL; +#define TRUE 1 +#define FALSE 0 + +#ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else // __cplusplus +#define NULL ((void *)0) +#endif // __cplusplus +#endif + +typedef enum { + OS_PROCMODE_USER=16, + OS_PROCMODE_FIQ=17, + OS_PROCMODE_IRQ=18, + OS_PROCMODE_SVC=19, + OS_PROCMODE_ABORT=23, + OS_PROCMODE_UNDEF=27, + OS_PROCMODE_SYS=31 +} OSProcMode; + +#endif //POKEDIAMOND_NITRO_TYPES_H diff --git a/nitro/nitro.h b/nitro/nitro.h deleted file mode 100644 index 70ad9a18..00000000 --- a/nitro/nitro.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef POKEDIAMOND_NITRO_H -#define POKEDIAMOND_NITRO_H - -#ifdef __cplusplus -extern "C" { -#endif - -// Include all nitro files -#include "types.h" -#include "os.h" - -#ifdef __cplusplus -}; -#endif - -#endif //POKEDIAMOND_NITRO_H diff --git a/nitro/os.c b/nitro/os.c deleted file mode 100644 index a531740d..00000000 --- a/nitro/os.c +++ /dev/null @@ -1,9 +0,0 @@ -// -// Created by mart on 4/12/20. -// - -#include "os.h" - -asm void OS_GetProcMode() { - -} \ No newline at end of file diff --git a/nitro/os.h b/nitro/os.h deleted file mode 100644 index 8e4d4ed3..00000000 --- a/nitro/os.h +++ /dev/null @@ -1,10 +0,0 @@ -// -// Created by mart on 4/12/20. -// - -#ifndef POKEDIAMOND_OS_H -#define POKEDIAMOND_OS_H - -#include "os_asm.h" - -#endif //POKEDIAMOND_OS_H diff --git a/nitro/os_asm.h b/nitro/os_asm.h deleted file mode 100644 index 43c93385..00000000 --- a/nitro/os_asm.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// Created by mart on 4/12/20. -// - -#ifndef POKEDIAMOND_OS_ASM_H -#define POKEDIAMOND_OS_ASM_H - -#include "types.h" - -OSProcMode OS_GetProcMode(); - -#endif //POKEDIAMOND_OS_ASM_H diff --git a/nitro/os_asm.s b/nitro/os_asm.s deleted file mode 100644 index 86d7603c..00000000 --- a/nitro/os_asm.s +++ /dev/null @@ -1,7 +0,0 @@ - -# TODO: make this syntax look correct in CLion -# Potentially switch to AT&T syntax? -OS_GetProcMode: - mrs r0, cpsr - and r0, r0, #0x80 - bx lr diff --git a/nitro/types.h b/nitro/types.h deleted file mode 100644 index d702de23..00000000 --- a/nitro/types.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef POKEDIAMOND_NITRO_TYPES_H -#define POKEDIAMOND_NITRO_TYPES_H - -typedef unsigned char u8; -typedef unsigned short int u16; -typedef unsigned long u32; - -typedef signed char s8; -typedef signed short int s16; -typedef signed long s32; - -typedef unsigned long long int u64; -typedef signed long long int s64; - -typedef volatile u8 vu8; -typedef volatile u16 vu16; -typedef volatile u32 vu32; -typedef volatile u64 vu64; - -typedef volatile s8 vs8; -typedef volatile s16 vs16; -typedef volatile s32 vs32; -typedef volatile s64 vs64; - -typedef float f32; -typedef volatile f32 vf32; - -typedef int BOOL; -#define TRUE 1 -#define FALSE 0 - -#ifndef NULL -#ifdef __cplusplus -#define NULL 0 -#else // __cplusplus -#define NULL ((void *)0) -#endif // __cplusplus -#endif - -typedef enum { - OS_PROCMODE_USER=16, - OS_PROCMODE_FIQ=17, - OS_PROCMODE_IRQ=18, - OS_PROCMODE_SVC=19, - OS_PROCMODE_ABORT=23, - OS_PROCMODE_UNDEF=27, - OS_PROCMODE_SYS=31 -} OSProcMode; - -#endif //POKEDIAMOND_NITRO_TYPES_H diff --git a/src/FUN_02000DF4.c b/src/FUN_02000DF4.c index 0cc1c2dd..0099480c 100644 --- a/src/FUN_02000DF4.c +++ b/src/FUN_02000DF4.c @@ -1,12 +1,5 @@ -#include "nitro.h" - -struct Unk2106FA0 { - u8 filler0[0x8]; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; -}; +#include "global.h" +#include "main.h" extern struct Unk2106FA0 gBacklightTop; diff --git a/src/main.c b/src/main.c index d703331d..bfd6c82e 100644 --- a/src/main.c +++ b/src/main.c @@ -1,46 +1,5 @@ - -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; -typedef signed char s8; -typedef signed short s16; -typedef signed long s32; - -struct Unk2106FA0 -{ - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; - s32 unk1C; - s32 unk20; -}; - -struct Unk21C48B8 -{ - void (*unk0)(s32); - s32 unk4; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; - s32 unk1C; - s32 unk20; - s32 unk24; - s32 unk28; - s32 unk2C; - s32 unk30; - s32 unk34; - s32 unk38; - u8 filler3C[0xC]; - s32 unk48; - u8 filler4C[0x20]; - s32 unk6C; -}; +#include "global.h" +#include "main.h" extern struct Unk2106FA0 gBacklightTop; extern struct Unk2106FA0 gBacklightTop_2; // same as the first one, it's referenced twice in the constant pool... diff --git a/src/string_util.c b/src/string_util.c index 7d755cb9..8f9c96ff 100644 --- a/src/string_util.c +++ b/src/string_util.c @@ -1,4 +1,4 @@ -#include "nitro.h" +#include "global.h" u16 gDigitTable[] = { 0xA2, -- cgit v1.2.3