Sync math operator/utility functions from pokeheartgold

Compared/synced by hand from the pokeheartgold asm.

Some of the functions had labels corresponding to libgcc counterparts;
rename them all for consistency.

Note that some of the functions have multiple names in pokeheartgold
(of which at most one is actually used). Instead of polluting the xMAP
files with multiple symbols (some with zero length), which makes it
really hard for scripts to parse, just add these alternate names as
comments. This makes them searchable without having an effect on build
artifacts.
This commit is contained in:
UsernameFodder 2023-12-27 01:08:08 -06:00
parent e2425df3c7
commit 32998ca899
29 changed files with 538 additions and 501 deletions

View File

@ -175,9 +175,9 @@
.public _022A3805
.public _022A3806
.public _022B966C
.public __addsf3
.public __floatsisf
.public __mulsf3
.public _fadd
.public _fflt
.public _fmul
.public _s32_div_f
.public abs
.public ArrayFill32Fast

View File

@ -741,8 +741,8 @@
.public _022AB92C
.public _022AB930
.public _022ABDE0
.public __extendsfdf2
.public __subsf3
.public _f2d
.public _fsub
.public _s32_div_f
.public _u32_div_f
.public ADVANCED_MENU_DEFAULT_WINDOW_PARAMS

View File

@ -183,9 +183,9 @@
.public _022B9484
.public _022B94BC
.public _022B9584
.public __divsf3
.public __floatunsisf
.public __mulsf3
.public _fdiv
.public _ffltu
.public _fmul
.public _s32_div_f
.public _u32_div_f
.public AddMoneyCarried
@ -606,7 +606,7 @@
.public sub_0207F748
.public sub_0207F808
.public sub_0207F828
.public sub_0208F1CC
.public _fls
.public TACTIC_NAME_STRING_IDS
.public TACTICS_UNLOCK_LEVEL_TABLE
.public TEAM_MEMBER_TABLE_PTR

View File

@ -227,13 +227,13 @@
.public sub_0208B360
.public sub_0208DEB0
.public sub_0208DEBC
.public sub_0208DEC8
.public sub_0208E1E0
.public sub_0208E370
.public sub_0208E3EC
.public sub_0208E904
.public sub_0208FE3C
.public sub_020902AC
.public _dadd
.public _d2f
.public _dflt
.public _dmul
.public _dsub
.public _ll_udiv
.public _ddiv
.public SVC_WaitByLoop
.public ThreadExit
.public UnloadOverlay

View File

@ -369,8 +369,8 @@
.public sub_02062B64
.public sub_0207A2A4
.public sub_020851AC
.public sub_0208FE3C
.public sub_0208FE48
.public _ll_udiv
.public _ull_mod
.public UpdateWindow
.public vsprintf
.public WAN_TABLE

View File

@ -269,7 +269,7 @@
.public sub_02085030
.public sub_02085158
.public sub_0208B360
.public sub_0208FE3C
.public sub_0208FE48
.public sub_0208FE84
.public _ll_udiv
.public _ull_mod
.public _ll_mul
.public WaitForever2

View File

@ -240,6 +240,6 @@
.public sub_020698B8
.public sub_02069904
.public sub_02069940
.public sub_0208FE3C
.public sub_0208FE48
.public _ll_udiv
.public _ull_mod
.public UnloadFile

View File

@ -105,6 +105,6 @@
.public sub_020590DC
.public sub_0205BD78
.public sub_02062B64
.public sub_0208FE3C
.public sub_0208FE48
.public _ll_udiv
.public _ull_mod
.public UpdateWindow

View File

@ -146,6 +146,6 @@
.public sub_0204A018
.public sub_0204A1CC
.public sub_0205BD78
.public sub_0208FE3C
.public sub_0208FE48
.public _ll_udiv
.public _ull_mod
.public UpdateWindow

View File

@ -2,9 +2,9 @@
.public _020A1870
.public _020A548A
.public _020A5490
.public __divsf3
.public __fixsfsi
.public __floatsisf
.public _fdiv
.public _ffix
.public _fflt
.public _s32_div_f
.public abs
.public AddBulkItemToStorage

View File

@ -52,7 +52,7 @@
.public RemoveGroundItem
.public SpawnItem
.public sub_020018A4
.public sub_0208FC8C
.public _ll_sdiv
.public TeamLeaderIqSkillIsEnabled
.public TryWarp
.public WAN_TABLE

View File

@ -3584,16 +3584,16 @@ _020037D8:
ldrh r5, [r1]
bl EnableAllInterrupts
mov r0, r4
bl __floatsisf
bl _fflt
mov r4, r0
mov r0, r5
bl __floatsisf
bl _fflt
mov r1, r0
ldr r0, _02003820 ; =0x3B792FB2
bl __mulsf3
bl _fmul
mov r1, r0
mov r0, r4
bl __addsf3
bl _fadd
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_02003818: .word _020AEF7C
@ -5427,25 +5427,25 @@ EuclideanNorm__02005050: ; 0x02005050
stmdb sp!, {r4, r5, r6, lr}
ldmia r0, {r5, r6}
mov r0, r5
bl __floatsisf
bl _fflt
mov r4, r0
mov r0, r5
bl __floatsisf
bl _fflt
mov r1, r0
mov r0, r4
bl __mulsf3
bl _fmul
mov r5, r0
mov r0, r6
bl __floatsisf
bl _fflt
mov r4, r0
mov r0, r6
bl __floatsisf
bl _fflt
mov r1, r0
mov r0, r4
bl __mulsf3
bl _fmul
mov r1, r0
mov r0, r5
bl __addsf3
bl _fadd
bl sqrtf
ldmia sp!, {r4, r5, r6, pc}
arm_func_end EuclideanNorm__02005050
@ -5455,25 +5455,25 @@ EuclideanNorm__020050B0: ; 0x020050B0
stmdb sp!, {r4, r5, r6, lr}
ldmia r0, {r5, r6}
mov r0, r5
bl __floatsisf
bl _fflt
mov r4, r0
mov r0, r5
bl __floatsisf
bl _fflt
mov r1, r0
mov r0, r4
bl __mulsf3
bl _fmul
mov r5, r0
mov r0, r6
bl __floatsisf
bl _fflt
mov r4, r0
mov r0, r6
bl __floatsisf
bl _fflt
mov r1, r0
mov r0, r4
bl __mulsf3
bl _fmul
mov r1, r0
mov r0, r5
bl __addsf3
bl _fadd
bl sqrtf
ldmia sp!, {r4, r5, r6, pc}
arm_func_end EuclideanNorm__020050B0

View File

@ -75434,8 +75434,8 @@ _0204900C:
bl GetTime
mov r1, r7
mov r7, r0
bl __subsf3
bl __extendsfdf2
bl _fsub
bl _f2d
mov r3, r0
mov r2, r1
ldr r0, _0204923C ; =_0209CD84
@ -75492,8 +75492,8 @@ _020491A8:
_020491C4:
bl GetTime
mov r1, r7
bl __subsf3
bl __extendsfdf2
bl _fsub
bl _f2d
mov r3, r0
mov r2, r1
ldr r0, _02049244 ; =_0209CD94

View File

@ -34410,16 +34410,16 @@ _02071030:
addlo r1, r1, #0x10000
str r0, [r8, #0xec8]
mov r0, r1
bl __floatunsisf
bl _ffltu
mov sb, r0
mov r0, sl
bl __floatunsisf
bl _ffltu
mov r1, r0
mov r0, sb
bl __divsf3
bl _fdiv
mov r1, r0
ldr r0, _02071158 ; =0x42C80000
bl __mulsf3
bl _fmul
mov sb, r0
ldrsh r0, [r7, #0xc4]
mov r1, sb
@ -34428,7 +34428,7 @@ _02071030:
strlt r0, [r8, #0xec0]
str sb, [r8, #0xebc]
ldr r0, [r8, #0xec0]
bl sub_0208F1CC
bl _fls
strlo sb, [r8, #0xec0]
movlo r0, #0x64
strloh r0, [r7, #0xc4]

File diff suppressed because it is too large Load Diff

View File

@ -28381,7 +28381,7 @@ _022D42C4:
bl ov00_022D419C
ldr r2, [sp, #0x18]
ldr r3, [sp, #0x10]
bl sub_0208FE3C
bl _ll_udiv
mov r5, r0
ldr r0, _022D4394 ; =0x0000FFFF
cmp r5, r0
@ -34667,7 +34667,7 @@ ov00_022D9540: ; 0x022D9540
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
cmp r1, #0
cmpeq r0, #0x12c
blo _022D95D0
@ -34737,7 +34737,7 @@ ov00_022D962C: ; 0x022D962C
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
cmp r1, #0
cmpeq r0, #0x96
bhs _022D9688
@ -34821,7 +34821,7 @@ ov00_022D9754: ; 0x022D9754
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
cmp r1, #0
cmpeq r0, #0x96
bhs _022D97B4
@ -35226,7 +35226,7 @@ _022D9CA0:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
cmp r1, #0
cmpeq r0, #0xa
movlo r0, #0xc
@ -36453,7 +36453,7 @@ _022DACF4:
mov r1, r0, lsl #6
orr r1, r1, r5, lsr #26
mov r0, r5, lsl #6
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022DAF34 ; =0x00000BB8
cmp r1, #0
cmpeq r0, r2
@ -38253,7 +38253,7 @@ _022DC2BC:
mov r0, r2, lsl #6
ldr r2, _022DC428 ; =0x000082EA
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
cmp r1, #0
ldr r7, _022DC42C ; =0x00001388
cmpeq r0, r7
@ -38296,7 +38296,7 @@ _022DC358:
mov r0, r2, lsl #6
mov r2, r6
mov r3, fp
bl sub_0208FE3C
bl _ll_udiv
cmp r1, r4
cmpeq r0, r7
blo _022DC30C
@ -39731,7 +39731,7 @@ _022DD7C4:
orr r1, r1, r2, lsr #26
mov r0, r2, lsl #6
ldr r2, _022DD88C ; =0x000082EA
bl sub_0208FE3C
bl _ll_udiv
cmp r1, r8, asr #31
cmpeq r0, r8
bls _022DD820
@ -46017,7 +46017,7 @@ _022E2BD0:
mov r1, r0, lsl #6
orr r1, r1, lr, lsr #26
mov r0, lr, lsl #6
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022E2C50 ; =0x0000EA60
cmp r1, #0
cmpeq r0, r2
@ -46497,7 +46497,7 @@ _022E3244:
mov r1, r0, lsl #6
orr r1, r1, lr, lsr #26
mov r0, lr, lsl #6
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022E3370 ; =0x00002710
cmp r1, #0
cmpeq r0, r2
@ -47486,7 +47486,7 @@ ov00_022E3FA4: ; 0x022E3FA4
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, r4
bl sub_0208FE3C
bl _ll_udiv
cmp r1, #0
cmpeq r0, #0x12c
blo _022E4020
@ -49066,7 +49066,7 @@ _022E554C:
mov r0, r2, lsl #6
ldr r2, _022E5EE0 ; =0x000082EA
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
cmp r1, #0
ldr r1, [r4, #0x1c8]
cmpeq r0, r1
@ -49131,7 +49131,7 @@ _022E5638:
mov r0, r2, lsl #6
ldr r2, _022E5EE0 ; =0x000082EA
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
cmp r1, #0
cmpeq r0, r5
blo _022E5C18
@ -49180,7 +49180,7 @@ _022E5718:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
cmp r1, #0
cmpeq r0, r5
bls _022E5C18
@ -49215,7 +49215,7 @@ _022E5788:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022E5EEC ; =0x000061A8
cmp r1, #0
cmpeq r0, r2
@ -49249,7 +49249,7 @@ _022E5814:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022E5EF0 ; =0x00001770
cmp r1, #0
cmpeq r0, r2
@ -49317,7 +49317,7 @@ _022E590C:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022E5EF0 ; =0x00001770
cmp r1, #0
cmpeq r0, r2
@ -49340,7 +49340,7 @@ _022E5974:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022E5EF4 ; =0x00004A38
cmp r1, #0
cmpeq r0, r2
@ -49377,7 +49377,7 @@ _022E5A00:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022E5EF8 ; =0x00007530
cmp r1, #0
cmpeq r0, r2
@ -49451,7 +49451,7 @@ _022E5B20:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022E5EF8 ; =0x00007530
cmp r1, #0
cmpeq r0, r2
@ -49527,7 +49527,7 @@ _022E5C38:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022E5F00 ; =0x00002710
cmp r1, #0
cmpeq r0, r2
@ -49633,7 +49633,7 @@ _022E5DD4:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022E5EE8 ; =0x00000BB8
cmp r1, #0
cmpeq r0, r2
@ -52689,7 +52689,7 @@ _022E8934:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, [r4, #4]
cmp r1, #0
cmpeq r0, r2
@ -54931,7 +54931,7 @@ _022EA87C:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
mov r4, r0
mov r5, r1
b _022EA8C8
@ -55166,7 +55166,7 @@ _022EABB0:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
mov r2, r0, lsr #1
mov r0, r1, lsr #1
cmp r0, #0
@ -55183,7 +55183,7 @@ _022EABB0:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
mov r3, r0, lsr #1
mov r0, #0x12c
orr r3, r3, r1, lsl #31
@ -55295,7 +55295,7 @@ _022EAD90:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
mov r4, r0
mov r5, r1
b _022EADDC
@ -55714,7 +55714,7 @@ _022EB328:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _022EB61C ; =0x00001770
mul r2, r4, r2
cmp r1, r2, asr #31
@ -55816,7 +55816,7 @@ _022EB474:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, [r4, #4]
cmp r1, #0
cmpeq r0, r2
@ -55838,7 +55838,7 @@ _022EB4E8:
orr r1, r1, r3, lsr #26
mov r0, r3, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, [r4, #4]
cmp r1, #0
cmpeq r0, r2, lsr #2
@ -57318,7 +57318,7 @@ _022EC78C:
orr r1, r1, r2, lsr #26
ldr r2, _022EC8EC ; =0x000082EA
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r1, [r6, #0x2c]
cmp r0, r1
bls _022EC824
@ -58932,7 +58932,7 @@ _022EDCAC:
mla r1, lr, sb, r1
ldr r2, _022EDD54 ; =0x000082EA
mov r3, r6
bl sub_0208FE3C
bl _ll_udiv
mov r2, r6
cmp r1, r2
cmpeq r0, r8
@ -62891,7 +62891,7 @@ _022F11E0:
mov r1, r8
mov r2, r7
mov r3, r6
bl sub_0208FE3C
bl _ll_udiv
umull r3, r2, r0, r7
mla r2, r0, r6, r2
add r0, r0, #0x30
@ -67990,7 +67990,7 @@ ov00_022F5478: ; 0x022F5478
ldr r2, _022F54A8 ; =0x01FF6210
mov r0, r0, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
cmp r4, #0
strne r0, [r4]
ldmia sp!, {r4, pc}
@ -68099,7 +68099,7 @@ ov00_022F5594: ; 0x022F5594
ldr r2, _022F55B8 ; =0x000082EA
mov r0, r0, lsl #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldmia sp!, {r3, pc}
.align 2, 0
_022F55B8: .word 0x000082EA
@ -68116,7 +68116,7 @@ ov00_022F55BC: ; 0x022F55BC
mov r0, ip
mov r1, r3
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldmia sp!, {r3, pc}
.align 2, 0
_022F55E8: .word 0x000082EA
@ -69635,7 +69635,7 @@ _022F6994:
mov r0, sb
mov r1, ip
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
mov sb, r0
mov r0, #0
mov ip, r1
@ -86024,7 +86024,7 @@ _02304F20:
beq _02304FBC
add r0, sp, #0xec
bl sub_0208AE08
bl sub_0208E1E0
bl _d2f
str r0, [sp, #0x1a4]
_02304FBC:
ldr r1, _023054A0 ; =ov00_0231B520
@ -86038,7 +86038,7 @@ _02304FBC:
beq _02304FF0
add r0, sp, #0xec
bl sub_0208AE08
bl sub_0208E1E0
bl _d2f
str r0, [sp, #0x1a8]
_02304FF0:
ldr r1, _023054A4 ; =ov00_0231B528
@ -93931,7 +93931,7 @@ _0230BE58:
mov r3, r0
ldmia r5, {r0, r1}
ldmia r3, {r2, r3}
bl sub_0208DEC8
bl _dadd
bl ov00_0230C184
mov r1, r0
mov r0, r4
@ -93973,7 +93973,7 @@ _0230BEE4:
ldr r1, [r0, #4]
mov r0, ip
ldmia r5, {r2, r3}
bl sub_0208E904
bl _dsub
bl ov00_0230C184
mov r1, r0
mov r0, r4
@ -94011,7 +94011,7 @@ _0230BF68:
mov r3, r0
ldmia r5, {r0, r1}
ldmia r3, {r2, r3}
bl sub_0208E3EC
bl _dmul
bl ov00_0230C184
mov r1, r0
mov r0, r4
@ -94050,7 +94050,7 @@ _0230BFE8:
ldr r1, [r0, #4]
mov r0, ip
ldmia r5, {r2, r3}
bl sub_020902AC
bl _ddiv
bl ov00_0230C184
mov r1, r0
mov r0, r4
@ -94127,22 +94127,22 @@ _0230C0F0:
add r6, r1, #1
mov r0, r6
str r6, [r4, #8]
bl sub_0208E370
bl _dflt
ldmia r5, {r2, r3}
bl sub_0208E3EC
bl _dmul
mov r2, r0
mov r3, r1
ldmia r7, {r0, r1}
bl sub_0208DEC8
bl _dadd
mov r5, r0
mov r0, r6
mov r6, r1
bl sub_0208E370
bl _dflt
mov r2, r0
mov r3, r1
mov r0, r5
mov r1, r6
bl sub_020902AC
bl _ddiv
bl ov00_0230C184
mov r1, r0
mov r0, r4

View File

@ -12135,25 +12135,25 @@ _02333464:
mov r0, r6
mov r1, r5
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x90]
ldr r2, _02333668 ; =0x00002710
mov r0, r6
mov r1, r5
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _02333668 ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x8c]
ldr r2, _0233366C ; =0x05F5E100
mov r1, r5
mov r0, r6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _02333668 ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x88]
add r0, sp, #0x400
ldr r1, _02333670 ; =0x00000217
@ -14982,7 +14982,7 @@ ov01_02335848: ; 0x02335848
mov r3, r5
mov r6, #0x64
mov sb, r5
bl sub_0208FE48
bl _ull_mod
mov r7, r0
mov r8, r1
mov r4, r5
@ -14992,7 +14992,7 @@ _023358A4:
mov r1, r8
mov r2, r6
mov r3, sb
bl sub_0208FE3C
bl _ll_udiv
ldr r1, _0233592C ; =ov01_0233C1A8
mov r3, sb
ldr r2, [r1]
@ -15001,14 +15001,14 @@ _023358A4:
strb r0, [r2, #0xe0]
mov r0, r7
mov r2, r6
bl sub_0208FE48
bl _ull_mod
mov r7, r0
mov r8, r1
mov r0, r6
mov r1, sb
mov r2, #0xa
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
mov r6, r0
add r0, r5, #1
mov r0, r0, lsl #0x10
@ -15266,7 +15266,7 @@ _02335C90:
umull r2, r3, r5, r4
mla r3, sb, r4, r3
mov r7, #0
bl sub_0208FE48
bl _ull_mod
mov r6, r0
mov r8, r1
ldr sl, _02335F58 ; =ov01_0233C1A8
@ -15278,7 +15278,7 @@ _02335CBC:
mov r1, r8
mov r2, r5
mov r3, sb
bl sub_0208FE3C
bl _ll_udiv
ldr r2, [sl]
mov r1, r8
add r2, r2, r7
@ -15286,14 +15286,14 @@ _02335CBC:
mov r0, r6
mov r2, r5
mov r3, sb
bl sub_0208FE48
bl _ull_mod
mov r6, r0
mov r8, r1
mov r0, r5
mov r1, sb
mov r2, #0xa
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
mov r5, r0
add r0, r7, #1
mov r0, r0, lsl #0x10

View File

@ -9831,7 +9831,7 @@ ov02_0232FE1C: ; 0x0232FE1C
ldr r2, _0232FE6C ; =0x01FF6210
asr r1, r0, #0x1f
add r3, r4, #0
bl sub_0208FE84
bl _ll_mul
lsr r3, r0, #6
lsl r2, r1, #0x1a
orr r3, r2
@ -9842,7 +9842,7 @@ ov02_0232FE1C: ; 0x0232FE1C
ldr r2, _0232FE6C ; =0x01FF6210
asr r1, r0, #0x1f
mov r3, #0
bl sub_0208FE84
bl _ll_mul
lsr r3, r0, #6
lsl r2, r1, #0x1a
orr r3, r2
@ -15512,7 +15512,7 @@ _0233284C:
ldr r2, [sp, #0x20]
ldr r1, [sp, #0x18]
asr r3, r2, #0x1f
bl sub_0208FE84
bl _ll_mul
str r0, [sp, #0xc]
mov r0, #0
str r1, [sp, #8]
@ -15745,7 +15745,7 @@ _02332A0A:
ldr r2, [sp, #0x24]
ldr r1, [sp, #0x18]
asr r3, r2, #0x1f
bl sub_0208FE84
bl _ll_mul
str r0, [sp, #0xc]
mov r0, #0
str r1, [sp, #8]
@ -18720,7 +18720,7 @@ ov02_02334140: ; 0x02334140
ldr r2, _02334158 ; =0x000082EA
lsl r0, r0, #6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
pop {r3, pc}
.align 2, 0
_02334158: .word 0x000082EA
@ -26543,7 +26543,7 @@ ov02_0233A508: ; 0x0233A508
mov r0, r8
mov r1, sl
mov r2, #0xa
bl sub_0208FE48
bl _ull_mod
mov r1, #0x3e8
umull r4, r1, r0, r1
mov r0, r8
@ -26551,7 +26551,7 @@ ov02_0233A508: ; 0x0233A508
mov r3, #0
mov r2, #0xa
str r4, [sp, #0x64]
bl sub_0208FE3C
bl _ll_udiv
mov sb, #0
ldr r7, _0233A700 ; =0x00002710
mov r8, r0
@ -26564,14 +26564,14 @@ _0233A614:
mov r1, sl
mov r2, r7
mov r3, r6
bl sub_0208FE48
bl _ull_mod
rsb r1, sb, #2
str r0, [r5, r1, lsl #2]
mov r0, r8
mov r1, sl
mov r2, r7
mov r3, r4
bl sub_0208FE3C
bl _ll_udiv
mov r8, r0
mov sl, r1
add sb, sb, #1

View File

@ -8197,25 +8197,25 @@ _02343C90:
mov r0, r6
mov r1, r4
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x15c]
ldr r2, _02343FE0 ; =0x00002710
mov r0, r6
mov r1, r4
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _02343FE0 ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x158]
ldr r2, _02343FE4 ; =0x05F5E100
mov r1, r4
mov r0, r6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _02343FE0 ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x154]
ldr r1, _02343FE8 ; =0x00003867
mov r0, #0x1c

View File

@ -1591,25 +1591,25 @@ _0233DEF0:
ldr r2, _0233EB2C ; =0x00002710
mov r1, r5
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x324]
ldr r2, _0233EB2C ; =0x00002710
mov r0, r4
mov r1, r5
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _0233EB2C ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x320]
ldr r2, _0233EB30 ; =0x05F5E100
mov r1, r5
mov r0, r4
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _0233EB2C ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x31c]
mov r0, #5
bl ov01_0233767C
@ -3207,25 +3207,25 @@ _0233F664:
mov r0, r5
mov r1, r4
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x184]
ldr r2, _0233EB2C ; =0x00002710
mov r0, r5
mov r1, r4
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _0233EB2C ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x180]
ldr r2, _0233EB30 ; =0x05F5E100
mov r1, r4
mov r0, r5
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _0233EB2C ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
add r1, sp, #0x58
str r1, [sp, #0x190]
str r0, [sp, #0x17c]

View File

@ -1391,25 +1391,25 @@ _0233DCB0:
ldr r2, _0233DD4C ; =0x00002710
mov r0, r4
mov r1, r5
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x30]
ldr r2, _0233DD4C ; =0x00002710
mov r0, r4
mov r1, r5
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _0233DD4C ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x2c]
ldr r2, _0233DD50 ; =0x05F5E100
mov r0, r4
mov r1, r5
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _0233DD4C ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x28]
add r2, sp, #4
str r2, [sp]
@ -2136,25 +2136,25 @@ _0233E6C8:
mov r3, #0
mov r5, r0
mov r6, r1
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x80]
ldr r2, _0233E9BC ; =0x00002710
mov r0, r5
mov r1, r6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _0233E9BC ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x7c]
ldr r2, _0233E9C0 ; =0x05F5E100
mov r1, r6
mov r0, r5
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _0233E9BC ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x78]
ldr r1, _0233E9C4 ; =0x00003713
mov r0, #0x1c
@ -2212,25 +2212,25 @@ _0233E7E0:
mov r3, #0
mov r5, r0
mov r6, r1
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x30]
ldr r2, _0233E9BC ; =0x00002710
mov r0, r5
mov r1, r6
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _0233E9BC ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x2c]
ldr r2, _0233E9C0 ; =0x05F5E100
mov r1, r6
mov r0, r5
mov r3, #0
bl sub_0208FE3C
bl _ll_udiv
ldr r2, _0233E9BC ; =0x00002710
mov r3, #0
bl sub_0208FE48
bl _ull_mod
str r0, [sp, #0x28]
ldr r1, _0233E9C4 ; =0x00003713
mov r0, #0x1c

View File

@ -8087,11 +8087,11 @@ _022E33C4:
bl EuclideanNorm__02005050
mov r4, r0
ldr r0, [sb, #0x4c]
bl __floatsisf
bl _fflt
mov r1, r0
mov r0, r4
bl __divsf3
bl __fixsfsi
bl _fdiv
bl _ffix
strh r0, [sb, #0x46]
ldrsh r0, [sb, #0x46]
cmp r0, #0
@ -17952,11 +17952,11 @@ _022EB5F4:
bl EuclideanNorm__020050B0
str r0, [sp, #8]
ldr r0, [r8, #0xc]
bl __floatsisf
bl _fflt
mov r1, r0
ldr r0, [sp, #8]
bl __divsf3
bl __fixsfsi
bl _fdiv
bl _ffix
str r0, [r8, #0x10]
cmp r0, #0
movle r0, #1
@ -61643,11 +61643,11 @@ _0230FE78:
mov r4, r0
ldr r5, [r1, #8]
ldr r0, [r5, #0x38]
bl __floatsisf
bl _fflt
mov r1, r0
mov r0, r4
bl __divsf3
bl __fixsfsi
bl _fdiv
bl _ffix
ldr r1, _02310050 ; =WORLD_MAP_MODE
str r0, [r5, #0x3c]
ldr r1, [r1, #8]

View File

@ -401,7 +401,7 @@ ov29_022F67D0: ; 0x022F67D0
mov r2, #0x64
smull r0, r1, r3, r1
mov r3, #0
bl sub_0208FC8C
bl _ll_sdiv
bl sub_020018A4
mov r4, r0
ldr r1, _022F69F8 ; =0x00000E4F
@ -549,7 +549,7 @@ ov29_022F6A0C: ; 0x022F6A0C
mov r2, #0x64
smull r0, r1, r3, r0
mov r3, #0
bl sub_0208FC8C
bl _ll_sdiv
bl sub_020018A4
mov r6, r0
_022F6A80:

View File

@ -78,7 +78,7 @@ _020008D4:
add r1, r1, #0x3c
ldr r0, _02000948 ; =sub_01FF95E8
str r0, [r1]
bl sub_020907F0
bl _fp_init
bl sub_02000B98
bl sub_020908A8
ldr r1, _0200094C ; =NitroMain

View File

@ -7,5 +7,5 @@
.public SDK_STATIC_BSS_END
.public SDK_STATIC_BSS_START
.public sub_01FF95E8
.public sub_020907F0
.public _fp_init
.public sub_020908A8

View File

@ -4,8 +4,8 @@
.public _0380B408
.public _0380B434
.public _0380B460
.public __divsi3
.public __udivsi3
.public _s32_div_f
.public _u32_div_f
.public ClearIeFlag
.public EnableIrqFlag
.public GetCurrentPlaybackTime

View File

@ -4377,7 +4377,7 @@ _027E3B68:
blo _027E3B68
sub r0, r7, #0x40
mov r1, #0x42
bl __udivsi3
bl _u32_div_f
add r2, sp, #0x4e
stmia sp, {r2, r5}
add r1, sp, #0x1e
@ -4737,7 +4737,7 @@ _027E4074:
moveq r0, #1
beq _027E409C
ldr r0, _027E445C ; =0x00002710
bl __divsi3
bl _s32_div_f
add r0, r0, #1
_027E409C:
mov r0, r0, lsl #0x10
@ -10054,7 +10054,7 @@ sub_027E89E0: ; 0x027E89E0
ldr r2, [r4, #0x14]
str r2, [r0, #0x304]
ldr r0, [r4, #0x30]
bl __udivsi3
bl _u32_div_f
mov r1, r0
ldr r0, [r4, #0x2c]
bl sub_027E8DDC
@ -11575,7 +11575,7 @@ sub_027E9E30: ; 0x027E9E30
ldrh r0, [r4, #0x6e]
mov r1, #0x64
mul r0, r6, r0
bl __udivsi3
bl _u32_div_f
cmp r0, #0x10000
movhi r0, #5
bhi _027E9E84
@ -16191,7 +16191,7 @@ _027ED9B8:
mov r2, #0
cmpne r0, #0
beq _027ED9F8
bl __udivsi3
bl _u32_div_f
add r2, r0, #1
cmp r2, #0x64
movhi r2, #0x64
@ -18970,7 +18970,7 @@ _027EFCA8:
add r0, r3, r0
mov r1, #0xa
add r0, r0, #0x32
bl __udivsi3
bl _u32_div_f
mov r4, r0
bl EnableIrqFlag
ldr r1, _027EFE04 ; =0x00003FFF
@ -18992,7 +18992,7 @@ _027EFD40:
add r0, sb, r0
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
bl __udivsi3
bl _u32_div_f
ldrh r3, [sl, #0x18]
add r1, r0, #3
cmp r1, r3
@ -24422,7 +24422,7 @@ _027F47D0:
sub r0, r0, #0x18
strh r0, [r4, #0x20]
ldrh r0, [r4, #0x20]
bl __udivsi3
bl _u32_div_f
mov r1, r6
strh r0, [r1, #2]
b _027F4AC8
@ -26067,24 +26067,24 @@ _027F5D7C:
mov r0, r7
mov r1, #0x190
addls r6, r6, #0xc
bl __udivsi3
bl _u32_div_f
mov r4, r0
mov r0, r7
mov r1, #0x64
bl __udivsi3
bl _u32_div_f
mov r1, #0xd
mul r1, r6, r1
mov r6, r0
add r0, r1, #8
mov r1, #5
bl __udivsi3
bl _u32_div_f
add r1, r7, r7, lsr #2
sub r1, r1, r6
add r1, r4, r1
add r0, r1, r0
add r0, r5, r0
mov r1, #7
bl __udivsi3
bl _u32_div_f
ldr r0, _027F5F04 ; =0x027FFDE8
ldr r2, [r0]
mov r3, r2, lsl #5

View File

@ -5456,7 +5456,7 @@ _037FC714:
ble _037FC6F4
ldr r0, [r6, #0x18]
add r0, r0, r2
bl __divsi3
bl _s32_div_f
ldr r2, [r6, #0x10]
add r0, r6, #8
str r5, [r2, r1, lsl #2]
@ -5504,7 +5504,7 @@ _037FC7A0:
ldr r0, [r6, #0x18]
ldr r1, [r6, #0x14]
add r0, r0, #1
bl __divsi3
bl _s32_div_f
str r1, [r6, #0x18]
ldr r1, [r6, #0x1c]
mov r0, r6
@ -9948,7 +9948,7 @@ sub_037FFE64: ; 0x037FFE64
blt _037FFEAC
rsb r1, r0, #0x7e
mov r0, #0x1e00
bl __divsi3
bl _s32_div_f
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
_037FFEAC:
@ -11723,7 +11723,7 @@ _038015AC:
beq _038017D0
mov r1, sb
ldrsh r0, [r4]
bl __divsi3
bl _s32_div_f
strh r0, [r4]
b _038017D0
_038015C8:
@ -15319,11 +15319,11 @@ _03804200:
b _03804284
_03804230:
mul r0, sb, r8
bl __udivsi3
bl _u32_div_f
ldr r2, [sl, #0xc]
mov r1, r8
add r0, r2, r0
bl __udivsi3
bl _u32_div_f
mov r0, r1, lsl #0x10
mov r0, r0, lsr #0x10
cmp r0, #0xc8
@ -16483,7 +16483,7 @@ _03805164:
ldr r0, [r1]
add r6, r5, r4
ldrh r1, [r6, #0xa]
bl __udivsi3
bl _u32_div_f
mov r1, #0
mov r3, r1, lsr r0
ldr ip, [r6, #4]
@ -18408,7 +18408,7 @@ _038069F0:
orrs r6, r5, r6
bne _03806A24
mov r1, r2
bl __divsi3
bl _s32_div_f
ands r4, r4, #1
movne r0, r1
mov r1, r0, asr #0x1f
@ -18537,7 +18537,7 @@ _03806BA4:
orrs r5, r1, r3
bne _03806A44
mov r1, r2
bl __udivsi3_no_zero_check
bl _u32_div_not_0_f
cmp r4, #0
movne r0, r1
mov r1, #0
@ -18545,8 +18545,8 @@ _03806BA4:
bx lr
arm_func_end sub_03806B80
arm_func_start __divsi3
__divsi3: ; 0x03806BC8
arm_func_start _s32_div_f
_s32_div_f: ; 0x03806BC8
eor ip, r0, r1
and ip, ip, #0x80000000
cmp r0, #0
@ -18679,16 +18679,16 @@ _03806DC0:
ands r3, ip, #1
rsbne r1, r1, #0
bx lr
arm_func_end __divsi3
arm_func_end _s32_div_f
arm_func_start __udivsi3
__udivsi3: ; 0x03806DD4
arm_func_start _u32_div_f
_u32_div_f: ; 0x03806DD4
cmp r1, #0
bxeq lr
arm_func_end __udivsi3
arm_func_end _u32_div_f
arm_func_start __udivsi3_no_zero_check
__udivsi3_no_zero_check: ; 0x03806DDC
arm_func_start _u32_div_not_0_f
_u32_div_not_0_f: ; 0x03806DDC
cmp r0, r1
movlo r1, r0
movlo r0, #0
@ -18808,7 +18808,7 @@ __udivsi3_no_zero_check: ; 0x03806DDC
adcs r0, r0, r0
mov r1, r3
bx lr
arm_func_end __udivsi3_no_zero_check
arm_func_end _u32_div_not_0_f
_03806FB8:
.byte 0x00, 0x06, 0x0C, 0x13, 0x19, 0x1F, 0x25, 0x2B, 0x31, 0x36, 0x3C, 0x41, 0x47, 0x4C, 0x51, 0x55

View File

@ -1,8 +1,6 @@
from dataclasses import dataclass
MIXED_CASE_SYMBOLS_ARM9 = {
'_s32_div_f': '__divsi3',
'_u32_div_f': '__udivsi3',
'_secure': 'SECURE',
'_start_AutoloadDoneCallback': 'StartAutoloadDoneCallback',
'_start_ModuleParams': 'START_MODULE_PARAMS',