mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-29 20:06:38 -05:00
Merge branch 'master' into pikalax_work
This commit is contained in:
@@ -31,6 +31,8 @@ Autoload WRAM
|
||||
Object OS_alarm.o
|
||||
Object OS_valarm.o
|
||||
Object OS_system.o
|
||||
Object OS_reset.o
|
||||
Object OS_terminate_proc.o
|
||||
Object dtcm.o
|
||||
Object libsyscall.o
|
||||
Object dtcm2.o
|
||||
|
||||
@@ -137,7 +137,7 @@ OS_SetPeriodicAlarm: ; 0x037FA6E0
|
||||
cmp r0, #0
|
||||
beq _037FA710
|
||||
_037FA70C:
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_037FA710:
|
||||
bl OS_DisableInterrupts
|
||||
mov r5, r0
|
||||
@@ -171,7 +171,7 @@ OS_SetAlarm: ; 0x037FA75C
|
||||
cmp r0, #0
|
||||
beq _037FA784
|
||||
_037FA780:
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_037FA784:
|
||||
bl OS_DisableInterrupts
|
||||
mov r4, r0
|
||||
|
||||
90
arm7/asm/OS_reset.s
Normal file
90
arm7/asm/OS_reset.s
Normal file
@@ -0,0 +1,90 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start OS_ResetSystem
|
||||
OS_ResetSystem: ; 0x037FB0E0
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
mov r0, #0
|
||||
bl MI_StopDma
|
||||
mov r0, #1
|
||||
bl MI_StopDma
|
||||
mov r0, #2
|
||||
bl MI_StopDma
|
||||
mov r0, #3
|
||||
bl MI_StopDma
|
||||
mov r0, #262144 ; 0x40000
|
||||
bl OS_SetIrqMask
|
||||
mvn r0, #0
|
||||
bl OS_ResetRequestIrqMask
|
||||
bl SND_Shutdown
|
||||
mov r0, #16
|
||||
bl OSi_SendToPxi
|
||||
bl FUN_038073EC
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start OSi_SendToPxi
|
||||
OSi_SendToPxi: ; 0x037FB134
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
mov r6, r0, lsl #8
|
||||
mov r5, #12
|
||||
mov r4, #0
|
||||
_037FB144:
|
||||
mov r0, r5
|
||||
mov r1, r6
|
||||
mov r2, r4
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0
|
||||
bne _037FB144
|
||||
ldmia sp!, {r4, r5, r6, lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start OSi_CommonCallback
|
||||
OSi_CommonCallback: ; 0x037FB164
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
and r0, r1, #32512 ; 0x7f00
|
||||
mov r0, r0, lsl #8
|
||||
mov r0, r0, lsr #16
|
||||
cmp r0, #16
|
||||
moveq r1, #1
|
||||
ldreq r0, _037FB19C ; =_03807954
|
||||
streqh r1, [r0]
|
||||
beq _037FB190
|
||||
bl OS_Terminate
|
||||
_037FB190:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
_037FB19C: .word _03807954
|
||||
|
||||
arm_func_start OS_IsResetOccurred
|
||||
OS_IsResetOccurred: ; 0x037FB1A0
|
||||
ldr r0, _037FB1AC ; =_03807954
|
||||
ldrh r0, [r0]
|
||||
bx lr
|
||||
_037FB1AC: .word _03807954
|
||||
|
||||
arm_func_start OS_InitReset
|
||||
OS_InitReset: ; 0x037FB1B0
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
ldr r0, _037FB1E8 ; =_03807950
|
||||
ldrh r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _037FB1DC
|
||||
mov r1, #1
|
||||
strh r1, [r0]
|
||||
mov r0, #12
|
||||
ldr r1, _037FB1EC ; =OSi_CommonCallback
|
||||
bl PXI_SetFifoRecvCallback
|
||||
_037FB1DC:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
_037FB1E8: .word _03807950
|
||||
_037FB1EC: .word OSi_CommonCallback
|
||||
15
arm7/asm/OS_terminate_proc.s
Normal file
15
arm7/asm/OS_terminate_proc.s
Normal file
@@ -0,0 +1,15 @@
|
||||
.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
|
||||
@@ -322,7 +322,7 @@ _037F9138:
|
||||
bl OS_WakeupThread
|
||||
bl OS_EnableScheduler
|
||||
bl OS_RescheduleThread
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
_037F9164: .word OSi_CurrentThreadPtr
|
||||
|
||||
@@ -114,7 +114,7 @@ _037FAB4C:
|
||||
_037FAB8C:
|
||||
ldr r7, [sl]
|
||||
mov r0, sl
|
||||
bl FUN_037FAECC
|
||||
bl OSi_DetachVAlarm
|
||||
str r4, [sl]
|
||||
cmp r7, #0
|
||||
beq _037FABB0
|
||||
@@ -137,7 +137,7 @@ _037FABB0:
|
||||
b _037FAC00
|
||||
_037FABE4:
|
||||
mov r0, sl
|
||||
bl FUN_037FAECC
|
||||
bl OSi_DetachVAlarm
|
||||
mov r0, sl
|
||||
bl OSi_AppendVAlarm
|
||||
ldr r0, [fp]
|
||||
@@ -167,7 +167,7 @@ OS_CancelVAlarms: ; 0x037FAC30
|
||||
mov r5, r0
|
||||
cmp r7, #0
|
||||
bne _037FAC50
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_037FAC50:
|
||||
ldr r0, _037FACA8 ; =_03807948
|
||||
ldr r0, [r0]
|
||||
@@ -212,7 +212,7 @@ OS_CancelVAlarm: ; 0x037FACAC
|
||||
b _037FACF4
|
||||
_037FACDC:
|
||||
mov r0, r5
|
||||
bl FUN_037FAECC
|
||||
bl OSi_DetachVAlarm
|
||||
mov r0, #0
|
||||
str r0, [r5]
|
||||
mov r0, r4
|
||||
@@ -229,7 +229,7 @@ OS_SetVAlarmTag: ; 0x037FAD00
|
||||
mov r5, r0
|
||||
movs r4, r1
|
||||
bne _037FAD18
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_037FAD18:
|
||||
cmp r5, #0
|
||||
strne r4, [r5, #8]
|
||||
@@ -279,7 +279,7 @@ OS_SetPeriodicVAlarm: ; 0x037FAD88
|
||||
cmp r0, #0
|
||||
beq _037FADC0
|
||||
_037FADBC:
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_037FADC0:
|
||||
ldr r0, _037FAE1C ; =0x04000006
|
||||
ldrh r9, [r0]
|
||||
@@ -322,7 +322,7 @@ OS_SetVAlarm: ; 0x037FAE20
|
||||
cmp r0, #0
|
||||
beq _037FAE58
|
||||
_037FAE54:
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_037FAE58:
|
||||
ldr r0, _037FAEB4 ; =0x04000006
|
||||
ldrh r9, [r0]
|
||||
@@ -357,8 +357,8 @@ OS_CreateVAlarm: ; 0x037FAEB8
|
||||
str r1, [r0, #32]
|
||||
bx lr
|
||||
|
||||
arm_func_start FUN_037FAECC
|
||||
FUN_037FAECC: ; 0x037FAECC
|
||||
arm_func_start OSi_DetachVAlarm
|
||||
OSi_DetachVAlarm: ; 0x037FAECC
|
||||
cmp r0, #0
|
||||
bxeq lr
|
||||
ldr r2, [r0, #20]
|
||||
|
||||
101
arm7/asm/dtcm.s
101
arm7/asm/dtcm.s
@@ -2,103 +2,6 @@
|
||||
.include "global.inc"
|
||||
|
||||
.section .text
|
||||
arm_func_start OS_ResetSystem
|
||||
OS_ResetSystem: ; 0x037FB0E0
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
mov r0, #0
|
||||
bl MI_StopDma
|
||||
mov r0, #1
|
||||
bl MI_StopDma
|
||||
mov r0, #2
|
||||
bl MI_StopDma
|
||||
mov r0, #3
|
||||
bl MI_StopDma
|
||||
mov r0, #262144 ; 0x40000
|
||||
bl OS_SetIrqMask
|
||||
mvn r0, #0
|
||||
bl OS_ResetRequestIrqMask
|
||||
bl SND_Shutdown
|
||||
mov r0, #16
|
||||
bl FUN_037FB134
|
||||
bl FUN_038073EC
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start FUN_037FB134
|
||||
FUN_037FB134: ; 0x037FB134
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
mov r6, r0, lsl #8
|
||||
mov r5, #12
|
||||
mov r4, #0
|
||||
_037FB144:
|
||||
mov r0, r5
|
||||
mov r1, r6
|
||||
mov r2, r4
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0
|
||||
bne _037FB144
|
||||
ldmia sp!, {r4, r5, r6, lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start FUN_037FB164
|
||||
FUN_037FB164: ; 0x037FB164
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
and r0, r1, #32512 ; 0x7f00
|
||||
mov r0, r0, lsl #8
|
||||
mov r0, r0, lsr #16
|
||||
cmp r0, #16
|
||||
moveq r1, #1
|
||||
ldreq r0, _037FB19C ; =_03807954
|
||||
streqh r1, [r0]
|
||||
beq _037FB190
|
||||
bl FUN_037FB1F0
|
||||
_037FB190:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
_037FB19C: .word _03807954
|
||||
|
||||
arm_func_start OS_IsResetOccurred
|
||||
OS_IsResetOccurred: ; 0x037FB1A0
|
||||
ldr r0, _037FB1AC ; =_03807954
|
||||
ldrh r0, [r0]
|
||||
bx lr
|
||||
_037FB1AC: .word _03807954
|
||||
|
||||
arm_func_start OS_InitReset
|
||||
OS_InitReset: ; 0x037FB1B0
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
ldr r0, _037FB1E8 ; =_03807950
|
||||
ldrh r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _037FB1DC
|
||||
mov r1, #1
|
||||
strh r1, [r0]
|
||||
mov r0, #12
|
||||
ldr r1, _037FB1EC ; =FUN_037FB164
|
||||
bl PXI_SetFifoRecvCallback
|
||||
_037FB1DC:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
_037FB1E8: .word _03807950
|
||||
_037FB1EC: .word FUN_037FB164
|
||||
|
||||
arm_func_start FUN_037FB1F0
|
||||
FUN_037FB1F0: ; 0x037FB1F0
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
mov r0, #0
|
||||
bl CTRDG_VibPulseEdgeUpdate
|
||||
_037FB200:
|
||||
bl OS_DisableInterrupts
|
||||
bl FUN_037F8530
|
||||
b _037FB200
|
||||
|
||||
arm_func_start MI_StopDma
|
||||
MI_StopDma: ; 0x037FB20C
|
||||
stmdb sp!, {r4, lr}
|
||||
@@ -7036,7 +6939,7 @@ FUN_03800E54: ; 0x03800E54
|
||||
bl CTRDG_VibPulseEdgeUpdate
|
||||
bl SND_BeginSleep
|
||||
bl WVR_Shutdown
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
@@ -7182,7 +7085,7 @@ FUN_03801048: ; 0x03801048
|
||||
bl FUN_03800E54
|
||||
b _03801068
|
||||
_03801064:
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_03801068:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
|
||||
@@ -1022,7 +1022,7 @@ _03801F20:
|
||||
strh r1, [r0]
|
||||
b _03801F40
|
||||
_03801F3C:
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_03801F40:
|
||||
add sp, sp, #12
|
||||
ldmia sp!, {r4, r5, r6, r7, lr}
|
||||
@@ -1719,7 +1719,7 @@ _03802878:
|
||||
bl PMi_SetControl
|
||||
b _03802890
|
||||
_0380288C:
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_03802890:
|
||||
ldr r0, _038028A0 ;@ =PMi_LEDStatus
|
||||
str r4, [r0]
|
||||
@@ -3161,7 +3161,7 @@ _03803C24:
|
||||
bne _03803C1C
|
||||
b _03803C44
|
||||
_03803C40:
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_03803C44:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, lr}
|
||||
@@ -3177,7 +3177,7 @@ FUN_03803C58: ;@ 0x03803C58
|
||||
bl CTRDG_VibPulseEdgeUpdate
|
||||
bl SND_BeginSleep
|
||||
bl WVR_Shutdown
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
@@ -3488,7 +3488,7 @@ FUN_03804094: ;@ 0x03804094
|
||||
bl FUN_03803C58
|
||||
b _038040B4
|
||||
_038040B0:
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_038040B4:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
@@ -3505,7 +3505,7 @@ FUN_038040C0: ;@ 0x038040C0
|
||||
moveq r1, #1
|
||||
streq r1, [r0, #16]
|
||||
beq _038040E8
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_038040E8:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
@@ -6221,7 +6221,7 @@ _03806548:
|
||||
orr r1, r6, r5
|
||||
orrs r0, r0, r1
|
||||
beq _03806590
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_03806590:
|
||||
bl FUN_03806680
|
||||
add r7, r4, #40 ;@ 0x28
|
||||
|
||||
@@ -601,8 +601,8 @@ _0600078C: .word SND_BeginSleep
|
||||
|
||||
arm_func_start FUN_06000790
|
||||
FUN_06000790: ; 0x06000790
|
||||
ldr pc, _06000794 ; =FUN_037FB1F0
|
||||
_06000794: .word FUN_037FB1F0
|
||||
ldr pc, _06000794 ; =OS_Terminate
|
||||
_06000794: .word OS_Terminate
|
||||
|
||||
arm_func_start WM_sp_init
|
||||
WM_sp_init: ; 0x06000798
|
||||
|
||||
@@ -29,7 +29,7 @@ _027E0014:
|
||||
add r0, r3, r2
|
||||
cmp r1, r0
|
||||
beq _027E0060
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_027E0060:
|
||||
ldr r0, _027E00D0 ; =0x0380A3F4
|
||||
ldr r3, [r0]
|
||||
|
||||
@@ -313,7 +313,7 @@ FUN_037F83B0: ; 0x037F83B0
|
||||
bl OS_CreateHeap
|
||||
movs r4, r0
|
||||
bpl _037F8438
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_037F8438:
|
||||
mov r0, #8
|
||||
mov r1, r4
|
||||
@@ -323,7 +323,7 @@ _037F8438:
|
||||
bl OS_CheckHeap
|
||||
cmp r0, #8448 ; 0x2100
|
||||
bcs _037F845C
|
||||
bl FUN_037FB1F0
|
||||
bl OS_Terminate
|
||||
_037F845C:
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, lr}
|
||||
|
||||
@@ -95,7 +95,6 @@
|
||||
.extern OS_DisableInterrupts
|
||||
.extern OS_RestoreInterrupts
|
||||
.extern OS_SpinWait
|
||||
.extern FUN_037FB1F0
|
||||
.extern MIi_CpuClear32
|
||||
.extern MIi_CpuClearFast
|
||||
.extern MIi_CpuCopyFast
|
||||
@@ -106,9 +105,10 @@
|
||||
.extern PXI_SetFifoRecvCallback
|
||||
.extern EXIi_SelectRcnt
|
||||
.extern EXIi_SetBitRcnt0L
|
||||
.extern SND_EndSleep
|
||||
.extern SND_BeginSleep
|
||||
.extern SND_EndSleep
|
||||
.extern SND_Init
|
||||
.extern SND_Shutdown
|
||||
.extern SPI_Init
|
||||
.extern PMi_ResetControl
|
||||
.extern PMi_SetControl
|
||||
@@ -156,7 +156,8 @@
|
||||
.extern OS_InitVAlarm
|
||||
.extern OS_DisableInterrupts
|
||||
.extern OS_RestoreInterrupts
|
||||
.extern FUN_037FB1F0
|
||||
.extern OS_Terminate
|
||||
.extern MI_StopDma
|
||||
.extern MI_WaitDma
|
||||
.extern MIi_CpuClear16
|
||||
.extern MIi_CpuCopy16
|
||||
|
||||
Reference in New Issue
Block a user