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 /arm7/lib/src | |
parent | ae95019da3c7da624674794b8e2d503e063b82e6 (diff) |
arm7 OS_terminate_proc
Diffstat (limited to 'arm7/lib/src')
-rw-r--r-- | arm7/lib/src/OS_reset.c | 2 | ||||
-rw-r--r-- | arm7/lib/src/OS_terminate_proc.c | 17 |
2 files changed, 18 insertions, 1 deletions
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 + } +} |