diff options
Diffstat (limited to 'asm/code_80118A4.s')
-rw-r--r-- | asm/code_80118A4.s | 545 |
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 |