mirror of
https://github.com/pret/pmd-red.git
synced 2026-05-06 13:06:21 -05:00
546 lines
8.5 KiB
ArmAsm
546 lines
8.5 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_80118C4
|
|
sub_80118C4:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r4, 0
|
|
bl sub_800BFD0
|
|
ldr r0, _080118E8
|
|
adds r1, r4, 0
|
|
bl sub_800C3F8
|
|
ldr r0, _080118EC
|
|
adds r1, r4, 0
|
|
bl sub_800C3F8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080118E8: .4byte 0x000003e6
|
|
_080118EC: .4byte 0x000003e5
|
|
thumb_func_end sub_80118C4
|
|
|
|
thumb_func_start sub_80118F0
|
|
sub_80118F0:
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_800BDFC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80118F0
|
|
|
|
thumb_func_start sub_8011900
|
|
sub_8011900:
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl sub_800BE8C
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8011900
|
|
|
|
thumb_func_start sub_8011914
|
|
sub_8011914:
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_800BF48
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8011914
|
|
|
|
thumb_func_start sub_8011924
|
|
sub_8011924:
|
|
push {lr}
|
|
bl sub_800BF80
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8011924
|
|
|
|
thumb_func_start sub_8011930
|
|
sub_8011930:
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_800BFD0
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8011930
|
|
|
|
thumb_func_start sub_8011940
|
|
sub_8011940:
|
|
push {r4,lr}
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
bl sub_800C068
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _08011960
|
|
cmp r4, r0
|
|
bne _08011964
|
|
eors r1, r4
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
b _0801196C
|
|
.align 2, 0
|
|
_08011960: .4byte 0x000003e7
|
|
_08011964:
|
|
movs r0, 0
|
|
cmp r1, r4
|
|
bne _0801196C
|
|
movs r0, 0x1
|
|
_0801196C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8011940
|
|
|
|
thumb_func_start sub_8011974
|
|
sub_8011974:
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl sub_800C074
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8011974
|
|
|
|
thumb_func_start sub_8011988
|
|
sub_8011988:
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
bl sub_800C074
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8011988
|
|
|
|
thumb_func_start sub_801199C
|
|
sub_801199C:
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_800C298
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801199C
|
|
|
|
thumb_func_start sub_80119AC
|
|
sub_80119AC:
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl sub_800C3F8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80119AC
|
|
|
|
thumb_func_start sub_80119C0
|
|
sub_80119C0:
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_800C5D0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80119C0
|
|
|
|
thumb_func_start sub_80119D4
|
|
sub_80119D4:
|
|
push {r4,lr}
|
|
adds r2, r0, 0
|
|
ldr r4, _080119FC
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
bgt _080119F6
|
|
ldr r1, _08011A00
|
|
lsls r0, r2, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
bl sub_800C074
|
|
movs r0, 0x4
|
|
strh r0, [r4]
|
|
_080119F6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080119FC: .4byte gUnknown_202DE20
|
|
_08011A00: .4byte gUnknown_80D4144
|
|
thumb_func_end sub_80119D4
|
|
|
|
thumb_func_start sub_8011A04
|
|
sub_8011A04:
|
|
push {lr}
|
|
ldr r1, _08011A24
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
bgt _08011A1E
|
|
movs r0, 0x3
|
|
strh r0, [r1]
|
|
ldr r0, _08011A28
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
bl sub_800C074
|
|
_08011A1E:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08011A24: .4byte gUnknown_202DE22
|
|
_08011A28: .4byte 0x00000131
|
|
thumb_func_end sub_8011A04
|
|
|
|
thumb_func_start sub_8011A2C
|
|
sub_8011A2C:
|
|
ldr r1, _08011A34
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08011A34: .4byte gUnknown_202DE1C
|
|
thumb_func_end sub_8011A2C
|
|
|
|
thumb_func_start NDS_DebugInit
|
|
NDS_DebugInit:
|
|
push {lr}
|
|
bl nullsub_26
|
|
bl nullsub_27
|
|
bl nullsub_29
|
|
bl nullsub_30
|
|
bl nullsub_31
|
|
bl nullsub_32
|
|
bl nullsub_28
|
|
ldr r1, _08011A60
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08011A60: .4byte gUnknown_203B14C
|
|
thumb_func_end NDS_DebugInit
|
|
|
|
thumb_func_start nullsub_25
|
|
nullsub_25:
|
|
bx lr
|
|
thumb_func_end nullsub_25
|
|
|
|
thumb_func_start nullsub_26
|
|
nullsub_26:
|
|
bx lr
|
|
thumb_func_end nullsub_26
|
|
|
|
thumb_func_start PrintFuncFileLineOrNotEntry
|
|
PrintFuncFileLineOrNotEntry:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
adds r0, r1, 0
|
|
cmp r0, 0
|
|
beq _08011A90
|
|
ldr r1, _08011A8C
|
|
ldr r2, [r0, 0x8]
|
|
ldr r3, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
bl sprintf
|
|
b _08011A98
|
|
.align 2, 0
|
|
_08011A8C: .4byte gUnknown_80D418C
|
|
_08011A90:
|
|
ldr r1, _08011AA0
|
|
adds r0, r4, 0
|
|
bl sprintf
|
|
_08011A98:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08011AA0: .4byte gUnknown_80D41B0
|
|
thumb_func_end PrintFuncFileLineOrNotEntry
|
|
|
|
thumb_func_start PrintFuncFileLine
|
|
PrintFuncFileLine:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x8
|
|
ldr r5, _08011AC4
|
|
ldr r3, [r1, 0x8]
|
|
ldr r4, [r1]
|
|
str r4, [sp]
|
|
ldr r1, [r1, 0x4]
|
|
str r1, [sp, 0x4]
|
|
adds r1, r5, 0
|
|
bl sprintf
|
|
add sp, 0x8
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08011AC4: .4byte gUnknown_80D41C4
|
|
thumb_func_end PrintFuncFileLine
|
|
|
|
thumb_func_start PrintMessageWithFuncFileLine
|
|
PrintMessageWithFuncFileLine:
|
|
push {r2,r3}
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
ldr r1, [sp, 0x10]
|
|
add r2, sp, 0x14
|
|
bl vsprintf
|
|
adds r0, r4, 0
|
|
bl strlen
|
|
adds r4, r0
|
|
ldr r1, _08011AFC
|
|
ldr r2, [r5, 0x8]
|
|
ldr r3, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
bl sprintf
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r3}
|
|
add sp, 0x8
|
|
bx r3
|
|
.align 2, 0
|
|
_08011AFC: .4byte gUnknown_80D41EC
|
|
thumb_func_end PrintMessageWithFuncFileLine
|
|
|
|
thumb_func_start nullsub_199
|
|
nullsub_199:
|
|
bx lr
|
|
thumb_func_end nullsub_199
|
|
|
|
thumb_func_start nullsub_27
|
|
nullsub_27:
|
|
bx lr
|
|
thumb_func_end nullsub_27
|
|
|
|
thumb_func_start sub_8011B08
|
|
sub_8011B08:
|
|
ldr r1, _08011B10
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08011B10: .4byte gUnknown_203B150
|
|
thumb_func_end sub_8011B08
|
|
|
|
thumb_func_start sub_8011B14
|
|
sub_8011B14:
|
|
ldr r1, _08011B1C
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08011B1C: .4byte gUnknown_203B150
|
|
thumb_func_end sub_8011B14
|
|
|
|
thumb_func_start sub_8011B20
|
|
sub_8011B20:
|
|
push {lr}
|
|
ldr r1, _08011B38
|
|
movs r2, 0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _08011B2E
|
|
movs r2, 0x1
|
|
_08011B2E:
|
|
strb r2, [r1]
|
|
ldrb r0, [r1]
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08011B38: .4byte gUnknown_203B150
|
|
thumb_func_end sub_8011B20
|
|
|
|
thumb_func_start sub_8011B3C
|
|
sub_8011B3C:
|
|
ldr r0, _08011B44
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08011B44: .4byte gUnknown_203B150
|
|
thumb_func_end sub_8011B3C
|
|
|
|
thumb_func_start nullsub_137
|
|
nullsub_137:
|
|
bx lr
|
|
thumb_func_end nullsub_137
|
|
|
|
thumb_func_start FatalErrorPrintFuncFileLine
|
|
FatalErrorPrintFuncFileLine:
|
|
push {lr}
|
|
sub sp, 0x100
|
|
adds r2, r0, 0
|
|
cmp r2, 0
|
|
beq _08011B5E
|
|
mov r0, sp
|
|
bl PrintFuncFileLine
|
|
b _08011B66
|
|
_08011B5E:
|
|
ldr r2, _08011B6C
|
|
mov r0, sp
|
|
bl PrintFuncFileLine
|
|
_08011B66:
|
|
add sp, 0x100
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08011B6C: .4byte gUnknown_80D421C
|
|
thumb_func_end FatalErrorPrintFuncFileLine
|
|
|
|
thumb_func_start FatalErrorFormatMessage
|
|
FatalErrorFormatMessage:
|
|
push {r0-r3}
|
|
push {lr}
|
|
sub sp, 0x100
|
|
ldr r1, [sp, 0x104]
|
|
add r2, sp, 0x108
|
|
mov r0, sp
|
|
bl vsprintf
|
|
add sp, 0x100
|
|
pop {r3}
|
|
add sp, 0x10
|
|
bx r3
|
|
thumb_func_end FatalErrorFormatMessage
|
|
|
|
thumb_func_start sub_8011B88
|
|
sub_8011B88:
|
|
push {r0-r3}
|
|
push {lr}
|
|
sub sp, 0x100
|
|
ldr r1, [sp, 0x104]
|
|
add r2, sp, 0x108
|
|
mov r0, sp
|
|
bl vsprintf
|
|
add sp, 0x100
|
|
pop {r3}
|
|
add sp, 0x10
|
|
bx r3
|
|
thumb_func_end sub_8011B88
|
|
|
|
thumb_func_start nullsub_28
|
|
nullsub_28:
|
|
bx lr
|
|
thumb_func_end nullsub_28
|
|
|
|
thumb_func_start sub_8011BA4
|
|
sub_8011BA4:
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_8011BA4
|
|
|
|
thumb_func_start sub_8011BA8
|
|
sub_8011BA8:
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_8011BA8
|
|
|
|
thumb_func_start sub_8011BAC
|
|
sub_8011BAC:
|
|
ldr r0, _08011BB0
|
|
bx lr
|
|
.align 2, 0
|
|
_08011BB0: .4byte gUnknown_80D4288
|
|
thumb_func_end sub_8011BAC
|
|
|
|
thumb_func_start sub_8011BB4
|
|
sub_8011BB4:
|
|
push {lr}
|
|
bl Hang
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8011BB4
|
|
|
|
thumb_func_start Log
|
|
Log:
|
|
push {r1-r3}
|
|
add sp, 0xC
|
|
bx lr
|
|
thumb_func_end Log
|
|
|
|
thumb_func_start sub_8011BC8
|
|
sub_8011BC8:
|
|
push {r2,r3}
|
|
add sp, 0x8
|
|
bx lr
|
|
thumb_func_end sub_8011BC8
|
|
|
|
thumb_func_start nullsub_29
|
|
nullsub_29:
|
|
bx lr
|
|
thumb_func_end nullsub_29
|
|
|
|
thumb_func_start nullsub_30
|
|
nullsub_30:
|
|
bx lr
|
|
thumb_func_end nullsub_30
|
|
|
|
thumb_func_start nullsub_31
|
|
nullsub_31:
|
|
bx lr
|
|
thumb_func_end nullsub_31
|
|
|
|
thumb_func_start nullsub_32
|
|
nullsub_32:
|
|
bx lr
|
|
thumb_func_end nullsub_32
|
|
|
|
thumb_func_start FatalErrorHang
|
|
FatalErrorHang:
|
|
push {lr}
|
|
bl Hang
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end FatalErrorHang
|
|
|
|
thumb_func_start FatalError
|
|
FatalError:
|
|
push {r1-r3}
|
|
push {r4,lr}
|
|
sub sp, 0x100
|
|
adds r1, r0, 0
|
|
ldr r4, [sp, 0x108]
|
|
ldr r0, _08011C14
|
|
bl FatalErrorPrintFuncFileLine
|
|
add r2, sp, 0x10C
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl vsprintf
|
|
ldr r0, _08011C18
|
|
mov r1, sp
|
|
bl FatalErrorFormatMessage
|
|
bl FatalErrorHang
|
|
.align 2, 0
|
|
_08011C14: .4byte gUnknown_80D42C0
|
|
_08011C18: .4byte gUnknown_80D42D4
|
|
thumb_func_end FatalError
|
|
|
|
.align 2,0 @ Don't pad with nop
|