diff options
author | Made-s <made111@gmx.de> | 2020-05-04 17:15:10 +0200 |
---|---|---|
committer | Made-s <made111@gmx.de> | 2020-05-04 17:15:10 +0200 |
commit | 88d142a33b9973f35c913b3fdad7f6a4394a05cd (patch) | |
tree | c6ad861213ccebb62919e27f6d7f3f1080e1ee76 /arm9/lib/include/OS_system.h | |
parent | ab28b0b37f2fd9fba6010e48e15bd31170d678d7 (diff) | |
parent | c82690dca094b624944b155e5119631c185bca5c (diff) |
Merge branch 'master' of https://github.com/martmists/pokediamond
Diffstat (limited to 'arm9/lib/include/OS_system.h')
-rw-r--r-- | arm9/lib/include/OS_system.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/arm9/lib/include/OS_system.h b/arm9/lib/include/OS_system.h new file mode 100644 index 00000000..93903315 --- /dev/null +++ b/arm9/lib/include/OS_system.h @@ -0,0 +1,38 @@ +// +// Created by mart on 4/23/20. +// + +#ifndef POKEDIAMOND_OS_SYSTEM_H +#define POKEDIAMOND_OS_SYSTEM_H + +#include "consts.h" + +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; + +ENUMS_ALWAYS_INT_ON +typedef enum { + OS_INTRMODE_DISABLE_IRQ = HW_PSR_DISABLE_IRQ, + OS_INTRMODE_DISABLE_FIQ = HW_PSR_DISABLE_FIQ, + OS_INTRMODE_ENABLE = 0 +} OSIntrMode; +ENUMS_ALWAYS_INT_RESET + +OSIntrMode OS_EnableInterrupts(); +OSIntrMode OS_DisableInterrupts(); +OSIntrMode OS_RestoreInterrupts(OSIntrMode state); +OSIntrMode OS_DisableInterrupts_IrqAndFiq(); +OSIntrMode OS_RestoreInterrupts_IrqAndFiq(OSIntrMode state); +OSIntrMode OS_GetCpsrIrq(); +OSProcMode OS_GetProcMode(); +void OS_SpinWait(); +void OS_WaitVBlankIntr(); + +#endif //POKEDIAMOND_OS_SYSTEM_H |