Move msl under cw and link prebuilt libraries

This commit is contained in:
Nomura 2023-08-10 22:09:07 +02:00
parent 34131963b7
commit 9c796efb35
329 changed files with 103 additions and 22322 deletions

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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
)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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')

View File

@ -32,11 +32,6 @@ KEEP_SECTION
.sinit
}
KEEP_SECTION
{
.exception
}
SECTIONS
{
############################ STATIC #################################

View File

@ -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
)

View File

@ -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
)

View File

@ -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
)

View File

@ -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
)

View File

@ -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
)

View File

@ -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

View File

@ -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
)

View File

@ -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
)

View File

@ -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
)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,6 +0,0 @@
.public sub_020DFAD0
.public sub_020DFB80
.public sub_020E3EEC
.public sub_020E3F94
.public sub_020E4000
.public sub_020E40A0

View File

@ -1,3 +0,0 @@
.public sub_020DFA90
.public sub_020E3F94
.public Unk_021019C8

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

Before

Width:  |  Height:  |  Size: 768 B

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +0,0 @@
.public __flush_all
.public __flush_buffer
.public fflush

View File

@ -1,7 +0,0 @@
.public OS_LockMutex
.public OS_UnlockMutex
.public OS_TryLockMutex
.public __flush_buffer
.public _ftell
.public _fseek
.public fseek

View File

@ -1,2 +0,0 @@
.public __mbtowc_noconv
.public __wctomb_noconv

View File

@ -1 +0,0 @@
.public _f_ftod

View File

@ -1,2 +0,0 @@
.public frexp
.public ldexp

View File

@ -1,4 +0,0 @@
.public mbtowc
.public wctomb
.public strlen
.public strncpy

View File

@ -1 +0,0 @@
.public __fill_mem

View File

@ -1,2 +0,0 @@
.public OS_AllocFromHeap
.public OS_FreeToHeap

View File

@ -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

View File

@ -1 +0,0 @@
.public _d_mul

View File

@ -1,5 +0,0 @@
.public copysign
.public __fpclassifyd
.public _d_add
.public _d_mul
.public _d_feq

View File

@ -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

View File

@ -1,4 +0,0 @@
.public OS_LockMutex
.public OS_UnlockMutex
.public OS_TryLockMutex
.public exit

View File

@ -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

View File

@ -1,5 +0,0 @@
.public __StringRead
.public __strtoul
.public strtol
.public _ull_div
.public _u32_div_f

View File

@ -1 +0,0 @@
.public __ieee754_pow

View File

@ -1 +0,0 @@
.public memcpy

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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