summaryrefslogtreecommitdiff
path: root/arm9/lib/src
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-07-27 01:11:45 +0100
committerred031000 <rubenru09@aol.com>2020-07-27 01:11:45 +0100
commit7c2a848ecccb95d010d8c0836c5d9c6a96b39da0 (patch)
treed650d996f8fa9b741b1075d8b897d73c8e7034a7 /arm9/lib/src
parent23873ed88f9920db6ed463fa02157686264369bd (diff)
some cleanups
Diffstat (limited to 'arm9/lib/src')
-rw-r--r--arm9/lib/src/FS_command.c2
-rw-r--r--arm9/lib/src/FS_command_default.c1
-rw-r--r--arm9/lib/src/FS_file.c2
-rw-r--r--arm9/lib/src/FX_mtx44.c1
-rw-r--r--arm9/lib/src/GX.c4
-rw-r--r--arm9/lib/src/GX_g2.c4
-rw-r--r--arm9/lib/src/GX_g3x.c76
-rw-r--r--arm9/lib/src/MI_dma_gxcommand.c8
-rw-r--r--arm9/lib/src/OS_alarm.c4
-rw-r--r--arm9/lib/src/OS_arena.c3
-rw-r--r--arm9/lib/src/OS_exception.c4
-rw-r--r--arm9/lib/src/OS_irqHandler.c2
-rw-r--r--arm9/lib/src/OS_reset.c7
-rw-r--r--arm9/lib/src/OS_system.c53
-rw-r--r--arm9/lib/src/OS_terminate_proc.c9
-rw-r--r--arm9/lib/src/OS_thread.c13
-rw-r--r--arm9/lib/src/OS_tick.c2
17 files changed, 119 insertions, 76 deletions
diff --git a/arm9/lib/src/FS_command.c b/arm9/lib/src/FS_command.c
index 7e0d41c9..e677f6c6 100644
--- a/arm9/lib/src/FS_command.c
+++ b/arm9/lib/src/FS_command.c
@@ -40,6 +40,8 @@ ARM_FUNC FSResult FSi_TranslateCommand(FSFile *p_file, FSCommandType command)
ret = FS_RESULT_PROC_DEFAULT;
p_arc->proc_flag &= ~bit;
break;
+ default:
+ break;
}
}
else
diff --git a/arm9/lib/src/FS_command_default.c b/arm9/lib/src/FS_command_default.c
index 582bf1b2..0cdc91fc 100644
--- a/arm9/lib/src/FS_command_default.c
+++ b/arm9/lib/src/FS_command_default.c
@@ -55,6 +55,7 @@ ARM_FUNC FSResult FSi_ReadTable(FSiSyncReadParam * p, void * dst, u32 len)
(void)OS_RestoreInterrupts(bak_psr);
ret = p_arc->list.next->error;
}
+ default:
break;
}
p->pos += len;
diff --git a/arm9/lib/src/FS_file.c b/arm9/lib/src/FS_file.c
index c1a6c54d..11595c02 100644
--- a/arm9/lib/src/FS_file.c
+++ b/arm9/lib/src/FS_file.c
@@ -7,6 +7,8 @@
extern FSDirPos current_dir_pos;
BOOL is_init = FALSE;
+static BOOL FSi_FindPath(FSFile * p_dir, const char * path, FSFileID * p_file_id, FSDirPos * p_dir_pos);
+
ARM_FUNC void FS_Init(u32 default_dma_no)
{
if (!is_init)
diff --git a/arm9/lib/src/FX_mtx44.c b/arm9/lib/src/FX_mtx44.c
index 697f8709..c72f6158 100644
--- a/arm9/lib/src/FX_mtx44.c
+++ b/arm9/lib/src/FX_mtx44.c
@@ -103,7 +103,6 @@ ARM_FUNC asm void MTX_Copy44To43_(struct Mtx44 *src, struct Mtx43 *dst){
bx lr
}
-
THUMB_FUNC asm void MTX_RotX44_(struct Mtx44 *mtx, fx32 sinphi, fx32 cosphi){
str r2, [r0, #0x14]
str r2, [r0, #0x28]
diff --git a/arm9/lib/src/GX.c b/arm9/lib/src/GX.c
index d103bed5..69ad8718 100644
--- a/arm9/lib/src/GX.c
+++ b/arm9/lib/src/GX.c
@@ -83,7 +83,7 @@ ARM_FUNC void GX_DispOn(){
sIsDispOn = 0x1;
if (sDispMode)
{
- reg_GX_DISPCNT = reg_GX_DISPCNT & ~0x30000 | (sDispMode << 0x10);
+ reg_GX_DISPCNT = (reg_GX_DISPCNT & ~0x30000) | (sDispMode << 0x10);
}
else
{
@@ -102,7 +102,7 @@ ARM_FUNC void GX_SetGraphicsMode(u32 mode1, u32 mode2, u32 mode3){
}
ARM_FUNC void GXS_SetGraphicsMode(u32 mode){
- reg_GXS_DB_DISPCNT = reg_GXS_DB_DISPCNT & ~0x7 | mode;
+ reg_GXS_DB_DISPCNT = (reg_GXS_DB_DISPCNT & ~0x7) | mode;
}
ARM_FUNC void GXx_SetMasterBrightness_(vu16 *dst, s32 brightness){
diff --git a/arm9/lib/src/GX_g2.c b/arm9/lib/src/GX_g2.c
index bde1d1a5..99ba0e26 100644
--- a/arm9/lib/src/GX_g2.c
+++ b/arm9/lib/src/GX_g2.c
@@ -50,7 +50,7 @@ ARM_FUNC void G2x_ChangeBlendBrightness_(u16 *ptr, fx32 brightness){
{
if ((temp & 0xC0) == 0x80)
{
- ptr[0] = (u16)(temp & ~0xC0 | 0xC0);
+ ptr[0] = (u16)((temp & ~0xC0) | 0xC0);
}
ptr[2] = (u16)(-brightness);
}
@@ -58,7 +58,7 @@ ARM_FUNC void G2x_ChangeBlendBrightness_(u16 *ptr, fx32 brightness){
{
if ((temp & 0xC0) == 0xC0)
{
- ptr[0] = (u16)(temp & ~0xC0 | 0x80);
+ ptr[0] = (u16)((temp & ~0xC0) | 0x80);
}
ptr[2] = (u16)brightness;
}
diff --git a/arm9/lib/src/GX_g3x.c b/arm9/lib/src/GX_g3x.c
index c8266bee..41070a9b 100644
--- a/arm9/lib/src/GX_g3x.c
+++ b/arm9/lib/src/GX_g3x.c
@@ -8,42 +8,42 @@ void MI_Copy36B(void *src, void *dst);
ARM_FUNC asm void GXi_NopClearFifo128_(void *reg){
mov r1, #0x0
- mov r2, #0x0
- mov r3, #0x0
- mov r12, #0x0
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- bx lr
+ mov r2, #0x0
+ mov r3, #0x0
+ mov r12, #0x0
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ stmia r0, {r1-r3,r12}
+ bx lr
}
ARM_FUNC void G3X_Init(){
@@ -56,10 +56,10 @@ ARM_FUNC void G3X_Init(){
reg_G3X_DISP3DCNT |= 0x2000;
reg_G3X_DISP3DCNT |= 0x1000;
reg_G3X_DISP3DCNT &= ~0x3002;
- reg_G3X_DISP3DCNT = (u16)(reg_G3X_DISP3DCNT & ~0x3000 | 0x10);
+ reg_G3X_DISP3DCNT = (u16)((reg_G3X_DISP3DCNT & ~0x3000) | 0x10);
reg_G3X_DISP3DCNT = (u16)(reg_G3X_DISP3DCNT & (u16)~0x3004);
reg_G3X_GXSTAT |= 0x8000;
- reg_G3X_GXSTAT = reg_G3X_GXSTAT & ~0xC0000000 | 0x80000000;
+ reg_G3X_GXSTAT = (reg_G3X_GXSTAT & ~0xC0000000) | 0x80000000;
G3X_InitMtxStack();
reg_G3X_CLEAR_COLOR = 0x0;
reg_G3X_CLEAR_DEPTH = 0x7FFF;
diff --git a/arm9/lib/src/MI_dma_gxcommand.c b/arm9/lib/src/MI_dma_gxcommand.c
index 8d1a891a..781f1f73 100644
--- a/arm9/lib/src/MI_dma_gxcommand.c
+++ b/arm9/lib/src/MI_dma_gxcommand.c
@@ -6,6 +6,10 @@
static MIiGXDmaParams MIi_GXDmaParams = { FALSE };
+static void MIi_FIFOCallback(void);
+static void MIi_DMACallback(void *arg);
+static void MIi_DMAFastCallback(void *arg);
+
#pragma section ITCM begin
ARM_FUNC void MI_SendGXCommand(u32 dmaNo, const void *src, u32 commandLength)
{
@@ -104,7 +108,7 @@ ARM_FUNC static void MIi_FIFOCallback(void)
}
}
-ARM_FUNC static void MIi_DMACallback(void *)
+ARM_FUNC static void MIi_DMACallback(void *arg)
{
(void)OS_DisableIrqMask(OS_IE_GXFIFO);
@@ -141,7 +145,7 @@ ARM_FUNC void MI_SendGXCommandAsyncFast(u32 dmaNo, const void *src, u32 commandL
MIi_DmaSetParams(dmaNo, (u32)src, (u32)REG_GXFIFO_ADDR, MI_CNT_GXCOPY_IF(commandLength));
}
-ARM_FUNC static void MIi_DMAFastCallback(void *)
+ARM_FUNC static void MIi_DMAFastCallback(void *arg)
{
MIi_GXDmaParams.isBusy = FALSE;
diff --git a/arm9/lib/src/OS_alarm.c b/arm9/lib/src/OS_alarm.c
index 1bd3ff2f..a8c1fedd 100644
--- a/arm9/lib/src/OS_alarm.c
+++ b/arm9/lib/src/OS_alarm.c
@@ -10,6 +10,10 @@ static struct OSiAlarmQueue OSi_AlarmQueue;
static u16 OSi_UseAlarm = FALSE;
+static void OSi_SetTimer(OSAlarm *alarm);
+static void OSi_InsertAlarm(OSAlarm *alarm, OSTick fire);
+static void OSi_ArrangeTimer(void);
+
ARM_FUNC static void OSi_SetTimer(OSAlarm *alarm)
{
OSTick tick = OS_GetTick();
diff --git a/arm9/lib/src/OS_arena.c b/arm9/lib/src/OS_arena.c
index ad3a4e16..df9c2fd8 100644
--- a/arm9/lib/src/OS_arena.c
+++ b/arm9/lib/src/OS_arena.c
@@ -1,6 +1,3 @@
-//
-// Created by red031000 on 2020-04-27.
-//
#include "function_target.h"
#include "consts.h"
#include "OS_arena.h"
diff --git a/arm9/lib/src/OS_exception.c b/arm9/lib/src/OS_exception.c
index 5a66b2c4..3aaaa2f2 100644
--- a/arm9/lib/src/OS_exception.c
+++ b/arm9/lib/src/OS_exception.c
@@ -11,6 +11,10 @@ static void *OSi_DebuggerHandler = NULL;
#define HW_EXCEP_VECTOR_BUF_FOR_DEBUGGER 0x027ffd9c
+static void OSi_GetAndDisplayContext(void);
+static void OSi_SetExContext(void);
+static void OSi_DisplayExContext(void);
+
ARM_FUNC void OS_InitException(void)
{
if (0x2600000 <= *(u32 *)HW_EXCEP_VECTOR_BUF_FOR_DEBUGGER
diff --git a/arm9/lib/src/OS_irqHandler.c b/arm9/lib/src/OS_irqHandler.c
index 68f1425d..b4e2d232 100644
--- a/arm9/lib/src/OS_irqHandler.c
+++ b/arm9/lib/src/OS_irqHandler.c
@@ -49,7 +49,7 @@ _01FF8070:
str r3, [ip, #0x80]
mov ip, r0
cmp ip, #0x0
-bne _01FF8070
+ bne _01FF8070
ldr ip, =OSi_IrqThreadQueue
str r3, [ip]
str r3, [ip, #0x4]
diff --git a/arm9/lib/src/OS_reset.c b/arm9/lib/src/OS_reset.c
index 5994e643..a458a8fa 100644
--- a/arm9/lib/src/OS_reset.c
+++ b/arm9/lib/src/OS_reset.c
@@ -18,6 +18,13 @@ extern u32 PXI_SendWordByFifo(u32 param1, u32 data, u32 param2);
extern void CARD_LockRom(u16 lockId);
extern void MI_StopDma(u32 dma);
+static void OSi_CommonCallback(PXIFifoTag tag, u32 data, BOOL err);
+static void OSi_SendToPxi(u16 data);
+static void OSi_DoResetSystem(void);
+static void OSi_CpuClear32(register u32 data, register void *destp, register u32 size);
+static void OSi_ReloadRomData(void);
+static void OSi_ReadCardRom32(u32 src, void *dst, s32 len);
+
ARM_FUNC void OS_InitReset(void) {
if (OSi_IsInitReset) {
return;
diff --git a/arm9/lib/src/OS_system.c b/arm9/lib/src/OS_system.c
index de6b187a..f5f5faba 100644
--- a/arm9/lib/src/OS_system.c
+++ b/arm9/lib/src/OS_system.c
@@ -1,12 +1,9 @@
-//
-// Created by mart on 4/23/20.
-//
-
#include "OS_system.h"
#include "OS_irqHandler.h"
#include "syscall.h"
-ARM_FUNC asm OSIntrMode OS_EnableInterrupts(void) {
+ARM_FUNC asm OSIntrMode OS_EnableInterrupts(void)
+{
mrs r0, cpsr
bic r1, r0, #HW_PSR_DISABLE_IRQ
msr cpsr_c, r1
@@ -14,24 +11,27 @@ ARM_FUNC asm OSIntrMode OS_EnableInterrupts(void) {
bx lr
}
-ARM_FUNC asm OSIntrMode OS_DisableInterrupts(void) {
- mrs r0, cpsr
- orr r1, r0, #HW_PSR_DISABLE_IRQ
- msr cpsr_c, r1
- and r0, r0, #HW_PSR_DISABLE_IRQ
- bx lr
+ARM_FUNC asm OSIntrMode OS_DisableInterrupts(void)
+{
+ mrs r0, cpsr
+ orr r1, r0, #HW_PSR_DISABLE_IRQ
+ msr cpsr_c, r1
+ and r0, r0, #HW_PSR_DISABLE_IRQ
+ bx lr
}
-ARM_FUNC asm OSIntrMode OS_RestoreInterrupts(OSIntrMode state) {
- mrs r1, cpsr
- bic r2, r1, #HW_PSR_DISABLE_IRQ
- orr r2, r2, r0
- msr cpsr_c, r2
- and r0, r1, #HW_PSR_DISABLE_IRQ
- bx lr
+ARM_FUNC asm OSIntrMode OS_RestoreInterrupts(OSIntrMode state)
+{
+ mrs r1, cpsr
+ bic r2, r1, #HW_PSR_DISABLE_IRQ
+ orr r2, r2, r0
+ msr cpsr_c, r2
+ and r0, r1, #HW_PSR_DISABLE_IRQ
+ bx lr
}
-ARM_FUNC asm OSIntrMode OS_DisableInterrupts_IrqAndFiq(void) {
+ARM_FUNC asm OSIntrMode OS_DisableInterrupts_IrqAndFiq(void)
+{
mrs r0, cpsr
orr r1, r0, #HW_PSR_DISABLE_IRQ_FIQ
msr cpsr_c, r1
@@ -39,7 +39,8 @@ ARM_FUNC asm OSIntrMode OS_DisableInterrupts_IrqAndFiq(void) {
bx lr
}
-ARM_FUNC asm OSIntrMode OS_RestoreInterrupts_IrqAndFiq(OSIntrMode state) {
+ARM_FUNC asm OSIntrMode OS_RestoreInterrupts_IrqAndFiq(OSIntrMode state)
+{
mrs r1, cpsr
bic r2, r1, #HW_PSR_DISABLE_IRQ_FIQ
orr r2, r2, r0
@@ -48,25 +49,29 @@ ARM_FUNC asm OSIntrMode OS_RestoreInterrupts_IrqAndFiq(OSIntrMode state) {
bx lr
}
-ARM_FUNC asm OSIntrMode OS_GetCpsrIrq(void) {
+ARM_FUNC asm OSIntrMode OS_GetCpsrIrq(void)
+{
mrs r0, cpsr
and r0, r0, #HW_PSR_DISABLE_IRQ
bx lr
}
-ARM_FUNC asm OSProcMode OS_GetProcMode(void) {
+ARM_FUNC asm OSProcMode OS_GetProcMode(void)
+{
mrs r0, cpsr
and r0, r0, #HW_PSR_CPU_MODE_MASK
bx lr
}
-ARM_FUNC asm void OS_SpinWait(u32 cycles) {
+ARM_FUNC asm void OS_SpinWait(u32 cycles)
+{
subs r0, r0, #0x4
bhs OS_SpinWait
bx lr
}
-ARM_FUNC void OS_WaitVBlankIntr(void) {
+ARM_FUNC void OS_WaitVBlankIntr(void)
+{
SVC_WaitByLoop(0x1);
OS_WaitIrq(TRUE, OS_IE_V_BLANK);
}
diff --git a/arm9/lib/src/OS_terminate_proc.c b/arm9/lib/src/OS_terminate_proc.c
index 2e5f3fb2..fdc4dbff 100644
--- a/arm9/lib/src/OS_terminate_proc.c
+++ b/arm9/lib/src/OS_terminate_proc.c
@@ -2,14 +2,17 @@
#include "function_target.h"
#include "OS_system.h"
-ARM_FUNC void OS_Terminate(void) {
- while (TRUE) {
+ARM_FUNC void OS_Terminate(void)
+{
+ while (TRUE)
+ {
(void)OS_DisableInterrupts();
OS_Halt();
}
}
-ARM_FUNC asm void OS_Halt(void) {
+ARM_FUNC asm void OS_Halt(void)
+{
mov r0, #0x0
mcr p15, 0x0, r0, c7, c0, 0x4 //Wait For Interrupt (Halt)
bx lr
diff --git a/arm9/lib/src/OS_thread.c b/arm9/lib/src/OS_thread.c
index 2ecde69a..35e91c22 100644
--- a/arm9/lib/src/OS_thread.c
+++ b/arm9/lib/src/OS_thread.c
@@ -32,6 +32,19 @@ OSThread OSi_IdleThread;
u32 OSi_IdleThreadStack[50];
+static s32 OSi_GetUnusedThreadId(void);
+static void OSi_InsertLinkToQueue(OSThreadQueue *queue, OSThread *thread);
+static OSThread *OSi_RemoveLinkFromQueue(OSThreadQueue *queue);
+static OSThread *OSi_RemoveSpecifiedLinkFromQueue(OSThreadQueue *queue, OSThread *thread);
+static void OSi_InsertThreadToList(OSThread *thread);
+static void OSi_RemoveThreadFromList(OSThread *thread);
+static void OSi_ExitThread_ArgSpecified(OSThread *thread, void *arg);
+static void OSi_ExitThread(void *arg);
+static void OSi_ExitThread_Destroy(void);
+static void OSi_CancelThreadAlarmForSleep(OSThread *thread);
+static void OSi_SleepAlarmCallback(void *arg);
+static void OSi_IdleThreadProc(void *);
+
ARM_FUNC static s32 OSi_GetUnusedThreadId(void)
{
return ++OSi_ThreadIdCount;
diff --git a/arm9/lib/src/OS_tick.c b/arm9/lib/src/OS_tick.c
index 17192117..b0e81054 100644
--- a/arm9/lib/src/OS_tick.c
+++ b/arm9/lib/src/OS_tick.c
@@ -8,6 +8,8 @@ static u16 OSi_UseTick = FALSE;
vu64 OSi_TickCounter;
BOOL OSi_NeedResetTimer = FALSE;
+static void OSi_CountUpTick(void);
+
ARM_FUNC void OS_InitTick(void)
{
if (OSi_UseTick)