diff options
author | red031000 <rubenru09@aol.com> | 2020-06-13 20:12:27 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-06-13 20:13:43 +0100 |
commit | 91db1083cc248734e934ff9e1c93a27c2b448250 (patch) | |
tree | f4510ab7a789e096d6cd08a80e9851b92fd663f9 | |
parent | ae95019da3c7da624674794b8e2d503e063b82e6 (diff) |
arm7 OS_terminate_proc
-rw-r--r-- | arm7/asm/OS_terminate_proc.s | 15 | ||||
-rw-r--r-- | arm7/lib/include/OS_init.h | 1 | ||||
-rw-r--r-- | arm7/lib/include/OS_terminate_proc.h | 6 | ||||
-rw-r--r-- | arm7/lib/src/OS_reset.c | 2 | ||||
-rw-r--r-- | arm7/lib/src/OS_terminate_proc.c | 17 | ||||
-rw-r--r-- | arm9/lib/include/OS_init.h | 1 | ||||
-rw-r--r-- | arm9/lib/include/OS_terminate_proc.h | 10 |
7 files changed, 29 insertions, 23 deletions
diff --git a/arm7/asm/OS_terminate_proc.s b/arm7/asm/OS_terminate_proc.s deleted file mode 100644 index 08b79c9a..00000000 --- a/arm7/asm/OS_terminate_proc.s +++ /dev/null @@ -1,15 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - arm_func_start OS_Terminate -OS_Terminate: ; 0x037FB1F0 - stmfd sp!, {lr} - sub sp, sp, #4 - mov r0, #0 - bl CTRDG_VibPulseEdgeUpdate -_037FB200: - bl OS_DisableInterrupts - bl FUN_037F8530 - b _037FB200 diff --git a/arm7/lib/include/OS_init.h b/arm7/lib/include/OS_init.h index c90740c2..c4e1ca37 100644 --- a/arm7/lib/include/OS_init.h +++ b/arm7/lib/include/OS_init.h @@ -6,6 +6,7 @@ #include "OS_arena.h" #include "OS_alloc.h" #include "OS_reset.h" +#include "OS_terminate_proc.h" void OS_Init(void); diff --git a/arm7/lib/include/OS_terminate_proc.h b/arm7/lib/include/OS_terminate_proc.h new file mode 100644 index 00000000..ea2273c8 --- /dev/null +++ b/arm7/lib/include/OS_terminate_proc.h @@ -0,0 +1,6 @@ +#ifndef POKEDIAMOND_ARM7_OS_TERMINATE_PROC_H +#define POKEDIAMOND_ARM7_OS_TERMINATE_PROC_H + +void OS_Terminate(void); + +#endif //POKEDIAMOND_ARM7_OS_TERMINATE_PROC_H diff --git a/arm7/lib/src/OS_reset.c b/arm7/lib/src/OS_reset.c index c40fcff3..e0f380f8 100644 --- a/arm7/lib/src/OS_reset.c +++ b/arm7/lib/src/OS_reset.c @@ -1,6 +1,7 @@ #include "function_target.h" #include "OS_reset.h" #include "OS_interrupt.h" +#include "OS_terminate_proc.h" static u16 OSi_IsInitReset = 0; vu16 OSi_IsResetOccurred = 0; @@ -10,7 +11,6 @@ extern OSIrqMask OS_SetIrqMask(OSIrqMask mask); extern OSIrqMask OS_ResetRequestIrqMask(OSIrqMask mask); extern void SND_Shutdown(void); extern void PXI_SetFifoRecvCallback(u32 param1, void* callback); -extern void OS_Terminate(void); extern u32 PXI_SendWordByFifo(u32 param1, u32 data, u32 param2); extern void FUN_038073EC(void); //OSi_DoResetSystem, in wram diff --git a/arm7/lib/src/OS_terminate_proc.c b/arm7/lib/src/OS_terminate_proc.c new file mode 100644 index 00000000..23793fd4 --- /dev/null +++ b/arm7/lib/src/OS_terminate_proc.c @@ -0,0 +1,17 @@ +#include "function_target.h" +#include "nitro/types.h" +#include "OS_terminate_proc.h" +#include "OS_system.h" + +extern void CTRDG_VibPulseEdgeUpdate(u32 param); +extern void FUN_037F8530(void); //SVC_Halt + +ARM_FUNC void OS_Terminate(void) +{ + CTRDG_VibPulseEdgeUpdate(0); + while (TRUE) + { + (void)OS_DisableInterrupts(); + FUN_037F8530(); //SVC_Halt + } +} diff --git a/arm9/lib/include/OS_init.h b/arm9/lib/include/OS_init.h index 3c8aea24..03ff26d2 100644 --- a/arm9/lib/include/OS_init.h +++ b/arm9/lib/include/OS_init.h @@ -23,6 +23,7 @@ #include "OS_interrupt.h" #include "OS_reset.h" #include "OS_spinLock.h" +#include "OS_tick.h" void OS_Init(void); diff --git a/arm9/lib/include/OS_terminate_proc.h b/arm9/lib/include/OS_terminate_proc.h index 1d3ac27e..b4553fb4 100644 --- a/arm9/lib/include/OS_terminate_proc.h +++ b/arm9/lib/include/OS_terminate_proc.h @@ -1,13 +1,9 @@ -// -// Created by red031000 on 2020-05-07. -// - -#ifndef POKEDIAMOND_OS_TERMINATE_PROC_H -#define POKEDIAMOND_OS_TERMINATE_PROC_H +#ifndef POKEDIAMOND_ARM9_OS_TERMINATE_PROC_H +#define POKEDIAMOND_ARM9_OS_TERMINATE_PROC_H #include "nitro/types.h" void OS_Terminate(void); void OS_Halt(void); -#endif //POKEDIAMOND_OS_TERMINATE_PROC_H +#endif //POKEDIAMOND_ARM9_OS_TERMINATE_PROC_H |