This commit is contained in:
theo3
2022-03-17 19:13:56 -07:00
parent 3357984494
commit ef470547e0
279 changed files with 848 additions and 813 deletions
+8 -8
View File
@@ -5,22 +5,22 @@
.text
@ r0 = Entity*
@ r1 = Gravity strength
@ returns z pos
thumb_func_start GravityUpdate
GravityUpdate: @ 0x08003FC4
@ r0 = Entity*
@ r1 = Gravity strength
@ returns z pos
adds r3, r0, #0
ldr r0, [r3, #0x34]
ldr r2, [r3, #0x20]
subs r0, r0, r2
bpl _08003FD6
bpl hitground
subs r2, r2, r1
str r0, [r3, #0x34]
str r2, [r3, #0x20]
bx lr
_08003FD6:
hitground:
movs r0, #0
str r0, [r3, #0x34]
str r0, [r3, #0x20]
@@ -29,7 +29,7 @@ _08003FD6:
non_word_aligned_thumb_func_start sub_08003FDE
sub_08003FDE: @ 0x08003FDE
push {r0, lr}
bl sub_08003FF2
bl CheckEntityPickup
cmp r0, #0
pop {r2}
beq _08003FF0
@@ -38,8 +38,8 @@ sub_08003FDE: @ 0x08003FDE
_08003FF0:
pop {pc}
non_word_aligned_thumb_func_start sub_08003FF2
sub_08003FF2: @ 0x08003FF2
non_word_aligned_thumb_func_start CheckEntityPickup
CheckEntityPickup: @ 0x08003FF2
push {r4, r5, r6, r7, lr}
ldr r4, [r1, #0x48]
ldrb r5, [r4, #6]
+1 -1
View File
@@ -170,7 +170,7 @@ _08004516:
thumb_func_start sub_0800451C
sub_0800451C: @ 0x0800451C
push {r0, lr}
bl sub_080B1AA8
bl GetTileUnderEntity
adds r1, r0, #0
pop {r0, r3}
mov lr, r3
+11 -23
View File
@@ -13,37 +13,25 @@ header:
start_vector:
mov r0, #0x12
msr cpsr_fc, r0
ldr sp, sp_irq
ldr sp, =irq_stack_begin
mov r0, #0x1f
msr cpsr_fc, r0
ldr sp, sp_usr
ldr r1, INTR_VECTOR_BUF
ldr r0, intr_main
ldr sp, =usr_stack_begin
ldr r1, =0x03007FFC
ldr r0, =ram_IntrMain
str r0, [r1]
.ifdef EU
ldr r1, unk_function
mov lr, pc
bx r1
.else
.ifdef DEMO_JP
ldr r1, unk_function
.ifndef USA
.ifndef DEMO_USA
.ifndef JP
ldr r1, =fill_rq_stack
mov lr, pc
bx r1
.endif
.endif
.endif
ldr r1, =AgbMain
mov lr, pc
bx r1
_080000F0:
b start_vector
sp_irq: .4byte irq_stack_begin
sp_usr: .4byte usr_stack_begin
INTR_VECTOR_BUF: .4byte 0x03007FFC
intr_main: .4byte ram_IntrMain
.ifdef EU
unk_function: .4byte fill_rq_stack
.else
.ifdef DEMO_JP
unk_function: .4byte fill_rq_stack
.endif
.endif
+1 -1
View File
@@ -129,7 +129,7 @@ arm_sub_080B1A8C: @ 0x080B1A8C
ldrb r2, [r0, #0x38]
mov r0, r3
b arm_sub_080B1AB4
arm_sub_080B1AA8:
arm_GetTileUnderEntity:
ldrb r2, [r0, #0x38]
ldrh r1, [r0, #0x32]
ldrh r0, [r0, #0x2e]
+1 -1
View File
@@ -106,7 +106,7 @@ _08016A64:
sub_08016A6C: @ 0x08016A6C
push {r4, r5, lr}
adds r4, r0, #0
bl sub_080B1AA8
bl GetTileUnderEntity
add r1, pc, #0x38
_08016A76:
adds r1, #4
+43
View File
@@ -0,0 +1,43 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start fill_rq_stack
fill_rq_stack: // fill iqr and user stack with 'MCZ3'
adr r0, pool
ldm r0!, {r1, r2, r3}
loop1:
subs r2, #4
str r1, [r2]
cmp r2, r3
bgt loop1
bx lr
// unused
// returns the maximum values reached by irq stack (r0) and usr stack (r1)
check_stack_threshold:
adr r0, pool
ldm r0!, {r1, r2, r3}
loop2:
ldr r0, [r3]
adds r3, #4
cmp r0, r1 // cmp against magic
beq loop2
subs r2, #0xa0
loop3:
ldr r0, [r2]
adds r2, #4
cmp r0, r1 // cmp against magic
beq loop3
subs r1, r2, #4
subs r0, r3, #4
bx lr
.align 2, 0
pool:
.byte '3, 'Z, 'C, 'M // r1
.4byte irq_stack_begin // r2
.4byte usr_stack_top // r3
+4 -49
View File
@@ -5,51 +5,6 @@
.text
.ifndef USA
.ifndef DEMO_USA
.ifndef JP
thumb_func_start fill_rq_stack
fill_rq_stack: // fill iqr and user stack with 'MCZ3'
adr r0, 1f
ldm r0!, {r1, r2, r3}
0:
subs r2, #4
str r1, [r2]
cmp r2, r3
bgt 0b
bx lr
// unused
// returns the maximum values reached by irq stack (r0) and usr stack (r1)
check_stack_threshold:
adr r0, 1f
ldm r0!, {r1, r2, r3}
0:
ldr r0, [r3]
adds r3, #4
cmp r0, r1 // cmp against magic
beq 0b
subs r2, #0xa0
0:
ldr r0, [r2]
adds r2, #4
cmp r0, r1 // cmp against magic
beq 0b
subs r1, r2, #4
subs r0, r3, #4
bx lr
.align 2, 0
1:
.byte '3, 'Z, 'C, 'M // r1
.4byte irq_stack_begin // r2
.4byte usr_stack_top // r3
.endif
.endif
.endif
thumb_func_start UpdateScrollVram
UpdateScrollVram: @ 0x08000108
push {r4, lr}
@@ -322,9 +277,9 @@ sub_080B1A8C: @ 0x080002B4
@ return:
@ ========
@ Called every frame a pot is thrown, every frame the screen is sliding in a transition, and once when entering stairs.
thumb_func_start sub_080B1AA8
sub_080B1AA8: @ 0x080002B8
ldr r3, _08000324 @ =ram_sub_080B1AA8
thumb_func_start GetTileUnderEntity
GetTileUnderEntity: @ 0x080002B8
ldr r3, _08000324 @ =ram_GetTileUnderEntity
bx r3
@ call 0x080B1AB4
@@ -458,7 +413,7 @@ _08000314: .4byte ram_sub_080B1A48
_08000318: .4byte ram_sub_080B1A58
_0800031C: .4byte ram_GetTileType
_08000320: .4byte ram_sub_080B1A8C
_08000324: .4byte ram_sub_080B1AA8
_08000324: .4byte ram_GetTileUnderEntity
_08000328: .4byte ram_sub_080B1AB4
_0800032C: .4byte ram_sub_080B1AC8
_08000330: .4byte ram_sub_080B1AD8