mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-26 08:41:27 -05:00
Move msl under cw and link prebuilt libraries
This commit is contained in:
parent
34131963b7
commit
9c796efb35
Binary file not shown.
|
|
@ -1,13 +0,0 @@
|
|||
.public OS_IrqHandler_ThreadSwitch
|
||||
.public OSi_DoBoot
|
||||
.public OSi_CpuClear32
|
||||
.public OSi_ReloadRomData
|
||||
.public OSi_ReadCardRom32
|
||||
.public MIi_DmaSetParams
|
||||
.public DC_InvalidateAll
|
||||
.public DC_StoreAll
|
||||
.public DC_WaitWriteBufferEmpty
|
||||
.public IC_InvalidateAll
|
||||
.public OS_DisableInterrupts
|
||||
.public OS_RestoreInterrupts
|
||||
.public MIi_CheckDma0SourceAddress
|
||||
|
|
@ -1,79 +0,0 @@
|
|||
.public sub_02030EE0
|
||||
.public sub_02030EF4
|
||||
.public sub_02030F10
|
||||
.public sub_02030F40
|
||||
.public sub_02030F64
|
||||
.public sub_02030FD0
|
||||
.public sub_020310DC
|
||||
.public sub_0203114C
|
||||
.public sub_020311A8
|
||||
.public sub_020311CC
|
||||
.public sub_020311EC
|
||||
.public sub_02031208
|
||||
.public sub_02031320
|
||||
.public sub_020313E8
|
||||
.public sub_020314E4
|
||||
.public sub_02031500
|
||||
.public sub_02031538
|
||||
.public sub_020315A8
|
||||
.public sub_02031668
|
||||
.public sub_020316B8
|
||||
.public sub_0203171C
|
||||
.public sub_02031740
|
||||
.public sub_02031764
|
||||
.public sub_0203178C
|
||||
.public sub_020317A4
|
||||
.public sub_020317C8
|
||||
.public sub_020317E8
|
||||
.public sub_02031840
|
||||
.public sub_02031868
|
||||
.public sub_020318B0
|
||||
.public sub_020318EC
|
||||
.public sub_02031900
|
||||
.public sub_020319F8
|
||||
.public sub_02031A74
|
||||
.public sub_02031AF0
|
||||
.public sub_02031B30
|
||||
.public sub_02031C58
|
||||
.public sub_02031C70
|
||||
.public sub_02031CBC
|
||||
.public sub_02031D00
|
||||
.public sub_02031ECC
|
||||
.public sub_02031EF4
|
||||
.public sub_02031F90
|
||||
.public sub_02032070
|
||||
.public sub_0203276C
|
||||
.public sub_02038938
|
||||
.public sub_0203895C
|
||||
.public sub_02038AE0
|
||||
.public WVR_TerminateAsync
|
||||
.public DC_InvalidateRange
|
||||
.public DC_FlushRange
|
||||
.public DC_WaitWriteBufferEmpty
|
||||
.public OS_GetMacAddress
|
||||
.public MI_CpuCopy8
|
||||
.public WMi_GetStatusAddress
|
||||
.public WM_SetIndCallback
|
||||
.public WM_SetPortCallback
|
||||
.public WM_GetAllowedChannel
|
||||
.public WM_GetDispersionScanPeriod
|
||||
.public WM_Initialize
|
||||
.public WM_InitializeForListening
|
||||
.public WM_Reset
|
||||
.public WM_End
|
||||
.public WM_SetParentParameter
|
||||
.public WM_StartParent
|
||||
.public WM_EndParent
|
||||
.public WM_StartScan
|
||||
.public WM_EndScan
|
||||
.public WM_StartConnectEx
|
||||
.public WM_Disconnect
|
||||
.public WM_StartMP
|
||||
.public WM_SetMPDataToPortEx
|
||||
.public WM_EndMP
|
||||
.public WM_SetGameInfo
|
||||
.public WM_SetLifeTime
|
||||
.public WM_MeasureChannel
|
||||
.public WM_SetEntry
|
||||
.public memcmp
|
||||
.public _s32_div_f
|
||||
|
|
@ -32,7 +32,7 @@ c_args = [
|
|||
'-inline', 'on,noauto',
|
||||
'-char', 'signed',
|
||||
'-nosyspath',
|
||||
'-nostdinc'
|
||||
'-stdinc'
|
||||
]
|
||||
|
||||
pokeplatinum_args = [
|
||||
|
|
@ -56,9 +56,8 @@ link_args = [
|
|||
'-map', 'closure,unused',
|
||||
'-symtab', 'sort',
|
||||
'-msgstyle' ,'gcc',
|
||||
'-nostdlib',
|
||||
'-m', '_start',
|
||||
'-force_active', 'DGTi_hash2_arm4_small,Exception_Table_Index,Unk_02101B00,Unk_02101CE4'
|
||||
'-force_active', 'DGTi_hash2_arm4_small'
|
||||
]
|
||||
|
||||
|
||||
|
|
@ -79,7 +78,6 @@ subdir('platinum.us')
|
|||
############################################################
|
||||
gamespy_dep = dependency('gamespy', fallback : ['gamespy', 'gamespy_dep'])
|
||||
libvct_dep = dependency('libVCT', fallback : ['libVCT', 'libvct_dep'])
|
||||
msl_dep = dependency('msl', fallback : ['msl', 'msl_dep'])
|
||||
nitrosdk_dep = dependency('NitroSDK', fallback : ['NitroSDK', 'nitrosdk_dep'])
|
||||
nitrosystem_dep = dependency('NitroSystem', fallback : ['NitroSystem', 'nitrosystem_dep'])
|
||||
nitrowifi_dep = dependency('NitroWiFi', fallback : ['NitroWiFi', 'nitrowifi_dep'])
|
||||
|
|
@ -121,7 +119,6 @@ main = executable('main',
|
|||
dependencies: [
|
||||
gamespy_dep,
|
||||
libvct_dep,
|
||||
msl_dep,
|
||||
nitrosdk_dep,
|
||||
nitrosystem_dep,
|
||||
nitrowifi_dep,
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ libdwcaccount = static_library('dwcaccount',
|
|||
sources: [libdwcaccount_srcs],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: [
|
||||
msl_dep,
|
||||
gamespy_dep,
|
||||
nitrosdk_dep,
|
||||
nitrosystem_dep,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ libdwcbase = static_library('dwcbase',
|
|||
c_args: [c_args, sdk_args],
|
||||
nasm_args: asm_args,
|
||||
dependencies: [
|
||||
msl_dep,
|
||||
gamespy_dep,
|
||||
nitrosdk_dep,
|
||||
nitrosystem_dep,
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
.public abort
|
||||
.public memmove
|
||||
.public printf
|
||||
.public sub_020DFBDC
|
||||
.public _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
.public _u32_div_f
|
||||
.public sub_020E3FD4
|
||||
.public sub_020E4000
|
||||
.public _ZnamRKSt9nothrow_t
|
||||
.public _ZdaPv
|
||||
.public DWC_Free
|
||||
.public DWC_GetDateTime
|
||||
.public ov66_02234FC4
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
.public strlen
|
||||
.public strncpy
|
||||
.public strcmp
|
||||
.public sub_020DFBDC
|
||||
.public _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
.public _u32_div_f
|
||||
.public DWC_ClearError
|
||||
.public DWC_Alloc
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
.public memset
|
||||
.public memcmp
|
||||
.public printf
|
||||
.public sub_020DFBDC
|
||||
.public _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
.public DWC_Free
|
||||
.public DWC_GetDateTime
|
||||
.public ov66_02234FC4
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/ppw_innerinfo.inc"
|
||||
|
||||
.extern Unk_021D0D60
|
||||
.extern _ZSt7nothrow
|
||||
|
||||
|
||||
.text
|
||||
|
|
@ -536,7 +536,7 @@ ov66_0223D0F4: ; 0x0223D0F4
|
|||
ldmia r2, {r2, r3}
|
||||
bl ov66_0223D19C
|
||||
ldr r0, [sp, #0x2c]
|
||||
bl sub_020E4000
|
||||
bl _ZdaPv
|
||||
add sp, sp, #0x30
|
||||
ldmia sp!, {r4, lr}
|
||||
add sp, sp, #0x10
|
||||
|
|
@ -2252,7 +2252,7 @@ ov66_0223E988: ; 0x0223E988
|
|||
_0223E9B4:
|
||||
mov r1, r4
|
||||
mov r0, r5, lsl #3
|
||||
bl sub_020E3FD4
|
||||
bl _ZnamRKSt9nothrow_t
|
||||
str r0, [r6, #0]
|
||||
cmp r0, #0
|
||||
strne r5, [r6, #4]
|
||||
|
|
@ -2264,7 +2264,7 @@ _0223E9B4:
|
|||
ldmia sp!, {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_0223E9E4: .word Unk_ov66_02259098
|
||||
_0223E9E8: .word Unk_021D0D60
|
||||
_0223E9E8: .word _ZSt7nothrow
|
||||
arm_func_end ov66_0223E988
|
||||
|
||||
arm_func_start ov66_0223E9EC
|
||||
|
|
@ -3612,7 +3612,7 @@ ov66_0223FC9C: ; 0x0223FC9C
|
|||
sub r0, r0, r4
|
||||
cmp r1, r0
|
||||
bls _0223FCC4
|
||||
bl sub_020DFBDC
|
||||
bl _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
_0223FCC4:
|
||||
ldr r0, _0223FD60 ; =0x0AAAAAAA
|
||||
cmp r4, r0
|
||||
|
|
@ -3705,7 +3705,7 @@ ov66_0223FDD8: ; 0x0223FDD8
|
|||
sub r0, r0, r4
|
||||
cmp r1, r0
|
||||
bls _0223FE00
|
||||
bl sub_020DFBDC
|
||||
bl _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
_0223FE00:
|
||||
ldr r0, _0223FE9C ; =0x0AAAAAAA
|
||||
cmp r4, r0
|
||||
|
|
@ -4771,7 +4771,7 @@ ov66_02240D38: ; 0x02240D38
|
|||
mov r5, r0
|
||||
cmp r4, r1
|
||||
bls _02240D54
|
||||
bl sub_020DFBDC
|
||||
bl _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
_02240D54:
|
||||
mov r0, r4, lsl #3
|
||||
bl ov66_02246290
|
||||
|
|
@ -4788,7 +4788,7 @@ ov66_02240D68: ; 0x02240D68
|
|||
mov r5, r0
|
||||
cmp r4, r1
|
||||
bls _02240D84
|
||||
bl sub_020DFBDC
|
||||
bl _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
_02240D84:
|
||||
mov r0, r4, lsl #3
|
||||
bl ov66_02246290
|
||||
|
|
|
|||
|
|
@ -7496,7 +7496,7 @@ ov66_0223B7A4: ; 0x0223B7A4
|
|||
sub r0, r0, r4
|
||||
cmp r1, r0
|
||||
bls _0223B7CC
|
||||
bl sub_020DFBDC
|
||||
bl _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
_0223B7CC:
|
||||
ldr r0, _0223B868 ; =0x55555555
|
||||
cmp r4, r0
|
||||
|
|
@ -8486,7 +8486,7 @@ ov66_0223C4B8: ; 0x0223C4B8
|
|||
sub r0, r0, r4
|
||||
cmp r1, r0
|
||||
bls _0223C4E0
|
||||
bl sub_020DFBDC
|
||||
bl _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
_0223C4E0:
|
||||
ldr r0, _0223C580 ; =0x071C71C7
|
||||
cmp r4, r0
|
||||
|
|
@ -8823,7 +8823,7 @@ ov66_0223C950: ; 0x0223C950
|
|||
mov r5, r0
|
||||
cmp r4, r2
|
||||
bls _0223C96C
|
||||
bl sub_020DFBDC
|
||||
bl _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
_0223C96C:
|
||||
mov r0, #0xc
|
||||
mul r0, r4, r0
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/ppw_parser.inc"
|
||||
|
||||
.extern Unk_020FE764
|
||||
.extern __lower_mapC
|
||||
|
||||
.text
|
||||
|
||||
|
|
@ -375,7 +375,7 @@ ov66_022416BC: ; 0x022416BC
|
|||
ldrb r0, [r1, r0]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_022416D8: .word Unk_020FE764
|
||||
_022416D8: .word __lower_mapC
|
||||
arm_func_end ov66_022416BC
|
||||
|
||||
arm_func_start ov66_022416DC
|
||||
|
|
|
|||
|
|
@ -984,7 +984,7 @@ ov66_0224290C: ; 0x0224290C
|
|||
mov r5, r0
|
||||
cmp r4, r1
|
||||
bls _02242928
|
||||
bl sub_020DFBDC
|
||||
bl _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
_02242928:
|
||||
mov r0, r4, lsl #2
|
||||
bl ov66_02246290
|
||||
|
|
@ -1004,7 +1004,7 @@ ov66_0224293C: ; 0x0224293C
|
|||
sub r0, r0, r4
|
||||
cmp r1, r0
|
||||
bls _02242964
|
||||
bl sub_020DFBDC
|
||||
bl _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
_02242964:
|
||||
ldr r0, _02242A00 ; =0x15555555
|
||||
cmp r4, r0
|
||||
|
|
@ -1166,7 +1166,7 @@ ov66_02242B88: ; 0x02242B88
|
|||
mov r5, r0
|
||||
cmp r4, r1
|
||||
bls _02242BA4
|
||||
bl sub_020DFBDC
|
||||
bl _ZNSt15__vector_commonILb1EE18throw_length_errorEv
|
||||
_02242BA4:
|
||||
mov r0, r4, lsl #2
|
||||
bl ov66_02246290
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ c_args = [
|
|||
'-inline', 'on,noauto',
|
||||
'-char', 'signed',
|
||||
'-nosyspath',
|
||||
'-nostdinc'
|
||||
'-stdinc'
|
||||
]
|
||||
|
||||
asm_args = [
|
||||
|
|
@ -34,7 +34,6 @@ sdk_args = [
|
|||
]
|
||||
|
||||
# Dependencies
|
||||
msl_dep = dependency('msl', fallback: ['msl', 'msl_dep'])
|
||||
gamespy_dep = dependency('gamespy', fallback : ['gamespy', 'gamespy_dep'])
|
||||
nitrosdk_dep = dependency('NitroSDK', fallback : ['NitroSDK', 'nitrosdk_dep'])
|
||||
nitrosystem_dep = dependency('NitroSystem', fallback : ['NitroSystem', 'nitrosystem_dep'])
|
||||
|
|
@ -52,7 +51,6 @@ subdir('libraries')
|
|||
nitrodwc_dep = declare_dependency(
|
||||
compile_args: sdk_args,
|
||||
dependencies: [
|
||||
msl_dep,
|
||||
gamespy_dep,
|
||||
nitrosdk_dep,
|
||||
nitrosystem_dep,
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ libcard = static_library('card',
|
|||
c_args: [c_args, sdk_args],
|
||||
include_directories: [public_includes, libcard_internal_includes],
|
||||
nasm_args: asm_args,
|
||||
dependencies: msl_dep,
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ libcp_srcs = files('src/cp_context.c')
|
|||
libcp = static_library('cp',
|
||||
sources: [libcp_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: public_includes,
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ libctrdg_internal_includes = include_directories('src/include')
|
|||
libctrdg = static_library('ctrdg',
|
||||
sources: [libctrdg_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes, libctrdg_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ libfs_internal_includes = include_directories('src/include')
|
|||
libfs = static_library('fs',
|
||||
sources: [libfs_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes, libfs_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ libfx_srcs = files(
|
|||
libfx = static_library('fx',
|
||||
sources: [libfx_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ libgx_internal_includes = include_directories('src/include')
|
|||
libgx = static_library('gx',
|
||||
sources: [libgx_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes, libgx_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ crt0_src = files('src/crt0.c')
|
|||
dummy_crt0 = static_library('dummycrt0',
|
||||
sources: [crt0_src, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ libmath_srcs = files(
|
|||
libmath = static_library('math',
|
||||
sources: [libmath_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ libmb_internal_includes = include_directories('src/include')
|
|||
libmb = static_library('mb',
|
||||
sources: [libmb_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes, libmb_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ libmi_internal_includes = include_directories('src/include')
|
|||
libmi = static_library('mi',
|
||||
sources: [libmi_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes, libmi_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ libpxi_srcs = files(
|
|||
libpxi = static_library('pxi',
|
||||
sources: [libpxi_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ librtc_srcs = files(
|
|||
librtc = static_library('rtc',
|
||||
sources: [librtc_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ libsnd_srcs = files(
|
|||
libsnd = static_library('snd',
|
||||
sources: [libsnd_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ libspi_internal_includes = include_directories('src/include')
|
|||
libspi = static_library('spi',
|
||||
sources: [libspi_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes, libspi_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ libwm = static_library('wm',
|
|||
sources: [libwm_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
nasm_args: asm_args,
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes, libwm_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ libwvr_srcs = files('src/wvr.c')
|
|||
libwvr = static_library('wvr',
|
||||
sources: [libwvr_srcs, fx_const_h],
|
||||
c_args: [c_args, sdk_args],
|
||||
dependencies: msl_dep,
|
||||
include_directories: [public_includes],
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ c_args = [
|
|||
'-inline', 'on,noauto',
|
||||
'-char', 'signed',
|
||||
'-nosyspath',
|
||||
'-nostdinc'
|
||||
'-stdinc'
|
||||
]
|
||||
|
||||
asm_args = [
|
||||
|
|
@ -38,9 +38,6 @@ sdk_args = [
|
|||
public_includes = [include_directories('include')]
|
||||
nitro_pch = meson.current_source_dir() / 'include/pch/nitro_pch.h'
|
||||
|
||||
# Dependencies
|
||||
msl_dep = dependency('msl', fallback: ['msl', 'msl_dep'])
|
||||
|
||||
# arm7 components
|
||||
subdir('components')
|
||||
|
||||
|
|
|
|||
|
|
@ -32,11 +32,6 @@ KEEP_SECTION
|
|||
.sinit
|
||||
}
|
||||
|
||||
KEEP_SECTION
|
||||
{
|
||||
.exception
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
############################ STATIC #################################
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ libnnsfnd = static_library('nnsfnd',
|
|||
c_args: [c_args, sdk_args],
|
||||
include_directories: [public_includes, libnnsfnd_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
dependencies: [msl_dep, nitrosdk_dep],
|
||||
dependencies: nitrosdk_dep,
|
||||
pic: false
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ libnnsg2d = static_library('nnsg2d',
|
|||
c_args: [c_args, sdk_args],
|
||||
include_directories: [public_includes, libnnsg2d_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
dependencies: [msl_dep, nitrosdk_dep],
|
||||
dependencies: nitrosdk_dep,
|
||||
pic: false
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ libnnsg3d = static_library('nnsg3d',
|
|||
nasm_args: asm_args,
|
||||
include_directories: [public_includes, libnnsg3d_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
dependencies: [msl_dep, nitrosdk_dep],
|
||||
dependencies: nitrosdk_dep,
|
||||
pic: false
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ libnnsgfd = static_library('nnsgfd',
|
|||
c_args: [c_args, sdk_args],
|
||||
include_directories: [public_includes, libnnsgfd_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
dependencies: [msl_dep, nitrosdk_dep],
|
||||
dependencies: nitrosdk_dep,
|
||||
pic: false
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ libnnssnd = static_library('nnssnd',
|
|||
c_args: [c_args, sdk_args],
|
||||
include_directories: [public_includes],
|
||||
c_pch: nitro_pch,
|
||||
dependencies: [msl_dep, nitrosdk_dep],
|
||||
dependencies: nitrosdk_dep,
|
||||
pic: false
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ c_args = [
|
|||
'-inline', 'on,noauto',
|
||||
'-char', 'signed',
|
||||
'-nosyspath',
|
||||
'-nostdinc'
|
||||
'-stdinc'
|
||||
]
|
||||
|
||||
asm_args = [
|
||||
|
|
@ -34,7 +34,6 @@ sdk_args = [
|
|||
]
|
||||
|
||||
# Dependencies
|
||||
msl_dep = dependency('msl', fallback: ['msl', 'msl_dep'])
|
||||
nitrosdk_dep = dependency('NitroSDK', fallback : ['NitroSDK', 'nitrosdk_dep'])
|
||||
|
||||
# Public includes
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ libsoc = static_library('soc',
|
|||
sources: [libsoc_srcs],
|
||||
c_args: [c_args, sdk_args],
|
||||
include_directories: [public_includes, libsoc_internal_includes],
|
||||
dependencies: [msl_dep, nitrosdk_dep],
|
||||
dependencies: nitrosdk_dep,
|
||||
c_pch: nitro_pch,
|
||||
pic: false
|
||||
)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ libstubsmd5 = static_library('stubsmd5',
|
|||
sources: [libstubsmd5_srcs],
|
||||
c_args: [c_args, sdk_args],
|
||||
include_directories: [public_includes],
|
||||
dependencies: [msl_dep, nitrosdk_dep],
|
||||
dependencies: nitrosdk_dep,
|
||||
pic: false
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ libwcm = static_library('wcm',
|
|||
c_args: [c_args, sdk_args],
|
||||
include_directories: [public_includes, libwcm_internal_includes],
|
||||
c_pch: nitro_pch,
|
||||
dependencies: [msl_dep, nitrosdk_dep],
|
||||
dependencies: nitrosdk_dep,
|
||||
pic: false
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ c_args = [
|
|||
'-inline', 'on,noauto',
|
||||
'-char', 'signed',
|
||||
'-nosyspath',
|
||||
'-nostdinc'
|
||||
'-stdinc'
|
||||
]
|
||||
|
||||
asm_args = [
|
||||
|
|
@ -34,7 +34,6 @@ sdk_args = [
|
|||
]
|
||||
|
||||
# Dependencies
|
||||
msl_dep = dependency('msl', fallback: ['msl', 'msl_dep'])
|
||||
nitrosdk_dep = dependency('NitroSDK', fallback : ['NitroSDK', 'nitrosdk_dep'])
|
||||
|
||||
# Public includes
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/chatchannel.inc"
|
||||
|
||||
.extern Unk_020FE764
|
||||
.extern __lower_mapC
|
||||
|
||||
.text
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ _0224B4A0: .word Unk_ov66_0225980C
|
|||
_0224B4A4: .word Unk_ov66_02259818
|
||||
_0224B4A8: .word Unk_ov66_02259568
|
||||
_0224B4AC: .word Unk_ov66_02259828
|
||||
_0224B4B0: .word Unk_020FE764
|
||||
_0224B4B0: .word __lower_mapC
|
||||
arm_func_end ov66_0224B414
|
||||
|
||||
arm_func_start ov66_0224B4B4
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/nonport.inc"
|
||||
|
||||
.extern Unk_020FE764
|
||||
.extern __lower_mapC
|
||||
|
||||
.text
|
||||
|
||||
|
|
@ -92,7 +92,7 @@ _021EA918:
|
|||
mov r0, r2
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_021EA920: .word Unk_020FE764
|
||||
_021EA920: .word __lower_mapC
|
||||
arm_func_end ov4_021EA8E0
|
||||
|
||||
arm_func_start ov4_021EA924
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/sb_server.inc"
|
||||
|
||||
.extern Unk_020FE764
|
||||
.extern __lower_mapC
|
||||
|
||||
.text
|
||||
|
||||
|
|
@ -561,7 +561,7 @@ _021FE734:
|
|||
mov r0, r1
|
||||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_021FE744: .word Unk_020FE764
|
||||
_021FE744: .word __lower_mapC
|
||||
_021FE748: .word 0x9CCF9319
|
||||
arm_func_end ov4_021FE6F4
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/sb_serverlist.inc"
|
||||
|
||||
.extern Unk_020FE764
|
||||
.extern __lower_mapC
|
||||
.extern Unk_ov4_0221AE50
|
||||
.extern Unk_ov4_0221B754
|
||||
|
||||
|
|
@ -661,7 +661,7 @@ _021FF704:
|
|||
mov r0, r1
|
||||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_021FF714: .word Unk_020FE764
|
||||
_021FF714: .word __lower_mapC
|
||||
_021FF718: .word 0x9CCF9319
|
||||
arm_func_end ov4_021FF6C4
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ asm_args = [
|
|||
public_includes = include_directories('include')
|
||||
|
||||
# Dependencies
|
||||
msl_dep = dependency('msl', fallback: ['msl', 'msl_dep'])
|
||||
nitrosdk_dep = dependency('NitroSDK', fallback : ['NitroSDK', 'nitrosdk_dep'])
|
||||
nitrosystem_dep = dependency('NitroSystem', fallback : ['NitroSystem', 'nitrosystem_dep'])
|
||||
nitrowifi_dep = dependency('NitroWiFi', fallback : ['NitroWiFi', 'nitrowifi_dep'])
|
||||
|
|
@ -22,7 +21,6 @@ subdir('libraries')
|
|||
gamespy_dep = declare_dependency(
|
||||
compile_args: '-D_NITRO',
|
||||
dependencies: [
|
||||
msl_dep,
|
||||
nitrosdk_dep,
|
||||
nitrosystem_dep,
|
||||
nitrowifi_dep
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
.public sub_020DFAD0
|
||||
.public sub_020DFB80
|
||||
.public sub_020E3EEC
|
||||
.public sub_020E3F94
|
||||
.public sub_020E4000
|
||||
.public sub_020E40A0
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
.public sub_020DFA90
|
||||
.public sub_020E3F94
|
||||
.public Unk_021019C8
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
.public strlen
|
||||
.public strcpy
|
||||
.public sub_020DF9BC
|
||||
.public sub_020DF9C0
|
||||
.public sub_020DFB48
|
||||
.public sub_020DFBB0
|
||||
.public sub_020E3FA8
|
||||
.public __throw
|
||||
|
|
@ -1,212 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/ios.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start sub_020DF9BC
|
||||
sub_020DF9BC: ; 0x020DF9BC
|
||||
bx lr
|
||||
arm_func_end sub_020DF9BC
|
||||
|
||||
arm_func_start sub_020DF9C0
|
||||
sub_020DF9C0: ; 0x020DF9C0
|
||||
stmfd sp!, {r0, r1, r2, r3}
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
sub sp, sp, #8
|
||||
mov r5, r0
|
||||
mov r4, r1
|
||||
str r4, [r5, #0]
|
||||
add r1, sp, #0x20
|
||||
mov r0, #0x10
|
||||
str r4, [sp]
|
||||
str r1, [sp, #4]
|
||||
bl sub_020E3EEC
|
||||
cmp r0, #0
|
||||
beq _020DFA10
|
||||
ldr r1, _020DFA38 ; =0x02101A04
|
||||
mov r2, #1
|
||||
stmia r0, {r1, r2}
|
||||
ldr r1, _020DFA3C ; =0x02101A1C
|
||||
str r2, [r0, #8]
|
||||
str r1, [r0, #0]
|
||||
str r4, [r0, #0xc]
|
||||
_020DFA10:
|
||||
str r0, [r5, #4]
|
||||
mov r1, #0
|
||||
add r0, sp, #0
|
||||
str r1, [sp]
|
||||
bl sub_020DFAD0
|
||||
mov r0, r5
|
||||
add sp, sp, #8
|
||||
ldmia sp!, {r3, r4, r5, lr}
|
||||
add sp, sp, #0x10
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_020DFA38: .word 0x02101A04
|
||||
_020DFA3C: .word 0x02101A1C
|
||||
arm_func_end sub_020DF9C0
|
||||
|
||||
arm_func_start sub_020DFA40
|
||||
sub_020DFA40: ; 0x020DFA40
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
bl sub_020E3F94
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end sub_020DFA40
|
||||
|
||||
arm_func_start sub_020DFA54
|
||||
sub_020DFA54: ; 0x020DFA54
|
||||
bx lr
|
||||
arm_func_end sub_020DFA54
|
||||
|
||||
arm_func_start sub_020DFA58
|
||||
sub_020DFA58: ; 0x020DFA58
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
mov r0, r1
|
||||
ldr r1, _020DFA7C ; =0x021019D8
|
||||
bl sub_020E40A0
|
||||
cmp r0, #0
|
||||
addne r0, r4, #0xc
|
||||
moveq r0, #0
|
||||
ldmia sp!, {r4, pc}
|
||||
; .align 2, 0
|
||||
_020DFA7C: .word Unk_021019D8
|
||||
arm_func_end sub_020DFA58
|
||||
|
||||
arm_func_start sub_020DFA80
|
||||
sub_020DFA80: ; 0x020DFA80
|
||||
ldr ip, _020DFA8C ; =sub_020E4000
|
||||
ldr r0, [r0, #0xc]
|
||||
bx ip
|
||||
; .align 2, 0
|
||||
_020DFA8C: .word sub_020E4000
|
||||
arm_func_end sub_020DFA80
|
||||
|
||||
arm_func_start sub_020DFA90
|
||||
sub_020DFA90: ; 0x020DFA90
|
||||
stmfd sp!, {r3, r4, fp, lr}
|
||||
sub sp, sp, #0x18
|
||||
mov fp, sp
|
||||
mov r4, r0
|
||||
ldr r0, [r4, #4]
|
||||
cmp r0, #0
|
||||
beq _020DFAB0
|
||||
bl sub_020DFB80
|
||||
_020DFAB0:
|
||||
add sp, fp, #0x18
|
||||
mov r0, r4
|
||||
ldmia sp!, {r3, r4, fp, pc}
|
||||
_020DFABC:
|
||||
.byte 0x00, 0x00, 0x8B, 0xE2
|
||||
.byte 0xDA, 0x0F, 0x00, 0xEB, 0xFE, 0xFF, 0xFF, 0xEA, 0x18, 0xD0, 0x8B, 0xE2, 0x18, 0x88, 0xBD, 0xE8
|
||||
arm_func_end sub_020DFA90
|
||||
|
||||
arm_func_start sub_020DFAD0
|
||||
sub_020DFAD0: ; 0x020DFAD0
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
ldr r0, [r4, #0]
|
||||
cmp r0, #0
|
||||
beq _020DFAE8
|
||||
bl sub_020E4000
|
||||
_020DFAE8:
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end sub_020DFAD0
|
||||
|
||||
arm_func_start sub_020DFAF0
|
||||
sub_020DFAF0: ; 0x020DFAF0
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
bl sub_020E3F94
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end sub_020DFAF0
|
||||
|
||||
arm_func_start sub_020DFB04
|
||||
sub_020DFB04: ; 0x020DFB04
|
||||
bx lr
|
||||
arm_func_end sub_020DFB04
|
||||
|
||||
|
||||
.section .exception, 4
|
||||
|
||||
|
||||
.global Unk_020E4590
|
||||
Unk_020E4590: ; 0x020E4590
|
||||
.byte 0x20, 0x3, 0x50, 0x58, 0x0, 0xE, 0x0, 0x82
|
||||
.byte 0x0, 0xD0, 0xFA, 0xD
|
||||
.word 0x2
|
||||
|
||||
.global Unk_020E45A0
|
||||
Unk_020E45A0: ; 0x020E45A0
|
||||
.byte 0x40, 0x81, 0x50, 0x0, 0x40, 0x0, 0x16, 0x28
|
||||
.short 0x1E00, 0x8F00, 0x5800, 0x8D00
|
||||
.space 0x4
|
||||
|
||||
|
||||
.data
|
||||
|
||||
|
||||
.global Unk_021019C8
|
||||
Unk_021019C8: ; 0x021019C8
|
||||
.word 0x02101CB8
|
||||
.word Unk_021019EC
|
||||
|
||||
.global Unk_021019D0
|
||||
Unk_021019D0: ; 0x021019D0
|
||||
.word 0x02101CB8
|
||||
.word Unk_02101A50
|
||||
|
||||
.global Unk_021019D8
|
||||
Unk_021019D8: ; 0x021019D8
|
||||
.word 0x02101CB8
|
||||
.word Unk_02101A2C
|
||||
|
||||
.global Unk_021019E0
|
||||
Unk_021019E0: ; 0x021019E0
|
||||
.word 0x02101CA8
|
||||
.word Unk_02101A7C
|
||||
.word Unk_021019D0
|
||||
|
||||
.global Unk_021019EC
|
||||
Unk_021019EC: ; 0x021019EC
|
||||
.ascii "St9exception"
|
||||
.space 0x4
|
||||
|
||||
.global Unk_021019FC
|
||||
Unk_021019FC: ; 0x021019FC
|
||||
.space 0x4
|
||||
.word Unk_021019D0
|
||||
.word sub_020DFA54
|
||||
.word sub_020DFA40
|
||||
.space 0x8
|
||||
|
||||
.global Unk_02101A14
|
||||
Unk_02101A14: ; 0x02101A14
|
||||
.space 0x4
|
||||
.word Unk_021019E0
|
||||
.word sub_020DFB04
|
||||
.word sub_020DFAF0
|
||||
.word sub_020DFA58
|
||||
.word sub_020DFA80
|
||||
|
||||
.global Unk_02101A2C
|
||||
Unk_02101A2C: ; 0x02101A2C
|
||||
.asciz "NSt6detail14default_deleteIA0_cEE"
|
||||
.space 0x2
|
||||
|
||||
.global Unk_02101A50
|
||||
Unk_02101A50: ; 0x02101A50
|
||||
.ascii "NSt3tr16detail25shared_ptr_deleter_commonE"
|
||||
.space 0x2
|
||||
|
||||
.global Unk_02101A7C
|
||||
Unk_02101A7C: ; 0x02101A7C
|
||||
.asciz "NSt3tr16detail18shared_ptr_deleterIcNSt6detail14default_deleteIA0_cEEEE"
|
||||
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/locale_cpp.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start sub_020DFB08
|
||||
sub_020DFB08: ; 0x020DFB08
|
||||
ldr r0, [r0, #4]
|
||||
bx lr
|
||||
arm_func_end sub_020DFB08
|
||||
|
||||
arm_func_start sub_020DFB10
|
||||
sub_020DFB10: ; 0x020DFB10
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
add r0, r4, #4
|
||||
bl sub_020DFA90
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end sub_020DFB10
|
||||
|
||||
arm_func_start sub_020DFB28
|
||||
sub_020DFB28: ; 0x020DFB28
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
add r0, r4, #4
|
||||
bl sub_020DFA90
|
||||
mov r0, r4
|
||||
bl sub_020E3F94
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end sub_020DFB28
|
||||
|
||||
arm_func_start sub_020DFB48
|
||||
sub_020DFB48: ; 0x020DFB48
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
add r0, r4, #4
|
||||
bl sub_020DFA90
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end sub_020DFB48
|
||||
|
||||
arm_func_start sub_020DFB60
|
||||
sub_020DFB60: ; 0x020DFB60
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
add r0, r4, #4
|
||||
bl sub_020DFA90
|
||||
mov r0, r4
|
||||
bl sub_020E3F94
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end sub_020DFB60
|
||||
|
||||
.data
|
||||
|
||||
|
||||
.global Unk_02101AC4
|
||||
Unk_02101AC4: ; 0x02101AC4
|
||||
.word 0x02101CA8
|
||||
.word Unk_02101ADC
|
||||
.word Unk_021019C8
|
||||
|
||||
.global Unk_02101AD0
|
||||
Unk_02101AD0: ; 0x02101AD0
|
||||
.word 0x02101CA8
|
||||
.word Unk_02101AEC
|
||||
.word Unk_02101AC4
|
||||
|
||||
.global Unk_02101ADC
|
||||
Unk_02101ADC: ; 0x02101ADC
|
||||
.asciz "St11logic_error"
|
||||
|
||||
.global Unk_02101AEC
|
||||
Unk_02101AEC: ; 0x02101AEC
|
||||
.ascii "St12length_error"
|
||||
.space 0x4
|
||||
|
||||
.global Unk_02101B00
|
||||
Unk_02101B00: ; 0x02101B00
|
||||
.word 0x0
|
||||
.word Unk_02101AD0
|
||||
.word sub_020DFB48
|
||||
.word sub_020DFB60
|
||||
.word sub_020DFB08
|
||||
|
||||
.global Unk_02101B14
|
||||
Unk_02101B14: ; 0x02101B14
|
||||
.word 0x0
|
||||
.word Unk_02101AC4
|
||||
.word sub_020DFB10
|
||||
.word sub_020DFB28
|
||||
.word sub_020DFB08
|
||||
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
.macro arm_func_start name
|
||||
.balign 4, 0
|
||||
.global \name
|
||||
.type \name, @function
|
||||
.arm
|
||||
.endm
|
||||
|
||||
.macro arm_func_end name
|
||||
.size \name, .-\name
|
||||
.endm
|
||||
|
||||
.macro thumb_func_start name
|
||||
.balign 4, 0
|
||||
.global \name
|
||||
.type \name, @function
|
||||
.thumb
|
||||
.endm
|
||||
|
||||
.macro non_word_aligned_thumb_func_start name
|
||||
.global \name
|
||||
.type \name, @function
|
||||
.thumb
|
||||
.endm
|
||||
|
||||
.macro thumb_func_end name
|
||||
.size \name, .-\name
|
||||
.endm
|
||||
|
|
@ -1,103 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/msl_thread.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start sub_020DFB80
|
||||
sub_020DFB80: ; 0x020DFB80
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
ldr r1, [r4, #4]
|
||||
subs r1, r1, #1
|
||||
str r1, [r4, #4]
|
||||
ldmneia sp!, {r4, pc}
|
||||
ldr r1, [r0, #0]
|
||||
ldr r1, [r1, #0xc]
|
||||
blx r1
|
||||
mov r0, r4
|
||||
bl sub_020DFBB0
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end sub_020DFB80
|
||||
|
||||
arm_func_start sub_020DFBB0
|
||||
sub_020DFBB0: ; 0x020DFBB0
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r1, [r0, #8]
|
||||
subs r1, r1, #1
|
||||
str r1, [r0, #8]
|
||||
ldmneia sp!, {r3, pc}
|
||||
cmp r0, #0
|
||||
ldmeqia sp!, {r3, pc}
|
||||
ldr r1, [r0, #0]
|
||||
ldr r1, [r1, #4]
|
||||
blx r1
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end sub_020DFBB0
|
||||
|
||||
arm_func_start sub_020DFBDC
|
||||
sub_020DFBDC: ; 0x020DFBDC
|
||||
stmfd sp!, {r4, r5, r6, lr}
|
||||
sub sp, sp, #0x10
|
||||
ldr r4, _020DFC58 ; =0x02101B28
|
||||
ldr r1, _020DFC5C ; =0x02101B1C
|
||||
add r6, sp, #4
|
||||
mov r0, r4
|
||||
str r1, [sp, #4]
|
||||
add r5, sp, #8
|
||||
bl strlen
|
||||
add r0, r0, #1
|
||||
rsb r0, r0, r0, lsl #1
|
||||
bl sub_020E3FA8
|
||||
mov r1, #0
|
||||
strb r1, [sp]
|
||||
sub r2, sp, #4
|
||||
strb r1, [r2]
|
||||
mov r1, r0
|
||||
ldr r2, [r2, #0]
|
||||
mov r0, r5
|
||||
bl sub_020DF9C0
|
||||
ldr r0, [r5, #0]
|
||||
mov r1, r4
|
||||
bl strcpy
|
||||
ldr r3, _020DFC60 ; =0x02101B08
|
||||
ldr r0, _020DFC64 ; =0x02101B3C
|
||||
ldr r2, _020DFC68 ; =sub_020DFB48
|
||||
mov r1, r6
|
||||
str r3, [sp, #4]
|
||||
bl __throw
|
||||
add sp, sp, #0x10
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
_020DFC58: .word Unk_02101B28
|
||||
_020DFC5C: .word 0x02101B1C
|
||||
_020DFC60: .word 0x02101B08
|
||||
_020DFC64: .word Unk_02101B3C
|
||||
_020DFC68: .word sub_020DFB48
|
||||
arm_func_end sub_020DFBDC
|
||||
|
||||
|
||||
.section .exception, 4
|
||||
|
||||
|
||||
.global Unk_020E45B4
|
||||
Unk_020E45B4: ; 0x020E45B4
|
||||
.short 0x700, 0x4840
|
||||
.short 0x2258, 0x18, 0x14, 0xA27, 0x9000, 0xDFA, 0xA602, 0xC
|
||||
.word sub_020DF9BC
|
||||
|
||||
|
||||
.data
|
||||
|
||||
|
||||
.global Unk_02101B28
|
||||
Unk_02101B28: ; 0x02101B28
|
||||
.asciz "vector length error"
|
||||
|
||||
.global Unk_02101B3C
|
||||
Unk_02101B3C: ; 0x02101B3C
|
||||
.ascii "!std::exception!!std::logic_error!!std::length_error!!"
|
||||
.space 0x2
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
msl_cpp_srcs = files(
|
||||
'asm/ios.s',
|
||||
'asm/locale_cpp.s',
|
||||
'asm/msl_thread.s'
|
||||
)
|
||||
|
||||
msl_cpp = static_library('MSL_CPP_NITRO_Ai_LE',
|
||||
name_prefix: '',
|
||||
sources: msl_cpp_srcs,
|
||||
c_args: c_args,
|
||||
nasm_args: asm_args,
|
||||
include_directories: public_includes,
|
||||
pic: false
|
||||
)
|
||||
|
||||
msl_libs += msl_cpp
|
||||
|
|
@ -1,161 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/abort_exit_arm.inc"
|
||||
|
||||
.extern Unk_021D0810
|
||||
.extern Unk_021D0820
|
||||
.extern OSi_ThreadInfo
|
||||
.extern Unk_021D0920
|
||||
.extern Unk_021D0944
|
||||
.extern Unk_021D0968
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start abort
|
||||
abort: ; 0x020D3DA0
|
||||
stmfd sp!, {r3, lr}
|
||||
mov r0, #1
|
||||
bl raise
|
||||
ldr r1, _020D3DC0 ; =0x021D0810
|
||||
mov r0, #1
|
||||
str r0, [r1, #0xc]
|
||||
bl exit
|
||||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_020D3DC0: .word Unk_021D0810
|
||||
arm_func_end abort
|
||||
|
||||
arm_func_start exit
|
||||
exit: ; 0x020D3DC4
|
||||
stmfd sp!, {r4, lr}
|
||||
ldr r1, _020D3E0C ; =0x021D0810
|
||||
mov r4, r0
|
||||
ldr r0, [r1, #0xc]
|
||||
cmp r0, #0
|
||||
bne _020D3E00
|
||||
bl __destroy_global_chain
|
||||
ldr r0, _020D3E0C ; =0x021D0810
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
beq _020D3E00
|
||||
blx r0
|
||||
ldr r0, _020D3E0C ; =0x021D0810
|
||||
mov r1, #0
|
||||
str r1, [r0, #4]
|
||||
_020D3E00:
|
||||
mov r0, r4
|
||||
bl __exit
|
||||
ldmia sp!, {r4, pc}
|
||||
; .align 2, 0
|
||||
_020D3E0C: .word Unk_021D0810
|
||||
arm_func_end exit
|
||||
|
||||
arm_func_start __exit
|
||||
__exit: ; 0x020D3E10
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
ldr r0, _020D3F20 ; =0x021D0968
|
||||
bl OS_TryLockMutex
|
||||
cmp r0, #0
|
||||
bne _020D3E48
|
||||
ldr r0, _020D3F24 ; =0x021CCC80
|
||||
ldr r1, _020D3F28 ; =0x021D0920
|
||||
ldr r2, [r0, #4]
|
||||
ldr r0, _020D3F2C ; =0x021D0944
|
||||
ldr r3, [r2, #0x6c]
|
||||
mov r2, #1
|
||||
str r3, [r1, #0]
|
||||
str r2, [r0, #0]
|
||||
b _020D3EA0
|
||||
_020D3E48:
|
||||
ldr r0, _020D3F24 ; =0x021CCC80
|
||||
ldr r1, _020D3F28 ; =0x021D0920
|
||||
ldr r0, [r0, #4]
|
||||
ldr r1, [r1, #0]
|
||||
ldr r0, [r0, #0x6c]
|
||||
cmp r1, r0
|
||||
bne _020D3E78
|
||||
ldr r0, _020D3F2C ; =0x021D0944
|
||||
ldr r1, [r0, #0]
|
||||
add r1, r1, #1
|
||||
str r1, [r0, #0]
|
||||
b _020D3EA0
|
||||
_020D3E78:
|
||||
ldr r0, _020D3F20 ; =0x021D0968
|
||||
bl OS_LockMutex
|
||||
ldr r0, _020D3F24 ; =0x021CCC80
|
||||
ldr r1, _020D3F28 ; =0x021D0920
|
||||
ldr r2, [r0, #4]
|
||||
ldr r0, _020D3F2C ; =0x021D0944
|
||||
ldr r3, [r2, #0x6c]
|
||||
mov r2, #1
|
||||
str r3, [r1, #0]
|
||||
str r2, [r0, #0]
|
||||
_020D3EA0:
|
||||
ldr r4, _020D3F30 ; =0x021D0810
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
ble _020D3ED4
|
||||
ldr r5, _020D3F34 ; =0x021D0820
|
||||
_020D3EB4:
|
||||
ldr r0, [r4, #8]
|
||||
sub r1, r0, #1
|
||||
ldr r0, [r5, r1, lsl #2]
|
||||
str r1, [r4, #8]
|
||||
blx r0
|
||||
ldr r0, [r4, #8]
|
||||
cmp r0, #0
|
||||
bgt _020D3EB4
|
||||
_020D3ED4:
|
||||
ldr r0, _020D3F2C ; =0x021D0944
|
||||
ldr r1, [r0, #0]
|
||||
subs r1, r1, #1
|
||||
str r1, [r0, #0]
|
||||
bne _020D3EF0
|
||||
ldr r0, _020D3F20 ; =0x021D0968
|
||||
bl OS_UnlockMutex
|
||||
_020D3EF0:
|
||||
ldr r0, _020D3F30 ; =0x021D0810
|
||||
ldr r0, [r0, #0]
|
||||
cmp r0, #0
|
||||
beq _020D3F10
|
||||
blx r0
|
||||
ldr r0, _020D3F30 ; =0x021D0810
|
||||
mov r1, #0
|
||||
str r1, [r0, #0]
|
||||
_020D3F10:
|
||||
mov r0, #0
|
||||
bl fflush
|
||||
bl _ExitProcess
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_020D3F20: .word Unk_021D0968
|
||||
_020D3F24: .word OSi_ThreadInfo
|
||||
_020D3F28: .word Unk_021D0920
|
||||
_020D3F2C: .word Unk_021D0944
|
||||
_020D3F30: .word Unk_021D0810
|
||||
_020D3F34: .word Unk_021D0820
|
||||
arm_func_end __exit
|
||||
|
||||
.bss
|
||||
|
||||
|
||||
.global Unk_021D0810
|
||||
Unk_021D0810: ; 0x021D0810
|
||||
.space 0x4
|
||||
|
||||
.global Unk_021D0814
|
||||
Unk_021D0814: ; 0x021D0814
|
||||
.space 0x4
|
||||
|
||||
.global Unk_021D0818
|
||||
Unk_021D0818: ; 0x021D0818
|
||||
.space 0x4
|
||||
|
||||
.global Unk_021D081C
|
||||
Unk_021D081C: ; 0x021D081C
|
||||
.space 0x4
|
||||
|
||||
.global Unk_021D0820
|
||||
Unk_021D0820: ; 0x021D0820
|
||||
.space 0x100
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,19 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
|
||||
|
||||
|
||||
.bss
|
||||
|
||||
|
||||
.global Unk_021D0920
|
||||
Unk_021D0920: ; 0x021D0920
|
||||
.space 0x24
|
||||
|
||||
.global Unk_021D0944
|
||||
Unk_021D0944: ; 0x021D0944
|
||||
.space 0x24
|
||||
|
||||
.global Unk_021D0968
|
||||
Unk_021D0968: ; 0x021D0968
|
||||
.space 0xD8
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
|
||||
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_020FE764
|
||||
Unk_020FE764: ; 0x020FE764
|
||||
.byte 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB
|
||||
.byte 0xC, 0xD, 0xE, 0xF, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16
|
||||
.byte 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F
|
||||
.ascii " !"
|
||||
.byte 0x22
|
||||
.ascii "#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz["
|
||||
.byte 0x5C
|
||||
.ascii "]^_`abcdefghijklmnopqrstuvwxyz{|}~"
|
||||
.byte 0x7F
|
||||
|
||||
|
||||
.global Unk_020FE7E4
|
||||
Unk_020FE7E4: ; 0x020FE7E4
|
||||
.byte 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB
|
||||
.byte 0xC, 0xD, 0xE, 0xF, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16
|
||||
.byte 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F
|
||||
.ascii " !"
|
||||
.byte 0x22
|
||||
.ascii "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ["
|
||||
.byte 0x5C
|
||||
.ascii "]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~"
|
||||
.byte 0x7F
|
||||
|
||||
.global Unk_020FE864
|
||||
Unk_020FE864: ; 0x020FE864
|
||||
.incbin "incbin/ctype.bin", 0x0, 0x100
|
||||
|
||||
|
|
@ -1,509 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/direct_io.inc"
|
||||
|
||||
.extern OSi_ThreadInfo
|
||||
.extern Unk_021D0920
|
||||
.extern Unk_021D0944
|
||||
.extern Unk_021D0968
|
||||
.extern __files
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start fread
|
||||
fread: ; 0x020D4204
|
||||
stmfd sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
||||
ldr r4, _020D42FC ; =0x02101490
|
||||
mov r7, r3
|
||||
cmp r7, r4
|
||||
moveq r6, #2
|
||||
mov sl, r0
|
||||
movne r6, #5
|
||||
mov r0, #0x18
|
||||
mul r4, r6, r0
|
||||
ldr r5, _020D4300 ; =0x021D0968
|
||||
mov sb, r1
|
||||
add r0, r5, r4
|
||||
mov r8, r2
|
||||
bl OS_TryLockMutex
|
||||
cmp r0, #0
|
||||
bne _020D4268
|
||||
ldr r0, _020D4304 ; =0x021CCC80
|
||||
ldr r2, _020D4308 ; =0x021D0920
|
||||
ldr r1, [r0, #4]
|
||||
ldr r0, _020D430C ; =0x021D0944
|
||||
ldr r3, [r1, #0x6c]
|
||||
mov r1, #1
|
||||
str r3, [r2, r6, lsl #2]
|
||||
str r1, [r0, r6, lsl #2]
|
||||
b _020D42C0
|
||||
_020D4268:
|
||||
ldr r0, _020D4304 ; =0x021CCC80
|
||||
ldr r1, _020D4308 ; =0x021D0920
|
||||
ldr r0, [r0, #4]
|
||||
ldr r1, [r1, r6, lsl #2]
|
||||
ldr r0, [r0, #0x6c]
|
||||
cmp r1, r0
|
||||
bne _020D4298
|
||||
ldr r1, _020D430C ; =0x021D0944
|
||||
ldr r0, [r1, r6, lsl #2]
|
||||
add r0, r0, #1
|
||||
str r0, [r1, r6, lsl #2]
|
||||
b _020D42C0
|
||||
_020D4298:
|
||||
add r0, r5, r4
|
||||
bl OS_LockMutex
|
||||
ldr r0, _020D4304 ; =0x021CCC80
|
||||
ldr r2, _020D4308 ; =0x021D0920
|
||||
ldr r1, [r0, #4]
|
||||
ldr r0, _020D430C ; =0x021D0944
|
||||
ldr r3, [r1, #0x6c]
|
||||
mov r1, #1
|
||||
str r3, [r2, r6, lsl #2]
|
||||
str r1, [r0, r6, lsl #2]
|
||||
_020D42C0:
|
||||
mov r0, sl
|
||||
mov r1, sb
|
||||
mov r2, r8
|
||||
mov r3, r7
|
||||
bl __fread
|
||||
ldr r1, _020D430C ; =0x021D0944
|
||||
mov r7, r0
|
||||
ldr r0, [r1, r6, lsl #2]
|
||||
subs r0, r0, #1
|
||||
str r0, [r1, r6, lsl #2]
|
||||
bne _020D42F4
|
||||
add r0, r5, r4
|
||||
bl OS_UnlockMutex
|
||||
_020D42F4:
|
||||
mov r0, r7
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
||||
; .align 2, 0
|
||||
_020D42FC: .word __files
|
||||
_020D4300: .word Unk_021D0968
|
||||
_020D4304: .word OSi_ThreadInfo
|
||||
_020D4308: .word Unk_021D0920
|
||||
_020D430C: .word Unk_021D0944
|
||||
arm_func_end fread
|
||||
|
||||
arm_func_start __fread
|
||||
__fread: ; 0x020D4310
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
|
||||
sub sp, sp, #4
|
||||
mov r7, r3
|
||||
mov sb, r0
|
||||
mov r8, r1
|
||||
mov r0, r7
|
||||
mov r1, #0
|
||||
mov r4, r2
|
||||
bl fwide
|
||||
cmp r0, #0
|
||||
bne _020D4348
|
||||
mov r0, r7
|
||||
mvn r1, #0
|
||||
bl fwide
|
||||
_020D4348:
|
||||
muls r4, r8, r4
|
||||
beq _020D436C
|
||||
ldrb r0, [r7, #0xd]
|
||||
cmp r0, #0
|
||||
bne _020D436C
|
||||
ldr r1, [r7, #4]
|
||||
mov r0, r1, lsl #0x16
|
||||
movs r0, r0, lsr #0x1d
|
||||
bne _020D4378
|
||||
_020D436C:
|
||||
add sp, sp, #4
|
||||
mov r0, #0
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
||||
_020D4378:
|
||||
mov r0, r1, lsl #0x13
|
||||
movs r0, r0, lsr #0x1f
|
||||
movne r0, r1, lsl #0x19
|
||||
movne r0, r0, lsr #0x1e
|
||||
ldr r1, [r7, #8]
|
||||
cmpne r0, #2
|
||||
mov r6, #1
|
||||
mov r0, r1, lsl #0x1d
|
||||
movne r6, #0
|
||||
movs r0, r0, lsr #0x1d
|
||||
bne _020D43CC
|
||||
ldr r0, [r7, #4]
|
||||
mov r0, r0, lsl #0x1b
|
||||
mov r0, r0, lsr #0x1d
|
||||
tst r0, #1
|
||||
beq _020D43CC
|
||||
bic r0, r1, #7
|
||||
orr r0, r0, #2
|
||||
str r0, [r7, #8]
|
||||
mov r0, #0
|
||||
str r0, [r7, #0x28]
|
||||
_020D43CC:
|
||||
ldr r0, [r7, #8]
|
||||
mov r0, r0, lsl #0x1d
|
||||
mov r0, r0, lsr #0x1d
|
||||
cmp r0, #2
|
||||
bhs _020D43F8
|
||||
mov r0, #1
|
||||
strb r0, [r7, #0xd]
|
||||
mov r0, #0
|
||||
add sp, sp, #4
|
||||
str r0, [r7, #0x28]
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
||||
_020D43F8:
|
||||
ldr r0, [r7, #4]
|
||||
mov r0, r0, lsl #0x19
|
||||
mov r0, r0, lsr #0x1e
|
||||
tst r0, #1
|
||||
beq _020D4430
|
||||
bl __flush_line_buffered_output_files
|
||||
cmp r0, #0
|
||||
beq _020D4430
|
||||
mov r0, #1
|
||||
strb r0, [r7, #0xd]
|
||||
mov r0, #0
|
||||
add sp, sp, #4
|
||||
str r0, [r7, #0x28]
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
||||
_020D4430:
|
||||
cmp r4, #0
|
||||
mov r5, #0
|
||||
beq _020D44F4
|
||||
ldr r0, [r7, #8]
|
||||
mov r0, r0, lsl #0x1d
|
||||
mov r0, r0, lsr #0x1d
|
||||
cmp r0, #3
|
||||
blo _020D44F4
|
||||
mov sl, r5
|
||||
_020D4454:
|
||||
mov r0, r7
|
||||
mov r1, sl
|
||||
bl fwide
|
||||
cmp r0, #1
|
||||
ldr r0, [r7, #8]
|
||||
bne _020D4488
|
||||
mov r0, r0, lsl #0x1d
|
||||
add r0, r7, r0, lsr #28
|
||||
ldrh r0, [r0, #0xe]
|
||||
add r5, r5, #2
|
||||
sub r4, r4, #2
|
||||
strh r0, [sb], #2
|
||||
b _020D44A0
|
||||
_020D4488:
|
||||
mov r0, r0, lsl #0x1d
|
||||
add r0, r7, r0, lsr #29
|
||||
ldrb r0, [r0, #0xf]
|
||||
add r5, r5, #1
|
||||
sub r4, r4, #1
|
||||
strb r0, [sb], #1
|
||||
_020D44A0:
|
||||
ldr r1, [r7, #8]
|
||||
cmp r4, #0
|
||||
mov r0, r1, lsl #0x1d
|
||||
mov r0, r0, lsr #0x1d
|
||||
sub r0, r0, #1
|
||||
bic r1, r1, #7
|
||||
and r0, r0, #7
|
||||
orr r0, r1, r0
|
||||
str r0, [r7, #8]
|
||||
beq _020D44DC
|
||||
ldr r0, [r7, #8]
|
||||
mov r0, r0, lsl #0x1d
|
||||
mov r0, r0, lsr #0x1d
|
||||
cmp r0, #3
|
||||
bhs _020D4454
|
||||
_020D44DC:
|
||||
ldr r0, [r7, #8]
|
||||
mov r0, r0, lsl #0x1d
|
||||
mov r0, r0, lsr #0x1d
|
||||
cmp r0, #2
|
||||
ldreq r0, [r7, #0x30]
|
||||
streq r0, [r7, #0x28]
|
||||
_020D44F4:
|
||||
cmp r4, #0
|
||||
beq _020D45B8
|
||||
ldr r0, [r7, #0x28]
|
||||
cmp r0, #0
|
||||
cmpeq r6, #0
|
||||
beq _020D45B8
|
||||
mov sl, #0
|
||||
_020D4510:
|
||||
ldr r0, [r7, #0x28]
|
||||
cmp r0, #0
|
||||
bne _020D4564
|
||||
mov r0, r7
|
||||
mov r1, sl
|
||||
mov r2, sl
|
||||
bl __load_buffer
|
||||
cmp r0, #0
|
||||
beq _020D4564
|
||||
cmp r0, #1
|
||||
mov r0, #1
|
||||
streqb r0, [r7, #0xd]
|
||||
beq _020D4554
|
||||
ldr r1, [r7, #8]
|
||||
bic r1, r1, #7
|
||||
str r1, [r7, #8]
|
||||
strb r0, [r7, #0xc]
|
||||
_020D4554:
|
||||
mov r0, #0
|
||||
str r0, [r7, #0x28]
|
||||
mov r4, #0
|
||||
b _020D45B8
|
||||
_020D4564:
|
||||
ldr r0, [r7, #0x28]
|
||||
str r0, [sp]
|
||||
cmp r0, r4
|
||||
strhi r4, [sp]
|
||||
ldr r1, [r7, #0x24]
|
||||
ldr r2, [sp]
|
||||
mov r0, sb
|
||||
bl memcpy
|
||||
ldr r2, [sp]
|
||||
ldr r0, [r7, #0x24]
|
||||
subs r4, r4, r2
|
||||
add r0, r0, r2
|
||||
str r0, [r7, #0x24]
|
||||
ldr r1, [r7, #0x28]
|
||||
ldr r0, [sp]
|
||||
add sb, sb, r2
|
||||
sub r0, r1, r0
|
||||
add r5, r5, r2
|
||||
str r0, [r7, #0x28]
|
||||
cmpne r6, #0
|
||||
bne _020D4510
|
||||
_020D45B8:
|
||||
cmp r4, #0
|
||||
beq _020D4644
|
||||
cmp r6, #0
|
||||
bne _020D4644
|
||||
ldr r6, [r7, #0x1c]
|
||||
ldr sl, [r7, #0x20]
|
||||
add r1, sp, #0
|
||||
str sb, [r7, #0x1c]
|
||||
mov r0, r7
|
||||
mov r2, #1
|
||||
str r4, [r7, #0x20]
|
||||
bl __load_buffer
|
||||
cmp r0, #0
|
||||
beq _020D4624
|
||||
cmp r0, #1
|
||||
mov r0, #1
|
||||
bne _020D460C
|
||||
strb r0, [r7, #0xd]
|
||||
mov r0, #0
|
||||
str r0, [r7, #0x28]
|
||||
b _020D4624
|
||||
_020D460C:
|
||||
ldr r1, [r7, #8]
|
||||
bic r1, r1, #7
|
||||
str r1, [r7, #8]
|
||||
strb r0, [r7, #0xc]
|
||||
mov r0, #0
|
||||
str r0, [r7, #0x28]
|
||||
_020D4624:
|
||||
ldr r1, [sp]
|
||||
mov r0, r7
|
||||
str r6, [r7, #0x1c]
|
||||
str sl, [r7, #0x20]
|
||||
add r5, r5, r1
|
||||
bl __prep_buffer
|
||||
mov r0, #0
|
||||
str r0, [r7, #0x28]
|
||||
_020D4644:
|
||||
mov r0, r5
|
||||
mov r1, r8
|
||||
bl _u32_div_f
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
||||
arm_func_end __fread
|
||||
|
||||
arm_func_start __fwrite
|
||||
__fwrite: ; 0x020D4658
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
sub sp, sp, #8
|
||||
mov sb, r3
|
||||
mov sl, r0
|
||||
str r1, [sp]
|
||||
mov r0, sb
|
||||
mov r1, #0
|
||||
mov r4, r2
|
||||
bl fwide
|
||||
cmp r0, #0
|
||||
bne _020D4690
|
||||
mov r0, sb
|
||||
mvn r1, #0
|
||||
bl fwide
|
||||
_020D4690:
|
||||
ldr r0, [sp]
|
||||
muls r5, r0, r4
|
||||
beq _020D46B8
|
||||
ldrb r0, [sb, #0xd]
|
||||
cmp r0, #0
|
||||
bne _020D46B8
|
||||
ldr r1, [sb, #4]
|
||||
mov r0, r1, lsl #0x16
|
||||
movs r0, r0, lsr #0x1d
|
||||
bne _020D46C4
|
||||
_020D46B8:
|
||||
add sp, sp, #8
|
||||
mov r0, #0
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
_020D46C4:
|
||||
mov r0, r1, lsl #0x13
|
||||
movs r0, r0, lsr #0x1f
|
||||
movne r0, r1, lsl #0x19
|
||||
movne r0, r0, lsr #0x1e
|
||||
cmpne r0, #2
|
||||
ldr r1, [sb, #8]
|
||||
cmpne r0, #1
|
||||
mov r8, #1
|
||||
mov r0, r1, lsl #0x1d
|
||||
movne r8, #0
|
||||
movs r0, r0, lsr #0x1d
|
||||
bne _020D471C
|
||||
ldr r0, [sb, #4]
|
||||
mov r0, r0, lsl #0x1b
|
||||
mov r0, r0, lsr #0x1d
|
||||
tst r0, #2
|
||||
beq _020D471C
|
||||
bic r0, r1, #7
|
||||
orr r1, r0, #1
|
||||
mov r0, sb
|
||||
str r1, [sb, #8]
|
||||
bl __prep_buffer
|
||||
_020D471C:
|
||||
ldr r0, [sb, #8]
|
||||
mov r0, r0, lsl #0x1d
|
||||
mov r0, r0, lsr #0x1d
|
||||
cmp r0, #1
|
||||
beq _020D4748
|
||||
mov r0, #1
|
||||
strb r0, [sb, #0xd]
|
||||
mov r0, #0
|
||||
add sp, sp, #8
|
||||
str r0, [sb, #0x28]
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
_020D4748:
|
||||
cmp r5, #0
|
||||
mov r6, #0
|
||||
beq _020D4870
|
||||
ldr r0, [sb, #0x1c]
|
||||
ldr r2, [sb, #0x24]
|
||||
cmp r2, r0
|
||||
cmpeq r8, #0
|
||||
beq _020D4870
|
||||
ldr r1, [sb, #0x20]
|
||||
sub r0, r2, r0
|
||||
sub r0, r1, r0
|
||||
str r0, [sb, #0x28]
|
||||
mov fp, #0xa
|
||||
mov r4, #0
|
||||
_020D4780:
|
||||
ldr r0, [sb, #0x28]
|
||||
mov r7, r4
|
||||
str r0, [sp, #4]
|
||||
cmp r0, r5
|
||||
strhi r5, [sp, #4]
|
||||
ldr r0, [sb, #4]
|
||||
mov r0, r0, lsl #0x19
|
||||
mov r0, r0, lsr #0x1e
|
||||
cmp r0, #1
|
||||
bne _020D47D0
|
||||
ldr r2, [sp, #4]
|
||||
cmp r2, #0
|
||||
beq _020D47D0
|
||||
mov r0, sl
|
||||
mov r1, fp
|
||||
bl __memrchr
|
||||
movs r7, r0
|
||||
addne r0, r7, #1
|
||||
subne r0, r0, sl
|
||||
strne r0, [sp, #4]
|
||||
_020D47D0:
|
||||
ldr r2, [sp, #4]
|
||||
cmp r2, #0
|
||||
beq _020D4810
|
||||
ldr r0, [sb, #0x24]
|
||||
mov r1, sl
|
||||
bl memcpy
|
||||
ldr r2, [sp, #4]
|
||||
ldr r0, [sb, #0x24]
|
||||
add sl, sl, r2
|
||||
add r0, r0, r2
|
||||
str r0, [sb, #0x24]
|
||||
ldr r1, [sb, #0x28]
|
||||
ldr r0, [sp, #4]
|
||||
sub r5, r5, r2
|
||||
sub r0, r1, r0
|
||||
str r0, [sb, #0x28]
|
||||
_020D4810:
|
||||
ldr r0, [sb, #0x28]
|
||||
cmp r0, #0
|
||||
beq _020D4834
|
||||
cmp r7, #0
|
||||
bne _020D4834
|
||||
ldr r0, [sb, #4]
|
||||
mov r0, r0, lsl #0x19
|
||||
movs r0, r0, lsr #0x1e
|
||||
bne _020D485C
|
||||
_020D4834:
|
||||
mov r0, sb
|
||||
mov r1, #0
|
||||
bl __flush_buffer
|
||||
cmp r0, #0
|
||||
beq _020D485C
|
||||
mov r0, #1
|
||||
strb r0, [sb, #0xd]
|
||||
mov r5, #0
|
||||
str r5, [sb, #0x28]
|
||||
b _020D4870
|
||||
_020D485C:
|
||||
ldr r0, [sp, #4]
|
||||
cmp r5, #0
|
||||
add r6, r6, r0
|
||||
cmpne r8, #0
|
||||
bne _020D4780
|
||||
_020D4870:
|
||||
cmp r5, #0
|
||||
beq _020D48DC
|
||||
cmp r8, #0
|
||||
bne _020D48DC
|
||||
ldr r4, [sb, #0x1c]
|
||||
ldr r7, [sb, #0x20]
|
||||
add r2, sl, r5
|
||||
str sl, [sb, #0x1c]
|
||||
str r5, [sb, #0x20]
|
||||
add r1, sp, #4
|
||||
mov r0, sb
|
||||
str r2, [sb, #0x24]
|
||||
bl __flush_buffer
|
||||
cmp r0, #0
|
||||
ldreq r0, [sp, #4]
|
||||
addeq r6, r6, r0
|
||||
beq _020D48C4
|
||||
mov r0, #1
|
||||
strb r0, [sb, #0xd]
|
||||
mov r0, #0
|
||||
str r0, [sb, #0x28]
|
||||
_020D48C4:
|
||||
str r4, [sb, #0x1c]
|
||||
mov r0, sb
|
||||
str r7, [sb, #0x20]
|
||||
bl __prep_buffer
|
||||
mov r0, #0
|
||||
str r0, [sb, #0x28]
|
||||
_020D48DC:
|
||||
ldr r0, [sb, #4]
|
||||
ldr r1, [sp]
|
||||
mov r0, r0, lsl #0x19
|
||||
mov r0, r0, lsr #0x1e
|
||||
cmp r0, #2
|
||||
movne r0, #0
|
||||
strne r0, [sb, #0x28]
|
||||
mov r0, r6
|
||||
bl _u32_div_f
|
||||
add sp, sp, #8
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
arm_func_end __fwrite
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,107 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/file_io.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start fclose
|
||||
fclose: ; 0x020D4908
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
movs r5, r0
|
||||
mvneq r0, #0
|
||||
ldmeqia sp!, {r3, r4, r5, pc}
|
||||
ldr r1, [r5, #4]
|
||||
mov r1, r1, lsl #0x16
|
||||
movs r1, r1, lsr #0x1d
|
||||
moveq r0, #0
|
||||
ldmeqia sp!, {r3, r4, r5, pc}
|
||||
bl fflush
|
||||
mov r4, r0
|
||||
ldr r0, [r5, #0]
|
||||
ldr r1, [r5, #0x44]
|
||||
blx r1
|
||||
ldr r1, [r5, #4]
|
||||
mov r2, #0
|
||||
bic r1, r1, #0x380
|
||||
str r1, [r5, #4]
|
||||
str r2, [r5, #0]
|
||||
ldr r1, [r5, #8]
|
||||
mov r1, r1, lsl #0x1c
|
||||
movs r1, r1, lsr #0x1f
|
||||
subne r0, r2, #1
|
||||
ldmneia sp!, {r3, r4, r5, pc}
|
||||
cmp r4, #0
|
||||
cmpeq r0, #0
|
||||
movne r2, #1
|
||||
rsb r0, r2, #0
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
arm_func_end fclose
|
||||
|
||||
arm_func_start fflush
|
||||
fflush: ; 0x020D497C
|
||||
stmfd sp!, {r4, lr}
|
||||
movs r4, r0
|
||||
bne _020D4990
|
||||
bl __flush_all
|
||||
ldmia sp!, {r4, pc}
|
||||
_020D4990:
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #0
|
||||
bne _020D49AC
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, r0, lsl #0x16
|
||||
movs r1, r1, lsr #0x1d
|
||||
bne _020D49B4
|
||||
_020D49AC:
|
||||
mvn r0, #0
|
||||
ldmia sp!, {r4, pc}
|
||||
_020D49B4:
|
||||
mov r0, r0, lsl #0x1b
|
||||
mov r0, r0, lsr #0x1d
|
||||
cmp r0, #1
|
||||
moveq r0, #0
|
||||
ldmeqia sp!, {r4, pc}
|
||||
ldr r0, [r4, #8]
|
||||
mov r1, r0, lsl #0x1d
|
||||
mov r1, r1, lsr #0x1d
|
||||
cmp r1, #3
|
||||
bichs r0, r0, #7
|
||||
orrhs r0, r0, #2
|
||||
strhs r0, [r4, #8]
|
||||
ldr r0, [r4, #8]
|
||||
mov r0, r0, lsl #0x1d
|
||||
mov r0, r0, lsr #0x1d
|
||||
cmp r0, #2
|
||||
moveq r0, #0
|
||||
streq r0, [r4, #0x28]
|
||||
ldr r0, [r4, #8]
|
||||
mov r1, r0, lsl #0x1d
|
||||
mov r1, r1, lsr #0x1d
|
||||
cmp r1, #1
|
||||
beq _020D4A20
|
||||
bic r0, r0, #7
|
||||
str r0, [r4, #8]
|
||||
mov r0, #0
|
||||
ldmia sp!, {r4, pc}
|
||||
_020D4A20:
|
||||
mov r0, r4
|
||||
mov r1, #0
|
||||
bl __flush_buffer
|
||||
cmp r0, #0
|
||||
mov r0, #0
|
||||
beq _020D4A4C
|
||||
mov r1, #1
|
||||
strb r1, [r4, #0xd]
|
||||
str r0, [r4, #0x28]
|
||||
sub r0, r0, #1
|
||||
ldmia sp!, {r4, pc}
|
||||
_020D4A4C:
|
||||
ldr r1, [r4, #8]
|
||||
bic r1, r1, #7
|
||||
str r1, [r4, #8]
|
||||
str r0, [r4, #0x18]
|
||||
str r0, [r4, #0x28]
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end fflush
|
||||
|
|
@ -1,366 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/file_pos.inc"
|
||||
|
||||
.extern OSi_ThreadInfo
|
||||
.extern Unk_021D0920
|
||||
.extern Unk_021D0944
|
||||
.extern Unk_021D0968
|
||||
.extern errno
|
||||
.extern __files
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start _ftell
|
||||
_ftell: ; 0x020D4A64
|
||||
ldr r1, [r0, #4]
|
||||
mov r1, r1, lsl #0x16
|
||||
mov r1, r1, lsr #0x1d
|
||||
and r1, r1, #0xff
|
||||
add r1, r1, #0xff
|
||||
and r1, r1, #0xff
|
||||
cmp r1, #1
|
||||
bhi _020D4A90
|
||||
ldrb r1, [r0, #0xd]
|
||||
cmp r1, #0
|
||||
beq _020D4AA4
|
||||
_020D4A90:
|
||||
ldr r0, _020D4ADC ; =0x021D0D40
|
||||
mov r1, #0x28
|
||||
str r1, [r0, #0]
|
||||
sub r0, r1, #0x29
|
||||
bx lr
|
||||
_020D4AA4:
|
||||
ldr r1, [r0, #8]
|
||||
mov r1, r1, lsl #0x1d
|
||||
movs ip, r1, lsr #0x1d
|
||||
ldreq r0, [r0, #0x18]
|
||||
bxeq lr
|
||||
ldr r2, [r0, #0x24]
|
||||
ldr r1, [r0, #0x1c]
|
||||
ldr r3, [r0, #0x34]
|
||||
sub r0, r2, r1
|
||||
cmp ip, #3
|
||||
add r0, r3, r0
|
||||
subhs r1, ip, #2
|
||||
subhs r0, r0, r1
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_020D4ADC: .word errno
|
||||
arm_func_end _ftell
|
||||
|
||||
arm_func_start ftell
|
||||
ftell: ; 0x020D4AE0
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, lr}
|
||||
ldr r1, _020D4BE0 ; =0x02101490
|
||||
mov r7, r0
|
||||
cmp r7, r1
|
||||
moveq r6, #2
|
||||
beq _020D4B18
|
||||
ldr r0, _020D4BE4 ; =0x021014DC
|
||||
cmp r7, r0
|
||||
moveq r6, #3
|
||||
beq _020D4B18
|
||||
ldr r0, _020D4BE8 ; =0x02101528
|
||||
cmp r7, r0
|
||||
moveq r6, #4
|
||||
movne r6, #5
|
||||
_020D4B18:
|
||||
mov r0, #0x18
|
||||
mul r4, r6, r0
|
||||
ldr r5, _020D4BEC ; =0x021D0968
|
||||
add r0, r5, r4
|
||||
bl OS_TryLockMutex
|
||||
cmp r0, #0
|
||||
bne _020D4B58
|
||||
ldr r0, _020D4BF0 ; =0x021CCC80
|
||||
ldr r2, _020D4BF4 ; =0x021D0920
|
||||
ldr r1, [r0, #4]
|
||||
ldr r0, _020D4BF8 ; =0x021D0944
|
||||
ldr r3, [r1, #0x6c]
|
||||
mov r1, #1
|
||||
str r3, [r2, r6, lsl #2]
|
||||
str r1, [r0, r6, lsl #2]
|
||||
b _020D4BB0
|
||||
_020D4B58:
|
||||
ldr r0, _020D4BF0 ; =0x021CCC80
|
||||
ldr r1, _020D4BF4 ; =0x021D0920
|
||||
ldr r0, [r0, #4]
|
||||
ldr r1, [r1, r6, lsl #2]
|
||||
ldr r0, [r0, #0x6c]
|
||||
cmp r1, r0
|
||||
bne _020D4B88
|
||||
ldr r1, _020D4BF8 ; =0x021D0944
|
||||
ldr r0, [r1, r6, lsl #2]
|
||||
add r0, r0, #1
|
||||
str r0, [r1, r6, lsl #2]
|
||||
b _020D4BB0
|
||||
_020D4B88:
|
||||
add r0, r5, r4
|
||||
bl OS_LockMutex
|
||||
ldr r0, _020D4BF0 ; =0x021CCC80
|
||||
ldr r2, _020D4BF4 ; =0x021D0920
|
||||
ldr r1, [r0, #4]
|
||||
ldr r0, _020D4BF8 ; =0x021D0944
|
||||
ldr r3, [r1, #0x6c]
|
||||
mov r1, #1
|
||||
str r3, [r2, r6, lsl #2]
|
||||
str r1, [r0, r6, lsl #2]
|
||||
_020D4BB0:
|
||||
mov r0, r7
|
||||
bl _ftell
|
||||
ldr r1, _020D4BF8 ; =0x021D0944
|
||||
mov r7, r0
|
||||
ldr r0, [r1, r6, lsl #2]
|
||||
subs r0, r0, #1
|
||||
str r0, [r1, r6, lsl #2]
|
||||
bne _020D4BD8
|
||||
add r0, r5, r4
|
||||
bl OS_UnlockMutex
|
||||
_020D4BD8:
|
||||
mov r0, r7
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_020D4BE0: .word __files
|
||||
_020D4BE4: .word 0x021014DC
|
||||
_020D4BE8: .word 0x02101528
|
||||
_020D4BEC: .word Unk_021D0968
|
||||
_020D4BF0: .word OSi_ThreadInfo
|
||||
_020D4BF4: .word Unk_021D0920
|
||||
_020D4BF8: .word Unk_021D0944
|
||||
arm_func_end ftell
|
||||
|
||||
arm_func_start _fseek
|
||||
_fseek: ; 0x020D4BFC
|
||||
stmfd sp!, {r0, r1, r2, r3}
|
||||
stmfd sp!, {r3, r4, r5, lr}
|
||||
mov r5, r0
|
||||
ldr r1, [r5, #4]
|
||||
mov r4, r2
|
||||
mov r1, r1, lsl #0x16
|
||||
mov r1, r1, lsr #0x1d
|
||||
and r1, r1, #0xff
|
||||
cmp r1, #1
|
||||
ldreqb r1, [r5, #0xd]
|
||||
cmpeq r1, #0
|
||||
beq _020D4C48
|
||||
ldr r0, _020D4DE0 ; =0x021D0D40
|
||||
mov r1, #0x28
|
||||
str r1, [r0, #0]
|
||||
sub r0, r1, #0x29
|
||||
ldmia sp!, {r3, r4, r5, lr}
|
||||
add sp, sp, #0x10
|
||||
bx lr
|
||||
_020D4C48:
|
||||
ldr r1, [r5, #8]
|
||||
mov r1, r1, lsl #0x1d
|
||||
mov r1, r1, lsr #0x1d
|
||||
cmp r1, #1
|
||||
bne _020D4C98
|
||||
mov r1, #0
|
||||
bl __flush_buffer
|
||||
cmp r0, #0
|
||||
beq _020D4C98
|
||||
mov r0, #1
|
||||
strb r0, [r5, #0xd]
|
||||
mov r2, #0
|
||||
ldr r0, _020D4DE0 ; =0x021D0D40
|
||||
mov r1, #0x28
|
||||
str r2, [r5, #0x28]
|
||||
str r1, [r0, #0]
|
||||
sub r0, r1, #0x29
|
||||
ldmia sp!, {r3, r4, r5, lr}
|
||||
add sp, sp, #0x10
|
||||
bx lr
|
||||
_020D4C98:
|
||||
cmp r4, #1
|
||||
bne _020D4CB8
|
||||
mov r0, r5
|
||||
mov r4, #0
|
||||
bl _ftell
|
||||
ldr r1, [sp, #0x14]
|
||||
add r0, r1, r0
|
||||
str r0, [sp, #0x14]
|
||||
_020D4CB8:
|
||||
cmp r4, #2
|
||||
beq _020D4D4C
|
||||
ldr r0, [r5, #4]
|
||||
mov r0, r0, lsl #0x1b
|
||||
mov r0, r0, lsr #0x1d
|
||||
cmp r0, #3
|
||||
beq _020D4D4C
|
||||
ldr r0, [r5, #8]
|
||||
mov r0, r0, lsl #0x1d
|
||||
mov r0, r0, lsr #0x1d
|
||||
sub r0, r0, #2
|
||||
cmp r0, #1
|
||||
bhi _020D4D4C
|
||||
ldr r2, [sp, #0x14]
|
||||
ldr r0, [r5, #0x18]
|
||||
cmp r2, r0
|
||||
bhs _020D4D08
|
||||
ldr r0, [r5, #0x34]
|
||||
cmp r2, r0
|
||||
bhs _020D4D18
|
||||
_020D4D08:
|
||||
ldr r0, [r5, #8]
|
||||
bic r0, r0, #7
|
||||
str r0, [r5, #8]
|
||||
b _020D4D58
|
||||
_020D4D18:
|
||||
ldr r1, [r5, #0x1c]
|
||||
sub r0, r2, r0
|
||||
add r0, r1, r0
|
||||
str r0, [r5, #0x24]
|
||||
ldr r1, [r5, #0x18]
|
||||
ldr r0, [sp, #0x14]
|
||||
sub r0, r1, r0
|
||||
str r0, [r5, #0x28]
|
||||
ldr r0, [r5, #8]
|
||||
bic r0, r0, #7
|
||||
orr r0, r0, #2
|
||||
str r0, [r5, #8]
|
||||
b _020D4D58
|
||||
_020D4D4C:
|
||||
ldr r0, [r5, #8]
|
||||
bic r0, r0, #7
|
||||
str r0, [r5, #8]
|
||||
_020D4D58:
|
||||
ldr r0, [r5, #8]
|
||||
mov r0, r0, lsl #0x1d
|
||||
movs r0, r0, lsr #0x1d
|
||||
bne _020D4DD0
|
||||
ldr ip, [r5, #0x38]
|
||||
cmp ip, #0
|
||||
beq _020D4DBC
|
||||
ldr r0, [r5, #0]
|
||||
ldr r3, [r5, #0x48]
|
||||
add r1, sp, #0x14
|
||||
mov r2, r4
|
||||
blx ip
|
||||
cmp r0, #0
|
||||
beq _020D4DBC
|
||||
mov r0, #1
|
||||
strb r0, [r5, #0xd]
|
||||
mov r2, #0
|
||||
ldr r0, _020D4DE0 ; =0x021D0D40
|
||||
mov r1, #0x28
|
||||
str r2, [r5, #0x28]
|
||||
str r1, [r0, #0]
|
||||
sub r0, r1, #0x29
|
||||
ldmia sp!, {r3, r4, r5, lr}
|
||||
add sp, sp, #0x10
|
||||
bx lr
|
||||
_020D4DBC:
|
||||
mov r1, #0
|
||||
strb r1, [r5, #0xc]
|
||||
ldr r0, [sp, #0x14]
|
||||
str r0, [r5, #0x18]
|
||||
str r1, [r5, #0x28]
|
||||
_020D4DD0:
|
||||
mov r0, #0
|
||||
ldmia sp!, {r3, r4, r5, lr}
|
||||
add sp, sp, #0x10
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_020D4DE0: .word errno
|
||||
arm_func_end _fseek
|
||||
|
||||
arm_func_start fseek
|
||||
fseek: ; 0x020D4DE4
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
||||
ldr r3, _020D4EF4 ; =0x02101490
|
||||
mov sb, r0
|
||||
cmp sb, r3
|
||||
mov r8, r1
|
||||
mov r7, r2
|
||||
moveq r6, #2
|
||||
beq _020D4E24
|
||||
ldr r0, _020D4EF8 ; =0x021014DC
|
||||
cmp sb, r0
|
||||
moveq r6, #3
|
||||
beq _020D4E24
|
||||
ldr r0, _020D4EFC ; =0x02101528
|
||||
cmp sb, r0
|
||||
moveq r6, #4
|
||||
movne r6, #5
|
||||
_020D4E24:
|
||||
mov r0, #0x18
|
||||
mul r4, r6, r0
|
||||
ldr r5, _020D4F00 ; =0x021D0968
|
||||
add r0, r5, r4
|
||||
bl OS_TryLockMutex
|
||||
cmp r0, #0
|
||||
bne _020D4E64
|
||||
ldr r0, _020D4F04 ; =0x021CCC80
|
||||
ldr r2, _020D4F08 ; =0x021D0920
|
||||
ldr r1, [r0, #4]
|
||||
ldr r0, _020D4F0C ; =0x021D0944
|
||||
ldr r3, [r1, #0x6c]
|
||||
mov r1, #1
|
||||
str r3, [r2, r6, lsl #2]
|
||||
str r1, [r0, r6, lsl #2]
|
||||
b _020D4EBC
|
||||
_020D4E64:
|
||||
ldr r0, _020D4F04 ; =0x021CCC80
|
||||
ldr r1, _020D4F08 ; =0x021D0920
|
||||
ldr r0, [r0, #4]
|
||||
ldr r1, [r1, r6, lsl #2]
|
||||
ldr r0, [r0, #0x6c]
|
||||
cmp r1, r0
|
||||
bne _020D4E94
|
||||
ldr r1, _020D4F0C ; =0x021D0944
|
||||
ldr r0, [r1, r6, lsl #2]
|
||||
add r0, r0, #1
|
||||
str r0, [r1, r6, lsl #2]
|
||||
b _020D4EBC
|
||||
_020D4E94:
|
||||
add r0, r5, r4
|
||||
bl OS_LockMutex
|
||||
ldr r0, _020D4F04 ; =0x021CCC80
|
||||
ldr r2, _020D4F08 ; =0x021D0920
|
||||
ldr r1, [r0, #4]
|
||||
ldr r0, _020D4F0C ; =0x021D0944
|
||||
ldr r3, [r1, #0x6c]
|
||||
mov r1, #1
|
||||
str r3, [r2, r6, lsl #2]
|
||||
str r1, [r0, r6, lsl #2]
|
||||
_020D4EBC:
|
||||
mov r0, sb
|
||||
mov r1, r8
|
||||
mov r2, r7
|
||||
bl _fseek
|
||||
ldr r1, _020D4F0C ; =0x021D0944
|
||||
mov r7, r0
|
||||
ldr r0, [r1, r6, lsl #2]
|
||||
subs r0, r0, #1
|
||||
str r0, [r1, r6, lsl #2]
|
||||
bne _020D4EEC
|
||||
add r0, r5, r4
|
||||
bl OS_UnlockMutex
|
||||
_020D4EEC:
|
||||
mov r0, r7
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
||||
; .align 2, 0
|
||||
_020D4EF4: .word __files
|
||||
_020D4EF8: .word 0x021014DC
|
||||
_020D4EFC: .word 0x02101528
|
||||
_020D4F00: .word Unk_021D0968
|
||||
_020D4F04: .word OSi_ThreadInfo
|
||||
_020D4F08: .word Unk_021D0920
|
||||
_020D4F0C: .word Unk_021D0944
|
||||
arm_func_end fseek
|
||||
|
||||
arm_func_start rewind
|
||||
rewind: ; 0x020D4F10
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r1, #0
|
||||
mov r4, r0
|
||||
mov r2, r1
|
||||
strb r1, [r4, #0xd]
|
||||
bl fseek
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0xd]
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end rewind
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
|
||||
|
||||
|
||||
.data
|
||||
|
||||
|
||||
.global Unk_021015AC
|
||||
Unk_021015AC: ; 0x021015AC
|
||||
.space 0x2
|
||||
.byte 0x80, 0x7F
|
||||
|
||||
.global Unk_021015B0
|
||||
Unk_021015B0: ; 0x021015B0
|
||||
.byte 0xFF, 0xFF, 0xFF, 0x7F
|
||||
|
||||
.global Unk_021015B4
|
||||
Unk_021015B4: ; 0x021015B4
|
||||
.space 0x6
|
||||
.byte 0xF0, 0x7F
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 768 B |
|
|
@ -1,9 +0,0 @@
|
|||
.public OS_LockMutex
|
||||
.public OS_UnlockMutex
|
||||
.public OS_TryLockMutex
|
||||
.public exit
|
||||
.public __exit
|
||||
.public fflush
|
||||
.public raise
|
||||
.public __destroy_global_chain
|
||||
.public _ExitProcess
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
.public copysign
|
||||
.public frexp
|
||||
.public ldexp
|
||||
.public pow
|
||||
.public __must_round
|
||||
.public __dorounddecup
|
||||
.public __rounddec
|
||||
.public __ull2dec
|
||||
.public __timesdec
|
||||
.public __str2dec
|
||||
.public __two_exp
|
||||
.public __equals_dec
|
||||
.public __less_dec
|
||||
.public __minus_dec
|
||||
.public __num2dec_internal
|
||||
.public __msl_generic_count_bits64
|
||||
.public __signbitd
|
||||
.public __fpclassifyd
|
||||
.public _d_add
|
||||
.public _d_dtoull
|
||||
.public _d_itod
|
||||
.public _d_utod
|
||||
.public _d_mul
|
||||
.public _dsub
|
||||
.public _d_feq
|
||||
.public _f_ftod
|
||||
.public _ull_div
|
||||
.public _ull_mod
|
||||
.public _d_div
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
.public OS_LockMutex
|
||||
.public OS_UnlockMutex
|
||||
.public OS_TryLockMutex
|
||||
.public __flush_line_buffered_output_files
|
||||
.public __prep_buffer
|
||||
.public __load_buffer
|
||||
.public __flush_buffer
|
||||
.public __fread
|
||||
.public memcpy
|
||||
.public __memrchr
|
||||
.public fwide
|
||||
.public _u32_div_f
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
.public fabs
|
||||
.public scalbn
|
||||
.public _d_add
|
||||
.public _d_itod
|
||||
.public _d_mul
|
||||
.public _dsqrt
|
||||
.public _dsub
|
||||
.public _d_fgt
|
||||
.public _d_fle
|
||||
.public _f_ftod
|
||||
.public _d_div
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
.public __flush_all
|
||||
.public __flush_buffer
|
||||
.public fflush
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
.public OS_LockMutex
|
||||
.public OS_UnlockMutex
|
||||
.public OS_TryLockMutex
|
||||
.public __flush_buffer
|
||||
.public _ftell
|
||||
.public _fseek
|
||||
.public fseek
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
.public __mbtowc_noconv
|
||||
.public __wctomb_noconv
|
||||
|
|
@ -1 +0,0 @@
|
|||
.public _f_ftod
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
.public frexp
|
||||
.public ldexp
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
.public mbtowc
|
||||
.public wctomb
|
||||
.public strlen
|
||||
.public strncpy
|
||||
|
|
@ -1 +0,0 @@
|
|||
.public __fill_mem
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
.public OS_AllocFromHeap
|
||||
.public OS_FreeToHeap
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
.public OS_LockMutex
|
||||
.public OS_UnlockMutex
|
||||
.public OS_TryLockMutex
|
||||
.public __fwrite
|
||||
.public wcstombs
|
||||
.public memcpy
|
||||
.public memchr
|
||||
.public parse_format_dup1
|
||||
.public long2str_dup1
|
||||
.public longlong2str_dup1
|
||||
.public double2hex_dup1
|
||||
.public round_decimal_dup1
|
||||
.public float2str_dup1
|
||||
.public __pformatter
|
||||
.public __FileWrite
|
||||
.public __StringWrite
|
||||
.public vsnprintf
|
||||
.public strlen
|
||||
.public strchr
|
||||
.public fwide
|
||||
.public fabs
|
||||
.public __num2dec
|
||||
.public _d_flt
|
||||
.public _d_feq
|
||||
.public _ull_div
|
||||
.public _ull_mod
|
||||
.public _u32_div_f
|
||||
|
|
@ -1 +0,0 @@
|
|||
.public _d_mul
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
.public copysign
|
||||
.public __fpclassifyd
|
||||
.public _d_add
|
||||
.public _d_mul
|
||||
.public _d_feq
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
.public mbtowc
|
||||
.public parse_format_dup2
|
||||
.public __sformatter
|
||||
.public __StringRead
|
||||
.public vsscanf
|
||||
.public __strtold
|
||||
.public __strtoul
|
||||
.public __strtoull
|
||||
.public _d_dtof
|
||||
.public _f_ftod
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
.public OS_LockMutex
|
||||
.public OS_UnlockMutex
|
||||
.public OS_TryLockMutex
|
||||
.public exit
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
.public nan
|
||||
.public __StringRead
|
||||
.public __strtold
|
||||
.public strtod
|
||||
.public fabs
|
||||
.public __dec2num
|
||||
.public _dsub
|
||||
.public _d_fgt
|
||||
.public _d_flt
|
||||
.public _d_fne
|
||||
.public _f_ftod
|
||||
.public _f_sub
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
.public __StringRead
|
||||
.public __strtoul
|
||||
.public strtol
|
||||
.public _ull_div
|
||||
.public _u32_div_f
|
||||
|
|
@ -1 +0,0 @@
|
|||
.public __ieee754_pow
|
||||
|
|
@ -1 +0,0 @@
|
|||
.public memcpy
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
.public mbtowc
|
||||
.public mbstowcs
|
||||
.public memchr
|
||||
.public strlen
|
||||
.public wmemcpy
|
||||
.public wmemchr
|
||||
.public parse_format_dup3
|
||||
.public long2str_dup2
|
||||
.public longlong2str_dup2
|
||||
.public double2hex_dup2
|
||||
.public round_decimal_dup2
|
||||
.public float2str_dup2
|
||||
.public __wpformatter
|
||||
.public __wStringWrite
|
||||
.public vswprintf
|
||||
.public wcslen
|
||||
.public wcscpy
|
||||
.public wcschr
|
||||
.public fabs
|
||||
.public __num2dec
|
||||
.public _d_flt
|
||||
.public _d_feq
|
||||
.public _ull_div
|
||||
.public _ull_mod
|
||||
.public _u32_div_f
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/locale_c.inc"
|
||||
|
||||
|
||||
.data
|
||||
|
||||
|
||||
.global Unk_021015BC
|
||||
Unk_021015BC: ; 0x021015BC
|
||||
.space 0x4
|
||||
|
||||
.global Unk_021015C0
|
||||
Unk_021015C0: ; 0x021015C0
|
||||
.byte 0x25, 0x54
|
||||
.space 0x2
|
||||
|
||||
.global Unk_021015C4
|
||||
Unk_021015C4: ; 0x021015C4
|
||||
.asciz "AM|PM"
|
||||
.space 0x2
|
||||
|
||||
.global Unk_021015CC
|
||||
Unk_021015CC: ; 0x021015CC
|
||||
.word __mbtowc_noconv
|
||||
.word __wctomb_noconv
|
||||
|
||||
.global Unk_021015D4
|
||||
Unk_021015D4: ; 0x021015D4
|
||||
.word 0x20
|
||||
.word 0x6E
|
||||
.space 0x4
|
||||
.word Unk_02101604
|
||||
|
||||
.global Unk_021015E4
|
||||
Unk_021015E4: ; 0x021015E4
|
||||
.word Unk_021015C4
|
||||
.word Unk_021016E8
|
||||
.word Unk_021016DC
|
||||
.word Unk_021016C4
|
||||
.word Unk_021015C0
|
||||
.word Unk_021016F8
|
||||
.word Unk_02101750
|
||||
.word Unk_021015BC
|
||||
|
||||
.global Unk_02101604
|
||||
Unk_02101604: ; 0x02101604
|
||||
.incbin "incbin/locale_c.bin", 0x0, 0xC0
|
||||
|
||||
.global Unk_021016C4
|
||||
Unk_021016C4: ; 0x021016C4
|
||||
.ascii "%m/%d/%y"
|
||||
.space 0x4
|
||||
|
||||
.global Unk_021016D0
|
||||
Unk_021016D0: ; 0x021016D0
|
||||
.word Unk_021015E4
|
||||
.word Unk_021015D4
|
||||
.word Unk_021015CC
|
||||
|
||||
.global Unk_021016DC
|
||||
Unk_021016DC: ; 0x021016DC
|
||||
.asciz "%I:%M:%S %p"
|
||||
|
||||
.global Unk_021016E8
|
||||
Unk_021016E8: ; 0x021016E8
|
||||
.ascii "%a %b %e %T %Y"
|
||||
.space 0x2
|
||||
|
||||
.global Unk_021016F8
|
||||
Unk_021016F8: ; 0x021016F8
|
||||
.ascii "Sun|Sunday|Mon|Monday|Tue|Tuesday|Wed|Wednesday|Thu|Thursday|Fri|Friday|Sat|Saturday"
|
||||
.space 0x4
|
||||
|
||||
.global Unk_02101750
|
||||
Unk_02101750: ; 0x02101750
|
||||
.asciz "Jan|January|Feb|February|Mar|March|Apr|April|May|May|Jun|June|Jul|July|Aug|August|Sep|September|Oct|October|Nov|November|Dec|December"
|
||||
.space 0x2
|
||||
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
.macro arm_func_start name
|
||||
.balign 4, 0
|
||||
.global \name
|
||||
.type \name, @function
|
||||
.arm
|
||||
.endm
|
||||
|
||||
.macro arm_func_end name
|
||||
.size \name, .-\name
|
||||
.endm
|
||||
|
||||
.macro thumb_func_start name
|
||||
.balign 4, 0
|
||||
.global \name
|
||||
.type \name, @function
|
||||
.thumb
|
||||
.endm
|
||||
|
||||
.macro non_word_aligned_thumb_func_start name
|
||||
.global \name
|
||||
.type \name, @function
|
||||
.thumb
|
||||
.endm
|
||||
|
||||
.macro thumb_func_end name
|
||||
.size \name, .-\name
|
||||
.endm
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start __msl_generic_count_bits64
|
||||
__msl_generic_count_bits64: ; 0x020DF7D4
|
||||
mov r3, r0, lsr #1
|
||||
ldr r2, _020DF85C ; =0x55555555
|
||||
orr r3, r3, r1, lsl #31
|
||||
and r3, r3, r2
|
||||
subs ip, r0, r3
|
||||
and r2, r2, r1, lsr #1
|
||||
ldr r0, _020DF860 ; =0x33333333
|
||||
sbc r3, r1, r2
|
||||
mov r1, ip, lsr #2
|
||||
orr r1, r1, r3, lsl #30
|
||||
and r2, ip, r0
|
||||
and r1, r1, r0
|
||||
adds r2, r2, r1
|
||||
and r1, r3, r0
|
||||
and r0, r0, r3, lsr #2
|
||||
adc r1, r1, r0
|
||||
mov r0, r2, lsr #4
|
||||
orr r0, r0, r1, lsl #28
|
||||
adds r2, r2, r0
|
||||
ldr r0, _020DF864 ; =0x0F0F0F0F
|
||||
adc r1, r1, r1, lsr #4
|
||||
and r3, r2, r0
|
||||
and r2, r1, r0
|
||||
mov r0, r3, lsr #8
|
||||
orr r0, r0, r2, lsl #24
|
||||
adds r1, r3, r0
|
||||
adc r2, r2, r2, lsr #8
|
||||
mov r0, r1, lsr #0x10
|
||||
orr r0, r0, r2, lsl #16
|
||||
adds r1, r1, r0
|
||||
adc r0, r2, r2, lsr #16
|
||||
adds r0, r1, r0
|
||||
and r0, r0, #0xff
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_020DF85C: .word 0x55555555
|
||||
_020DF860: .word 0x33333333
|
||||
_020DF864: .word 0x0F0F0F0F
|
||||
arm_func_end __msl_generic_count_bits64
|
||||
|
||||
arm_func_start __signbitd
|
||||
__signbitd: ; 0x020DF868
|
||||
stmfd sp!, {r0, r1, r2, r3}
|
||||
ldr r0, [sp, #4]
|
||||
and r0, r0, #0x80000000
|
||||
add sp, sp, #0x10
|
||||
bx lr
|
||||
arm_func_end __signbitd
|
||||
|
||||
arm_func_start __fpclassifyd
|
||||
__fpclassifyd: ; 0x020DF87C
|
||||
stmfd sp!, {r0, r1, r2, r3}
|
||||
ldr r2, [sp, #4]
|
||||
ldr r0, _020DF8E4 ; =0x7FF00000
|
||||
ands r1, r2, r0
|
||||
beq _020DF8B8
|
||||
cmp r1, r0
|
||||
bne _020DF8D8
|
||||
ldr r0, _020DF8E8 ; =0x000FFFFF
|
||||
tst r2, r0
|
||||
ldreq r0, [sp]
|
||||
add sp, sp, #0x10
|
||||
cmpeq r0, #0
|
||||
movne r0, #1
|
||||
moveq r0, #2
|
||||
bx lr
|
||||
_020DF8B8:
|
||||
ldr r0, _020DF8E8 ; =0x000FFFFF
|
||||
tst r2, r0
|
||||
ldreq r0, [sp]
|
||||
add sp, sp, #0x10
|
||||
cmpeq r0, #0
|
||||
movne r0, #5
|
||||
moveq r0, #3
|
||||
bx lr
|
||||
_020DF8D8:
|
||||
mov r0, #4
|
||||
add sp, sp, #0x10
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_020DF8E4: .word 0x7FF00000
|
||||
_020DF8E8: .word 0x000FFFFF
|
||||
arm_func_end __fpclassifyd
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/math_arm.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start nan
|
||||
nan: ; 0x020D3F38
|
||||
ldr r0, _020D3F48 ; =0x021015B0
|
||||
ldr ip, _020D3F4C ; =_f_ftod
|
||||
ldr r0, [r0, #0]
|
||||
bx ip
|
||||
; .align 2, 0
|
||||
_020D3F48: .word 0x021015B0
|
||||
_020D3F4C: .word _f_ftod
|
||||
arm_func_end nan
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/math_sun.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start scalbn
|
||||
scalbn: ; 0x020DF8EC
|
||||
stmfd sp!, {r3, r4, lr}
|
||||
sub sp, sp, #4
|
||||
mov r4, r2
|
||||
add r2, sp, #0
|
||||
bl frexp
|
||||
ldr r2, [sp]
|
||||
add r2, r2, r4
|
||||
str r2, [sp]
|
||||
bl ldexp
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r3, r4, pc}
|
||||
arm_func_end scalbn
|
||||
|
|
@ -1,136 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/mbstring.inc"
|
||||
|
||||
.extern Unk_021016D0
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start mbtowc
|
||||
mbtowc: ; 0x020D4F34
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r3, _020D4F4C ; =0x021016D0
|
||||
ldr r3, [r3, #8]
|
||||
ldr r3, [r3, #0]
|
||||
blx r3
|
||||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_020D4F4C: .word Unk_021016D0
|
||||
arm_func_end mbtowc
|
||||
|
||||
arm_func_start __mbtowc_noconv
|
||||
__mbtowc_noconv: ; 0x020D4F50
|
||||
cmp r1, #0
|
||||
moveq r0, #0
|
||||
bxeq lr
|
||||
cmp r2, #0
|
||||
mvneq r0, #0
|
||||
bxeq lr
|
||||
cmp r0, #0
|
||||
ldrneb r2, [r1]
|
||||
strneh r2, [r0]
|
||||
ldrsb r0, [r1]
|
||||
cmp r0, #0
|
||||
moveq r0, #0
|
||||
movne r0, #1
|
||||
bx lr
|
||||
arm_func_end __mbtowc_noconv
|
||||
|
||||
arm_func_start __wctomb_noconv
|
||||
__wctomb_noconv: ; 0x020D4F88
|
||||
cmp r0, #0
|
||||
moveq r0, #0
|
||||
strneb r1, [r0]
|
||||
movne r0, #1
|
||||
bx lr
|
||||
arm_func_end __wctomb_noconv
|
||||
|
||||
arm_func_start wctomb
|
||||
wctomb: ; 0x020D4F9C
|
||||
stmfd sp!, {r3, lr}
|
||||
ldr r2, _020D4FB4 ; =0x021016D0
|
||||
ldr r2, [r2, #8]
|
||||
ldr r2, [r2, #4]
|
||||
blx r2
|
||||
ldmia sp!, {r3, pc}
|
||||
; .align 2, 0
|
||||
_020D4FB4: .word Unk_021016D0
|
||||
arm_func_end wctomb
|
||||
|
||||
arm_func_start mbstowcs
|
||||
mbstowcs: ; 0x020D4FB8
|
||||
stmfd sp!, {r4, r5, r6, r7, r8, lr}
|
||||
mov r7, r1
|
||||
mov r8, r0
|
||||
mov r0, r7
|
||||
mov r6, r2
|
||||
bl strlen
|
||||
mov r5, r0
|
||||
cmp r8, #0
|
||||
mov r4, #0
|
||||
beq _020D5038
|
||||
cmp r6, #0
|
||||
bls _020D5038
|
||||
_020D4FE8:
|
||||
ldrsb r0, [r7]
|
||||
cmp r0, #0
|
||||
beq _020D5020
|
||||
mov r0, r8
|
||||
mov r1, r7
|
||||
mov r2, r5
|
||||
bl mbtowc
|
||||
cmp r0, #0
|
||||
add r8, r8, #2
|
||||
addgt r7, r7, r0
|
||||
subgt r5, r5, r0
|
||||
bgt _020D502C
|
||||
mvn r0, #0
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
_020D5020:
|
||||
mov r0, #0
|
||||
strh r0, [r8]
|
||||
b _020D5038
|
||||
_020D502C:
|
||||
add r4, r4, #1
|
||||
cmp r4, r6
|
||||
blo _020D4FE8
|
||||
_020D5038:
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
arm_func_end mbstowcs
|
||||
|
||||
arm_func_start wcstombs
|
||||
wcstombs: ; 0x020D5040
|
||||
stmfd sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
||||
movs r4, r0
|
||||
mov sb, r1
|
||||
cmpne sb, #0
|
||||
mov r8, r2
|
||||
mov r7, #0
|
||||
moveq r0, #0
|
||||
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
||||
add r6, sp, #0
|
||||
_020D5064:
|
||||
ldrh r1, [sb]
|
||||
cmp r1, #0
|
||||
moveq r0, #0
|
||||
streqb r0, [r4, r7]
|
||||
beq _020D50B0
|
||||
mov r0, r6
|
||||
add sb, sb, #2
|
||||
bl wctomb
|
||||
mov r5, r0
|
||||
add r0, r7, r5
|
||||
cmp r0, r8
|
||||
bhi _020D50B0
|
||||
mov r1, r6
|
||||
mov r2, r5
|
||||
add r0, r4, r7
|
||||
bl strncpy
|
||||
add r7, r7, r5
|
||||
cmp r7, r8
|
||||
bls _020D5064
|
||||
_020D50B0:
|
||||
mov r0, r7
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
||||
arm_func_end wcstombs
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start __fill_mem
|
||||
__fill_mem: ; 0x020D51D0
|
||||
cmp r2, #0x20
|
||||
and r3, r1, #0xff
|
||||
blo _020D5264
|
||||
rsb r1, r0, #0
|
||||
ands ip, r1, #3
|
||||
beq _020D51FC
|
||||
sub r2, r2, ip
|
||||
and r1, r3, #0xff
|
||||
_020D51F0:
|
||||
strb r1, [r0], #1
|
||||
subs ip, ip, #1
|
||||
bne _020D51F0
|
||||
_020D51FC:
|
||||
cmp r3, #0
|
||||
beq _020D5214
|
||||
mov r1, r3, lsl #0x10
|
||||
orr r1, r1, r3, lsl #24
|
||||
orr r1, r1, r3, lsl #8
|
||||
orr r3, r3, r1
|
||||
_020D5214:
|
||||
movs r1, r2, lsr #5
|
||||
beq _020D5248
|
||||
_020D521C:
|
||||
str r3, [r0, #0]
|
||||
str r3, [r0, #4]
|
||||
str r3, [r0, #8]
|
||||
str r3, [r0, #0xc]
|
||||
str r3, [r0, #0x10]
|
||||
str r3, [r0, #0x14]
|
||||
str r3, [r0, #0x18]
|
||||
str r3, [r0, #0x1c]
|
||||
add r0, r0, #0x20
|
||||
subs r1, r1, #1
|
||||
bne _020D521C
|
||||
_020D5248:
|
||||
and r1, r2, #0x1f
|
||||
movs r1, r1, lsr #2
|
||||
beq _020D5260
|
||||
_020D5254:
|
||||
str r3, [r0, #0], #4
|
||||
subs r1, r1, #1
|
||||
bne _020D5254
|
||||
_020D5260:
|
||||
and r2, r2, #3
|
||||
_020D5264:
|
||||
cmp r2, #0
|
||||
bxeq lr
|
||||
and r1, r3, #0xff
|
||||
_020D5270:
|
||||
strb r1, [r0], #1
|
||||
subs r2, r2, #1
|
||||
bne _020D5270
|
||||
bx lr
|
||||
arm_func_end __fill_mem
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/mem_msl.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start memcpy
|
||||
memcpy: ; 0x020D50B8
|
||||
mov ip, r0
|
||||
cmp r2, #0
|
||||
bxeq lr
|
||||
_020D50C4:
|
||||
ldrsb r3, [r1], #1
|
||||
subs r2, r2, #1
|
||||
strb r3, [ip], #1
|
||||
bne _020D50C4
|
||||
bx lr
|
||||
arm_func_end memcpy
|
||||
|
||||
arm_func_start memmove
|
||||
memmove: ; 0x020D50D8
|
||||
cmp r1, r0
|
||||
blo _020D5100
|
||||
mov ip, r0
|
||||
cmp r2, #0
|
||||
bxeq lr
|
||||
_020D50EC:
|
||||
ldrsb r3, [r1], #1
|
||||
subs r2, r2, #1
|
||||
strb r3, [ip], #1
|
||||
bne _020D50EC
|
||||
bx lr
|
||||
_020D5100:
|
||||
cmp r2, #0
|
||||
add r3, r1, r2
|
||||
add ip, r0, r2
|
||||
bxeq lr
|
||||
_020D5110:
|
||||
ldrsb r1, [r3, #-1]!
|
||||
subs r2, r2, #1
|
||||
strb r1, [ip, #-1]!
|
||||
bne _020D5110
|
||||
bx lr
|
||||
arm_func_end memmove
|
||||
|
||||
arm_func_start memset
|
||||
memset: ; 0x020D5124
|
||||
stmfd sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
bl __fill_mem
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end memset
|
||||
|
||||
arm_func_start memchr
|
||||
memchr: ; 0x020D5138
|
||||
cmp r2, #0
|
||||
and r3, r1, #0xff
|
||||
beq _020D515C
|
||||
_020D5144:
|
||||
ldrb r1, [r0], #1
|
||||
cmp r1, r3
|
||||
subeq r0, r0, #1
|
||||
bxeq lr
|
||||
subs r2, r2, #1
|
||||
bne _020D5144
|
||||
_020D515C:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
arm_func_end memchr
|
||||
|
||||
arm_func_start __memrchr
|
||||
__memrchr: ; 0x020D5164
|
||||
cmp r2, #0
|
||||
and r3, r1, #0xff
|
||||
add r0, r0, r2
|
||||
beq _020D5188
|
||||
_020D5174:
|
||||
ldrb r1, [r0, #-1]!
|
||||
cmp r1, r3
|
||||
bxeq lr
|
||||
subs r2, r2, #1
|
||||
bne _020D5174
|
||||
_020D5188:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
arm_func_end __memrchr
|
||||
|
||||
arm_func_start memcmp
|
||||
memcmp: ; 0x020D5190
|
||||
cmp r2, #0
|
||||
beq _020D51C8
|
||||
_020D5198:
|
||||
ldrb ip, [r0], #1
|
||||
ldrb r3, [r1], #1
|
||||
cmp ip, r3
|
||||
beq _020D51C0
|
||||
ldrb r2, [r0, #-1]
|
||||
ldrb r0, [r1, #-1]
|
||||
cmp r2, r0
|
||||
mvnlo r0, #0
|
||||
movhs r0, #1
|
||||
bx lr
|
||||
_020D51C0:
|
||||
subs r2, r2, #1
|
||||
bne _020D5198
|
||||
_020D51C8:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
arm_func_end memcmp
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
.include "macros/function.inc"
|
||||
.include "include/pool_alloc.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
arm_func_start __sys_alloc
|
||||
__sys_alloc: ; 0x020DF918
|
||||
ldr ip, _020DF92C ; =OS_AllocFromHeap
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
sub r1, r0, #1
|
||||
bx ip
|
||||
; .align 2, 0
|
||||
_020DF92C: .word OS_AllocFromHeap
|
||||
arm_func_end __sys_alloc
|
||||
|
||||
arm_func_start __sys_free
|
||||
__sys_free: ; 0x020DF930
|
||||
ldr ip, _020DF944 ; =OS_FreeToHeap
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
sub r1, r0, #1
|
||||
bx ip
|
||||
; .align 2, 0
|
||||
_020DF944: .word OS_FreeToHeap
|
||||
arm_func_end __sys_free
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user