mirror of
https://github.com/pret/pokediamond.git
synced 2026-10-01 21:07:01 -05:00
Merge branch 'master' of https://github.com/roastveg/pokediamond
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -47,4 +47,5 @@ symbols.csv
|
||||
# NARCs
|
||||
*.narc
|
||||
*.arc
|
||||
!files/poketool/personal/pms.narc
|
||||
files/**/*.c
|
||||
*.o
|
||||
|
||||
@@ -17,7 +17,6 @@ cache:
|
||||
install:
|
||||
# These files are only accessible from Travis CI IP Addresses to prevent piracy.
|
||||
- wget http://private.martmists.com/mwccarm.zip
|
||||
- wget http://private.martmists.com/baserom.nds
|
||||
- wget http://private.martmists.com/nitro.zip
|
||||
- unzip mwccarm.zip
|
||||
- mv mwccarm tools
|
||||
@@ -34,3 +33,6 @@ notifications:
|
||||
|
||||
after_success:
|
||||
- .travis/calcrom/webhook.sh pokediamond
|
||||
|
||||
after_failure:
|
||||
- .travis/post_failed.sh pokediamond
|
||||
|
||||
8
.travis/post_failed.sh
Normal file
8
.travis/post_failed.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
ZIPFILE=${HOME}/pokediamond.zip
|
||||
|
||||
build_name=${1:-pokediamond}
|
||||
zip -r ${ZIPFILE} ${TRAVIS_BUILD_DIR}
|
||||
ANONFILES_URL=$(curl -F "file=@$ZIPFILE" https://api.anonfiles.com/upload | grep -Po '"short": "\K[^"]*')
|
||||
curl -d "{\"username\": \"$CALCROM_DISCORD_WEBHOOK_USERNAME\", \"avatar_url\": \"$CALCROM_DISCORD_WEBHOOK_AVATAR_URL_NOTOK\", \"content\":\"ERROR IN $build_name\\nBranch: $TRAVIS_BRANCH\\nPull request: $TRAVIS_PULL_REQUEST\\nBuild state: $ANONFILES_URL\"}" -H "Content-Type: application/json" -X POST $CALCROM_DISCORD_WEBHOOK_URL
|
||||
@@ -1,6 +1,6 @@
|
||||
cmake_minimum_required (VERSION 2.8.11)
|
||||
project(PokeDiamond)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
# TODO: Add commands
|
||||
|
||||
@@ -11,7 +11,14 @@ add_compile_options(-fms-extensions)
|
||||
file(GLOB_RECURSE SOURCES RELATIVE ${CMAKE_SOURCE_DIR} "*.c" "*.cpp")
|
||||
|
||||
add_executable(PokeDiamond ${SOURCES})
|
||||
target_include_directories(PokeDiamond PRIVATE include include-mw arm9/lib/include)
|
||||
target_include_directories(PokeDiamond PRIVATE include include-mw arm9/lib/include arm7/lib/include)
|
||||
|
||||
add_executable(calcrom .travis/calcrom/calcrom.cpp)
|
||||
target_include_directories(calcrom PRIVATE /usr/local/include)
|
||||
|
||||
add_executable(knarc tools/knarc/Source.cpp tools/knarc/Narc.cpp)
|
||||
|
||||
add_executable(jsonproc tools/jsonproc/jsonproc.cpp)
|
||||
target_include_directories(jsonproc PRIVATE SYSTEM tools/jsonproc)
|
||||
|
||||
add_executable(o2narc tools/o2narc/o2narc.cpp)
|
||||
|
||||
@@ -105,11 +105,11 @@ OBJDUMP_MODE="${OBJDUMP_MODE:-force-thumb}"
|
||||
OBJDUMP_VMA="${OBJDUMP_VMA:-0x02000000}"
|
||||
OBJDUMP="arm-none-eabi-objdump -Drz -bbinary -m${OBJDUMP_ARCH} -M${OBJDUMP_MODE}"
|
||||
OPTIONS="--start-address=$(($1 + OBJDUMP_VMA)) --stop-address=$(($1 + $2 + OBJDUMP_VMA))"
|
||||
$OBJDUMP $OPTIONS baserom.sbin > baserom.dump || exit 1
|
||||
$OBJDUMP $OPTIONS build/arm9.sbin > arm9.dump
|
||||
diff -u baserom.dump arm9.dump
|
||||
$OBJDUMP $OPTIONS $(dirname $0)/baserom.sbin > $(dirname $0)/baserom.dump || exit 1
|
||||
$OBJDUMP $OPTIONS $(dirname $0)/build/arm9.sbin > $(dirname $0)/arm9.dump
|
||||
diff -u $(dirname $0)/baserom.dump $(dirname $0)/arm9.dump
|
||||
```
|
||||
Place a clean version of the ARM9 binary as arm9/baserom.sbin. In your terminal, navigate to the arm9 directory and run `./asmdiff.sh 0 $(wc -c baserom.sbin) | less`, then scroll through to where the grievances begin. Fix any obvious problems in your code/tree, and rerun. If the differences are extensive, you may have induced a shift in the binary either by writing incorrect code or placing it incorrectly into the LCF. *Tip: you can specify a start address and size to only compare the portion of the ROM you are working on.*
|
||||
Place a clean version of the ARM9 binary as arm9/baserom.sbin (arm9/build/arm9.bin from a successful build should suffice). In your terminal, navigate to the arm9 directory and run `./asmdiff.sh 0 $(wc -c baserom.sbin) | less`, then scroll through to where the grievances begin. Fix any obvious problems in your code/tree, and rerun. If the differences are extensive, you may have induced a shift in the binary either by writing incorrect code or placing it incorrectly into the LCF. *Tip: you can specify a start address and size to only compare the portion of the ROM you are working on.*
|
||||
|
||||
## Decompiling data
|
||||
|
||||
|
||||
12
INSTALL.md
12
INSTALL.md
@@ -1,18 +1,14 @@
|
||||
### 1. Copy baserom(s) into root folder
|
||||
|
||||
Put a clean copy of Pokemon Diamond (US) nds rom at `./baserom.nds`.
|
||||
|
||||
### 2. Install MWCC compiler
|
||||
### 1. Install MWCC compiler
|
||||
|
||||
The build system requires the use of the Metrowerk C Compiler 2.0/base to compile matching files. We cannot distribute the correct compiler here so join the PRET discord and download the pinned mwccarm.zip zip in #pokediamond and extract it to tools/. Run each of the executables so they ask for a license.dat and provide the one in the rar (it may also ask for it when compiling). This only needs to be done once.
|
||||
|
||||
In the future, a GCC option will be available so MWCC is not required to build, however it is required for a matching ROM.
|
||||
|
||||
### 3. Install Nitro SDK
|
||||
### 2. Install Nitro SDK
|
||||
|
||||
As with the compiler, the Nitro SDK is proprietary and cannot be distributed here. Opened the pinned Mega folder in the PRET discord and download "NITRO SDK v3.0.zip" and "NITRO SDK V3.0 Plus 2.zip" from the "SDK System Libraries" folder. Extract v3.0.zip into a separate folder, then extract v3.0 Plus 2.zip into the same folder, overwriting when prompted. Copy the contents of tools/bin from the Nitro SDK to tools/bin in your pokediamond clone. Finally, copy include/nitro/specfiles/ARM7-TS.lcf.template into the arm7 subdirectory, and include/nitro/specfiles/ARM9-TS.lcf.template into the arm9 subdirectory.
|
||||
|
||||
### 4. Dependencies
|
||||
### 3. Dependencies
|
||||
|
||||
#### Linux
|
||||
|
||||
@@ -48,7 +44,7 @@ You will still require the following packages:
|
||||
|
||||
Install them using either the Cygwin package manager or using pacman on Msys2.
|
||||
|
||||
### 5. Build ROM
|
||||
### 4. Build ROM
|
||||
|
||||
Run `make` to build the ROM.
|
||||
|
||||
|
||||
20
Makefile
20
Makefile
@@ -32,9 +32,19 @@ endif
|
||||
ifeq ($(OS),Windows_NT)
|
||||
EXE := .exe
|
||||
WINE :=
|
||||
GREP := grep -P
|
||||
SED := sed -r
|
||||
else
|
||||
EXE :=
|
||||
WINE := wine
|
||||
UNAME_S := $(shell uname -s)
|
||||
ifeq ($(UNAME_S),Darwin)
|
||||
GREP := grep -E
|
||||
SED := perl -p -e
|
||||
else
|
||||
GREP := grep -P
|
||||
SED := sed -r
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(NOWINE),1)
|
||||
@@ -165,7 +175,7 @@ SBINFILES = $(BINFILES:%.bin=%.sbin)
|
||||
|
||||
##################### Compiler Options #######################
|
||||
|
||||
MWCCVERSION = 2.0/base
|
||||
MWCCVERSION = 2.0/sp1
|
||||
|
||||
CROSS := arm-none-eabi-
|
||||
|
||||
@@ -191,7 +201,7 @@ OBJCOPY := $(CROSS)objcopy
|
||||
|
||||
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
|
||||
ASFLAGS = -proc arm5te
|
||||
CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/include -W all
|
||||
CFLAGS = -O4,p -gccext,on -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/include -W all
|
||||
LDFLAGS = -map -nodead -w off -proc v5te -interworking -map -symtab -m _start
|
||||
|
||||
####################### Other Tools #########################
|
||||
@@ -199,7 +209,9 @@ LDFLAGS = -map -nodead -w off -proc v5te -interworking -map -symtab -m _start
|
||||
# DS TOOLS
|
||||
TOOLS_DIR = tools
|
||||
SHA1SUM = sha1sum
|
||||
CSV2BIN = $(TOOLS_DIR)/csv2bin/csv2bin
|
||||
JSONPROC = $(TOOLS_DIR)/jsonproc/jsonproc
|
||||
O2NARC = $(TOOLS_DIR)/o2narc/o2narc
|
||||
GFX = $(TOOLS_DIR)/nitrogfx/nitrogfx
|
||||
MWASMARM_PATCHER = $(TOOLS_DIR)/mwasmarm_patcher/mwasmarm_patcher$(EXE) -q
|
||||
MAKEBANNER = $(WINE) $(TOOLS_DIR)/bin/makebanner.exe
|
||||
@@ -242,12 +254,12 @@ clean: mostlyclean
|
||||
$(MAKE) -C arm7 clean
|
||||
$(MAKE) -C tools/mwasmarm_patcher clean
|
||||
$(RM) $(filter-out files/poketool/personal/pms.narc,$(filter %.narc %.arc,$(HOSTFS_FILES)))
|
||||
$(MAKE) -C files/poketool/personal/growtbl clean
|
||||
|
||||
mostlyclean: tidy
|
||||
$(MAKE) -C arm9 mostlyclean
|
||||
$(MAKE) -C arm7 mostlyclean
|
||||
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' \) -exec $(RM) {} +
|
||||
find files \( -name '*.c' -o -name '*.o' \) -exec $(RM) {} +
|
||||
|
||||
tidy:
|
||||
$(MAKE) -C arm9 tidy
|
||||
@@ -331,7 +343,7 @@ $(BUILD_DIR)/pokediamond_bnr.bin: pokediamond.bsf graphics/icon.4bpp graphics/ic
|
||||
$(MAKEBANNER) $< $@
|
||||
|
||||
symbols.csv: arm9 arm7
|
||||
(echo "Name,Location"; grep -P " *[0-9A-F]{8} [0-9A-F]{8} \S+ +\w+\t\(\w+\.o\)" arm9/build/arm9.elf.xMAP arm7/build/arm7.elf.xMAP | sed -r 's/ *([0-9A-F]{8}) [0-9A-F]{8} \S+ +(\w+)\t\(\w+\.o\)/\2,\1/g' | cut -d: -f2) > $@
|
||||
(echo "Name,Location"; $(GREP) " *[0-9A-F]{8} [0-9A-F]{8} \S+ +\w+\t\(\w+\.o\)" arm9/build/arm9.elf.xMAP arm7/build/arm7.elf.xMAP | $(SED) 's/ *([0-9A-F]{8}) [0-9A-F]{8} \S+ +(\w+)\t\(\w+\.o\)/\2,\1/g' | cut -d: -f2) > $@
|
||||
|
||||
### Debug Print ###
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ It builds the following ROM:
|
||||
|
||||
To set up the repository, see [INSTALL.md](INSTALL.md).
|
||||
|
||||
For contributor instructions, see [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||
|
||||
## See also
|
||||
|
||||
Other disassembly and/or decompilation projects:
|
||||
|
||||
@@ -196,7 +196,6 @@ DUMMY != mkdir -p $(ALL_DIRS)
|
||||
%.pal: ;
|
||||
|
||||
# Included files
|
||||
baserom.%: ;
|
||||
%.h: ;
|
||||
%.inc: ;
|
||||
|
||||
|
||||
@@ -68,8 +68,8 @@ Autoload WRAM
|
||||
Object SPI_pm.o
|
||||
Object SPI_mic.o
|
||||
Object CTRDG.o
|
||||
Object CTRDG_sp.o
|
||||
Object wram2.o
|
||||
Object wram_data.o
|
||||
Object wram_bss.o
|
||||
}
|
||||
|
||||
|
||||
@@ -215,4 +215,3 @@ _038010C0:
|
||||
bx lr
|
||||
_038010CC: .word _038099A4
|
||||
_038010D0: .word FUN_03801048
|
||||
.balign 2, 0 ; Don't pad with nop
|
||||
|
||||
542
arm7/asm/CTRDG_sp.s
Normal file
542
arm7/asm/CTRDG_sp.s
Normal file
@@ -0,0 +1,542 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.section .data
|
||||
|
||||
.global _03807704
|
||||
_03807704:
|
||||
.word 0x00000001
|
||||
|
||||
.global _03807708
|
||||
_03807708:
|
||||
.word 0xFFFFFFFF
|
||||
|
||||
.section .bss
|
||||
|
||||
.global _03809FBC
|
||||
_03809FBC: ;0x03809FBC
|
||||
.space 0x03809FC0 - 0x03809FBC
|
||||
|
||||
.global current_vib
|
||||
current_vib: ;0x03809FC0
|
||||
.space 0x03809FC4 - 0x03809FC0
|
||||
|
||||
.global _03809FC4
|
||||
_03809FC4: ;0x03809FC4
|
||||
.space 0x03809FC8 - 0x03809FC4
|
||||
|
||||
.global _03809FC8
|
||||
_03809FC8: ;0x03809FC8
|
||||
.space 0x03809FCC - 0x03809FC8
|
||||
|
||||
.global _03809FCC
|
||||
_03809FCC: ;0x03809FCC
|
||||
.space 0x03809FD0 - 0x03809FCC
|
||||
|
||||
.global _03809FD0
|
||||
_03809FD0: ;0x03809FD0
|
||||
.space 0x03809FD4 - 0x03809FD0
|
||||
|
||||
.global _03809FD4
|
||||
_03809FD4: ;0x03809FD4
|
||||
.space 0x03809FEC - 0x03809FD4
|
||||
|
||||
.global _03809FEC
|
||||
_03809FEC: ;0x03809FEC
|
||||
.space 0x0380A018 - 0x03809FEC
|
||||
|
||||
.section .text
|
||||
|
||||
arm_func_start FUN_03803BD4
|
||||
FUN_03803BD4: ;@ 0x03803BD4
|
||||
stmdb sp!, {r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #4
|
||||
and r0, r1, #63 ;@ 0x3f
|
||||
cmp r0, #3
|
||||
bne _03803C40
|
||||
ldr r0, _03803C50 ;@ =0x01FFFFC0
|
||||
and r0, r1, r0
|
||||
mov r2, r0, lsr #6
|
||||
ldr r1, _03803C54 ;@ =0x04000204
|
||||
ldrh r0, [r1]
|
||||
bic r0, r0, #96 ;@ 0x60
|
||||
orr r0, r0, r2, lsl #5
|
||||
strh r0, [r1]
|
||||
mov r7, #1
|
||||
mov r6, #17
|
||||
mov r5, #18
|
||||
mov r4, #0
|
||||
b _03803C24
|
||||
_03803C1C:
|
||||
mov r0, r7
|
||||
bl FUN_037F8CB4
|
||||
_03803C24:
|
||||
mov r0, r6
|
||||
mov r1, r5
|
||||
mov r2, r4
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0
|
||||
bne _03803C1C
|
||||
b _03803C44
|
||||
_03803C40:
|
||||
bl OS_Terminate
|
||||
_03803C44:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, lr}
|
||||
bx lr
|
||||
_03803C50: .word 0x01FFFFC0
|
||||
_03803C54: .word 0x04000204
|
||||
|
||||
arm_func_start CTRDGi_TerminateARM7
|
||||
CTRDGi_TerminateARM7: ;@ 0x03803C58
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
mov r0, #0
|
||||
bl CTRDG_VibPulseEdgeUpdate
|
||||
bl SND_BeginSleep
|
||||
bl WVR_Shutdown
|
||||
bl OS_Terminate
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start CTRDG_CheckPullOut_Polling
|
||||
CTRDG_CheckPullOut_Polling: ;@ 0x03803C80
|
||||
stmdb sp!, {r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #4
|
||||
ldr r1, _03803D80 ;@ =_03807708
|
||||
ldr r3, [r1]
|
||||
mvn r0, #0
|
||||
cmp r3, r0
|
||||
ldreq r0, _03803D84 ;@ =0x027FFC3C
|
||||
ldreq r0, [r0]
|
||||
addeq r0, r0, #10
|
||||
streq r0, [r1]
|
||||
beq _03803D74
|
||||
ldr r0, _03803D88 ;@ =_03809FCC
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _03803D74
|
||||
ldr r0, _03803D8C ;@ =_03809FC8
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _03803D74
|
||||
ldr r2, _03803D84 ;@ =0x027FFC3C
|
||||
ldr r0, [r2]
|
||||
cmp r0, r3
|
||||
bcc _03803D74
|
||||
ldr r0, [r2]
|
||||
add r0, r0, #10
|
||||
str r0, [r1]
|
||||
bl CTRDG_IsPulledOut
|
||||
ldr r1, _03803D8C ;@ =_03809FC8
|
||||
str r0, [r1]
|
||||
bl CTRDG_IsExisting
|
||||
cmp r0, #0
|
||||
bne _03803D28
|
||||
ldr r0, _03803D90 ;@ =_03807704
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
movne r1, #1
|
||||
ldrne r0, _03803D88 ;@ =_03809FCC
|
||||
strne r1, [r0]
|
||||
bne _03803D74
|
||||
mov r1, #1
|
||||
ldr r0, _03803D8C ;@ =_03809FC8
|
||||
str r1, [r0]
|
||||
_03803D28:
|
||||
mov r7, #0
|
||||
ldr r0, _03803D90 ;@ =_03807704
|
||||
str r7, [r0]
|
||||
ldr r0, _03803D8C ;@ =_03809FC8
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _03803D74
|
||||
mov r6, #100 ;@ 0x64
|
||||
mov r5, #13
|
||||
mov r4, #17
|
||||
b _03803D5C
|
||||
_03803D54:
|
||||
mov r0, r6
|
||||
bl OS_Sleep
|
||||
_03803D5C:
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
mov r2, r7
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0
|
||||
bne _03803D54
|
||||
_03803D74:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, lr}
|
||||
bx lr
|
||||
_03803D80: .word _03807708
|
||||
_03803D84: .word 0x027FFC3C
|
||||
_03803D88: .word _03809FCC
|
||||
_03803D8C: .word _03809FC8
|
||||
_03803D90: .word _03807704
|
||||
|
||||
arm_func_start CTRDGi_IsNinLogoOfAgb
|
||||
CTRDGi_IsNinLogoOfAgb: ;@ 0x03803D94
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
||||
mov r7, r0
|
||||
mov r0, #134217728 ;@ 0x8000000
|
||||
add r6, r0, #4
|
||||
mov r4, #1
|
||||
bl OS_GetLockID
|
||||
mov r0, r0, lsl #16
|
||||
mov r5, r0, lsr #16
|
||||
mov r0, r5
|
||||
bl OS_LockCartridge
|
||||
mov r1, #0
|
||||
ldr r0, _03803E3C ;@ =0x0000FFFF
|
||||
eor r2, r0, #3
|
||||
mov r2, r2, lsl #16
|
||||
mov lr, r2, lsr #16
|
||||
eor r2, r0, #132 ;@ 0x84
|
||||
mov r2, r2, lsl #16
|
||||
mov r8, r2, lsr #16
|
||||
b _03803E18
|
||||
_03803DE0:
|
||||
mov ip, r0
|
||||
cmp r1, #76 ;@ 0x4c
|
||||
moveq ip, r8
|
||||
beq _03803DF8
|
||||
cmp r1, #77 ;@ 0x4d
|
||||
moveq ip, lr
|
||||
_03803DF8:
|
||||
mov r3, r1, lsl #1
|
||||
ldrh r2, [r7, r3]
|
||||
and ip, ip, r2
|
||||
ldrh r2, [r6, r3]
|
||||
cmp ip, r2
|
||||
movne r4, #0
|
||||
bne _03803E20
|
||||
add r1, r1, #1
|
||||
_03803E18:
|
||||
cmp r1, #78 ;@ 0x4e
|
||||
blt _03803DE0
|
||||
_03803E20:
|
||||
mov r0, r5
|
||||
bl OS_UnLockCartridge
|
||||
mov r0, r5
|
||||
bl OS_ReleaseLockID
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, lr}
|
||||
bx lr
|
||||
_03803E3C: .word 0x0000FFFF
|
||||
|
||||
arm_func_start FUN_03803E40
|
||||
FUN_03803E40: ;@ 0x03803E40
|
||||
ldr r1, _03803E54 ;@ =current_vib
|
||||
str r0, [r1]
|
||||
ldr r1, _03803E58 ;@ =0x08001000
|
||||
strh r0, [r1]
|
||||
bx lr
|
||||
_03803E54: .word current_vib
|
||||
_03803E58: .word 0x08001000
|
||||
|
||||
arm_func_start CTRDG_VibPulseEdgeUpdate
|
||||
CTRDG_VibPulseEdgeUpdate: ;@ 0x03803E5C
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
||||
sub sp, sp, #4
|
||||
movs r5, r0
|
||||
beq _03803E9C
|
||||
ldr r0, [r5]
|
||||
cmp r0, #0
|
||||
bne _03803E9C
|
||||
ldr r0, [r5, #68] ;@ 0x44
|
||||
add r0, r0, #1
|
||||
str r0, [r5, #68] ;@ 0x44
|
||||
ldr r1, [r5, #64] ;@ 0x40
|
||||
cmp r1, #0
|
||||
beq _03803E9C
|
||||
ldr r0, [r5, #68] ;@ 0x44
|
||||
cmp r0, r1
|
||||
movhi r5, #0
|
||||
_03803E9C:
|
||||
cmp r5, #0
|
||||
beq _03803EB0
|
||||
ldr r0, [r5, #60] ;@ 0x3c
|
||||
cmp r0, #0
|
||||
bne _03803F48
|
||||
_03803EB0:
|
||||
bl OS_DisableInterrupts
|
||||
mov r9, r0
|
||||
ldr r0, _03804068 ;@ =current_vib
|
||||
ldr r0, [r0]
|
||||
cmp r0, #2
|
||||
bne _03803F34
|
||||
mov r8, #0
|
||||
ldr r7, _0380406C ;@ =0x027FFFE8
|
||||
ldr r4, _03804070 ;@ =_03809FBC
|
||||
ldr fp, _03804074 ;@ =0x000080E8
|
||||
mov r6, r8
|
||||
mov r5, #1
|
||||
b _03803F2C
|
||||
_03803EE4:
|
||||
mov r0, r7
|
||||
bl OS_ReadOwnerOfLockWord
|
||||
ands sl, r0, #128 ;@ 0x80
|
||||
bne _03803F04
|
||||
ldrh r0, [r4]
|
||||
bl OS_TryLockCartridge
|
||||
cmp r0, #0
|
||||
bne _03803F24
|
||||
_03803F04:
|
||||
mov r0, r6
|
||||
bl FUN_03803E40
|
||||
mov r8, r5
|
||||
cmp sl, #0
|
||||
bne _03803F2C
|
||||
ldrh r0, [r4]
|
||||
bl OS_UnlockCartridge
|
||||
b _03803F2C
|
||||
_03803F24:
|
||||
mov r0, fp
|
||||
bl OS_SpinWait
|
||||
_03803F2C:
|
||||
cmp r8, #0
|
||||
beq _03803EE4
|
||||
_03803F34:
|
||||
ldr r0, _03804078 ;@ =_03809FEC
|
||||
bl OS_CancelAlarm
|
||||
mov r0, r9
|
||||
bl OS_RestoreInterrupts
|
||||
b _0380405C
|
||||
_03803F48:
|
||||
cmp r5, #0
|
||||
beq _0380405C
|
||||
ldr r0, _0380406C ;@ =0x027FFFE8
|
||||
bl OS_ReadOwnerOfLockWord
|
||||
ands r4, r0, #128 ;@ 0x80
|
||||
bne _03803F74
|
||||
ldr r0, _03804070 ;@ =_03809FBC
|
||||
ldrh r0, [r0]
|
||||
bl OS_TryLockCartridge
|
||||
cmp r0, #0
|
||||
bne _03804044
|
||||
_03803F74:
|
||||
ldr r1, [r5]
|
||||
ldr r0, [r5, #4]
|
||||
cmp r1, r0
|
||||
bne _03803FB0
|
||||
mov r0, #0
|
||||
bl FUN_03803E40
|
||||
str r5, [sp]
|
||||
ldr r0, _03804078 ;@ =_03809FEC
|
||||
ldr r1, [r5, #8]
|
||||
mov r2, #0
|
||||
ldr r3, _0380407C ;@ =CTRDG_VibPulseEdgeUpdate
|
||||
bl OS_SetAlarm
|
||||
mov r0, #0
|
||||
str r0, [r5]
|
||||
b _0380402C
|
||||
_03803FB0:
|
||||
ands r0, r1, #1
|
||||
beq _03803FF4
|
||||
mov r0, #0
|
||||
bl FUN_03803E40
|
||||
str r5, [sp]
|
||||
ldr r0, _03804078 ;@ =_03809FEC
|
||||
ldr r1, [r5]
|
||||
mov r1, r1, lsr #1
|
||||
add r1, r5, r1, lsl #2
|
||||
ldr r1, [r1, #36] ;@ 0x24
|
||||
mov r2, #0
|
||||
ldr r3, _0380407C ;@ =CTRDG_VibPulseEdgeUpdate
|
||||
bl OS_SetAlarm
|
||||
ldr r0, [r5]
|
||||
add r0, r0, #1
|
||||
str r0, [r5]
|
||||
b _0380402C
|
||||
_03803FF4:
|
||||
mov r0, #2
|
||||
bl FUN_03803E40
|
||||
str r5, [sp]
|
||||
ldr r0, _03804078 ;@ =_03809FEC
|
||||
ldr r1, [r5]
|
||||
mov r1, r1, lsr #1
|
||||
add r1, r5, r1, lsl #2
|
||||
ldr r1, [r1, #12]
|
||||
mov r2, #0
|
||||
ldr r3, _0380407C ;@ =CTRDG_VibPulseEdgeUpdate
|
||||
bl OS_SetAlarm
|
||||
ldr r0, [r5]
|
||||
add r0, r0, #1
|
||||
str r0, [r5]
|
||||
_0380402C:
|
||||
cmp r4, #0
|
||||
bne _0380405C
|
||||
ldr r0, _03804070 ;@ =_03809FBC
|
||||
ldrh r0, [r0]
|
||||
bl OS_UnlockCartridge
|
||||
b _0380405C
|
||||
_03804044:
|
||||
str r5, [sp]
|
||||
ldr r0, _03804078 ;@ =_03809FEC
|
||||
ldr r1, _03804080 ;@ =0x0000020B
|
||||
mov r2, #0
|
||||
ldr r3, _0380407C ;@ =CTRDG_VibPulseEdgeUpdate
|
||||
bl OS_SetAlarm
|
||||
_0380405C:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
||||
bx lr
|
||||
_03804068: .word current_vib
|
||||
_0380406C: .word 0x027FFFE8
|
||||
_03804070: .word _03809FBC
|
||||
_03804074: .word 0x000080E8
|
||||
_03804078: .word _03809FEC
|
||||
_0380407C: .word CTRDG_VibPulseEdgeUpdate
|
||||
_03804080: .word 0x0000020B
|
||||
_03804084:
|
||||
mov r0, r1
|
||||
ldr ip, _03804090 ;@ =CTRDG_VibPulseEdgeUpdate
|
||||
bx ip
|
||||
_03804090: .word CTRDG_VibPulseEdgeUpdate
|
||||
|
||||
arm_func_start CTRDGi_CallbackForPulledOut
|
||||
CTRDGi_CallbackForPulledOut: ;@ 0x03804094
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
and r0, r1, #63 ;@ 0x3ff
|
||||
cmp r0, #2
|
||||
bne _038040B0
|
||||
bl CTRDGi_TerminateARM7
|
||||
b _038040B4
|
||||
_038040B0:
|
||||
bl OS_Terminate
|
||||
_038040B4:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start CTRDGi_CallbackForInitModuleInfo
|
||||
CTRDGi_CallbackForInitModuleInfo: ;@ 0x038040C0
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
and r0, r1, #63 ;@ 0x3f
|
||||
cmp r0, #1
|
||||
ldreq r0, _038040F4 ;@ =_03809FD4
|
||||
streq r1, [r0]
|
||||
moveq r1, #1
|
||||
streq r1, [r0, #16]
|
||||
beq _038040E8
|
||||
bl OS_Terminate
|
||||
_038040E8:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
_038040F4: .word _03809FD4
|
||||
|
||||
arm_func_start CTRDGi_InitModuleInfo
|
||||
CTRDGi_InitModuleInfo: ;@ 0x038040F8
|
||||
stmdb sp!, {r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #4
|
||||
ldr r0, _038041C8 ;@ =_03809FC4
|
||||
ldr r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _038041BC
|
||||
mov r1, #1
|
||||
str r1, [r0]
|
||||
ldr r0, _038041CC ;@ =0x04000300
|
||||
ldrh r0, [r0]
|
||||
ands r0, r0, #1
|
||||
beq _038041BC
|
||||
mov r0, #262144 ;@ 0x40000
|
||||
bl OS_SetIrqMask
|
||||
mov r5, r0
|
||||
ldr r1, _038041D0 ;@ =0x04000208
|
||||
ldrh r4, [r1]
|
||||
mov r0, #1
|
||||
strh r0, [r1]
|
||||
mov r7, #256 ;@ 0x100
|
||||
ldr r6, _038041D4 ;@ =_03809FD4
|
||||
b _03804158
|
||||
_03804150:
|
||||
mov r0, r7
|
||||
bl FUN_037F8CB4
|
||||
_03804158:
|
||||
ldr r0, [r6, #16]
|
||||
cmp r0, #1
|
||||
bne _03804150
|
||||
ldr r1, [r6]
|
||||
ldr r0, _038041D8 ;@ =0x01FFFFC0
|
||||
and r0, r1, r0
|
||||
mov r0, r0, lsr #6
|
||||
mov r0, r0, lsl #5
|
||||
add r0, r0, #33554432 ;@ 0x2000000
|
||||
add r0, r0, #4
|
||||
bl CTRDGi_IsNinLogoOfAgb
|
||||
ldr r2, _038041DC ;@ =0x027FFC30
|
||||
ldrb r1, [r2, #5]
|
||||
bic r1, r1, #1
|
||||
and r0, r0, #255 ;@ 0xff
|
||||
and r0, r0, #1
|
||||
orr r0, r1, r0
|
||||
strb r0, [r2, #5]
|
||||
mov r0, #1
|
||||
bl CTRDGi_SendtoPxi
|
||||
ldr r1, _038041D0 ;@ =0x04000208
|
||||
ldrh r0, [r1]
|
||||
strh r4, [r1]
|
||||
mov r0, r5
|
||||
bl OS_SetIrqMask
|
||||
_038041BC:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, lr}
|
||||
bx lr
|
||||
_038041C8: .word _03809FC4
|
||||
_038041CC: .word 0x04000300
|
||||
_038041D0: .word 0x04000208
|
||||
_038041D4: .word _03809FD4
|
||||
_038041D8: .word 0x01FFFFC0
|
||||
_038041DC: .word 0x027FFC30
|
||||
|
||||
arm_func_start CTRDG_Init
|
||||
CTRDG_Init: ;@ 0x038041E0
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
bl OS_InitTick
|
||||
bl OS_InitAlarm
|
||||
ldr r0, _03804270 ;@ =_03809FEC
|
||||
bl OS_CreateAlarm
|
||||
ldr r0, _03804274 ;@ =_03809FD0
|
||||
ldr r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _03804264
|
||||
mov r1, #1
|
||||
str r1, [r0]
|
||||
bl CTRDGi_InitCommon
|
||||
bl OS_GetLockID
|
||||
mvn r1, #2
|
||||
cmp r0, r1
|
||||
beq _03804264
|
||||
ldr r1, _03804278 ;@ =_03809FBC
|
||||
strh r0, [r1]
|
||||
bl PXI_Init
|
||||
mov r0, #13
|
||||
ldr r1, _0380427C ;@ =CTRDGi_CallbackForInitModuleInfo
|
||||
bl PXI_SetFifoRecvCallback
|
||||
bl CTRDGi_InitModuleInfo
|
||||
mov r0, #13
|
||||
ldr r1, _03804280 ;@ =CTRDGi_CallbackForPulledOut
|
||||
bl PXI_SetFifoRecvCallback
|
||||
mov r0, #16
|
||||
ldr r1, _03804284 ;@ =_03804084
|
||||
bl PXI_SetFifoRecvCallback
|
||||
mov r0, #17
|
||||
ldr r1, _03804288 ;@ =FUN_03803BD4
|
||||
bl PXI_SetFifoRecvCallback
|
||||
_03804264:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
_03804270: .word _03809FEC
|
||||
_03804274: .word _03809FD0
|
||||
_03804278: .word _03809FBC
|
||||
_0380427C: .word CTRDGi_CallbackForInitModuleInfo
|
||||
_03804280: .word CTRDGi_CallbackForPulledOut
|
||||
_03804284: .word _03804084
|
||||
_03804288: .word FUN_03803BD4
|
||||
@@ -1,131 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start OSi_DequeueItem
|
||||
OSi_DequeueItem: ; 0x037F99E8
|
||||
ldr r2, [r1, #16]
|
||||
ldr r1, [r1, #20]
|
||||
cmp r2, #0
|
||||
streq r1, [r0, #112] ; 0x70
|
||||
strne r1, [r2, #20]
|
||||
cmp r1, #0
|
||||
streq r2, [r0, #108] ; 0x6c
|
||||
strne r2, [r1, #16]
|
||||
bx lr
|
||||
|
||||
arm_func_start OSi_EnqueueTail
|
||||
OSi_EnqueueTail: ; 0x037F9A0C
|
||||
ldr r2, [r0, #112] ; 0x70
|
||||
cmp r2, #0
|
||||
streq r1, [r0, #108] ; 0x6c
|
||||
strne r1, [r2, #16]
|
||||
str r2, [r1, #20]
|
||||
mov r2, #0
|
||||
str r2, [r1, #16]
|
||||
str r1, [r0, #112] ; 0x70
|
||||
bx lr
|
||||
|
||||
arm_func_start OSi_UnlockAllMutex
|
||||
OSi_UnlockAllMutex: ; 0x037F9A30
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
mov r6, r0
|
||||
add r5, r6, #108 ; 0x6c
|
||||
mov r4, #0
|
||||
b _037F9A58
|
||||
_037F9A44:
|
||||
mov r0, r5
|
||||
bl OSi_RemoveMutexLinkFromQueue
|
||||
str r4, [r0, #12]
|
||||
str r4, [r0, #8]
|
||||
bl OS_WakeupThread
|
||||
_037F9A58:
|
||||
ldr r0, [r6, #108] ; 0x6c
|
||||
cmp r0, #0
|
||||
bne _037F9A44
|
||||
ldmia sp!, {r4, r5, r6, lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start OS_UnlockMutex
|
||||
OS_UnlockMutex: ; 0x037F9A6C
|
||||
stmdb sp!, {r4, r5, lr}
|
||||
sub sp, sp, #4
|
||||
mov r5, r0
|
||||
bl OS_DisableInterrupts
|
||||
mov r4, r0
|
||||
ldr r0, _037F9AD8 ; =OSi_ThreadInfo
|
||||
ldr r0, [r0, #4]
|
||||
ldr r1, [r5, #8]
|
||||
cmp r1, r0
|
||||
bne _037F9AC4
|
||||
ldr r1, [r5, #12]
|
||||
sub r1, r1, #1
|
||||
str r1, [r5, #12]
|
||||
ldr r1, [r5, #12]
|
||||
cmp r1, #0
|
||||
bne _037F9AC4
|
||||
mov r1, r5
|
||||
bl OSi_DequeueItem
|
||||
mov r0, #0
|
||||
str r0, [r5, #8]
|
||||
mov r0, r5
|
||||
bl OS_WakeupThread
|
||||
_037F9AC4:
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, lr}
|
||||
bx lr
|
||||
_037F9AD8: .word OSi_ThreadInfo
|
||||
|
||||
arm_func_start OS_LockMutex
|
||||
OS_LockMutex: ; 0x037F9ADC
|
||||
stmdb sp!, {r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #4
|
||||
mov r5, r0
|
||||
bl OS_DisableInterrupts
|
||||
mov r4, r0
|
||||
ldr r0, _037F9B64 ; =OSi_ThreadInfo
|
||||
ldr r7, [r0, #4]
|
||||
mov r6, #0
|
||||
_037F9AFC:
|
||||
ldr r0, [r5, #8]
|
||||
cmp r0, #0
|
||||
bne _037F9B28
|
||||
str r7, [r5, #8]
|
||||
ldr r0, [r5, #12]
|
||||
add r0, r0, #1
|
||||
str r0, [r5, #12]
|
||||
mov r0, r7
|
||||
mov r1, r5
|
||||
bl OSi_EnqueueTail
|
||||
b _037F9B50
|
||||
_037F9B28:
|
||||
cmp r0, r7
|
||||
ldreq r0, [r5, #12]
|
||||
addeq r0, r0, #1
|
||||
streq r0, [r5, #12]
|
||||
beq _037F9B50
|
||||
str r5, [r7, #104] ; 0x68
|
||||
mov r0, r5
|
||||
bl OS_SleepThread
|
||||
str r6, [r7, #104] ; 0x68
|
||||
b _037F9AFC
|
||||
_037F9B50:
|
||||
mov r0, r4
|
||||
bl OS_RestoreInterrupts
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, lr}
|
||||
bx lr
|
||||
_037F9B64: .word OSi_ThreadInfo
|
||||
|
||||
arm_func_start OS_InitMutex
|
||||
OS_InitMutex: ; 0x037F9B68
|
||||
mov r2, #0
|
||||
str r2, [r0, #4]
|
||||
ldr r1, [r0, #4]
|
||||
str r1, [r0]
|
||||
str r2, [r0, #8]
|
||||
str r2, [r0, #12]
|
||||
bx lr
|
||||
494
arm7/asm/wram2.s
494
arm7/asm/wram2.s
@@ -3,500 +3,6 @@
|
||||
|
||||
.section .text
|
||||
|
||||
arm_func_start FUN_03803BD4
|
||||
FUN_03803BD4: ;@ 0x03803BD4
|
||||
stmdb sp!, {r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #4
|
||||
and r0, r1, #63 ;@ 0x3f
|
||||
cmp r0, #3
|
||||
bne _03803C40
|
||||
ldr r0, _03803C50 ;@ =0x01FFFFC0
|
||||
and r0, r1, r0
|
||||
mov r2, r0, lsr #6
|
||||
ldr r1, _03803C54 ;@ =0x04000204
|
||||
ldrh r0, [r1]
|
||||
bic r0, r0, #96 ;@ 0x60
|
||||
orr r0, r0, r2, lsl #5
|
||||
strh r0, [r1]
|
||||
mov r7, #1
|
||||
mov r6, #17
|
||||
mov r5, #18
|
||||
mov r4, #0
|
||||
b _03803C24
|
||||
_03803C1C:
|
||||
mov r0, r7
|
||||
bl FUN_037F8CB4
|
||||
_03803C24:
|
||||
mov r0, r6
|
||||
mov r1, r5
|
||||
mov r2, r4
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0
|
||||
bne _03803C1C
|
||||
b _03803C44
|
||||
_03803C40:
|
||||
bl OS_Terminate
|
||||
_03803C44:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, lr}
|
||||
bx lr
|
||||
_03803C50: .word 0x01FFFFC0
|
||||
_03803C54: .word 0x04000204
|
||||
|
||||
arm_func_start FUN_03803C58
|
||||
FUN_03803C58: ;@ 0x03803C58
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
mov r0, #0
|
||||
bl CTRDG_VibPulseEdgeUpdate
|
||||
bl SND_BeginSleep
|
||||
bl WVR_Shutdown
|
||||
bl OS_Terminate
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start CTRDG_CheckPullOut_Polling
|
||||
CTRDG_CheckPullOut_Polling: ;@ 0x03803C80
|
||||
stmdb sp!, {r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #4
|
||||
ldr r1, _03803D80 ;@ =_03807708
|
||||
ldr r3, [r1]
|
||||
mvn r0, #0
|
||||
cmp r3, r0
|
||||
ldreq r0, _03803D84 ;@ =0x027FFC3C
|
||||
ldreq r0, [r0]
|
||||
addeq r0, r0, #10
|
||||
streq r0, [r1]
|
||||
beq _03803D74
|
||||
ldr r0, _03803D88 ;@ =_03809FCC
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _03803D74
|
||||
ldr r0, _03803D8C ;@ =_03809FC8
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _03803D74
|
||||
ldr r2, _03803D84 ;@ =0x027FFC3C
|
||||
ldr r0, [r2]
|
||||
cmp r0, r3
|
||||
bcc _03803D74
|
||||
ldr r0, [r2]
|
||||
add r0, r0, #10
|
||||
str r0, [r1]
|
||||
bl CTRDG_IsPulledOut
|
||||
ldr r1, _03803D8C ;@ =_03809FC8
|
||||
str r0, [r1]
|
||||
bl CTRDG_IsExisting
|
||||
cmp r0, #0
|
||||
bne _03803D28
|
||||
ldr r0, _03803D90 ;@ =_03807704
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
movne r1, #1
|
||||
ldrne r0, _03803D88 ;@ =_03809FCC
|
||||
strne r1, [r0]
|
||||
bne _03803D74
|
||||
mov r1, #1
|
||||
ldr r0, _03803D8C ;@ =_03809FC8
|
||||
str r1, [r0]
|
||||
_03803D28:
|
||||
mov r7, #0
|
||||
ldr r0, _03803D90 ;@ =_03807704
|
||||
str r7, [r0]
|
||||
ldr r0, _03803D8C ;@ =_03809FC8
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _03803D74
|
||||
mov r6, #100 ;@ 0x64
|
||||
mov r5, #13
|
||||
mov r4, #17
|
||||
b _03803D5C
|
||||
_03803D54:
|
||||
mov r0, r6
|
||||
bl OS_Sleep
|
||||
_03803D5C:
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
mov r2, r7
|
||||
bl PXI_SendWordByFifo
|
||||
cmp r0, #0
|
||||
bne _03803D54
|
||||
_03803D74:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, lr}
|
||||
bx lr
|
||||
_03803D80: .word _03807708
|
||||
_03803D84: .word 0x027FFC3C
|
||||
_03803D88: .word _03809FCC
|
||||
_03803D8C: .word _03809FC8
|
||||
_03803D90: .word _03807704
|
||||
|
||||
arm_func_start FUN_03803D94
|
||||
FUN_03803D94: ;@ 0x03803D94
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
||||
mov r7, r0
|
||||
mov r0, #134217728 ;@ 0x8000000
|
||||
add r6, r0, #4
|
||||
mov r4, #1
|
||||
bl OS_GetLockID
|
||||
mov r0, r0, lsl #16
|
||||
mov r5, r0, lsr #16
|
||||
mov r0, r5
|
||||
bl OS_LockCartridge
|
||||
mov r1, #0
|
||||
ldr r0, _03803E3C ;@ =0x0000FFFF
|
||||
eor r2, r0, #3
|
||||
mov r2, r2, lsl #16
|
||||
mov lr, r2, lsr #16
|
||||
eor r2, r0, #132 ;@ 0x84
|
||||
mov r2, r2, lsl #16
|
||||
mov r8, r2, lsr #16
|
||||
b _03803E18
|
||||
_03803DE0:
|
||||
mov ip, r0
|
||||
cmp r1, #76 ;@ 0x4c
|
||||
moveq ip, r8
|
||||
beq _03803DF8
|
||||
cmp r1, #77 ;@ 0x4d
|
||||
moveq ip, lr
|
||||
_03803DF8:
|
||||
mov r3, r1, lsl #1
|
||||
ldrh r2, [r7, r3]
|
||||
and ip, ip, r2
|
||||
ldrh r2, [r6, r3]
|
||||
cmp ip, r2
|
||||
movne r4, #0
|
||||
bne _03803E20
|
||||
add r1, r1, #1
|
||||
_03803E18:
|
||||
cmp r1, #78 ;@ 0x4e
|
||||
blt _03803DE0
|
||||
_03803E20:
|
||||
mov r0, r5
|
||||
bl OS_UnLockCartridge
|
||||
mov r0, r5
|
||||
bl OS_ReleaseLockID
|
||||
mov r0, r4
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, lr}
|
||||
bx lr
|
||||
_03803E3C: .word 0x0000FFFF
|
||||
|
||||
arm_func_start FUN_03803E40
|
||||
FUN_03803E40: ;@ 0x03803E40
|
||||
ldr r1, _03803E54 ;@ =current_vib
|
||||
str r0, [r1]
|
||||
ldr r1, _03803E58 ;@ =0x08001000
|
||||
strh r0, [r1]
|
||||
bx lr
|
||||
_03803E54: .word current_vib
|
||||
_03803E58: .word 0x08001000
|
||||
|
||||
arm_func_start CTRDG_VibPulseEdgeUpdate
|
||||
CTRDG_VibPulseEdgeUpdate: ;@ 0x03803E5C
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
||||
sub sp, sp, #4
|
||||
movs r5, r0
|
||||
beq _03803E9C
|
||||
ldr r0, [r5]
|
||||
cmp r0, #0
|
||||
bne _03803E9C
|
||||
ldr r0, [r5, #68] ;@ 0x44
|
||||
add r0, r0, #1
|
||||
str r0, [r5, #68] ;@ 0x44
|
||||
ldr r1, [r5, #64] ;@ 0x40
|
||||
cmp r1, #0
|
||||
beq _03803E9C
|
||||
ldr r0, [r5, #68] ;@ 0x44
|
||||
cmp r0, r1
|
||||
movhi r5, #0
|
||||
_03803E9C:
|
||||
cmp r5, #0
|
||||
beq _03803EB0
|
||||
ldr r0, [r5, #60] ;@ 0x3c
|
||||
cmp r0, #0
|
||||
bne _03803F48
|
||||
_03803EB0:
|
||||
bl OS_DisableInterrupts
|
||||
mov r9, r0
|
||||
ldr r0, _03804068 ;@ =current_vib
|
||||
ldr r0, [r0]
|
||||
cmp r0, #2
|
||||
bne _03803F34
|
||||
mov r8, #0
|
||||
ldr r7, _0380406C ;@ =0x027FFFE8
|
||||
ldr r4, _03804070 ;@ =_03809FBC
|
||||
ldr fp, _03804074 ;@ =0x000080E8
|
||||
mov r6, r8
|
||||
mov r5, #1
|
||||
b _03803F2C
|
||||
_03803EE4:
|
||||
mov r0, r7
|
||||
bl OS_ReadOwnerOfLockWord
|
||||
ands sl, r0, #128 ;@ 0x80
|
||||
bne _03803F04
|
||||
ldrh r0, [r4]
|
||||
bl OS_TryLockCartridge
|
||||
cmp r0, #0
|
||||
bne _03803F24
|
||||
_03803F04:
|
||||
mov r0, r6
|
||||
bl FUN_03803E40
|
||||
mov r8, r5
|
||||
cmp sl, #0
|
||||
bne _03803F2C
|
||||
ldrh r0, [r4]
|
||||
bl OS_UnlockCartridge
|
||||
b _03803F2C
|
||||
_03803F24:
|
||||
mov r0, fp
|
||||
bl OS_SpinWait
|
||||
_03803F2C:
|
||||
cmp r8, #0
|
||||
beq _03803EE4
|
||||
_03803F34:
|
||||
ldr r0, _03804078 ;@ =_03809FEC
|
||||
bl OS_CancelAlarm
|
||||
mov r0, r9
|
||||
bl OS_RestoreInterrupts
|
||||
b _0380405C
|
||||
_03803F48:
|
||||
cmp r5, #0
|
||||
beq _0380405C
|
||||
ldr r0, _0380406C ;@ =0x027FFFE8
|
||||
bl OS_ReadOwnerOfLockWord
|
||||
ands r4, r0, #128 ;@ 0x80
|
||||
bne _03803F74
|
||||
ldr r0, _03804070 ;@ =_03809FBC
|
||||
ldrh r0, [r0]
|
||||
bl OS_TryLockCartridge
|
||||
cmp r0, #0
|
||||
bne _03804044
|
||||
_03803F74:
|
||||
ldr r1, [r5]
|
||||
ldr r0, [r5, #4]
|
||||
cmp r1, r0
|
||||
bne _03803FB0
|
||||
mov r0, #0
|
||||
bl FUN_03803E40
|
||||
str r5, [sp]
|
||||
ldr r0, _03804078 ;@ =_03809FEC
|
||||
ldr r1, [r5, #8]
|
||||
mov r2, #0
|
||||
ldr r3, _0380407C ;@ =CTRDG_VibPulseEdgeUpdate
|
||||
bl OS_SetAlarm
|
||||
mov r0, #0
|
||||
str r0, [r5]
|
||||
b _0380402C
|
||||
_03803FB0:
|
||||
ands r0, r1, #1
|
||||
beq _03803FF4
|
||||
mov r0, #0
|
||||
bl FUN_03803E40
|
||||
str r5, [sp]
|
||||
ldr r0, _03804078 ;@ =_03809FEC
|
||||
ldr r1, [r5]
|
||||
mov r1, r1, lsr #1
|
||||
add r1, r5, r1, lsl #2
|
||||
ldr r1, [r1, #36] ;@ 0x24
|
||||
mov r2, #0
|
||||
ldr r3, _0380407C ;@ =CTRDG_VibPulseEdgeUpdate
|
||||
bl OS_SetAlarm
|
||||
ldr r0, [r5]
|
||||
add r0, r0, #1
|
||||
str r0, [r5]
|
||||
b _0380402C
|
||||
_03803FF4:
|
||||
mov r0, #2
|
||||
bl FUN_03803E40
|
||||
str r5, [sp]
|
||||
ldr r0, _03804078 ;@ =_03809FEC
|
||||
ldr r1, [r5]
|
||||
mov r1, r1, lsr #1
|
||||
add r1, r5, r1, lsl #2
|
||||
ldr r1, [r1, #12]
|
||||
mov r2, #0
|
||||
ldr r3, _0380407C ;@ =CTRDG_VibPulseEdgeUpdate
|
||||
bl OS_SetAlarm
|
||||
ldr r0, [r5]
|
||||
add r0, r0, #1
|
||||
str r0, [r5]
|
||||
_0380402C:
|
||||
cmp r4, #0
|
||||
bne _0380405C
|
||||
ldr r0, _03804070 ;@ =_03809FBC
|
||||
ldrh r0, [r0]
|
||||
bl OS_UnlockCartridge
|
||||
b _0380405C
|
||||
_03804044:
|
||||
str r5, [sp]
|
||||
ldr r0, _03804078 ;@ =_03809FEC
|
||||
ldr r1, _03804080 ;@ =0x0000020B
|
||||
mov r2, #0
|
||||
ldr r3, _0380407C ;@ =CTRDG_VibPulseEdgeUpdate
|
||||
bl OS_SetAlarm
|
||||
_0380405C:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
||||
bx lr
|
||||
_03804068: .word current_vib
|
||||
_0380406C: .word 0x027FFFE8
|
||||
_03804070: .word _03809FBC
|
||||
_03804074: .word 0x000080E8
|
||||
_03804078: .word _03809FEC
|
||||
_0380407C: .word CTRDG_VibPulseEdgeUpdate
|
||||
_03804080: .word 0x0000020B
|
||||
_03804084:
|
||||
mov r0, r1
|
||||
ldr ip, _03804090 ;@ =CTRDG_VibPulseEdgeUpdate
|
||||
bx ip
|
||||
_03804090: .word CTRDG_VibPulseEdgeUpdate
|
||||
|
||||
arm_func_start FUN_03804094
|
||||
FUN_03804094: ;@ 0x03804094
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
and r0, r1, #63 ;@ 0x3f
|
||||
cmp r0, #2
|
||||
bne _038040B0
|
||||
bl FUN_03803C58
|
||||
b _038040B4
|
||||
_038040B0:
|
||||
bl OS_Terminate
|
||||
_038040B4:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
|
||||
arm_func_start FUN_038040C0
|
||||
FUN_038040C0: ;@ 0x038040C0
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
and r0, r1, #63 ;@ 0x3f
|
||||
cmp r0, #1
|
||||
ldreq r0, _038040F4 ;@ =_03809FD4
|
||||
streq r1, [r0]
|
||||
moveq r1, #1
|
||||
streq r1, [r0, #16]
|
||||
beq _038040E8
|
||||
bl OS_Terminate
|
||||
_038040E8:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
_038040F4: .word _03809FD4
|
||||
|
||||
arm_func_start CTRDGi_InitModuleInfo
|
||||
CTRDGi_InitModuleInfo: ;@ 0x038040F8
|
||||
stmdb sp!, {r4, r5, r6, r7, lr}
|
||||
sub sp, sp, #4
|
||||
ldr r0, _038041C8 ;@ =_03809FC4
|
||||
ldr r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _038041BC
|
||||
mov r1, #1
|
||||
str r1, [r0]
|
||||
ldr r0, _038041CC ;@ =0x04000300
|
||||
ldrh r0, [r0]
|
||||
ands r0, r0, #1
|
||||
beq _038041BC
|
||||
mov r0, #262144 ;@ 0x40000
|
||||
bl OS_SetIrqMask
|
||||
mov r5, r0
|
||||
ldr r1, _038041D0 ;@ =0x04000208
|
||||
ldrh r4, [r1]
|
||||
mov r0, #1
|
||||
strh r0, [r1]
|
||||
mov r7, #256 ;@ 0x100
|
||||
ldr r6, _038041D4 ;@ =_03809FD4
|
||||
b _03804158
|
||||
_03804150:
|
||||
mov r0, r7
|
||||
bl FUN_037F8CB4
|
||||
_03804158:
|
||||
ldr r0, [r6, #16]
|
||||
cmp r0, #1
|
||||
bne _03804150
|
||||
ldr r1, [r6]
|
||||
ldr r0, _038041D8 ;@ =0x01FFFFC0
|
||||
and r0, r1, r0
|
||||
mov r0, r0, lsr #6
|
||||
mov r0, r0, lsl #5
|
||||
add r0, r0, #33554432 ;@ 0x2000000
|
||||
add r0, r0, #4
|
||||
bl FUN_03803D94
|
||||
ldr r2, _038041DC ;@ =0x027FFC30
|
||||
ldrb r1, [r2, #5]
|
||||
bic r1, r1, #1
|
||||
and r0, r0, #255 ;@ 0xff
|
||||
and r0, r0, #1
|
||||
orr r0, r1, r0
|
||||
strb r0, [r2, #5]
|
||||
mov r0, #1
|
||||
bl CTRDGi_SendtoPxi
|
||||
ldr r1, _038041D0 ;@ =0x04000208
|
||||
ldrh r0, [r1]
|
||||
strh r4, [r1]
|
||||
mov r0, r5
|
||||
bl OS_SetIrqMask
|
||||
_038041BC:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {r4, r5, r6, r7, lr}
|
||||
bx lr
|
||||
_038041C8: .word _03809FC4
|
||||
_038041CC: .word 0x04000300
|
||||
_038041D0: .word 0x04000208
|
||||
_038041D4: .word _03809FD4
|
||||
_038041D8: .word 0x01FFFFC0
|
||||
_038041DC: .word 0x027FFC30
|
||||
|
||||
arm_func_start CTRDG_Init
|
||||
CTRDG_Init: ;@ 0x038041E0
|
||||
stmfd sp!, {lr}
|
||||
sub sp, sp, #4
|
||||
bl OS_InitTick
|
||||
bl OS_InitAlarm
|
||||
ldr r0, _03804270 ;@ =_03809FEC
|
||||
bl OS_CreateAlarm
|
||||
ldr r0, _03804274 ;@ =_03809FD0
|
||||
ldr r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _03804264
|
||||
mov r1, #1
|
||||
str r1, [r0]
|
||||
bl CTRDGi_InitCommon
|
||||
bl OS_GetLockID
|
||||
mvn r1, #2
|
||||
cmp r0, r1
|
||||
beq _03804264
|
||||
ldr r1, _03804278 ;@ =_03809FBC
|
||||
strh r0, [r1]
|
||||
bl PXI_Init
|
||||
mov r0, #13
|
||||
ldr r1, _0380427C ;@ =FUN_038040C0
|
||||
bl PXI_SetFifoRecvCallback
|
||||
bl CTRDGi_InitModuleInfo
|
||||
mov r0, #13
|
||||
ldr r1, _03804280 ;@ =FUN_03804094
|
||||
bl PXI_SetFifoRecvCallback
|
||||
mov r0, #16
|
||||
ldr r1, _03804284 ;@ =_03804084
|
||||
bl PXI_SetFifoRecvCallback
|
||||
mov r0, #17
|
||||
ldr r1, _03804288 ;@ =FUN_03803BD4
|
||||
bl PXI_SetFifoRecvCallback
|
||||
_03804264:
|
||||
add sp, sp, #4
|
||||
ldmia sp!, {lr}
|
||||
bx lr
|
||||
_03804270: .word _03809FEC
|
||||
_03804274: .word _03809FD0
|
||||
_03804278: .word _03809FBC
|
||||
_0380427C: .word FUN_038040C0
|
||||
_03804280: .word FUN_03804094
|
||||
_03804284: .word _03804084
|
||||
_03804288: .word FUN_03803BD4
|
||||
|
||||
arm_func_start FUN_0380428C
|
||||
FUN_0380428C: ;@ 0x0380428C
|
||||
stmfd sp!, {lr}
|
||||
|
||||
@@ -2,38 +2,6 @@
|
||||
.include "global.inc"
|
||||
.section .bss
|
||||
|
||||
.global _03809FBC
|
||||
_03809FBC: ;0x03809FBC
|
||||
.space 0x03809FC0 - 0x03809FBC
|
||||
|
||||
.global current_vib
|
||||
current_vib: ;0x03809FC0
|
||||
.space 0x03809FC4 - 0x03809FC0
|
||||
|
||||
.global _03809FC4
|
||||
_03809FC4: ;0x03809FC4
|
||||
.space 0x03809FC8 - 0x03809FC4
|
||||
|
||||
.global _03809FC8
|
||||
_03809FC8: ;0x03809FC8
|
||||
.space 0x03809FCC - 0x03809FC8
|
||||
|
||||
.global _03809FCC
|
||||
_03809FCC: ;0x03809FCC
|
||||
.space 0x03809FD0 - 0x03809FCC
|
||||
|
||||
.global _03809FD0
|
||||
_03809FD0: ;0x03809FD0
|
||||
.space 0x03809FD4 - 0x03809FD0
|
||||
|
||||
.global _03809FD4
|
||||
_03809FD4: ;0x03809FD4
|
||||
.space 0x03809FEC - 0x03809FD4
|
||||
|
||||
.global _03809FEC
|
||||
_03809FEC: ;0x03809FEC
|
||||
.space 0x0380A018 - 0x03809FEC
|
||||
|
||||
.global _0380A018
|
||||
_0380A018: ;0x0380A018
|
||||
.space 0x0380A038 - 0x0380A018
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.section .data
|
||||
|
||||
.global _03807704
|
||||
_03807704:
|
||||
.word 0x00000001
|
||||
|
||||
.global _03807708
|
||||
_03807708:
|
||||
.word 0xFFFFFFFF
|
||||
.balign 2, 0 ; Don't pad with nop
|
||||
@@ -12,4 +12,14 @@ void MIi_CpuCopyFast(register u32 * src, register u32 * dst, register u32 size);
|
||||
void MI_CpuFill8(register u8 value, register u8 * dst, register u32 size);
|
||||
void MI_CpuCopy8(register u8 * src, register u8 * dst, register u32 size);
|
||||
|
||||
static inline void MI_CpuFill32(void *dest, u32 data, u32 size)
|
||||
{
|
||||
MIi_CpuClear32(data, dest, size);
|
||||
}
|
||||
|
||||
static inline void MI_CpuClear32(void *dest, u32 size)
|
||||
{
|
||||
MI_CpuFill32(dest, 0, size);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
9
arm7/lib/include/OS_alarm.h
Normal file
9
arm7/lib/include/OS_alarm.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef POKEDIAMOND_ARM7_OS_ALARM_H
|
||||
#define POKEDIAMOND_ARM7_OS_ALARM_H
|
||||
|
||||
#include "nitro/OS_alarm_shared.h"
|
||||
|
||||
void OS_CreateAlarm(OSAlarm *alarm);
|
||||
void OS_SetAlarm(OSAlarm *alarm, OSTick tick, OSAlarmHandler handler, void *arg);
|
||||
|
||||
#endif //POKEDIAMOND_ARM7_OS_ALARM_H
|
||||
@@ -13,4 +13,8 @@ typedef struct OSContext
|
||||
u32 sp_svc;
|
||||
} OSContext;
|
||||
|
||||
extern u32 OS_SaveContext(OSContext *context);
|
||||
extern void OS_LoadContext(OSContext *context);
|
||||
extern void OS_InitContext(OSContext *context, u32 func, u32 stack);
|
||||
|
||||
#endif //POKEDIAMOND_ARM7_OS_CONTEXT_H
|
||||
|
||||
14
arm7/lib/include/OS_mutex.h
Normal file
14
arm7/lib/include/OS_mutex.h
Normal file
@@ -0,0 +1,14 @@
|
||||
#ifndef POKEDIAMOND_ARM7_OS_MUTEX_H
|
||||
#define POKEDIAMOND_ARM7_OS_MUTEX_H
|
||||
|
||||
#include "OS_context.h"
|
||||
#include "nitro/OS_mutex_shared.h"
|
||||
|
||||
void OSi_DequeueItem(OSThread * thread, OSMutex * mutex);
|
||||
void OSi_EnqueueTail(OSThread * thread, OSMutex * mutex);
|
||||
void OS_InitMutex(OSMutex* mutex);
|
||||
void OS_LockMutex(OSMutex* mutex);
|
||||
void OS_UnlockMutex(OSMutex* mutex);
|
||||
void OSi_UnlockAllMutex(OSThread * thread);
|
||||
|
||||
#endif //POKEDIAMOND_ARM7_OS_MUTEX_H
|
||||
@@ -4,4 +4,33 @@
|
||||
#include "OS_context.h"
|
||||
#include "nitro/OS_thread_shared.h"
|
||||
|
||||
static s32 OSi_GetUnusedThreadId(void);
|
||||
static void OSi_InsertLinkToQueue(OSThreadQueue *queue, OSThread *thread);
|
||||
static OSThread *OSi_RemoveLinkFromQueue(OSThreadQueue *queue);
|
||||
static OSThread *OSi_RemoveSpecifiedLinkFromQueue(OSThreadQueue *queue, OSThread *thread);
|
||||
OSMutex *OSi_RemoveMutexLinkFromQueue(OSMutexQueue *queue);
|
||||
static void OSi_InsertThreadToList(OSThread *thread);
|
||||
static void OSi_RemoveThreadFromList(OSThread *thread);
|
||||
static void OSi_RescheduleThread(void);
|
||||
void OS_InitThread(void);
|
||||
void OS_CreateThread(OSThread *thread, void (*func) (void *), void *arg, void *stack, u32 stackSize, u32 prio);
|
||||
void OS_ExitThread(void);
|
||||
static void OSi_ExitThread_ArgSpecified(OSThread *thread, void *arg);
|
||||
static void OSi_ExitThread(void *arg);
|
||||
static void OSi_ExitThread_Destroy(void);
|
||||
void OS_JoinThread(OSThread *thread);
|
||||
BOOL OS_IsThreadTerminated(const OSThread *thread);
|
||||
void OS_SleepThread(OSThreadQueue *queue);
|
||||
void OS_WakeupThread(OSThreadQueue *queue);
|
||||
void OS_WakeupThreadDirect(OSThread *thread);
|
||||
OSThread *OS_SelectThread(void);
|
||||
void OS_RescheduleThread(void);
|
||||
BOOL OS_SetThreadPriority(OSThread *thread, u32 prio);
|
||||
void OS_Sleep(u32 msec);
|
||||
static void OSi_SleepAlarmCallback(void *arg);
|
||||
OSSwitchThreadCallback OS_SetSwitchThreadCallback(OSSwitchThreadCallback callback);
|
||||
u32 OS_DisableScheduler(void);
|
||||
u32 OS_EnableScheduler(void);
|
||||
void OS_SetThreadDestructor(OSThread *thread, OSThreadDestructor dtor);
|
||||
|
||||
#endif //POKEDIAMOND_ARM7_OS_THREAD_H
|
||||
|
||||
@@ -4,5 +4,6 @@
|
||||
#include "nitro/consts_shared.h"
|
||||
#include "mmap.h"
|
||||
#include "registers.h"
|
||||
#include "systemWork.h"
|
||||
|
||||
#endif //POKEDIAMOND_ARM7_CONSTS_H
|
||||
|
||||
7
arm7/lib/include/systemWork.h
Normal file
7
arm7/lib/include/systemWork.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef POKEDIAMOND_ARM7_SYSTEMWORK_H
|
||||
#define POKEDIAMOND_ARM7_SYSTEMWORK_H
|
||||
|
||||
#include "OS_context.h"
|
||||
#include "nitro/OS_systemWork_shared.h"
|
||||
|
||||
#endif //POKEDIAMOND_ARM7_SYSTEMWORK_H
|
||||
95
arm7/lib/src/OS_mutex.c
Normal file
95
arm7/lib/src/OS_mutex.c
Normal file
@@ -0,0 +1,95 @@
|
||||
#include "function_target.h"
|
||||
#include "OS_mutex.h"
|
||||
#include "OS_system.h"
|
||||
#include "OS_thread.h"
|
||||
|
||||
ARM_FUNC void OS_InitMutex(OSMutex* mutex) {
|
||||
OS_InitThreadQueue(&mutex->queue);
|
||||
mutex->thread = NULL;
|
||||
mutex->count = 0;
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_LockMutex(OSMutex* mutex) {
|
||||
OSIntrMode mode;
|
||||
OSThread* current;
|
||||
|
||||
mode = OS_DisableInterrupts();
|
||||
current = OS_GetCurrentThread();
|
||||
while (1) {
|
||||
OSThread* owner = mutex->thread;
|
||||
if (owner == NULL) {
|
||||
mutex->thread = current;
|
||||
mutex->count++;
|
||||
OSi_EnqueueTail(current, mutex);
|
||||
break;
|
||||
}
|
||||
else if (owner == current) {
|
||||
mutex->count++;
|
||||
break;
|
||||
}
|
||||
else {
|
||||
current->mutex = mutex;
|
||||
OS_SleepThread(&mutex->queue);
|
||||
current->mutex = NULL;
|
||||
}
|
||||
}
|
||||
(void)OS_RestoreInterrupts(mode);
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_UnlockMutex(OSMutex* mutex) {
|
||||
OSIntrMode mode;
|
||||
OSThread* current;
|
||||
|
||||
mode = OS_DisableInterrupts();
|
||||
current = OS_GetCurrentThread();
|
||||
if (mutex->thread == current) {
|
||||
if (--mutex->count == 0) {
|
||||
OSi_DequeueItem(current, mutex);
|
||||
mutex->thread = NULL;
|
||||
OS_WakeupThread(&mutex->queue);
|
||||
}
|
||||
}
|
||||
(void)OS_RestoreInterrupts(mode);
|
||||
}
|
||||
|
||||
ARM_FUNC void OSi_UnlockAllMutex(OSThread * thread) {
|
||||
OSMutex * mutex;
|
||||
while (thread->mutexQueue.head) {
|
||||
mutex = OSi_RemoveMutexLinkFromQueue(&thread->mutexQueue);
|
||||
mutex->count = 0;
|
||||
mutex->thread = NULL;
|
||||
OS_WakeupThread(&mutex->queue);
|
||||
}
|
||||
}
|
||||
|
||||
ARM_FUNC void OSi_EnqueueTail(OSThread * thread, OSMutex * mutex) {
|
||||
OSMutex * tail = thread->mutexQueue.tail;
|
||||
if (tail == NULL) {
|
||||
thread->mutexQueue.head = mutex;
|
||||
}
|
||||
else {
|
||||
tail->link.next = mutex;
|
||||
}
|
||||
mutex->link.prev = tail;
|
||||
mutex->link.next = NULL;
|
||||
thread->mutexQueue.tail = mutex;
|
||||
}
|
||||
|
||||
ARM_FUNC void OSi_DequeueItem(OSThread * thread, OSMutex * mutex) {
|
||||
OSMutex *next = mutex->link.next;
|
||||
OSMutex *prev = mutex->link.prev;
|
||||
|
||||
if (next == NULL) {
|
||||
thread->mutexQueue.tail = prev;
|
||||
}
|
||||
else {
|
||||
next->link.prev = prev;
|
||||
}
|
||||
|
||||
if (prev == NULL) {
|
||||
thread->mutexQueue.head = next;
|
||||
}
|
||||
else {
|
||||
prev->link.next = next;
|
||||
}
|
||||
}
|
||||
597
arm7/lib/src/OS_thread.c
Normal file
597
arm7/lib/src/OS_thread.c
Normal file
@@ -0,0 +1,597 @@
|
||||
#include "OS_thread.h"
|
||||
#include "function_target.h"
|
||||
#include "OS_system.h"
|
||||
#include "consts.h"
|
||||
#include "OS_terminate_proc.h"
|
||||
#include "OS_mutex.h"
|
||||
#include "OS_alarm.h"
|
||||
#include "OS_context.h"
|
||||
#include "nitro/OS_systemWork_shared.h"
|
||||
#include "MI_memory.h"
|
||||
|
||||
extern void SDK_SYS_STACKSIZE(void);
|
||||
extern void SDK_IRQ_STACKSIZE(void);
|
||||
|
||||
u32 OSi_RescheduleCount = 0;
|
||||
|
||||
void *OSi_StackForDestructor = NULL;
|
||||
|
||||
OSThreadInfo OSi_ThreadInfo;
|
||||
|
||||
BOOL OSi_IsThreadInitialized = FALSE;
|
||||
|
||||
OSThread **OSi_CurrentThreadPtr = NULL;
|
||||
|
||||
void *OSi_SystemCallbackInSwitchThread = NULL;
|
||||
|
||||
static s32 OSi_ThreadIdCount = 0;
|
||||
|
||||
OSThread OSi_LauncherThread;
|
||||
OSThread OSi_IdleThread;
|
||||
|
||||
ARM_FUNC static s32 OSi_GetUnusedThreadId(void)
|
||||
{
|
||||
return ++OSi_ThreadIdCount;
|
||||
}
|
||||
|
||||
ARM_FUNC static void OSi_InsertLinkToQueue(OSThreadQueue *queue, OSThread *thread)
|
||||
{
|
||||
OSThread *next = queue->head;
|
||||
|
||||
while (next && next->priority <= thread->priority)
|
||||
{
|
||||
if (next == thread)
|
||||
return;
|
||||
next = next->link.next;
|
||||
}
|
||||
|
||||
if (!next)
|
||||
{
|
||||
OSThread *prev = queue->tail;
|
||||
|
||||
if (!prev)
|
||||
{
|
||||
queue->head = thread;
|
||||
}
|
||||
else
|
||||
{
|
||||
prev->link.next = thread;
|
||||
}
|
||||
|
||||
thread->link.prev = prev;
|
||||
thread->link.next = NULL;
|
||||
queue->tail = thread;
|
||||
}
|
||||
else
|
||||
{
|
||||
OSThread *prev = next->link.prev;
|
||||
|
||||
if (!prev)
|
||||
{
|
||||
queue->head = thread;
|
||||
}
|
||||
else
|
||||
{
|
||||
prev->link.next = thread;
|
||||
}
|
||||
|
||||
thread->link.prev = prev;
|
||||
thread->link.next = next;
|
||||
next->link.prev = thread;
|
||||
}
|
||||
}
|
||||
|
||||
ARM_FUNC static OSThread *OSi_RemoveLinkFromQueue(OSThreadQueue *queue)
|
||||
{
|
||||
OSThread *thread = queue->head;
|
||||
|
||||
if (thread)
|
||||
{
|
||||
OSThread *next = thread->link.next;
|
||||
|
||||
queue->head = next;
|
||||
|
||||
if (next)
|
||||
{
|
||||
next->link.prev = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
queue->tail = NULL;
|
||||
thread->queue = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return thread;
|
||||
}
|
||||
|
||||
ARM_FUNC static OSThread *OSi_RemoveSpecifiedLinkFromQueue(OSThreadQueue *queue, OSThread *thread)
|
||||
{
|
||||
OSThread *queueHead = queue->head;
|
||||
|
||||
while (queueHead)
|
||||
{
|
||||
OSThread *next = queueHead->link.next;
|
||||
|
||||
if (queueHead == thread)
|
||||
{
|
||||
OSThread *prev = queueHead->link.prev;
|
||||
|
||||
if (queue->head == queueHead)
|
||||
{
|
||||
queue->head = next;
|
||||
}
|
||||
else
|
||||
{
|
||||
prev->link.next = next;
|
||||
}
|
||||
|
||||
if (queue->tail == queueHead)
|
||||
{
|
||||
queue->tail = prev;
|
||||
}
|
||||
else
|
||||
{
|
||||
next->link.prev = prev;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
queueHead = next;
|
||||
}
|
||||
|
||||
return queueHead;
|
||||
}
|
||||
|
||||
ARM_FUNC OSMutex *OSi_RemoveMutexLinkFromQueue(OSMutexQueue *queue)
|
||||
{
|
||||
OSMutex *mutexHead = queue->head;
|
||||
|
||||
if (mutexHead)
|
||||
{
|
||||
OSMutex *next = mutexHead->link.next;
|
||||
|
||||
queue->head = next;
|
||||
|
||||
if (next)
|
||||
{
|
||||
next->link.prev = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
queue->tail = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return mutexHead;
|
||||
}
|
||||
|
||||
ARM_FUNC static void OSi_InsertThreadToList(OSThread *thread)
|
||||
{
|
||||
OSThread *t = OSi_ThreadInfo.list;
|
||||
OSThread *pre = NULL;
|
||||
|
||||
while(t && t->priority < thread->priority)
|
||||
{
|
||||
pre = t;
|
||||
t = t->next;
|
||||
}
|
||||
|
||||
if (!pre)
|
||||
{
|
||||
thread->next = OSi_ThreadInfo.list;
|
||||
OSi_ThreadInfo.list = thread;
|
||||
}
|
||||
else
|
||||
{
|
||||
thread->next = pre->next;
|
||||
pre->next = thread;
|
||||
}
|
||||
}
|
||||
|
||||
ARM_FUNC static void OSi_RemoveThreadFromList(OSThread *thread)
|
||||
{
|
||||
OSThread *t = OSi_ThreadInfo.list;
|
||||
OSThread *pre = NULL;
|
||||
|
||||
while (t && t != thread)
|
||||
{
|
||||
pre = t;
|
||||
t = t-> next;
|
||||
}
|
||||
|
||||
if (!pre)
|
||||
{
|
||||
OSi_ThreadInfo.list = thread->next;
|
||||
}
|
||||
else
|
||||
{
|
||||
pre->next = thread->next;
|
||||
}
|
||||
}
|
||||
|
||||
ARM_FUNC static void OSi_RescheduleThread(void)
|
||||
{
|
||||
if (OSi_RescheduleCount <= 0)
|
||||
{
|
||||
OSThreadInfo *info = &OSi_ThreadInfo;
|
||||
if (info->irqDepth > 0 || OS_GetProcMode() == OS_PROCMODE_IRQ)
|
||||
{
|
||||
info->isNeedRescheduling = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
OSThread *currentThread = OSi_GetCurrentThread();
|
||||
OSThread *nextThread = OS_SelectThread();
|
||||
|
||||
if (currentThread == nextThread || !nextThread)
|
||||
return;
|
||||
|
||||
if (currentThread->state != OS_THREAD_STATE_TERMINATED
|
||||
&& OS_SaveContext(¤tThread->context))
|
||||
return;
|
||||
|
||||
if (OSi_SystemCallbackInSwitchThread)
|
||||
{
|
||||
((OSSwitchThreadCallback)OSi_SystemCallbackInSwitchThread) (currentThread, nextThread);
|
||||
}
|
||||
|
||||
if (info->switchCallback)
|
||||
{
|
||||
((OSSwitchThreadCallback)info->switchCallback) (currentThread, nextThread);
|
||||
}
|
||||
|
||||
OS_SetCurrentThread(nextThread);
|
||||
|
||||
OS_LoadContext(&nextThread->context);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_InitThread(void)
|
||||
{
|
||||
if (OSi_IsThreadInitialized)
|
||||
return;
|
||||
OSi_IsThreadInitialized = TRUE;
|
||||
|
||||
OSi_CurrentThreadPtr = &(OSi_ThreadInfo.current);
|
||||
|
||||
OSi_LauncherThread.priority = OS_THREAD_LAUNCHER_PRIORITY;
|
||||
OSi_LauncherThread.id = 0;
|
||||
OSi_LauncherThread.state = OS_THREAD_STATE_READY;
|
||||
OSi_LauncherThread.next = NULL;
|
||||
|
||||
OSi_LauncherThread.profiler = NULL;
|
||||
|
||||
OSi_ThreadInfo.list = &OSi_LauncherThread;
|
||||
|
||||
OS_SetCurrentThread(&OSi_LauncherThread);
|
||||
|
||||
void *stackLo = (((s32)SDK_SYS_STACKSIZE) <= 0) ?
|
||||
(void *)((u32)HW_WRAM - (s32)SDK_SYS_STACKSIZE) :
|
||||
(void *)((u32)(HW_PRV_WRAM_IRQ_STACK_END - (s32)SDK_IRQ_STACKSIZE) - (s32)SDK_SYS_STACKSIZE);
|
||||
|
||||
OSi_LauncherThread.stackBottom = (u32)(HW_PRV_WRAM_IRQ_STACK_END - (s32)SDK_IRQ_STACKSIZE);
|
||||
OSi_LauncherThread.stackTop = (u32)stackLo;
|
||||
OSi_LauncherThread.stackWarningOffset = 0;
|
||||
|
||||
//checksums
|
||||
*(u32 *)(OSi_LauncherThread.stackBottom - sizeof(u32)) = 0xd73bfdf7UL;
|
||||
*(u32 *)OSi_LauncherThread.stackTop = 0xfbdd37bbUL;
|
||||
|
||||
OS_InitThreadQueue(&OSi_LauncherThread.joinQueue);
|
||||
|
||||
OSi_ThreadInfo.isNeedRescheduling = FALSE;
|
||||
OSi_ThreadInfo.irqDepth = 0;
|
||||
|
||||
OS_GetSystemWork()->threadinfo_subp = &OSi_ThreadInfo;
|
||||
|
||||
(void)OS_SetSwitchThreadCallback(NULL);
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_CreateThread(OSThread *thread, void (*func) (void *), void *arg, void *stack, u32 stackSize, u32 prio)
|
||||
{
|
||||
OSIntrMode enable = OS_DisableInterrupts();
|
||||
|
||||
s32 index = OSi_GetUnusedThreadId();
|
||||
|
||||
thread->priority = prio;
|
||||
thread->id = (u32)index;
|
||||
thread->state = OS_THREAD_STATE_WAITING;
|
||||
|
||||
thread->profiler = NULL;
|
||||
|
||||
OSi_InsertThreadToList(thread);
|
||||
|
||||
thread->stackBottom = (u32)stack;
|
||||
thread->stackTop = (u32)stack - stackSize;
|
||||
thread->stackWarningOffset = 0;
|
||||
|
||||
*(u32 *)(thread->stackBottom - sizeof(u32)) = 0xd73bfdf7UL;
|
||||
*(u32 *)thread->stackTop = 0xfbdd37bbUL;
|
||||
|
||||
OS_InitThreadQueue(&thread->joinQueue);
|
||||
|
||||
OS_InitContext(&thread->context, (u32)func, (u32)stack - 4);
|
||||
|
||||
thread->context.r[0] = (u32)arg;
|
||||
thread->context.lr = (u32)OS_ExitThread;
|
||||
|
||||
MI_CpuClear32((void *)((u32)stack - stackSize + 4), stackSize - 8);
|
||||
|
||||
thread->mutex = NULL;
|
||||
thread->mutexQueue.head = NULL;
|
||||
thread->mutexQueue.tail = NULL;
|
||||
|
||||
OS_SetThreadDestructor(thread, NULL);
|
||||
|
||||
thread->queue = NULL;
|
||||
thread->link.prev = thread->link.next = NULL;
|
||||
|
||||
MI_CpuClear32(&thread->specific[0], sizeof(void *) * OS_THREAD_SPECIFIC_MAX);
|
||||
|
||||
thread->alarmForSleep = NULL;
|
||||
|
||||
(void)OS_RestoreInterrupts(enable);
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_ExitThread(void)
|
||||
{
|
||||
(void)OS_DisableInterrupts();
|
||||
OSi_ExitThread_ArgSpecified(OS_GetCurrentThread(), 0);
|
||||
}
|
||||
|
||||
ARM_FUNC static void OSi_ExitThread_ArgSpecified(OSThread *thread, void *arg)
|
||||
{
|
||||
if (OSi_StackForDestructor)
|
||||
{
|
||||
OS_InitContext(&thread->context, (u32)OSi_ExitThread, (u32)OSi_StackForDestructor);
|
||||
thread->context.r[0] = (u32)arg;
|
||||
thread->context.cpsr |= HW_PSR_DISABLE_IRQ;
|
||||
thread->state = OS_THREAD_STATE_READY;
|
||||
OS_LoadContext(&thread->context);
|
||||
}
|
||||
else
|
||||
{
|
||||
OSi_ExitThread(arg);
|
||||
}
|
||||
}
|
||||
|
||||
ARM_FUNC static void OSi_ExitThread(void *arg)
|
||||
{
|
||||
OSThread *currentThread = OSi_GetCurrentThread();
|
||||
OSThreadDestructor destructor = currentThread->destructor;
|
||||
|
||||
if (destructor)
|
||||
{
|
||||
currentThread->destructor = NULL;
|
||||
destructor(arg);
|
||||
(void)OS_DisableInterrupts();
|
||||
}
|
||||
|
||||
OSi_ExitThread_Destroy();
|
||||
}
|
||||
|
||||
ARM_FUNC static void OSi_ExitThread_Destroy(void)
|
||||
{
|
||||
OSThread *currentThread = OSi_GetCurrentThread();
|
||||
(void)OS_DisableScheduler();
|
||||
|
||||
OSi_UnlockAllMutex(currentThread);
|
||||
|
||||
if (currentThread->queue)
|
||||
{
|
||||
(void)OSi_RemoveSpecifiedLinkFromQueue(currentThread->queue, currentThread);
|
||||
}
|
||||
|
||||
OSi_RemoveThreadFromList(currentThread);
|
||||
|
||||
currentThread->state = OS_THREAD_STATE_TERMINATED;
|
||||
|
||||
OS_WakeupThread(¤tThread->joinQueue);
|
||||
|
||||
(void)OS_EnableScheduler();
|
||||
|
||||
OS_RescheduleThread();
|
||||
|
||||
OS_Terminate();
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_JoinThread(OSThread *thread)
|
||||
{
|
||||
OSIntrMode enabled = OS_DisableInterrupts();
|
||||
|
||||
if (thread->state != OS_THREAD_STATE_TERMINATED)
|
||||
{
|
||||
OS_SleepThread(&thread->joinQueue);
|
||||
}
|
||||
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
}
|
||||
|
||||
ARM_FUNC BOOL OS_IsThreadTerminated(const OSThread *thread)
|
||||
{
|
||||
return (thread->state == OS_THREAD_STATE_TERMINATED) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_SleepThread(OSThreadQueue *queue)
|
||||
{
|
||||
OSIntrMode enabled = OS_DisableInterrupts();
|
||||
OSThread *currentThread = OSi_GetCurrentThread();
|
||||
|
||||
if (queue)
|
||||
{
|
||||
currentThread->queue = queue;
|
||||
OSi_InsertLinkToQueue(queue, currentThread);
|
||||
}
|
||||
|
||||
currentThread->state = OS_THREAD_STATE_WAITING;
|
||||
OSi_RescheduleThread();
|
||||
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_WakeupThread(OSThreadQueue *queue)
|
||||
{
|
||||
OSIntrMode enabled = OS_DisableInterrupts();
|
||||
|
||||
if (queue->head)
|
||||
{
|
||||
while (queue->head)
|
||||
{
|
||||
OSThread *thread = OSi_RemoveLinkFromQueue(queue);
|
||||
|
||||
thread->state = OS_THREAD_STATE_READY;
|
||||
thread->queue = NULL;
|
||||
thread->link.prev = thread->link.next = NULL;
|
||||
}
|
||||
|
||||
OS_InitThreadQueue(queue);
|
||||
OSi_RescheduleThread();
|
||||
}
|
||||
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_WakeupThreadDirect(OSThread *thread)
|
||||
{
|
||||
OSIntrMode enabled = OS_DisableInterrupts();
|
||||
|
||||
thread->state = OS_THREAD_STATE_READY;
|
||||
OSi_RescheduleThread();
|
||||
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
}
|
||||
|
||||
ARM_FUNC OSThread *OS_SelectThread(void)
|
||||
{
|
||||
OSThread *thread = OSi_ThreadInfo.list;
|
||||
|
||||
while (thread && !OS_IsThreadRunnable(thread))
|
||||
{
|
||||
thread = thread->next;
|
||||
}
|
||||
|
||||
return thread;
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_RescheduleThread(void)
|
||||
{
|
||||
OSIntrMode enabled = OS_DisableInterrupts();
|
||||
OSi_RescheduleThread();
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
}
|
||||
|
||||
ARM_FUNC BOOL OS_SetThreadPriority(OSThread *thread, u32 prio)
|
||||
{
|
||||
OSThread *t = OSi_ThreadInfo.list;
|
||||
OSThread *pre = NULL;
|
||||
OSIntrMode enabled = OS_DisableInterrupts();
|
||||
|
||||
while (t && t != thread)
|
||||
{
|
||||
pre = t;
|
||||
t = t->next;
|
||||
}
|
||||
|
||||
if (!t || t == &OSi_IdleThread)
|
||||
{
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (t->priority != prio)
|
||||
{
|
||||
if (!pre)
|
||||
{
|
||||
OSi_ThreadInfo.list = thread->next;
|
||||
}
|
||||
else
|
||||
{
|
||||
pre->next = thread->next;
|
||||
}
|
||||
|
||||
thread->priority = prio;
|
||||
OSi_InsertThreadToList(thread);
|
||||
|
||||
OSi_RescheduleThread();
|
||||
}
|
||||
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_Sleep(u32 msec)
|
||||
{
|
||||
OSAlarm alarm;
|
||||
|
||||
OS_CreateAlarm(&alarm);
|
||||
OSThread *volatile p_thread = OSi_GetCurrentThread();
|
||||
OSIntrMode enabled = OS_DisableInterrupts();
|
||||
|
||||
p_thread->alarmForSleep = &alarm;
|
||||
|
||||
OS_SetAlarm(&alarm, OS_MilliSecondsToTicks(msec), &OSi_SleepAlarmCallback,
|
||||
(void*)&p_thread);
|
||||
while (p_thread != NULL)
|
||||
{
|
||||
OS_SleepThread(NULL);
|
||||
}
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
}
|
||||
|
||||
ARM_FUNC static void OSi_SleepAlarmCallback(void *arg)
|
||||
{
|
||||
OSThread **pp_thread = (OSThread **)arg;
|
||||
OSThread *p_thread = *pp_thread;
|
||||
*pp_thread = NULL;
|
||||
|
||||
p_thread->alarmForSleep = NULL;
|
||||
|
||||
OS_WakeupThreadDirect(p_thread);
|
||||
}
|
||||
|
||||
ARM_FUNC OSSwitchThreadCallback OS_SetSwitchThreadCallback(OSSwitchThreadCallback callback)
|
||||
{
|
||||
OSIntrMode enabled = OS_DisableInterrupts();
|
||||
OSSwitchThreadCallback prev = OSi_ThreadInfo.switchCallback;
|
||||
OSi_ThreadInfo.switchCallback = callback;
|
||||
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
return prev;
|
||||
}
|
||||
|
||||
ARM_FUNC u32 OS_DisableScheduler(void)
|
||||
{
|
||||
OSIntrMode enabled = OS_DisableInterrupts();
|
||||
u32 count;
|
||||
|
||||
if (OSi_RescheduleCount < (u32)-1)
|
||||
{
|
||||
count = OSi_RescheduleCount++;
|
||||
}
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
ARM_FUNC u32 OS_EnableScheduler(void)
|
||||
{
|
||||
OSIntrMode enabled = OS_DisableInterrupts();
|
||||
u32 count = 0;
|
||||
|
||||
if (OSi_RescheduleCount > 0)
|
||||
{
|
||||
count = OSi_RescheduleCount--;
|
||||
}
|
||||
(void)OS_RestoreInterrupts(enabled);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
ARM_FUNC void OS_SetThreadDestructor(OSThread *thread, OSThreadDestructor dtor)
|
||||
{
|
||||
thread->destructor = dtor;
|
||||
}
|
||||
@@ -158,7 +158,7 @@ OVERLAYS := \
|
||||
|
||||
##################### Compiler Options #######################
|
||||
|
||||
MWCCVERSION = 2.0/base
|
||||
MWCCVERSION = 2.0/sp1
|
||||
TOOLS_DIR = ../tools
|
||||
|
||||
CROSS := arm-none-eabi-
|
||||
@@ -184,7 +184,7 @@ OBJCOPY := $(CROSS)objcopy
|
||||
|
||||
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
|
||||
ASFLAGS = -proc arm5te -i ../include -i ..
|
||||
CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i ../include -ir ../include-mw -ir lib/include -interworking -DFS_IMPLEMENT -enum int -W all -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
|
||||
CFLAGS = -O4,p -gccext,on -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i ../include -ir ../include-mw -ir lib/include -interworking -DFS_IMPLEMENT -enum int -W all -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
|
||||
CXXFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i ../include -ir ../include-mw -ir lib/include -interworking -DFS_IMPLEMENT -enum int -W all -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
|
||||
LDFLAGS = -nodead -w off -proc v5te -interworking -map closure,unused -symtab sort -m _start
|
||||
# LIBS := -Llib -lsyscall
|
||||
@@ -309,7 +309,6 @@ DUMMY != mkdir -p $(ALL_DIRS)
|
||||
%.pal: ;
|
||||
|
||||
# Included files
|
||||
baserom.%: ;
|
||||
%.h: ;
|
||||
%.inc: ;
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ SECTIONS {
|
||||
unk_02008AA4.o (.text)
|
||||
unk_02008DEC.o (.text)
|
||||
unk_02009EAC.o (.text)
|
||||
unk_0200A384.o (.text)
|
||||
msgdata.o (.text)
|
||||
unk_0200AA80.o (.text)
|
||||
unk_0200BA78.o (.text)
|
||||
unk_0200BB14.o (.text)
|
||||
@@ -400,7 +400,7 @@ SECTIONS {
|
||||
unk_020842D0.o (.text)
|
||||
unk_020842DC.o (.text)
|
||||
unk_020851B8.o (.text)
|
||||
unk_02085258.o (.text)
|
||||
nutdata.o (.text)
|
||||
unk_02085338.o (.text)
|
||||
unk_020854E0.o (.text)
|
||||
unk_020859C0.o (.text)
|
||||
|
||||
@@ -1,679 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.extern UNK_020FFA38
|
||||
|
||||
.section .rodata
|
||||
|
||||
.global UNK_020EDB80
|
||||
UNK_020EDB80: ; 0x020EDB80
|
||||
.short 0x169F, 0x0F14, 0x0B4F, 0x090C, 0x078A, 0x0676, 0x05A7, 0x0506
|
||||
.short 0x0486, 0x041C, 0x03C5, 0x037A, 0x033B, 0x0304, 0x02D3, 0x02A9
|
||||
.short 0x0283, 0x0261, 0x0243, 0x0227, 0x020E, 0x01F7, 0x01E2, 0x01CF
|
||||
.short 0x01BD, 0x01AC, 0x019D, 0x018F, 0x0182, 0x0175, 0x0169, 0x015E
|
||||
.short 0x0154, 0x014A, 0x0141, 0x0139, 0x0130, 0x0128, 0x0121, 0x011A
|
||||
.short 0x0113, 0x010D, 0x0107, 0x0101, 0x00FB, 0x00F6, 0x00F1, 0x00EC
|
||||
.short 0x00E7, 0x00E3, 0x00DE, 0x00DA, 0x00D6, 0x00D2, 0x00CE, 0x00CB
|
||||
.short 0x00C7, 0x00C4, 0x00C1, 0x00BD, 0x00BA, 0x00B7, 0x00B4, 0x00B2
|
||||
.short 0x00AF, 0x00AC, 0x00AA, 0x00A7, 0x00A5, 0x00A3, 0x00A0, 0x009E
|
||||
.short 0x009C, 0x009A, 0x0098, 0x0096, 0x0094, 0x0092, 0x0090, 0x008E
|
||||
.short 0x008D, 0x008B, 0x0089, 0x0088, 0x0086, 0x0085, 0x0083, 0x0082
|
||||
.short 0x0080, 0x007F, 0x007D, 0x007C, 0x007B, 0x0079, 0x0078, 0x0077
|
||||
.short 0x0076, 0x0074, 0x0073, 0x0072, 0x0071, 0x0070, 0x006F, 0x006E
|
||||
.short 0x006D, 0x006C, 0x006B, 0x006A, 0x0069, 0x0068, 0x0067, 0x0066
|
||||
.short 0x0065, 0x0064, 0x0063, 0x0062, 0x0062, 0x0061, 0x0060, 0x005F
|
||||
.short 0x005E, 0x005E, 0x005D, 0x005C, 0x005B, 0x005B, 0x005A
|
||||
|
||||
.global UNK_020EDC7E
|
||||
UNK_020EDC7E: ; 0x020EDC7E
|
||||
.short 0x0000, 0x00B7, 0x016D, 0x0223, 0x02D9, 0x038F, 0x0445, 0x04FB
|
||||
.short 0x05B1, 0x0667, 0x071D, 0x07D3, 0x0889, 0x093F, 0x09F5, 0x0AAB
|
||||
.short 0x0B61, 0x0C17, 0x0CCD, 0x0D83, 0x0E39, 0x0EEF, 0x0FA5, 0x105C
|
||||
.short 0x1112, 0x11C8, 0x127E, 0x1334, 0x13EA, 0x14A0, 0x1556, 0x160C
|
||||
.short 0x16C2, 0x1778, 0x182E, 0x18E4, 0x199A, 0x1A50, 0x1B06, 0x1BBC
|
||||
.short 0x1C72, 0x1D28, 0x1DDE, 0x1E94, 0x1F4A, 0x2000, 0x20B7, 0x216D
|
||||
.short 0x2223, 0x22D9, 0x238F, 0x2445, 0x24FB, 0x25B1, 0x2667, 0x271D
|
||||
.short 0x27D3, 0x2889, 0x293F, 0x29F5, 0x2AAB, 0x2B61, 0x2C17, 0x2CCD
|
||||
.short 0x2D83, 0x2E39, 0x2EEF, 0x2FA5, 0x305C, 0x3112, 0x31C8, 0x327E
|
||||
.short 0x3334, 0x33EA, 0x34A0, 0x3556, 0x360C, 0x36C2, 0x3778, 0x382E
|
||||
.short 0x38E4, 0x399A, 0x3A50, 0x3B06, 0x3BBC, 0x3C72, 0x3D28, 0x3DDE
|
||||
.short 0x3E94, 0x3F4A, 0x4000, 0x40B7, 0x416D, 0x4223, 0x42D9, 0x438F
|
||||
.short 0x4445, 0x44FB, 0x45B1, 0x4667, 0x471D, 0x47D3, 0x4889, 0x493F
|
||||
.short 0x49F5, 0x4AAB, 0x4B61, 0x4C17, 0x4CCD, 0x4D83, 0x4E39, 0x4EEF
|
||||
.short 0x4FA5, 0x505C, 0x5112, 0x51C8, 0x527E, 0x5334, 0x53EA, 0x54A0
|
||||
.short 0x5556, 0x560C, 0x56C2, 0x5778, 0x582E, 0x58E4, 0x599A, 0x5A50
|
||||
.short 0x5B06, 0x5BBC, 0x5C72, 0x5D28, 0x5DDE, 0x5E94, 0x5F4A, 0x6000
|
||||
.short 0x60B7, 0x616D, 0x6223, 0x62D9, 0x638F, 0x6445, 0x64FB, 0x65B1
|
||||
.short 0x6667, 0x671D, 0x67D3, 0x6889, 0x693F, 0x69F5, 0x6AAB, 0x6B61
|
||||
.short 0x6C17, 0x6CCD, 0x6D83, 0x6E39, 0x6EEF, 0x6FA5, 0x705C, 0x7112
|
||||
.short 0x71C8, 0x727E, 0x7334, 0x73EA, 0x74A0, 0x7556, 0x760C, 0x76C2
|
||||
.short 0x7778, 0x782E, 0x78E4, 0x799A, 0x7A50, 0x7B06, 0x7BBC, 0x7C72
|
||||
.short 0x7D28, 0x7DDE, 0x7E94, 0x7F4A, 0x8000, 0x80B7, 0x816D, 0x8223
|
||||
.short 0x82D9, 0x838F, 0x8445, 0x84FB, 0x85B1, 0x8667, 0x871D, 0x87D3
|
||||
.short 0x8889, 0x893F, 0x89F5, 0x8AAB, 0x8B61, 0x8C17, 0x8CCD, 0x8D83
|
||||
.short 0x8E39, 0x8EEF, 0x8FA5, 0x905C, 0x9112, 0x91C8, 0x927E, 0x9334
|
||||
.short 0x93EA, 0x94A0, 0x9556, 0x960C, 0x96C2, 0x9778, 0x982E, 0x98E4
|
||||
.short 0x999A, 0x9A50, 0x9B06, 0x9BBC, 0x9C72, 0x9D28, 0x9DDE, 0x9E94
|
||||
.short 0x9F4A, 0xA000, 0xA0B7, 0xA16D, 0xA223, 0xA2D9, 0xA38F, 0xA445
|
||||
.short 0xA4FB, 0xA5B1, 0xA667, 0xA71D, 0xA7D3, 0xA889, 0xA93F, 0xA9F5
|
||||
.short 0xAAAB, 0xAB61, 0xAC17, 0xACCD, 0xAD83, 0xAE39, 0xAEEF, 0xAFA5
|
||||
.short 0xB05C, 0xB112, 0xB1C8, 0xB27E, 0xB334, 0xB3EA, 0xB4A0, 0xB556
|
||||
.short 0xB60C, 0xB6C2, 0xB778, 0xB82E, 0xB8E4, 0xB99A, 0xBA50, 0xBB06
|
||||
.short 0xBBBC, 0xBC72, 0xBD28, 0xBDDE, 0xBE94, 0xBF4A, 0xC000, 0xC0B7
|
||||
.short 0xC16D, 0xC223, 0xC2D9, 0xC38F, 0xC445, 0xC4FB, 0xC5B1, 0xC667
|
||||
.short 0xC71D, 0xC7D3, 0xC889, 0xC93F, 0xC9F5, 0xCAAB, 0xCB61, 0xCC17
|
||||
.short 0xCCCD, 0xCD83, 0xCE39, 0xCEEF, 0xCFA5, 0xD05C, 0xD112, 0xD1C8
|
||||
.short 0xD27E, 0xD334, 0xD3EA, 0xD4A0, 0xD556, 0xD60C, 0xD6C2, 0xD778
|
||||
.short 0xD82E, 0xD8E4, 0xD99A, 0xDA50, 0xDB06, 0xDBBC, 0xDC72, 0xDD28
|
||||
.short 0xDDDE, 0xDE94, 0xDF4A, 0xE000, 0xE0B7, 0xE16D, 0xE223, 0xE2D9
|
||||
.short 0xE38F, 0xE445, 0xE4FB, 0xE5B1, 0xE667, 0xE71D, 0xE7D3, 0xE889
|
||||
.short 0xE93F, 0xE9F5, 0xEAAB, 0xEB61, 0xEC17, 0xECCD, 0xED83, 0xEE39
|
||||
.short 0xEEEF, 0xEFA5, 0xF05C, 0xF112, 0xF1C8, 0xF27E, 0xF334, 0xF3EA
|
||||
.short 0xF4A0, 0xF556, 0xF60C, 0xF6C2, 0xF778, 0xF82E, 0xF8E4, 0xF99A
|
||||
.short 0xFA50, 0xFB06, 0xFBBC, 0xFC72, 0xFD28, 0xFDDE, 0xFE94, 0xFF4A
|
||||
|
||||
.balign 4, 0
|
||||
.global UNK_020EDF50
|
||||
UNK_020EDF50: ; 0x020EDF50
|
||||
.word 0x00000000, 0x00000047, 0x0000008F, 0x000000D6
|
||||
.word 0x0000011E, 0x00000165, 0x000001AC, 0x000001F3
|
||||
.word 0x0000023A, 0x00000281, 0x000002C7, 0x0000030E
|
||||
.word 0x00000354, 0x00000399, 0x000003DF, 0x00000424
|
||||
.word 0x00000469, 0x000004AE, 0x000004F2, 0x00000536
|
||||
.word 0x00000579, 0x000005BC, 0x000005FE, 0x00000640
|
||||
.word 0x00000682, 0x000006C3, 0x00000704, 0x00000744
|
||||
.word 0x00000783, 0x000007C2, 0x00000800, 0x0000083E
|
||||
.word 0x0000087B, 0x000008B7, 0x000008F2, 0x0000092D
|
||||
.word 0x00000968, 0x000009A1, 0x000009DA, 0x00000A12
|
||||
.word 0x00000A49, 0x00000A7F, 0x00000AB5, 0x00000AE9
|
||||
.word 0x00000B1D, 0x00000B50, 0x00000B82, 0x00000BB4
|
||||
.word 0x00000BE4, 0x00000C13, 0x00000C42, 0x00000C6F
|
||||
.word 0x00000C9C, 0x00000CC7, 0x00000CF2, 0x00000D1B
|
||||
.word 0x00000D44, 0x00000D6B, 0x00000D92, 0x00000DB7
|
||||
.word 0x00000DDB, 0x00000DFE, 0x00000E21, 0x00000E42
|
||||
.word 0x00000E61, 0x00000E80, 0x00000E9E, 0x00000EBA
|
||||
.word 0x00000ED6, 0x00000EF0, 0x00000F09, 0x00000F21
|
||||
.word 0x00000F38, 0x00000F4D, 0x00000F61, 0x00000F74
|
||||
.word 0x00000F86, 0x00000F97, 0x00000FA6, 0x00000FB5
|
||||
.word 0x00000FC2, 0x00000FCE, 0x00000FD8, 0x00000FE1
|
||||
.word 0x00000FEA, 0x00000FF0, 0x00000FF6, 0x00000FFA
|
||||
.word 0x00000FFE, 0x00000FFF, 0x00001000, 0x00000FFF
|
||||
.word 0x00000FFE, 0x00000FFA, 0x00000FF6, 0x00000FF0
|
||||
.word 0x00000FEA, 0x00000FE1, 0x00000FD8, 0x00000FCE
|
||||
.word 0x00000FC2, 0x00000FB5, 0x00000FA6, 0x00000F97
|
||||
.word 0x00000F86, 0x00000F74, 0x00000F61, 0x00000F4D
|
||||
.word 0x00000F38, 0x00000F21, 0x00000F09, 0x00000EF0
|
||||
.word 0x00000ED6, 0x00000EBA, 0x00000E9E, 0x00000E80
|
||||
.word 0x00000E61, 0x00000E42, 0x00000E21, 0x00000DFE
|
||||
.word 0x00000DDB, 0x00000DB7, 0x00000D92, 0x00000D6B
|
||||
.word 0x00000D44, 0x00000D1B, 0x00000CF2, 0x00000CC7
|
||||
.word 0x00000C9C, 0x00000C6F, 0x00000C42, 0x00000C13
|
||||
.word 0x00000BE4, 0x00000BB4, 0x00000B82, 0x00000B50
|
||||
.word 0x00000B1D, 0x00000AE9, 0x00000AB5, 0x00000A7F
|
||||
.word 0x00000A49, 0x00000A12, 0x000009DA, 0x000009A1
|
||||
.word 0x00000968, 0x0000092D, 0x000008F2, 0x000008B7
|
||||
.word 0x0000087B, 0x0000083E, 0x00000800, 0x000007C2
|
||||
.word 0x00000783, 0x00000744, 0x00000704, 0x000006C3
|
||||
.word 0x00000682, 0x00000640, 0x000005FE, 0x000005BC
|
||||
.word 0x00000579, 0x00000536, 0x000004F2, 0x000004AE
|
||||
.word 0x00000469, 0x00000424, 0x000003DF, 0x00000399
|
||||
.word 0x00000354, 0x0000030E, 0x000002C7, 0x00000281
|
||||
.word 0x0000023A, 0x000001F3, 0x000001AC, 0x00000165
|
||||
.word 0x0000011E, 0x000000D6, 0x0000008F, 0x00000047
|
||||
.word 0x00000000, 0xFFFFFFB9, 0xFFFFFF71, 0xFFFFFF2A
|
||||
.word 0xFFFFFEE2, 0xFFFFFE9B, 0xFFFFFE54, 0xFFFFFE0D
|
||||
.word 0xFFFFFDC6, 0xFFFFFD7F, 0xFFFFFD39, 0xFFFFFCF2
|
||||
.word 0xFFFFFCAC, 0xFFFFFC67, 0xFFFFFC21, 0xFFFFFBDC
|
||||
.word 0xFFFFFB97, 0xFFFFFB52, 0xFFFFFB0E, 0xFFFFFACA
|
||||
.word 0xFFFFFA87, 0xFFFFFA44, 0xFFFFFA02, 0xFFFFF9C0
|
||||
.word 0xFFFFF97E, 0xFFFFF93D, 0xFFFFF8FC, 0xFFFFF8BC
|
||||
.word 0xFFFFF87D, 0xFFFFF83E, 0xFFFFF800, 0xFFFFF7C2
|
||||
.word 0xFFFFF785, 0xFFFFF749, 0xFFFFF70E, 0xFFFFF6D3
|
||||
.word 0xFFFFF698, 0xFFFFF65F, 0xFFFFF626, 0xFFFFF5EE
|
||||
.word 0xFFFFF5B7, 0xFFFFF581, 0xFFFFF54B, 0xFFFFF517
|
||||
.word 0xFFFFF4E3, 0xFFFFF4B0, 0xFFFFF47E, 0xFFFFF44C
|
||||
.word 0xFFFFF41C, 0xFFFFF3ED, 0xFFFFF3BE, 0xFFFFF391
|
||||
.word 0xFFFFF364, 0xFFFFF339, 0xFFFFF30E, 0xFFFFF2E5
|
||||
.word 0xFFFFF2BC, 0xFFFFF295, 0xFFFFF26E, 0xFFFFF249
|
||||
.word 0xFFFFF225, 0xFFFFF202, 0xFFFFF1DF, 0xFFFFF1BE
|
||||
.word 0xFFFFF19F, 0xFFFFF180, 0xFFFFF162, 0xFFFFF146
|
||||
.word 0xFFFFF12A, 0xFFFFF110, 0xFFFFF0F7, 0xFFFFF0DF
|
||||
.word 0xFFFFF0C8, 0xFFFFF0B3, 0xFFFFF09F, 0xFFFFF08C
|
||||
.word 0xFFFFF07A, 0xFFFFF069, 0xFFFFF05A, 0xFFFFF04B
|
||||
.word 0xFFFFF03E, 0xFFFFF032, 0xFFFFF028, 0xFFFFF01F
|
||||
.word 0xFFFFF016, 0xFFFFF010, 0xFFFFF00A, 0xFFFFF006
|
||||
.word 0xFFFFF002, 0xFFFFF001, 0xFFFFF000, 0xFFFFF001
|
||||
.word 0xFFFFF002, 0xFFFFF006, 0xFFFFF00A, 0xFFFFF010
|
||||
.word 0xFFFFF016, 0xFFFFF01F, 0xFFFFF028, 0xFFFFF032
|
||||
.word 0xFFFFF03E, 0xFFFFF04B, 0xFFFFF05A, 0xFFFFF069
|
||||
.word 0xFFFFF07A, 0xFFFFF08C, 0xFFFFF09F, 0xFFFFF0B3
|
||||
.word 0xFFFFF0C8, 0xFFFFF0DF, 0xFFFFF0F7, 0xFFFFF110
|
||||
.word 0xFFFFF12A, 0xFFFFF146, 0xFFFFF162, 0xFFFFF180
|
||||
.word 0xFFFFF19F, 0xFFFFF1BE, 0xFFFFF1DF, 0xFFFFF202
|
||||
.word 0xFFFFF225, 0xFFFFF249, 0xFFFFF26E, 0xFFFFF295
|
||||
.word 0xFFFFF2BC, 0xFFFFF2E5, 0xFFFFF30E, 0xFFFFF339
|
||||
.word 0xFFFFF364, 0xFFFFF391, 0xFFFFF3BE, 0xFFFFF3ED
|
||||
.word 0xFFFFF41C, 0xFFFFF44C, 0xFFFFF47E, 0xFFFFF4B0
|
||||
.word 0xFFFFF4E3, 0xFFFFF517, 0xFFFFF54B, 0xFFFFF581
|
||||
.word 0xFFFFF5B7, 0xFFFFF5EE, 0xFFFFF626, 0xFFFFF65F
|
||||
.word 0xFFFFF698, 0xFFFFF6D3, 0xFFFFF70E, 0xFFFFF749
|
||||
.word 0xFFFFF785, 0xFFFFF7C2, 0xFFFFF800, 0xFFFFF83E
|
||||
.word 0xFFFFF87D, 0xFFFFF8BC, 0xFFFFF8FC, 0xFFFFF93D
|
||||
.word 0xFFFFF97E, 0xFFFFF9C0, 0xFFFFFA02, 0xFFFFFA44
|
||||
.word 0xFFFFFA87, 0xFFFFFACA, 0xFFFFFB0E, 0xFFFFFB52
|
||||
.word 0xFFFFFB97, 0xFFFFFBDC, 0xFFFFFC21, 0xFFFFFC67
|
||||
.word 0xFFFFFCAC, 0xFFFFFCF2, 0xFFFFFD39, 0xFFFFFD7F
|
||||
.word 0xFFFFFDC6, 0xFFFFFE0D, 0xFFFFFE54, 0xFFFFFE9B
|
||||
.word 0xFFFFFEE2, 0xFFFFFF2A, 0xFFFFFF71, 0xFFFFFFB9
|
||||
.word 0x00000000, 0x00000047, 0x0000008F, 0x000000D6
|
||||
.word 0x0000011E, 0x00000165, 0x000001AC, 0x000001F3
|
||||
.word 0x0000023A, 0x00000281, 0x000002C7, 0x0000030E
|
||||
.word 0x00000354, 0x00000399, 0x000003DF, 0x00000424
|
||||
.word 0x00000469, 0x000004AE, 0x000004F2, 0x00000536
|
||||
.word 0x00000579, 0x000005BC, 0x000005FE, 0x00000640
|
||||
.word 0x00000682, 0x000006C3, 0x00000704, 0x00000744
|
||||
.word 0x00000783, 0x000007C2, 0x00000800, 0x0000083E
|
||||
.word 0x0000087B, 0x000008B7, 0x000008F2, 0x0000092D
|
||||
.word 0x00000968, 0x000009A1, 0x000009DA, 0x00000A12
|
||||
.word 0x00000A49, 0x00000A7F, 0x00000AB5, 0x00000AE9
|
||||
.word 0x00000B1D, 0x00000B50, 0x00000B82, 0x00000BB4
|
||||
.word 0x00000BE4, 0x00000C13, 0x00000C42, 0x00000C6F
|
||||
.word 0x00000C9C, 0x00000CC7, 0x00000CF2, 0x00000D1B
|
||||
.word 0x00000D44, 0x00000D6B, 0x00000D92, 0x00000DB7
|
||||
.word 0x00000DDB, 0x00000DFE, 0x00000E21, 0x00000E42
|
||||
.word 0x00000E61, 0x00000E80, 0x00000E9E, 0x00000EBA
|
||||
.word 0x00000ED6, 0x00000EF0, 0x00000F09, 0x00000F21
|
||||
.word 0x00000F38, 0x00000F4D, 0x00000F61, 0x00000F74
|
||||
.word 0x00000F86, 0x00000F97, 0x00000FA6, 0x00000FB5
|
||||
.word 0x00000FC2, 0x00000FCE, 0x00000FD8, 0x00000FE1
|
||||
.word 0x00000FEA, 0x00000FF0, 0x00000FF6, 0x00000FFA
|
||||
.word 0x00000FFE, 0x00000FFF
|
||||
|
||||
.section .data
|
||||
|
||||
.global UNK_02105BA8
|
||||
UNK_02105BA8: ; 0x02105BA8
|
||||
.byte 0x71, 0x02, 0x00, 0x00
|
||||
|
||||
.global UNK_02105BAC
|
||||
UNK_02105BAC: ; 0x02105BAC
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0xDF, 0xB0, 0x08, 0x99
|
||||
|
||||
.section .bss
|
||||
|
||||
.global gLCRNG_State
|
||||
gLCRNG_State: ; 0x021C4D48
|
||||
.space 4
|
||||
|
||||
.global gMTRNG_State
|
||||
gMTRNG_State: ; 0x021C4D4C
|
||||
.space 624 * 4
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start FUN_0201B93C
|
||||
FUN_0201B93C: ; 0x0201B93C
|
||||
mov r1, #0x5a
|
||||
lsl r1, r1, #0x2
|
||||
cmp r0, r1
|
||||
blo _0201B948
|
||||
mov r0, #0x0
|
||||
bx lr
|
||||
_0201B948:
|
||||
lsl r1, r0, #0x2
|
||||
ldr r0, _0201B950 ; =UNK_020EDF50
|
||||
ldr r0, [r0, r1]
|
||||
bx lr
|
||||
.balign 4
|
||||
_0201B950: .word UNK_020EDF50
|
||||
|
||||
thumb_func_start FUN_0201B954
|
||||
FUN_0201B954: ; 0x0201B954
|
||||
mov r1, #0x5a
|
||||
lsl r1, r1, #0x2
|
||||
cmp r0, r1
|
||||
blo _0201B960
|
||||
mov r0, #0x0
|
||||
bx lr
|
||||
_0201B960:
|
||||
add r0, #0x5a
|
||||
lsl r1, r0, #0x2
|
||||
ldr r0, _0201B96C ; =UNK_020EDF50
|
||||
ldr r0, [r0, r1]
|
||||
bx lr
|
||||
nop
|
||||
_0201B96C: .word UNK_020EDF50
|
||||
|
||||
thumb_func_start FUN_0201B970
|
||||
FUN_0201B970: ; 0x0201B970
|
||||
; gSineTable[x % 360]
|
||||
push {r3, lr}
|
||||
mov r1, #0x5a
|
||||
lsl r1, r1, #0x2
|
||||
bl _s32_div_f
|
||||
ldr r0, _0201B984 ; =UNK_020EDF50
|
||||
lsl r1, r1, #0x2
|
||||
ldr r0, [r0, r1]
|
||||
pop {r3, pc}
|
||||
nop
|
||||
_0201B984: .word UNK_020EDF50
|
||||
|
||||
thumb_func_start FUN_0201B988
|
||||
FUN_0201B988: ; 0x0201B988
|
||||
; gSineTable[(x % 360) + 90]
|
||||
push {r3, lr}
|
||||
mov r1, #0x5a
|
||||
lsl r1, r1, #0x2
|
||||
bl _s32_div_f
|
||||
add r1, #0x5a
|
||||
ldr r0, _0201B99C ; =UNK_020EDF50
|
||||
lsl r1, r1, #0x2
|
||||
ldr r0, [r0, r1]
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
_0201B99C: .word UNK_020EDF50
|
||||
|
||||
thumb_func_start FUN_0201B9A0
|
||||
FUN_0201B9A0: ; 0x0201B9A0
|
||||
; UNK_020EDC7E[x % 360]
|
||||
push {r3, lr}
|
||||
mov r1, #0x5a
|
||||
lsl r1, r1, #0x2
|
||||
bl _s32_div_f
|
||||
ldr r0, _0201B9B4 ; =UNK_020EDC7E
|
||||
lsl r1, r1, #0x1
|
||||
ldrh r0, [r0, r1]
|
||||
pop {r3, pc}
|
||||
nop
|
||||
_0201B9B4: .word UNK_020EDC7E
|
||||
|
||||
thumb_func_start FUN_0201B9B8
|
||||
FUN_0201B9B8: ; 0x0201B9B8
|
||||
; gSineTable[((x << 4) >> 16) % 360]
|
||||
push {r3, lr}
|
||||
lsl r0, r0, #0x4
|
||||
mov r1, #0x5a
|
||||
lsr r0, r0, #0x10
|
||||
lsl r1, r1, #0x2
|
||||
bl _s32_div_f
|
||||
ldr r0, _0201B9D0 ; =UNK_020EDF50
|
||||
lsl r1, r1, #0x2
|
||||
ldr r0, [r0, r1]
|
||||
pop {r3, pc}
|
||||
nop
|
||||
_0201B9D0: .word UNK_020EDF50
|
||||
|
||||
thumb_func_start getseed_LC
|
||||
getseed_LC: ; 0x0201B9D4
|
||||
ldr r0, _0201B9DC ; =gLCRNG_State
|
||||
ldr r0, [r0, #0x0]
|
||||
bx lr
|
||||
nop
|
||||
_0201B9DC: .word gLCRNG_State
|
||||
|
||||
thumb_func_start seedr_LC
|
||||
seedr_LC: ; 0x0201B9E0
|
||||
ldr r1, _0201B9E8 ; =gLCRNG_State
|
||||
str r0, [r1, #0x0]
|
||||
bx lr
|
||||
nop
|
||||
_0201B9E8: .word gLCRNG_State
|
||||
|
||||
thumb_func_start rand_LC
|
||||
rand_LC: ; 0x0201B9EC
|
||||
ldr r1, _0201BA04 ; =gLCRNG_State
|
||||
ldr r0, _0201BA08 ; =0x41C64E6D
|
||||
ldr r2, [r1, #0x0]
|
||||
add r3, r2, #0x0
|
||||
mul r3, r0
|
||||
ldr r0, _0201BA0C ; =0x00006073
|
||||
add r0, r3, r0
|
||||
str r0, [r1, #0x0]
|
||||
lsr r0, r0, #0x10
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
bx lr
|
||||
.balign 4
|
||||
_0201BA04: .word gLCRNG_State
|
||||
_0201BA08: .word 0x41C64E6D
|
||||
_0201BA0C: .word 0x00006073
|
||||
|
||||
thumb_func_start rand_ALT
|
||||
rand_ALT: ; 0x0201BA10
|
||||
ldr r1, _0201BA18 ; =0x6C078965
|
||||
mul r1, r0
|
||||
add r0, r1, #0x1
|
||||
bx lr
|
||||
.balign 4
|
||||
_0201BA18: .word 0x6C078965
|
||||
|
||||
thumb_func_start seedr_MT
|
||||
seedr_MT: ; 0x0201BA1C
|
||||
push {r4-r5}
|
||||
ldr r1, _0201BA50 ; =gLCRNG_State
|
||||
mov r4, #0x27
|
||||
str r0, [r1, #0x4]
|
||||
ldr r1, _0201BA54 ; =UNK_02105BA8
|
||||
mov r0, #0x1
|
||||
str r0, [r1, #0x0]
|
||||
ldr r1, _0201BA58 ; =gMTRNG_State + 4
|
||||
ldr r3, _0201BA5C ; =0x6C078965
|
||||
lsl r4, r4, #0x4
|
||||
_0201BA30:
|
||||
sub r2, r1, #0x4
|
||||
ldr r5, [r2, #0x0]
|
||||
lsr r2, r5, #0x1e
|
||||
eor r2, r5
|
||||
add r5, r2, #0x0
|
||||
mul r5, r3
|
||||
add r2, r0, r5
|
||||
add r0, r0, #0x1
|
||||
stmia r1!, {r2}
|
||||
cmp r0, r4
|
||||
blt _0201BA30
|
||||
ldr r1, _0201BA54 ; =UNK_02105BA8
|
||||
str r0, [r1, #0x0]
|
||||
pop {r4-r5}
|
||||
bx lr
|
||||
nop
|
||||
_0201BA50: .word gLCRNG_State
|
||||
_0201BA54: .word UNK_02105BA8
|
||||
_0201BA58: .word gMTRNG_State + 4
|
||||
_0201BA5C: .word 0x6C078965
|
||||
|
||||
thumb_func_start rand_MT
|
||||
rand_MT: ; 0x0201BA60
|
||||
push {r3-r7, lr}
|
||||
ldr r0, _0201BB44 ; =UNK_02105BA8
|
||||
ldr r1, [r0, #0x0]
|
||||
mov r0, #0x27
|
||||
lsl r0, r0, #0x4
|
||||
cmp r1, r0
|
||||
blt _0201BB18
|
||||
add r0, r0, #0x1
|
||||
cmp r1, r0
|
||||
bne _0201BA7A
|
||||
ldr r0, _0201BB48 ; =0x00001571
|
||||
bl seedr_MT
|
||||
_0201BA7A:
|
||||
ldr r4, _0201BB4C ; =gMTRNG_State
|
||||
ldr r1, _0201BB50 ; =UNK_02105BAC
|
||||
ldr r5, _0201BB54 ; =0x7FFFFFFF
|
||||
ldr r6, _0201BB58 ; =0x00000634
|
||||
mov r0, #0x0
|
||||
_0201BA84:
|
||||
mov r2, #0x2
|
||||
ldr r3, [r4, #0x0]
|
||||
lsl r2, r2, #0x1e
|
||||
and r3, r2
|
||||
ldr r2, [r4, #0x4]
|
||||
add r0, r0, #0x1
|
||||
and r2, r5
|
||||
orr r3, r2
|
||||
lsr r7, r3, #0x1
|
||||
lsl r3, r3, #0x1f
|
||||
ldr r2, [r4, r6]
|
||||
lsr r3, r3, #0x1d
|
||||
ldr r3, [r1, r3]
|
||||
eor r2, r7
|
||||
eor r2, r3
|
||||
stmia r4!, {r2}
|
||||
cmp r0, #0xe3
|
||||
blt _0201BA84
|
||||
ldr r1, _0201BB5C ; =0x0000026F
|
||||
cmp r0, r1
|
||||
bge _0201BAE4
|
||||
ldr r2, _0201BB4C ; =gMTRNG_State
|
||||
lsl r1, r0, #0x2
|
||||
add r1, r2, r1
|
||||
mov r2, #0xe3
|
||||
ldr r4, _0201BB50 ; =UNK_02105BAC
|
||||
ldr r3, _0201BB5C ; =0x0000026F
|
||||
lsl r2, r2, #0x2
|
||||
_0201BABC:
|
||||
mov r5, #0x2
|
||||
ldr r6, [r1, #0x0]
|
||||
lsl r5, r5, #0x1e
|
||||
and r5, r6
|
||||
ldr r7, [r1, #0x4]
|
||||
ldr r6, _0201BB54 ; =0x7FFFFFFF
|
||||
add r0, r0, #0x1
|
||||
and r6, r7
|
||||
orr r6, r5
|
||||
lsr r5, r6, #0x1
|
||||
sub r7, r1, r2
|
||||
lsl r6, r6, #0x1f
|
||||
ldr r7, [r7, #0x0]
|
||||
lsr r6, r6, #0x1d
|
||||
ldr r6, [r4, r6]
|
||||
eor r5, r7
|
||||
eor r5, r6
|
||||
stmia r1!, {r5}
|
||||
cmp r0, r3
|
||||
blt _0201BABC
|
||||
_0201BAE4:
|
||||
ldr r2, _0201BB60 ; =gMTRNG_State + 607 * 4
|
||||
mov r0, #0x2
|
||||
ldr r1, [r2, #0x40]
|
||||
lsl r0, r0, #0x1e
|
||||
add r3, r1, #0x0
|
||||
ldr r1, _0201BB64 ; =gLCRNG_State
|
||||
and r3, r0
|
||||
ldr r1, [r1, #0x4]
|
||||
sub r0, r0, #0x1
|
||||
and r0, r1
|
||||
add r4, r3, #0x0
|
||||
orr r4, r0
|
||||
ldr r0, _0201BB68 ; =gMTRNG_State + 383 * 4
|
||||
ldr r1, [r0, #0x34]
|
||||
lsr r0, r4, #0x1
|
||||
add r3, r1, #0x0
|
||||
eor r3, r0
|
||||
lsl r0, r4, #0x1f
|
||||
lsr r1, r0, #0x1d
|
||||
ldr r0, _0201BB50 ; =UNK_02105BAC
|
||||
ldr r0, [r0, r1]
|
||||
mov r1, #0x0
|
||||
eor r0, r3
|
||||
str r0, [r2, #0x40]
|
||||
ldr r0, _0201BB44 ; =UNK_02105BA8
|
||||
str r1, [r0, #0x0]
|
||||
_0201BB18:
|
||||
ldr r0, _0201BB44 ; =UNK_02105BA8
|
||||
ldr r2, [r0, #0x0]
|
||||
add r1, r2, #0x1
|
||||
str r1, [r0, #0x0]
|
||||
ldr r0, _0201BB4C ; =gMTRNG_State
|
||||
lsl r1, r2, #0x2
|
||||
ldr r1, [r0, r1]
|
||||
lsr r0, r1, #0xb
|
||||
add r2, r1, #0x0
|
||||
eor r2, r0
|
||||
ldr r0, _0201BB6C ; =0x9D2C5680
|
||||
lsl r1, r2, #0x7
|
||||
and r0, r1
|
||||
eor r2, r0
|
||||
ldr r0, _0201BB70 ; =0xEFC60000
|
||||
lsl r1, r2, #0xf
|
||||
and r0, r1
|
||||
add r1, r2, #0x0
|
||||
eor r1, r0
|
||||
lsr r0, r1, #0x12
|
||||
eor r0, r1
|
||||
pop {r3-r7, pc}
|
||||
.balign 4
|
||||
_0201BB44: .word UNK_02105BA8
|
||||
_0201BB48: .word 0x00001571
|
||||
_0201BB4C: .word gMTRNG_State
|
||||
_0201BB50: .word UNK_02105BAC
|
||||
_0201BB54: .word 0x7FFFFFFF
|
||||
_0201BB58: .word 0x00000634
|
||||
_0201BB5C: .word 0x0000026F
|
||||
_0201BB60: .word gMTRNG_State + 607 * 4
|
||||
_0201BB64: .word gLCRNG_State
|
||||
_0201BB68: .word gMTRNG_State + 383 * 4
|
||||
_0201BB6C: .word 0x9D2C5680
|
||||
_0201BB70: .word 0xEFC60000
|
||||
|
||||
thumb_func_start FUN_0201BB74
|
||||
FUN_0201BB74: ; 0x0201BB74
|
||||
push {r4-r6, lr}
|
||||
add r5, r0, #0x0
|
||||
add r0, sp, #0x0
|
||||
ldrb r0, [r0, #0x10]
|
||||
add r4, r2, #0x0
|
||||
add r6, r3, #0x0
|
||||
cmp r0, #0x1
|
||||
bne _0201BB8E
|
||||
ldr r0, _0201BBC8 ; =0x0000FFFF
|
||||
mul r0, r1
|
||||
lsl r0, r0, #0x8
|
||||
lsr r1, r0, #0x10
|
||||
b _0201BBA2
|
||||
_0201BB8E:
|
||||
cmp r0, #0x2
|
||||
bne _0201BBA2
|
||||
ldr r0, _0201BBC8 ; =0x0000FFFF
|
||||
mul r0, r1
|
||||
mov r1, #0x5a
|
||||
lsl r1, r1, #0x2
|
||||
bl _u32_div_f
|
||||
lsl r0, r0, #0x10
|
||||
lsr r1, r0, #0x10
|
||||
_0201BBA2:
|
||||
asr r0, r1, #0x4
|
||||
lsl r3, r0, #0x1
|
||||
lsl r1, r3, #0x1
|
||||
ldr r2, _0201BBCC ; =UNK_020FFA38
|
||||
add r3, r3, #0x1
|
||||
lsl r3, r3, #0x1
|
||||
ldrsh r1, [r2, r1]
|
||||
ldrsh r2, [r2, r3]
|
||||
add r0, r5, #0x0
|
||||
bl MTX_Rot22_
|
||||
add r0, r5, #0x0
|
||||
add r1, r5, #0x0
|
||||
add r2, r4, #0x0
|
||||
add r3, r6, #0x0
|
||||
bl MTX_ScaleApply22
|
||||
pop {r4-r6, pc}
|
||||
nop
|
||||
_0201BBC8: .word 0x0000FFFF
|
||||
_0201BBCC: .word UNK_020FFA38
|
||||
|
||||
thumb_func_start FUN_0201BBD0
|
||||
FUN_0201BBD0: ; 0x0201BBD0
|
||||
push {r3-r7, lr}
|
||||
sub sp, #0x38
|
||||
lsl r5, r0, #0xc
|
||||
lsl r4, r1, #0xc
|
||||
mov r1, #0x0
|
||||
lsl r0, r2, #0xc
|
||||
lsl r6, r3, #0xc
|
||||
str r1, [sp, #0x34]
|
||||
str r0, [sp, #0x0]
|
||||
str r0, [sp, #0x20]
|
||||
str r1, [sp, #0x28]
|
||||
str r1, [sp, #0x8]
|
||||
str r1, [sp, #0xc]
|
||||
asr r1, r5, #0x1f
|
||||
add r0, r5, #0x0
|
||||
asr r3, r6, #0x1f
|
||||
add r2, r6, #0x0
|
||||
str r5, [sp, #0x2c]
|
||||
str r4, [sp, #0x30]
|
||||
str r6, [sp, #0x24]
|
||||
bl _ll_mul
|
||||
str r0, [sp, #0x4]
|
||||
add r2, r4, #0x0
|
||||
ldr r0, [sp, #0x20]
|
||||
add r7, r1, #0x0
|
||||
asr r1, r0, #0x1f
|
||||
asr r3, r2, #0x1f
|
||||
bl _ll_mul
|
||||
mov r2, #0x2
|
||||
ldr r3, [sp, #0x4]
|
||||
lsl r2, r2, #0xa
|
||||
add r3, r3, r2
|
||||
ldr r2, _0201BC80 ; =0x00000000
|
||||
str r4, [sp, #0x2c]
|
||||
adc r7, r2
|
||||
lsl r2, r7, #0x14
|
||||
lsr r3, r3, #0xc
|
||||
orr r3, r2
|
||||
mov r2, #0x2
|
||||
lsl r2, r2, #0xa
|
||||
add r0, r0, r2
|
||||
ldr r2, _0201BC80 ; =0x00000000
|
||||
str r5, [sp, #0x30]
|
||||
adc r1, r2
|
||||
lsl r1, r1, #0x14
|
||||
lsr r0, r0, #0xc
|
||||
orr r0, r1
|
||||
sub r2, r3, r0
|
||||
ldr r1, [sp, #0x8]
|
||||
ldr r0, [sp, #0xc]
|
||||
str r2, [sp, #0x10]
|
||||
add r0, r1, r0
|
||||
add r7, r2, r0
|
||||
mov r0, #0x0
|
||||
str r0, [sp, #0x34]
|
||||
add r0, sp, #0x2c
|
||||
add r1, sp, #0x14
|
||||
bl VEC_Normalize
|
||||
mov r1, #0x0
|
||||
ldr r0, [sp, #0x0]
|
||||
str r1, [sp, #0x34]
|
||||
str r0, [sp, #0x20]
|
||||
str r1, [sp, #0x28]
|
||||
add r0, sp, #0x20
|
||||
add r1, sp, #0x2c
|
||||
add r2, sp, #0x8
|
||||
str r5, [sp, #0x2c]
|
||||
str r4, [sp, #0x30]
|
||||
str r6, [sp, #0x24]
|
||||
bl VEC_Subtract
|
||||
add r0, sp, #0x14
|
||||
add r1, sp, #0x8
|
||||
bl VEC_DotProduct
|
||||
asr r0, r0, #0xc
|
||||
bpl _0201BC72
|
||||
neg r0, r0
|
||||
_0201BC72:
|
||||
cmp r7, #0x0
|
||||
bgt _0201BC7C
|
||||
mov r1, #0x0
|
||||
mvn r1, r1
|
||||
mul r0, r1
|
||||
_0201BC7C:
|
||||
add sp, #0x38
|
||||
pop {r3-r7, pc}
|
||||
.balign 4
|
||||
_0201BC80: .word 0x00000000
|
||||
|
||||
thumb_func_start FUN_0201BC84
|
||||
FUN_0201BC84: ; 0x0201BC84
|
||||
push {r3-r5, lr}
|
||||
lsl r0, r0, #0xd
|
||||
add r4, r1, #0x0
|
||||
ldr r2, _0201BCB4 ; =0x0000323D
|
||||
asr r1, r0, #0x1f
|
||||
mov r3, #0x0
|
||||
bl _ll_mul
|
||||
add r5, r0, #0x0
|
||||
ldr r0, _0201BCB8 ; =0x0000FFFF
|
||||
mov r2, #0x2
|
||||
mov r3, #0x0
|
||||
lsl r2, r2, #0xa
|
||||
mul r0, r4
|
||||
add r2, r5, r2
|
||||
adc r1, r3
|
||||
lsl r1, r1, #0x14
|
||||
lsr r2, r2, #0xc
|
||||
orr r2, r1
|
||||
asr r1, r2, #0xc
|
||||
bl _s32_div_f
|
||||
pop {r3-r5, pc}
|
||||
nop
|
||||
_0201BCB4: .word 0x0000323D
|
||||
_0201BCB8: .word 0x0000FFFF
|
||||
@@ -1877,13 +1877,13 @@ _0203A7E0:
|
||||
ldr r0, [r5, #0x78]
|
||||
ldr r1, [sp, #0xc]
|
||||
ldr r2, [r2, #0x0]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, [sp, #0x14]
|
||||
ldr r2, [sp, #0x18]
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r1, [r7, #0x0]
|
||||
ldr r2, [r2, #0x0]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r0, [r4, #0x60]
|
||||
bl MOD05_021E8140
|
||||
mov r3, #0x0
|
||||
@@ -2006,12 +2006,12 @@ FUN_0203A8B8: ; 0x0203A8B8
|
||||
ldr r0, [r5, #0x78]
|
||||
ldr r1, [sp, #0x0]
|
||||
ldr r2, [r6, #0x0]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, [sp, #0x8]
|
||||
ldr r1, [r7, #0x0]
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r2, [r6, #0x0]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r0, [r4, #0x60]
|
||||
bl MOD05_021E8140
|
||||
add r4, r0, #0x0
|
||||
@@ -8823,7 +8823,7 @@ FUN_0203DFA8: ; 0x0203DFA8
|
||||
ldr r0, [r5, #0x0]
|
||||
bl FUN_020394F0
|
||||
add r5, r0, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r1, r5, #0x0
|
||||
bl _s32_div_f
|
||||
strh r1, [r4, #0x0]
|
||||
@@ -8848,7 +8848,7 @@ FUN_0203DFE0: ; 0x0203DFE0
|
||||
ldr r0, [r5, #0x0]
|
||||
bl FUN_020394F0
|
||||
add r5, r0, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r1, r5, #0x0
|
||||
bl _s32_div_f
|
||||
strh r1, [r4, #0x0]
|
||||
@@ -9776,7 +9776,7 @@ FUN_0203E774: ; 0x0203E774
|
||||
add r0, r7, #0x0
|
||||
bl FUN_020244A4
|
||||
add r4, r0, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r1, r4, #0x0
|
||||
bl _s32_div_f
|
||||
lsl r0, r1, #0x10
|
||||
@@ -11070,7 +11070,7 @@ _0203F1E0:
|
||||
mov r0, #0x0
|
||||
pop {r4-r7, pc}
|
||||
_0203F1F8:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r1, r6, #0x0
|
||||
bl _s32_div_f
|
||||
mov r4, #0x0
|
||||
@@ -11496,7 +11496,7 @@ _0203F54C:
|
||||
lsl r7, r7, #0x2
|
||||
b _0203F582
|
||||
_0203F556:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0x64
|
||||
bl _s32_div_f
|
||||
cmp r1, #0x19
|
||||
@@ -11504,7 +11504,7 @@ _0203F556:
|
||||
ldr r7, _0203F5CC ; =0x0000010D
|
||||
b _0203F582
|
||||
_0203F568:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0x6
|
||||
bl _s32_div_f
|
||||
lsl r0, r1, #0x10
|
||||
@@ -11911,7 +11911,7 @@ FUN_0203F880: ; 0x0203F880
|
||||
bls _0203F8A2
|
||||
mov r4, #0x64
|
||||
_0203F8A2:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0x65
|
||||
bl _s32_div_f
|
||||
lsl r0, r1, #0x10
|
||||
@@ -12201,11 +12201,11 @@ FUN_0203FA58: ; 0x0203FA58
|
||||
add r1, r5, #0x0
|
||||
mov r2, #0x1
|
||||
mov r3, #0x20
|
||||
bl FUN_0200A9C4
|
||||
bl ReadMsgData_ExpandPlaceholders
|
||||
add r7, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x0]
|
||||
ldr r1, [sp, #0x0]
|
||||
add r0, r7, #0x0
|
||||
@@ -12219,9 +12219,9 @@ _0203FB24:
|
||||
_0203FB26:
|
||||
strh r0, [r6, #0x0]
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [sp, #0x0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r5, #0x0
|
||||
bl DestroyMsgData
|
||||
add r0, r4, #0x0
|
||||
|
||||
@@ -362,7 +362,7 @@ FUN_02042F6C: ; 0x02042F6C
|
||||
bl GetMonData
|
||||
add r6, r0, #0x0
|
||||
bl OS_GetTick
|
||||
bl rand_ALT
|
||||
bl PRandom
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [sp, #0x14]
|
||||
str r1, [sp, #0x34]
|
||||
@@ -376,7 +376,7 @@ FUN_02042F6C: ; 0x02042F6C
|
||||
beq _02042FE8
|
||||
_02042FD0:
|
||||
ldr r0, [sp, #0x34]
|
||||
bl rand_ALT
|
||||
bl PRandom
|
||||
add r1, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
str r1, [sp, #0x34]
|
||||
@@ -437,7 +437,7 @@ _02042FE8:
|
||||
add r0, r0, r1
|
||||
str r0, [sp, #0x30]
|
||||
bne _020430DA
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r6, r0, #0x0
|
||||
mov r0, #0x1f
|
||||
and r0, r6
|
||||
@@ -464,7 +464,7 @@ _02042FE8:
|
||||
mov r1, #0x48
|
||||
add r2, sp, #0x34
|
||||
bl SetMonData
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r6, r0, #0x0
|
||||
mov r0, #0x1f
|
||||
and r0, r6
|
||||
@@ -640,7 +640,7 @@ _020431D4:
|
||||
bl SetMonData
|
||||
add r0, r5, #0x0
|
||||
add r4, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_0204322C:
|
||||
ldr r1, [sp, #0x8]
|
||||
mov r0, #0x2
|
||||
@@ -894,7 +894,7 @@ FUN_020433DC: ; 0x020433DC
|
||||
mov r3, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add sp, #0x8
|
||||
pop {r3-r7, pc}
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ FUN_02044198: ; 0x02044198
|
||||
ldr r0, [r5, #0x0]
|
||||
bl FUN_020394F0
|
||||
add r5, r0, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0x64
|
||||
bl _s32_div_f
|
||||
lsl r0, r1, #0x10
|
||||
|
||||
@@ -180,7 +180,7 @@ FUN_0203FF10: ; 0x0203FF10
|
||||
ldr r1, [sp, #0x0]
|
||||
str r0, [r1, #0x0]
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x0
|
||||
add sp, #0x38
|
||||
pop {r3-r7, pc}
|
||||
|
||||
@@ -495,7 +495,7 @@ FUN_02040A7C: ; 0x02040A7C
|
||||
add r2, r6, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x0
|
||||
add sp, #0xc
|
||||
pop {r4-r7, pc}
|
||||
@@ -512,7 +512,7 @@ FUN_02040AE4: ; 0x02040AE4
|
||||
bl NewMsgDataFromNarc
|
||||
add r5, r0, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl DestroyMsgData
|
||||
@@ -553,7 +553,7 @@ FUN_02040B0C: ; 0x02040B0C
|
||||
mov r3, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x0
|
||||
add sp, #0x8
|
||||
pop {r4-r6, pc}
|
||||
@@ -590,7 +590,7 @@ FUN_02040B5C: ; 0x02040B5C
|
||||
mov r3, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x0
|
||||
add sp, #0x8
|
||||
pop {r4-r6, pc}
|
||||
@@ -627,7 +627,7 @@ FUN_02040BAC: ; 0x02040BAC
|
||||
mov r3, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x0
|
||||
add sp, #0x8
|
||||
pop {r4-r6, pc}
|
||||
@@ -720,7 +720,7 @@ FUN_02040CA4: ; 0x02040CA4
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x16
|
||||
mov r1, #0x4
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x80
|
||||
@@ -751,7 +751,7 @@ FUN_02040CA4: ; 0x02040CA4
|
||||
mov r3, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x0
|
||||
add sp, #0x8
|
||||
pop {r3-r7, pc}
|
||||
@@ -790,7 +790,7 @@ FUN_02040D04: ; 0x02040D04
|
||||
lsl r0, r5, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
mov r1, #0x20
|
||||
bl FUN_020852E8
|
||||
bl GetNutName
|
||||
add r5, r0, #0x0
|
||||
cmp r4, #0x2
|
||||
bhs _02040D5A
|
||||
@@ -808,7 +808,7 @@ _02040D5C:
|
||||
mov r3, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x0
|
||||
add sp, #0x8
|
||||
pop {r3-r7, pc}
|
||||
@@ -884,7 +884,7 @@ FUN_02040DEC: ; 0x02040DEC
|
||||
mov r0, #0xb
|
||||
ldrb r6, [r1, #0x0]
|
||||
add r1, r0, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r5, #0x80
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [r5, #0x0]
|
||||
@@ -904,7 +904,7 @@ FUN_02040DEC: ; 0x02040DEC
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x0
|
||||
add sp, #0x8
|
||||
pop {r3-r7, pc}
|
||||
|
||||
@@ -188,7 +188,7 @@ _02041DC8:
|
||||
_02041DCE:
|
||||
mov r0, #0x40
|
||||
mov r1, #0x20
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r6, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x80
|
||||
@@ -213,13 +213,13 @@ _02041DCE:
|
||||
mov r1, #0x0
|
||||
mov r2, #0x2
|
||||
bl FUN_02028810
|
||||
bl rand_MT
|
||||
bl MTRandom
|
||||
add r2, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl FUN_02028788
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
mov r2, #0x1
|
||||
|
||||
@@ -524,7 +524,7 @@ FUN_0204224C: ; 0x0204224C
|
||||
mov r0, #0x40
|
||||
mov r1, #0x4
|
||||
str r3, [sp, #0x8]
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r1, r7, #0x0
|
||||
add r4, r0, #0x0
|
||||
bl FUN_02021E28
|
||||
@@ -538,7 +538,7 @@ FUN_0204224C: ; 0x0204224C
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add sp, #0xc
|
||||
pop {r4-r7, pc}
|
||||
.balign 4
|
||||
@@ -582,7 +582,7 @@ FUN_020422C0: ; 0x020422C0
|
||||
ldrh r0, [r0, #0x2]
|
||||
mov r1, #0x4
|
||||
add r2, sp, #0x8
|
||||
bl GetSpeciesName
|
||||
bl GetSpeciesNameIntoArray
|
||||
mov r0, #0x2
|
||||
str r0, [sp, #0x0]
|
||||
mov r0, #0x1
|
||||
|
||||
@@ -3,14 +3,39 @@
|
||||
|
||||
.section .text
|
||||
|
||||
.incbin "baserom.nds", 0x4000, 0xC8
|
||||
.byte 0xFF, 0xDE, 0xFF, 0xE7, 0xFF, 0xDE, 0xFF, 0xE7, 0xFF, 0xDE, 0xFF, 0xE7, 0xFF, 0xDE, 0x42, 0x6E
|
||||
.byte 0xF9, 0xCC, 0x54, 0x4B, 0x74, 0x53, 0x91, 0x91, 0xBC, 0x95, 0xD2, 0x12, 0xE1, 0xD0, 0xF0, 0x41
|
||||
.byte 0xE5, 0xB6, 0x47, 0xA4, 0x23, 0x18, 0x61, 0xE9, 0xC4, 0x0A, 0xA2, 0xAD, 0xF8, 0x77, 0xB5, 0x6E
|
||||
.byte 0x4C, 0x8D, 0x57, 0x83, 0x2F, 0x99, 0x16, 0x1A, 0x51, 0x4A, 0x6A, 0x1F, 0x07, 0x78, 0x92, 0xD3
|
||||
.byte 0xDF, 0x3D, 0x25, 0x0E, 0xF5, 0xA5, 0x93, 0x29, 0x1D, 0xC4, 0xA5, 0x97, 0x54, 0xA0, 0xA8, 0xB2
|
||||
.byte 0x1B, 0x9B, 0x58, 0x3C, 0xA5, 0xA4, 0x9D, 0x8B, 0x9F, 0x13, 0xAB, 0xF8, 0x09, 0x0D, 0x63, 0xE9
|
||||
.byte 0xAC, 0xF0, 0x80, 0x2D, 0xA7, 0x87, 0x5F, 0x1C, 0xDC, 0x1B, 0x0C, 0x6D, 0xED, 0xB5, 0x46, 0x60
|
||||
.byte 0x04, 0x1C, 0x11, 0xDF, 0x70, 0x47, 0xEC, 0xA5, 0x91, 0x81, 0x4D, 0xFF, 0x9E, 0x6D, 0x24, 0x87
|
||||
.byte 0x2E, 0x74, 0xAB, 0x34, 0x55, 0x7A, 0x0C, 0xA4, 0xC7, 0x66, 0xB7, 0x5A, 0xA7, 0x14, 0x64, 0xDE
|
||||
.byte 0xFD, 0xC7, 0x24, 0xF7, 0xD9, 0xE0, 0x2D, 0x67, 0x16, 0x72, 0xD3, 0x68, 0x8A, 0xA0, 0xE1, 0xD2
|
||||
.byte 0x09, 0x2A, 0x35, 0xD5, 0x40, 0x75, 0x41, 0xFC, 0xA3, 0xCA, 0xEB, 0x03, 0xDA, 0x58, 0x31, 0x72
|
||||
.byte 0x00, 0xFF, 0x46, 0xC7, 0xBA, 0xDF, 0xEE, 0x29, 0xC5, 0xE1, 0xDB, 0x7D, 0x1C, 0x37, 0x87, 0x63
|
||||
.byte 0x9A, 0x5A, 0x23, 0xCA, 0x8C, 0x38, 0x5E, 0x98
|
||||
non_word_aligned_thumb_func_start SVC_GetCRC16
|
||||
SVC_GetCRC16: ; 0x020000C8
|
||||
swi 14
|
||||
bx lr
|
||||
thumb_func_end SVC_GetCRC16
|
||||
|
||||
.incbin "baserom.nds", 0x40CC, 0xD2
|
||||
.byte 0x27, 0x2C, 0x80, 0x42, 0xAA, 0x04, 0x05, 0x4F, 0x89, 0xDD, 0x4D, 0x3A, 0xAB, 0xF0, 0xC9, 0x2F
|
||||
.byte 0xA0, 0xAF, 0x40, 0x64, 0x08, 0xF4, 0xD8, 0x2A, 0x5D, 0xB2, 0x38, 0xD2, 0xBB, 0x11, 0xE9, 0xDA
|
||||
.byte 0x6F, 0x72, 0x75, 0x37, 0x66, 0x7C, 0x31, 0xB1, 0xAF, 0x8E, 0xD1, 0x97, 0xC6, 0x7F, 0x7C, 0x4A
|
||||
.byte 0xEA, 0xE7, 0xF6, 0x4D, 0x6D, 0x83, 0x7F, 0xAA, 0xA3, 0x0C, 0x78, 0xF6, 0x1B, 0xF7, 0x13, 0xDD
|
||||
.byte 0x71, 0x23, 0x45, 0x1B, 0xFB, 0x8D, 0x6E, 0x65, 0x13, 0xB3, 0x08, 0x71, 0x2C, 0xD8, 0xEE, 0x3C
|
||||
.byte 0x99, 0xB7, 0xC1, 0xA7, 0x2E, 0xDA, 0xA9, 0x58, 0x55, 0x26, 0xAB, 0xC8, 0xBE, 0x0B, 0xD9, 0xCC
|
||||
.byte 0x0F, 0x9B, 0xE5, 0x3C, 0x83, 0x54, 0x80, 0xF8, 0xCF, 0x0A, 0x15, 0xDF, 0x70, 0x47, 0x26, 0xB5
|
||||
.byte 0x77, 0xA0, 0x8A, 0x8B, 0xC1, 0x8F, 0xD7, 0x8A, 0xA5, 0xBC, 0xB5, 0x48, 0xD9, 0xC9, 0x29, 0x97
|
||||
.byte 0x33, 0xAC, 0x12, 0x04, 0x81, 0x8F, 0x99, 0x51, 0x78, 0x77, 0xB3, 0xED, 0xF0, 0x2F, 0x34, 0xE4
|
||||
.byte 0x30, 0x45, 0x97, 0x29, 0xF7, 0xCC, 0x1B, 0xCF, 0x15, 0x64, 0x9E, 0x7C, 0x94, 0xF0, 0x4A, 0x98
|
||||
.byte 0x5D, 0x28, 0x94, 0x12, 0x62, 0x2D, 0xE6, 0x82, 0x0D, 0xB4, 0x98, 0xC6, 0x16, 0xD8, 0xB8, 0x94
|
||||
.byte 0xFE, 0x65, 0xED, 0x31, 0xE5, 0x88, 0xA5, 0xF0, 0xF6, 0xD6, 0x8F, 0xE6, 0x42, 0x7F, 0xF1, 0xBC
|
||||
.byte 0xA2, 0xD5, 0x0E, 0x50, 0xFC, 0x83, 0x70, 0x45, 0x55, 0xAF, 0xF5, 0x89, 0xE2, 0x69, 0x71, 0xBA
|
||||
.byte 0xFA, 0x75
|
||||
|
||||
non_word_aligned_thumb_func_start SVC_Sqrt
|
||||
SVC_Sqrt: ; 0x0200019E
|
||||
@@ -18,18 +43,117 @@ SVC_Sqrt: ; 0x0200019E
|
||||
bx lr
|
||||
thumb_func_end SVC_Sqrt
|
||||
|
||||
.incbin "baserom.nds", 0x41A2, 0x15C
|
||||
.byte 0x1C, 0x85, 0x9C, 0xB6, 0x15, 0xC1, 0x40, 0x1B, 0x79, 0x01, 0x96, 0xC4, 0x80, 0x99, 0xF1, 0x28
|
||||
.byte 0x6E, 0x3E, 0xE1, 0x0D, 0x73, 0xD8, 0x07, 0xCB, 0x75, 0x1C, 0x44, 0x41, 0xC4, 0x60, 0xE5, 0xB0
|
||||
.byte 0xBA, 0x74, 0xF1, 0x11, 0xA4, 0x7E, 0xE7, 0x00, 0x6A, 0xBB, 0xB6, 0x78, 0x45, 0xDF, 0x93, 0xF2
|
||||
.byte 0xF3, 0x8B, 0xA1, 0xE4, 0xA4, 0x9B, 0x2B, 0x56, 0xBF, 0xE1, 0x07, 0xE9, 0xEF, 0x0F, 0x7A, 0xA0
|
||||
.byte 0x0F, 0x49, 0x9D, 0xC9, 0x14, 0x90, 0x63, 0x4D, 0xCD, 0x84, 0x9D, 0xB3, 0x48, 0xB5, 0x92, 0x08
|
||||
.byte 0x27, 0x5C, 0x2C, 0xC1, 0xD3, 0x49, 0x09, 0x0C, 0xD6, 0xBA, 0xFE, 0xC4, 0xAA, 0xA1, 0x36, 0x88
|
||||
.byte 0x3E, 0x64, 0x23, 0x34, 0xA5, 0x58, 0xFF, 0x60, 0x27, 0x72, 0x09, 0xDF, 0x08, 0x1C, 0x70, 0x47
|
||||
.byte 0x63, 0xC7, 0xA0, 0x60, 0x53, 0xFC, 0x9A, 0x98, 0x48, 0x47, 0x42, 0x83, 0xC1, 0xE8, 0x4D, 0xBC
|
||||
.byte 0xE6, 0xF4, 0x2F, 0xD7, 0x6D, 0x6C, 0xCF, 0x44, 0x0A, 0x68, 0xDC, 0xAC, 0xB8, 0x27, 0x24, 0x44
|
||||
.byte 0x59, 0x7F, 0x2D, 0xE3, 0x79, 0x0C, 0x6B, 0x9F, 0x4A, 0xF9, 0x5B, 0x1D, 0x57, 0x2A, 0xD5, 0xC2
|
||||
.byte 0x76, 0x15, 0xF8, 0x04, 0x7B, 0xF1, 0xD3, 0x2B, 0x15, 0xA1, 0x26, 0x29, 0xA2, 0x81, 0xE8, 0x63
|
||||
.byte 0xC9, 0xBF, 0x1C, 0x88, 0x2A, 0x1A, 0x61, 0x97, 0x12, 0x08, 0xE0, 0x4A, 0x2B, 0x25, 0x72, 0x8C
|
||||
.byte 0xB8, 0x57, 0xAF, 0xE7, 0x48, 0x62, 0x30, 0x9A, 0x8B, 0x13, 0x4A, 0x79, 0xED, 0x95, 0xED, 0xED
|
||||
.byte 0x65, 0x56, 0x02, 0x2B, 0xCA, 0x6A, 0x0F, 0x26, 0xC8, 0xC4, 0x94, 0xEB, 0x5A, 0xF2, 0xD2, 0xBE
|
||||
.byte 0x49, 0x0A, 0x77, 0xAE, 0x17, 0x08, 0x02, 0xD0, 0x35, 0x26, 0x12, 0xDF, 0x70, 0x47, 0xE7, 0xAA
|
||||
.byte 0x20, 0x31, 0x36, 0x88, 0x88, 0x14, 0xA3, 0x8F, 0x38, 0x7F, 0xA7, 0x30, 0x3F, 0x62, 0xB1, 0xD9
|
||||
.byte 0x76, 0x59, 0x7B, 0x55, 0xFB, 0x73, 0x2D, 0x64, 0xB0, 0xD1, 0x01, 0x96, 0xDA, 0x04, 0x35, 0x81
|
||||
.byte 0xF9, 0x35, 0x9D, 0xAE, 0x24, 0x60, 0xFF, 0x5D, 0xE4, 0xD2, 0xC5, 0x8B, 0x2B, 0xD0, 0xC2, 0x24
|
||||
.byte 0x78, 0x3D, 0xF5, 0x38, 0x2A, 0x78, 0x44, 0xA2, 0x7C, 0xF0, 0x5F, 0x49, 0x9D, 0x40, 0x18, 0xD9
|
||||
.byte 0xF2, 0x82, 0xB5, 0xC0, 0xC5, 0x59, 0x8A, 0x5E, 0xB5, 0xCF, 0xDC, 0x03, 0xAA, 0xC3, 0x4A, 0x96
|
||||
.byte 0x12, 0x75, 0xD5, 0xC2, 0xE9, 0x3E, 0xA9, 0x6E, 0xFB, 0x38, 0xAC, 0xB8, 0x5B, 0x94, 0x81, 0xD5
|
||||
.byte 0x2F, 0x37, 0xC2, 0xD7, 0xC4, 0xEF, 0x6E, 0x8C, 0x1F, 0xFB, 0x36, 0x1D
|
||||
|
||||
non_word_aligned_thumb_func_start SVC_CpuSet
|
||||
SVC_CpuSet: ; 0x020002FE
|
||||
swi 11
|
||||
bx lr
|
||||
|
||||
.incbin "baserom.nds", 0x4302, 0x2F0
|
||||
.byte 0x9A, 0xCF, 0x03, 0x50, 0xA1, 0xE4, 0x98, 0xEA, 0x2E, 0x86, 0xBC, 0xBE, 0x31, 0x3D, 0xE8, 0xA4
|
||||
.byte 0x52, 0x6D, 0x18, 0x28, 0x8F, 0x2C, 0xED, 0x3F, 0xA2, 0xD5, 0x2A, 0xEC, 0x62, 0x15, 0x54, 0xDA
|
||||
.byte 0x09, 0x05, 0x4D, 0x31, 0x97, 0x87, 0xC8, 0xA9, 0x5D, 0x16, 0x72, 0xAB, 0x72, 0xD1, 0x40, 0xFF
|
||||
.byte 0x68, 0x58, 0x6C, 0xB0, 0x2F, 0xED, 0x61, 0xA5, 0xF6, 0x2E, 0x9A, 0xE2, 0x68, 0x53, 0xEB, 0xAA
|
||||
.byte 0x22, 0x7F, 0x5C, 0xA1, 0xFA, 0x16, 0x49, 0x80, 0x6E, 0xDA, 0xFA, 0xAC, 0x1C, 0xE3, 0xC1, 0xC4
|
||||
.byte 0x5A, 0xCC, 0x0C, 0xDF, 0x70, 0x47, 0xF2, 0x98, 0x8D, 0xBF, 0xE0, 0x13, 0xFA, 0x9B, 0x06, 0x02
|
||||
.byte 0x9C, 0x8D, 0x25, 0xB2, 0xE3, 0xFD, 0xAE, 0xCF, 0x4E, 0x37, 0x89, 0x20, 0x26, 0xEB, 0xBA, 0xE3
|
||||
.byte 0x3D, 0xF3, 0x15, 0x0E, 0x6D, 0x4F, 0xE9, 0xB8, 0x97, 0xB8, 0xD8, 0x88, 0xF8, 0xA8, 0xCA, 0x33
|
||||
.byte 0x4D, 0x95, 0x06, 0x0F, 0xCB, 0xEE, 0x66, 0xFB, 0xA5, 0xF4, 0x74, 0xB4, 0xC0, 0x02, 0xC9, 0xAE
|
||||
.byte 0x6B, 0x9D, 0x42, 0xF5, 0xD4, 0xF5, 0xBB, 0x4F, 0x36, 0x45, 0xCA, 0x61, 0x8E, 0x81, 0x70, 0x08
|
||||
.byte 0x8F, 0x53, 0xF6, 0x42, 0x5C, 0x19, 0xB1, 0x88, 0xB6, 0x3C, 0x7F, 0x46, 0xC4, 0x35, 0x85, 0xFC
|
||||
.byte 0x6F, 0xED, 0xA4, 0xDE, 0x8D, 0x22, 0x9F, 0x0D, 0xE5, 0xFE, 0x0C, 0x64, 0xC3, 0xD4, 0x7D, 0x6A
|
||||
.byte 0xC8, 0xD9, 0xD9, 0x87, 0xB4, 0x76, 0xAB, 0x7B, 0x00, 0x22, 0x05, 0xDF, 0x70, 0x47, 0x01, 0x76
|
||||
.byte 0xA5, 0x8A, 0x83, 0xAB, 0x61, 0xBE, 0x95, 0x9E, 0x89, 0xA4, 0xE8, 0xED, 0x31, 0x3C, 0x3E, 0xBF
|
||||
.byte 0x13, 0x1F, 0x51, 0xDE, 0x0D, 0x0F, 0x91, 0xA0, 0xB8, 0xE3, 0xAA, 0x0E, 0xC6, 0x59, 0xC1, 0x0B
|
||||
.byte 0x86, 0xDC, 0xE9, 0xCB, 0xFB, 0x42, 0x8A, 0xC8, 0x98, 0x33, 0x4E, 0xAE, 0xB9, 0x3D, 0xCF, 0x31
|
||||
.byte 0x92, 0x69, 0xA4, 0x74, 0x46, 0x13, 0xCE, 0x6B, 0x6F, 0xE2, 0xDD, 0xE2, 0x4C, 0x3A, 0xF9, 0xCF
|
||||
.byte 0xA9, 0x28, 0xE8, 0xFE, 0x66, 0xE0, 0x34, 0x8E, 0xE7, 0xEE, 0x1D, 0x01, 0xB0, 0xA6, 0x8D, 0x56
|
||||
.byte 0xCE, 0xAD, 0x44, 0x4E, 0x56, 0x5F, 0x41, 0x0D, 0x7B, 0xD7, 0x87, 0xA2, 0xF5, 0xF9, 0x86, 0xE7
|
||||
.byte 0x7F, 0x14, 0xCB, 0x01, 0x51, 0xDB, 0xB0, 0x35, 0x13, 0xDF, 0x70, 0x47, 0xE8, 0xD5, 0x44, 0x23
|
||||
.byte 0x77, 0x99, 0x4C, 0xF1, 0x0F, 0x18, 0xBF, 0x84, 0x9F, 0xC3, 0xA0, 0x08, 0x8B, 0x9D, 0xD3, 0x34
|
||||
.byte 0x8B, 0xF8, 0xC6, 0xF3, 0x6E, 0x1E, 0x9A, 0xA3, 0x2E, 0x43, 0xBF, 0x27, 0xE4, 0xED, 0xEF, 0x0D
|
||||
.byte 0x2E, 0x71, 0xE4, 0x49, 0x74, 0x11, 0xBF, 0x47, 0x7E, 0x65, 0xE1, 0x17, 0x4C, 0x1B, 0x8B, 0xA3
|
||||
.byte 0x8E, 0x7A, 0x7A, 0xB4, 0x35, 0x6C, 0x9E, 0x51, 0x68, 0x6A, 0x63, 0x2C, 0xF3, 0xCA, 0x58, 0xF3
|
||||
.byte 0x06, 0x99, 0xF2, 0x47, 0x91, 0x78, 0xCD, 0xFE, 0x4E, 0xE4, 0x99, 0x65, 0x32, 0x52, 0x28, 0xFA
|
||||
.byte 0xF3, 0xE4, 0xBF, 0xFA, 0x3F, 0x37, 0x36, 0x98, 0x3A, 0x18, 0xA9, 0x42, 0x92, 0x7F, 0xDC, 0x17
|
||||
.byte 0x59, 0x2F, 0x3A, 0x06, 0x38, 0xDA, 0xE5, 0x27, 0x13, 0x41, 0xD1, 0xEC, 0x95, 0xC6, 0xEC, 0xD6
|
||||
.byte 0x10, 0xDF, 0x70, 0x47, 0x7E, 0x9D, 0x05, 0xD3, 0xF5, 0x36, 0x3B, 0xE7, 0x7C, 0xAE, 0x81, 0xEF
|
||||
.byte 0xC8, 0x4B, 0x92, 0xB5, 0x6C, 0x12, 0x4F, 0x3B, 0x26, 0x6A, 0x7E, 0x22, 0xBF, 0x08, 0xAB, 0x6D
|
||||
.byte 0x5F, 0xFE, 0xB2, 0x12, 0xD8, 0xFA, 0x8E, 0x17, 0x2A, 0x7B, 0xB1, 0xA2, 0x98, 0x69, 0x19, 0xAC
|
||||
.byte 0xEE, 0x7E, 0x86, 0xA5, 0xD2, 0x7A, 0x4C, 0x7C, 0x17, 0x4A, 0x52, 0x80, 0x45, 0xD3, 0x3A, 0xD5
|
||||
.byte 0x3D, 0x6C, 0xD7, 0xE5, 0xBD, 0x9A, 0x4A, 0x58, 0x9B, 0x2A, 0xD9, 0xF9, 0x23, 0x02, 0x5E, 0x92
|
||||
.byte 0x0A, 0x31, 0x23, 0x2B, 0x5C, 0x0F, 0xB4, 0x16, 0x5E, 0x34, 0xED, 0xF2, 0x4A, 0xB6, 0x3C, 0xB6
|
||||
.byte 0xE5, 0x41, 0xD5, 0x24, 0x3A, 0xBA, 0xFB, 0xF1, 0x6D, 0x2B, 0x6E, 0x6A, 0x6A, 0x88, 0xD5, 0x3E
|
||||
.byte 0x4F, 0x05, 0x0F, 0xDF, 0x70, 0x47, 0xEC, 0xB5, 0x44, 0xF9, 0x2C, 0xAF, 0x08, 0xE7, 0x9F, 0x4D
|
||||
.byte 0xA9, 0x31, 0x6A, 0x8C, 0x11, 0xEE, 0x40, 0x23, 0xE5, 0x56, 0xB0, 0x11, 0xDA, 0x7B, 0x25, 0xB6
|
||||
.byte 0x8D, 0x8B, 0x53, 0xD6, 0xFD, 0xD4, 0x27, 0xDB, 0xDD, 0xBD, 0x83, 0x38, 0xB4, 0x56, 0x60, 0xC5
|
||||
.byte 0x9F, 0x11, 0xFC, 0xB3, 0xED, 0xE4, 0x32, 0x98, 0x61, 0x6E, 0x1B, 0x0E, 0x14, 0xEB, 0xC5, 0xA3
|
||||
.byte 0x11, 0x17, 0x21, 0xBA, 0xDC, 0x0A, 0x3D, 0x4D, 0xED, 0x8D, 0xA6, 0x4C, 0x1B, 0xC2, 0xFB, 0xD0
|
||||
.byte 0xCA, 0xA0, 0x0D, 0xDA, 0x68, 0x2D, 0x5A, 0x77, 0x20, 0xD9, 0xD0, 0x55, 0x5D, 0x3B, 0xC2, 0x1D
|
||||
.byte 0x4C, 0x93, 0x56, 0x16, 0xCA, 0x36, 0x7E, 0xB0, 0x14, 0xDF, 0x70, 0x47, 0x78, 0x49, 0xE1, 0x21
|
||||
.byte 0x68, 0x63, 0x9E, 0x8B, 0xE1, 0x36, 0x90, 0x4D, 0xB6, 0x5F, 0x50, 0x3D, 0xBD, 0x26, 0x97, 0xA3
|
||||
.byte 0x2E, 0x17, 0xA4, 0x89, 0x04, 0xAF, 0x83, 0x71, 0x41, 0x4C, 0x5A, 0x36, 0x75, 0x26, 0x57, 0x13
|
||||
.byte 0xA7, 0xBC, 0x4C, 0x17, 0xAD, 0x27, 0xBF, 0xF0, 0xFE, 0xB2, 0xFB, 0x7D, 0x7C, 0x2B, 0x6E, 0x9E
|
||||
.byte 0xAB, 0x44, 0xC4, 0x96, 0xC4, 0x7F, 0xA8, 0xA9, 0x36, 0xCF, 0x5E, 0x26, 0x86, 0x9D, 0x3B, 0x9C
|
||||
.byte 0xB1, 0x6D, 0xE0, 0xC6, 0x6B, 0x27, 0xBD, 0x38, 0xC8, 0x69, 0xA3, 0xFE, 0x50, 0x6D, 0xE1, 0x54
|
||||
.byte 0x6E, 0xB2, 0x1C, 0x5D, 0x04, 0x50, 0x0B, 0x71, 0x97, 0x53, 0x7F, 0x6D, 0x1C, 0x80, 0xA9, 0xE2
|
||||
|
||||
non_word_aligned_thumb_func_start SVC_WaitByLoop
|
||||
SVC_WaitByLoop:
|
||||
swi 3
|
||||
bx lr
|
||||
|
||||
.incbin "baserom.nds", 0x45F6, 0x20A
|
||||
.byte 0x6E, 0x47, 0x18, 0xE1, 0x7B, 0xB7, 0xC4, 0xAA, 0xEC, 0xC4, 0x6C, 0xFF, 0xED, 0x0B, 0x2B, 0x24
|
||||
.byte 0xE1, 0xF7, 0xCD, 0xE0, 0x48, 0x7F, 0xE4, 0x61, 0x33, 0x72, 0x52, 0x72, 0x76, 0x05, 0x51, 0x72
|
||||
.byte 0xF7, 0xCA, 0xFA, 0x86, 0x4A, 0x13, 0xA5, 0x9B, 0xC5, 0x13, 0xF2, 0xFE, 0xA7, 0x3F, 0x2A, 0x69
|
||||
.byte 0x85, 0xFA, 0xE9, 0x15, 0x66, 0xEC, 0x67, 0xCE, 0x72, 0x11, 0xF5, 0xB2, 0xA4, 0xCF, 0x75, 0x15
|
||||
.byte 0x42, 0x92, 0x1E, 0x58, 0x98, 0x55, 0xFE, 0xF9, 0xDA, 0x13, 0xE1, 0x6D, 0xCA, 0xAB, 0xD4, 0x00
|
||||
.byte 0x1B, 0x2A, 0x04, 0x86, 0x5D, 0x9D, 0xEB, 0xF8, 0x58, 0xDC, 0x26, 0x1A, 0xD8, 0xA1, 0x20, 0x65
|
||||
.byte 0x3F, 0x1D, 0xD8, 0x32, 0x1B, 0x3E, 0xE9, 0x12, 0xE8, 0x25, 0x74, 0x1F, 0xE6, 0xDB, 0xEF, 0x23
|
||||
.byte 0xF9, 0xE0, 0x99, 0x3C, 0x7E, 0xBF, 0x42, 0x5B, 0x09, 0xDF, 0x70, 0x47, 0xD5, 0x1D, 0xDE, 0x36
|
||||
.byte 0x47, 0x99, 0xEA, 0x96, 0xE7, 0xB5, 0x3D, 0x2A, 0xAA, 0x23, 0x48, 0x11, 0x04, 0xA5, 0x1A, 0xBC
|
||||
.byte 0xA9, 0x22, 0x3F, 0x9F, 0x61, 0x10, 0xED, 0x1E, 0x57, 0x72, 0x0E, 0x8F, 0xFA, 0x08, 0x56, 0xEA
|
||||
.byte 0xA4, 0x16, 0x02, 0xDE, 0x39, 0x73, 0xE2, 0x5A, 0xC0, 0x61, 0x83, 0x79, 0xAD, 0x6F, 0xB4, 0x6D
|
||||
.byte 0xF8, 0xF7, 0xAC, 0xBB, 0x76, 0xAA, 0xE6, 0x49, 0x79, 0x9E, 0x99, 0x07, 0x3C, 0x23, 0x2E, 0x63
|
||||
.byte 0xA4, 0x77, 0xBC, 0xCB, 0x3C, 0x64, 0x3C, 0x91, 0x5E, 0x7C, 0xE3, 0xAB, 0xFF, 0xC9, 0xCE, 0x95
|
||||
.byte 0x7D, 0x97, 0x21, 0x83, 0x13, 0x41, 0x7D, 0x6D, 0x99, 0xCE, 0x7A, 0xBB, 0x7F, 0x7C, 0x98, 0x5C
|
||||
.byte 0x96, 0x5F, 0x35, 0x78, 0x95, 0x3C, 0xAC, 0x1A, 0x43, 0x07, 0x8B, 0x60, 0xBB, 0x61, 0x7B, 0x3B
|
||||
.byte 0x59, 0xCF, 0x5D, 0xF4, 0xCA, 0x19, 0x11, 0x2E, 0x06, 0xDF, 0x70, 0x47, 0x7D, 0x64, 0xA1, 0x4D
|
||||
.byte 0x22, 0xE9, 0x4E, 0xFC, 0x2E, 0xAA, 0x6F, 0x29, 0xBA, 0x38, 0x77, 0xED, 0x0A, 0x33, 0x37, 0xDF
|
||||
.byte 0x9F, 0xC7, 0x38, 0xC5, 0x80, 0x88, 0x63, 0xBD, 0x75, 0x6E, 0x71, 0x9C, 0x7F, 0xEC, 0x1E, 0x0C
|
||||
.byte 0x95, 0xF9, 0xCA, 0xA5, 0x1B, 0x89, 0x72, 0xE2, 0x92, 0x88, 0x9B, 0x0D, 0xB7, 0x5C, 0xC0, 0xA8
|
||||
.byte 0x30, 0x0D, 0xA8, 0x69, 0x74, 0xA0, 0xE1, 0xEE, 0x07, 0x1D, 0x2C, 0x4A, 0xC8, 0x72, 0x9D, 0x14
|
||||
.byte 0x81, 0xF9, 0x00, 0xDF, 0x70, 0x47, 0xA9, 0xC6, 0x77, 0x11, 0x80, 0x51, 0x50, 0xAC, 0x5B, 0x70
|
||||
.byte 0x4F, 0x48, 0x21, 0x7E, 0xC4, 0x84, 0x46, 0xDF, 0x05, 0x93, 0x11, 0x89, 0x79, 0x24, 0x15, 0x86
|
||||
.byte 0x97, 0xC9, 0x86, 0x10, 0x86, 0x5D, 0xC4, 0x34, 0x25, 0x7E, 0x15, 0xDC, 0x45, 0x04, 0x55, 0x74
|
||||
.byte 0x15, 0x80, 0xEC, 0x90, 0x3C, 0x00, 0x1B, 0xB0, 0xCB, 0xBD, 0x8F, 0x30, 0x02, 0x7F, 0xFD, 0x23
|
||||
.byte 0x66, 0x78, 0xCC, 0x51, 0x4C, 0x17, 0x4A, 0xD2, 0xD1, 0x81, 0xEC, 0xE2, 0xF2, 0x49, 0xAF, 0x24
|
||||
.byte 0x49, 0x37, 0x7D, 0x66, 0xE4, 0x50, 0x27, 0x8C, 0xE5, 0x01, 0x1D, 0x72, 0x89, 0xCD, 0x05, 0xD8
|
||||
.byte 0x72, 0x53, 0x98, 0x7D, 0x2F, 0x51, 0x0B, 0x2B, 0x00, 0x22, 0x04, 0xDF, 0x70, 0x47, 0x5E, 0x7D
|
||||
.byte 0xDC, 0x69, 0x73, 0xF1, 0x9F, 0xD4, 0xC0, 0xA5, 0x9F, 0x3C, 0xD6, 0xF5, 0x01, 0xF7, 0x6A, 0xF1
|
||||
.byte 0xE5, 0xCA, 0xAA, 0x6A, 0x3C, 0xA5, 0x81, 0xB6, 0x3C, 0x0A, 0xAC, 0x77, 0x32, 0x54, 0x85, 0x77
|
||||
.byte 0x7C, 0x56, 0xF9, 0xC9, 0x43, 0x93, 0xA0, 0x61, 0x8D, 0x92, 0x17, 0xBD, 0xDE, 0xAC, 0x1E, 0x35
|
||||
.byte 0x33, 0xCD, 0xDD, 0xD0, 0x49, 0x49, 0x2A, 0x45, 0xDD, 0x0E, 0x6F, 0xF7, 0x76, 0x20, 0xBF, 0xD8
|
||||
.byte 0xCE, 0x6A, 0x21, 0x6F, 0x09, 0xA6, 0x03, 0xC2, 0x6B, 0x91, 0x46, 0x86, 0x86, 0x30, 0x16, 0x20
|
||||
.byte 0x32, 0xBE, 0x4F, 0x6F, 0x6A, 0x34, 0xA8, 0xEB, 0x00, 0x00
|
||||
|
||||
@@ -341,7 +341,7 @@ FUN_02002E14: ; 0x02002E14
|
||||
bl ErrorHandling
|
||||
_02002E2E:
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021F2C
|
||||
bl String_c_str
|
||||
add r1, r0, #0x0
|
||||
ldr r0, _02002E48 ; =UNK_02106FC8
|
||||
add r2, r6, #0x0
|
||||
|
||||
@@ -21,7 +21,7 @@ FUN_02002F08: ; 0x02002F08
|
||||
bl ErrorHandling
|
||||
_02002F22:
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021F2C
|
||||
bl String_c_str
|
||||
add r1, r0, #0x0
|
||||
ldr r0, _02002F3C ; =UNK_02106FC8
|
||||
add r2, r6, #0x0
|
||||
@@ -87,7 +87,7 @@ _02002F8C: .word 0x0000FFFF
|
||||
thumb_func_start FUN_02002F90
|
||||
FUN_02002F90: ; 0x02002F90
|
||||
push {r3, lr}
|
||||
bl FUN_02021F2C
|
||||
bl String_c_str
|
||||
bl FUN_02002F58
|
||||
pop {r3, pc}
|
||||
|
||||
@@ -106,7 +106,7 @@ FUN_02002F9C: ; 0x02002F9C
|
||||
bl ErrorHandling
|
||||
_02002FB4:
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021F2C
|
||||
bl String_c_str
|
||||
add r1, r0, #0x0
|
||||
ldr r0, _02002FCC ; =UNK_02106FC8
|
||||
ldr r0, [r0, #0x0]
|
||||
|
||||
@@ -70,7 +70,7 @@ _02005D70:
|
||||
bl FUN_02005DFC
|
||||
mov r0, #0xe
|
||||
bl FUN_02004984
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
lsr r2, r0, #0x1f
|
||||
lsl r1, r0, #0x13
|
||||
sub r1, r1, r2
|
||||
|
||||
@@ -1,946 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start LoadSingleElementFromNarc
|
||||
LoadSingleElementFromNarc: ; 0x0200A384
|
||||
ldr r3, _0200A388 ; =AllocAndReadWholeNarcMemberByIdPair
|
||||
bx r3
|
||||
.balign 4
|
||||
_0200A388: .word AllocAndReadWholeNarcMemberByIdPair
|
||||
|
||||
thumb_func_start FreeMsgDataRawData
|
||||
FreeMsgDataRawData: ; 0x0200A38C
|
||||
ldr r3, _0200A390 ; =FreeToHeap
|
||||
bx r3
|
||||
.balign 4
|
||||
_0200A390: .word FreeToHeap
|
||||
|
||||
thumb_func_start DecryptMessageDirect
|
||||
DecryptMessageDirect: ; 0x0200A394
|
||||
push {r3-r7, lr}
|
||||
sub sp, #0x8
|
||||
add r3, r0, #0x0
|
||||
ldrh r0, [r3, #0x0]
|
||||
add r5, r1, #0x0
|
||||
add r4, r2, #0x0
|
||||
cmp r5, r0
|
||||
bhs _0200A404
|
||||
lsl r0, r5, #0x3
|
||||
add r0, r3, r0
|
||||
ldr r2, [r0, #0x4]
|
||||
ldr r1, [r0, #0x8]
|
||||
ldr r6, _0200A40C ; =0x000002FD
|
||||
str r2, [sp, #0x0]
|
||||
str r1, [sp, #0x4]
|
||||
ldrh r0, [r3, #0x2]
|
||||
add r7, r5, #0x1
|
||||
mul r6, r0
|
||||
add r0, r7, #0x0
|
||||
mul r0, r6
|
||||
lsl r0, r0, #0x10
|
||||
lsr r6, r0, #0x10
|
||||
lsl r0, r6, #0x10
|
||||
orr r0, r6
|
||||
eor r2, r0
|
||||
eor r0, r1
|
||||
str r0, [sp, #0x4]
|
||||
str r2, [sp, #0x0]
|
||||
add r1, r3, r2
|
||||
add r0, r4, #0x0
|
||||
add r2, sp, #0x0
|
||||
bl CopyEncryptedMessage16
|
||||
ldr r2, [sp, #0x4]
|
||||
ldr r0, _0200A410 ; =0x00091BD3
|
||||
add r1, r7, #0x0
|
||||
mul r0, r1
|
||||
lsl r0, r0, #0x10
|
||||
lsr r5, r0, #0x10
|
||||
sub r3, r2, #0x1
|
||||
cmp r2, #0x0
|
||||
beq _0200A408
|
||||
ldr r0, _0200A414 ; =0x0000493D
|
||||
_0200A3EA:
|
||||
ldrh r1, [r4, #0x0]
|
||||
eor r1, r5
|
||||
strh r1, [r4, #0x0]
|
||||
add r1, r5, r0
|
||||
lsl r1, r1, #0x10
|
||||
lsr r5, r1, #0x10
|
||||
add r1, r3, #0x0
|
||||
add r4, r4, #0x2
|
||||
sub r3, r3, #0x1
|
||||
cmp r1, #0x0
|
||||
bne _0200A3EA
|
||||
add sp, #0x8
|
||||
pop {r3-r7, pc}
|
||||
_0200A404:
|
||||
bl ErrorHandling
|
||||
_0200A408:
|
||||
add sp, #0x8
|
||||
pop {r3-r7, pc}
|
||||
.balign 4
|
||||
_0200A40C: .word 0x000002FD
|
||||
_0200A410: .word 0x00091BD3
|
||||
_0200A414: .word 0x0000493D
|
||||
|
||||
thumb_func_start DecryptMessageViaNewNarcHandle
|
||||
DecryptMessageViaNewNarcHandle: ; 0x0200A418
|
||||
; r0: narc_id
|
||||
; r1: ???
|
||||
; r2: ???
|
||||
; r3: heap_id
|
||||
push {r4-r6, lr}
|
||||
sub sp, #0x10
|
||||
add r5, r1, #0x0
|
||||
add r1, r3, #0x0
|
||||
add r4, r2, #0x0
|
||||
bl NARC_ctor
|
||||
add r6, r0, #0x0
|
||||
beq _0200A4AE
|
||||
add r1, sp, #0xc
|
||||
str r1, [sp, #0x0]
|
||||
add r1, r5, #0x0
|
||||
mov r2, #0x0
|
||||
mov r3, #0x4
|
||||
bl NARC_ReadFromMember
|
||||
add r0, sp, #0x4
|
||||
lsl r2, r4, #0x3
|
||||
str r0, [sp, #0x0]
|
||||
add r0, r6, #0x0
|
||||
add r1, r5, #0x0
|
||||
add r2, r2, #0x4
|
||||
mov r3, #0x8
|
||||
bl NARC_ReadFromMember
|
||||
add r0, sp, #0x4
|
||||
ldrh r2, [r0, #0xa]
|
||||
ldr r0, _0200A4B4 ; =0x000002FD
|
||||
add r1, r4, #0x1
|
||||
mul r0, r2
|
||||
mul r0, r1
|
||||
lsl r0, r0, #0x10
|
||||
lsr r1, r0, #0x10
|
||||
lsl r0, r1, #0x10
|
||||
orr r1, r0
|
||||
ldr r0, [sp, #0x4]
|
||||
eor r0, r1
|
||||
str r0, [sp, #0x4]
|
||||
ldr r0, [sp, #0x8]
|
||||
eor r0, r1
|
||||
str r0, [sp, #0x8]
|
||||
ldr r0, [sp, #0x20]
|
||||
add r1, r5, #0x0
|
||||
str r0, [sp, #0x0]
|
||||
ldr r3, [sp, #0x8]
|
||||
ldr r2, [sp, #0x4]
|
||||
add r0, r6, #0x0
|
||||
lsl r3, r3, #0x1
|
||||
bl NARC_ReadFromMember
|
||||
ldr r2, _0200A4B8 ; =0x00091BD3
|
||||
add r3, r4, #0x1
|
||||
mul r2, r3
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [sp, #0x8]
|
||||
lsr r3, r2, #0x10
|
||||
sub r2, r0, #0x1
|
||||
ldr r1, [sp, #0x20]
|
||||
cmp r0, #0x0
|
||||
beq _0200A4A8
|
||||
ldr r0, _0200A4BC ; =0x0000493D
|
||||
_0200A492:
|
||||
ldrh r4, [r1, #0x0]
|
||||
eor r4, r3
|
||||
strh r4, [r1, #0x0]
|
||||
add r3, r3, r0
|
||||
lsl r3, r3, #0x10
|
||||
add r4, r2, #0x0
|
||||
add r1, r1, #0x2
|
||||
lsr r3, r3, #0x10
|
||||
sub r2, r2, #0x1
|
||||
cmp r4, #0x0
|
||||
bne _0200A492
|
||||
_0200A4A8:
|
||||
add r0, r6, #0x0
|
||||
bl NARC_dtor
|
||||
_0200A4AE:
|
||||
add sp, #0x10
|
||||
pop {r4-r6, pc}
|
||||
nop
|
||||
_0200A4B4: .word 0x000002FD
|
||||
_0200A4B8: .word 0x00091BD3
|
||||
_0200A4BC: .word 0x0000493D
|
||||
|
||||
thumb_func_start CopyEncryptedMessage16
|
||||
CopyEncryptedMessage16: ; 0x0200A4C0
|
||||
add r3, r0, #0x0
|
||||
add r0, r1, #0x0
|
||||
add r1, r3, #0x0
|
||||
ldr r2, [r2, #0x4]
|
||||
ldr r3, _0200A4D0 ; =MIi_CpuCopy16
|
||||
lsl r2, r2, #0x1
|
||||
bx r3
|
||||
nop
|
||||
_0200A4D0: .word MIi_CpuCopy16
|
||||
|
||||
thumb_func_start FUN_0200A4D4
|
||||
FUN_0200A4D4: ; 0x0200A4D4
|
||||
push {r3-r7, lr}
|
||||
sub sp, #0x10
|
||||
add r5, r0, #0x0
|
||||
ldrh r0, [r5, #0x0]
|
||||
add r4, r1, #0x0
|
||||
str r2, [sp, #0x0]
|
||||
cmp r4, r0
|
||||
bhs _0200A56A
|
||||
lsl r0, r4, #0x3
|
||||
add r0, r5, r0
|
||||
ldr r3, [r0, #0x4]
|
||||
ldr r2, [r0, #0x8]
|
||||
ldrh r1, [r5, #0x2]
|
||||
ldr r6, _0200A578 ; =0x000002FD
|
||||
add r0, r4, #0x1
|
||||
mul r6, r1
|
||||
add r1, r0, #0x0
|
||||
mul r1, r6
|
||||
lsl r0, r1, #0x10
|
||||
lsr r1, r0, #0x10
|
||||
lsl r0, r1, #0x10
|
||||
orr r1, r0
|
||||
add r0, r3, #0x0
|
||||
add r6, r2, #0x0
|
||||
str r3, [sp, #0x8]
|
||||
eor r0, r1
|
||||
eor r6, r1
|
||||
str r0, [sp, #0x8]
|
||||
lsl r0, r6, #0x1
|
||||
str r0, [sp, #0x4]
|
||||
str r2, [sp, #0xc]
|
||||
ldr r1, [sp, #0x4]
|
||||
mov r0, #0x0
|
||||
str r6, [sp, #0xc]
|
||||
bl AllocFromHeapAtEnd
|
||||
add r7, r0, #0x0
|
||||
beq _0200A574
|
||||
ldr r0, [sp, #0x8]
|
||||
ldr r2, [sp, #0x4]
|
||||
add r0, r5, r0
|
||||
add r1, r7, #0x0
|
||||
bl MIi_CpuCopy16
|
||||
ldr r1, _0200A57C ; =0x00091BD3
|
||||
add r2, r4, #0x1
|
||||
mul r1, r2
|
||||
lsl r1, r1, #0x10
|
||||
lsr r2, r1, #0x10
|
||||
add r0, r7, #0x0
|
||||
sub r1, r6, #0x1
|
||||
cmp r6, #0x0
|
||||
beq _0200A556
|
||||
ldr r3, _0200A580 ; =0x0000493D
|
||||
_0200A540:
|
||||
ldrh r4, [r0, #0x0]
|
||||
eor r4, r2
|
||||
strh r4, [r0, #0x0]
|
||||
add r2, r2, r3
|
||||
lsl r2, r2, #0x10
|
||||
add r4, r1, #0x0
|
||||
add r0, r0, #0x2
|
||||
lsr r2, r2, #0x10
|
||||
sub r1, r1, #0x1
|
||||
cmp r4, #0x0
|
||||
bne _0200A540
|
||||
_0200A556:
|
||||
ldr r0, [sp, #0x0]
|
||||
add r1, r7, #0x0
|
||||
add r2, r6, #0x0
|
||||
bl FUN_02021E8C
|
||||
add r0, r7, #0x0
|
||||
bl FreeToHeap
|
||||
add sp, #0x10
|
||||
pop {r3-r7, pc}
|
||||
_0200A56A:
|
||||
bl ErrorHandling
|
||||
ldr r0, [sp, #0x0]
|
||||
bl FUN_02021A4C
|
||||
_0200A574:
|
||||
add sp, #0x10
|
||||
pop {r3-r7, pc}
|
||||
.balign 4
|
||||
_0200A578: .word 0x000002FD
|
||||
_0200A57C: .word 0x00091BD3
|
||||
_0200A580: .word 0x0000493D
|
||||
|
||||
thumb_func_start FUN_0200A584
|
||||
FUN_0200A584: ; 0x0200A584
|
||||
push {r3-r7, lr}
|
||||
sub sp, #0x10
|
||||
add r5, r0, #0x0
|
||||
ldrh r0, [r5, #0x0]
|
||||
add r4, r1, #0x0
|
||||
str r2, [sp, #0x0]
|
||||
cmp r4, r0
|
||||
bhs _0200A62C
|
||||
lsl r0, r4, #0x3
|
||||
add r0, r5, r0
|
||||
ldr r3, [r0, #0x4]
|
||||
ldr r2, [r0, #0x8]
|
||||
ldrh r1, [r5, #0x2]
|
||||
ldr r6, _0200A63C ; =0x000002FD
|
||||
add r0, r4, #0x1
|
||||
mul r6, r1
|
||||
add r1, r0, #0x0
|
||||
mul r1, r6
|
||||
lsl r0, r1, #0x10
|
||||
lsr r1, r0, #0x10
|
||||
lsl r0, r1, #0x10
|
||||
orr r1, r0
|
||||
add r0, r3, #0x0
|
||||
add r6, r2, #0x0
|
||||
str r3, [sp, #0x8]
|
||||
eor r0, r1
|
||||
eor r6, r1
|
||||
str r0, [sp, #0x8]
|
||||
lsl r0, r6, #0x1
|
||||
str r0, [sp, #0x4]
|
||||
str r2, [sp, #0xc]
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r1, [sp, #0x4]
|
||||
str r6, [sp, #0xc]
|
||||
bl AllocFromHeapAtEnd
|
||||
add r7, r0, #0x0
|
||||
beq _0200A626
|
||||
ldr r0, [sp, #0x8]
|
||||
ldr r2, [sp, #0x4]
|
||||
add r0, r5, r0
|
||||
add r1, r7, #0x0
|
||||
bl MIi_CpuCopy16
|
||||
ldr r1, _0200A640 ; =0x00091BD3
|
||||
add r2, r4, #0x1
|
||||
mul r1, r2
|
||||
lsl r1, r1, #0x10
|
||||
lsr r2, r1, #0x10
|
||||
add r0, r7, #0x0
|
||||
sub r1, r6, #0x1
|
||||
cmp r6, #0x0
|
||||
beq _0200A606
|
||||
ldr r3, _0200A644 ; =0x0000493D
|
||||
_0200A5F0:
|
||||
ldrh r4, [r0, #0x0]
|
||||
eor r4, r2
|
||||
strh r4, [r0, #0x0]
|
||||
add r2, r2, r3
|
||||
lsl r2, r2, #0x10
|
||||
add r4, r1, #0x0
|
||||
add r0, r0, #0x2
|
||||
lsr r2, r2, #0x10
|
||||
sub r1, r1, #0x1
|
||||
cmp r4, #0x0
|
||||
bne _0200A5F0
|
||||
_0200A606:
|
||||
ldr r1, [sp, #0x0]
|
||||
add r0, r6, #0x0
|
||||
bl FUN_020219F4
|
||||
add r4, r0, #0x0
|
||||
beq _0200A61A
|
||||
add r1, r7, #0x0
|
||||
add r2, r6, #0x0
|
||||
bl FUN_02021E8C
|
||||
_0200A61A:
|
||||
add r0, r7, #0x0
|
||||
bl FreeToHeap
|
||||
add sp, #0x10
|
||||
add r0, r4, #0x0
|
||||
pop {r3-r7, pc}
|
||||
_0200A626:
|
||||
add sp, #0x10
|
||||
mov r0, #0x0
|
||||
pop {r3-r7, pc}
|
||||
_0200A62C:
|
||||
bl ErrorHandling
|
||||
ldr r1, [sp, #0x0]
|
||||
mov r0, #0x4
|
||||
bl FUN_020219F4
|
||||
add sp, #0x10
|
||||
pop {r3-r7, pc}
|
||||
.balign 4
|
||||
_0200A63C: .word 0x000002FD
|
||||
_0200A640: .word 0x00091BD3
|
||||
_0200A644: .word 0x0000493D
|
||||
|
||||
thumb_func_start FUN_0200A648
|
||||
FUN_0200A648: ; 0x0200A648
|
||||
push {r3-r7, lr}
|
||||
add r7, r3, #0x0
|
||||
add r5, r1, #0x0
|
||||
add r1, r7, #0x0
|
||||
add r4, r2, #0x0
|
||||
bl NARC_ctor
|
||||
add r6, r0, #0x0
|
||||
beq _0200A66E
|
||||
ldr r1, [sp, #0x18]
|
||||
add r2, r4, #0x0
|
||||
str r1, [sp, #0x0]
|
||||
add r1, r5, #0x0
|
||||
add r3, r7, #0x0
|
||||
bl FUN_0200A670
|
||||
add r0, r6, #0x0
|
||||
bl NARC_dtor
|
||||
_0200A66E:
|
||||
pop {r3-r7, pc}
|
||||
|
||||
thumb_func_start FUN_0200A670
|
||||
FUN_0200A670: ; 0x0200A670
|
||||
push {r4-r7, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r2, #0x0
|
||||
add r2, sp, #0x10
|
||||
add r4, r3, #0x0
|
||||
str r2, [sp, #0x0]
|
||||
mov r2, #0x0
|
||||
mov r3, #0x4
|
||||
add r7, r0, #0x0
|
||||
str r1, [sp, #0x4]
|
||||
bl NARC_ReadFromMember
|
||||
add r0, sp, #0x8
|
||||
ldrh r0, [r0, #0x8]
|
||||
cmp r5, r0
|
||||
bhs _0200A71E
|
||||
add r0, sp, #0x8
|
||||
lsl r2, r5, #0x3
|
||||
str r0, [sp, #0x0]
|
||||
ldr r1, [sp, #0x4]
|
||||
add r0, r7, #0x0
|
||||
add r2, r2, #0x4
|
||||
mov r3, #0x8
|
||||
bl NARC_ReadFromMember
|
||||
add r0, sp, #0x8
|
||||
ldrh r2, [r0, #0xa]
|
||||
ldr r0, _0200A72C ; =0x000002FD
|
||||
add r1, r5, #0x1
|
||||
mul r0, r2
|
||||
mul r0, r1
|
||||
lsl r0, r0, #0x10
|
||||
lsr r1, r0, #0x10
|
||||
lsl r0, r1, #0x10
|
||||
orr r1, r0
|
||||
ldr r0, [sp, #0x8]
|
||||
eor r0, r1
|
||||
str r0, [sp, #0x8]
|
||||
ldr r0, [sp, #0xc]
|
||||
eor r0, r1
|
||||
lsl r6, r0, #0x1
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r4, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl AllocFromHeapAtEnd
|
||||
add r4, r0, #0x0
|
||||
beq _0200A728
|
||||
str r4, [sp, #0x0]
|
||||
ldr r1, [sp, #0x4]
|
||||
ldr r2, [sp, #0x8]
|
||||
add r0, r7, #0x0
|
||||
add r3, r6, #0x0
|
||||
bl NARC_ReadFromMember
|
||||
ldr r2, _0200A730 ; =0x00091BD3
|
||||
add r3, r5, #0x1
|
||||
mul r2, r3
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [sp, #0xc]
|
||||
lsr r3, r2, #0x10
|
||||
add r1, r4, #0x0
|
||||
sub r2, r0, #0x1
|
||||
cmp r0, #0x0
|
||||
beq _0200A70A
|
||||
ldr r0, _0200A734 ; =0x0000493D
|
||||
_0200A6F4:
|
||||
ldrh r5, [r1, #0x0]
|
||||
eor r5, r3
|
||||
strh r5, [r1, #0x0]
|
||||
add r3, r3, r0
|
||||
lsl r3, r3, #0x10
|
||||
add r5, r2, #0x0
|
||||
add r1, r1, #0x2
|
||||
lsr r3, r3, #0x10
|
||||
sub r2, r2, #0x1
|
||||
cmp r5, #0x0
|
||||
bne _0200A6F4
|
||||
_0200A70A:
|
||||
ldr r0, [sp, #0x28]
|
||||
ldr r2, [sp, #0xc]
|
||||
add r1, r4, #0x0
|
||||
bl FUN_02021E8C
|
||||
add r0, r4, #0x0
|
||||
bl FreeToHeap
|
||||
add sp, #0x14
|
||||
pop {r4-r7, pc}
|
||||
_0200A71E:
|
||||
bl ErrorHandling
|
||||
ldr r0, [sp, #0x28]
|
||||
bl FUN_02021A4C
|
||||
_0200A728:
|
||||
add sp, #0x14
|
||||
pop {r4-r7, pc}
|
||||
.balign 4
|
||||
_0200A72C: .word 0x000002FD
|
||||
_0200A730: .word 0x00091BD3
|
||||
_0200A734: .word 0x0000493D
|
||||
|
||||
thumb_func_start FUN_0200A738
|
||||
FUN_0200A738: ; 0x0200A738
|
||||
push {r3-r7, lr}
|
||||
add r6, r3, #0x0
|
||||
add r5, r1, #0x0
|
||||
add r1, r6, #0x0
|
||||
add r4, r2, #0x0
|
||||
bl NARC_ctor
|
||||
add r7, r0, #0x0
|
||||
beq _0200A75E
|
||||
add r1, r5, #0x0
|
||||
add r2, r4, #0x0
|
||||
add r3, r6, #0x0
|
||||
bl FUN_0200A76C
|
||||
add r4, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl NARC_dtor
|
||||
b _0200A768
|
||||
_0200A75E:
|
||||
mov r0, #0x4
|
||||
add r1, r6, #0x0
|
||||
bl FUN_020219F4
|
||||
add r4, r0, #0x0
|
||||
_0200A768:
|
||||
add r0, r4, #0x0
|
||||
pop {r3-r7, pc}
|
||||
|
||||
thumb_func_start FUN_0200A76C
|
||||
FUN_0200A76C: ; 0x0200A76C
|
||||
push {r3-r7, lr}
|
||||
sub sp, #0x18
|
||||
add r4, r2, #0x0
|
||||
add r2, sp, #0x14
|
||||
add r5, r3, #0x0
|
||||
str r2, [sp, #0x0]
|
||||
mov r2, #0x0
|
||||
mov r3, #0x4
|
||||
add r7, r0, #0x0
|
||||
str r1, [sp, #0x4]
|
||||
bl NARC_ReadFromMember
|
||||
add r0, sp, #0xc
|
||||
ldrh r0, [r0, #0x8]
|
||||
cmp r4, r0
|
||||
bhs _0200A82A
|
||||
add r0, sp, #0xc
|
||||
lsl r2, r4, #0x3
|
||||
str r0, [sp, #0x0]
|
||||
ldr r1, [sp, #0x4]
|
||||
add r0, r7, #0x0
|
||||
add r2, r2, #0x4
|
||||
mov r3, #0x8
|
||||
bl NARC_ReadFromMember
|
||||
add r0, sp, #0xc
|
||||
ldrh r2, [r0, #0xa]
|
||||
ldr r0, _0200A83C ; =0x000002FD
|
||||
add r1, r4, #0x1
|
||||
mul r0, r2
|
||||
mul r0, r1
|
||||
lsl r0, r0, #0x10
|
||||
lsr r1, r0, #0x10
|
||||
lsl r0, r1, #0x10
|
||||
orr r1, r0
|
||||
ldr r0, [sp, #0xc]
|
||||
eor r0, r1
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [sp, #0x10]
|
||||
eor r0, r1
|
||||
add r1, r5, #0x0
|
||||
str r0, [sp, #0x10]
|
||||
bl FUN_020219F4
|
||||
str r0, [sp, #0x8]
|
||||
cmp r0, #0x0
|
||||
beq _0200A824
|
||||
ldr r0, [sp, #0x10]
|
||||
lsl r6, r0, #0x1
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl AllocFromHeapAtEnd
|
||||
add r5, r0, #0x0
|
||||
beq _0200A824
|
||||
str r5, [sp, #0x0]
|
||||
ldr r1, [sp, #0x4]
|
||||
ldr r2, [sp, #0xc]
|
||||
add r0, r7, #0x0
|
||||
add r3, r6, #0x0
|
||||
bl NARC_ReadFromMember
|
||||
ldr r2, _0200A840 ; =0x00091BD3
|
||||
add r3, r4, #0x1
|
||||
mul r2, r3
|
||||
lsl r2, r2, #0x10
|
||||
ldr r0, [sp, #0x10]
|
||||
lsr r3, r2, #0x10
|
||||
add r1, r5, #0x0
|
||||
sub r2, r0, #0x1
|
||||
cmp r0, #0x0
|
||||
beq _0200A814
|
||||
ldr r0, _0200A844 ; =0x0000493D
|
||||
_0200A7FE:
|
||||
ldrh r4, [r1, #0x0]
|
||||
eor r4, r3
|
||||
strh r4, [r1, #0x0]
|
||||
add r3, r3, r0
|
||||
lsl r3, r3, #0x10
|
||||
add r4, r2, #0x0
|
||||
add r1, r1, #0x2
|
||||
lsr r3, r3, #0x10
|
||||
sub r2, r2, #0x1
|
||||
cmp r4, #0x0
|
||||
bne _0200A7FE
|
||||
_0200A814:
|
||||
ldr r0, [sp, #0x8]
|
||||
ldr r2, [sp, #0x10]
|
||||
add r1, r5, #0x0
|
||||
bl FUN_02021E8C
|
||||
add r0, r5, #0x0
|
||||
bl FreeToHeap
|
||||
_0200A824:
|
||||
ldr r0, [sp, #0x8]
|
||||
add sp, #0x18
|
||||
pop {r3-r7, pc}
|
||||
_0200A82A:
|
||||
bl ErrorHandling
|
||||
mov r0, #0x4
|
||||
add r1, r5, #0x0
|
||||
bl FUN_020219F4
|
||||
add sp, #0x18
|
||||
pop {r3-r7, pc}
|
||||
nop
|
||||
_0200A83C: .word 0x000002FD
|
||||
_0200A840: .word 0x00091BD3
|
||||
_0200A844: .word 0x0000493D
|
||||
|
||||
thumb_func_start FUN_0200A848
|
||||
FUN_0200A848: ; 0x0200A848
|
||||
ldrh r0, [r0, #0x0]
|
||||
bx lr
|
||||
|
||||
thumb_func_start FUN_0200A84C
|
||||
FUN_0200A84C: ; 0x0200A84C
|
||||
push {r3, lr}
|
||||
sub sp, #0x8
|
||||
add r3, r0, #0x0
|
||||
mov r0, #0x4
|
||||
add r2, r1, #0x0
|
||||
str r0, [sp, #0x0]
|
||||
add r1, r3, #0x0
|
||||
add r0, sp, #0x4
|
||||
mov r3, #0x0
|
||||
bl ReadFromNarcMemberByIdPair
|
||||
add r0, sp, #0x4
|
||||
ldrh r0, [r0, #0x0]
|
||||
add sp, #0x8
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
|
||||
; struct MsgData
|
||||
; {
|
||||
; u16 unk0;
|
||||
; u16 unk2;
|
||||
; u16 unk4;
|
||||
; u16 unk6;
|
||||
; union {
|
||||
; u16 * raw;
|
||||
; NARC * narc;
|
||||
; } data;
|
||||
; };
|
||||
|
||||
thumb_func_start NewMsgDataFromNarc
|
||||
NewMsgDataFromNarc: ; 0x0200A86C
|
||||
; r0: msg data type
|
||||
; r1: NARC ID
|
||||
; r2: File ID
|
||||
; r3: heap_id
|
||||
push {r3-r7, lr}
|
||||
add r5, r0, #0x0
|
||||
add r6, r1, #0x0
|
||||
add r0, r3, #0x0
|
||||
mov r1, #0xc
|
||||
add r7, r2, #0x0
|
||||
str r3, [sp, #0x0]
|
||||
bl AllocFromHeapAtEnd
|
||||
add r4, r0, #0x0
|
||||
beq _0200A8B4
|
||||
cmp r5, #0x0
|
||||
bne _0200A8A0
|
||||
ldr r2, [sp, #0x0]
|
||||
add r0, r6, #0x0
|
||||
add r1, r7, #0x0
|
||||
bl LoadSingleElementFromNarc
|
||||
str r0, [r4, #0x8]
|
||||
cmp r0, #0x0
|
||||
bne _0200A8AA
|
||||
add r0, r4, #0x0
|
||||
bl FreeToHeap
|
||||
mov r0, #0x0
|
||||
pop {r3-r7, pc}
|
||||
_0200A8A0:
|
||||
ldr r1, [sp, #0x0]
|
||||
add r0, r6, #0x0
|
||||
bl NARC_ctor
|
||||
str r0, [r4, #0x8]
|
||||
_0200A8AA:
|
||||
strh r5, [r4, #0x0]
|
||||
strh r6, [r4, #0x4]
|
||||
ldr r0, [sp, #0x0]
|
||||
strh r7, [r4, #0x6]
|
||||
strh r0, [r4, #0x2]
|
||||
_0200A8B4:
|
||||
add r0, r4, #0x0
|
||||
pop {r3-r7, pc}
|
||||
|
||||
thumb_func_start DestroyMsgData
|
||||
DestroyMsgData: ; 0x0200A8B8
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
beq _0200A8DE
|
||||
ldrh r0, [r4, #0x0]
|
||||
cmp r0, #0x0
|
||||
beq _0200A8CA
|
||||
cmp r0, #0x1
|
||||
beq _0200A8D2
|
||||
b _0200A8D8
|
||||
_0200A8CA:
|
||||
ldr r0, [r4, #0x8]
|
||||
bl FreeMsgDataRawData
|
||||
b _0200A8D8
|
||||
_0200A8D2:
|
||||
ldr r0, [r4, #0x8]
|
||||
bl NARC_dtor
|
||||
_0200A8D8:
|
||||
add r0, r4, #0x0
|
||||
bl FreeToHeap
|
||||
_0200A8DE:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start FUN_0200A8E0
|
||||
FUN_0200A8E0: ; 0x0200A8E0
|
||||
push {r3-r4, lr}
|
||||
sub sp, #0x4
|
||||
add r4, r0, #0x0
|
||||
ldrh r0, [r4, #0x0]
|
||||
add r3, r1, #0x0
|
||||
cmp r0, #0x0
|
||||
beq _0200A8F6
|
||||
cmp r0, #0x1
|
||||
beq _0200A900
|
||||
add sp, #0x4
|
||||
pop {r3-r4, pc}
|
||||
_0200A8F6:
|
||||
ldr r0, [r4, #0x8]
|
||||
bl FUN_0200A4D4
|
||||
add sp, #0x4
|
||||
pop {r3-r4, pc}
|
||||
_0200A900:
|
||||
str r2, [sp, #0x0]
|
||||
add r2, r3, #0x0
|
||||
ldrh r1, [r4, #0x6]
|
||||
ldrh r3, [r4, #0x2]
|
||||
ldr r0, [r4, #0x8]
|
||||
bl FUN_0200A670
|
||||
add sp, #0x4
|
||||
pop {r3-r4, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_0200A914
|
||||
FUN_0200A914: ; 0x0200A914
|
||||
push {r3, lr}
|
||||
add r3, r0, #0x0
|
||||
ldrh r0, [r3, #0x0]
|
||||
add r2, r1, #0x0
|
||||
cmp r0, #0x0
|
||||
beq _0200A926
|
||||
cmp r0, #0x1
|
||||
beq _0200A930
|
||||
b _0200A93C
|
||||
_0200A926:
|
||||
ldrh r2, [r3, #0x2]
|
||||
ldr r0, [r3, #0x8]
|
||||
bl FUN_0200A584
|
||||
pop {r3, pc}
|
||||
_0200A930:
|
||||
ldr r0, [r3, #0x8]
|
||||
ldrh r1, [r3, #0x6]
|
||||
ldrh r3, [r3, #0x2]
|
||||
bl FUN_0200A76C
|
||||
pop {r3, pc}
|
||||
_0200A93C:
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_0200A940
|
||||
FUN_0200A940: ; 0x0200A940
|
||||
push {r3, lr}
|
||||
add r1, r0, #0x0
|
||||
ldrh r0, [r1, #0x0]
|
||||
cmp r0, #0x0
|
||||
beq _0200A950
|
||||
cmp r0, #0x1
|
||||
beq _0200A958
|
||||
b _0200A962
|
||||
_0200A950:
|
||||
ldr r0, [r1, #0x8]
|
||||
bl FUN_0200A848
|
||||
pop {r3, pc}
|
||||
_0200A958:
|
||||
ldrh r0, [r1, #0x4]
|
||||
ldrh r1, [r1, #0x6]
|
||||
bl FUN_0200A84C
|
||||
pop {r3, pc}
|
||||
_0200A962:
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start DecryptCopyString
|
||||
DecryptCopyString: ; 0x0200A968
|
||||
push {r3-r4, lr}
|
||||
sub sp, #0x4
|
||||
add r4, r0, #0x0
|
||||
ldrh r0, [r4, #0x0]
|
||||
add r3, r1, #0x0
|
||||
cmp r0, #0x0
|
||||
beq _0200A97E
|
||||
cmp r0, #0x1
|
||||
beq _0200A988
|
||||
add sp, #0x4
|
||||
pop {r3-r4, pc}
|
||||
_0200A97E:
|
||||
ldr r0, [r4, #0x8]
|
||||
bl DecryptMessageDirect
|
||||
add sp, #0x4
|
||||
pop {r3-r4, pc}
|
||||
_0200A988:
|
||||
str r2, [sp, #0x0]
|
||||
add r2, r3, #0x0
|
||||
ldrh r0, [r4, #0x4]
|
||||
ldrh r1, [r4, #0x6]
|
||||
ldrh r3, [r4, #0x2]
|
||||
bl DecryptMessageViaNewNarcHandle
|
||||
add sp, #0x4
|
||||
pop {r3-r4, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start GetSpeciesName
|
||||
GetSpeciesName: ; 0x0200A99C
|
||||
; r0: species
|
||||
; r1: heap_id
|
||||
; r2: dest
|
||||
push {r4-r6, lr}
|
||||
add r4, r2, #0x0
|
||||
add r5, r0, #0x0
|
||||
add r3, r1, #0x0
|
||||
ldr r2, _0200A9C0 ; =0x0000016A
|
||||
mov r0, #0x1
|
||||
mov r1, #0x1a ; NARC_MSGDATA_MSG
|
||||
bl NewMsgDataFromNarc
|
||||
add r6, r0, #0x0
|
||||
add r1, r5, #0x0
|
||||
add r2, r4, #0x0
|
||||
bl DecryptCopyString
|
||||
add r0, r6, #0x0
|
||||
bl DestroyMsgData
|
||||
pop {r4-r6, pc}
|
||||
.balign 4
|
||||
_0200A9C0: .word 0x0000016A
|
||||
|
||||
thumb_func_start FUN_0200A9C4
|
||||
FUN_0200A9C4: ; 0x0200A9C4
|
||||
push {r3-r7, lr}
|
||||
sub sp, #0x8
|
||||
add r7, r0, #0x0
|
||||
mov r0, #0x0
|
||||
str r0, [sp, #0x4]
|
||||
add r5, r1, #0x0
|
||||
mov r0, #0x1
|
||||
ldr r1, [sp, #0x4]
|
||||
lsl r0, r0, #0xa
|
||||
add r6, r2, #0x0
|
||||
str r3, [sp, #0x0]
|
||||
bl FUN_020219F4
|
||||
add r4, r0, #0x0
|
||||
beq _0200AA0E
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A914
|
||||
add r5, r0, #0x0
|
||||
beq _0200AA08
|
||||
add r0, r7, #0x0
|
||||
add r1, r4, #0x0
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
ldr r1, [sp, #0x0]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021ACC
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
_0200AA08:
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
_0200AA0E:
|
||||
ldr r0, [sp, #0x4]
|
||||
add sp, #0x8
|
||||
pop {r3-r7, pc}
|
||||
|
||||
thumb_func_start FUN_0200AA14
|
||||
FUN_0200AA14: ; 0x0200AA14
|
||||
push {r4-r6, lr}
|
||||
add r5, r1, #0x0
|
||||
mov r2, #0x93
|
||||
add r6, r0, #0x0
|
||||
mov r0, #0x1
|
||||
mov r1, #0x1a
|
||||
lsl r2, r2, #0x2
|
||||
add r3, r5, #0x0
|
||||
bl NewMsgDataFromNarc
|
||||
add r4, r0, #0x0
|
||||
beq _0200AA4C
|
||||
mov r0, #0x10
|
||||
add r1, r5, #0x0
|
||||
bl FUN_020219F4
|
||||
add r5, r0, #0x0
|
||||
beq _0200AA42
|
||||
add r0, r4, #0x0
|
||||
add r1, r6, #0x0
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200A8E0
|
||||
_0200AA42:
|
||||
add r0, r4, #0x0
|
||||
bl DestroyMsgData
|
||||
add r0, r5, #0x0
|
||||
pop {r4-r6, pc}
|
||||
_0200AA4C:
|
||||
mov r0, #0x0
|
||||
pop {r4-r6, pc}
|
||||
|
||||
thumb_func_start FUN_0200AA50
|
||||
FUN_0200AA50: ; 0x0200AA50
|
||||
push {r3-r5, lr}
|
||||
ldr r2, _0200AA7C ; =0x0000016A
|
||||
add r4, r0, #0x0
|
||||
add r3, r1, #0x0
|
||||
mov r0, #0x1
|
||||
mov r1, #0x1a
|
||||
bl NewMsgDataFromNarc
|
||||
add r5, r0, #0x0
|
||||
beq _0200AA76
|
||||
add r1, r4, #0x0
|
||||
bl FUN_0200A914
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl DestroyMsgData
|
||||
add r0, r4, #0x0
|
||||
pop {r3-r5, pc}
|
||||
_0200AA76:
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
nop
|
||||
_0200AA7C: .word 0x0000016A
|
||||
@@ -53,7 +53,7 @@ _0200AAAA:
|
||||
str r0, [r4, #0x4]
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r1, [sp, #0x4]
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0xc]
|
||||
cmp r0, #0x0
|
||||
beq _0200AB10
|
||||
@@ -72,7 +72,7 @@ _0200AAE0:
|
||||
bl FUN_0200AB6C
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r1, [sp, #0x4]
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
ldr r1, [r4, #0x8]
|
||||
add r1, r1, r5
|
||||
str r0, [r1, #0x4]
|
||||
@@ -120,7 +120,7 @@ _0200AB36:
|
||||
ldr r0, [r0, #0x4]
|
||||
cmp r0, #0x0
|
||||
beq _0200AB4E
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r5, #0x0]
|
||||
add r6, r6, #0x1
|
||||
add r4, #0x8
|
||||
@@ -133,7 +133,7 @@ _0200AB54:
|
||||
ldr r0, [r5, #0xc]
|
||||
cmp r0, #0x0
|
||||
beq _0200AB5E
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_0200AB5E:
|
||||
mov r0, #0x0
|
||||
str r0, [r5, #0x0]
|
||||
@@ -181,7 +181,7 @@ _0200ABA4:
|
||||
add r0, r1, r0
|
||||
ldr r0, [r0, #0x4]
|
||||
add r1, r7, #0x0
|
||||
bl FUN_02021A74
|
||||
bl StringCopy
|
||||
_0200ABB2:
|
||||
pop {r3-r7, pc}
|
||||
|
||||
@@ -251,13 +251,13 @@ FUN_0200AC0C: ; 0x0200AC0C
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x1
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
b _0200AC48
|
||||
_0200AC3E:
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
_0200AC48:
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
@@ -289,7 +289,7 @@ FUN_0200AC60: ; 0x0200AC60
|
||||
add r1, r0, #0x0
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
@@ -330,7 +330,7 @@ FUN_0200ACC0: ; 0x0200ACC0
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
add r7, r0, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -411,7 +411,7 @@ FUN_0200AD5C: ; 0x0200AD5C
|
||||
beq _0200AD90
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -439,7 +439,7 @@ FUN_0200AD94: ; 0x0200AD94
|
||||
beq _0200ADC8
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -467,7 +467,7 @@ FUN_0200ADCC: ; 0x0200ADCC
|
||||
beq _0200AE00
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -493,7 +493,7 @@ FUN_0200AE04: ; 0x0200AE04
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
add r7, r0, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -520,7 +520,7 @@ FUN_0200AE38: ; 0x0200AE38
|
||||
beq _0200AE6C
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -547,7 +547,7 @@ FUN_0200AE70: ; 0x0200AE70
|
||||
beq _0200AEA2
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -575,7 +575,7 @@ FUN_0200AEA8: ; 0x0200AEA8
|
||||
beq _0200AEDA
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -603,7 +603,7 @@ FUN_0200AEE0: ; 0x0200AEE0
|
||||
beq _0200AF12
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -631,7 +631,7 @@ FUN_0200AF18: ; 0x0200AF18
|
||||
beq _0200AF4A
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -659,7 +659,7 @@ FUN_0200AF50: ; 0x0200AF50
|
||||
beq _0200AF82
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -687,7 +687,7 @@ FUN_0200AF88: ; 0x0200AF88
|
||||
beq _0200AFBA
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -714,7 +714,7 @@ FUN_0200AFBC: ; 0x0200AFBC
|
||||
beq _0200AFF0
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -741,7 +741,7 @@ FUN_0200AFF4: ; 0x0200AFF4
|
||||
beq _0200B026
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -769,7 +769,7 @@ FUN_0200B02C: ; 0x0200B02C
|
||||
beq _0200B05E
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -798,7 +798,7 @@ FUN_0200B064: ; 0x0200B064
|
||||
beq _0200B098
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -825,7 +825,7 @@ FUN_0200B09C: ; 0x0200B09C
|
||||
beq _0200B0CE
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -854,7 +854,7 @@ FUN_0200B0D4: ; 0x0200B0D4
|
||||
beq _0200B108
|
||||
ldrb r1, [r4, #0x1]
|
||||
ldr r2, [r5, #0xc]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
@@ -881,7 +881,7 @@ FUN_0200B10C: ; 0x0200B10C
|
||||
beq _0200B13E
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -926,7 +926,7 @@ FUN_0200B164: ; 0x0200B164
|
||||
beq _0200B196
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -954,7 +954,7 @@ FUN_0200B19C: ; 0x0200B19C
|
||||
beq _0200B1CE
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -982,7 +982,7 @@ FUN_0200B1D4: ; 0x0200B1D4
|
||||
beq _0200B206
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1011,7 +1011,7 @@ FUN_0200B20C: ; 0x0200B20C
|
||||
beq _0200B240
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1038,7 +1038,7 @@ FUN_0200B244: ; 0x0200B244
|
||||
beq _0200B276
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1064,7 +1064,7 @@ FUN_0200B278: ; 0x0200B278
|
||||
beq _0200B2AA
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1090,7 +1090,7 @@ FUN_0200B2AC: ; 0x0200B2AC
|
||||
beq _0200B2DE
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1116,7 +1116,7 @@ FUN_0200B2E0: ; 0x0200B2E0
|
||||
beq _0200B312
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1144,7 +1144,7 @@ FUN_0200B318: ; 0x0200B318
|
||||
beq _0200B34A
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1172,7 +1172,7 @@ FUN_0200B350: ; 0x0200B350
|
||||
beq _0200B382
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1201,7 +1201,7 @@ FUN_0200B388: ; 0x0200B388
|
||||
beq _0200B3BC
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1233,16 +1233,16 @@ FUN_0200B3C0: ; 0x0200B3C0
|
||||
_0200B3E0:
|
||||
ldr r2, [r5, #0xc]
|
||||
mov r1, #0x44
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
b _0200B3FA
|
||||
_0200B3EA:
|
||||
ldr r2, [r5, #0xc]
|
||||
mov r1, #0x45
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
b _0200B3FA
|
||||
_0200B3F4:
|
||||
ldr r0, [r5, #0xc]
|
||||
bl FUN_02021A4C
|
||||
bl StringSetEmpty
|
||||
_0200B3FA:
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
@@ -1286,7 +1286,7 @@ FUN_0200B430: ; 0x0200B430
|
||||
beq _0200B462
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1314,7 +1314,7 @@ FUN_0200B468: ; 0x0200B468
|
||||
beq _0200B49A
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1343,7 +1343,7 @@ FUN_0200B4A0: ; 0x0200B4A0
|
||||
beq _0200B4D4
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1375,7 +1375,7 @@ FUN_0200B4D8: ; 0x0200B4D8
|
||||
beq _0200B516
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r4, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
@@ -1416,7 +1416,7 @@ FUN_0200B534: ; 0x0200B534
|
||||
beq _0200B566
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1442,7 +1442,7 @@ FUN_0200B568: ; 0x0200B568
|
||||
beq _0200B59A
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1474,13 +1474,13 @@ FUN_0200B59C: ; 0x0200B59C
|
||||
bl NewMsgDataFromNarc
|
||||
add r6, r0, #0x0
|
||||
beq _0200B61E
|
||||
bl FUN_0200A940
|
||||
bl MsgDataGetCount
|
||||
cmp r4, r0
|
||||
bhs _0200B5EE
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r6, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r7, #0x0
|
||||
@@ -1501,7 +1501,7 @@ _0200B5EE:
|
||||
beq _0200B61E
|
||||
ldr r2, [r5, #0xc]
|
||||
mov r1, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r7, #0x0
|
||||
@@ -1530,7 +1530,7 @@ FUN_0200B628: ; 0x0200B628
|
||||
beq _0200B65A
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1558,7 +1558,7 @@ FUN_0200B660: ; 0x0200B660
|
||||
beq _0200B692
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1586,7 +1586,7 @@ FUN_0200B698: ; 0x0200B698
|
||||
beq _0200B6CA
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1615,7 +1615,7 @@ FUN_0200B6D0: ; 0x0200B6D0
|
||||
beq _0200B704
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1646,7 +1646,7 @@ FUN_0200B708: ; 0x0200B708
|
||||
add r7, r0, #0x0
|
||||
mov r0, #0x40
|
||||
mov r1, #0x4
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r4, r0, #0x0
|
||||
ldr r2, [sp, #0x28]
|
||||
add r0, r6, #0x0
|
||||
@@ -1664,7 +1664,7 @@ FUN_0200B708: ; 0x0200B708
|
||||
str r7, [sp, #0x4]
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add sp, #0x14
|
||||
pop {r4-r7, pc}
|
||||
|
||||
@@ -1692,7 +1692,7 @@ _0200B788:
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r6, #0x0
|
||||
sub r1, r4, #0x1
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [r5, #0xc]
|
||||
add r0, r5, #0x0
|
||||
add r1, r7, #0x0
|
||||
@@ -1715,16 +1715,16 @@ FUN_0200B7A8: ; 0x0200B7A8
|
||||
.balign 4
|
||||
_0200B7B4: .word FUN_02021FF8
|
||||
|
||||
thumb_func_start FUN_0200B7B8
|
||||
FUN_0200B7B8: ; 0x0200B7B8
|
||||
thumb_func_start StringExpandPlaceholders
|
||||
StringExpandPlaceholders: ; 0x0200B7B8
|
||||
push {r3-r7, lr}
|
||||
add r7, r0, #0x0
|
||||
add r6, r1, #0x0
|
||||
add r0, r2, #0x0
|
||||
bl FUN_02021F2C
|
||||
bl String_c_str
|
||||
add r5, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A4C
|
||||
bl StringSetEmpty
|
||||
ldrh r1, [r5, #0x0]
|
||||
ldr r0, _0200B844 ; =0x0000FFFF
|
||||
cmp r1, r0
|
||||
@@ -1800,7 +1800,7 @@ _0200B85A:
|
||||
ldr r0, [r5, #0x8]
|
||||
add r0, r0, r4
|
||||
ldr r0, [r0, #0x4]
|
||||
bl FUN_02021A4C
|
||||
bl StringSetEmpty
|
||||
ldr r0, [r5, #0x0]
|
||||
add r6, r6, #0x1
|
||||
add r4, #0x8
|
||||
|
||||
@@ -2442,7 +2442,7 @@ FUN_02012880: ; 0x02012880
|
||||
beq _0201289E
|
||||
add r0, r6, #0x0
|
||||
add r1, r7, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r4, #0x0]
|
||||
str r5, [r4, #0x4]
|
||||
_0201289E:
|
||||
@@ -2460,7 +2460,7 @@ FUN_020128A0: ; 0x020128A0
|
||||
beq _020128BE
|
||||
ldr r1, [sp, #0x0]
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021ACC
|
||||
bl StringDup
|
||||
str r0, [r4, #0x0]
|
||||
str r5, [r4, #0x4]
|
||||
_020128BE:
|
||||
@@ -2537,7 +2537,7 @@ _0201292E:
|
||||
ldr r0, [r5, #0x0]
|
||||
cmp r0, #0x0
|
||||
beq _02012942
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
str r4, [r5, #0x0]
|
||||
add r5, #0x8
|
||||
ldr r0, [r5, #0x0]
|
||||
|
||||
@@ -1500,7 +1500,7 @@ FUN_02013690: ; 0x02013690
|
||||
add r1, r5, #0x0
|
||||
str r0, [r4, #0x0]
|
||||
mov r0, #0x4
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
ldr r1, _020136BC ; =UNK_020ED548
|
||||
str r0, [r4, #0x4]
|
||||
bl FUN_02021E28
|
||||
@@ -1523,7 +1523,7 @@ _020136CA:
|
||||
ldr r0, [r4, #0x4]
|
||||
cmp r0, #0x0
|
||||
beq _020136D8
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_020136D8:
|
||||
add r0, r4, #0x0
|
||||
bl FreeToHeap
|
||||
|
||||
@@ -167,7 +167,7 @@ _02013800:
|
||||
ldrh r2, [r2, #0x2]
|
||||
add r0, r6, #0x0
|
||||
add r1, r5, #0x0
|
||||
bl FUN_0200A9C4
|
||||
bl ReadMsgData_ExpandPlaceholders
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl DestroyMsgData
|
||||
@@ -191,7 +191,7 @@ FUN_02013840: ; 0x02013840
|
||||
ldr r1, _02013858 ; =UNK_020ED54C
|
||||
ldrh r1, [r1, r2]
|
||||
ldrh r2, [r4, #0x2]
|
||||
bl FUN_0200A738
|
||||
bl ReadMsgData_NewNarc_NewString
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
_02013858: .word UNK_020ED54C
|
||||
@@ -259,9 +259,9 @@ _020138BC:
|
||||
mov r0, #0x1a
|
||||
add r2, r4, #0x0
|
||||
mov r3, #0x0
|
||||
bl FUN_0200A738
|
||||
bl ReadMsgData_NewNarc_NewString
|
||||
str r0, [sp, #0x0]
|
||||
bl FUN_02021F2C
|
||||
bl String_c_str
|
||||
add r4, r0, #0x0
|
||||
ldrh r1, [r4, #0x0]
|
||||
ldr r0, _02013914 ; =0x0000FFFF
|
||||
@@ -291,7 +291,7 @@ _020138FE:
|
||||
bne _020138E2
|
||||
_02013904:
|
||||
ldr r0, [sp, #0x0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r5, #0x0
|
||||
pop {r3-r7, pc}
|
||||
nop
|
||||
|
||||
@@ -161,7 +161,7 @@ FUN_02013A30: ; 0x02013A30
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #0x4]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add sp, #0x8
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
@@ -187,12 +187,12 @@ FUN_02013A58: ; 0x02013A58
|
||||
ldr r1, [sp, #0x8]
|
||||
ldr r2, [sp, #0x4]
|
||||
mov r0, #0x1a
|
||||
bl FUN_0200A648
|
||||
bl ReadMsgData_NewNarc_ExistingString
|
||||
add sp, #0xc
|
||||
pop {r3-r4, pc}
|
||||
_02013A88:
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A4C
|
||||
bl StringSetEmpty
|
||||
add sp, #0xc
|
||||
pop {r3-r4, pc}
|
||||
nop
|
||||
@@ -344,7 +344,7 @@ _02013B8A:
|
||||
blo _02013B80
|
||||
cmp r4, #0x0
|
||||
beq _02013BC4
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r1, r4, #0x0
|
||||
bl _u32_div_f
|
||||
ldr r4, [r5, #0x4]
|
||||
|
||||
@@ -40,12 +40,12 @@ FUN_02014518: ; 0x02014518
|
||||
_0201453E:
|
||||
mov r0, #0x16
|
||||
add r1, r7, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r5, #0x4]
|
||||
ldr r0, [r6, #0x0]
|
||||
ldr r2, [r5, #0x4]
|
||||
add r1, r4, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r4, r4, #0x1
|
||||
add r5, r5, #0x4
|
||||
cmp r4, #0x1d
|
||||
@@ -64,7 +64,7 @@ FUN_02014564: ; 0x02014564
|
||||
add r5, #0x70
|
||||
_0201456E:
|
||||
ldr r0, [r5, #0x4]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
sub r5, r5, #0x4
|
||||
sub r4, r4, #0x1
|
||||
bpl _0201456E
|
||||
|
||||
@@ -2352,7 +2352,7 @@ FUN_02017C6C: ; 0x02017C6C
|
||||
add r0, sp, #0x4
|
||||
add r3, r2, #0x0
|
||||
str r1, [sp, #0x0]
|
||||
bl FUN_0201BB74
|
||||
bl MTX22_2DAffine
|
||||
mov r3, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -9036,7 +9036,7 @@ _0201ACEA:
|
||||
ldr r2, [r4, #0x7c]
|
||||
ldr r3, [r3, #0x0]
|
||||
add r0, sp, #0x38
|
||||
bl FUN_0201BB74
|
||||
bl MTX22_2DAffine
|
||||
ldr r0, [r4, #0x6c]
|
||||
add r2, r4, #0x0
|
||||
str r0, [sp, #0x0]
|
||||
@@ -9088,7 +9088,7 @@ _0201AD4E:
|
||||
ldr r2, [r2, #0x0]
|
||||
ldr r3, [r3, #0x0]
|
||||
add r0, sp, #0x28
|
||||
bl FUN_0201BB74
|
||||
bl MTX22_2DAffine
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x98
|
||||
ldr r0, [r0, #0x0]
|
||||
@@ -9180,7 +9180,7 @@ _0201AE04:
|
||||
ldr r2, [r4, r2]
|
||||
ldr r3, [r4, r3]
|
||||
add r0, sp, #0x18
|
||||
bl FUN_0201BB74
|
||||
bl MTX22_2DAffine
|
||||
mov r3, #0x47
|
||||
lsl r3, r3, #0x2
|
||||
ldr r0, [r4, r3]
|
||||
@@ -9235,7 +9235,7 @@ _0201AE72:
|
||||
ldr r2, [r4, r2]
|
||||
ldr r3, [r4, r3]
|
||||
add r0, sp, #0x8
|
||||
bl FUN_0201BB74
|
||||
bl MTX22_2DAffine
|
||||
mov r3, #0x52
|
||||
lsl r3, r3, #0x2
|
||||
ldr r0, [r4, r3]
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start FUN_0201B8B8
|
||||
FUN_0201B8B8: ; 0x0201B8B8
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
ldrh r1, [r4, #0x0]
|
||||
ldr r0, _0201B8DC ; =0x0000FFFE
|
||||
cmp r1, r0
|
||||
beq _0201B8C8
|
||||
bl ErrorHandling
|
||||
_0201B8C8:
|
||||
ldrh r1, [r4, #0x0]
|
||||
ldr r0, _0201B8DC ; =0x0000FFFE
|
||||
cmp r1, r0
|
||||
bne _0201B8D8
|
||||
ldrh r0, [r4, #0x4]
|
||||
add r1, r4, #0x6
|
||||
lsl r0, r0, #0x1
|
||||
add r4, r1, r0
|
||||
_0201B8D8:
|
||||
add r0, r4, #0x0
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
_0201B8DC: .word 0x0000FFFE
|
||||
|
||||
thumb_func_start FUN_0201B8E0
|
||||
FUN_0201B8E0: ; 0x0201B8E0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
ldrh r1, [r4, #0x0]
|
||||
ldr r0, _0201B8F4 ; =0x0000FFFE
|
||||
cmp r1, r0
|
||||
beq _0201B8F0
|
||||
bl ErrorHandling
|
||||
_0201B8F0:
|
||||
ldrh r0, [r4, #0x2]
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
_0201B8F4: .word 0x0000FFFE
|
||||
|
||||
thumb_func_start FUN_0201B8F8
|
||||
FUN_0201B8F8: ; 0x0201B8F8
|
||||
push {r3, lr}
|
||||
bl FUN_0201B8E0
|
||||
mov r1, #0xff
|
||||
lsl r1, r1, #0x8
|
||||
and r1, r0
|
||||
mov r0, #0x1
|
||||
lsl r0, r0, #0x8
|
||||
cmp r1, r0
|
||||
bne _0201B910
|
||||
mov r0, #0x1
|
||||
pop {r3, pc}
|
||||
_0201B910:
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_0201B914
|
||||
FUN_0201B914: ; 0x0201B914
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r4, r1, #0x0
|
||||
ldrh r1, [r5, #0x0]
|
||||
ldr r0, _0201B938 ; =0x0000FFFE
|
||||
cmp r1, r0
|
||||
beq _0201B926
|
||||
bl ErrorHandling
|
||||
_0201B926:
|
||||
ldrh r0, [r5, #0x4]
|
||||
cmp r4, r0
|
||||
blo _0201B930
|
||||
bl ErrorHandling
|
||||
_0201B930:
|
||||
lsl r0, r4, #0x1
|
||||
add r0, r5, r0
|
||||
ldrh r0, [r0, #0x6]
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
_0201B938: .word 0x0000FFFE
|
||||
@@ -345,7 +345,7 @@ _0201BEF4:
|
||||
ldmia r3!, {r0-r1}
|
||||
stmia r2!, {r0-r1}
|
||||
ldr r0, [r4, #0x0]
|
||||
bl FUN_02021F2C
|
||||
bl String_c_str
|
||||
str r0, [r4, #0x0]
|
||||
ldr r0, _0201BFD4 ; =UNK_021C570C
|
||||
str r5, [r4, #0x18]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.extern UNK_020EDF50
|
||||
.extern gSineTable
|
||||
.extern UNK_020FFA38
|
||||
|
||||
.text
|
||||
@@ -459,7 +459,7 @@ FUN_0201CB20: ; 0x0201CB20
|
||||
add r6, r1, #0x0
|
||||
add r5, r2, #0x0
|
||||
lsl r1, r6, #0x2
|
||||
ldr r2, _0201CB78 ; =UNK_020EDF50
|
||||
ldr r2, _0201CB78 ; =gSineTable
|
||||
add r6, #0x5a
|
||||
add r4, r3, #0x0
|
||||
lsl r3, r6, #0x2
|
||||
@@ -468,7 +468,7 @@ FUN_0201CB20: ; 0x0201CB20
|
||||
add r7, r0, #0x0
|
||||
bl MTX_RotX33_
|
||||
lsl r1, r5, #0x2
|
||||
ldr r3, _0201CB78 ; =UNK_020EDF50
|
||||
ldr r3, _0201CB78 ; =gSineTable
|
||||
add r5, #0x5a
|
||||
lsl r2, r5, #0x2
|
||||
ldr r1, [r3, r1]
|
||||
@@ -480,7 +480,7 @@ FUN_0201CB20: ; 0x0201CB20
|
||||
add r2, r7, #0x0
|
||||
bl MTX_Concat33
|
||||
lsl r1, r4, #0x2
|
||||
ldr r3, _0201CB78 ; =UNK_020EDF50
|
||||
ldr r3, _0201CB78 ; =gSineTable
|
||||
add r4, #0x5a
|
||||
lsl r2, r4, #0x2
|
||||
ldr r1, [r3, r1]
|
||||
@@ -494,7 +494,7 @@ FUN_0201CB20: ; 0x0201CB20
|
||||
add sp, #0x24
|
||||
pop {r4-r7, pc}
|
||||
.balign 4
|
||||
_0201CB78: .word UNK_020EDF50
|
||||
_0201CB78: .word gSineTable
|
||||
|
||||
thumb_func_start FUN_0201CB7C
|
||||
FUN_0201CB7C: ; 0x0201CB7C
|
||||
|
||||
@@ -128,8 +128,8 @@ _020219E8:
|
||||
_020219EC: .word 0x0000FFFF
|
||||
_020219F0: .word 0x00000203
|
||||
|
||||
thumb_func_start FUN_020219F4
|
||||
FUN_020219F4: ; 0x020219F4
|
||||
thumb_func_start String_ctor
|
||||
String_ctor: ; 0x020219F4
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
add r0, r1, #0x0
|
||||
@@ -151,8 +151,8 @@ _02021A14:
|
||||
_02021A18: .word 0xB6F8D2EC
|
||||
_02021A1C: .word 0x0000FFFF
|
||||
|
||||
thumb_func_start FUN_02021A20
|
||||
FUN_02021A20: ; 0x02021A20
|
||||
thumb_func_start String_dtor
|
||||
String_dtor: ; 0x02021A20
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
bne _02021A2A
|
||||
@@ -173,8 +173,8 @@ _02021A36:
|
||||
_02021A44: .word 0xB6F8D2EC
|
||||
_02021A48: .word 0xB6F8D2ED
|
||||
|
||||
thumb_func_start FUN_02021A4C
|
||||
FUN_02021A4C: ; 0x02021A4C
|
||||
thumb_func_start StringSetEmpty
|
||||
StringSetEmpty: ; 0x02021A4C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
bne _02021A56
|
||||
@@ -195,8 +195,8 @@ _02021A62:
|
||||
_02021A6C: .word 0xB6F8D2EC
|
||||
_02021A70: .word 0x0000FFFF
|
||||
|
||||
thumb_func_start FUN_02021A74
|
||||
FUN_02021A74: ; 0x02021A74
|
||||
thumb_func_start StringCopy
|
||||
StringCopy: ; 0x02021A74
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r4, r1, #0x0
|
||||
@@ -240,8 +240,8 @@ _02021AC0:
|
||||
nop
|
||||
_02021AC8: .word 0xB6F8D2EC
|
||||
|
||||
thumb_func_start FUN_02021ACC
|
||||
FUN_02021ACC: ; 0x02021ACC
|
||||
thumb_func_start StringDup
|
||||
StringDup: ; 0x02021ACC
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r4, r1, #0x0
|
||||
@@ -258,11 +258,11 @@ _02021AE6:
|
||||
ldrh r0, [r5, #0x2]
|
||||
add r1, r4, #0x0
|
||||
add r0, r0, #0x1
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r4, r0, #0x0
|
||||
beq _02021AFA
|
||||
add r1, r5, #0x0
|
||||
bl FUN_02021A74
|
||||
bl StringCopy
|
||||
_02021AFA:
|
||||
add r0, r4, #0x0
|
||||
pop {r3-r5, pc}
|
||||
@@ -312,7 +312,7 @@ _02021B48:
|
||||
str r0, [sp, #0x4]
|
||||
_02021B4C:
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A4C
|
||||
bl StringSetEmpty
|
||||
cmp r4, #0x0
|
||||
beq _02021B74
|
||||
mov r0, #0x0
|
||||
@@ -680,7 +680,7 @@ _02021DEC:
|
||||
blt _02021DDE
|
||||
_02021DF6:
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A4C
|
||||
bl StringSetEmpty
|
||||
ldrh r0, [r5, #0x2]
|
||||
cmp r4, r0
|
||||
bge _02021E20
|
||||
@@ -843,8 +843,8 @@ _02021F22:
|
||||
.balign 4
|
||||
_02021F28: .word 0xB6F8D2EC
|
||||
|
||||
thumb_func_start FUN_02021F2C
|
||||
FUN_02021F2C: ; 0x02021F2C
|
||||
thumb_func_start String_c_str
|
||||
String_c_str: ; 0x02021F2C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
bne _02021F36
|
||||
|
||||
@@ -109,7 +109,7 @@ FUN_0202395C: ; 0x0202395C
|
||||
_02023970:
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl StringCopy
|
||||
bl CopyU16StringArray
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
||||
@@ -144,7 +144,7 @@ FUN_020239A0: ; 0x020239A0
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x8
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
|
||||
@@ -61,7 +61,7 @@ FUN_02023AF4: ; 0x02023AF4
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x18
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r1, r5, #0x0
|
||||
add r4, r0, #0x0
|
||||
bl FUN_02021E28
|
||||
@@ -232,7 +232,7 @@ FUN_02023C04: ; 0x02023C04
|
||||
add r6, r0, #0x0
|
||||
add r1, r5, #0x0
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl DestroyMsgData
|
||||
pop {r4-r6, pc}
|
||||
|
||||
@@ -78,7 +78,7 @@ FUN_02025128: ; 0x02025128
|
||||
push {r3-r7, lr}
|
||||
sub sp, #0x8
|
||||
add r7, r0, #0x0
|
||||
bl FUN_02085258
|
||||
bl OpenNutsDataNarc
|
||||
str r0, [sp, #0x0]
|
||||
add r0, r7, #0x0
|
||||
mov r1, #0xc0
|
||||
@@ -90,18 +90,18 @@ _02025142:
|
||||
ldr r0, [sp, #0x0]
|
||||
add r1, r6, #0x0
|
||||
add r2, r7, #0x0
|
||||
bl FUN_02085264
|
||||
bl ReadNutDataFromNarc
|
||||
add r4, r0, #0x0
|
||||
mov r1, #0x3
|
||||
bl FUN_02085290
|
||||
bl GetNutAttr
|
||||
strb r0, [r5, #0x0]
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x4
|
||||
bl FUN_02085290
|
||||
bl GetNutAttr
|
||||
strb r0, [r5, #0x1]
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x2
|
||||
bl FUN_02085290
|
||||
bl GetNutAttr
|
||||
strb r0, [r5, #0x2]
|
||||
add r0, r4, #0x0
|
||||
bl FreeToHeap
|
||||
@@ -110,7 +110,7 @@ _02025142:
|
||||
cmp r6, #0x40
|
||||
blt _02025142
|
||||
ldr r0, [sp, #0x0]
|
||||
bl FUN_0208526C
|
||||
bl CloseNutsDataNarc
|
||||
ldr r0, [sp, #0x4]
|
||||
add sp, #0x8
|
||||
pop {r3-r7, pc}
|
||||
|
||||
@@ -100,7 +100,7 @@ FUN_020256DC: ; 0x020256DC
|
||||
add r1, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x8
|
||||
bl StringCopy
|
||||
bl CopyU16StringArray
|
||||
add r0, r6, #0x0
|
||||
bl FUN_020239CC
|
||||
strb r0, [r5, #0x4]
|
||||
|
||||
@@ -300,7 +300,7 @@ _02025B28:
|
||||
ldr r1, [r0, #0x0]
|
||||
ldr r0, [sp, #0x0]
|
||||
add r0, r1, r0
|
||||
bl rand_ALT
|
||||
bl PRandom
|
||||
add r1, r6, #0x0
|
||||
add r1, #0x94
|
||||
str r0, [r1, #0x0]
|
||||
|
||||
@@ -117,7 +117,7 @@ FUN_02027ED0: ; 0x02027ED0
|
||||
mov r6, #0x2
|
||||
mov r7, #0x5
|
||||
_02027EDC:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r1, r7, #0x0
|
||||
bl _s32_div_f
|
||||
lsl r0, r1, #0x18
|
||||
|
||||
@@ -76,7 +76,7 @@ _0202875C:
|
||||
bls _02028770
|
||||
_02028762:
|
||||
ldr r0, [r5, #0x28]
|
||||
bl rand_ALT
|
||||
bl PRandom
|
||||
add r4, r4, #0x1
|
||||
str r0, [r5, #0x28]
|
||||
cmp r4, r6
|
||||
@@ -108,7 +108,7 @@ FUN_02028788: ; 0x02028788
|
||||
add r0, r5, r4
|
||||
str r2, [r0, #0x24]
|
||||
add r0, r2, #0x0
|
||||
bl rand_ALT
|
||||
bl PRandom
|
||||
add r1, r5, r4
|
||||
str r0, [r1, #0x28]
|
||||
pop {r3-r5, pc}
|
||||
|
||||
@@ -907,7 +907,7 @@ FUN_0202A798: ; 0x0202A798
|
||||
lsr r1, r1, #0x1f
|
||||
add r1, #0x16
|
||||
add r2, #0x8
|
||||
bl DecryptCopyString
|
||||
bl ReadMsgDataIntoU16Array
|
||||
ldr r0, [sp, #0x0]
|
||||
bl DestroyMsgData
|
||||
b _0202A7FC
|
||||
|
||||
@@ -18,9 +18,9 @@ FUN_0202A92C: ; 0x0202A92C
|
||||
mov r1, #0x0
|
||||
lsl r2, r2, #0x2
|
||||
bl memset
|
||||
bl rand_MT
|
||||
bl MTRandom
|
||||
str r0, [r4, #0x0]
|
||||
bl rand_MT
|
||||
bl MTRandom
|
||||
str r0, [r4, #0x4]
|
||||
mov r1, #0x0
|
||||
add r3, r4, #0x0
|
||||
|
||||
@@ -62,7 +62,7 @@ _0202B07E:
|
||||
str r0, [sp, #0x10]
|
||||
mov r0, #0xb
|
||||
mov r1, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
mov r2, #0x5a
|
||||
add r6, r0, #0x0
|
||||
ldr r1, [sp, #0x14]
|
||||
@@ -206,7 +206,7 @@ _0202B1C6:
|
||||
str r2, [r0, r1]
|
||||
beq _0202B1DC
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_0202B1DC:
|
||||
add sp, #0x18
|
||||
pop {r3-r7, pc}
|
||||
|
||||
@@ -288,7 +288,7 @@ _0202BA38:
|
||||
ldr r0, [sp, #0x0]
|
||||
bl FreeToHeap
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [sp, #0x4]
|
||||
add sp, #0xc
|
||||
pop {r4-r7, pc}
|
||||
@@ -809,7 +809,7 @@ _0202BE14:
|
||||
str r0, [r1, #0x8]
|
||||
mov r0, #0x8
|
||||
add r1, r7, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
ldr r2, [r4, #0x0]
|
||||
mov r1, #0xc
|
||||
mul r1, r2
|
||||
@@ -844,7 +844,7 @@ _0202BE74:
|
||||
ldr r0, [r5, #0xc]
|
||||
cmp r0, #0x0
|
||||
beq _0202BE7E
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_0202BE7E:
|
||||
add r4, r4, #0x1
|
||||
add r5, #0xc
|
||||
|
||||
@@ -285,7 +285,7 @@ _02033AA6:
|
||||
add r1, r5, #0x0
|
||||
bl FUN_020283C0
|
||||
ldr r0, [sp, #0xc]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r6, #0x0
|
||||
bl FUN_020239CC
|
||||
add r3, r0, #0x0
|
||||
@@ -327,7 +327,7 @@ _02033AEC:
|
||||
_02033B22:
|
||||
ldr r1, [sp, #0x4]
|
||||
mov r0, #0x78
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [sp, #0x10]
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0202DFFC
|
||||
@@ -339,7 +339,7 @@ _02033B22:
|
||||
add r1, r5, #0x0
|
||||
bl FUN_02028404
|
||||
ldr r0, [sp, #0x10]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02023A28
|
||||
add r3, r0, #0x0
|
||||
|
||||
@@ -175,12 +175,12 @@ _02033FA4:
|
||||
mov r0, #0x6
|
||||
lsl r0, r0, #0x6
|
||||
add r1, r4, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r7, r0, #0x0
|
||||
mov r0, #0x6
|
||||
lsl r0, r0, #0x6
|
||||
add r1, r4, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [sp, #0x14]
|
||||
bl FUN_0201BD5C
|
||||
add r0, r4, #0x0
|
||||
@@ -216,11 +216,11 @@ _02033FA4:
|
||||
ldr r0, [sp, #0x10]
|
||||
ldr r2, [sp, #0x14]
|
||||
add r1, r5, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, [sp, #0x14]
|
||||
add r0, r4, #0x0
|
||||
add r1, r7, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
mov r1, #0x0
|
||||
str r1, [sp, #0x0]
|
||||
str r1, [sp, #0x4]
|
||||
@@ -230,7 +230,7 @@ _02033FA4:
|
||||
str r1, [sp, #0x8]
|
||||
bl FUN_0201BD84
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
bl FUN_0201E788
|
||||
mov r0, #0x0
|
||||
bl FUN_0200E394
|
||||
|
||||
@@ -123,7 +123,7 @@ FUN_02034188: ; 0x02034188
|
||||
mov r0, #0x6
|
||||
lsl r0, r0, #0x6
|
||||
add r1, r4, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r4, r0, #0x0
|
||||
bl FUN_0201BD5C
|
||||
ldr r0, [sp, #0x10]
|
||||
@@ -147,7 +147,7 @@ FUN_02034188: ; 0x02034188
|
||||
ldr r0, [sp, #0xc]
|
||||
mov r1, #0xf
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
mov r1, #0x0
|
||||
str r1, [sp, #0x0]
|
||||
str r1, [sp, #0x4]
|
||||
@@ -157,7 +157,7 @@ FUN_02034188: ; 0x02034188
|
||||
str r1, [sp, #0x8]
|
||||
bl FUN_0201BD84
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
bl FUN_0201E788
|
||||
mov r0, #0x0
|
||||
bl FUN_0200E394
|
||||
|
||||
@@ -651,7 +651,7 @@ _02035526:
|
||||
add r6, r0, #0x0
|
||||
mov r0, #0x8
|
||||
mov r1, #0xb
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r1, r4, r5
|
||||
add r1, #0x30
|
||||
ldrb r1, [r1, #0x0]
|
||||
@@ -660,7 +660,7 @@ _02035526:
|
||||
lsl r2, r1, #0x3
|
||||
ldr r1, _02035664 ; =UNK_020F2ACC
|
||||
ldr r1, [r1, r2]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x20]
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r0, [r0, #0xc]
|
||||
@@ -672,7 +672,7 @@ _02035526:
|
||||
ldr r2, [sp, #0x20]
|
||||
add r0, r6, #0x0
|
||||
add r1, r7, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r2, r4, r5
|
||||
add r2, #0x30
|
||||
ldrb r2, [r2, #0x0]
|
||||
@@ -680,9 +680,9 @@ _02035526:
|
||||
add r1, r7, #0x0
|
||||
bl FUN_020128A0
|
||||
ldr r0, [sp, #0x20]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r6, #0x0
|
||||
bl FUN_0200AB18
|
||||
b _020355A2
|
||||
@@ -970,11 +970,11 @@ _0203576C:
|
||||
cmp r6, #0x0
|
||||
bne _020357D0
|
||||
mov r1, #0x9
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
b _020357D6
|
||||
_020357D0:
|
||||
mov r1, #0xa
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
_020357D6:
|
||||
mov r1, #0x0
|
||||
add r7, r0, #0x0
|
||||
@@ -988,17 +988,17 @@ _020357D6:
|
||||
str r1, [sp, #0x8]
|
||||
bl FUN_0201BD84
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0xb
|
||||
bl FUN_0200AA80
|
||||
add r7, r0, #0x0
|
||||
mov r0, #0x20
|
||||
mov r1, #0xb
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [sp, #0x18]
|
||||
ldr r0, [sp, #0x1c]
|
||||
mov r1, #0xb
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x14]
|
||||
cmp r6, #0x0
|
||||
bne _02035834
|
||||
@@ -1030,7 +1030,7 @@ _0203584C:
|
||||
ldr r1, [sp, #0x18]
|
||||
ldr r2, [sp, #0x14]
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
mov r0, #0x10
|
||||
str r0, [sp, #0x0]
|
||||
mov r0, #0xff
|
||||
@@ -1043,9 +1043,9 @@ _0203584C:
|
||||
str r1, [sp, #0x8]
|
||||
bl FUN_0201BD84
|
||||
ldr r0, [sp, #0x18]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [sp, #0x14]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0200AB18
|
||||
ldr r0, [sp, #0x1c]
|
||||
|
||||
@@ -1828,7 +1828,7 @@ _020384F2:
|
||||
cmp r0, #0x5
|
||||
bne _02038514
|
||||
ldr r0, [r1, #0x18]
|
||||
bl FUN_02021F2C
|
||||
bl String_c_str
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [r6, #0xc]
|
||||
bl FUN_0202881C
|
||||
@@ -1857,7 +1857,7 @@ _0203852E:
|
||||
ldr r0, [r4, #0xc]
|
||||
bl FUN_02077AC4
|
||||
ldr r0, [r4, #0x10]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
bl FreeToHeap
|
||||
mov r0, #0x1
|
||||
@@ -1962,7 +1962,7 @@ FUN_020385CC: ; 0x020385CC
|
||||
str r0, [r4, #0xc]
|
||||
mov r0, #0xc
|
||||
mov r1, #0xb
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x10]
|
||||
cmp r6, #0x1
|
||||
beq _02038620
|
||||
@@ -2472,11 +2472,11 @@ FUN_02038A3C: ; 0x02038A3C
|
||||
str r1, [sp, #0x0]
|
||||
bl FUN_0202881C
|
||||
add r4, r0, #0x0
|
||||
bl getseed_LC
|
||||
bl GetLCRNGSeed
|
||||
str r0, [sp, #0x4]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020287A4
|
||||
bl seedr_LC
|
||||
bl SetLCRNGSeed
|
||||
ldr r0, _02038AAC ; =UNK_020F2BE8
|
||||
add r1, sp, #0x8
|
||||
mov r2, #0xc
|
||||
@@ -2491,7 +2491,7 @@ _02038A68:
|
||||
cmp r5, #0xc
|
||||
bhs _02038A92
|
||||
_02038A72:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r1, r7, #0x0
|
||||
bl _s32_div_f
|
||||
lsl r0, r1, #0x18
|
||||
@@ -2512,7 +2512,7 @@ _02038A92:
|
||||
cmp r4, #0xc
|
||||
blo _02038A68
|
||||
ldr r0, [sp, #0x4]
|
||||
bl seedr_LC
|
||||
bl SetLCRNGSeed
|
||||
ldr r0, [sp, #0x0]
|
||||
add r1, sp, #0x8
|
||||
ldrb r0, [r1, r0]
|
||||
|
||||
@@ -1006,12 +1006,12 @@ _02038D68:
|
||||
mov r0, #0x1
|
||||
lsl r0, r0, #0xa
|
||||
mov r1, #0xb
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x44]
|
||||
mov r0, #0x1
|
||||
lsl r0, r0, #0xa
|
||||
mov r1, #0xb
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x48]
|
||||
ldrb r0, [r4, #0x4]
|
||||
add r0, r0, #0x1
|
||||
@@ -1058,9 +1058,9 @@ _02038DD2:
|
||||
ldr r0, [r4, #0x40]
|
||||
bl FUN_0200AB18
|
||||
ldr r0, [r4, #0x44]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r4, #0x48]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x0
|
||||
str r0, [r4, #0x0]
|
||||
add r0, r4, #0x0
|
||||
|
||||
@@ -200,7 +200,7 @@ FUN_02047814: ; 0x02047814
|
||||
str r0, [sp, #0x18]
|
||||
mov r0, #0x8
|
||||
add r1, r6, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r7, r0, #0x0
|
||||
ldr r0, [sp, #0x10]
|
||||
bl FUN_020239CC
|
||||
@@ -209,16 +209,16 @@ FUN_02047814: ; 0x02047814
|
||||
eor r1, r2
|
||||
ldr r0, [sp, #0x18]
|
||||
add r2, r7, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021F2C
|
||||
bl String_c_str
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0xf8
|
||||
ldr r0, [r0, #0x0]
|
||||
bl FUN_0202395C
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [sp, #0x18]
|
||||
bl DestroyMsgData
|
||||
ldr r0, [sp, #0x10]
|
||||
@@ -967,7 +967,7 @@ _02047E2C:
|
||||
add r1, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x3c
|
||||
bl StringCopy
|
||||
bl CopyU16StringArray
|
||||
add r3, r5, #0x0
|
||||
add r3, #0x28
|
||||
add r5, #0x90
|
||||
@@ -1244,7 +1244,7 @@ FUN_020480E4: ; 0x020480E4
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x3c
|
||||
bl StringCopy
|
||||
bl CopyU16StringArray
|
||||
add r3, r4, #0x0
|
||||
add r3, #0x28
|
||||
add r4, #0x90
|
||||
|
||||
@@ -253,12 +253,12 @@ FUN_020482F4: ; 0x020482F4
|
||||
lsl r0, r0, #0xa
|
||||
mov r1, #0xb
|
||||
add r7, r3, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r6, r0, #0x0
|
||||
mov r0, #0x1
|
||||
lsl r0, r0, #0xa
|
||||
mov r1, #0xb
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r0, #0xc
|
||||
@@ -267,11 +267,11 @@ FUN_020482F4: ; 0x020482F4
|
||||
ldr r0, [r5, #0x1c]
|
||||
ldr r1, [sp, #0x10]
|
||||
add r2, r6, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, [r5, #0x20]
|
||||
add r1, r4, #0x0
|
||||
add r2, r6, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
mov r0, #0x0
|
||||
add r1, r4, #0x0
|
||||
add r2, r0, #0x0
|
||||
@@ -297,9 +297,9 @@ FUN_020482F4: ; 0x020482F4
|
||||
lsr r3, r3, #0x18
|
||||
bl FUN_0201BDE0
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add sp, #0x14
|
||||
pop {r4-r7, pc}
|
||||
.balign 4
|
||||
|
||||
@@ -400,7 +400,7 @@ FUN_020487E4: ; 0x020487E4
|
||||
mov r1, #0xc7
|
||||
mov r2, #0xf
|
||||
mov r3, #0x20
|
||||
bl FUN_0200A738
|
||||
bl ReadMsgData_NewNarc_NewString
|
||||
str r0, [r4, #0x2c]
|
||||
add r1, r4, #0x0
|
||||
ldr r0, [r5, #0x8]
|
||||
@@ -442,7 +442,7 @@ FUN_02048848: ; 0x02048848
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [r4, #0x2c]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r4, #0x30]
|
||||
bl FUN_0200DBFC
|
||||
add r4, #0x1c
|
||||
@@ -478,14 +478,14 @@ FUN_02048864: ; 0x02048864
|
||||
add r1, r7, #0x0
|
||||
mov r2, #0x10
|
||||
mov r3, #0x4
|
||||
bl FUN_0200A9C4
|
||||
bl ReadMsgData_ExpandPlaceholders
|
||||
str r0, [r4, #0x2c]
|
||||
add r0, r6, #0x0
|
||||
bl FUN_0200AB18
|
||||
b _020488B4
|
||||
_020488AC:
|
||||
mov r1, #0x12
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r4, #0x2c]
|
||||
_020488B4:
|
||||
add r0, r7, #0x0
|
||||
@@ -510,7 +510,7 @@ FUN_020488D4: ; 0x020488D4
|
||||
ldr r0, [r4, #0x2c]
|
||||
cmp r0, #0x0
|
||||
beq _020488E4
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_020488E4:
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x1c
|
||||
|
||||
@@ -1989,7 +1989,7 @@ _02049884:
|
||||
bl NewMsgDataFromNarc
|
||||
add r6, r0, #0x0
|
||||
mov r1, #0x7c
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r4, #0x34]
|
||||
add r0, r6, #0x0
|
||||
bl DestroyMsgData
|
||||
@@ -2026,7 +2026,7 @@ _020498DC:
|
||||
cmp r0, #0x1
|
||||
bne _0204992C
|
||||
ldr r0, [r4, #0x34]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x0
|
||||
str r0, [sp, #0x0]
|
||||
mov r3, #0xb
|
||||
|
||||
@@ -260,7 +260,7 @@ _0204BBB8:
|
||||
FUN_0204BBC4: ; 0x0204BBC4
|
||||
push {r3-r5, lr}
|
||||
add r4, r0, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
ldr r1, _0204BBE4 ; =0x0000199A
|
||||
bl _s32_div_f
|
||||
lsl r0, r0, #0x10
|
||||
@@ -384,7 +384,7 @@ _0204BC94:
|
||||
mov r4, #0x0
|
||||
b _0204BCD8
|
||||
_0204BCA4:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r1, r6, #0x0
|
||||
add r1, #0x14
|
||||
add r4, r0, #0x0
|
||||
|
||||
@@ -6048,7 +6048,7 @@ _0204F96E:
|
||||
add r4, r0, #0x0
|
||||
mov r0, #0x14
|
||||
mov r1, #0xf
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r5, r0, #0x0
|
||||
cmp r4, #0x0
|
||||
bne _0204F988
|
||||
@@ -6065,7 +6065,7 @@ _0204F990:
|
||||
add r1, r4, #0x0
|
||||
bl FUN_020311D0
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
bl FreeToHeap
|
||||
pop {r3-r5, pc}
|
||||
@@ -6141,7 +6141,7 @@ _0204FA26:
|
||||
mov r2, #0x1
|
||||
bl FUN_02030BC4
|
||||
ldr r0, [sp, #0x0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, _0204FA54 ; =UNK_021C5A68
|
||||
mov r2, #0x1
|
||||
ldr r1, [r0, #0x0]
|
||||
|
||||
@@ -393,7 +393,7 @@ _02051136:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0x1
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r1, [r4, #0xc]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -546,7 +546,7 @@ _0205126A:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0xd
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r1, [r4, #0xc]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -729,7 +729,7 @@ _020513D4:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0x13
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r1, [r4, #0xc]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -787,11 +787,11 @@ _0205142C:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0xe
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, [r4, #0x28]
|
||||
ldr r1, [r4, #0x10]
|
||||
ldr r2, [r4, #0xc]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r1, [r4, #0x10]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -857,7 +857,7 @@ _020514BE:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0x14
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r1, [r4, #0xc]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -883,7 +883,7 @@ _02051508:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0x11
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r1, [r4, #0xc]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -942,7 +942,7 @@ _0205158C:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0xf
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r1, [r4, #0xc]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -966,11 +966,11 @@ _020515BA:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0x12
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, [r4, #0x28]
|
||||
ldr r1, [r4, #0x10]
|
||||
ldr r2, [r4, #0xc]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r1, [r4, #0x10]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -1003,7 +1003,7 @@ _02051614:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0x11
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r1, [r4, #0xc]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -1021,11 +1021,11 @@ _02051642:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0xe
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, [r4, #0x28]
|
||||
ldr r1, [r4, #0x10]
|
||||
ldr r2, [r4, #0xc]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r1, [r4, #0x10]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -1136,7 +1136,7 @@ _02051744:
|
||||
ldr r0, [r4, #0x2c]
|
||||
ldr r2, [r4, #0xc]
|
||||
mov r1, #0xf
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r1, [r4, #0xc]
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020517C0
|
||||
@@ -1317,11 +1317,11 @@ _0205188E:
|
||||
str r0, [r4, #0x2c]
|
||||
mov r0, #0xc8
|
||||
mov r1, #0xb
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0xc]
|
||||
mov r0, #0xc8
|
||||
mov r1, #0xb
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x10]
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x14
|
||||
@@ -1438,9 +1438,9 @@ _020519BA:
|
||||
ldr r0, [r4, #0x28]
|
||||
bl FUN_0200AB18
|
||||
ldr r0, [r4, #0xc]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r4, #0x10]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r4, #0x78]
|
||||
bl FUN_020136C0
|
||||
add r0, r4, #0x0
|
||||
@@ -1724,7 +1724,7 @@ _02051BD6:
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [sp, #0x18]
|
||||
ldr r2, [r5, #0xc]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
str r4, [sp, #0x0]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #0x4]
|
||||
@@ -1744,7 +1744,7 @@ _02051BD6:
|
||||
ldr r0, [r5, #0x2c]
|
||||
ldr r2, [r5, #0xc]
|
||||
mov r1, #0x15
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
lsl r0, r7, #0x4
|
||||
str r0, [sp, #0x0]
|
||||
mov r0, #0xff
|
||||
@@ -1845,7 +1845,7 @@ _02051CE0:
|
||||
ldr r0, [r5, #0x2c]
|
||||
ldr r2, [r5, #0xc]
|
||||
add r1, #0x16
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
str r4, [sp, #0x0]
|
||||
mov r0, #0xff
|
||||
str r0, [sp, #0x4]
|
||||
@@ -2134,17 +2134,17 @@ _02051EF2:
|
||||
str r0, [r4, #0x1c]
|
||||
mov r0, #0xc8
|
||||
mov r1, #0x4
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x0]
|
||||
mov r0, #0xc8
|
||||
mov r1, #0x4
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x4]
|
||||
ldrb r1, [r6, #0x3]
|
||||
ldr r0, [r4, #0x1c]
|
||||
ldr r2, [r4, #0x0]
|
||||
add r1, r1, #0x2
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, [r4, #0x24]
|
||||
bl FUN_0202DFA4
|
||||
add r2, r0, #0x0
|
||||
@@ -2154,7 +2154,7 @@ _02051EF2:
|
||||
ldr r0, [r4, #0x18]
|
||||
ldr r1, [r4, #0x4]
|
||||
ldr r2, [r4, #0x0]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r1, r4, #0x0
|
||||
ldr r0, [r5, #0x8]
|
||||
add r1, #0x8
|
||||
@@ -2196,9 +2196,9 @@ _02051F7C:
|
||||
ldr r0, [r4, #0x18]
|
||||
bl FUN_0200AB18
|
||||
ldr r0, [r4, #0x0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r4, #0x4]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x8
|
||||
mov r1, #0x0
|
||||
|
||||
@@ -1208,7 +1208,7 @@ _0205289C:
|
||||
ldr r0, [r0, r1]
|
||||
pop {r4-r6, pc}
|
||||
_020528A4:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
lsr r2, r0, #0x1f
|
||||
lsl r1, r0, #0x1f
|
||||
sub r1, r1, r2
|
||||
@@ -1222,7 +1222,7 @@ _020528A4:
|
||||
ldr r0, [r1, r0]
|
||||
pop {r4-r6, pc}
|
||||
_020528C0:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
lsr r2, r0, #0x1f
|
||||
lsl r1, r0, #0x1e
|
||||
sub r1, r1, r2
|
||||
@@ -1236,7 +1236,7 @@ _020528C0:
|
||||
ldr r0, [r1, r0]
|
||||
pop {r4-r6, pc}
|
||||
_020528DC:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
lsr r2, r0, #0x1f
|
||||
lsl r1, r0, #0x1f
|
||||
sub r1, r1, r2
|
||||
@@ -1250,7 +1250,7 @@ _020528DC:
|
||||
ldr r0, [r1, r0]
|
||||
pop {r4-r6, pc}
|
||||
_020528F8:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
lsr r2, r0, #0x1f
|
||||
lsl r1, r0, #0x1e
|
||||
sub r1, r1, r2
|
||||
@@ -1264,7 +1264,7 @@ _020528F8:
|
||||
ldr r0, [r1, r0]
|
||||
pop {r4-r6, pc}
|
||||
_02052914:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
lsr r2, r0, #0x1f
|
||||
lsl r1, r0, #0x1e
|
||||
sub r1, r1, r2
|
||||
@@ -1278,7 +1278,7 @@ _02052914:
|
||||
ldr r0, [r1, r0]
|
||||
pop {r4-r6, pc}
|
||||
_02052930:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
lsr r2, r0, #0x1f
|
||||
lsl r1, r0, #0x1e
|
||||
sub r1, r1, r2
|
||||
@@ -1878,7 +1878,7 @@ _02052DB8:
|
||||
mov r1, #0xd7
|
||||
_02052DBA:
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
mov r0, #0x1
|
||||
str r0, [sp, #0x0]
|
||||
|
||||
@@ -874,7 +874,7 @@ FUN_02053598: ; 0x02053598
|
||||
add r4, r0, #0x0
|
||||
mov r0, #0x8
|
||||
mov r1, #0x59
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x0]
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
@@ -917,12 +917,12 @@ FUN_020535E0: ; 0x020535E0
|
||||
ldr r0, [r4, #0x4]
|
||||
cmp r0, #0x0
|
||||
beq _020535F4
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_020535F4:
|
||||
ldr r0, [r4, #0x8]
|
||||
cmp r0, #0x0
|
||||
beq _020535FE
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_020535FE:
|
||||
pop {r4, pc}
|
||||
|
||||
|
||||
@@ -396,7 +396,7 @@ FUN_02054EA0: ; 0x02054EA0
|
||||
str r0, [sp, #0x8]
|
||||
ldrh r0, [r4, #0xe]
|
||||
ldr r5, [r4, #0x4]
|
||||
bl FUN_0201B93C
|
||||
bl Sin
|
||||
asr r1, r0, #0x1f
|
||||
asr r3, r5, #0x1f
|
||||
add r2, r5, #0x0
|
||||
@@ -412,7 +412,7 @@ FUN_02054EA0: ; 0x02054EA0
|
||||
str r1, [sp, #0x0]
|
||||
ldrh r0, [r4, #0xe]
|
||||
ldr r5, [r4, #0x8]
|
||||
bl FUN_0201B93C
|
||||
bl Sin
|
||||
asr r1, r0, #0x1f
|
||||
asr r3, r5, #0x1f
|
||||
add r2, r5, #0x0
|
||||
|
||||
@@ -1627,7 +1627,7 @@ FUN_0205AAB0: ; 0x0205AAB0
|
||||
push {r4-r6, lr}
|
||||
add r5, r0, #0x0
|
||||
add r4, r1, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
@@ -1646,7 +1646,7 @@ FUN_0205AAD4: ; 0x0205AAD4
|
||||
add r5, r1, #0x0
|
||||
bl FUN_0205AAFC
|
||||
add r4, r0, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r6, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r1, r5, #0x0
|
||||
|
||||
@@ -1385,7 +1385,7 @@ FUN_0205D8B8: ; 0x0205D8B8
|
||||
strh r0, [r4, #0x16]
|
||||
mov r0, #0x80
|
||||
mov r1, #0xb
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x10]
|
||||
ldr r0, [r5, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
@@ -1473,7 +1473,7 @@ _0205D984:
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02019178
|
||||
ldr r0, [r4, #0x10]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
bl FreeToHeap
|
||||
mov r0, #0x1
|
||||
@@ -1782,7 +1782,7 @@ FUN_0205DBF0: ; 0x0205DBF0
|
||||
strh r0, [r4, #0x16]
|
||||
mov r0, #0x80
|
||||
mov r1, #0xb
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x10]
|
||||
ldr r0, [r5, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
|
||||
@@ -108,7 +108,7 @@ _0205DDC2:
|
||||
mov r6, #0x0
|
||||
b _0205DDF2
|
||||
_0205DDCA:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r6, r0, #0x0
|
||||
ldr r0, _0205DED0 ; =0x0000FFFF
|
||||
add r1, r4, #0x0
|
||||
@@ -259,7 +259,7 @@ _0205DEE0:
|
||||
str r0, [r5, #0x2c]
|
||||
cmp r0, #0x0
|
||||
bne _0205DF24
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0x29
|
||||
lsl r1, r1, #0x4
|
||||
bl _s32_div_f
|
||||
@@ -806,7 +806,7 @@ _0205E2D6:
|
||||
bne _0205E2DC
|
||||
add r6, r7, #0x0
|
||||
_0205E2DC:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0x29
|
||||
lsl r1, r1, #0x4
|
||||
bl _s32_div_f
|
||||
@@ -979,7 +979,7 @@ _0205E430:
|
||||
mov r4, #0x0
|
||||
b _0205E46A
|
||||
_0205E43C:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r4, r0, #0x0
|
||||
lsl r1, r5, #0x10
|
||||
ldr r0, _0205E47C ; =0x0000FFFF
|
||||
|
||||
@@ -434,9 +434,9 @@ _0205F5F8: .word 0x0000403D
|
||||
FUN_0205F5FC: ; 0x0205F5FC
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r4, r0, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r1, r0, #0x0
|
||||
lsl r1, r1, #0x10
|
||||
add r0, r5, #0x0
|
||||
@@ -489,7 +489,7 @@ FUN_0205F668: ; 0x0205F668
|
||||
push {r4, lr}
|
||||
bl FUN_020462AC
|
||||
add r4, r0, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0x62
|
||||
bl _s32_div_f
|
||||
add r1, r1, #0x2
|
||||
|
||||
@@ -88,7 +88,7 @@ _020603F6:
|
||||
bl FUN_0202AA74
|
||||
cmp r0, #0x0
|
||||
beq _02060430
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
lsl r0, r0, #0x4
|
||||
lsr r6, r0, #0x10
|
||||
cmp r6, #0x10
|
||||
@@ -289,7 +289,7 @@ FUN_02060588: ; 0x02060588
|
||||
lsl r0, r0, #0x2
|
||||
ldr r4, [r7, r0]
|
||||
_0206059C:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
ldr r1, _020605D4 ; =0x000008D4
|
||||
bl _s32_div_f
|
||||
lsl r0, r0, #0x10
|
||||
@@ -361,7 +361,7 @@ _02060628:
|
||||
mov r6, #0x0
|
||||
b _02060658
|
||||
_02060630:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r6, r0, #0x0
|
||||
ldr r0, _02060684 ; =0x0000FFFF
|
||||
add r1, r5, #0x0
|
||||
|
||||
@@ -264,7 +264,7 @@ FUN_02060D90: ; 0x02060D90
|
||||
mov r0, #0x40
|
||||
mov r1, #0x4
|
||||
str r3, [sp, #0x8]
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r1, r7, #0x0
|
||||
add r4, r0, #0x0
|
||||
bl FUN_02021E28
|
||||
@@ -278,7 +278,7 @@ FUN_02060D90: ; 0x02060D90
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add sp, #0xc
|
||||
pop {r4-r7, pc}
|
||||
.balign 4
|
||||
@@ -318,7 +318,7 @@ FUN_02060E04: ; 0x02060E04
|
||||
mov r0, #0x40
|
||||
add r1, r3, #0x0
|
||||
add r6, r2, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r4, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x76
|
||||
@@ -329,7 +329,7 @@ FUN_02060E04: ; 0x02060E04
|
||||
mov r2, #0xb
|
||||
bl FUN_02021EF0
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
.balign 4
|
||||
|
||||
@@ -372,7 +372,7 @@ FUN_02060E70: ; 0x02060E70
|
||||
mov r1, #0x4
|
||||
add r2, sp, #0x8
|
||||
add r6, r3, #0x0
|
||||
bl GetSpeciesName
|
||||
bl GetSpeciesNameIntoArray
|
||||
add r0, sp, #0x20
|
||||
ldrb r0, [r0, #0x10]
|
||||
add r1, r4, #0x0
|
||||
@@ -396,7 +396,7 @@ FUN_02060EA0: ; 0x02060EA0
|
||||
add r0, r2, #0x0
|
||||
mov r1, #0x4
|
||||
add r2, sp, #0x8
|
||||
bl GetSpeciesName
|
||||
bl GetSpeciesNameIntoArray
|
||||
mov r0, #0x2
|
||||
str r0, [sp, #0x0]
|
||||
mov r0, #0x1
|
||||
@@ -427,7 +427,7 @@ FUN_02060ECC: ; 0x02060ECC
|
||||
beq _02060F0C
|
||||
mov r0, #0x40
|
||||
add r1, r6, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x76
|
||||
@@ -438,7 +438,7 @@ FUN_02060ECC: ; 0x02060ECC
|
||||
mov r2, #0xb
|
||||
bl FUN_02021EF0
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_02060F0C:
|
||||
pop {r3-r7, pc}
|
||||
.balign 4
|
||||
@@ -944,7 +944,7 @@ FUN_020612AC: ; 0x020612AC
|
||||
add r1, r0, #0x0
|
||||
add r0, sp, #0x0
|
||||
mov r2, #0xb
|
||||
bl StringCopyN
|
||||
bl CopyU16StringArrayN
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x2
|
||||
add r2, r4, #0x0
|
||||
@@ -1200,7 +1200,7 @@ FUN_02061498: ; 0x02061498
|
||||
ldrb r3, [r4, #0x2]
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02060D90
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
ldr r1, _020614F8 ; =0x00003334
|
||||
bl _s32_div_f
|
||||
lsl r0, r0, #0x10
|
||||
@@ -1535,7 +1535,7 @@ FUN_02061750: ; 0x02061750
|
||||
sub r0, #0x95
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
bl FUN_020852E8
|
||||
bl GetNutName
|
||||
add r4, r0, #0x0
|
||||
mov r1, #0x1
|
||||
str r1, [sp, #0x0]
|
||||
@@ -1546,7 +1546,7 @@ FUN_02061750: ; 0x02061750
|
||||
mov r3, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x5
|
||||
add sp, #0x8
|
||||
pop {r4-r6, pc}
|
||||
@@ -1559,7 +1559,7 @@ FUN_02061798: ; 0x02061798
|
||||
add r0, sp, #0x4
|
||||
add r4, r1, #0x0
|
||||
strb r2, [r0, #0x6]
|
||||
bl rand_MT
|
||||
bl MTRandom
|
||||
mov r1, #0x3
|
||||
bl _u32_div_f
|
||||
add r0, sp, #0x4
|
||||
@@ -1608,7 +1608,7 @@ FUN_020617D8: ; 0x020617D8
|
||||
ldrb r3, [r4, #0x2]
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02060E70
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
ldr r1, _02061830 ; =0x00005556
|
||||
bl _s32_div_f
|
||||
lsl r0, r0, #0x10
|
||||
@@ -2728,7 +2728,7 @@ FUN_020620A0: ; 0x020620A0
|
||||
_020620BE:
|
||||
cmp r4, #0x1
|
||||
ble _020620D0
|
||||
bl rand_MT
|
||||
bl MTRandom
|
||||
add r1, r4, #0x0
|
||||
bl _u32_div_f
|
||||
add r5, r1, #0x0
|
||||
@@ -2762,7 +2762,7 @@ _020620F8:
|
||||
beq _02062100
|
||||
bl ErrorHandling
|
||||
_02062100:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0xf1
|
||||
lsl r1, r1, #0x4
|
||||
bl _s32_div_f
|
||||
@@ -2821,7 +2821,7 @@ FUN_02062170: ; 0x02062170
|
||||
push {r3-r7, lr}
|
||||
add r6, r0, #0x0
|
||||
add r7, r1, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
ldr r1, _02062234 ; =0x00003334
|
||||
bl _s32_div_f
|
||||
lsl r0, r0, #0x10
|
||||
@@ -2865,7 +2865,7 @@ _020621BC: ; jump table (using 16-bit offset)
|
||||
.short _0206222C - _020621BC - 2; case 10
|
||||
.short _02062228 - _020621BC - 2; case 11
|
||||
_020621D4:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
lsl r0, r0, #0x2
|
||||
lsr r4, r0, #0x10
|
||||
cmp r4, #0x4
|
||||
@@ -3006,7 +3006,7 @@ _020622C0: .word UNK_020F78A6
|
||||
FUN_020622C4: ; 0x020622C4
|
||||
push {r4-r6, lr}
|
||||
add r6, r1, #0x0
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0xf1
|
||||
lsl r1, r1, #0x4
|
||||
bl _s32_div_f
|
||||
@@ -3020,7 +3020,7 @@ _020622E0:
|
||||
blt _020622E6
|
||||
add r5, r5, #0x1
|
||||
_020622E6:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0xf1
|
||||
lsl r1, r1, #0x4
|
||||
bl _s32_div_f
|
||||
@@ -3130,7 +3130,7 @@ _020623A4:
|
||||
mov r5, #0x0
|
||||
b _020623DE
|
||||
_020623B0:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r4, #0x10
|
||||
ldr r0, _020623F0 ; =0x0000FFFF
|
||||
@@ -3251,7 +3251,7 @@ _02062496:
|
||||
mov r5, #0x0
|
||||
b _020624C6
|
||||
_0206249E:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r5, r0, #0x0
|
||||
ldr r0, _02062504 ; =0x0000FFFF
|
||||
add r1, r4, #0x0
|
||||
@@ -3335,7 +3335,7 @@ FUN_0206252C: ; 0x0206252C
|
||||
add r4, r0, #0x0
|
||||
cmp r4, #0x1
|
||||
ble _02062552
|
||||
bl rand_MT
|
||||
bl MTRandom
|
||||
add r1, r4, #0x0
|
||||
bl _u32_div_f
|
||||
add r5, r1, #0x0
|
||||
@@ -3371,7 +3371,7 @@ _0206257A:
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x8
|
||||
mov r1, #0x4
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl FUN_0202763C
|
||||
@@ -3390,7 +3390,7 @@ _0206257A:
|
||||
add r3, r6, #0x0
|
||||
bl FUN_0200ABB4
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r5, #0x0
|
||||
bl FUN_0202769C
|
||||
add r2, r0, #0x0
|
||||
|
||||
@@ -930,23 +930,23 @@ FUN_02062C80: ; 0x02062C80
|
||||
str r0, [r5, #0x30]
|
||||
ldr r1, [r5, #0x0]
|
||||
mov r0, #0x4c
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r5, #0x34]
|
||||
ldr r0, [r5, #0x2c]
|
||||
mov r1, #0xd
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r5, #0x38]
|
||||
ldr r0, [r5, #0x2c]
|
||||
mov r1, #0x16
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r5, #0x3c]
|
||||
ldr r0, [r5, #0x2c]
|
||||
mov r1, #0x24
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r5, #0x40]
|
||||
ldr r0, [r5, #0x2c]
|
||||
mov r1, #0xe
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r5, #0x44]
|
||||
ldrb r0, [r5, #0x18]
|
||||
mov r4, #0x0
|
||||
@@ -957,13 +957,13 @@ _02062CDA:
|
||||
ldrb r1, [r5, #0x19]
|
||||
ldr r0, [r5, #0x2c]
|
||||
add r1, r1, r4
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r6, #0x64]
|
||||
ldrb r1, [r5, #0x19]
|
||||
ldr r0, [r5, #0x2c]
|
||||
add r1, #0x17
|
||||
add r1, r1, r4
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r6, #0x7c]
|
||||
ldrb r0, [r5, #0x18]
|
||||
add r4, r4, #0x1
|
||||
@@ -977,7 +977,7 @@ _02062D02:
|
||||
add r1, r4, #0x0
|
||||
ldr r0, [r5, #0x2c]
|
||||
add r1, #0xf
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r6, #0x48]
|
||||
add r4, r4, #0x1
|
||||
add r6, r6, #0x4
|
||||
@@ -989,7 +989,7 @@ _02062D1A:
|
||||
add r1, r4, #0x0
|
||||
ldr r0, [r5, #0x2c]
|
||||
add r1, #0x25
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r1, r6, #0x0
|
||||
add r1, #0x94
|
||||
add r4, r4, #0x1
|
||||
@@ -1011,7 +1011,7 @@ _02062D40:
|
||||
add r0, r5, #0x0
|
||||
add r0, #0x94
|
||||
ldr r0, [r0, #0x0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r4, r4, #0x1
|
||||
add r5, r5, #0x4
|
||||
cmp r4, #0x3
|
||||
@@ -1020,7 +1020,7 @@ _02062D40:
|
||||
add r4, r6, #0x0
|
||||
_02062D56:
|
||||
ldr r0, [r4, #0x48]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r5, r5, #0x1
|
||||
add r4, r4, #0x4
|
||||
cmp r5, #0x7
|
||||
@@ -1032,9 +1032,9 @@ _02062D56:
|
||||
add r4, r6, #0x0
|
||||
_02062D6E:
|
||||
ldr r0, [r4, #0x64]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r4, #0x7c]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldrb r0, [r6, #0x18]
|
||||
add r5, r5, #0x1
|
||||
add r4, r4, #0x4
|
||||
@@ -1042,15 +1042,15 @@ _02062D6E:
|
||||
blt _02062D6E
|
||||
_02062D84:
|
||||
ldr r0, [r6, #0x44]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r6, #0x40]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r6, #0x3c]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r6, #0x38]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r6, #0x34]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r6, #0x30]
|
||||
bl FUN_0200AB18
|
||||
ldr r0, [r6, #0x2c]
|
||||
@@ -1734,7 +1734,7 @@ _02063318:
|
||||
ldr r0, [r4, #0x30]
|
||||
ldr r1, [r4, #0x34]
|
||||
ldr r2, [r4, #0x44]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r0, [sp, #0x30]
|
||||
mov r1, #0x0
|
||||
str r0, [sp, #0x0]
|
||||
@@ -1764,7 +1764,7 @@ _02063318:
|
||||
lsl r2, r2, #0x2
|
||||
add r2, r4, r2
|
||||
ldr r2, [r2, #0xc]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
mov r0, #0x0
|
||||
ldr r1, [r4, #0x34]
|
||||
add r2, r0, #0x0
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
FUN_02064E4C: ; 0x02064E4C
|
||||
push {r4, lr}
|
||||
add r4, r2, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
mov r0, #0x0
|
||||
add r1, r4, #0x0
|
||||
add r2, r0, #0x0
|
||||
|
||||
@@ -356,7 +356,7 @@ FUN_02065178: ; 0x02065178
|
||||
add r0, #0x8
|
||||
mov r2, #0x8
|
||||
add r5, r3, #0x0
|
||||
bl StringCopyN
|
||||
bl CopyU16StringArrayN
|
||||
ldr r0, [sp, #0x10]
|
||||
str r5, [r4, #0x1c]
|
||||
str r0, [r4, #0x20]
|
||||
|
||||
@@ -1538,7 +1538,7 @@ FUN_02065FF8: ; 0x02065FF8
|
||||
ldr r0, [r0, #0x8]
|
||||
cmp r0, #0x0
|
||||
beq _0206600E
|
||||
bl FUN_02021A4C
|
||||
bl StringSetEmpty
|
||||
_0206600E:
|
||||
pop {r3, pc}
|
||||
|
||||
@@ -1554,7 +1554,7 @@ FUN_02066010: ; 0x02066010
|
||||
_0206601E:
|
||||
mov r0, #0x8
|
||||
add r1, r7, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
mov r1, #0xc
|
||||
mul r1, r4
|
||||
add r1, r5, r1
|
||||
@@ -1586,7 +1586,7 @@ _02066050:
|
||||
ldr r0, [r0, #0x8]
|
||||
cmp r0, #0x0
|
||||
beq _02066060
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_02066060:
|
||||
add r0, r4, #0x1
|
||||
lsl r0, r0, #0x18
|
||||
@@ -1868,21 +1868,21 @@ FUN_02066270: ; 0x02066270
|
||||
str r0, [r6, r1]
|
||||
ldr r1, [r6, #0x0]
|
||||
mov r0, #0x80
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
mov r1, #0x45
|
||||
lsl r1, r1, #0x2
|
||||
str r0, [r6, r1]
|
||||
sub r1, #0x8
|
||||
ldr r0, [r6, r1]
|
||||
mov r1, #0x4
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x46
|
||||
lsl r1, r1, #0x2
|
||||
str r0, [r6, r1]
|
||||
sub r1, #0xc
|
||||
ldr r0, [r6, r1]
|
||||
mov r1, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x47
|
||||
lsl r1, r1, #0x2
|
||||
str r0, [r6, r1]
|
||||
@@ -1894,7 +1894,7 @@ _020662CC:
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r6, r0]
|
||||
add r1, r4, #0x6
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [r5, r7]
|
||||
add r4, r4, #0x1
|
||||
add r5, r5, #0x4
|
||||
@@ -1912,7 +1912,7 @@ FUN_020662E4: ; 0x020662E4
|
||||
lsl r7, r7, #0x4
|
||||
_020662F0:
|
||||
ldr r0, [r5, r7]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r4, r4, #0x1
|
||||
add r5, r5, #0x4
|
||||
cmp r4, #0x6
|
||||
@@ -1920,15 +1920,15 @@ _020662F0:
|
||||
mov r0, #0x47
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r6, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x46
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r6, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x45
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r6, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x11
|
||||
lsl r0, r0, #0x4
|
||||
ldr r0, [r6, r0]
|
||||
@@ -2076,7 +2076,7 @@ _02066426:
|
||||
mov r0, #0x45
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_02021A4C
|
||||
bl StringSetEmpty
|
||||
mov r0, #0x1
|
||||
str r0, [sp, #0x0]
|
||||
mov r0, #0x2
|
||||
@@ -2101,7 +2101,7 @@ _02066426:
|
||||
add r2, #0x10
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r3, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
mov r0, #0x45
|
||||
lsl r0, r0, #0x2
|
||||
ldr r2, [r5, r0]
|
||||
|
||||
@@ -61,18 +61,18 @@ _0206AC08:
|
||||
bne _0206AC26
|
||||
ldr r1, [sp, #0xc]
|
||||
add r0, r5, #0x0
|
||||
bl StringCopy
|
||||
bl CopyU16StringArray
|
||||
b _0206AC3E
|
||||
_0206AC26:
|
||||
ldr r0, [sp, #0x10]
|
||||
ldr r1, [r4, #0x18]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
add r1, r5, #0x0
|
||||
mov r2, #0x8
|
||||
bl FUN_02021EF0
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_0206AC3E:
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r2, [sp, #0x4]
|
||||
@@ -269,7 +269,7 @@ _0206AD84:
|
||||
ldr r3, [sp, #0x8]
|
||||
mov r0, #0x1a
|
||||
lsr r2, r2, #0x2
|
||||
bl FUN_0200A648
|
||||
bl ReadMsgData_NewNarc_ExistingString
|
||||
b _0206ADC2
|
||||
_0206ADB6:
|
||||
ldrh r0, [r4, #0x0]
|
||||
@@ -286,7 +286,7 @@ _0206ADC2:
|
||||
cmp r0, r5
|
||||
bne _0206ADD6
|
||||
ldr r0, [sp, #0x4]
|
||||
bl FUN_02021A4C
|
||||
bl StringSetEmpty
|
||||
_0206ADD6:
|
||||
add sp, #0x18
|
||||
pop {r3-r7, pc}
|
||||
@@ -328,7 +328,7 @@ FUN_0206AE0C: ; 0x0206AE0C
|
||||
add r7, r1, #0x0
|
||||
add r4, r0, #0x0
|
||||
add r5, r2, #0x0
|
||||
bl getseed_LC
|
||||
bl GetLCRNGSeed
|
||||
lsl r6, r7, #0x2
|
||||
str r0, [sp, #0x44]
|
||||
add r0, r4, r6
|
||||
@@ -402,7 +402,7 @@ _0206AE96:
|
||||
add r0, r0, r2
|
||||
add r7, r1, r0
|
||||
add r0, r7, #0x0
|
||||
bl seedr_LC
|
||||
bl SetLCRNGSeed
|
||||
add r0, r4, r5
|
||||
add r0, #0x29
|
||||
ldrb r0, [r0, #0x0]
|
||||
@@ -410,7 +410,7 @@ _0206AE96:
|
||||
cmp r0, #0x0
|
||||
ble _0206AECE
|
||||
_0206AEBC:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r7, r0, #0x0
|
||||
add r0, r4, r5
|
||||
add r0, #0x29
|
||||
@@ -486,7 +486,7 @@ _0206AF3E:
|
||||
add r0, r0, r2
|
||||
add r7, r1, r0
|
||||
add r0, r7, #0x0
|
||||
bl seedr_LC
|
||||
bl SetLCRNGSeed
|
||||
add r0, r4, r5
|
||||
add r0, #0x29
|
||||
ldrb r0, [r0, #0x0]
|
||||
@@ -494,7 +494,7 @@ _0206AF3E:
|
||||
cmp r0, #0x0
|
||||
ble _0206AF76
|
||||
_0206AF64:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r7, r0, #0x0
|
||||
add r0, r4, r5
|
||||
add r0, #0x29
|
||||
@@ -579,7 +579,7 @@ _0206AFFC:
|
||||
add r0, r0, r2
|
||||
add r0, r1, r0
|
||||
str r0, [sp, #0x14]
|
||||
bl seedr_LC
|
||||
bl SetLCRNGSeed
|
||||
add r0, r4, r5
|
||||
add r0, #0x29
|
||||
ldrb r0, [r0, #0x0]
|
||||
@@ -587,7 +587,7 @@ _0206AFFC:
|
||||
cmp r0, #0x0
|
||||
ble _0206B030
|
||||
_0206B01E:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r4, r5
|
||||
add r0, #0x29
|
||||
@@ -663,7 +663,7 @@ _0206B0A2:
|
||||
add r0, r0, r2
|
||||
add r7, r1, r0
|
||||
add r0, r7, #0x0
|
||||
bl seedr_LC
|
||||
bl SetLCRNGSeed
|
||||
add r0, r4, r5
|
||||
add r0, #0x29
|
||||
ldrb r0, [r0, #0x0]
|
||||
@@ -671,7 +671,7 @@ _0206B0A2:
|
||||
cmp r0, #0x0
|
||||
ble _0206B0DA
|
||||
_0206B0C8:
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
add r7, r0, #0x0
|
||||
add r0, r4, r5
|
||||
add r0, #0x29
|
||||
@@ -744,6 +744,6 @@ _0206B156:
|
||||
ldr r0, [sp, #0x40]
|
||||
bl FreeToHeap
|
||||
ldr r0, [sp, #0x44]
|
||||
bl seedr_LC
|
||||
bl SetLCRNGSeed
|
||||
add sp, #0x50
|
||||
pop {r3-r7, pc}
|
||||
|
||||
@@ -73,7 +73,7 @@ _0206B1E0:
|
||||
add r0, r6, #0x0
|
||||
add r1, r5, #0x6
|
||||
add r2, r4, #0x0
|
||||
bl DecryptCopyString
|
||||
bl ReadMsgDataIntoU16Array
|
||||
add r5, r5, #0x1
|
||||
add r4, #0x28
|
||||
cmp r5, #0x12
|
||||
|
||||
@@ -993,7 +993,7 @@ FUN_0206C66C: ; 0x0206C66C
|
||||
bl FUN_0202398C
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl StringCopy
|
||||
bl CopyU16StringArray
|
||||
add r0, r6, #0x0
|
||||
bl FUN_020239BC
|
||||
str r0, [r4, #0x10]
|
||||
|
||||
@@ -182,7 +182,7 @@ FUN_0206C700: ; 0x0206C700
|
||||
mov r0, #0x5
|
||||
lsl r0, r0, #0x6
|
||||
add r1, r5, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x10]
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x30
|
||||
@@ -2663,12 +2663,12 @@ FUN_0206DD6C: ; 0x0206DD6C
|
||||
sub sp, #0xc
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [r4, #0x8]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
ldr r1, [r4, #0x10]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FreeToHeap
|
||||
ldr r0, [r4, #0x4]
|
||||
|
||||
@@ -194,7 +194,7 @@ FUN_0206E3F8: ; 0x0206E3F8
|
||||
bne _0206E428
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x63
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
b _0206E4FA
|
||||
_0206E428:
|
||||
@@ -204,7 +204,7 @@ _0206E428:
|
||||
bne _0206E454
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x61
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0206E3E8
|
||||
@@ -223,7 +223,7 @@ _0206E454:
|
||||
bne _0206E47E
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x5c
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0206E3A8
|
||||
@@ -242,7 +242,7 @@ _0206E47E:
|
||||
bne _0206E4C0
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x5d
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0206E3C8
|
||||
@@ -271,7 +271,7 @@ _0206E4C0:
|
||||
bne _0206E4EA
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x39
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl FUN_0206E39C
|
||||
@@ -295,9 +295,9 @@ _0206E4FA:
|
||||
ldr r1, [sp, #0x8]
|
||||
add r0, r4, #0x0
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
bl FUN_0200AB18
|
||||
add r0, r6, #0x0
|
||||
@@ -326,7 +326,7 @@ _0206E52E:
|
||||
add r4, r0, #0x0
|
||||
mov r1, #0x38
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r4, #0x0
|
||||
bl DestroyMsgData
|
||||
pop {r3-r7, pc}
|
||||
@@ -339,7 +339,7 @@ _0206E54C:
|
||||
add r4, r0, #0x0
|
||||
mov r1, #0x6f
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r4, #0x0
|
||||
bl DestroyMsgData
|
||||
pop {r3-r7, pc}
|
||||
@@ -355,7 +355,7 @@ _0206E56A:
|
||||
add r4, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
mov r1, #0x24
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
ldr r2, [sp, #0x0]
|
||||
add r0, r4, #0x0
|
||||
@@ -364,9 +364,9 @@ _0206E56A:
|
||||
add r0, r4, #0x0
|
||||
add r1, r5, #0x0
|
||||
add r2, r6, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
bl FUN_0200AB18
|
||||
add r0, r7, #0x0
|
||||
|
||||
@@ -723,21 +723,21 @@ _0206E72C:
|
||||
ldr r1, _0206E75C ; =UNK_020F85B4
|
||||
lsl r3, r3, #0x3
|
||||
ldrh r1, [r1, r3]
|
||||
mov r0, #0xf
|
||||
mov r0, #0xf ; NARC_ITEMTOOL_ITEMDATA_ITEM_DATA
|
||||
bl AllocAndReadWholeNarcMemberByIdPair
|
||||
pop {r3, pc}
|
||||
_0206E73A:
|
||||
ldr r1, _0206E760 ; =UNK_020F85B4 + 2
|
||||
lsl r3, r3, #0x3
|
||||
ldrh r1, [r1, r3]
|
||||
mov r0, #0x10
|
||||
mov r0, #0x10 ; NARC_ITEMTOOL_ITEMDATA_ITEM_ICON
|
||||
bl AllocAndReadWholeNarcMemberByIdPair
|
||||
pop {r3, pc}
|
||||
_0206E748:
|
||||
ldr r1, _0206E764 ; =UNK_020F85B4 + 4
|
||||
lsl r3, r3, #0x3
|
||||
ldrh r1, [r1, r3]
|
||||
mov r0, #0x10
|
||||
mov r0, #0x10 ; NARC_ITEMTOOL_ITEMDATA_ITEM_ICON
|
||||
bl AllocAndReadWholeNarcMemberByIdPair
|
||||
pop {r3, pc}
|
||||
_0206E756:
|
||||
@@ -756,13 +756,13 @@ FUN_0206E768: ; 0x0206E768
|
||||
add r5, r0, #0x0
|
||||
add r4, r1, #0x0
|
||||
mov r0, #0x1
|
||||
mov r1, #0x1a
|
||||
mov r1, #0x1a ; NARC_MSGDATA_MSG
|
||||
lsl r2, r2, #0x2
|
||||
bl NewMsgDataFromNarc
|
||||
add r6, r0, #0x0
|
||||
add r1, r4, #0x0
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl DestroyMsgData
|
||||
pop {r4-r6, pc}
|
||||
@@ -776,12 +776,12 @@ FUN_0206E790: ; 0x0206E790
|
||||
add r4, r1, #0x0
|
||||
ldr r2, _0206E7B4 ; =0x00000157
|
||||
mov r0, #0x1
|
||||
mov r1, #0x1a
|
||||
mov r1, #0x1a ; NARC_MSGDATA_MSG
|
||||
bl NewMsgDataFromNarc
|
||||
add r6, r0, #0x0
|
||||
add r1, r4, #0x0
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl DestroyMsgData
|
||||
pop {r4-r6, pc}
|
||||
@@ -1376,7 +1376,7 @@ FUN_0206EB50: ; 0x0206EB50
|
||||
mul r1, r0
|
||||
str r1, [sp, #0x0]
|
||||
mov r1, #0x0
|
||||
mov r0, #0xf
|
||||
mov r0, #0xf ; NARC_ITEMTOOL_ITEMDATA_ITEM_DATA
|
||||
add r2, r4, #0x0
|
||||
add r3, r1, #0x0
|
||||
bl AllocAndReadFromNarcMemberByIdPair
|
||||
|
||||
@@ -933,7 +933,7 @@ _0206FA4C:
|
||||
ldr r0, [r4, r1]
|
||||
ldr r2, [r4, r2]
|
||||
mov r1, #0x69
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
mov r0, #0x14
|
||||
pop {r4, pc}
|
||||
_0206FA78:
|
||||
@@ -979,23 +979,23 @@ FUN_0206FAA4: ; 0x0206FAA4
|
||||
lsl r7, r7, #0x8
|
||||
_0206FAD8:
|
||||
ldr r0, [r5, r7]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r4, r4, #0x1
|
||||
add r5, #0x2c
|
||||
cmp r4, #0x6
|
||||
blo _0206FAD8
|
||||
ldr r0, _0206FB40 ; =0x000006A4
|
||||
ldr r0, [r6, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, _0206FB44 ; =0x000006A8
|
||||
ldr r0, [r6, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r7, _0206FB48 ; =0x000006AC
|
||||
mov r5, #0x0
|
||||
add r4, r6, #0x0
|
||||
_0206FAFC:
|
||||
ldr r0, [r4, r7]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r5, r5, #0x1
|
||||
add r4, r4, #0x4
|
||||
cmp r5, #0x13
|
||||
@@ -1453,7 +1453,7 @@ _0206FEC2:
|
||||
_0206FEF6:
|
||||
mov r0, #0xb
|
||||
mov r1, #0xc
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r5, r7]
|
||||
add r4, r4, #0x1
|
||||
add r5, #0x2c
|
||||
@@ -1462,13 +1462,13 @@ _0206FEF6:
|
||||
mov r0, #0x1
|
||||
lsl r0, r0, #0x8
|
||||
mov r1, #0xc
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
ldr r1, _0206FF68 ; =0x000006A4
|
||||
str r0, [r6, r1]
|
||||
mov r0, #0x1
|
||||
lsl r0, r0, #0x8
|
||||
mov r1, #0xc
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
ldr r1, _0206FF6C ; =0x000006A8
|
||||
mov r5, #0x0
|
||||
str r0, [r6, r1]
|
||||
@@ -1477,7 +1477,7 @@ _0206FEF6:
|
||||
_0206FF2A:
|
||||
mov r0, #0x20
|
||||
mov r1, #0xc
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, r7]
|
||||
add r5, r5, #0x1
|
||||
add r4, r4, #0x4
|
||||
@@ -4381,7 +4381,7 @@ _02071630:
|
||||
ldr r0, _02071748 ; =0x0000069C
|
||||
mov r1, #0xb8
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
ldr r0, _02071738 ; =0x000005A4
|
||||
mov r1, #0x3
|
||||
@@ -4404,9 +4404,9 @@ _02071630:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -5038,7 +5038,7 @@ _02071B34:
|
||||
ldr r0, _02071C3C ; =0x0000069C
|
||||
mov r1, #0x40
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl FUN_020690E4
|
||||
@@ -5065,9 +5065,9 @@ _02071B34:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -5562,7 +5562,7 @@ _02071FA0:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0xc
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl FUN_020690E4
|
||||
add r2, r0, #0x0
|
||||
@@ -5586,7 +5586,7 @@ _02071FA0:
|
||||
add r2, #0x8
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
mov r4, #0xb
|
||||
b _02072054
|
||||
_02071FF2:
|
||||
@@ -5595,7 +5595,7 @@ _02071FF2:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0xc
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl FUN_020690E4
|
||||
add r2, r0, #0x0
|
||||
@@ -5623,7 +5623,7 @@ _02071FF2:
|
||||
add r2, #0x8
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
mov r4, #0x9
|
||||
b _02072054
|
||||
_02072044:
|
||||
@@ -5632,7 +5632,7 @@ _02072044:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0x8
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
mov r4, #0xb
|
||||
_02072054:
|
||||
add r0, r5, r7
|
||||
@@ -5838,7 +5838,7 @@ _020721B0:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0x8
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
b _02072282
|
||||
_0207220C:
|
||||
ldr r0, _020722A8 ; =0x000005A4
|
||||
@@ -5873,7 +5873,7 @@ _02072246:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0xc
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
ldr r0, [r5, r0]
|
||||
@@ -5893,7 +5893,7 @@ _02072246:
|
||||
add r2, #0x8
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
_02072282:
|
||||
mov r0, #0x89
|
||||
lsl r0, r0, #0x2
|
||||
@@ -5990,7 +5990,7 @@ FUN_0207230C: ; 0x0207230C
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0xc
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r7, #0x0
|
||||
bl FUN_020690E4
|
||||
add r2, r0, #0x0
|
||||
@@ -6014,7 +6014,7 @@ FUN_0207230C: ; 0x0207230C
|
||||
add r2, #0x8
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
b _020723D6
|
||||
_02072388:
|
||||
ldr r0, _02072410 ; =0x000005A4
|
||||
@@ -6030,7 +6030,7 @@ _02072388:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0xc
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
ldr r0, [r5, r0]
|
||||
@@ -6050,7 +6050,7 @@ _02072388:
|
||||
add r2, #0x8
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
_020723D6:
|
||||
mov r0, #0x89
|
||||
lsl r0, r0, #0x2
|
||||
|
||||
@@ -300,91 +300,91 @@ FUN_02072720: ; 0x02072720
|
||||
add r2, #0x10
|
||||
ldr r2, [r4, r2]
|
||||
mov r1, #0x91
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x92
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x14
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x93
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x18
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0xa0
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x1c
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0xa1
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x20
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x94
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x24
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x95
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x28
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x96
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x2c
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x97
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x30
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x98
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x34
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x99
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x38
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x9a
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x3c
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x9b
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x40
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0x9a
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x44
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _020727F8 ; =0x0000069C
|
||||
mov r1, #0xa6
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x48
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
_020727F8: .word 0x0000069C
|
||||
@@ -399,7 +399,7 @@ FUN_020727FC: ; 0x020727FC
|
||||
add r1, r4, #0x0
|
||||
ldr r0, [r5, r0]
|
||||
add r1, #0x9c
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -416,9 +416,9 @@ FUN_020727FC: ; 0x020727FC
|
||||
add r1, #0xc
|
||||
ldr r1, [r2, r1]
|
||||
add r2, r6, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r3-r7, pc}
|
||||
nop
|
||||
_02072840: .word 0x0000069C
|
||||
@@ -576,7 +576,7 @@ FUN_0207295C: ; 0x0207295C
|
||||
ldr r0, [r5, r0]
|
||||
ldr r2, [r5, r2]
|
||||
mov r1, #0x2a
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
pop {r4-r6, pc}
|
||||
_0207297E:
|
||||
ldr r1, _020729CC ; =0x00000B25
|
||||
@@ -587,7 +587,7 @@ _0207297E:
|
||||
ldr r0, _020729D0 ; =0x0000069C
|
||||
mov r1, #0x25
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl FUN_020690E4
|
||||
@@ -603,9 +603,9 @@ _0207297E:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
nop
|
||||
_020729C4: .word 0x000005A4
|
||||
@@ -648,7 +648,7 @@ FUN_02072A00: ; 0x02072A00
|
||||
lsl r2, r4, #0x3
|
||||
ldrh r1, [r1, r2]
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl FUN_020690E4
|
||||
@@ -667,9 +667,9 @@ FUN_02072A00: ; 0x02072A00
|
||||
add r2, #0x60
|
||||
ldr r1, [r1, r2]
|
||||
add r2, r6, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r3-r7, pc}
|
||||
nop
|
||||
_02072A4C: .word 0x0000069C
|
||||
@@ -727,7 +727,7 @@ _02072A9C:
|
||||
ldr r0, [r5, r0]
|
||||
ldr r2, [r5, r2]
|
||||
mov r1, #0x1b
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
mov r1, #0x0
|
||||
str r1, [sp, #0x0]
|
||||
mov r0, #0xff
|
||||
@@ -751,7 +751,7 @@ _02072ADC:
|
||||
ldr r0, [r5, r0]
|
||||
ldr r2, [r5, r2]
|
||||
mov r1, #0x1c
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
mov r1, #0x0
|
||||
str r1, [sp, #0x0]
|
||||
mov r0, #0xff
|
||||
@@ -1477,7 +1477,7 @@ FUN_02073094: ; 0x02073094
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0xc
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _02073150 ; =0x000001EB
|
||||
ldr r1, _02073154 ; =0x000006A8
|
||||
ldrb r2, [r5, r2]
|
||||
@@ -1511,7 +1511,7 @@ _020730FE:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0xc
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r2, _0207315C ; =0x000001FB
|
||||
ldr r1, _02073154 ; =0x000006A8
|
||||
ldrb r2, [r5, r2]
|
||||
@@ -1573,7 +1573,7 @@ _0207317A:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0x8
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
_02073198:
|
||||
mov r3, #0x0
|
||||
str r3, [sp, #0x0]
|
||||
@@ -1644,7 +1644,7 @@ _02073202:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0x8
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
_02073220:
|
||||
add r0, r5, #0x0
|
||||
bl FUN_0207322C
|
||||
@@ -1773,14 +1773,14 @@ _02073318:
|
||||
ldr r0, _0207335C ; =0x0000069C
|
||||
mov r1, #0xb2
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x10]
|
||||
b _02073332
|
||||
_02073326:
|
||||
ldr r0, _0207335C ; =0x0000069C
|
||||
mov r1, #0xb3
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x10]
|
||||
_02073332:
|
||||
mov r1, #0x0
|
||||
@@ -1795,7 +1795,7 @@ _02073332:
|
||||
str r1, [sp, #0xc]
|
||||
bl FUN_0201BDE0
|
||||
ldr r0, [sp, #0x10]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, r6
|
||||
bl FUN_02019220
|
||||
add sp, #0x14
|
||||
@@ -1829,21 +1829,21 @@ _0207338C:
|
||||
ldr r0, _020733DC ; =0x0000069C
|
||||
mov r1, #0xaf
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x10]
|
||||
b _020733B4
|
||||
_0207339A:
|
||||
ldr r0, _020733DC ; =0x0000069C
|
||||
mov r1, #0xb0
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x10]
|
||||
b _020733B4
|
||||
_020733A8:
|
||||
ldr r0, _020733DC ; =0x0000069C
|
||||
mov r1, #0xb1
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x10]
|
||||
_020733B4:
|
||||
mov r1, #0x0
|
||||
@@ -1858,7 +1858,7 @@ _020733B4:
|
||||
str r1, [sp, #0xc]
|
||||
bl FUN_0201BDE0
|
||||
ldr r0, [sp, #0x10]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, r7
|
||||
bl FUN_02019220
|
||||
add sp, #0x14
|
||||
@@ -1886,12 +1886,12 @@ FUN_020733E4: ; 0x020733E4
|
||||
bne _0207340E
|
||||
ldr r0, [r5, r0]
|
||||
mov r1, #0xb5
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
b _02073416
|
||||
_0207340E:
|
||||
ldr r0, [r5, r0]
|
||||
mov r1, #0xb4
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
_02073416:
|
||||
mov r1, #0x0
|
||||
add r5, r0, #0x0
|
||||
@@ -1906,7 +1906,7 @@ _02073416:
|
||||
str r1, [sp, #0xc]
|
||||
bl FUN_0201BDE0
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, r6
|
||||
bl FUN_02019220
|
||||
add sp, #0x10
|
||||
@@ -1935,7 +1935,7 @@ FUN_02073448: ; 0x02073448
|
||||
add r6, #0xa9
|
||||
ldr r0, [r5, r0]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
b _02073490
|
||||
_02073476:
|
||||
@@ -1943,13 +1943,13 @@ _02073476:
|
||||
bne _02073486
|
||||
ldr r0, [r5, r0]
|
||||
mov r1, #0xa7
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
b _02073490
|
||||
_02073486:
|
||||
ldr r0, [r5, r0]
|
||||
mov r1, #0xa8
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
_02073490:
|
||||
mov r1, #0x0
|
||||
@@ -1964,7 +1964,7 @@ _02073490:
|
||||
str r1, [sp, #0xc]
|
||||
bl FUN_0201BDE0
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, r7
|
||||
bl FUN_02019220
|
||||
add sp, #0x10
|
||||
@@ -2056,7 +2056,7 @@ _0207356C:
|
||||
ldr r1, [sp, #0x14]
|
||||
ldr r0, [r5, r0]
|
||||
add r1, #0xb9
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x18]
|
||||
mov r1, #0x0
|
||||
str r4, [sp, #0x0]
|
||||
@@ -2071,11 +2071,11 @@ _0207356C:
|
||||
add r3, r1, #0x0
|
||||
bl FUN_0201BD84
|
||||
ldr r0, [sp, #0x18]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, _02073630 ; =0x0000069C
|
||||
mov r1, #0xbf
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x1c]
|
||||
mov r0, #0x0
|
||||
str r0, [sp, #0x0]
|
||||
@@ -2097,9 +2097,9 @@ _0207356C:
|
||||
ldr r0, [r5, r0]
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [sp, #0x1c]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r0, [sp, #0x1c]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r1, _02073638 ; =0x000006A4
|
||||
mov r0, #0x0
|
||||
ldr r1, [r5, r1]
|
||||
@@ -2162,7 +2162,7 @@ FUN_0207363C: ; 0x0207363C
|
||||
ldr r0, _020736E8 ; =0x0000069C
|
||||
mov r1, #0xc0
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #0x0
|
||||
str r0, [sp, #0x10]
|
||||
@@ -2187,7 +2187,7 @@ _0207366E:
|
||||
ldr r0, [r5, r0]
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [sp, #0xc]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r1, _020736F0 ; =0x000006A4
|
||||
mov r0, #0x0
|
||||
ldr r1, [r5, r1]
|
||||
@@ -2216,7 +2216,7 @@ _0207366E:
|
||||
cmp r0, #0x6
|
||||
blo _0207366E
|
||||
ldr r0, [sp, #0xc]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x95
|
||||
lsl r0, r0, #0x2
|
||||
add r0, r5, r0
|
||||
|
||||
@@ -206,7 +206,7 @@ FUN_02073EEC: ; 0x02073EEC
|
||||
add r2, #0xc
|
||||
ldr r2, [r5, r2]
|
||||
mov r1, #0x51
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl FUN_020690E4
|
||||
add r2, r0, #0x0
|
||||
@@ -222,7 +222,7 @@ FUN_02073EEC: ; 0x02073EEC
|
||||
add r2, #0x8
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
b _02074018
|
||||
_02073F66:
|
||||
ldr r0, [r5, r0]
|
||||
@@ -252,7 +252,7 @@ _02073F66:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0xc
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl FUN_020690E4
|
||||
add r2, r0, #0x0
|
||||
@@ -280,7 +280,7 @@ _02073F66:
|
||||
add r2, #0x8
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r1, _0207404C ; =0x00000B25
|
||||
mov r2, #0x2c
|
||||
ldrb r3, [r5, r1]
|
||||
@@ -303,7 +303,7 @@ _0207400A:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0x8
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
_02074018:
|
||||
mov r0, #0x89
|
||||
lsl r0, r0, #0x2
|
||||
@@ -2394,7 +2394,7 @@ FUN_02075118: ; 0x02075118
|
||||
add r2, #0x8
|
||||
ldr r2, [r4, r2]
|
||||
mov r1, #0x81
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, _02075194 ; =0x00000B25
|
||||
ldrb r0, [r4, r0]
|
||||
add r0, #0x16
|
||||
@@ -2411,7 +2411,7 @@ _0207515C:
|
||||
add r2, #0x8
|
||||
ldr r2, [r4, r2]
|
||||
mov r1, #0x82
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, _02075194 ; =0x00000B25
|
||||
mov r1, #0x7
|
||||
strb r1, [r4, r0]
|
||||
|
||||
@@ -418,7 +418,7 @@ _0207586C:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x41
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -426,15 +426,15 @@ _0207586C:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075890:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x5b
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -442,15 +442,15 @@ _02075890:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_020758B4:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x43
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -458,15 +458,15 @@ _020758B4:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_020758D8:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x44
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -474,15 +474,15 @@ _020758D8:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_020758FC:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x42
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -490,15 +490,15 @@ _020758FC:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075920:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x49
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -506,15 +506,15 @@ _02075920:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075944:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x4a
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -522,15 +522,15 @@ _02075944:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075968:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x47
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -538,15 +538,15 @@ _02075968:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_0207598C:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x4b
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -560,15 +560,15 @@ _0207598C:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_020759BE:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x4b
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -582,15 +582,15 @@ _020759BE:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_020759F0:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x4b
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -604,15 +604,15 @@ _020759F0:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075A22:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x4b
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -626,15 +626,15 @@ _02075A22:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075A54:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x4b
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -648,15 +648,15 @@ _02075A54:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075A86:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
mov r1, #0x4b
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -670,16 +670,16 @@ _02075A86:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075AB8:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
add r5, #0x6e
|
||||
ldr r0, [r4, r0]
|
||||
add r1, r5, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -693,16 +693,16 @@ _02075AB8:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075AEC:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
add r5, #0x6e
|
||||
ldr r0, [r4, r0]
|
||||
add r1, r5, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -716,16 +716,16 @@ _02075AEC:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075B20:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
add r5, #0x6e
|
||||
ldr r0, [r4, r0]
|
||||
add r1, r5, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -739,16 +739,16 @@ _02075B20:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075B54:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
add r5, #0x6e
|
||||
ldr r0, [r4, r0]
|
||||
add r1, r5, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -762,9 +762,9 @@ _02075B54:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075B88:
|
||||
ldr r0, _02075B94 ; =0x0000069C
|
||||
@@ -777,7 +777,7 @@ _02075B98:
|
||||
add r5, #0x6e
|
||||
ldr r0, [r4, r0]
|
||||
add r1, r5, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -791,16 +791,16 @@ _02075B98:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075BCA:
|
||||
ldr r0, _02075C50 ; =0x0000069C
|
||||
add r5, #0x6e
|
||||
ldr r0, [r4, r0]
|
||||
add r1, r5, #0x0
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -814,15 +814,15 @@ _02075BCA:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075BFE:
|
||||
ldr r0, _02075C50 ; =0x0000069C
|
||||
mov r1, #0x48
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -836,9 +836,9 @@ _02075BFE:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r6, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4-r6, pc}
|
||||
_02075C30:
|
||||
ldr r2, _02075C50 ; =0x0000069C
|
||||
@@ -846,7 +846,7 @@ _02075C30:
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x8
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
pop {r4-r6, pc}
|
||||
_02075C40:
|
||||
ldr r2, _02075C50 ; =0x0000069C
|
||||
@@ -854,7 +854,7 @@ _02075C40:
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x8
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
pop {r4-r6, pc}
|
||||
.balign 4
|
||||
_02075C50: .word 0x0000069C
|
||||
@@ -1261,7 +1261,7 @@ FUN_02075F60: ; 0x02075F60
|
||||
sub r0, #0x6a
|
||||
ldr r0, [r5, r0]
|
||||
mov r1, #0x46
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r7, r0, #0x0
|
||||
b _02075FDA
|
||||
_02075FBC:
|
||||
@@ -1270,14 +1270,14 @@ _02075FBC:
|
||||
sub r0, #0x6a
|
||||
ldr r0, [r5, r0]
|
||||
mov r1, #0x47
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r7, r0, #0x0
|
||||
b _02075FDA
|
||||
_02075FCE:
|
||||
sub r0, #0x6a
|
||||
ldr r0, [r5, r0]
|
||||
mov r1, #0x40
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r7, r0, #0x0
|
||||
_02075FDA:
|
||||
ldr r0, [sp, #0x8]
|
||||
@@ -1311,9 +1311,9 @@ _02075FDA:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r7, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [sp, #0x8]
|
||||
bl FUN_0207C2D4
|
||||
add r4, r0, #0x0
|
||||
@@ -1528,7 +1528,7 @@ _020761C2:
|
||||
ldr r0, [r4, r2]
|
||||
add r2, #0x8
|
||||
ldr r2, [r4, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -1578,7 +1578,7 @@ _02076212:
|
||||
ldr r0, _020763E4 ; =0x0000069C
|
||||
mov r1, #0x46
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl FUN_020690E4
|
||||
@@ -1594,9 +1594,9 @@ _02076212:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r6, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r7, _020763E0 ; =0x00000B25
|
||||
ldr r3, _020763F4 ; =0x0000070E
|
||||
ldrb r5, [r4, r7]
|
||||
@@ -1869,7 +1869,7 @@ FUN_0207640C: ; 0x0207640C
|
||||
sub r1, #0x6c
|
||||
ldr r0, [r5, r1]
|
||||
mov r1, #0xc1
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r7, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl FUN_020690E4
|
||||
@@ -1901,9 +1901,9 @@ FUN_0207640C: ; 0x0207640C
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r7, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
bl FUN_0207C2D4
|
||||
add r4, r0, #0x0
|
||||
@@ -2101,7 +2101,7 @@ _020766BA:
|
||||
ldr r0, _02076880 ; =0x0000069C
|
||||
mov r1, #0x34
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2109,9 +2109,9 @@ _020766BA:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2148,7 +2148,7 @@ _02076724:
|
||||
ldr r0, _02076880 ; =0x0000069C
|
||||
mov r1, #0xc2
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2156,9 +2156,9 @@ _02076724:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2207,7 +2207,7 @@ _020767A4:
|
||||
ldr r0, _02076880 ; =0x0000069C
|
||||
mov r1, #0x3d
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r2, #0x6a
|
||||
lsl r2, r2, #0x4
|
||||
add r5, r0, #0x0
|
||||
@@ -2223,9 +2223,9 @@ _020767A4:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2345,7 +2345,7 @@ _020768E6:
|
||||
ldr r0, _02076948 ; =0x0000069C
|
||||
mov r1, #0x3c
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2353,9 +2353,9 @@ _020768E6:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2382,7 +2382,7 @@ FUN_02076950: ; 0x02076950
|
||||
ldr r0, _02076998 ; =0x0000069C
|
||||
mov r1, #0x3b
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r4, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2390,9 +2390,9 @@ FUN_02076950: ; 0x02076950
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2420,7 +2420,7 @@ FUN_020769A4: ; 0x020769A4
|
||||
ldr r0, _020769EC ; =0x0000069C
|
||||
mov r1, #0x37
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r4, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2428,9 +2428,9 @@ FUN_020769A4: ; 0x020769A4
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2460,7 +2460,7 @@ FUN_020769FC: ; 0x020769FC
|
||||
ldr r0, _02076A40 ; =0x0000069C
|
||||
mov r1, #0x3a
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r4, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2468,9 +2468,9 @@ FUN_020769FC: ; 0x020769FC
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2495,7 +2495,7 @@ FUN_02076A48: ; 0x02076A48
|
||||
ldr r0, _02076A90 ; =0x0000069C
|
||||
mov r1, #0x34
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r4, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2503,9 +2503,9 @@ FUN_02076A48: ; 0x02076A48
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2642,7 +2642,7 @@ _02076B68:
|
||||
ldr r0, _02076C80 ; =0x0000069C
|
||||
mov r1, #0x3d
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2650,9 +2650,9 @@ _02076B68:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2671,7 +2671,7 @@ _02076BB2:
|
||||
ldr r0, _02076C80 ; =0x0000069C
|
||||
mov r1, #0x3f
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2679,9 +2679,9 @@ _02076BB2:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2700,7 +2700,7 @@ _02076BF2:
|
||||
ldr r0, _02076C80 ; =0x0000069C
|
||||
mov r1, #0x34
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2708,9 +2708,9 @@ _02076BF2:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2730,7 +2730,7 @@ _02076C34:
|
||||
ldr r0, _02076C80 ; =0x0000069C
|
||||
mov r1, #0x3e
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2738,9 +2738,9 @@ _02076C34:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2813,7 +2813,7 @@ _02076CDC:
|
||||
ldr r0, _02076D34 ; =0x0000069C
|
||||
mov r1, #0x3c
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r5, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2821,9 +2821,9 @@ _02076CDC:
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r4, r1]
|
||||
add r2, r5, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r4, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2865,7 +2865,7 @@ FUN_02076D3C: ; 0x02076D3C
|
||||
ldr r0, _02076DCC ; =0x0000069C
|
||||
mov r1, #0x3d
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r2, #0x6a
|
||||
lsl r2, r2, #0x4
|
||||
add r4, r0, #0x0
|
||||
@@ -2881,9 +2881,9 @@ FUN_02076D3C: ; 0x02076D3C
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2916,7 +2916,7 @@ FUN_02076DD4: ; 0x02076DD4
|
||||
ldr r0, _02076E1C ; =0x0000069C
|
||||
mov r1, #0x3b
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r4, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2924,9 +2924,9 @@ FUN_02076DD4: ; 0x02076DD4
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2954,7 +2954,7 @@ FUN_02076E28: ; 0x02076E28
|
||||
ldr r0, _02076E70 ; =0x0000069C
|
||||
mov r1, #0x37
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r4, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -2962,9 +2962,9 @@ FUN_02076E28: ; 0x02076E28
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
mvn r1, r1
|
||||
@@ -2994,7 +2994,7 @@ FUN_02076E80: ; 0x02076E80
|
||||
ldr r0, _02076EC8 ; =0x0000069C
|
||||
mov r1, #0x3a
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r4, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -3002,9 +3002,9 @@ FUN_02076E80: ; 0x02076E80
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
mvn r1, r1
|
||||
@@ -3032,7 +3032,7 @@ FUN_02076ED4: ; 0x02076ED4
|
||||
ldr r0, _02076F1C ; =0x0000069C
|
||||
mov r1, #0x34
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x6a
|
||||
add r4, r0, #0x0
|
||||
lsl r1, r1, #0x4
|
||||
@@ -3040,9 +3040,9 @@ FUN_02076ED4: ; 0x02076ED4
|
||||
add r1, r1, #0x4
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r4, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
mvn r1, r1
|
||||
@@ -3149,7 +3149,7 @@ FUN_02076FB0: ; 0x02076FB0
|
||||
add r1, r6, #0x0
|
||||
ldr r0, [r5, r0]
|
||||
add r1, #0xa2
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r7, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
@@ -3163,9 +3163,9 @@ FUN_02076FB0: ; 0x02076FB0
|
||||
add r1, #0x8
|
||||
ldr r1, [r5, r1]
|
||||
add r2, r7, #0x0
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
cmp r4, #0x0
|
||||
ldr r1, _02077038 ; =0x000006F8
|
||||
bne _0207701C
|
||||
@@ -3402,7 +3402,7 @@ _020771F6:
|
||||
ldr r0, [r5, r2]
|
||||
add r2, #0x8
|
||||
ldr r2, [r5, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
_02077204:
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
@@ -3457,7 +3457,7 @@ FUN_02077248: ; 0x02077248
|
||||
ldr r0, [r4, r0]
|
||||
ldr r2, [r4, r2]
|
||||
mov r1, #0x7f
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r1, _020772BC ; =0x00000B25
|
||||
add r0, r4, #0x0
|
||||
ldrb r1, [r4, r1]
|
||||
@@ -3470,7 +3470,7 @@ _02077286:
|
||||
ldr r0, [r4, r0]
|
||||
ldr r2, [r4, r2]
|
||||
mov r1, #0x80
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, _020772BC ; =0x00000B25
|
||||
mov r1, #0x7
|
||||
strb r1, [r4, r0]
|
||||
|
||||
@@ -965,33 +965,33 @@ FUN_020777D4: ; 0x020777D4
|
||||
ldr r0, [r5, #0x4]
|
||||
cmp r0, #0x0
|
||||
bne _020777FE
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0x12
|
||||
bl _s32_div_f
|
||||
mov r0, #0x17
|
||||
lsl r0, r0, #0x4
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
b _0207781A
|
||||
_020777FE:
|
||||
cmp r0, #0x1
|
||||
bne _0207781A
|
||||
bl rand_LC
|
||||
bl LCRandom
|
||||
mov r1, #0x12
|
||||
bl _s32_div_f
|
||||
mov r0, #0x17
|
||||
lsl r0, r0, #0x4
|
||||
ldr r0, [r5, r0]
|
||||
add r1, #0x12
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
_0207781A:
|
||||
ldr r0, [r4, #0x18]
|
||||
add r1, r6, #0x0
|
||||
bl FUN_02021A74
|
||||
bl StringCopy
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r4, #0x18]
|
||||
add r4, #0x1c
|
||||
add r1, r4, #0x0
|
||||
@@ -1005,13 +1005,13 @@ _02077836:
|
||||
lsl r0, r0, #0x4
|
||||
ldr r0, [r5, r0]
|
||||
mov r1, #0x58
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
ldr r0, [r4, #0x18]
|
||||
add r1, r5, #0x0
|
||||
bl FUN_02021A74
|
||||
bl StringCopy
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, [r4, #0x18]
|
||||
add r4, #0x1c
|
||||
add r1, r4, #0x0
|
||||
@@ -1112,12 +1112,12 @@ _0207790E:
|
||||
add r1, r4, #0x0
|
||||
add r0, r4, r0
|
||||
add r1, #0xd8
|
||||
bl StringCopy
|
||||
bl CopyU16StringArray
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
add r0, #0x1c
|
||||
add r1, #0xd8
|
||||
bl StringCopy
|
||||
bl CopyU16StringArray
|
||||
add r1, r4, #0x0
|
||||
ldr r0, [r5, #0x18]
|
||||
add r1, #0xd8
|
||||
@@ -1126,7 +1126,7 @@ _02077932:
|
||||
mov r0, #0x61
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r7, #0xe7
|
||||
mov r6, #0x0
|
||||
add r5, r4, #0x0
|
||||
@@ -1215,16 +1215,16 @@ _020779C2:
|
||||
ldr r0, [r4, r0]
|
||||
cmp r0, #0x0
|
||||
beq _02077A0C
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_02077A0C:
|
||||
mov r0, #0x5e
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x5f
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x5d
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r4, r0]
|
||||
@@ -1282,7 +1282,7 @@ FUN_02077A84: ; 0x02077A84
|
||||
ldr r1, [sp, #0x0]
|
||||
strh r0, [r4, #0x1c]
|
||||
add r0, r5, #0x1
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [r4, #0x18]
|
||||
mov r1, #0x0
|
||||
str r1, [r4, #0x44]
|
||||
@@ -1310,7 +1310,7 @@ _02077AD2:
|
||||
bl ErrorHandling
|
||||
_02077ADA:
|
||||
ldr r0, [r4, #0x18]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add r0, r4, #0x0
|
||||
bl FreeToHeap
|
||||
pop {r4, pc}
|
||||
@@ -1679,7 +1679,7 @@ _02077DD8:
|
||||
ldr r2, [r2, r3]
|
||||
ldr r1, [r4, r1]
|
||||
mov r3, #0x12
|
||||
bl FUN_0200A9C4
|
||||
bl ReadMsgData_ExpandPlaceholders
|
||||
mov r1, #0x5e
|
||||
lsl r1, r1, #0x2
|
||||
str r0, [r4, r1]
|
||||
@@ -1690,14 +1690,14 @@ _02077DD8:
|
||||
ldr r1, [r4, r1]
|
||||
mov r2, #0x8
|
||||
mov r3, #0x12
|
||||
bl FUN_0200A9C4
|
||||
bl ReadMsgData_ExpandPlaceholders
|
||||
mov r1, #0x5f
|
||||
lsl r1, r1, #0x2
|
||||
str r0, [r4, r1]
|
||||
sub r1, #0x10
|
||||
ldr r0, [r4, r1]
|
||||
mov r1, #0x7
|
||||
bl FUN_0200A914
|
||||
bl NewString_ReadMsgData
|
||||
mov r1, #0x61
|
||||
lsl r1, r1, #0x2
|
||||
str r0, [r4, r1]
|
||||
@@ -1768,7 +1768,7 @@ FUN_02077E90: ; 0x02077E90
|
||||
beq _02077FA0
|
||||
mov r0, #0xc8
|
||||
mov r1, #0x12
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r7, r0, #0x0
|
||||
mov r0, #0x6
|
||||
mov r1, #0x0
|
||||
@@ -1873,14 +1873,14 @@ _02077F7E:
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r4, #0x44]
|
||||
mov r3, #0x12
|
||||
bl FUN_0200A9C4
|
||||
bl ReadMsgData_ExpandPlaceholders
|
||||
mov r1, #0x6
|
||||
lsl r1, r1, #0x6
|
||||
str r0, [r5, r1]
|
||||
mov r0, #0x1
|
||||
str r0, [r5, #0x14]
|
||||
add r0, r7, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
_02077FA0:
|
||||
add sp, #0x14
|
||||
pop {r4-r7, pc}
|
||||
@@ -3264,7 +3264,7 @@ _02078A90:
|
||||
add r0, r5, #0x0
|
||||
add r0, #0xd8
|
||||
add r1, r5, r1
|
||||
bl StringCopy
|
||||
bl CopyU16StringArray
|
||||
mov r0, #0xc
|
||||
str r0, [sp, #0x0]
|
||||
mov r2, #0x0
|
||||
@@ -3699,7 +3699,7 @@ FUN_02078E3C: ; 0x02078E3C
|
||||
strh r1, [r0, #0x0]
|
||||
_02078E52:
|
||||
ldrh r0, [r0, #0x0]
|
||||
bl FUN_0201B970
|
||||
bl Sin_Wrap
|
||||
mov r1, #0xa
|
||||
mul r1, r0
|
||||
asr r0, r1, #0xb
|
||||
@@ -3729,7 +3729,7 @@ FUN_02078E7C: ; 0x02078E7C
|
||||
str r2, [sp, #0x1c]
|
||||
str r3, [sp, #0x20]
|
||||
mov r4, #0x0
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
str r0, [sp, #0x28]
|
||||
ldrh r1, [r7, #0x0]
|
||||
ldr r0, _02078F6C ; =0x0000FFFF
|
||||
@@ -3837,7 +3837,7 @@ _02078F58:
|
||||
bne _02078EB4
|
||||
_02078F62:
|
||||
ldr r0, [sp, #0x28]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add sp, #0x3c
|
||||
pop {r4-r7, pc}
|
||||
.balign 4
|
||||
@@ -3916,7 +3916,7 @@ _02078FD0:
|
||||
blo _02078FD0
|
||||
mov r0, #0x15
|
||||
mov r1, #0x12
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
add r4, r0, #0x0
|
||||
mov r5, #0x0
|
||||
_02079012:
|
||||
@@ -3955,7 +3955,7 @@ _02079012:
|
||||
cmp r5, #0x3
|
||||
blo _02079012
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
add sp, #0x38
|
||||
pop {r3-r7, pc}
|
||||
nop
|
||||
|
||||
@@ -674,25 +674,25 @@ FUN_0207A1A0: ; 0x0207A1A0
|
||||
str r0, [r4, r1]
|
||||
mov r0, #0xc
|
||||
mov r1, #0x13
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
mov r1, #0x25
|
||||
lsl r1, r1, #0x4
|
||||
str r0, [r4, r1]
|
||||
mov r0, #0xc
|
||||
mov r1, #0x13
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
mov r1, #0x95
|
||||
lsl r1, r1, #0x2
|
||||
str r0, [r4, r1]
|
||||
mov r0, #0x8
|
||||
mov r1, #0x13
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
mov r1, #0x96
|
||||
lsl r1, r1, #0x2
|
||||
str r0, [r4, r1]
|
||||
mov r0, #0x80
|
||||
mov r1, #0x13
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
mov r1, #0x1a
|
||||
lsl r1, r1, #0x6
|
||||
str r0, [r4, r1]
|
||||
@@ -706,7 +706,7 @@ FUN_0207A1A0: ; 0x0207A1A0
|
||||
str r0, [r4, r1]
|
||||
mov r0, #0x8
|
||||
mov r1, #0x13
|
||||
bl FUN_020219F4
|
||||
bl String_ctor
|
||||
ldr r2, _0207A260 ; =0x00000684
|
||||
str r0, [r4, r2]
|
||||
mov r0, #0x93
|
||||
@@ -749,22 +749,22 @@ FUN_0207A264: ; 0x0207A264
|
||||
mov r0, #0x25
|
||||
lsl r0, r0, #0x4
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x95
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x96
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
mov r0, #0x1a
|
||||
lsl r0, r0, #0x6
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
ldr r0, _0207A2D4 ; =0x00000684
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_02021A20
|
||||
bl String_dtor
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
_0207A2C4: .word 0x00000688
|
||||
@@ -1858,7 +1858,7 @@ FUN_0207AB0C: ; 0x0207AB0C
|
||||
add r2, #0xc
|
||||
ldr r2, [r7, r2]
|
||||
mov r1, #0xb
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, _0207AEB0 ; =0x0000067C
|
||||
mov r1, #0x0
|
||||
ldr r0, [r7, r0]
|
||||
@@ -1871,13 +1871,13 @@ FUN_0207AB0C: ; 0x0207AB0C
|
||||
add r2, r2, #0x4
|
||||
ldr r1, [r7, r1]
|
||||
ldr r2, [r7, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r2, _0207AEAC ; =0x00000674
|
||||
mov r1, #0x0
|
||||
ldr r0, [r7, r2]
|
||||
add r2, #0xc
|
||||
ldr r2, [r7, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, _0207AEB0 ; =0x0000067C
|
||||
mov r1, #0x0
|
||||
ldr r0, [r7, r0]
|
||||
@@ -1890,13 +1890,13 @@ FUN_0207AB0C: ; 0x0207AB0C
|
||||
add r2, r2, #0x4
|
||||
ldr r1, [r7, r1]
|
||||
ldr r2, [r7, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
ldr r2, _0207AEAC ; =0x00000674
|
||||
mov r1, #0xe
|
||||
ldr r0, [r7, r2]
|
||||
add r2, #0xc
|
||||
ldr r2, [r7, r2]
|
||||
bl FUN_0200A8E0
|
||||
bl ReadMsgDataIntoString
|
||||
ldr r0, _0207AEB0 ; =0x0000067C
|
||||
mov r1, #0x0
|
||||
ldr r0, [r7, r0]
|
||||
@@ -1909,7 +1909,7 @@ FUN_0207AB0C: ; 0x0207AB0C
|
||||
add r2, r2, #0x4
|
||||
ldr r1, [r7, r1]
|
||||
ldr r2, [r7, r2]
|
||||
bl FUN_0200B7B8
|
||||
bl StringExpandPlaceholders
|
||||
add r0, r6, #0x0
|
||||
mov r1, #0x6
|
||||
mov r2, #0x0
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user