Merge master into sync-script

This commit is contained in:
GriffinR
2020-01-12 15:39:21 -05:00
84 changed files with 16393 additions and 35195 deletions
File diff suppressed because it is too large Load Diff
+51 -48
View File
@@ -1,4 +1,6 @@
.include "constants/gba_constants.inc"
.include "constants/misc_constants.inc"
.include "constants/version.inc"
.syntax unified
@@ -8,8 +10,8 @@
.arm
Start: @ 8000000
b Init
_start: @ 8000000
b start_vector
.include "asm/rom_header.inc"
@@ -32,33 +34,33 @@ GPIOPortReadEnable: @ 80000C8
@ 80000D0
@ TODO: figure out what this data is
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
@ 8000100
.global CartIdent
CartIdent:
.4byte GAME_VERSION
.4byte GAME_LANGUAGE
.game_name:
.ifdef FIRERED
.4byte 4
.4byte 2
.ascii "pokemon red version"
.space 13
.else
.ifdef LEAFGREEN
.4byte 5
.4byte 2
.ascii "pokemon green version"
.space 11
.endif
.endif
.space .game_name+0x20-.
.4byte gMonFrontPicTable
.4byte gMonBackPicTable
.4byte gMonPaletteTable
@@ -118,32 +120,32 @@ GPIOPortReadEnable: @ 80000C8
.arm
.align 2, 0
.global Init
Init:
.global start_vector
start_vector:
mov r0, PSR_IRQ_MODE
msr cpsr_cf, r0
ldr sp, sp_irq
mov r0, PSR_SYS_MODE
msr cpsr_cf, r0
ldr sp, sp_sys
ldr sp, sp_usr
ldr r1, =INTR_VECTOR
adr r0, IntrMain
adr r0, intr_main
str r0, [r1]
ldr r1, =AgbMain
mov lr, pc
bx r1
b Init
b start_vector
.align 2, 0
sp_sys: .word IWRAM_END - 0x1C0
sp_usr: .word IWRAM_END - 0x1C0
sp_irq: .word IWRAM_END - 0x60
.pool
.arm
.align 2, 0
.global IntrMain
IntrMain:
.global intr_main
intr_main:
mov r3, REG_BASE
add r3, r3, 0x200
ldr r2, [r3, OFFSET_REG_IE - 0x200]
@@ -155,56 +157,57 @@ IntrMain:
and r1, r2, r2, lsr 16
mov r12, 0
ands r0, r1, INTR_FLAG_VCOUNT
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
mov r0, 0x1
strh r0, [r3, OFFSET_REG_IME - 0x200]
ands r0, r1, INTR_FLAG_SERIAL
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER3
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_HBLANK
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_VBLANK
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER0
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER1
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER2
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA0
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA1
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA2
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA3
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_KEYPAD
bne IntrMain_FoundIntr
bne jump_intr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_GAMEPAK
strbne r0, [r3, OFFSET_REG_SOUNDCNT_X - 0x200]
bne . @ spin
IntrMain_FoundIntr:
loop:
bne loop @ spin
jump_intr:
strh r0, [r3, OFFSET_REG_IF - 0x200]
bic r2, r2, r0
ldr r0, =gRfuState
ldr r0, =gSTWIStatus
ldr r0, [r0]
ldrb r0, [r0, 0xA]
mov r1, 0x8
mov r1, INTR_FLAG_TIMER0
mov r0, r1, lsl r0
orr r0, r0, INTR_FLAG_GAMEPAK
orr r1, r0, INTR_FLAG_SERIAL | INTR_FLAG_TIMER3 | INTR_FLAG_VCOUNT | INTR_FLAG_HBLANK
@@ -218,9 +221,9 @@ IntrMain_FoundIntr:
add r1, r1, r12
ldr r0, [r1]
stmdb sp!, {lr}
adr lr, IntrMain_RetAddr
adr lr, intr_return
bx r0
IntrMain_RetAddr:
intr_return:
ldmia sp!, {lr}
mrs r3, cpsr
bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK
-6697
View File
File diff suppressed because it is too large Load Diff
+27 -27
View File
@@ -9,7 +9,7 @@
IntrSIO32: @ 81DFC50
mov r12, sp
stmdb sp!, {r11,r12,lr,pc}
ldr r3, _081DFCB0 @ =gRfuState
ldr r3, _081DFCB0 @ =gSTWIStatus
ldr r0, [r3]
ldr r2, [r0]
sub r11, r12, 0x4
@@ -19,7 +19,7 @@ IntrSIO32: @ 81DFC50
cmp r0, 0
ldmdbeq r11, {r11,sp,lr}
bxeq lr
bl sub_81E05AC
bl Callback_Dummy_ID
ldmdb r11, {r11,sp,lr}
bx lr
_081DFC8C:
@@ -34,7 +34,7 @@ _081DFCA4:
ldmdb r11, {r11,sp,lr}
bx lr
.align 2, 0
_081DFCB0: .4byte gRfuState
_081DFCB0: .4byte gSTWIStatus
arm_func_end IntrSIO32
arm_func_start sio32intr_clock_master
@@ -45,7 +45,7 @@ sio32intr_clock_master: @ 81DFCB4
sub r11, r12, 0x4
bl STWI_set_timer_in_RAM
mov r4, 0x120
ldr r2, _081DFF28 @ =gRfuState
ldr r2, _081DFF28 @ =gSTWIStatus
add r4, r4, 0x4000000
ldr lr, [r4]
ldr r12, [r2]
@@ -205,10 +205,10 @@ _081DFEFC:
beq _081DFF3C
ldrh r1, [r0, 0x12]
ldrb r0, [r0, 0x6]
bl sub_81E05A4
bl Callback_Dummy_M
b _081DFF3C
.align 2, 0
_081DFF28: .4byte gRfuState
_081DFF28: .4byte gSTWIStatus
_081DFF2C:
add r3, r5, 0x3
strh r3, [r4]
@@ -223,7 +223,7 @@ _081DFF3C:
sio32intr_clock_slave: @ 81DFF44
mov r12, sp
stmdb sp!, {r4-r6,r11,r12,lr,pc}
ldr r4, _081E02F0 @ =gRfuState
ldr r4, _081E02F0 @ =gSTWIStatus
mov r0, 0x64
ldr r3, [r4]
mov r6, 0
@@ -424,7 +424,7 @@ _081E01D0:
beq _081E0348
mov r0, 0x1EC
add r0, r0, 0x2
bl sub_81E05A8
bl Callback_Dummy_S
b _081E0348
_081E0244:
mov r3, 0x120
@@ -446,7 +446,7 @@ _081E0244:
ldrb r0, [r0, 0x6]
mov r1, r2
orr r0, r0, r3, lsl 8
bl sub_81E05A8
bl Callback_Dummy_S
b _081E0348
_081E0298:
mov r3, 0x208
@@ -473,7 +473,7 @@ _081E02E0:
bhi _081E02E0
b _081E031C
.align 2, 0
_081E02F0: .4byte gRfuState
_081E02F0: .4byte gSTWIStatus
_081E02F4: .4byte 0x996601ee
_081E02F8:
mov r2, 0xFF00
@@ -510,7 +510,7 @@ handshake_wait: @ 81E0350
mov r1, 0x128
add r1, r1, 0x4000000
mov r0, r0, lsl 16
ldr r2, _081E03B4 @ =gRfuState
ldr r2, _081E03B4 @ =gSTWIStatus
sub r11, r12, 0x4
mov lr, r0, lsr 14
ldr r12, [r2]
@@ -533,7 +533,7 @@ _081E03A0:
ldmdb r11, {r11,sp,lr}
bx lr
.align 2, 0
_081E03B4: .4byte gRfuState
_081E03B4: .4byte gSTWIStatus
arm_func_end handshake_wait
arm_func_start STWI_set_timer_in_RAM
@@ -544,7 +544,7 @@ STWI_set_timer_in_RAM: @ 81E03B8
add r1, r1, 0x4000000
mov r3, 0
sub r11, r12, 0x4
ldr r12, _081E0470 @ =gRfuState
ldr r12, _081E0470 @ =gSTWIStatus
and lr, r0, 0xFF
ldr r2, [r12]
cmp lr, 0x50
@@ -589,7 +589,7 @@ _081E0458:
mov r3, 0x3
b _081E0488
.align 2, 0
_081E0470: .4byte gRfuState
_081E0470: .4byte gSTWIStatus
_081E0474:
mvn r3, 0x850
sub r3, r3, 0x2
@@ -621,7 +621,7 @@ STWI_stop_timer_in_RAM: @ 81E04C8
mov r12, sp
stmdb sp!, {r11,r12,lr,pc}
mov r1, 0x100
ldr lr, _081E0514 @ =gRfuState
ldr lr, _081E0514 @ =gSTWIStatus
add r0, r1, 0x4000000
ldr r2, [lr]
sub r11, r12, 0x4
@@ -638,14 +638,14 @@ STWI_stop_timer_in_RAM: @ 81E04C8
ldmdb r11, {r11,sp,lr}
bx lr
.align 2, 0
_081E0514: .4byte gRfuState
_081E0514: .4byte gSTWIStatus
arm_func_end STWI_stop_timer_in_RAM
arm_func_start STWI_init_slave
STWI_init_slave: @ 81E0518
mov r12, sp
stmdb sp!, {r11,r12,lr,pc}
ldr r0, _081E05A0 @ =gRfuState
ldr r0, _081E05A0 @ =gSTWIStatus
ldr r2, [r0]
mov r3, 0x5
str r3, [r2]
@@ -678,20 +678,20 @@ STWI_init_slave: @ 81E0518
ldmdb r11, {r11,sp,lr}
bx lr
.align 2, 0
_081E05A0: .4byte gRfuState
_081E05A0: .4byte gSTWIStatus
arm_func_end STWI_init_slave
arm_func_start sub_81E05A4
sub_81E05A4: @ 81E05A4
arm_func_start Callback_Dummy_M
Callback_Dummy_M: @ 81E05A4
bx r2
arm_func_end sub_81E05A4
arm_func_end Callback_Dummy_M
arm_func_start sub_81E05A8
sub_81E05A8: @ 81E05A8
arm_func_start Callback_Dummy_S
Callback_Dummy_S: @ 81E05A8
bx r1
arm_func_end sub_81E05A8
arm_func_end Callback_Dummy_S
arm_func_start sub_81E05AC
sub_81E05AC: @ 81E05AC
arm_func_start Callback_Dummy_ID
Callback_Dummy_ID: @ 81E05AC
bx r0
arm_func_end sub_81E05AC
arm_func_end Callback_Dummy_ID
-1560
View File
File diff suppressed because it is too large Load Diff
+67 -67
View File
@@ -50,7 +50,7 @@ rfu_REQ_sendData_wrapper: @ 80FD3F0
push {lr}
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _080FD410 @ =gUnknown_3007460
ldr r0, _080FD410 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0
@@ -63,7 +63,7 @@ rfu_REQ_sendData_wrapper: @ 80FD3F0
movs r2, 0x1
b _080FD420
.align 2, 0
_080FD410: .4byte gUnknown_3007460
_080FD410: .4byte gRfuLinkStatus
_080FD414: .4byte gUnknown_3005E10
_080FD418:
ldr r0, _080FD42C @ =gUnknown_3005E10
@@ -383,7 +383,7 @@ _080FD648:
_080FD664: .4byte gUnknown_3005E10
_080FD668:
movs r2, 0
ldr r0, _080FD6B4 @ =gUnknown_3007460
ldr r0, _080FD6B4 @ =gRfuLinkStatus
ldr r1, [r0]
ldrb r3, [r1, 0x8]
ldr r5, _080FD6B8 @ =gUnknown_3005E10
@@ -422,7 +422,7 @@ _080FD6A2:
movs r0, 0x3
b _080FD6E8
.align 2, 0
_080FD6B4: .4byte gUnknown_3007460
_080FD6B4: .4byte gRfuLinkStatus
_080FD6B8: .4byte gUnknown_3005E10
_080FD6BC:
ldrb r0, [r5, 0x4]
@@ -476,7 +476,7 @@ sub_80FD6F4: @ 80FD6F4
bics r0, r1
strb r0, [r3]
movs r4, 0
ldr r7, _080FD75C @ =gUnknown_3007460
ldr r7, _080FD75C @ =gRfuLinkStatus
movs r5, 0x1
adds r3, 0x4
movs r2, 0
@@ -514,7 +514,7 @@ _080FD750:
bx r0
.align 2, 0
_080FD758: .4byte gUnknown_3005E10
_080FD75C: .4byte gUnknown_3007460
_080FD75C: .4byte gRfuLinkStatus
thumb_func_end sub_80FD6F4
thumb_func_start sub_80FD760
@@ -601,7 +601,7 @@ _080FD80A:
strb r0, [r5, 0x4]
ldrb r0, [r5, 0x12]
strb r0, [r5, 0x5]
ldr r4, _080FD82C @ =gUnknown_3007460
ldr r4, _080FD82C @ =gRfuLinkStatus
ldr r0, [r4]
ldrb r0, [r0, 0x3]
bl sub_80FE818
@@ -613,7 +613,7 @@ _080FD80A:
bl sub_80FE7F0
b _080FD84A
.align 2, 0
_080FD82C: .4byte gUnknown_3007460
_080FD82C: .4byte gRfuLinkStatus
_080FD830:
movs r0, 0x12
strb r0, [r5, 0x4]
@@ -653,7 +653,7 @@ sub_80FD850: @ 80FD850
mov r1, sp
adds r2, r5, 0
adds r3, r4, 0
bl sub_81E13F0
bl rfu_REQBN_watchLink
mov r0, sp
ldrb r0, [r0]
adds r7, r4, 0
@@ -743,7 +743,7 @@ _080FD90A:
_080FD91E:
bl sub_80FEAF4
_080FD922:
ldr r0, _080FDA0C @ =gUnknown_3007460
ldr r0, _080FDA0C @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -866,7 +866,7 @@ _080FD9FC:
pop {r1}
bx r1
.align 2, 0
_080FDA0C: .4byte gUnknown_3007460
_080FDA0C: .4byte gRfuLinkStatus
_080FDA10: .4byte gUnknown_3005E10
thumb_func_end sub_80FD850
@@ -1025,7 +1025,7 @@ _080FDB5C:
.align 2, 0
_080FDB70: .4byte gUnknown_3005E10
_080FDB74:
bl sub_81E0CAC
bl rfu_REQ_startSearchChild
b _080FDBDA
_080FDB7A:
bl rfu_REQ_pollSearchChild
@@ -1056,13 +1056,13 @@ _080FDBAE:
bl rfu_REQ_endConnectParent
b _080FDBDA
_080FDBB4:
ldr r0, _080FDBC0 @ =gUnknown_3007460
ldr r0, _080FDBC0 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x3]
bl rfu_REQ_CHILD_startConnectRecovery
b _080FDBDA
.align 2, 0
_080FDBC0: .4byte gUnknown_3007460
_080FDBC0: .4byte gRfuLinkStatus
_080FDBC4:
bl rfu_REQ_CHILD_pollConnectRecovery
b _080FDBDA
@@ -1089,7 +1089,7 @@ _080FDBE4:
bhi _080FDBF4
b _080FDA5A
_080FDBF4:
ldr r0, _080FDC24 @ =gUnknown_3007460
ldr r0, _080FDC24 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -1110,7 +1110,7 @@ _080FDC1A:
bx r0
.align 2, 0
_080FDC20: .4byte gUnknown_3005E10
_080FDC24: .4byte gUnknown_3007460
_080FDC24: .4byte gRfuLinkStatus
thumb_func_end sub_80FDA30
thumb_func_start sub_80FDC28
@@ -1387,7 +1387,7 @@ _080FDE64:
ldrh r0, [r4, 0x1A]
cmp r0, 0x1
beq _080FDE8A
ldr r0, _080FDEB0 @ =gUnknown_3007460
ldr r0, _080FDEB0 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x8]
cmp r0, 0x4
@@ -1419,7 +1419,7 @@ _080FDEA0:
b _080FE16E
.align 2, 0
_080FDEAC: .4byte gUnknown_3005E10
_080FDEB0: .4byte gUnknown_3007460
_080FDEB0: .4byte gRfuLinkStatus
_080FDEB4:
cmp r6, 0
beq _080FDEBA
@@ -1563,7 +1563,7 @@ _080FDFB4:
beq _080FDFBA
b _080FE16E
_080FDFBA:
ldr r2, _080FDFFC @ =gUnknown_3007460
ldr r2, _080FDFFC @ =gRfuLinkStatus
ldr r3, [r2]
ldrb r0, [r3, 0x3]
movs r1, 0
@@ -1600,7 +1600,7 @@ _080FDFEC:
beq _080FDFDC
b _080FE16E
.align 2, 0
_080FDFFC: .4byte gUnknown_3007460
_080FDFFC: .4byte gRfuLinkStatus
_080FE000:
cmp r6, 0
bne _080FE01E
@@ -1670,7 +1670,7 @@ _080FE078:
ldr r4, _080FE0B4 @ =gUnknown_3005E10
strb r6, [r4, 0x5]
strb r6, [r4, 0x4]
ldr r0, _080FE0B8 @ =gUnknown_3007460
ldr r0, _080FE0B8 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x3]
bl sub_80FE818
@@ -1697,7 +1697,7 @@ _080FE08C:
b _080FE16E
.align 2, 0
_080FE0B4: .4byte gUnknown_3005E10
_080FE0B8: .4byte gUnknown_3007460
_080FE0B8: .4byte gRfuLinkStatus
_080FE0BC:
cmp r6, 0
bne _080FE16E
@@ -1758,7 +1758,7 @@ _080FE0E8:
strb r7, [r5, 0x5]
strb r7, [r5, 0x4]
bl sub_80FEAF4
ldr r0, _080FE158 @ =gUnknown_3007460
ldr r0, _080FE158 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -1772,7 +1772,7 @@ _080FE0E8:
bl sub_80FE7F0
b _080FE16E
.align 2, 0
_080FE158: .4byte gUnknown_3007460
_080FE158: .4byte gRfuLinkStatus
_080FE15C:
cmp r6, 0
bne _080FE16E
@@ -1811,7 +1811,7 @@ _080FE194:
ldrb r0, [r0]
cmp r0, 0
bne _080FE1CA
ldr r4, _080FE1E0 @ =gUnknown_3007460
ldr r4, _080FE1E0 @ =gRfuLinkStatus
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0
@@ -1839,7 +1839,7 @@ _080FE1D2:
_080FE1DC:
b _080FE322
.align 2, 0
_080FE1E0: .4byte gUnknown_3007460
_080FE1E0: .4byte gRfuLinkStatus
_080FE1E4:
mov r0, r8
cmp r0, 0x30
@@ -1906,7 +1906,7 @@ _080FE24E:
strb r0, [r3]
movs r3, 0
adds r7, r1, 0
ldr r2, _080FE2AC @ =gUnknown_3007460
ldr r2, _080FE2AC @ =gRfuLinkStatus
mov r1, sp
movs r5, 0x1
adds r4, r7, 0
@@ -1947,7 +1947,7 @@ _080FE27A:
b _080FE2C2
.align 2, 0
_080FE2A8: .4byte gUnknown_3005E10
_080FE2AC: .4byte gUnknown_3007460
_080FE2AC: .4byte gRfuLinkStatus
_080FE2B0:
ldrb r0, [r7, 0x4]
subs r0, 0x6
@@ -1980,7 +1980,7 @@ _080FE2D6:
b _080FE322
_080FE2E6:
bl sub_80FE6F0
ldr r0, _080FE300 @ =gUnknown_3007460
ldr r0, _080FE300 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0xFF
@@ -1990,7 +1990,7 @@ _080FE2E6:
bl sub_80FE7F0
b _080FE322
.align 2, 0
_080FE300: .4byte gUnknown_3007460
_080FE300: .4byte gRfuLinkStatus
_080FE304:
cmp r6, 0
bne _080FE326
@@ -2018,7 +2018,7 @@ _080FE326:
ldrb r0, [r7, 0x7]
cmp r0, 0x4
bne _080FE358
ldr r2, _080FE354 @ =gUnknown_3007460
ldr r2, _080FE354 @ =gRfuLinkStatus
ldr r1, [r2]
movs r0, 0x1
strb r0, [r1]
@@ -2030,7 +2030,7 @@ _080FE326:
b _080FE388
.align 2, 0
_080FE350: .4byte gUnknown_3005E10
_080FE354: .4byte gUnknown_3007460
_080FE354: .4byte gRfuLinkStatus
_080FE358:
movs r1, 0
mov r3, r8
@@ -2075,7 +2075,7 @@ sub_80FE394: @ 80FE394
strb r0, [r4, 0xE]
movs r0, 0x1
strb r0, [r4, 0xF]
ldr r0, _080FE3CC @ =gUnknown_3007460
ldr r0, _080FE3CC @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r5, [r0]
cmp r5, 0
@@ -2091,7 +2091,7 @@ sub_80FE394: @ 80FE394
b _080FE40C
.align 2, 0
_080FE3C8: .4byte gUnknown_3005E10
_080FE3CC: .4byte gUnknown_3007460
_080FE3CC: .4byte gRfuLinkStatus
_080FE3D0:
mov r0, sp
bl rfu_UNI_PARENT_getDRAC_ACK
@@ -2148,7 +2148,7 @@ sub_80FE418: @ 80FE418
bls _080FE436
b _080FE62A
_080FE436:
ldr r0, _080FE4A0 @ =gUnknown_3007460
ldr r0, _080FE4A0 @ =gRfuLinkStatus
ldr r2, [r0]
ldrb r1, [r2, 0x2]
ldrb r0, [r3, 0xC]
@@ -2201,7 +2201,7 @@ _080FE46C:
b _080FE574
.align 2, 0
_080FE49C: .4byte gUnknown_3005E10
_080FE4A0: .4byte gUnknown_3007460
_080FE4A0: .4byte gRfuLinkStatus
_080FE4A4:
ldrb r1, [r7]
adds r0, r4, 0
@@ -2224,7 +2224,7 @@ _080FE4BE:
mov r10, r2
cmp r0, 0
beq _080FE574
ldr r0, _080FE518 @ =gUnknown_3007450
ldr r0, _080FE518 @ =gRfuSlotStatusNI
lsls r1, r6, 2
adds r1, r0
ldr r1, [r1]
@@ -2242,7 +2242,7 @@ _080FE4BE:
ldr r0, _080FE51C @ =0x0000ffff
cmp r2, r0
beq _080FE508
ldr r0, _080FE520 @ =gUnknown_3007460
ldr r0, _080FE520 @ =gRfuLinkStatus
ldr r0, [r0]
lsls r1, r6, 5
adds r0, r1
@@ -2264,9 +2264,9 @@ _080FE508:
orrs r5, r0
b _080FE53C
.align 2, 0
_080FE518: .4byte gUnknown_3007450
_080FE518: .4byte gRfuSlotStatusNI
_080FE51C: .4byte 0x0000ffff
_080FE520: .4byte gUnknown_3007460
_080FE520: .4byte gRfuLinkStatus
_080FE524:
lsls r1, r6, 1
adds r0, r3, 0
@@ -2331,7 +2331,7 @@ _080FE592:
cmp r0, 0
beq _080FE5CE
movs r5, 0x1
ldr r0, _080FE600 @ =gUnknown_3007460
ldr r0, _080FE600 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x6]
cmp r0, 0
@@ -2378,7 +2378,7 @@ _080FE5CE:
.align 2, 0
_080FE5F8: .4byte 0x0000ffff
_080FE5FC: .4byte gUnknown_3005E10
_080FE600: .4byte gUnknown_3007460
_080FE600: .4byte gRfuLinkStatus
_080FE604:
cmp r0, 0x2
bne _080FE610
@@ -2435,7 +2435,7 @@ sub_80FE63C: @ 80FE63C
lsls r0, 16
cmp r0, 0
beq _080FE676
ldr r1, _080FE6E8 @ =gUnknown_3007450
ldr r1, _080FE6E8 @ =gRfuSlotStatusNI
ldrb r0, [r4, 0x10]
lsls r0, 2
adds r0, r1
@@ -2481,7 +2481,7 @@ _080FE6B6:
bne _080FE6DA
strb r4, [r5, 0x5]
strb r4, [r5, 0x4]
ldr r0, _080FE6EC @ =gUnknown_3007460
ldr r0, _080FE6EC @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -2498,8 +2498,8 @@ _080FE6DA:
.align 2, 0
_080FE6E0: .4byte 0x04000208
_080FE6E4: .4byte gUnknown_3005E10
_080FE6E8: .4byte gUnknown_3007450
_080FE6EC: .4byte gUnknown_3007460
_080FE6E8: .4byte gRfuSlotStatusNI
_080FE6EC: .4byte gRfuLinkStatus
thumb_func_end sub_80FE63C
thumb_func_start sub_80FE6F0
@@ -2509,7 +2509,7 @@ sub_80FE6F0: @ 80FE6F0
ldrb r0, [r5, 0x4]
cmp r0, 0xF
bne _080FE73C
ldr r1, _080FE748 @ =gUnknown_3007450
ldr r1, _080FE748 @ =gRfuSlotStatusNI
ldrb r2, [r5, 0x10]
lsls r0, r2, 2
adds r0, r1
@@ -2546,7 +2546,7 @@ _080FE73C:
bx r0
.align 2, 0
_080FE744: .4byte gUnknown_3005E10
_080FE748: .4byte gUnknown_3007450
_080FE748: .4byte gRfuSlotStatusNI
thumb_func_end sub_80FE6F0
thumb_func_start sub_80FE74C
@@ -2585,7 +2585,7 @@ sub_80FE778: @ 80FE778
push {r5-r7}
movs r6, 0
movs r5, 0
ldr r1, _080FE7E4 @ =gUnknown_3007460
ldr r1, _080FE7E4 @ =gRfuLinkStatus
ldr r0, [r1]
ldrb r0, [r0, 0x8]
cmp r6, r0
@@ -2638,7 +2638,7 @@ _080FE7D4:
pop {r1}
bx r1
.align 2, 0
_080FE7E4: .4byte gUnknown_3007460
_080FE7E4: .4byte gRfuLinkStatus
_080FE7E8: .4byte gUnknown_3005E10
_080FE7EC: .4byte 0x0000ffff
thumb_func_end sub_80FE778
@@ -2690,14 +2690,14 @@ sub_80FE83C: @ 80FE83C
push {r4-r7,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r0, _080FE908 @ =gUnknown_3007460
ldr r0, _080FE908 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x4]
cmp r0, 0
beq _080FE884
movs r4, 0
_080FE84E:
ldr r1, _080FE90C @ =gUnknown_3007450
ldr r1, _080FE90C @ =gRfuSlotStatusNI
lsls r0, r4, 2
adds r0, r1
ldr r2, [r0]
@@ -2725,14 +2725,14 @@ _080FE87A:
cmp r4, 0x3
bls _080FE84E
_080FE884:
ldr r0, _080FE908 @ =gUnknown_3007460
ldr r0, _080FE908 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x5]
cmp r0, 0
beq _080FE8C2
movs r4, 0
_080FE890:
ldr r1, _080FE90C @ =gUnknown_3007450
ldr r1, _080FE90C @ =gRfuSlotStatusNI
lsls r0, r4, 2
adds r0, r1
ldr r2, [r0]
@@ -2758,7 +2758,7 @@ _080FE8B8:
cmp r4, 0x3
bls _080FE890
_080FE8C2:
ldr r0, _080FE908 @ =gUnknown_3007460
ldr r0, _080FE908 @ =gRfuLinkStatus
ldr r3, [r0]
ldrb r2, [r3, 0x6]
cmp r2, 0
@@ -2768,7 +2768,7 @@ _080FE8C2:
ands r0, r2
strb r0, [r3, 0x6]
movs r4, 0
ldr r7, _080FE910 @ =gUnknown_3007440
ldr r7, _080FE910 @ =gRfuSlotStatusUNI
ldr r6, _080FE914 @ =0x00008024
_080FE8DA:
lsls r0, r4, 2
@@ -2796,9 +2796,9 @@ _080FE900:
pop {r0}
bx r0
.align 2, 0
_080FE908: .4byte gUnknown_3007460
_080FE90C: .4byte gUnknown_3007450
_080FE910: .4byte gUnknown_3007440
_080FE908: .4byte gRfuLinkStatus
_080FE90C: .4byte gRfuSlotStatusNI
_080FE910: .4byte gRfuSlotStatusUNI
_080FE914: .4byte 0x00008024
thumb_func_end sub_80FE83C
@@ -2814,14 +2814,14 @@ sub_80FE918: @ 80FE918
ldrh r0, [r0, 0x18]
cmp r0, 0
beq _080FE9F4
ldr r0, _080FEA08 @ =gUnknown_3007460
ldr r0, _080FEA08 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x4]
cmp r0, 0
beq _080FE9B8
movs r6, 0
_080FE938:
ldr r3, _080FEA0C @ =gUnknown_3007450
ldr r3, _080FEA0C @ =gRfuSlotStatusNI
lsls r2, r6, 2
adds r0, r2, r3
ldr r0, [r0]
@@ -2889,14 +2889,14 @@ _080FE9AE:
cmp r6, 0x3
bls _080FE938
_080FE9B8:
ldr r0, _080FEA08 @ =gUnknown_3007460
ldr r0, _080FEA08 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x5]
cmp r0, 0
beq _080FE9F4
movs r6, 0
_080FE9C4:
ldr r1, _080FEA0C @ =gUnknown_3007450
ldr r1, _080FEA0C @ =gRfuSlotStatusNI
lsls r0, r6, 2
adds r0, r1
ldr r2, [r0]
@@ -2931,8 +2931,8 @@ _080FE9F4:
bx r0
.align 2, 0
_080FEA04: .4byte gUnknown_3005E10
_080FEA08: .4byte gUnknown_3007460
_080FEA0C: .4byte gUnknown_3007450
_080FEA08: .4byte gRfuLinkStatus
_080FEA0C: .4byte gRfuSlotStatusNI
thumb_func_end sub_80FE918
thumb_func_start sub_80FEA10
@@ -3002,7 +3002,7 @@ sub_80FEA78: @ 80FEA78
push {lr}
lsls r0, 16
lsrs r2, r0, 16
ldr r0, _080FEA94 @ =gUnknown_3007460
ldr r0, _080FEA94 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r0, 0x4]
ldrb r0, [r0, 0x5]
@@ -3014,7 +3014,7 @@ sub_80FEA78: @ 80FEA78
movs r0, 0
b _080FEAAC
.align 2, 0
_080FEA94: .4byte gUnknown_3007460
_080FEA94: .4byte gRfuLinkStatus
_080FEA98: .4byte gUnknown_3005E10
_080FEA9C:
ldr r1, _080FEAB0 @ =gUnknown_3005E10
+66 -66
View File
@@ -132,12 +132,12 @@ _080F86F0: .4byte 0x04000208
thumb_func_start sub_80F86F4
sub_80F86F4: @ 80F86F4
push {r4,lr}
ldr r0, _080F8728 @ =gUnknown_3001190
ldr r0, _080F8728 @ =gRfuAPIBuffer
ldr r1, _080F872C @ =0x00000e64
ldr r4, _080F8730 @ =gIntrTable + 0x4
adds r2, r4, 0
movs r3, 0x1
bl sub_81E05B0
bl rfu_initializeAPI
lsls r0, 16
lsrs r1, r0, 16
cmp r1, 0
@@ -155,7 +155,7 @@ _080F8722:
pop {r0}
bx r0
.align 2, 0
_080F8728: .4byte gUnknown_3001190
_080F8728: .4byte gRfuAPIBuffer
_080F872C: .4byte 0x00000e64
_080F8730: .4byte gIntrTable + 0x4
_080F8734: .4byte gLinkType
@@ -871,7 +871,7 @@ _080F8D2A:
bge _080F8D2A
bl rfu_REQ_recvData
bl rfu_waitREQComplete
ldr r1, _080F8D94 @ =gUnknown_3007440
ldr r1, _080F8D94 @ =gRfuSlotStatusUNI
ldr r3, _080F8D90 @ =gUnknown_3005450
ldr r0, _080F8D98 @ =0x000008f6
adds r4, r3, r0
@@ -911,7 +911,7 @@ _080F8D84:
bx r0
.align 2, 0
_080F8D90: .4byte gUnknown_3005450
_080F8D94: .4byte gUnknown_3007440
_080F8D94: .4byte gRfuSlotStatusUNI
_080F8D98: .4byte 0x000008f6
_080F8D9C: .4byte 0x00000988
_080F8DA0: .4byte 0x000008f7
@@ -1074,7 +1074,7 @@ sub_80F8ECC: @ 80F8ECC
ldrh r0, [r4, 0x4]
cmp r0, 0x7
bne _080F8F08
ldr r0, _080F8F00 @ =gUnknown_3007460
ldr r0, _080F8F00 @ =gRfuLinkStatus
ldr r1, [r0]
ldr r2, _080F8F04 @ =0x000008f5
adds r0, r4, r2
@@ -1093,7 +1093,7 @@ sub_80F8ECC: @ 80F8ECC
b _080F8F0A
.align 2, 0
_080F8EFC: .4byte gUnknown_3005450
_080F8F00: .4byte gUnknown_3007460
_080F8F00: .4byte gRfuLinkStatus
_080F8F04: .4byte 0x000008f5
_080F8F08:
movs r0, 0
@@ -1363,7 +1363,7 @@ _080F90D8: .4byte 0x000008f2
thumb_func_start IsRfuRecvQueueEmpty
IsRfuRecvQueueEmpty: @ 80F90DC
push {r4,lr}
ldr r0, _080F90EC @ =gUnknown_3007460
ldr r0, _080F90EC @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x6]
cmp r0, 0
@@ -1372,7 +1372,7 @@ _080F90E8:
movs r0, 0
b _080F9110
.align 2, 0
_080F90EC: .4byte gUnknown_3007460
_080F90EC: .4byte gRfuLinkStatus
_080F90F0:
movs r3, 0
ldr r4, _080F9118 @ =gRecvCmds
@@ -1422,7 +1422,7 @@ _080F913C:
strb r0, [r1]
ldr r0, _080F919C @ =0x0000099a
adds r1, r6, r0
ldr r0, _080F91A0 @ =gUnknown_3007460
ldr r0, _080F91A0 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r1]
ldrb r0, [r0, 0x2]
@@ -1460,7 +1460,7 @@ _080F913C:
.align 2, 0
_080F9198: .4byte 0x00000993
_080F919C: .4byte 0x0000099a
_080F91A0: .4byte gUnknown_3007460
_080F91A0: .4byte gRfuLinkStatus
_080F91A4: .4byte 0x00000994
_080F91A8: .4byte 0x0000099b
_080F91AC: .4byte 0x0000099c
@@ -1815,7 +1815,7 @@ _080F947E:
adds r0, r6, r1
ldrb r0, [r0]
adds r1, r0, 0
ldr r0, _080F94A0 @ =gUnknown_3007460
ldr r0, _080F94A0 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x6]
cmp r0, 0
@@ -1826,7 +1826,7 @@ _080F947E:
.align 2, 0
_080F9498: .4byte 0x00000994
_080F949C: .4byte gUnknown_3005450
_080F94A0: .4byte gUnknown_3007460
_080F94A0: .4byte gRfuLinkStatus
_080F94A4:
movs r0, 0
b _080F94AA
@@ -1950,7 +1950,7 @@ _080F9538:
ldrb r0, [r0]
cmp r0, 0
beq _080F95E4
ldr r0, _080F964C @ =gUnknown_3007460
ldr r0, _080F964C @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -2042,7 +2042,7 @@ _080F963C: .4byte gRecvCmds
_080F9640: .4byte gUnknown_3005E10
_080F9644: .4byte gUnknown_3005450
_080F9648: .4byte 0x0000099c
_080F964C: .4byte gUnknown_3007460
_080F964C: .4byte gRfuLinkStatus
_080F9650: .4byte gReceivedRemoteLinkPlayers
_080F9654: .4byte 0x00000988
_080F9658: .4byte gSendCmd
@@ -2435,7 +2435,7 @@ _080F9902:
beq _080F9914
b _080F9C40
_080F9914:
ldr r0, _080F9944 @ =gUnknown_3007460
ldr r0, _080F9944 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
mov r6, r8
@@ -2458,7 +2458,7 @@ _080F9924:
.align 2, 0
_080F993C: .4byte gUnknown_3005450
_080F9940: .4byte gReceivedRemoteLinkPlayers
_080F9944: .4byte gUnknown_3007460
_080F9944: .4byte gRfuLinkStatus
_080F9948: .4byte gRecvCmds + 2
_080F994C: .4byte gRecvCmds + 4
_080F9950: .4byte gUnknown_3005DD6
@@ -2688,7 +2688,7 @@ _080F9B00:
ldr r0, _080F9B54 @ =gRecvCmds + 2
adds r4, r5, r0
ldrh r1, [r4]
ldr r0, _080F9B58 @ =gUnknown_3007460
ldr r0, _080F9B58 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0, 0x2]
ands r1, r0
@@ -2715,7 +2715,7 @@ _080F9B38:
_080F9B4C: .4byte gUnknown_3005450
_080F9B50: .4byte gReceivedRemoteLinkPlayers
_080F9B54: .4byte gRecvCmds + 2
_080F9B58: .4byte gUnknown_3007460
_080F9B58: .4byte gRfuLinkStatus
_080F9B5C: .4byte gRecvCmds + 4
_080F9B60: .4byte 0x0000099c
_080F9B64: .4byte gRecvCmds
@@ -3502,7 +3502,7 @@ _080FA13C: .4byte gUnknown_3005450
thumb_func_start sub_80FA140
sub_80FA140: @ 80FA140
push {lr}
ldr r0, _080FA15C @ =gUnknown_3007460
ldr r0, _080FA15C @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -3513,7 +3513,7 @@ sub_80FA140: @ 80FA140
pop {r0}
bx r0
.align 2, 0
_080FA15C: .4byte gUnknown_3007460
_080FA15C: .4byte gRfuLinkStatus
thumb_func_end sub_80FA140
thumb_func_start sub_80FA160
@@ -3552,7 +3552,7 @@ sub_80FA190: @ 80FA190
adds r1, r2, r0
movs r0, 0x1
strb r0, [r1]
ldr r0, _080FA1BC @ =gUnknown_3007460
ldr r0, _080FA1BC @ =gRfuLinkStatus
ldr r1, [r0]
ldrb r0, [r1, 0x2]
ldrb r1, [r1, 0x3]
@@ -3565,7 +3565,7 @@ sub_80FA190: @ 80FA190
.align 2, 0
_080FA1B4: .4byte gUnknown_3005450
_080FA1B8: .4byte 0x0000099c
_080FA1BC: .4byte gUnknown_3007460
_080FA1BC: .4byte gRfuLinkStatus
_080FA1C0: .4byte 0x0000099b
thumb_func_end sub_80FA190
@@ -4065,7 +4065,7 @@ _080FA53A:
lsrs r0, 24
cmp r0, 0x1
bls _080FA5C2
ldr r1, _080FA5A0 @ =gUnknown_3007450
ldr r1, _080FA5A0 @ =gRfuSlotStatusNI
lsls r0, r5, 2
adds r0, r1
ldr r0, [r0]
@@ -4103,7 +4103,7 @@ _080FA55E:
_080FA594: .4byte gUnknown_3005450
_080FA598: .4byte 0x000008f6
_080FA59C: .4byte 0x00000989
_080FA5A0: .4byte gUnknown_3007450
_080FA5A0: .4byte gRfuSlotStatusNI
_080FA5A4: .4byte 0x0000098d
_080FA5A8:
mov r2, r8
@@ -4300,7 +4300,7 @@ sub_80FA6FC: @ 80FA6FC
movs r0, 0x2
b _080FA732
_080FA718:
ldr r1, _080FA72C @ =gUnknown_3007450
ldr r1, _080FA72C @ =gRfuSlotStatusNI
lsls r0, 2
adds r0, r1
ldr r0, [r0]
@@ -4310,7 +4310,7 @@ _080FA718:
movs r0, 0
b _080FA732
.align 2, 0
_080FA72C: .4byte gUnknown_3007450
_080FA72C: .4byte gRfuSlotStatusNI
_080FA730:
movs r0, 0x1
_080FA732:
@@ -4327,7 +4327,7 @@ sub_80FA738: @ 80FA738
ldr r1, _080FA780 @ =0x0000098d
adds r5, r0, r1
_080FA746:
ldr r1, _080FA784 @ =gUnknown_3007450
ldr r1, _080FA784 @ =gRfuSlotStatusNI
lsls r0, r4, 2
adds r0, r1
ldr r0, [r0]
@@ -4358,7 +4358,7 @@ _080FA770:
.align 2, 0
_080FA77C: .4byte gUnknown_3005450
_080FA780: .4byte 0x0000098d
_080FA784: .4byte gUnknown_3007450
_080FA784: .4byte gRfuSlotStatusNI
thumb_func_end sub_80FA738
thumb_func_start sub_80FA788
@@ -4371,7 +4371,7 @@ sub_80FA788: @ 80FA788
ldrb r0, [r0]
cmp r0, 0x8
bne _080FA7C2
ldr r2, _080FA808 @ =gUnknown_3007450
ldr r2, _080FA808 @ =gRfuSlotStatusNI
ldr r0, _080FA80C @ =0x000008f6
adds r1, r0
ldrb r0, [r1]
@@ -4393,7 +4393,7 @@ _080FA7BA:
movs r0, 0x4
bl rfu_clearSlot
_080FA7C2:
ldr r2, _080FA808 @ =gUnknown_3007450
ldr r2, _080FA808 @ =gRfuSlotStatusNI
ldr r5, _080FA800 @ =gUnknown_3005450
ldr r0, _080FA80C @ =0x000008f6
adds r1, r5, r0
@@ -4425,7 +4425,7 @@ _080FA7E6:
.align 2, 0
_080FA800: .4byte gUnknown_3005450
_080FA804: .4byte 0x0000093d
_080FA808: .4byte gUnknown_3007450
_080FA808: .4byte gRfuSlotStatusNI
_080FA80C: .4byte 0x000008f6
_080FA810: .4byte 0x0000093e
_080FA814:
@@ -5772,7 +5772,7 @@ _080FB21E:
ands r0, r1
cmp r0, 0
beq _080FB286
ldr r0, _080FB274 @ =gUnknown_3007460
ldr r0, _080FB274 @ =gRfuLinkStatus
lsls r1, r5, 5
adds r1, 0x14
ldr r0, [r0]
@@ -5803,7 +5803,7 @@ _080FB21E:
_080FB268: .4byte gUnknown_3005E10
_080FB26C: .4byte gUnknown_3005450
_080FB270: .4byte 0x0000098d
_080FB274: .4byte gUnknown_3007460
_080FB274: .4byte gRfuLinkStatus
_080FB278: .4byte 0x00000989
_080FB27C:
mov r0, r8
@@ -6216,7 +6216,7 @@ sub_80FB5A0: @ 80FB5A0
movs r3, 0
movs r2, 0
movs r4, 0x1
ldr r6, _080FB5E8 @ =gUnknown_3007460
ldr r6, _080FB5E8 @ =gRfuLinkStatus
movs r7, 0x7F
_080FB5AE:
adds r0, r5, 0
@@ -6249,7 +6249,7 @@ _080FB5D4:
pop {r1}
bx r1
.align 2, 0
_080FB5E8: .4byte gUnknown_3007460
_080FB5E8: .4byte gRfuLinkStatus
thumb_func_end sub_80FB5A0
thumb_func_start sub_80FB5EC
@@ -6601,7 +6601,7 @@ _080FB894:
adds r1, 0xF0
movs r0, 0x3
strb r0, [r1]
ldr r0, _080FB8B8 @ =gUnknown_3007460
ldr r0, _080FB8B8 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0
@@ -6615,7 +6615,7 @@ _080FB8AA:
b _080FB9C0
.align 2, 0
_080FB8B4: .4byte gUnknown_3005450
_080FB8B8: .4byte gUnknown_3007460
_080FB8B8: .4byte gRfuLinkStatus
_080FB8BC: .4byte 0x000008f4
_080FB8C0:
ldr r0, _080FB900 @ =gUnknown_3005450
@@ -6674,7 +6674,7 @@ _080FB916:
movs r0, 0
bl sub_80FD760
_080FB934:
ldr r0, _080FB96C @ =gUnknown_3007460
ldr r0, _080FB96C @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0xFF
@@ -6700,7 +6700,7 @@ _080FB95A:
.align 2, 0
_080FB964: .4byte 0x0000099c
_080FB968: .4byte gReceivedRemoteLinkPlayers
_080FB96C: .4byte gUnknown_3007460
_080FB96C: .4byte gRfuLinkStatus
_080FB970: .4byte gUnknown_3005E10
_080FB974: .4byte sub_80F8B34
_080FB978: .4byte gUnknown_3005450
@@ -7108,7 +7108,7 @@ sub_80FBC70: @ 80FBC70
movs r0, 0xFF
mov r9, r0
movs r7, 0
ldr r1, _080FBCF4 @ =gUnknown_3007460
ldr r1, _080FBCF4 @ =gRfuLinkStatus
mov r8, r1
_080FBC8E:
lsls r4, r7, 5
@@ -7162,7 +7162,7 @@ _080FBCE2:
pop {r1}
bx r1
.align 2, 0
_080FBCF4: .4byte gUnknown_3007460
_080FBCF4: .4byte gRfuLinkStatus
thumb_func_end sub_80FBC70
thumb_func_start sub_80FBCF8
@@ -7391,7 +7391,7 @@ sub_80FBE80: @ 80FBE80
lsrs r2, r0, 24
cmp r2, 0xFF
beq _080FBF18
ldr r0, _080FBEDC @ =gUnknown_3007460
ldr r0, _080FBEDC @ =gRfuLinkStatus
ldr r0, [r0]
lsls r1, r2, 5
adds r0, r1
@@ -7408,7 +7408,7 @@ sub_80FBE80: @ 80FBE80
b _080FBF10
.align 2, 0
_080FBED8: .4byte gTasks+0x8
_080FBEDC: .4byte gUnknown_3007460
_080FBEDC: .4byte gRfuLinkStatus
_080FBEE0: .4byte gUnknown_3005450
_080FBEE4: .4byte 0x000008f5
_080FBEE8:
@@ -7638,7 +7638,7 @@ _080FC070:
beq _080FC108
movs r1, 0xA
ldrsh r0, [r4, r1]
ldr r7, _080FC0F4 @ =gUnknown_3007460
ldr r7, _080FC0F4 @ =gRfuLinkStatus
lsls r4, r2, 5
adds r2, r4, 0
adds r2, 0x14
@@ -7670,7 +7670,7 @@ _080FC0E4: .4byte gTasks
_080FC0E8: .4byte 0x00000985
_080FC0EC: .4byte gUnknown_3005E10
_080FC0F0: .4byte 0x00000119
_080FC0F4: .4byte gUnknown_3007460
_080FC0F4: .4byte gRfuLinkStatus
_080FC0F8:
movs r1, 0xE0
lsls r1, 7
@@ -7845,7 +7845,7 @@ sub_80FC228: @ 80FC228
movs r2, 0x13
movs r3, 0x2
bl nullsub_88
ldr r4, _080FC2F8 @ =gUnknown_3007460
ldr r4, _080FC2F8 @ =gRfuLinkStatus
ldr r0, [r4]
ldrb r0, [r0, 0x2]
movs r1, 0x14
@@ -7934,7 +7934,7 @@ _080FC2CE:
bl nullsub_87
b _080FC436
.align 2, 0
_080FC2F8: .4byte gUnknown_3007460
_080FC2F8: .4byte gRfuLinkStatus
_080FC2FC: .4byte gUnknown_3005450
_080FC300: .4byte gUnknown_843EE64
_080FC304:
@@ -7969,7 +7969,7 @@ _080FC318:
adds r6, 0x1
cmp r6, 0x3
ble _080FC318
ldr r5, _080FC394 @ =gUnknown_3007460
ldr r5, _080FC394 @ =gRfuLinkStatus
ldr r1, [r5]
ldr r4, _080FC398 @ =gUnknown_3005450
ldr r0, _080FC39C @ =0x000008f6
@@ -8004,12 +8004,12 @@ _080FC318:
.align 2, 0
_080FC38C: .4byte gUnknown_843EE47
_080FC390: .4byte gUnknown_843EE57
_080FC394: .4byte gUnknown_3007460
_080FC394: .4byte gRfuLinkStatus
_080FC398: .4byte gUnknown_3005450
_080FC39C: .4byte 0x000008f6
_080FC3A0:
movs r6, 0
ldr r1, _080FC440 @ =gUnknown_3007460
ldr r1, _080FC440 @ =gRfuLinkStatus
ldr r0, [r1]
ldrb r0, [r0, 0x8]
cmp r6, r0
@@ -8088,7 +8088,7 @@ _080FC436:
pop {r0}
bx r0
.align 2, 0
_080FC440: .4byte gUnknown_3007460
_080FC440: .4byte gRfuLinkStatus
_080FC444: .4byte gUnknown_843EE47
_080FC448: .4byte gUnknown_843EE57
thumb_func_end sub_80FC228
@@ -9032,7 +9032,7 @@ sub_80FCADC: @ 80FCADC
lsls r0, 24
lsrs r5, r0, 24
movs r6, 0
ldr r0, _080FCB04 @ =gUnknown_3007460
ldr r0, _080FCB04 @ =gRfuLinkStatus
ldr r4, [r0]
ldrb r2, [r4, 0x2]
ldrb r1, [r4]
@@ -9048,7 +9048,7 @@ sub_80FCADC: @ 80FCADC
ldrb r0, [r4, 0xA]
b _080FCB4C
.align 2, 0
_080FCB04: .4byte gUnknown_3007460
_080FCB04: .4byte gRfuLinkStatus
_080FCB08:
adds r0, r6, 0x1
lsls r0, 24
@@ -9234,7 +9234,7 @@ sub_80FCC3C: @ 80FCC3C
bne _080FCC98
movs r0, 0x1
mov r9, r0
ldr r6, _080FCC94 @ =gUnknown_3007460
ldr r6, _080FCC94 @ =gRfuLinkStatus
ldr r0, [r6]
lsls r4, r5, 5
adds r0, r4
@@ -9261,11 +9261,11 @@ _080FCC78:
b _080FCCE4
.align 2, 0
_080FCC90: .4byte gUnknown_3005E10
_080FCC94: .4byte gUnknown_3007460
_080FCC94: .4byte gRfuLinkStatus
_080FCC98:
movs r0, 0
mov r9, r0
ldr r6, _080FCCCC @ =gUnknown_3007460
ldr r6, _080FCCCC @ =gRfuLinkStatus
ldr r0, [r6]
lsls r4, r5, 5
adds r0, r4
@@ -9288,7 +9288,7 @@ _080FCCB0:
bl memcpy
b _080FCCE4
.align 2, 0
_080FCCCC: .4byte gUnknown_3007460
_080FCCCC: .4byte gRfuLinkStatus
_080FCCD0:
adds r0, r7, 0
movs r1, 0
@@ -9315,7 +9315,7 @@ sub_80FCCF4: @ 80FCCF4
adds r5, r1, 0
lsls r2, 24
movs r7, 0
ldr r6, _080FCD2C @ =gUnknown_3007460
ldr r6, _080FCD2C @ =gRfuLinkStatus
ldr r0, [r6]
lsrs r4, r2, 19
adds r2, r0, r4
@@ -9337,7 +9337,7 @@ sub_80FCCF4: @ 80FCCF4
movs r7, 0x1
b _080FCD48
.align 2, 0
_080FCD2C: .4byte gUnknown_3007460
_080FCD2C: .4byte gRfuLinkStatus
_080FCD30: .4byte 0x00007f7d
_080FCD34:
adds r0, r3, 0
@@ -9388,7 +9388,7 @@ CreateWirelessStatusIndicatorSprite: @ 80FCD74
movs r3, 0xE7
movs r2, 0x8
_080FCD8A:
ldr r0, _080FCDCC @ =gUnknown_3007460
ldr r0, _080FCDCC @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -9420,7 +9420,7 @@ _080FCD8A:
strb r5, [r0]
b _080FCE2A
.align 2, 0
_080FCDCC: .4byte gUnknown_3007460
_080FCDCC: .4byte gRfuLinkStatus
_080FCDD0: .4byte gUnknown_843F284
_080FCDD4: .4byte gSprites
_080FCDD8: .4byte 0x00001234
@@ -9551,7 +9551,7 @@ _080FCEE0: .4byte gUnknown_203ACE4
thumb_func_start sub_80FCEE4
sub_80FCEE4: @ 80FCEE4
push {r4,lr}
ldr r1, _080FCF04 @ =gUnknown_3007460
ldr r1, _080FCF04 @ =gRfuLinkStatus
ldr r0, [r1]
ldrb r2, [r0, 0x2]
movs r3, 0
@@ -9567,7 +9567,7 @@ _080FCEF0:
ldrb r0, [r0]
b _080FCF16
.align 2, 0
_080FCF04: .4byte gUnknown_3007460
_080FCF04: .4byte gRfuLinkStatus
_080FCF08:
lsrs r2, 1
adds r0, r3, 0x1
@@ -9626,7 +9626,7 @@ _080FCF5C:
adds r6, r2, 0
movs r5, 0xFF
movs r4, 0
ldr r0, _080FCF84 @ =gUnknown_3007460
ldr r0, _080FCF84 @ =gRfuLinkStatus
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -9641,7 +9641,7 @@ _080FCF5C:
_080FCF78: .4byte gUnknown_203ACE4
_080FCF7C: .4byte gSprites
_080FCF80: .4byte 0x00001234
_080FCF84: .4byte gUnknown_3007460
_080FCF84: .4byte gRfuLinkStatus
_080FCF88:
adds r0, r4, 0x1
lsls r0, 24
+2 -2
View File
@@ -10493,7 +10493,7 @@ _0811AFF8:
_0811AFFA:
cmp r4, 0x3
bgt _0811B030
ldr r0, _0811B044 @ =gUnknown_3007460
ldr r0, _0811B044 @ =gRfuLinkStatus
ldr r0, [r0]
lsls r1, r4, 5
adds r0, r1
@@ -10526,7 +10526,7 @@ _0811B030:
bl StringCopy
b _0811B080
.align 2, 0
_0811B044: .4byte gUnknown_3007460
_0811B044: .4byte gRfuLinkStatus
_0811B048: .4byte gSpeciesNames
_0811B04C: .4byte gUnknown_8457DB8
_0811B050:
-477
View File
@@ -1,477 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80A0A48
sub_80A0A48: @ 80A0A48
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r3, r2, 0
lsls r4, 16
lsrs r4, 16
lsls r5, 16
lsrs r5, 16
lsls r3, 24
lsrs r3, 24
ldr r0, _080A0A6C @ =sub_80A0B0C
adds r1, r4, 0
adds r2, r5, 0
bl sub_80A0AC0
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080A0A6C: .4byte sub_80A0B0C
thumb_func_end sub_80A0A48
thumb_func_start sub_80A0A70
sub_80A0A70: @ 80A0A70
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r3, r2, 0
lsls r4, 16
lsrs r4, 16
lsls r5, 16
lsrs r5, 16
lsls r3, 24
lsrs r3, 24
ldr r0, _080A0A94 @ =sub_80A0C78
adds r1, r4, 0
adds r2, r5, 0
bl sub_80A0AC0
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080A0A94: .4byte sub_80A0C78
thumb_func_end sub_80A0A70
thumb_func_start sub_80A0A98
sub_80A0A98: @ 80A0A98
push {lr}
ldr r0, _080A0AA8 @ =sub_80A0B0C
bl FuncIsActiveTask
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.align 2, 0
_080A0AA8: .4byte sub_80A0B0C
thumb_func_end sub_80A0A98
thumb_func_start sub_80A0AAC
sub_80A0AAC: @ 80A0AAC
push {lr}
ldr r0, _080A0ABC @ =sub_80A0C78
bl FuncIsActiveTask
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.align 2, 0
_080A0ABC: .4byte sub_80A0C78
thumb_func_end sub_80A0AAC
thumb_func_start sub_80A0AC0
sub_80A0AC0: @ 80A0AC0
push {r4,r5,lr}
lsls r1, 16
lsrs r4, r1, 16
adds r5, r4, 0
lsls r3, 24
lsrs r3, 24
adds r1, r3, 0
bl CreateTask
lsls r0, 24
lsrs r0, 24
adds r2, r0, 0
ldr r1, _080A0B08 @ =gTasks
lsls r0, r2, 2
adds r0, r2
lsls r0, 3
adds r1, r0, r1
movs r0, 0
strh r0, [r1, 0x8]
movs r0, 0x10
cmp r4, 0
beq _080A0AEE
adds r0, r4, 0
_080A0AEE:
strh r0, [r1, 0xA]
movs r0, 0x14
cmp r5, 0
beq _080A0AF8
adds r0, r5, 0
_080A0AF8:
strh r0, [r1, 0xC]
ldr r1, [r1]
adds r0, r2, 0
bl _call_via_r1
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080A0B08: .4byte gTasks
thumb_func_end sub_80A0AC0
thumb_func_start sub_80A0B0C
sub_80A0B0C: @ 80A0B0C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
ldr r1, _080A0B30 @ =gTasks
adds r4, r0, r1
movs r1, 0x8
ldrsh r0, [r4, r1]
cmp r0, 0x1
beq _080A0B8C
cmp r0, 0x1
bgt _080A0B34
cmp r0, 0
beq _080A0B3E
b _080A0C5A
.align 2, 0
_080A0B30: .4byte gTasks
_080A0B34:
cmp r0, 0x2
beq _080A0BAE
cmp r0, 0x3
beq _080A0C10
b _080A0C5A
_080A0B3E:
movs r0, 0x78
strh r0, [r4, 0xE]
strh r0, [r4, 0x10]
movs r0, 0x50
strh r0, [r4, 0x12]
movs r0, 0x51
strh r0, [r4, 0x14]
movs r1, 0x80
lsls r1, 6
movs r0, 0
bl SetGpuRegBits
ldrh r1, [r4, 0xE]
lsls r1, 8
ldrh r0, [r4, 0x10]
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x40
bl SetGpuReg
ldrh r1, [r4, 0x12]
lsls r1, 8
ldrh r0, [r4, 0x14]
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x44
bl SetGpuReg
movs r0, 0x48
movs r1, 0x3F
bl SetGpuReg
movs r0, 0x4A
movs r1, 0
bl SetGpuReg
b _080A0C6A
_080A0B8C:
movs r0, 0x50
bl GetGpuReg
strh r0, [r4, 0x16]
movs r0, 0x54
bl GetGpuReg
strh r0, [r4, 0x18]
movs r0, 0x50
movs r1, 0xBF
bl SetGpuReg
movs r0, 0x54
movs r1, 0x10
bl SetGpuReg
b _080A0C6A
_080A0BAE:
ldrh r0, [r4, 0xE]
ldrh r1, [r4, 0xA]
subs r0, r1
movs r5, 0
strh r0, [r4, 0xE]
ldrh r2, [r4, 0x10]
adds r1, r2
strh r1, [r4, 0x10]
lsls r0, 16
cmp r0, 0
ble _080A0BCC
lsls r0, r1, 16
asrs r0, 16
cmp r0, 0xEF
ble _080A0BF2
_080A0BCC:
strh r5, [r4, 0xE]
movs r0, 0xF0
strh r0, [r4, 0x10]
movs r0, 0x54
movs r1, 0
bl SetGpuReg
ldrh r1, [r4, 0x16]
movs r0, 0x50
bl SetGpuReg
movs r0, 0x1
negs r0, r0
movs r1, 0
movs r2, 0
bl BlendPalettes
ldr r0, _080A0C0C @ =gPlttBufferFaded
strh r5, [r0]
_080A0BF2:
ldrh r1, [r4, 0xE]
lsls r1, 8
ldrh r0, [r4, 0x10]
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x40
bl SetGpuReg
movs r1, 0xE
ldrsh r0, [r4, r1]
b _080A0C54
.align 2, 0
_080A0C0C: .4byte gPlttBufferFaded
_080A0C10:
ldrh r0, [r4, 0x12]
ldrh r1, [r4, 0xC]
subs r0, r1
strh r0, [r4, 0x12]
ldrh r2, [r4, 0x14]
adds r1, r2
strh r1, [r4, 0x14]
lsls r0, 16
cmp r0, 0
ble _080A0C2C
lsls r0, r1, 16
asrs r0, 16
cmp r0, 0x9F
ble _080A0C3E
_080A0C2C:
movs r0, 0
strh r0, [r4, 0x12]
movs r0, 0xA0
strh r0, [r4, 0x14]
movs r1, 0x80
lsls r1, 6
movs r0, 0
bl ClearGpuRegBits
_080A0C3E:
ldrh r1, [r4, 0x12]
lsls r1, 8
ldrh r0, [r4, 0x14]
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x44
bl SetGpuReg
movs r1, 0x12
ldrsh r0, [r4, r1]
_080A0C54:
cmp r0, 0
bne _080A0C70
b _080A0C6A
_080A0C5A:
ldrh r1, [r4, 0x16]
movs r0, 0x50
bl SetGpuReg
adds r0, r5, 0
bl DestroyTask
b _080A0C70
_080A0C6A:
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
_080A0C70:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80A0B0C
thumb_func_start sub_80A0C78
sub_80A0C78: @ 80A0C78
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
ldr r1, _080A0C9C @ =gTasks
adds r4, r0, r1
movs r0, 0x8
ldrsh r1, [r4, r0]
cmp r1, 0x1
beq _080A0CB4
cmp r1, 0x1
bgt _080A0CA0
cmp r1, 0
beq _080A0CAA
b _080A0DA8
.align 2, 0
_080A0C9C: .4byte gTasks
_080A0CA0:
cmp r1, 0x2
beq _080A0D02
cmp r1, 0x3
beq _080A0D54
b _080A0DA8
_080A0CAA:
ldr r0, _080A0CB0 @ =gPlttBufferFaded
strh r1, [r0]
b _080A0DCA
.align 2, 0
_080A0CB0: .4byte gPlttBufferFaded
_080A0CB4:
movs r1, 0
strh r1, [r4, 0xE]
movs r0, 0xF0
strh r0, [r4, 0x10]
strh r1, [r4, 0x12]
movs r0, 0xA0
strh r0, [r4, 0x14]
movs r1, 0x80
lsls r1, 6
movs r0, 0
bl SetGpuRegBits
ldrh r1, [r4, 0xE]
lsls r1, 8
ldrh r0, [r4, 0x10]
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x40
bl SetGpuReg
ldrh r1, [r4, 0x12]
lsls r1, 8
ldrh r0, [r4, 0x14]
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x44
bl SetGpuReg
movs r0, 0x48
movs r1, 0x3F
bl SetGpuReg
movs r0, 0x4A
movs r1, 0
bl SetGpuReg
b _080A0DCA
_080A0D02:
ldrh r0, [r4, 0xC]
ldrh r2, [r4, 0x12]
adds r1, r0, r2
strh r1, [r4, 0x12]
ldrh r2, [r4, 0x14]
subs r0, r2, r0
strh r0, [r4, 0x14]
lsls r1, 16
asrs r1, 16
cmp r1, 0x4F
bgt _080A0D20
lsls r0, 16
asrs r0, 16
cmp r0, 0x51
bgt _080A0D38
_080A0D20:
movs r0, 0x50
strh r0, [r4, 0x12]
movs r0, 0x51
strh r0, [r4, 0x14]
movs r0, 0x50
movs r1, 0xBF
bl SetGpuReg
movs r0, 0x54
movs r1, 0x10
bl SetGpuReg
_080A0D38:
ldrh r1, [r4, 0x12]
lsls r1, 8
ldrh r0, [r4, 0x14]
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x44
bl SetGpuReg
movs r1, 0x12
ldrsh r0, [r4, r1]
cmp r0, 0x50
bne _080A0DD0
b _080A0DCA
_080A0D54:
ldrh r0, [r4, 0xA]
ldrh r2, [r4, 0xE]
adds r1, r0, r2
strh r1, [r4, 0xE]
ldrh r2, [r4, 0x10]
subs r0, r2, r0
strh r0, [r4, 0x10]
lsls r1, 16
asrs r1, 16
cmp r1, 0x77
bgt _080A0D72
lsls r0, 16
asrs r0, 16
cmp r0, 0x78
bgt _080A0D88
_080A0D72:
movs r0, 0x78
strh r0, [r4, 0xE]
strh r0, [r4, 0x10]
subs r0, 0x79
movs r1, 0x10
movs r2, 0
bl BlendPalettes
ldr r1, _080A0DA4 @ =gPlttBufferFaded
movs r0, 0
strh r0, [r1]
_080A0D88:
ldrh r1, [r4, 0xE]
lsls r1, 8
ldrh r0, [r4, 0x10]
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0x40
bl SetGpuReg
movs r1, 0xE
ldrsh r0, [r4, r1]
cmp r0, 0x78
bne _080A0DD0
b _080A0DCA
.align 2, 0
_080A0DA4: .4byte gPlttBufferFaded
_080A0DA8:
movs r1, 0x80
lsls r1, 6
movs r0, 0
bl ClearGpuRegBits
movs r0, 0x54
movs r1, 0
bl SetGpuReg
movs r0, 0x50
movs r1, 0
bl SetGpuReg
adds r0, r5, 0
bl DestroyTask
b _080A0DD0
_080A0DCA:
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
_080A0DD0:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80A0C78
.align 2, 0 @ Don't pad with nop.
+4 -4
View File
@@ -5755,7 +5755,7 @@ sub_8137578: @ 8137578
bl GetNature
lsls r0, 24
lsrs r6, r0, 24
ldr r1, _081375F0 @ =gNatureNames
ldr r1, _081375F0 @ =gNatureNamePointers
lsls r0, r6, 2
adds r0, r1
ldr r1, [r0]
@@ -5796,7 +5796,7 @@ _081375B2:
.align 2, 0
_081375E8: .4byte gUnknown_203B140
_081375EC: .4byte 0x00003290
_081375F0: .4byte gNatureNames
_081375F0: .4byte gNatureNamePointers
_081375F4:
ldr r0, [r7]
ldr r1, _08137614 @ =0x00003024
@@ -5952,7 +5952,7 @@ sub_8137724: @ 8137724
bl GetNature
lsls r0, 24
lsrs r6, r0, 24
ldr r1, _081377A8 @ =gNatureNames
ldr r1, _081377A8 @ =gNatureNamePointers
lsls r0, r6, 2
adds r0, r1
ldr r1, [r0]
@@ -5997,7 +5997,7 @@ _08137790:
.align 2, 0
_081377A0: .4byte gUnknown_203B140
_081377A4: .4byte 0x00003290
_081377A8: .4byte gNatureNames
_081377A8: .4byte gNatureNamePointers
_081377AC:
cmp r5, 0xFF
bne _081377D0
-13825
View File
File diff suppressed because it is too large Load Diff
-535
View File
@@ -1,535 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start HealPlayerParty
HealPlayerParty: @ 80A0058
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
movs r0, 0
mov r8, r0
ldr r0, _080A0114 @ =gPlayerPartyCount
ldrb r0, [r0]
cmp r8, r0
bcs _080A0104
ldr r1, _080A0118 @ =gPlayerParty
mov r10, r1
mov r6, sp
_080A0076:
movs r0, 0x64
mov r4, r8
muls r4, r0
add r4, r10
adds r0, r4, 0
movs r1, 0x3A
bl GetMonData
lsls r1, r0, 16
strb r0, [r6]
lsrs r1, 24
strb r1, [r6, 0x1]
adds r0, r4, 0
movs r1, 0x39
mov r2, sp
bl SetMonData
adds r0, r4, 0
movs r1, 0x15
bl GetMonData
lsls r0, 24
lsrs r7, r0, 24
movs r5, 0
movs r1, 0x1
add r1, r8
mov r9, r1
_080A00AC:
adds r1, r5, 0
adds r1, 0xD
adds r0, r4, 0
bl GetMonData
lsls r0, 16
lsrs r0, 16
adds r1, r7, 0
adds r2, r5, 0
bl CalculatePPWithBonus
strb r0, [r6]
adds r1, r5, 0
adds r1, 0x11
adds r0, r4, 0
mov r2, sp
bl SetMonData
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x3
bls _080A00AC
movs r0, 0
strb r0, [r6]
strb r0, [r6, 0x1]
strb r0, [r6, 0x2]
strb r0, [r6, 0x3]
movs r1, 0x64
mov r0, r8
muls r0, r1
add r0, r10
movs r1, 0x37
mov r2, sp
bl SetMonData
mov r1, r9
lsls r0, r1, 24
lsrs r0, 24
mov r8, r0
ldr r0, _080A0114 @ =gPlayerPartyCount
ldrb r0, [r0]
cmp r8, r0
bcc _080A0076
_080A0104:
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080A0114: .4byte gPlayerPartyCount
_080A0118: .4byte gPlayerParty
thumb_func_end HealPlayerParty
thumb_func_start ScriptGiveMon
ScriptGiveMon: @ 80A011C
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x14
adds r6, r0, 0
adds r4, r1, 0
adds r5, r2, 0
lsls r6, 16
lsrs r6, 16
lsls r4, 24
lsrs r4, 24
lsls r5, 16
lsrs r0, r5, 16
mov r8, r0
movs r0, 0x64
bl AllocZeroed
adds r7, r0, 0
movs r0, 0
str r0, [sp]
str r0, [sp, 0x4]
str r0, [sp, 0x8]
str r0, [sp, 0xC]
adds r0, r7, 0
adds r1, r6, 0
adds r2, r4, 0
movs r3, 0x20
bl CreateMon
add r0, sp, 0x10
mov r1, r8
strb r1, [r0]
lsrs r5, 24
strb r5, [r0, 0x1]
adds r0, r7, 0
movs r1, 0xC
add r2, sp, 0x10
bl SetMonData
adds r0, r7, 0
bl GiveMonToPlayer
lsls r0, 24
lsrs r4, r0, 24
adds r0, r6, 0
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r5, r0, 16
cmp r4, 0x1
bgt _080A0196
cmp r4, 0
blt _080A0196
adds r0, r5, 0
movs r1, 0x2
bl GetSetPokedexFlag
adds r0, r5, 0
movs r1, 0x3
bl GetSetPokedexFlag
_080A0196:
adds r0, r7, 0
bl Free
adds r0, r4, 0
add sp, 0x14
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end ScriptGiveMon
thumb_func_start ScriptGiveEgg
ScriptGiveEgg: @ 80A01AC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
movs r0, 0x64
bl AllocZeroed
adds r5, r0, 0
adds r1, r4, 0
movs r2, 0x1
bl CreateEgg
movs r1, 0x1
mov r0, sp
strb r1, [r0]
adds r0, r5, 0
movs r1, 0x2D
mov r2, sp
bl SetMonData
adds r0, r5, 0
bl GiveMonToPlayer
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
adds r0, r5, 0
bl Free
adds r0, r4, 0
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end ScriptGiveEgg
thumb_func_start HasEnoughMonsForDoubleBattle
HasEnoughMonsForDoubleBattle: @ 80A01F4
push {lr}
bl GetMonsStateToDoubles
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x1
beq _080A0210
cmp r1, 0x1
bgt _080A020C
cmp r1, 0
beq _080A0210
b _080A0214
_080A020C:
cmp r1, 0x2
bne _080A0214
_080A0210:
ldr r0, _080A0218 @ =gSpecialVar_Result
strh r1, [r0]
_080A0214:
pop {r0}
bx r0
.align 2, 0
_080A0218: .4byte gSpecialVar_Result
thumb_func_end HasEnoughMonsForDoubleBattle
thumb_func_start CheckPartyMonHasHeldItem
CheckPartyMonHasHeldItem: @ 80A021C
push {r4-r7,lr}
lsls r0, 16
lsrs r6, r0, 16
movs r5, 0
movs r7, 0xCE
lsls r7, 1
_080A0228:
movs r0, 0x64
adds r1, r5, 0
muls r1, r0
ldr r0, _080A0258 @ =gPlayerParty
adds r4, r1, r0
adds r0, r4, 0
movs r1, 0x41
bl GetMonData
lsls r0, 16
lsrs r0, 16
cmp r0, 0
beq _080A025C
cmp r0, r7
beq _080A025C
adds r0, r4, 0
movs r1, 0xC
bl GetMonData
cmp r0, r6
bne _080A025C
movs r0, 0x1
b _080A0264
.align 2, 0
_080A0258: .4byte gPlayerParty
_080A025C:
adds r5, 0x1
cmp r5, 0x5
ble _080A0228
movs r0, 0
_080A0264:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end CheckPartyMonHasHeldItem
thumb_func_start GetNameOfEnigmaBerryInPlayerParty
GetNameOfEnigmaBerryInPlayerParty: @ 80A026C
push {r4,lr}
movs r0, 0xAF
bl CheckPartyMonHasHeldItem
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
cmp r4, 0x1
bne _080A028E
movs r0, 0xAF
bl ItemIdToBerryType
lsls r0, 24
lsrs r0, 24
ldr r1, _080A0298 @ =gStringVar1
bl GetBerryNameByBerryType
_080A028E:
adds r0, r4, 0
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080A0298: .4byte gStringVar1
thumb_func_end GetNameOfEnigmaBerryInPlayerParty
thumb_func_start CreateScriptedWildMon
CreateScriptedWildMon: @ 80A029C
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x14
adds r4, r0, 0
adds r5, r1, 0
lsls r4, 16
lsrs r4, 16
lsls r5, 24
lsrs r5, 24
lsls r7, r2, 16
lsrs r6, r7, 16
bl ZeroEnemyPartyMons
ldr r0, _080A02F8 @ =gEnemyParty
mov r8, r0
movs r0, 0
str r0, [sp]
str r0, [sp, 0x4]
str r0, [sp, 0x8]
str r0, [sp, 0xC]
mov r0, r8
adds r1, r4, 0
adds r2, r5, 0
movs r3, 0x20
bl CreateMon
cmp r6, 0
beq _080A02EA
add r0, sp, 0x10
strb r6, [r0]
adds r1, r0, 0
lsrs r0, r7, 24
strb r0, [r1, 0x1]
mov r0, r8
movs r1, 0xC
add r2, sp, 0x10
bl SetMonData
_080A02EA:
add sp, 0x14
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080A02F8: .4byte gEnemyParty
thumb_func_end CreateScriptedWildMon
thumb_func_start ScriptSetMonMoveSlot
ScriptSetMonMoveSlot: @ 80A02FC
push {r4,lr}
lsls r0, 24
lsrs r3, r0, 24
lsls r1, 16
lsrs r4, r1, 16
lsls r2, 24
lsrs r2, 24
cmp r3, 0x6
bls _080A0318
ldr r0, _080A032C @ =gPlayerPartyCount
ldrb r0, [r0]
subs r0, 0x1
lsls r0, 24
lsrs r3, r0, 24
_080A0318:
movs r0, 0x64
muls r0, r3
ldr r1, _080A0330 @ =gPlayerParty
adds r0, r1
adds r1, r4, 0
bl SetMonMoveSlot
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080A032C: .4byte gPlayerPartyCount
_080A0330: .4byte gPlayerParty
thumb_func_end ScriptSetMonMoveSlot
thumb_func_start ChooseHalfPartyForBattle
ChooseHalfPartyForBattle: @ 80A0334
push {lr}
ldr r1, _080A0348 @ =gMain
ldr r0, _080A034C @ =sub_80A0350
str r0, [r1, 0x8]
movs r0, 0
bl InitChooseHalfPartyForBattle
pop {r0}
bx r0
.align 2, 0
_080A0348: .4byte gMain
_080A034C: .4byte sub_80A0350
thumb_func_end ChooseHalfPartyForBattle
thumb_func_start sub_80A0350
sub_80A0350: @ 80A0350
push {lr}
ldr r0, _080A0360 @ =gSelectedOrderFromParty
ldrb r1, [r0]
cmp r1, 0
bne _080A0368
ldr r0, _080A0364 @ =gSpecialVar_Result
strh r1, [r0]
b _080A036E
.align 2, 0
_080A0360: .4byte gSelectedOrderFromParty
_080A0364: .4byte gSpecialVar_Result
_080A0368:
ldr r1, _080A0378 @ =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_080A036E:
ldr r0, _080A037C @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r0}
bx r0
.align 2, 0
_080A0378: .4byte gSpecialVar_Result
_080A037C: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_80A0350
thumb_func_start ChooseBattleTowerPlayerParty
ChooseBattleTowerPlayerParty: @ 80A0380
push {lr}
ldr r1, _080A0394 @ =gMain
ldr r0, _080A0398 @ =sub_80A039C
str r0, [r1, 0x8]
movs r0, 0x1
bl InitChooseHalfPartyForBattle
pop {r0}
bx r0
.align 2, 0
_080A0394: .4byte gMain
_080A0398: .4byte sub_80A039C
thumb_func_end ChooseBattleTowerPlayerParty
thumb_func_start sub_80A039C
sub_80A039C: @ 80A039C
push {r4,lr}
ldr r0, _080A03B0 @ =gSelectedOrderFromParty
ldrb r4, [r0]
cmp r4, 0
bne _080A03B8
bl LoadPlayerParty
ldr r0, _080A03B4 @ =gSpecialVar_Result
strh r4, [r0]
b _080A03C2
.align 2, 0
_080A03B0: .4byte gSelectedOrderFromParty
_080A03B4: .4byte gSpecialVar_Result
_080A03B8:
bl ReducePlayerPartyToThree
ldr r1, _080A03D0 @ =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_080A03C2:
ldr r0, _080A03D4 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080A03D0: .4byte gSpecialVar_Result
_080A03D4: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
thumb_func_end sub_80A039C
thumb_func_start ReducePlayerPartyToThree
ReducePlayerPartyToThree: @ 80A03D8
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x4
movs r0, 0x96
lsls r0, 1
bl AllocZeroed
adds r7, r0, 0
movs r5, 0
movs r0, 0x64
mov r8, r0
ldr r6, _080A0454 @ =gPlayerParty
adds r4, r7, 0
_080A03F4:
ldr r0, _080A0458 @ =gSelectedOrderFromParty
adds r1, r5, r0
ldrb r0, [r1]
cmp r0, 0
beq _080A040E
subs r0, 0x1
mov r1, r8
muls r1, r0
adds r1, r6
adds r0, r4, 0
movs r2, 0x64
bl memcpy
_080A040E:
adds r4, 0x64
adds r5, 0x1
cmp r5, 0x2
ble _080A03F4
movs r0, 0
str r0, [sp]
ldr r4, _080A0454 @ =gPlayerParty
ldr r2, _080A045C @ =0x05000096
mov r0, sp
adds r1, r4, 0
bl CpuSet
adds r5, r7, 0
adds r6, r7, 0
adds r6, 0xC8
_080A042C:
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0x64
bl memcpy
adds r5, 0x64
adds r4, 0x64
cmp r5, r6
ble _080A042C
bl CalculatePlayerPartyCount
adds r0, r7, 0
bl Free
add sp, 0x4
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080A0454: .4byte gPlayerParty
_080A0458: .4byte gSelectedOrderFromParty
_080A045C: .4byte 0x05000096
thumb_func_end ReducePlayerPartyToThree
.align 2, 0 @ Don't pad with nop.
-422
View File
@@ -1,422 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Special_ChooseMonFromParty
Special_ChooseMonFromParty: @ 80BF8FC
push {lr}
sub sp, 0x4
bl ScriptContext2_Enable
ldr r0, _080BF934 @ =sub_80BF97C
movs r1, 0xA
bl CreateTask
lsls r0, 24
lsrs r0, 24
ldr r2, _080BF938 @ =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
movs r2, 0
movs r0, 0x3
strh r0, [r1, 0x8]
subs r0, 0x4
str r2, [sp]
movs r1, 0
movs r3, 0x10
bl BeginNormalPaletteFade
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_080BF934: .4byte sub_80BF97C
_080BF938: .4byte gTasks
thumb_func_end Special_ChooseMonFromParty
thumb_func_start SelectMoveTutorMon
SelectMoveTutorMon: @ 80BF93C
push {lr}
sub sp, 0x4
bl ScriptContext2_Enable
ldr r0, _080BF974 @ =sub_80BF97C
movs r1, 0xA
bl CreateTask
lsls r0, 24
lsrs r0, 24
ldr r2, _080BF978 @ =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
movs r2, 0
movs r0, 0x7
strh r0, [r1, 0x8]
subs r0, 0x8
str r2, [sp]
movs r1, 0
movs r3, 0x10
bl BeginNormalPaletteFade
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_080BF974: .4byte sub_80BF97C
_080BF978: .4byte gTasks
thumb_func_end SelectMoveTutorMon
thumb_func_start sub_80BF97C
sub_80BF97C: @ 80BF97C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r2, _080BF9B4 @ =gPaletteFade
ldrb r1, [r2, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _080BF9AC
ldrb r0, [r2, 0x8]
movs r1, 0x80
orrs r0, r1
strb r0, [r2, 0x8]
ldr r1, _080BF9B8 @ =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldrb r0, [r0, 0x8]
bl ChoosePartyMonByMenuType
adds r0, r4, 0
bl DestroyTask
_080BF9AC:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080BF9B4: .4byte gPaletteFade
_080BF9B8: .4byte gTasks
thumb_func_end sub_80BF97C
thumb_func_start SelectMove
SelectMove: @ 80BF9BC
push {r4,lr}
sub sp, 0x4
ldr r0, _080BF9F0 @ =gPlayerParty
ldr r1, _080BF9F4 @ =gSpecialVar_0x8004
ldrb r1, [r1]
ldr r2, _080BF9F8 @ =gPlayerPartyCount
ldrb r2, [r2]
subs r2, 0x1
lsls r2, 24
lsrs r2, 24
ldr r3, _080BF9FC @ =CB2_ReturnToField
movs r4, 0
str r4, [sp]
bl ShowSelectMovePokemonSummaryScreen
movs r0, 0x3
bl sub_8138B38
ldr r1, _080BFA00 @ =gFieldCallback
ldr r0, _080BFA04 @ =FieldCallback_ReturnToEventScript2
str r0, [r1]
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080BF9F0: .4byte gPlayerParty
_080BF9F4: .4byte gSpecialVar_0x8004
_080BF9F8: .4byte gPlayerPartyCount
_080BF9FC: .4byte CB2_ReturnToField
_080BFA00: .4byte gFieldCallback
_080BFA04: .4byte FieldCallback_ReturnToEventScript2
thumb_func_end SelectMove
thumb_func_start ScrSpecial_CountPokemonMoves
ScrSpecial_CountPokemonMoves: @ 80BFA08
push {r4,r5,lr}
ldr r1, _080BFA44 @ =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
movs r4, 0
adds r5, r1, 0
_080BFA14:
ldr r0, _080BFA48 @ =gSpecialVar_0x8004
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _080BFA4C @ =gPlayerParty
adds r0, r1
adds r1, r4, 0
adds r1, 0xD
bl GetMonData
cmp r0, 0
beq _080BFA32
ldrh r0, [r5]
adds r0, 0x1
strh r0, [r5]
_080BFA32:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x3
bls _080BFA14
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080BFA44: .4byte gSpecialVar_Result
_080BFA48: .4byte gSpecialVar_0x8004
_080BFA4C: .4byte gPlayerParty
thumb_func_end ScrSpecial_CountPokemonMoves
thumb_func_start ScrSpecial_GetPokemonNicknameAndMoveName
ScrSpecial_GetPokemonNicknameAndMoveName: @ 80BFA50
push {r4,r5,lr}
ldr r0, _080BFA90 @ =gSpecialVar_0x8004
ldrh r1, [r0]
movs r0, 0x64
adds r5, r1, 0
muls r5, r0
ldr r0, _080BFA94 @ =gPlayerParty
adds r5, r0
ldr r0, _080BFA98 @ =gSpecialVar_0x8005
ldrh r1, [r0]
adds r1, 0xD
adds r0, r5, 0
bl GetMonData
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r1, _080BFA9C @ =gStringVar1
adds r0, r5, 0
bl GetMonNickname
ldr r0, _080BFAA0 @ =gStringVar2
movs r1, 0xD
muls r1, r4
ldr r2, _080BFAA4 @ =gMoveNames
adds r1, r2
bl StringCopy
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080BFA90: .4byte gSpecialVar_0x8004
_080BFA94: .4byte gPlayerParty
_080BFA98: .4byte gSpecialVar_0x8005
_080BFA9C: .4byte gStringVar1
_080BFAA0: .4byte gStringVar2
_080BFAA4: .4byte gMoveNames
thumb_func_end ScrSpecial_GetPokemonNicknameAndMoveName
thumb_func_start sub_80BFAA8
sub_80BFAA8: @ 80BFAA8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x20
mov r8, r0
adds r5, r1, 0
adds r4, r2, 0
lsls r5, 24
lsrs r5, 24
lsls r4, 24
lsrs r4, 24
adds r0, r5, 0
adds r0, 0xD
str r0, [sp, 0x8]
mov r0, r8
ldr r1, [sp, 0x8]
bl GetMonData
mov r1, sp
adds r1, 0x2
str r1, [sp, 0x14]
strh r0, [r1]
adds r3, r4, 0
adds r3, 0xD
str r3, [sp, 0xC]
mov r0, r8
adds r1, r3, 0
bl GetMonData
mov r1, sp
strh r0, [r1]
adds r7, r5, 0
adds r7, 0x11
str r7, [sp, 0x10]
mov r0, r8
adds r1, r7, 0
bl GetMonData
mov r1, sp
adds r1, 0x5
str r1, [sp, 0x18]
strb r0, [r1]
adds r3, r4, 0
adds r3, 0x11
str r3, [sp, 0x1C]
mov r0, r8
adds r1, r3, 0
bl GetMonData
add r7, sp, 0x4
mov r10, r7
strb r0, [r7]
mov r0, r8
movs r1, 0x15
bl GetMonData
mov r6, sp
adds r6, 0x6
strb r0, [r6]
ldr r1, _080BFBA4 @ =gPPUpGetMask
adds r0, r5, r1
ldrb r0, [r0]
mov r9, r0
ldrb r0, [r6]
adds r2, r0, 0
mov r3, r9
ands r2, r3
lsls r5, 1
asrs r2, r5
lsls r2, 24
lsrs r2, 24
adds r1, r4, r1
ldrb r3, [r1]
adds r1, r0, 0
ands r1, r3
lsls r4, 1
asrs r1, r4
lsls r1, 24
lsrs r1, 24
mov r7, r9
bics r0, r7
strb r0, [r6]
ldrb r0, [r6]
bics r0, r3
strb r0, [r6]
lsls r2, r4
lsls r1, r5
adds r2, r1
ldrb r0, [r6]
orrs r0, r2
strb r0, [r6]
mov r0, r8
ldr r1, [sp, 0x8]
mov r2, sp
bl SetMonData
mov r0, r8
ldr r1, [sp, 0xC]
ldr r2, [sp, 0x14]
bl SetMonData
mov r0, r8
ldr r1, [sp, 0x10]
mov r2, r10
bl SetMonData
mov r0, r8
ldr r1, [sp, 0x1C]
ldr r2, [sp, 0x18]
bl SetMonData
mov r0, r8
movs r1, 0x15
adds r2, r6, 0
bl SetMonData
add sp, 0x20
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080BFBA4: .4byte gPPUpGetMask
thumb_func_end sub_80BFAA8
thumb_func_start DeleteMonMove
DeleteMonMove: @ 80BFBA8
push {r4-r6,lr}
mov r6, r8
push {r6}
ldr r0, _080BFC08 @ =gSpecialVar_0x8004
mov r8, r0
ldrh r0, [r0]
movs r6, 0x64
muls r0, r6
ldr r5, _080BFC0C @ =gPlayerParty
adds r0, r5
ldr r4, _080BFC10 @ =gSpecialVar_0x8005
ldrb r2, [r4]
movs r1, 0
bl SetMonMoveSlot
mov r1, r8
ldrh r0, [r1]
muls r0, r6
adds r0, r5
ldrb r1, [r4]
bl RemoveMonPPBonus
ldrh r4, [r4]
cmp r4, 0x2
bhi _080BFBFC
_080BFBDA:
ldr r0, _080BFC08 @ =gSpecialVar_0x8004
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _080BFC0C @ =gPlayerParty
adds r0, r1
lsls r1, r4, 24
lsrs r1, 24
adds r4, 0x1
lsls r2, r4, 24
lsrs r2, 24
bl sub_80BFAA8
lsls r4, 16
lsrs r4, 16
cmp r4, 0x2
bls _080BFBDA
_080BFBFC:
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080BFC08: .4byte gSpecialVar_0x8004
_080BFC0C: .4byte gPlayerParty
_080BFC10: .4byte gSpecialVar_0x8005
thumb_func_end DeleteMonMove
thumb_func_start IsSelectedMonEgg
IsSelectedMonEgg: @ 80BFC14
push {lr}
ldr r0, _080BFC38 @ =gSpecialVar_0x8004
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _080BFC3C @ =gPlayerParty
adds r0, r1
movs r1, 0x2D
bl GetMonData
adds r1, r0, 0
cmp r1, 0
beq _080BFC44
ldr r1, _080BFC40 @ =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
b _080BFC48
.align 2, 0
_080BFC38: .4byte gSpecialVar_0x8004
_080BFC3C: .4byte gPlayerParty
_080BFC40: .4byte gSpecialVar_Result
_080BFC44:
ldr r0, _080BFC4C @ =gSpecialVar_Result
strh r1, [r0]
_080BFC48:
pop {r0}
bx r0
.align 2, 0
_080BFC4C: .4byte gSpecialVar_Result
thumb_func_end IsSelectedMonEgg
.align 2, 0 @ Don't pad with nop.