summaryrefslogtreecommitdiff
path: root/asm/code_80118A4.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_80118A4.s')
-rw-r--r--asm/code_80118A4.s545
1 files changed, 545 insertions, 0 deletions
diff --git a/asm/code_80118A4.s b/asm/code_80118A4.s
new file mode 100644
index 0000000..139f972
--- /dev/null
+++ b/asm/code_80118A4.s
@@ -0,0 +1,545 @@
+ .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