diff options
| author | M4xw <m4x@m4xw.net> | 2022-03-22 02:51:23 +0100 |
|---|---|---|
| committer | M4xw <m4x@m4xw.net> | 2022-03-22 02:51:23 +0100 |
| commit | 39cc86c2608e2f75ace33fc7f43bc4f2ad743f1a (patch) | |
| tree | 0d3fd9e995d7484eaaeb158ac808bd6a39121189 /soh/src/code/code_800FBCE0.c | |
| parent | 0bb0e7b53bd80bdc7f78e08c441691737e039b2b (diff) | |
git subrepo clone https://github.com/HarbourMasters/soh.git
subrepo:
subdir: "soh"
merged: "ba904bbd0"
upstream:
origin: "https://github.com/HarbourMasters/soh.git"
branch: "master"
commit: "ba904bbd0"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
Diffstat (limited to 'soh/src/code/code_800FBCE0.c')
| -rw-r--r-- | soh/src/code/code_800FBCE0.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/soh/src/code/code_800FBCE0.c b/soh/src/code/code_800FBCE0.c new file mode 100644 index 000000000..65156eda0 --- /dev/null +++ b/soh/src/code/code_800FBCE0.c @@ -0,0 +1,52 @@ +#include "global.h" + +#define printSpStatus(x, name) \ + if (x & SP_STATUS_##name) \ + osSyncPrintf(#name " ") +#define printDpStatus(x, name) \ + if (x & DPC_STATUS_##name) \ + osSyncPrintf(#name " ") + +void func_800FBCE0() { + u32 spStatus = __osSpGetStatus(); + u32 dpStatus = osDpGetStatus(); + + osSyncPrintf("osSpGetStatus=%08x: ", spStatus); + printSpStatus(spStatus, HALT); + printSpStatus(spStatus, BROKE); + printSpStatus(spStatus, DMA_BUSY); + printSpStatus(spStatus, DMA_FULL); + printSpStatus(spStatus, IO_FULL); + printSpStatus(spStatus, SSTEP); + printSpStatus(spStatus, INTR_BREAK); + printSpStatus(spStatus, YIELD); + printSpStatus(spStatus, YIELDED); + printSpStatus(spStatus, TASKDONE); + printSpStatus(spStatus, SIG3); + printSpStatus(spStatus, SIG4); + printSpStatus(spStatus, SIG5); + printSpStatus(spStatus, SIG6); + printSpStatus(spStatus, SIG7); + osSyncPrintf("\n"); + + osSyncPrintf("osDpGetStatus=%08x:", dpStatus); + printDpStatus(dpStatus, XBUS_DMEM_DMA); + printDpStatus(dpStatus, FREEZE); + printDpStatus(dpStatus, FLUSH); + printDpStatus(dpStatus, START_GCLK); + printDpStatus(dpStatus, TMEM_BUSY); + printDpStatus(dpStatus, PIPE_BUSY); + printDpStatus(dpStatus, CMD_BUSY); + printDpStatus(dpStatus, CBUF_READY); + printDpStatus(dpStatus, DMA_BUSY); + printDpStatus(dpStatus, END_VALID); + printDpStatus(dpStatus, START_VALID); + osSyncPrintf("\n"); +} + +void func_800FBFD8() { + func_800FBCE0(); + osDpSetStatus(DPC_SET_FREEZE | DPC_SET_FLUSH); + __osSpSetStatus(SP_SET_HALT | SP_SET_SIG2 | SP_CLR_INTR_BREAK); + func_800FBCE0(); +} |
