mirror of
https://github.com/zeldaret/tmc
synced 2026-09-03 10:21:18 -04:00
cleanup
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user