mirror of https://github.com/zeldaret/tmc.git
237 lines
3.6 KiB
PHP
237 lines
3.6 KiB
PHP
.syntax unified
|
|
push {r4, lr}
|
|
bl sub_080A51F4
|
|
cmp r0, #0
|
|
bne _080A56AC
|
|
b _080A57F0
|
|
_080A56AC:
|
|
ldr r2, _080A56D0 @ =gMenu
|
|
ldr r0, _080A56D4 @ =gUnk_08128C00
|
|
str r0, [r2, #0xc]
|
|
ldrb r0, [r2, #3]
|
|
lsls r0, r0, #3
|
|
ldr r1, _080A56D8 @ =gUnk_08128C14
|
|
adds r4, r0, r1
|
|
movs r3, #0xff
|
|
ldr r0, _080A56DC @ =gInput
|
|
ldrh r1, [r0, #4]
|
|
cmp r1, #0x20
|
|
beq _080A56F2
|
|
cmp r1, #0x20
|
|
bgt _080A56E0
|
|
cmp r1, #0x10
|
|
beq _080A56F6
|
|
b _080A56F8
|
|
.align 2, 0
|
|
_080A56D0: .4byte gMenu
|
|
_080A56D4: .4byte gUnk_08128C00
|
|
_080A56D8: .4byte gUnk_08128C14
|
|
_080A56DC: .4byte gInput
|
|
_080A56E0:
|
|
cmp r1, #0x40
|
|
beq _080A56EA
|
|
cmp r1, #0x80
|
|
beq _080A56EE
|
|
b _080A56F8
|
|
_080A56EA:
|
|
ldrb r3, [r4]
|
|
b _080A56F8
|
|
_080A56EE:
|
|
ldrb r3, [r4, #1]
|
|
b _080A56F8
|
|
_080A56F2:
|
|
ldrb r3, [r4, #2]
|
|
b _080A56F8
|
|
_080A56F6:
|
|
ldrb r3, [r4, #3]
|
|
_080A56F8:
|
|
cmp r3, #0xff
|
|
beq _080A570C
|
|
ldr r0, _080A5708 @ =gMenu
|
|
strb r3, [r0, #3]
|
|
movs r0, #0x69
|
|
bl SoundReq
|
|
b _080A575E
|
|
.align 2, 0
|
|
_080A5708: .4byte gMenu
|
|
_080A570C:
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #1
|
|
bne _080A575E
|
|
ldrb r3, [r2, #3]
|
|
.ifdef DEMO_USA
|
|
movs r4, #0
|
|
.else
|
|
.ifdef DEMO_JP
|
|
movs r4, #0
|
|
.else
|
|
movs r1, #0
|
|
.endif
|
|
.endif
|
|
cmp r3, #2
|
|
beq _080A572E
|
|
cmp r3, #2
|
|
bhi _080A5724
|
|
cmp r3, #0
|
|
beq _080A572E
|
|
b _080A574E
|
|
_080A5724:
|
|
cmp r3, #4
|
|
beq _080A5748
|
|
cmp r3, #5
|
|
beq _080A574C
|
|
b _080A574E
|
|
_080A572E:
|
|
ldr r0, _080A5744 @ =gMenu
|
|
adds r0, #0x10
|
|
adds r0, r3, r0
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080A574E
|
|
.ifdef DEMO_USA
|
|
movs r4, #8
|
|
.else
|
|
.ifdef DEMO_JP
|
|
movs r4, #8
|
|
.else
|
|
movs r1, #8
|
|
.endif
|
|
.endif
|
|
cmp r3, #0
|
|
bne _080A574E
|
|
.ifdef DEMO_USA
|
|
movs r4, #7
|
|
.else
|
|
.ifdef DEMO_JP
|
|
movs r4, #7
|
|
.else
|
|
movs r1, #7
|
|
.endif
|
|
.endif
|
|
b _080A5752
|
|
.align 2, 0
|
|
_080A5744: .4byte gMenu
|
|
_080A5748:
|
|
.ifdef DEMO_USA
|
|
movs r0, #0x6d
|
|
bl SoundReq
|
|
b _080A574E
|
|
_080A574C:
|
|
movs r0, #0x6d
|
|
bl SoundReq
|
|
.else
|
|
.ifdef DEMO_JP
|
|
movs r0, #0x6d
|
|
bl SoundReq
|
|
b _080A574E
|
|
_080A574C:
|
|
movs r0, #0x6d
|
|
bl SoundReq
|
|
.else
|
|
movs r1, #9
|
|
b _080A5752
|
|
_080A574C:
|
|
movs r1, #0xa
|
|
.endif
|
|
.endif
|
|
_080A574E:
|
|
.ifdef DEMO_USA
|
|
cmp r4, #0
|
|
.else
|
|
.ifdef DEMO_JP
|
|
cmp r4, #0
|
|
.else
|
|
cmp r1, #0
|
|
.endif
|
|
.endif
|
|
beq _080A575E
|
|
_080A5752:
|
|
.ifdef DEMO_USA
|
|
adds r0, r4, #0
|
|
.else
|
|
.ifdef DEMO_JP
|
|
adds r0, r4, #0
|
|
.else
|
|
adds r0, r1, #0
|
|
.endif
|
|
.endif
|
|
bl sub_080A4E84
|
|
movs r0, #0x6a
|
|
bl SoundReq
|
|
_080A575E:
|
|
ldr r0, _080A5780 @ =gMenu
|
|
ldrb r1, [r0, #3]
|
|
adds r2, r0, #0
|
|
cmp r1, #0
|
|
beq _080A576C
|
|
cmp r1, #2
|
|
bne _080A5788
|
|
_080A576C:
|
|
adds r0, r2, #0
|
|
adds r0, #0x10
|
|
adds r0, r1, r0
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080A5788
|
|
ldr r1, _080A5784 @ =gUnk_0200AF00
|
|
movs r0, #0x10
|
|
b _080A578C
|
|
.align 2, 0
|
|
_080A5780: .4byte gMenu
|
|
_080A5784: .4byte gUnk_0200AF00
|
|
_080A5788:
|
|
ldr r1, _080A57AC @ =gUnk_0200AF00
|
|
ldr r0, _080A57B0 @ =0x0000FFF0
|
|
_080A578C:
|
|
strh r0, [r1, #0x1c]
|
|
ldrb r3, [r2, #3]
|
|
adds r0, r2, #0
|
|
adds r0, #0x10
|
|
adds r0, r3, r0
|
|
ldrb r2, [r0]
|
|
cmp r2, #0
|
|
beq _080A57E6
|
|
cmp r3, #5
|
|
bhi _080A57E6
|
|
lsls r0, r3, #2
|
|
ldr r1, _080A57B4 @ =_080A57B8
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080A57AC: .4byte gUnk_0200AF00
|
|
_080A57B0: .4byte 0x0000FFF0
|
|
_080A57B4: .4byte _080A57B8
|
|
_080A57B8: @ jump table
|
|
.4byte _080A57D0 @ case 0
|
|
.4byte _080A57D8 @ case 1
|
|
.4byte _080A57DC @ case 2
|
|
.4byte _080A57E6 @ case 3
|
|
.4byte _080A57E0 @ case 4
|
|
.4byte _080A57E4 @ case 5
|
|
_080A57D0:
|
|
cmp r2, #0x3d
|
|
beq _080A57E6
|
|
movs r2, #0x67
|
|
b _080A57E6
|
|
_080A57D8:
|
|
movs r2, #0x63
|
|
b _080A57E6
|
|
_080A57DC:
|
|
movs r2, #0x70
|
|
b _080A57E6
|
|
_080A57E0:
|
|
movs r2, #0x74
|
|
b _080A57E6
|
|
_080A57E4:
|
|
movs r2, #0x73
|
|
_080A57E6:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #3
|
|
adds r0, r2, r0
|
|
bl sub_080A6F6C
|
|
_080A57F0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
.syntax divided
|