tmc/asm/non_matching/InitSaveHeader.inc

60 lines
1.0 KiB
PHP

.syntax unified
push {r4, lr}
bl CheckHeaderValid
cmp r0, #0
bne _080560F8
movs r0, #0x80
lsls r0, r0, #0x12
bl ReadSaveHeader
adds r1, r0, #0
movs r0, #1
rsbs r0, r0, #0
cmp r1, r0
blt _080560E4
cmp r1, #0
ble _080560E4
cmp r1, #1
bne _080560E4
bl CheckHeaderValid
cmp r0, #0
bne _080560F8
_080560E4:
ldr r0, _08056128 @ =sDefaultSettings
movs r4, #0x80
lsls r4, r4, #0x12
adds r1, r4, #0
movs r2, #0x10
bl MemCopy
adds r0, r4, #0
bl WriteSaveHeader
_080560F8:
ldr r2, _0805612C @ =gUnk_02000010
ldr r1, [r2]
ldr r0, _08056130 @ =0x4D435A33
eors r1, r0
rsbs r0, r1, #0
orrs r0, r1
lsrs r0, r0, #0x1f
ldrb r1, [r2, #4]
cmp r1, #0
beq _08056112
cmp r1, #0xc1
beq _08056112
movs r0, #1
_08056112:
cmp r0, #0
beq _08056124
ldr r4, _0805612C @ =gUnk_02000010
adds r0, r4, #0
movs r1, #0x20
bl MemClear
ldr r0, _08056130 @ =0x4D435A33
str r0, [r4]
_08056124:
pop {r4, pc}
.align 2, 0
_08056128: .4byte sDefaultSettings
_0805612C: .4byte gUnk_02000010
_08056130: .4byte 0x4D435A33
.syntax divided