summaryrefslogtreecommitdiff
path: root/asm/util.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/util.s')
-rw-r--r--asm/util.s466
1 files changed, 0 insertions, 466 deletions
diff --git a/asm/util.s b/asm/util.s
deleted file mode 100644
index 73342f136..000000000
--- a/asm/util.s
+++ /dev/null
@@ -1,466 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CreateInvisibleSpriteWithCallback
-CreateInvisibleSpriteWithCallback: @ 806F640
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, =gUnknown_0832A3A8
- movs r1, 0xF8
- movs r2, 0xA8
- movs r3, 0xE
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r3, r2, r5
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r4, 0x4
- orrs r1, r4
- strb r1, [r3]
- adds r5, 0x1C
- adds r2, r5
- str r6, [r2]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CreateInvisibleSpriteWithCallback
-
- thumb_func_start StoreWordInTwoHalfwords
-StoreWordInTwoHalfwords: @ 806F67C
- strh r1, [r0]
- lsrs r1, 16
- strh r1, [r0, 0x2]
- bx lr
- thumb_func_end StoreWordInTwoHalfwords
-
- thumb_func_start LoadWordFromTwoHalfwords
-LoadWordFromTwoHalfwords: @ 806F684
- ldrh r2, [r0]
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- lsls r0, 16
- orrs r2, r0
- str r2, [r1]
- bx lr
- thumb_func_end LoadWordFromTwoHalfwords
-
- thumb_func_start SetBgAffineStruct
-SetBgAffineStruct: @ 806F694
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, [sp, 0x18]
- ldr r5, [sp, 0x1C]
- ldr r6, [sp, 0x20]
- ldr r7, [sp, 0x24]
- mov r8, r7
- str r1, [r0]
- str r2, [r0, 0x4]
- strh r3, [r0, 0x8]
- strh r4, [r0, 0xA]
- strh r5, [r0, 0xC]
- strh r6, [r0, 0xE]
- mov r1, r8
- strh r1, [r0, 0x10]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end SetBgAffineStruct
-
- thumb_func_start DoBgAffineSet
-DoBgAffineSet: @ 806F6C0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x24
- mov r8, r0
- ldr r0, [sp, 0x38]
- ldr r4, [sp, 0x3C]
- ldr r5, [sp, 0x40]
- ldr r6, [sp, 0x44]
- lsls r6, 16
- lsrs r6, 16
- lsls r3, 16
- asrs r3, 16
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- lsls r4, 16
- asrs r4, 16
- str r4, [sp, 0x4]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x8]
- str r6, [sp, 0xC]
- add r0, sp, 0x10
- bl SetBgAffineStruct
- add r0, sp, 0x10
- mov r1, r8
- movs r2, 0x1
- bl BgAffineSet
- add sp, 0x24
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end DoBgAffineSet
-
- thumb_func_start CopySpriteTiles
-CopySpriteTiles: @ 806F70C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- str r2, [sp, 0x20]
- adds r4, r3, 0
- ldr r7, [sp, 0x58]
- lsls r0, 24
- lsls r1, 24
- ldr r2, =gUnknown_0832A3C0
- lsrs r1, 23
- lsrs r0, 21
- adds r1, r0
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- str r0, [sp, 0x24]
- adds r1, r2
- ldrb r1, [r1]
- str r1, [sp, 0x28]
- movs r0, 0
- b _0806F88C
- .pool
-_0806F740:
- movs r5, 0
- adds r0, 0x1
- str r0, [sp, 0x30]
- b _0806F874
-_0806F748:
- ldrh r0, [r4]
- ldr r2, =0x000003ff
- adds r1, r2, 0
- ands r1, r0
- lsls r1, 5
- mov r8, r1
- movs r2, 0xC0
- lsls r2, 4
- adds r1, r2, 0
- ands r1, r0
- mov r2, sp
- strh r0, [r2, 0x34]
- cmp r1, 0
- bne _0806F788
- ldr r0, [sp, 0x20]
- add r0, r8
- adds r1, r7, 0
- ldr r2, =0x04000008
- bl CpuSet
- adds r4, 0x2
- str r4, [sp, 0x2C]
- adds r7, 0x20
- mov r10, r7
- adds r5, 0x1
- mov r9, r5
- b _0806F86A
- .pool
-_0806F788:
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- bne _0806F7CC
- movs r1, 0
- adds r4, 0x2
- str r4, [sp, 0x2C]
- movs r2, 0x20
- adds r2, r7
- mov r10, r2
- adds r5, 0x1
- mov r9, r5
-_0806F7A0:
- lsls r4, r1, 24
- asrs r4, 24
- movs r0, 0x7
- subs r0, r4
- lsls r0, 2
- add r0, r8
- ldr r1, [sp, 0x20]
- adds r0, r1, r0
- lsls r1, r4, 2
- adds r1, r7, r1
- ldr r2, =0x04000001
- bl CpuSet
- adds r4, 0x1
- lsls r4, 24
- lsrs r1, r4, 24
- asrs r4, 24
- cmp r4, 0x7
- ble _0806F7A0
- b _0806F86A
- .pool
-_0806F7CC:
- movs r1, 0
- adds r4, 0x2
- str r4, [sp, 0x2C]
- movs r2, 0x20
- adds r2, r7
- mov r10, r2
- adds r5, 0x1
- mov r9, r5
- movs r0, 0xF
- mov r12, r0
-_0806F7E0:
- movs r2, 0
- lsls r4, r1, 24
- lsls r0, r4, 2
- lsrs r0, 24
- adds r6, r0, 0x3
- mov r1, r8
- adds r5, r1, r0
-_0806F7EE:
- lsls r1, r2, 24
- asrs r1, 24
- subs r0, r6, r1
- mov r2, sp
- adds r3, r2, r0
- adds r0, r5, r1
- ldr r2, [sp, 0x20]
- adds r0, r2, r0
- ldrb r2, [r0]
- mov r0, r12
- ands r0, r2
- lsls r0, 4
- lsrs r2, 4
- orrs r0, r2
- strb r0, [r3]
- adds r1, 0x1
- lsls r1, 24
- lsrs r2, r1, 24
- asrs r1, 24
- cmp r1, 0x3
- ble _0806F7EE
- movs r1, 0x80
- lsls r1, 17
- adds r0, r4, r1
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0x7
- ble _0806F7E0
- mov r2, sp
- ldrh r0, [r2, 0x34]
- movs r2, 0x80
- lsls r2, 4
- ands r0, r2
- cmp r0, 0
- beq _0806F860
- movs r1, 0
-_0806F836:
- lsls r4, r1, 24
- asrs r4, 24
- movs r0, 0x7
- subs r0, r4
- lsls r0, 2
- add r0, sp
- lsls r1, r4, 2
- adds r1, r7, r1
- ldr r2, =0x04000001
- bl CpuSet
- adds r4, 0x1
- lsls r4, 24
- lsrs r1, r4, 24
- asrs r4, 24
- cmp r4, 0x7
- ble _0806F836
- b _0806F86A
- .pool
-_0806F860:
- mov r0, sp
- adds r1, r7, 0
- ldr r2, =0x04000008
- bl CpuSet
-_0806F86A:
- ldr r4, [sp, 0x2C]
- mov r7, r10
- mov r1, r9
- lsls r0, r1, 24
- lsrs r5, r0, 24
-_0806F874:
- ldr r2, [sp, 0x28]
- cmp r5, r2
- bcs _0806F87C
- b _0806F748
-_0806F87C:
- movs r0, 0x20
- ldr r1, [sp, 0x28]
- subs r0, r1
- lsls r0, 1
- adds r4, r0
- ldr r2, [sp, 0x30]
- lsls r0, r2, 24
- lsrs r0, 24
-_0806F88C:
- ldr r1, [sp, 0x24]
- cmp r0, r1
- bcs _0806F894
- b _0806F740
-_0806F894:
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopySpriteTiles
-
- thumb_func_start CountTrailingZeroBits
-CountTrailingZeroBits: @ 806F8A8
- push {lr}
- adds r2, r0, 0
- movs r1, 0
- movs r3, 0x1
-_0806F8B0:
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _0806F8BC
- adds r0, r1, 0
- b _0806F8CA
-_0806F8BC:
- lsrs r2, 1
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1F
- bls _0806F8B0
- movs r0, 0
-_0806F8CA:
- pop {r1}
- bx r1
- thumb_func_end CountTrailingZeroBits
-
- thumb_func_start CalcCRC16
-CalcCRC16: @ 806F8D0
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r1, 0
- ldr r2, =0x00001121
- movs r3, 0
- cmp r3, r4
- bge _0806F91C
- movs r6, 0x1
- ldr r0, =0x00008408
- adds r5, r0, 0
-_0806F8E4:
- adds r0, r7, r3
- ldrb r0, [r0]
- eors r2, r0
- movs r1, 0
- adds r3, 0x1
-_0806F8EE:
- adds r0, r2, 0
- ands r0, r6
- cmp r0, 0
- beq _0806F908
- lsrs r0, r2, 1
- eors r0, r5
- lsls r0, 16
- lsrs r2, r0, 16
- b _0806F90A
- .pool
-_0806F908:
- lsrs r2, 1
-_0806F90A:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x7
- bls _0806F8EE
- lsls r0, r3, 16
- lsrs r3, r0, 16
- cmp r3, r4
- blt _0806F8E4
-_0806F91C:
- mvns r0, r2
- lsls r0, 16
- lsrs r0, 16
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CalcCRC16
-
- thumb_func_start CalcCRC16WithTable
-CalcCRC16WithTable: @ 806F928
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r2, =0x00001121
- movs r3, 0
- cmp r3, r4
- bcs _0806F956
- ldr r6, =gUnknown_0832A3D8
-_0806F938:
- lsrs r1, r2, 8
- adds r0, r5, r3
- ldrb r0, [r0]
- eors r2, r0
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r6
- ldrh r0, [r0]
- adds r2, r0, 0
- eors r2, r1
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r4
- bcc _0806F938
-_0806F956:
- mvns r0, r2
- lsls r0, 16
- lsrs r0, 16
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CalcCRC16WithTable
-
- thumb_func_start CalcByteArraySum
-CalcByteArraySum: @ 806F96C
- push {r4,lr}
- adds r4, r0, 0
- movs r3, 0
- movs r2, 0
- cmp r3, r1
- bcs _0806F984
-_0806F978:
- adds r0, r4, r2
- ldrb r0, [r0]
- adds r3, r0
- adds r2, 0x1
- cmp r2, r1
- bcc _0806F978
-_0806F984:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end CalcByteArraySum
-
- .align 2, 0 @ Don't pad with nop.