Compare commits

...

No commits in common. "main" and "main-old" have entirely different histories.

7176 changed files with 1018503 additions and 1146393 deletions

10
.gitattributes vendored
View file

@ -1,10 +0,0 @@
# Auto detect text files and perform LF normalization
* text=auto
# Explicitly declare text files
*.py text
# Enforce platform-specific encodings
*.bat text eol=crlf
*.sh text eol=lf
*.sha1 text eol=lf

39
.gitignore vendored
View file

@ -1,39 +0,0 @@
.vscode
*.dat
*.exe
*.dll
*.idb
*.id0
*.id1
*.id2
*.nam
*.til
*.o
*.out
*.elf
*.dol
*.a
*.d
*.map
*.exe
*.dump
*.7z
*.bat
*.sln
*.filters
*.vcxproj
*.user
include/*.s
build/
tools/mwcc_compiler/
tools/elf2dol
tools/elf2rel
decomp/
errors.txt
output.asm
Debug/
.vs/
ctx.c

215
Makefile
View file

@ -1,215 +0,0 @@
ifneq ($(findstring MINGW,$(shell uname)),)
WINDOWS := 1
endif
ifneq ($(findstring MSYS,$(shell uname)),)
WINDOWS := 1
endif
ifeq ($(findstring not found,$(shell which nix)),)
NIX := 1
endif
# If 0, tells the console to chill out. (Quiets the make process.)
VERBOSE ?= 1
# If MAPGENFLAG set to 1, tells LDFLAGS to generate a mapfile, which makes linking take several minutes.
MAPGENFLAG ?= 1
ifeq ($(VERBOSE),0)
QUIET := @
endif
#-------------------------------------------------------------------------------
# Files
#-------------------------------------------------------------------------------
NAME := donut
VERSION ?= 0
# Overkill epilogue fixup strategy. Set to 1 if necessary.
EPILOGUE_PROCESS := 0
BUILD_DIR := build/$(NAME).$(VERSION)
ifeq ($(EPILOGUE_PROCESS),1)
EPILOGUE_DIR := epilogue/$(NAME).$(VERSION)
endif
# Inputs
S_FILES := $(wildcard asm/*.s)
C_FILES := $(wildcard src/*.c)
CPP_FILES := $(wildcard src/*.cpp)
CPP_FILES += $(wildcard src/*.cp)
LDSCRIPT := $(BUILD_DIR)/ldscript.lcf
# Outputs
DOL := $(BUILD_DIR)/main.dol
ELF := $(DOL:.dol=.elf)
MAP := $(BUILD_DIR)/donut.MAP
ifeq ($(MAPGENFLAG),1)
MAPGEN := -map $(MAP)
endif
include obj_files.mk
ifeq ($(EPILOGUE_PROCESS),1)
include e_files.mk
endif
ifeq ($(EPILOGUE_PROCESS),1)
E_FILES := $(EPILOGUE_UNSCHEDULED)
endif
#-------------------------------------------------------------------------------
# Tools
#-------------------------------------------------------------------------------
MWCC_VERSION := 4.3
ifeq ($(EPILOGUE_PROCESS),1)
MWCC_EPI_VERSION := 1.2.5
MWCC_EPI_EXE := mwcceppc.exe
endif
MWLD_VERSION := 4.3
# Programs
ifeq ($(WINDOWS),1)
WINE :=
AS := $(DEVKITPPC)/bin/powerpc-eabi-as.exe
CPP := $(DEVKITPPC)/bin/powerpc-eabi-cpp.exe -P
else
ifeq ($(NIX),1)
WINE := $(shell nix-build '<nixpkgs>' -A wine-staging --no-link)/bin/wine
AS := $(shell nix-build '<nixpkgs>' -A pkgsCross.ppc-embedded.gccCrossLibcStdenv.cc --no-link)/bin/powerpc-none-eabi-as
CPP := $(shell nix-build '<nixpkgs>' -A pkgsCross.ppc-embedded.gccCrossLibcStdenv.cc.cc --no-link)/bin/powerpc-none-eabi-cpp -P
else
WINE ?= wine
AS := $(DEVKITPPC)/bin/powerpc-eabi-as
CPP := $(DEVKITPPC)/bin/powerpc-eabi-cpp -P
endif
endif
CC = $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc.exe
ifeq ($(EPILOGUE_PROCESS),1)
CC_EPI = $(WINE) tools/mwcc_compiler/$(MWCC_EPI_VERSION)/$(MWCC_EPI_EXE)
endif
LD := $(WINE) tools/mwcc_compiler/$(MWLD_VERSION)/mwldeppc.exe
ELF2DOL := tools/elf2dol
SHA1SUM := sha1sum
PYTHON := python3
FRANK := tools/franklite.py
# Options
INCLUDES := -i include/
ASM_INCLUDES := -I include/
ASFLAGS := -mbroadway $(ASM_INCLUDES) --defsym version=$(VERSION)
ifeq ($(VERBOSE),1)
# this set of LDFLAGS outputs warnings.
LDFLAGS := $(MAPGEN) -fp hard -nodefaults
endif
ifeq ($(VERBOSE),0)
# this set of LDFLAGS generates no warnings.
LDFLAGS := $(MAPGEN) -fp hard -nodefaults -w off
endif
CFLAGS = -Cpp_exceptions off -enum int -inline auto -proc gekko -RTTI off -fp hard -fp_contract on -rostr -O4,p -use_lmw_stmw on -sdata 8 -sdata2 8 -nodefaults $(INCLUDES)
ifeq ($(VERBOSE),0)
# this set of ASFLAGS generates no warnings.
ASFLAGS += -W
endif
$(BUILD_DIR)/src/os/__start.o: MWCC_VERSION := 1.2.5
#-------------------------------------------------------------------------------
# Recipes
#-------------------------------------------------------------------------------
### Default target ###
default: all
all: $(DOL)
ALL_DIRS := $(sort $(dir $(O_FILES)))
ifeq ($(EPILOGUE_PROCESS),1)
EPI_DIRS := $(sort $(dir $(E_FILES)))
endif
# Make sure build directory exists before compiling anything
DUMMY != mkdir -p $(ALL_DIRS)
# ifeq ($(EPILOGUE_PROCESS),1)
# Make sure profile directory exists before compiling anything
# DUMMY != mkdir -p $(EPI_DIRS)
# endif
.PHONY: tools
$(LDSCRIPT): ldscript.lcf
$(QUIET) $(CPP) -MMD -MP -MT $@ -MF $@.d -I include/ -I . -DBUILD_DIR=$(BUILD_DIR) -o $@ $<
$(DOL): $(ELF) | tools
$(QUIET) $(ELF2DOL) $< $@
$(QUIET) $(SHA1SUM) -c sha1/$(NAME).$(VERSION).sha1
ifneq ($(findstring -map,$(LDFLAGS)),)
$(QUIET) $(PYTHON) tools/calcprogress.py $(DOL) $(MAP)
endif
clean:
rm -f -d -r build
rm -f -d -r epilogue
find . -name '*.o' -exec rm {} +
find . -name 'ctx.c' -exec rm {} +
find ./include -name "*.s" -type f -delete
$(MAKE) -C tools clean
tools:
$(MAKE) -C tools
build/o_files: $(O_FILES)
$(file >$@) $(foreach V,$^,$(file >>$@,$V))
@true
# ELF creation makefile instructions
ifeq ($(EPILOGUE_PROCESS),1)
@echo Linking ELF $@
$(ELF): build/o_files $(E_FILES) $(LDSCRIPT)
$(QUIET) $(LD) $(LDFLAGS) -o $@ -lcf $(LDSCRIPT) @build/o_files
else
$(ELF): build/o_files $(LDSCRIPT)
@echo Linking ELF $@
$(QUIET) $(LD) $(LDFLAGS) -o $@ -lcf $(LDSCRIPT) @build/o_files
endif
$(BUILD_DIR)/%.o: %.s
@echo Assembling $<
$(QUIET) $(AS) $(ASFLAGS) -o $@ $<
$(BUILD_DIR)/%.o: %.c
@echo "Compiling " $<
$(QUIET) $(CC) $(CFLAGS) -c -o $@ $<
$(BUILD_DIR)/%.o: %.cp
@echo "Compiling " $<
$(QUIET) $(CC) $(CFLAGS) -c -o $@ $<
$(BUILD_DIR)/%.o: %.cpp
@echo "Compiling " $<
$(QUIET) $(CC) $(CFLAGS) -c -o $@ $<
ifeq ($(EPILOGUE_PROCESS),1)
$(EPILOGUE_DIR)/%.o: %.c $(BUILD_DIR)/%.o
@echo Frank is fixing $<
$(QUIET) $(PYTHON) $(FRANK) $(word 2,$^) $(word 2,$^)
$(EPILOGUE_DIR)/%.o: %.cp $(BUILD_DIR)/%.o
@echo Frank is fixing $<
$(QUIET) $(PYTHON) $(FRANK) $(word 2,$^) $(word 2,$^)
$(EPILOGUE_DIR)/%.o: %.cpp $(BUILD_DIR)/%.o
@echo Frank is fixing $<
$(QUIET) $(PYTHON) $(FRANK) $(word 2,$^) $(word 2,$^)
endif
# If we need Frank, add the following after the @echo
# $(QUIET) $(CC_EPI) $(CFLAGS) -c -o $@ $<
### Debug Print ###
print-% : ; $(info $* is a $(flavor $*) variable set to [$($*)]) @true

View file

@ -0,0 +1,93 @@
.include "macros.inc"
.section .init, "ax" # 0x80004000 - 0x80006740
.global _rom_copy_info
_rom_copy_info:
/* 80006684 00002784 80 00 40 00 */ lwz r0, 0x4000(0)
/* 80006688 00002788 80 00 40 00 */ lwz r0, 0x4000(0)
/* 8000668C 0000278C 00 00 27 28 */ .4byte 0x00002728 /* unknown instruction */
/* 80006690 00002790 80 00 67 40 */ lwz r0, 0x6740(0)
/* 80006694 00002794 80 00 67 40 */ lwz r0, 0x6740(0)
/* 80006698 00002798 00 00 01 8C */ .4byte 0x0000018C /* unknown instruction */
/* 8000669C 0000279C 80 00 68 E0 */ lwz r0, 0x68e0(0)
/* 800066A0 000027A0 80 00 68 E0 */ lwz r0, 0x68e0(0)
/* 800066A4 000027A4 00 00 01 04 */ .4byte 0x00000104 /* unknown instruction */
/* 800066A8 000027A8 80 00 6A 00 */ lwz r0, 0x6a00(0)
/* 800066AC 000027AC 80 00 6A 00 */ lwz r0, 0x6a00(0)
/* 800066B0 000027B0 00 3F F8 44 */ .4byte 0x003FF844 /* unknown instruction */
/* 800066B4 000027B4 80 40 62 60 */ lwz r2, 0x6260(0)
/* 800066B8 000027B8 80 40 62 60 */ lwz r2, 0x6260(0)
/* 800066BC 000027BC 00 00 02 D0 */ .4byte 0x000002D0 /* unknown instruction */
/* 800066C0 000027C0 80 40 65 40 */ lwz r2, 0x6540(0)
/* 800066C4 000027C4 80 40 65 40 */ lwz r2, 0x6540(0)
/* 800066C8 000027C8 00 00 00 0C */ .4byte 0x0000000C /* unknown instruction */
/* 800066CC 000027CC 80 40 65 60 */ lwz r2, 0x6560(0)
/* 800066D0 000027D0 80 40 65 60 */ lwz r2, 0x6560(0)
/* 800066D4 000027D4 00 01 AA D0 */ .4byte 0x0001AAD0 /* unknown instruction */
/* 800066D8 000027D8 80 42 10 40 */ lwz r2, 0x1040(r2)
/* 800066DC 000027DC 80 42 10 40 */ lwz r2, 0x1040(r2)
/* 800066E0 000027E0 00 07 56 BC */ .4byte 0x000756BC /* unknown instruction */
/* 800066E4 000027E4 80 55 64 20 */ lwz r2, 0x6420(r21)
/* 800066E8 000027E8 80 55 64 20 */ lwz r2, 0x6420(r21)
/* 800066EC 000027EC 00 00 62 B0 */ .4byte 0x000062B0 /* unknown instruction */
/* 800066F0 000027F0 80 55 DF 80 */ lwz r2, -0x2080(r21)
/* 800066F4 000027F4 80 55 DF 80 */ lwz r2, -0x2080(r21)
/* 800066F8 000027F8 00 00 64 30 */ .4byte 0x00006430 /* unknown instruction */
/* 800066FC 000027FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 80006700 00002800 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 80006704 00002804 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
.global _bss_init_info
_bss_init_info:
/* 80006708 00002808 80 49 67 00 */ lwz r2, 0x6700(r9)
/* 8000670C 0000280C 00 0B FD 0C */ .4byte 0x000BFD0C /* unknown instruction */
/* 80006710 00002810 80 55 C6 E0 */ lwz r2, -0x3920(r21)
/* 80006714 00002814 00 00 18 94 */ .4byte 0x00001894 /* unknown instruction */
/* 80006718 00002818 80 56 43 C0 */ lwz r2, 0x43c0(r22)
/* 8000671C 0000281C 00 00 00 3C */ .4byte 0x0000003C /* unknown instruction */
/* 80006720 00002820 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 80006724 00002824 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 80006728 00002828 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 8000672C 0000282C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 80006730 00002830 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 80006734 00002834 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 80006738 00002838 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
/* 8000673C 0000283C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */
.section extabindex, "wa" # 0x800068E0 - 0x80006A00
.global _eti_init_info
_eti_init_info:
.4byte $$2191
.4byte _eti_init_info
.4byte __dt__Q23std9exceptionFv
.4byte 0x0000E460
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.section .ctors, "wa" # 0x80406260 - 0x80406540
.global _ctors$99
_ctors$99:
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.section .dtors, "wa" # 0x80406540 - 0x80406560
.global _dtors$99
_dtors$99:
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0

View file

@ -1,54 +0,0 @@
.include "macros.inc"
.section .init, "ax" # 0x80004000 - 0x80006740 ; 0x00002740
.global _rom_copy_info_
_rom_copy_info_:
/* 80006684 00002784 80 00 40 00 */ lwz r0, 0x4000(r0)
/* 80006688 00002788 80 00 40 00 */ lwz r0, 0x4000(r0)
/* 8000668C 0000278C 00 00 27 28 */ .4byte 0x00002728 /* <illegal> */
/* 80006690 00002790 80 00 67 40 */ lwz r0, 0x6740(r0)
/* 80006694 00002794 80 00 67 40 */ lwz r0, 0x6740(r0)
/* 80006698 00002798 00 00 01 8C */ .4byte 0x0000018C /* <illegal> */
/* 8000669C 0000279C 80 00 68 E0 */ lwz r0, 0x68e0(r0)
/* 800066A0 000027A0 80 00 68 E0 */ lwz r0, 0x68e0(r0)
/* 800066A4 000027A4 00 00 01 04 */ .4byte 0x00000104 /* <illegal> */
/* 800066A8 000027A8 80 00 6A 00 */ lwz r0, 0x6a00(r0)
/* 800066AC 000027AC 80 00 6A 00 */ lwz r0, 0x6a00(r0)
/* 800066B0 000027B0 00 3F F8 44 */ .4byte 0x003FF844 /* <illegal> */
/* 800066B4 000027B4 80 40 62 60 */ lwz r2, 0x6260(r0)
/* 800066B8 000027B8 80 40 62 60 */ lwz r2, 0x6260(r0)
/* 800066BC 000027BC 00 00 02 D0 */ .4byte 0x000002D0 /* <illegal> */
/* 800066C0 000027C0 80 40 65 40 */ lwz r2, 0x6540(r0)
/* 800066C4 000027C4 80 40 65 40 */ lwz r2, 0x6540(r0)
/* 800066C8 000027C8 00 00 00 0C */ .4byte 0x0000000C /* <illegal> */
/* 800066CC 000027CC 80 40 65 60 */ lwz r2, 0x6560(r0)
/* 800066D0 000027D0 80 40 65 60 */ lwz r2, 0x6560(r0)
/* 800066D4 000027D4 00 01 AA D0 */ .4byte 0x0001AAD0 /* <illegal> */
/* 800066D8 000027D8 80 42 10 40 */ lwz r2, 0x1040(r2)
/* 800066DC 000027DC 80 42 10 40 */ lwz r2, 0x1040(r2)
/* 800066E0 000027E0 00 07 56 BC */ .4byte 0x000756BC /* <illegal> */
/* 800066E4 000027E4 80 55 64 20 */ lwz r2, 0x6420(r21)
/* 800066E8 000027E8 80 55 64 20 */ lwz r2, 0x6420(r21)
/* 800066EC 000027EC 00 00 62 B0 */ .4byte 0x000062B0 /* <illegal> */
/* 800066F0 000027F0 80 55 DF 80 */ lwz r2, -0x2080(r21)
/* 800066F4 000027F4 80 55 DF 80 */ lwz r2, -0x2080(r21)
/* 800066F8 000027F8 00 00 64 30 */ .4byte 0x00006430 /* <illegal> */
/* 800066FC 000027FC 00 00 00 00 */ .4byte 0x00000000
/* 80006700 00002800 00 00 00 00 */ .4byte 0x00000000
/* 80006704 00002804 00 00 00 00 */ .4byte 0x00000000
.global _bss_init_info_
_bss_init_info_:
/* 80006708 00002808 80 49 67 00 */ lwz r2, 0x6700(r9)
/* 8000670C 0000280C 00 0B FD 0C */ .4byte 0x000BFD0C /* <illegal> */
/* 80006710 00002810 80 55 C6 E0 */ lwz r2, -0x3920(r21)
/* 80006714 00002814 00 00 18 94 */ .4byte 0x00001894 /* <illegal> */
/* 80006718 00002818 80 56 43 C0 */ lwz r2, 0x43c0(r22)
/* 8000671C 0000281C 00 00 00 3C */ .4byte 0x0000003C /* <illegal> */
/* 80006720 00002820 00 00 00 00 */ .4byte 0x00000000
/* 80006724 00002824 00 00 00 00 */ .4byte 0x00000000
/* 80006728 00002828 00 00 00 00 */ .4byte 0x00000000
/* 8000672C 0000282C 00 00 00 00 */ .4byte 0x00000000
/* 80006730 00002830 00 00 00 00 */ .4byte 0x00000000
/* 80006734 00002834 00 00 00 00 */ .4byte 0x00000000
/* 80006738 00002838 00 00 00 00 */ .4byte 0x00000000
/* 8000673C 0000283C 00 00 00 00 */ .4byte 0x00000000

View file

@ -1,12 +0,0 @@
.include "macros.inc"
.section extabindex_, "wa" # 0x800068E0 - 0x80006A00 ; 0x00000120
.global _eti_init_info_
_eti_init_info_:
.4byte "@191"
.4byte _eti_init_info_
.4byte __dt__Q23std9exceptionFv
.4byte 0x0000E460
.4byte 0
.space 32

View file

@ -1,4 +0,0 @@
.include "macros.inc"
.section .ctors, "wa" # 0x80406260 - 0x80406540 ; 0x000002E0
.4byte 0

View file

@ -1,4 +0,0 @@
.include "macros.inc"
.section .dtors, "wa" # 0x80406540 - 0x80406560 ; 0x00000020
.4byte 0

View file

@ -1,183 +1,125 @@
.include "macros.inc"
.section extab_, "wa" # 0x80006740 - 0x800068E0 ; 0x000001A0
.global "@10911"
"@10911":
.4byte 0x08080000
.4byte 0
.global "@10953"
"@10953":
.4byte 0x10080000
.4byte 0
.include "macros.inc"
.section extabindex_, "wa" # 0x800068E0 - 0x80006A00 ; 0x00000120
.4byte "get_deleter__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>CFRCQ23std9type_info"
.4byte 0x0000004C
.4byte "@10911"
.4byte "__dt__Q210Metrowerks48move_ptr<c,RQ33std6detail20default_delete<A0_c>>Fv"
.4byte 0x00000060
.4byte "@10953"
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global "get_deleter__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>CFRCQ23std9type_info"
"get_deleter__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>CFRCQ23std9type_info":
.section .text, "ax" # 0x80006A00 - 0x80406260
.global get_deleter__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1CFRCQ23std9type_info
get_deleter__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1CFRCQ23std9type_info:
/* 8001488C 000106CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80014890 000106D0 7C 08 02 A6 */ mflr r0
/* 80014894 000106D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80014898 000106D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8001489C 000106DC 7C 7F 1B 78 */ mr r31, r3
/* 800148A0 000106E0 80 64 00 00 */ lwz r3, 0x0(r4)
/* 800148A4 000106E4 80 8D 80 40 */ lwz r4, "__RTTI__Q33std6detail20default_delete<A0_c>"@sda21(r13)
/* 800148A0 000106E0 80 64 00 00 */ lwz r3, 0(r4)
/* 800148A4 000106E4 80 8D 80 40 */ lwz r4, __RTTI__Q33std6detail20default_delete$$0A0_c$$1-_SDA_BASE_(r13)
/* 800148A8 000106E8 4B FF 92 95 */ bl strcmp
/* 800148AC 000106EC 7C 60 00 34 */ cntlzw r0, r3
/* 800148B0 000106F0 54 00 D9 7F */ srwi. r0, r0, 5
/* 800148B0 000106F0 54 00 D9 7F */ rlwinm. r0, r0, 0x1b, 5, 0x1f
/* 800148B4 000106F4 41 82 00 0C */ beq lbl_800148C0
/* 800148B8 000106F8 38 7F 00 0C */ addi r3, r31, 0xc
/* 800148BC 000106FC 48 00 00 08 */ b lbl_800148C4
.global lbl_800148C0
lbl_800148C0:
/* 800148C0 00010700 38 60 00 00 */ li r3, 0x0
.global lbl_800148C4
/* 800148C0 00010700 38 60 00 00 */ li r3, 0
lbl_800148C4:
/* 800148C4 00010704 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800148C8 00010708 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800148CC 0001070C 7C 08 03 A6 */ mtlr r0
/* 800148D0 00010710 38 21 00 10 */ addi r1, r1, 0x10
/* 800148D4 00010714 4E 80 00 20 */ blr
/* 800148D4 00010714 4E 80 00 20 */ blr
.global "dispose__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>Fv"
"dispose__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>Fv":
.global dispose__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1Fv
dispose__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1Fv:
/* 800148D8 00010718 80 63 00 0C */ lwz r3, 0xc(r3)
/* 800148DC 0001071C 48 1A AE 38 */ b __dl__FPv
.global "__dt__Q210Metrowerks48move_ptr<c,RQ33std6detail20default_delete<A0_c>>Fv"
"__dt__Q210Metrowerks48move_ptr<c,RQ33std6detail20default_delete<A0_c>>Fv":
.global __dt__Q210Metrowerks48move_ptr$$0c$$4RQ33std6detail20default_delete$$0A0_c$$1$$1Fv
__dt__Q210Metrowerks48move_ptr$$0c$$4RQ33std6detail20default_delete$$0A0_c$$1$$1Fv:
/* 800148E0 00010720 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800148E4 00010724 7C 08 02 A6 */ mflr r0
/* 800148E8 00010728 2C 03 00 00 */ cmpwi r3, 0x0
/* 800148E8 00010728 2C 03 00 00 */ cmpwi r3, 0
/* 800148EC 0001072C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800148F0 00010730 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800148F4 00010734 7C 9F 23 78 */ mr r31, r4
/* 800148F8 00010738 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800148F8 00010738 93 C1 00 08 */ stw r30, 8(r1)
/* 800148FC 0001073C 7C 7E 1B 78 */ mr r30, r3
/* 80014900 00010740 41 82 00 24 */ beq lbl_80014924
/* 80014904 00010744 80 63 00 00 */ lwz r3, 0x0(r3)
/* 80014908 00010748 2C 03 00 00 */ cmpwi r3, 0x0
/* 80014904 00010744 80 63 00 00 */ lwz r3, 0(r3)
/* 80014908 00010748 2C 03 00 00 */ cmpwi r3, 0
/* 8001490C 0001074C 41 82 00 08 */ beq lbl_80014914
/* 80014910 00010750 48 1A AE 05 */ bl __dl__FPv
.global lbl_80014914
lbl_80014914:
/* 80014914 00010754 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80014914 00010754 2C 1F 00 00 */ cmpwi r31, 0
/* 80014918 00010758 40 81 00 0C */ ble lbl_80014924
/* 8001491C 0001075C 7F C3 F3 78 */ mr r3, r30
/* 80014920 00010760 48 1A AD F5 */ bl __dl__FPv
.global lbl_80014924
lbl_80014924:
/* 80014924 00010764 7F C3 F3 78 */ mr r3, r30
/* 80014928 00010768 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001492C 0001076C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8001492C 0001076C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80014930 00010770 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80014934 00010774 7C 08 03 A6 */ mtlr r0
/* 80014938 00010778 38 21 00 10 */ addi r1, r1, 0x10
/* 8001493C 0001077C 4E 80 00 20 */ blr
/* 8001493C 0001077C 4E 80 00 20 */ blr
.global "__dt__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>Fv"
"__dt__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>Fv":
.global __dt__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1Fv
__dt__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1Fv:
/* 80014940 00010780 4B FF 22 90 */ b __dt__Q23std9exceptionFv
.include "macros.inc"
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.global "@9022"
"@9022":
.4byte 0x7374643A
.4byte 0x3A747231
.4byte 0x3A3A6465
.4byte 0x7461696C
.4byte 0x3A3A7368
.4byte 0x61726564
.4byte 0x5F707472
.4byte 0x5F64656C
.4byte 0x65746572
.4byte 0x3C636861
.4byte 0x722C2073
.4byte 0x74643A3A
.4byte 0x64657461
.4byte 0x696C3A3A
.4byte 0x64656661
.4byte 0x756C745F
.4byte 0x64656C65
.4byte 0x74653C63
.4byte 0x6861725B
.4byte 0x5D3E3E00
.global "@9050"
"@9050":
.4byte 0x7374643A
.4byte 0x3A747231
.4byte 0x3A3A6465
.4byte 0x7461696C
.4byte 0x3A3A7368
.4byte 0x61726564
.4byte 0x5F707472
.4byte 0x5F64656C
.4byte 0x65746572
.4byte 0x5F636F6D
.4byte 0x6D6F6E00
.global "@9165"
"@9165":
.4byte 0x7374643A
.4byte 0x3A646574
.4byte 0x61696C3A
.4byte 0x3A646566
.4byte 0x61756C74
.4byte 0x5F64656C
.4byte 0x6574653C
.4byte 0x63686172
.4byte 0x5B5D3E00
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global "__vt__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>"
"__vt__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>":
.4byte "__RTTI__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>"
.section extab, "wa" # 0x80006740 - 0x800068E0
.global $$210911
$$210911:
.4byte 0x08080000
.4byte 0
.global $$210953
$$210953:
.4byte 0x10080000
.4byte 0
.4byte "__dt__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>Fv"
.4byte "get_deleter__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>CFRCQ23std9type_info"
.4byte "dispose__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>Fv"
.global "@9023"
"@9023":
.section extabindex, "wa" # 0x800068E0 - 0x80006A00
.global $$210912
$$210912:
.4byte get_deleter__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1CFRCQ23std9type_info
.4byte 0x0000004C
.4byte $$210911
.global $$210954
$$210954:
.4byte __dt__Q210Metrowerks48move_ptr$$0c$$4RQ33std6detail20default_delete$$0A0_c$$1$$1Fv
.4byte 0x00000060
.4byte $$210953
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global $$29022
$$29022:
.asciz "std::tr1::detail::shared_ptr_deleter<char, std::detail::default_delete<char[]>>"
.global $$29050
$$29050:
.asciz "std::tr1::detail::shared_ptr_deleter_common"
.global $$29165
$$29165:
.asciz "std::detail::default_delete<char[]>"
.section .data, "wa" # 0x80421040 - 0x80496700
.global __vt__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1
__vt__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1:
.4byte __RTTI__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1
.4byte 0
.4byte __dt__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1Fv
.4byte get_deleter__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1CFRCQ23std9type_info
.4byte dispose__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1Fv
.global $$29023
$$29023:
.4byte __RTTI__Q43std3tr16detail25shared_ptr_deleter_common
.4byte 0
.4byte 0
.include "macros.inc"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
.global "__RTTI__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>"
"__RTTI__Q43std3tr16detail57shared_ptr_deleter<c,Q33std6detail20default_delete<A0_c>>":
.4byte "@9022"
.4byte "@9023"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0
.global __RTTI__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1
__RTTI__Q43std3tr16detail57shared_ptr_deleter$$0c$$4Q33std6detail20default_delete$$0A0_c$$1$$1:
.4byte $$29022
.4byte $$29023
.global __RTTI__Q43std3tr16detail25shared_ptr_deleter_common
__RTTI__Q43std3tr16detail25shared_ptr_deleter_common:
.4byte "@9050"
.4byte $$29050
.4byte 0
.global "__RTTI__Q33std6detail20default_delete<A0_c>"
"__RTTI__Q33std6detail20default_delete<A0_c>":
.4byte "@9165"
.global __RTTI__Q33std6detail20default_delete$$0A0_c$$1
__RTTI__Q33std6detail20default_delete$$0A0_c$$1:
.4byte $$29165
.4byte 0

File diff suppressed because it is too large Load diff

View file

@ -1,29 +1,6 @@
.include "macros.inc"
.section extab_, "wa" # 0x80006740 - 0x800068E0 ; 0x000001A0
.global "@8323"
"@8323":
.4byte 0x08080000
.4byte 0
.global "@8430"
"@8430":
.4byte 0x10080000
.4byte 0
.include "macros.inc"
.section extabindex_, "wa" # 0x800068E0 - 0x80006A00 ; 0x00000120
.4byte release__Q43std3tr16detail25shared_ptr_deleter_commonFv
.4byte 0x00000078
.4byte "@8323"
.4byte "__dt__Q33std3tr114function<Fv_v>Fv"
.4byte 0x000000A0
.4byte "@8430"
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global release__Q43std3tr16detail25shared_ptr_deleter_commonFv
release__Q43std3tr16detail25shared_ptr_deleter_commonFv:
/* 80014F18 00010D58 94 21 FF F0 */ stwu r1, -0x10(r1)
@ -31,83 +8,106 @@ release__Q43std3tr16detail25shared_ptr_deleter_commonFv:
/* 80014F20 00010D60 90 01 00 14 */ stw r0, 0x14(r1)
/* 80014F24 00010D64 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80014F28 00010D68 7C 7F 1B 78 */ mr r31, r3
/* 80014F2C 00010D6C 80 03 00 04 */ lwz r0, 0x4(r3)
/* 80014F30 00010D70 34 00 FF FF */ addic. r0, r0, -0x1
/* 80014F34 00010D74 90 03 00 04 */ stw r0, 0x4(r3)
/* 80014F2C 00010D6C 80 03 00 04 */ lwz r0, 4(r3)
/* 80014F30 00010D70 34 00 FF FF */ addic. r0, r0, -1
/* 80014F34 00010D74 90 03 00 04 */ stw r0, 4(r3)
/* 80014F38 00010D78 40 82 00 44 */ bne lbl_80014F7C
/* 80014F3C 00010D7C 81 83 00 00 */ lwz r12, 0x0(r3)
/* 80014F3C 00010D7C 81 83 00 00 */ lwz r12, 0(r3)
/* 80014F40 00010D80 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80014F44 00010D84 7D 89 03 A6 */ mtctr r12
/* 80014F48 00010D88 4E 80 04 21 */ bctrl
/* 80014F4C 00010D8C 80 1F 00 08 */ lwz r0, 0x8(r31)
/* 80014F50 00010D90 34 00 FF FF */ addic. r0, r0, -0x1
/* 80014F54 00010D94 90 1F 00 08 */ stw r0, 0x8(r31)
/* 80014F48 00010D88 4E 80 04 21 */ bctrl
/* 80014F4C 00010D8C 80 1F 00 08 */ lwz r0, 8(r31)
/* 80014F50 00010D90 34 00 FF FF */ addic. r0, r0, -1
/* 80014F54 00010D94 90 1F 00 08 */ stw r0, 8(r31)
/* 80014F58 00010D98 40 82 00 24 */ bne lbl_80014F7C
/* 80014F5C 00010D9C 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80014F5C 00010D9C 2C 1F 00 00 */ cmpwi r31, 0
/* 80014F60 00010DA0 41 82 00 1C */ beq lbl_80014F7C
/* 80014F64 00010DA4 81 9F 00 00 */ lwz r12, 0x0(r31)
/* 80014F64 00010DA4 81 9F 00 00 */ lwz r12, 0(r31)
/* 80014F68 00010DA8 7F E3 FB 78 */ mr r3, r31
/* 80014F6C 00010DAC 38 80 00 01 */ li r4, 0x1
/* 80014F70 00010DB0 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 80014F6C 00010DAC 38 80 00 01 */ li r4, 1
/* 80014F70 00010DB0 81 8C 00 08 */ lwz r12, 8(r12)
/* 80014F74 00010DB4 7D 89 03 A6 */ mtctr r12
/* 80014F78 00010DB8 4E 80 04 21 */ bctrl
.global lbl_80014F7C
/* 80014F78 00010DB8 4E 80 04 21 */ bctrl
lbl_80014F7C:
/* 80014F7C 00010DBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80014F80 00010DC0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80014F84 00010DC4 7C 08 03 A6 */ mtlr r0
/* 80014F88 00010DC8 38 21 00 10 */ addi r1, r1, 0x10
/* 80014F8C 00010DCC 4E 80 00 20 */ blr
/* 80014F8C 00010DCC 4E 80 00 20 */ blr
.global "__dt__Q33std3tr114function<Fv_v>Fv"
"__dt__Q33std3tr114function<Fv_v>Fv":
.global __dt__Q33std3tr114function$$0Fv_v$$1Fv
__dt__Q33std3tr114function$$0Fv_v$$1Fv:
/* 80014F90 00010DD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80014F94 00010DD4 7C 08 02 A6 */ mflr r0
/* 80014F98 00010DD8 2C 03 00 00 */ cmpwi r3, 0x0
/* 80014F98 00010DD8 2C 03 00 00 */ cmpwi r3, 0
/* 80014F9C 00010DDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80014FA0 00010DE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80014FA4 00010DE4 7C 9F 23 78 */ mr r31, r4
/* 80014FA8 00010DE8 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80014FA8 00010DE8 93 C1 00 08 */ stw r30, 8(r1)
/* 80014FAC 00010DEC 7C 7E 1B 78 */ mr r30, r3
/* 80014FB0 00010DF0 41 82 00 64 */ beq lbl_80015014
/* 80014FB4 00010DF4 80 83 00 00 */ lwz r4, 0x0(r3)
/* 80014FB8 00010DF8 38 03 00 04 */ addi r0, r3, 0x4
/* 80014FB4 00010DF4 80 83 00 00 */ lwz r4, 0(r3)
/* 80014FB8 00010DF8 38 03 00 04 */ addi r0, r3, 4
/* 80014FBC 00010DFC 7C 04 00 40 */ cmplw r4, r0
/* 80014FC0 00010E00 40 82 00 20 */ bne lbl_80014FE0
/* 80014FC4 00010E04 7C 83 23 78 */ mr r3, r4
/* 80014FC8 00010E08 38 80 FF FF */ li r4, -0x1
/* 80014FCC 00010E0C 81 83 00 00 */ lwz r12, 0x0(r3)
/* 80014FD0 00010E10 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 80014FC8 00010E08 38 80 FF FF */ li r4, -1
/* 80014FCC 00010E0C 81 83 00 00 */ lwz r12, 0(r3)
/* 80014FD0 00010E10 81 8C 00 08 */ lwz r12, 8(r12)
/* 80014FD4 00010E14 7D 89 03 A6 */ mtctr r12
/* 80014FD8 00010E18 4E 80 04 21 */ bctrl
/* 80014FD8 00010E18 4E 80 04 21 */ bctrl
/* 80014FDC 00010E1C 48 00 00 28 */ b lbl_80015004
.global lbl_80014FE0
lbl_80014FE0:
/* 80014FE0 00010E20 2C 04 00 00 */ cmpwi r4, 0x0
/* 80014FE0 00010E20 2C 04 00 00 */ cmpwi r4, 0
/* 80014FE4 00010E24 41 82 00 20 */ beq lbl_80015004
/* 80014FE8 00010E28 41 82 00 1C */ beq lbl_80015004
/* 80014FEC 00010E2C 7C 83 23 78 */ mr r3, r4
/* 80014FF0 00010E30 38 80 00 01 */ li r4, 0x1
/* 80014FF4 00010E34 81 83 00 00 */ lwz r12, 0x0(r3)
/* 80014FF8 00010E38 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 80014FF0 00010E30 38 80 00 01 */ li r4, 1
/* 80014FF4 00010E34 81 83 00 00 */ lwz r12, 0(r3)
/* 80014FF8 00010E38 81 8C 00 08 */ lwz r12, 8(r12)
/* 80014FFC 00010E3C 7D 89 03 A6 */ mtctr r12
/* 80015000 00010E40 4E 80 04 21 */ bctrl
.global lbl_80015004
/* 80015000 00010E40 4E 80 04 21 */ bctrl
lbl_80015004:
/* 80015004 00010E44 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80015004 00010E44 2C 1F 00 00 */ cmpwi r31, 0
/* 80015008 00010E48 40 81 00 0C */ ble lbl_80015014
/* 8001500C 00010E4C 7F C3 F3 78 */ mr r3, r30
/* 80015010 00010E50 48 1A A7 05 */ bl __dl__FPv
.global lbl_80015014
lbl_80015014:
/* 80015014 00010E54 7F C3 F3 78 */ mr r3, r30
/* 80015018 00010E58 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001501C 00010E5C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8001501C 00010E5C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80015020 00010E60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80015024 00010E64 7C 08 03 A6 */ mtlr r0
/* 80015028 00010E68 38 21 00 10 */ addi r1, r1, 0x10
/* 8001502C 00010E6C 4E 80 00 20 */ blr
/* 8001502C 00010E6C 4E 80 00 20 */ blr
.global "__dt__Q43std3tr16detail20function_base<PFv_v>Fv"
"__dt__Q43std3tr16detail20function_base<PFv_v>Fv":
.global __dt__Q43std3tr16detail20function_base$$0PFv_v$$1Fv
__dt__Q43std3tr16detail20function_base$$0PFv_v$$1Fv:
/* 80015030 00010E70 4B FF 1B A0 */ b __dt__Q23std9exceptionFv
.section extab, "wa" # 0x80006740 - 0x800068E0
.global $$28323
$$28323:
.4byte 0x08080000
.4byte 0
.global $$28430
$$28430:
.4byte 0x10080000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.section extabindex, "wa" # 0x800068E0 - 0x80006A00
.global $$28324
$$28324:
.4byte release__Q43std3tr16detail25shared_ptr_deleter_commonFv
.4byte 0x00000078
.4byte $$28323
.global $$28431
$$28431:
.4byte __dt__Q33std3tr114function$$0Fv_v$$1Fv
.4byte 0x000000A0
.4byte $$28430

View file

@ -0,0 +1,185 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global _ftell
_ftell:
/* 8000A8E4 00006724 80 03 00 04 */ lwz r0, 4(r3)
/* 8000A8E8 00006728 38 C0 00 00 */ li r6, 0
/* 8000A8EC 0000672C 54 04 57 7E */ rlwinm r4, r0, 0xa, 0x1d, 0x1f
/* 8000A8F0 00006730 38 04 00 FF */ addi r0, r4, 0xff
/* 8000A8F4 00006734 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8000A8F8 00006738 28 00 00 01 */ cmplwi r0, 1
/* 8000A8FC 0000673C 41 81 00 10 */ bgt lbl_8000A90C
/* 8000A900 00006740 88 03 00 0A */ lbz r0, 0xa(r3)
/* 8000A904 00006744 2C 00 00 00 */ cmpwi r0, 0
/* 8000A908 00006748 41 82 00 14 */ beq lbl_8000A91C
lbl_8000A90C:
/* 8000A90C 0000674C 38 00 00 28 */ li r0, 0x28
/* 8000A910 00006750 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 8000A914 00006754 38 60 FF FF */ li r3, -1
/* 8000A918 00006758 4E 80 00 20 */ blr
lbl_8000A91C:
/* 8000A91C 0000675C 80 03 00 08 */ lwz r0, 8(r3)
/* 8000A920 00006760 54 05 1F 7F */ rlwinm. r5, r0, 3, 0x1d, 0x1f
/* 8000A924 00006764 40 82 00 0C */ bne lbl_8000A930
/* 8000A928 00006768 80 63 00 18 */ lwz r3, 0x18(r3)
/* 8000A92C 0000676C 4E 80 00 20 */ blr
lbl_8000A930:
/* 8000A930 00006770 81 03 00 1C */ lwz r8, 0x1c(r3)
/* 8000A934 00006774 28 05 00 03 */ cmplwi r5, 3
/* 8000A938 00006778 80 83 00 24 */ lwz r4, 0x24(r3)
/* 8000A93C 0000677C 80 03 00 34 */ lwz r0, 0x34(r3)
/* 8000A940 00006780 7C 88 20 50 */ subf r4, r8, r4
/* 8000A944 00006784 7C E0 22 14 */ add r7, r0, r4
/* 8000A948 00006788 41 80 00 0C */ blt lbl_8000A954
/* 8000A94C 0000678C 38 C5 FF FE */ addi r6, r5, -2
/* 8000A950 00006790 7C E6 38 50 */ subf r7, r6, r7
lbl_8000A954:
/* 8000A954 00006794 80 03 00 04 */ lwz r0, 4(r3)
/* 8000A958 00006798 54 00 6F FF */ rlwinm. r0, r0, 0xd, 0x1f, 0x1f
/* 8000A95C 0000679C 40 82 00 28 */ bne lbl_8000A984
/* 8000A960 000067A0 7C 06 20 51 */ subf. r0, r6, r4
/* 8000A964 000067A4 7C 09 03 A6 */ mtctr r0
/* 8000A968 000067A8 41 82 00 1C */ beq lbl_8000A984
lbl_8000A96C:
/* 8000A96C 000067AC 88 08 00 00 */ lbz r0, 0(r8)
/* 8000A970 000067B0 39 08 00 01 */ addi r8, r8, 1
/* 8000A974 000067B4 28 00 00 0A */ cmplwi r0, 0xa
/* 8000A978 000067B8 40 82 00 08 */ bne lbl_8000A980
/* 8000A97C 000067BC 38 E7 00 01 */ addi r7, r7, 1
lbl_8000A980:
/* 8000A980 000067C0 42 00 FF EC */ bdnz lbl_8000A96C
lbl_8000A984:
/* 8000A984 000067C4 7C E3 3B 78 */ mr r3, r7
/* 8000A988 000067C8 4E 80 00 20 */ blr
.global ftell
ftell:
/* 8000A98C 000067CC 4B FF FF 58 */ b _ftell
.global _fseek
_fseek:
/* 8000A990 000067D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000A994 000067D4 7C 08 02 A6 */ mflr r0
/* 8000A998 000067D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000A99C 000067DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000A9A0 000067E0 7C BF 2B 78 */ mr r31, r5
/* 8000A9A4 000067E4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000A9A8 000067E8 7C 7E 1B 78 */ mr r30, r3
/* 8000A9AC 000067EC 90 81 00 08 */ stw r4, 8(r1)
/* 8000A9B0 000067F0 80 03 00 04 */ lwz r0, 4(r3)
/* 8000A9B4 000067F4 54 00 57 7E */ rlwinm r0, r0, 0xa, 0x1d, 0x1f
/* 8000A9B8 000067F8 28 00 00 01 */ cmplwi r0, 1
/* 8000A9BC 000067FC 40 82 00 10 */ bne lbl_8000A9CC
/* 8000A9C0 00006800 88 03 00 0A */ lbz r0, 0xa(r3)
/* 8000A9C4 00006804 2C 00 00 00 */ cmpwi r0, 0
/* 8000A9C8 00006808 41 82 00 14 */ beq lbl_8000A9DC
lbl_8000A9CC:
/* 8000A9CC 0000680C 38 00 00 28 */ li r0, 0x28
/* 8000A9D0 00006810 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 8000A9D4 00006814 38 60 FF FF */ li r3, -1
/* 8000A9D8 00006818 48 00 01 64 */ b lbl_8000AB3C
lbl_8000A9DC:
/* 8000A9DC 0000681C 80 03 00 08 */ lwz r0, 8(r3)
/* 8000A9E0 00006820 54 00 1F 7E */ srwi r0, r0, 0x1d
/* 8000A9E4 00006824 28 00 00 01 */ cmplwi r0, 1
/* 8000A9E8 00006828 40 82 00 34 */ bne lbl_8000AA1C
/* 8000A9EC 0000682C 38 80 00 00 */ li r4, 0
/* 8000A9F0 00006830 4B FF F9 15 */ bl __flush_buffer
/* 8000A9F4 00006834 2C 03 00 00 */ cmpwi r3, 0
/* 8000A9F8 00006838 41 82 00 24 */ beq lbl_8000AA1C
/* 8000A9FC 0000683C 38 80 00 00 */ li r4, 0
/* 8000AA00 00006840 90 9E 00 28 */ stw r4, 0x28(r30)
/* 8000AA04 00006844 38 00 00 01 */ li r0, 1
/* 8000AA08 00006848 38 60 FF FF */ li r3, -1
/* 8000AA0C 0000684C 98 1E 00 0A */ stb r0, 0xa(r30)
/* 8000AA10 00006850 38 00 00 28 */ li r0, 0x28
/* 8000AA14 00006854 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 8000AA18 00006858 48 00 01 24 */ b lbl_8000AB3C
lbl_8000AA1C:
/* 8000AA1C 0000685C 2C 1F 00 01 */ cmpwi r31, 1
/* 8000AA20 00006860 40 82 00 1C */ bne lbl_8000AA3C
/* 8000AA24 00006864 7F C3 F3 78 */ mr r3, r30
/* 8000AA28 00006868 3B E0 00 00 */ li r31, 0
/* 8000AA2C 0000686C 4B FF FE B9 */ bl _ftell
/* 8000AA30 00006870 80 01 00 08 */ lwz r0, 8(r1)
/* 8000AA34 00006874 7C 00 1A 14 */ add r0, r0, r3
/* 8000AA38 00006878 90 01 00 08 */ stw r0, 8(r1)
lbl_8000AA3C:
/* 8000AA3C 0000687C 2C 1F 00 02 */ cmpwi r31, 2
/* 8000AA40 00006880 41 82 00 80 */ beq lbl_8000AAC0
/* 8000AA44 00006884 80 1E 00 04 */ lwz r0, 4(r30)
/* 8000AA48 00006888 54 00 2F 7E */ rlwinm r0, r0, 5, 0x1d, 0x1f
/* 8000AA4C 0000688C 28 00 00 03 */ cmplwi r0, 3
/* 8000AA50 00006890 41 82 00 70 */ beq lbl_8000AAC0
/* 8000AA54 00006894 80 DE 00 08 */ lwz r6, 8(r30)
/* 8000AA58 00006898 54 C3 1F 7E */ srwi r3, r6, 0x1d
/* 8000AA5C 0000689C 38 03 FF FE */ addi r0, r3, -2
/* 8000AA60 000068A0 28 00 00 01 */ cmplwi r0, 1
/* 8000AA64 000068A4 41 81 00 5C */ bgt lbl_8000AAC0
/* 8000AA68 000068A8 80 01 00 08 */ lwz r0, 8(r1)
/* 8000AA6C 000068AC 80 BE 00 18 */ lwz r5, 0x18(r30)
/* 8000AA70 000068B0 7C 00 28 40 */ cmplw r0, r5
/* 8000AA74 000068B4 40 80 00 10 */ bge lbl_8000AA84
/* 8000AA78 000068B8 80 7E 00 34 */ lwz r3, 0x34(r30)
/* 8000AA7C 000068BC 7C 00 18 40 */ cmplw r0, r3
/* 8000AA80 000068C0 40 80 00 14 */ bge lbl_8000AA94
lbl_8000AA84:
/* 8000AA84 000068C4 80 1E 00 08 */ lwz r0, 8(r30)
/* 8000AA88 000068C8 54 00 00 FE */ clrlwi r0, r0, 3
/* 8000AA8C 000068CC 90 1E 00 08 */ stw r0, 8(r30)
/* 8000AA90 000068D0 48 00 00 3C */ b lbl_8000AACC
lbl_8000AA94:
/* 8000AA94 000068D4 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 8000AA98 000068D8 7C 63 00 50 */ subf r3, r3, r0
/* 8000AA9C 000068DC 38 00 00 02 */ li r0, 2
/* 8000AAA0 000068E0 7C 64 1A 14 */ add r3, r4, r3
/* 8000AAA4 000068E4 90 7E 00 24 */ stw r3, 0x24(r30)
/* 8000AAA8 000068E8 50 06 E8 04 */ rlwimi r6, r0, 0x1d, 0, 2
/* 8000AAAC 000068EC 80 01 00 08 */ lwz r0, 8(r1)
/* 8000AAB0 000068F0 7C 00 28 50 */ subf r0, r0, r5
/* 8000AAB4 000068F4 90 1E 00 28 */ stw r0, 0x28(r30)
/* 8000AAB8 000068F8 90 DE 00 08 */ stw r6, 8(r30)
/* 8000AABC 000068FC 48 00 00 10 */ b lbl_8000AACC
lbl_8000AAC0:
/* 8000AAC0 00006900 80 1E 00 08 */ lwz r0, 8(r30)
/* 8000AAC4 00006904 54 00 00 FE */ clrlwi r0, r0, 3
/* 8000AAC8 00006908 90 1E 00 08 */ stw r0, 8(r30)
lbl_8000AACC:
/* 8000AACC 0000690C 80 1E 00 08 */ lwz r0, 8(r30)
/* 8000AAD0 00006910 54 00 1F 7F */ rlwinm. r0, r0, 3, 0x1d, 0x1f
/* 8000AAD4 00006914 40 82 00 64 */ bne lbl_8000AB38
/* 8000AAD8 00006918 81 9E 00 38 */ lwz r12, 0x38(r30)
/* 8000AADC 0000691C 2C 0C 00 00 */ cmpwi r12, 0
/* 8000AAE0 00006920 41 82 00 44 */ beq lbl_8000AB24
/* 8000AAE4 00006924 7F E5 FB 78 */ mr r5, r31
/* 8000AAE8 00006928 38 81 00 08 */ addi r4, r1, 8
/* 8000AAEC 0000692C 80 7E 00 00 */ lwz r3, 0(r30)
/* 8000AAF0 00006930 80 DE 00 48 */ lwz r6, 0x48(r30)
/* 8000AAF4 00006934 7D 89 03 A6 */ mtctr r12
/* 8000AAF8 00006938 4E 80 04 21 */ bctrl
/* 8000AAFC 0000693C 2C 03 00 00 */ cmpwi r3, 0
/* 8000AB00 00006940 41 82 00 24 */ beq lbl_8000AB24
/* 8000AB04 00006944 38 80 00 00 */ li r4, 0
/* 8000AB08 00006948 90 9E 00 28 */ stw r4, 0x28(r30)
/* 8000AB0C 0000694C 38 00 00 01 */ li r0, 1
/* 8000AB10 00006950 38 60 FF FF */ li r3, -1
/* 8000AB14 00006954 98 1E 00 0A */ stb r0, 0xa(r30)
/* 8000AB18 00006958 38 00 00 28 */ li r0, 0x28
/* 8000AB1C 0000695C 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 8000AB20 00006960 48 00 00 1C */ b lbl_8000AB3C
lbl_8000AB24:
/* 8000AB24 00006964 38 60 00 00 */ li r3, 0
/* 8000AB28 00006968 98 7E 00 09 */ stb r3, 9(r30)
/* 8000AB2C 0000696C 80 01 00 08 */ lwz r0, 8(r1)
/* 8000AB30 00006970 90 1E 00 18 */ stw r0, 0x18(r30)
/* 8000AB34 00006974 90 7E 00 28 */ stw r3, 0x28(r30)
lbl_8000AB38:
/* 8000AB38 00006978 38 60 00 00 */ li r3, 0
lbl_8000AB3C:
/* 8000AB3C 0000697C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000AB40 00006980 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000AB44 00006984 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8000AB48 00006988 7C 08 03 A6 */ mtlr r0
/* 8000AB4C 0000698C 38 21 00 20 */ addi r1, r1, 0x20
/* 8000AB50 00006990 4E 80 00 20 */ blr

View file

@ -1,201 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global _ftell
_ftell:
/* 8000A8E4 00006724 80 03 00 04 */ lwz r0, 0x4(r3)
/* 8000A8E8 00006728 38 C0 00 00 */ li r6, 0x0
/* 8000A8EC 0000672C 54 04 57 7E */ extrwi r4, r0, 3, 7
/* 8000A8F0 00006730 38 04 00 FF */ addi r0, r4, 0xff
/* 8000A8F4 00006734 54 00 06 3E */ clrlwi r0, r0, 24
/* 8000A8F8 00006738 28 00 00 01 */ cmplwi r0, 0x1
/* 8000A8FC 0000673C 41 81 00 10 */ bgt lbl_8000A90C
/* 8000A900 00006740 88 03 00 0A */ lbz r0, 0xa(r3)
/* 8000A904 00006744 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000A908 00006748 41 82 00 14 */ beq lbl_8000A91C
.global lbl_8000A90C
lbl_8000A90C:
/* 8000A90C 0000674C 38 00 00 28 */ li r0, 0x28
/* 8000A910 00006750 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 8000A914 00006754 38 60 FF FF */ li r3, -0x1
/* 8000A918 00006758 4E 80 00 20 */ blr
.global lbl_8000A91C
lbl_8000A91C:
/* 8000A91C 0000675C 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8000A920 00006760 54 05 1F 7F */ srwi. r5, r0, 29
/* 8000A924 00006764 40 82 00 0C */ bne lbl_8000A930
/* 8000A928 00006768 80 63 00 18 */ lwz r3, 0x18(r3)
/* 8000A92C 0000676C 4E 80 00 20 */ blr
.global lbl_8000A930
lbl_8000A930:
/* 8000A930 00006770 81 03 00 1C */ lwz r8, 0x1c(r3)
/* 8000A934 00006774 28 05 00 03 */ cmplwi r5, 0x3
/* 8000A938 00006778 80 83 00 24 */ lwz r4, 0x24(r3)
/* 8000A93C 0000677C 80 03 00 34 */ lwz r0, 0x34(r3)
/* 8000A940 00006780 7C 88 20 50 */ subf r4, r8, r4
/* 8000A944 00006784 7C E0 22 14 */ add r7, r0, r4
/* 8000A948 00006788 41 80 00 0C */ blt lbl_8000A954
/* 8000A94C 0000678C 38 C5 FF FE */ addi r6, r5, -0x2
/* 8000A950 00006790 7C E6 38 50 */ subf r7, r6, r7
.global lbl_8000A954
lbl_8000A954:
/* 8000A954 00006794 80 03 00 04 */ lwz r0, 0x4(r3)
/* 8000A958 00006798 54 00 6F FF */ extrwi. r0, r0, 1, 12
/* 8000A95C 0000679C 40 82 00 28 */ bne lbl_8000A984
/* 8000A960 000067A0 7C 06 20 51 */ subf. r0, r6, r4
/* 8000A964 000067A4 7C 09 03 A6 */ mtctr r0
/* 8000A968 000067A8 41 82 00 1C */ beq lbl_8000A984
.global lbl_8000A96C
lbl_8000A96C:
/* 8000A96C 000067AC 88 08 00 00 */ lbz r0, 0x0(r8)
/* 8000A970 000067B0 39 08 00 01 */ addi r8, r8, 0x1
/* 8000A974 000067B4 28 00 00 0A */ cmplwi r0, 0xa
/* 8000A978 000067B8 40 82 00 08 */ bne lbl_8000A980
/* 8000A97C 000067BC 38 E7 00 01 */ addi r7, r7, 0x1
.global lbl_8000A980
lbl_8000A980:
/* 8000A980 000067C0 42 00 FF EC */ bdnz lbl_8000A96C
.global lbl_8000A984
lbl_8000A984:
/* 8000A984 000067C4 7C E3 3B 78 */ mr r3, r7
/* 8000A988 000067C8 4E 80 00 20 */ blr
.global ftell
ftell:
/* 8000A98C 000067CC 4B FF FF 58 */ b _ftell
.global _fseek
_fseek:
/* 8000A990 000067D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000A994 000067D4 7C 08 02 A6 */ mflr r0
/* 8000A998 000067D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000A99C 000067DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000A9A0 000067E0 7C BF 2B 78 */ mr r31, r5
/* 8000A9A4 000067E4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000A9A8 000067E8 7C 7E 1B 78 */ mr r30, r3
/* 8000A9AC 000067EC 90 81 00 08 */ stw r4, 0x8(r1)
/* 8000A9B0 000067F0 80 03 00 04 */ lwz r0, 0x4(r3)
/* 8000A9B4 000067F4 54 00 57 7E */ extrwi r0, r0, 3, 7
/* 8000A9B8 000067F8 28 00 00 01 */ cmplwi r0, 0x1
/* 8000A9BC 000067FC 40 82 00 10 */ bne lbl_8000A9CC
/* 8000A9C0 00006800 88 03 00 0A */ lbz r0, 0xa(r3)
/* 8000A9C4 00006804 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000A9C8 00006808 41 82 00 14 */ beq lbl_8000A9DC
.global lbl_8000A9CC
lbl_8000A9CC:
/* 8000A9CC 0000680C 38 00 00 28 */ li r0, 0x28
/* 8000A9D0 00006810 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 8000A9D4 00006814 38 60 FF FF */ li r3, -0x1
/* 8000A9D8 00006818 48 00 01 64 */ b lbl_8000AB3C
.global lbl_8000A9DC
lbl_8000A9DC:
/* 8000A9DC 0000681C 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8000A9E0 00006820 54 00 1F 7E */ srwi r0, r0, 29
/* 8000A9E4 00006824 28 00 00 01 */ cmplwi r0, 0x1
/* 8000A9E8 00006828 40 82 00 34 */ bne lbl_8000AA1C
/* 8000A9EC 0000682C 38 80 00 00 */ li r4, 0x0
/* 8000A9F0 00006830 4B FF F9 15 */ bl __flush_buffer
/* 8000A9F4 00006834 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000A9F8 00006838 41 82 00 24 */ beq lbl_8000AA1C
/* 8000A9FC 0000683C 38 80 00 00 */ li r4, 0x0
/* 8000AA00 00006840 90 9E 00 28 */ stw r4, 0x28(r30)
/* 8000AA04 00006844 38 00 00 01 */ li r0, 0x1
/* 8000AA08 00006848 38 60 FF FF */ li r3, -0x1
/* 8000AA0C 0000684C 98 1E 00 0A */ stb r0, 0xa(r30)
/* 8000AA10 00006850 38 00 00 28 */ li r0, 0x28
/* 8000AA14 00006854 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 8000AA18 00006858 48 00 01 24 */ b lbl_8000AB3C
.global lbl_8000AA1C
lbl_8000AA1C:
/* 8000AA1C 0000685C 2C 1F 00 01 */ cmpwi r31, 0x1
/* 8000AA20 00006860 40 82 00 1C */ bne lbl_8000AA3C
/* 8000AA24 00006864 7F C3 F3 78 */ mr r3, r30
/* 8000AA28 00006868 3B E0 00 00 */ li r31, 0x0
/* 8000AA2C 0000686C 4B FF FE B9 */ bl _ftell
/* 8000AA30 00006870 80 01 00 08 */ lwz r0, 0x8(r1)
/* 8000AA34 00006874 7C 00 1A 14 */ add r0, r0, r3
/* 8000AA38 00006878 90 01 00 08 */ stw r0, 0x8(r1)
.global lbl_8000AA3C
lbl_8000AA3C:
/* 8000AA3C 0000687C 2C 1F 00 02 */ cmpwi r31, 0x2
/* 8000AA40 00006880 41 82 00 80 */ beq lbl_8000AAC0
/* 8000AA44 00006884 80 1E 00 04 */ lwz r0, 0x4(r30)
/* 8000AA48 00006888 54 00 2F 7E */ extrwi r0, r0, 3, 2
/* 8000AA4C 0000688C 28 00 00 03 */ cmplwi r0, 0x3
/* 8000AA50 00006890 41 82 00 70 */ beq lbl_8000AAC0
/* 8000AA54 00006894 80 DE 00 08 */ lwz r6, 0x8(r30)
/* 8000AA58 00006898 54 C3 1F 7E */ srwi r3, r6, 29
/* 8000AA5C 0000689C 38 03 FF FE */ addi r0, r3, -0x2
/* 8000AA60 000068A0 28 00 00 01 */ cmplwi r0, 0x1
/* 8000AA64 000068A4 41 81 00 5C */ bgt lbl_8000AAC0
/* 8000AA68 000068A8 80 01 00 08 */ lwz r0, 0x8(r1)
/* 8000AA6C 000068AC 80 BE 00 18 */ lwz r5, 0x18(r30)
/* 8000AA70 000068B0 7C 00 28 40 */ cmplw r0, r5
/* 8000AA74 000068B4 40 80 00 10 */ bge lbl_8000AA84
/* 8000AA78 000068B8 80 7E 00 34 */ lwz r3, 0x34(r30)
/* 8000AA7C 000068BC 7C 00 18 40 */ cmplw r0, r3
/* 8000AA80 000068C0 40 80 00 14 */ bge lbl_8000AA94
.global lbl_8000AA84
lbl_8000AA84:
/* 8000AA84 000068C4 80 1E 00 08 */ lwz r0, 0x8(r30)
/* 8000AA88 000068C8 54 00 00 FE */ clrlwi r0, r0, 3
/* 8000AA8C 000068CC 90 1E 00 08 */ stw r0, 0x8(r30)
/* 8000AA90 000068D0 48 00 00 3C */ b lbl_8000AACC
.global lbl_8000AA94
lbl_8000AA94:
/* 8000AA94 000068D4 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 8000AA98 000068D8 7C 63 00 50 */ subf r3, r3, r0
/* 8000AA9C 000068DC 38 00 00 02 */ li r0, 0x2
/* 8000AAA0 000068E0 7C 64 1A 14 */ add r3, r4, r3
/* 8000AAA4 000068E4 90 7E 00 24 */ stw r3, 0x24(r30)
/* 8000AAA8 000068E8 50 06 E8 04 */ rlwimi r6, r0, 29, 0, 2
/* 8000AAAC 000068EC 80 01 00 08 */ lwz r0, 0x8(r1)
/* 8000AAB0 000068F0 7C 00 28 50 */ subf r0, r0, r5
/* 8000AAB4 000068F4 90 1E 00 28 */ stw r0, 0x28(r30)
/* 8000AAB8 000068F8 90 DE 00 08 */ stw r6, 0x8(r30)
/* 8000AABC 000068FC 48 00 00 10 */ b lbl_8000AACC
.global lbl_8000AAC0
lbl_8000AAC0:
/* 8000AAC0 00006900 80 1E 00 08 */ lwz r0, 0x8(r30)
/* 8000AAC4 00006904 54 00 00 FE */ clrlwi r0, r0, 3
/* 8000AAC8 00006908 90 1E 00 08 */ stw r0, 0x8(r30)
.global lbl_8000AACC
lbl_8000AACC:
/* 8000AACC 0000690C 80 1E 00 08 */ lwz r0, 0x8(r30)
/* 8000AAD0 00006910 54 00 1F 7F */ srwi. r0, r0, 29
/* 8000AAD4 00006914 40 82 00 64 */ bne lbl_8000AB38
/* 8000AAD8 00006918 81 9E 00 38 */ lwz r12, 0x38(r30)
/* 8000AADC 0000691C 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8000AAE0 00006920 41 82 00 44 */ beq lbl_8000AB24
/* 8000AAE4 00006924 7F E5 FB 78 */ mr r5, r31
/* 8000AAE8 00006928 38 81 00 08 */ addi r4, r1, 0x8
/* 8000AAEC 0000692C 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8000AAF0 00006930 80 DE 00 48 */ lwz r6, 0x48(r30)
/* 8000AAF4 00006934 7D 89 03 A6 */ mtctr r12
/* 8000AAF8 00006938 4E 80 04 21 */ bctrl
/* 8000AAFC 0000693C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000AB00 00006940 41 82 00 24 */ beq lbl_8000AB24
/* 8000AB04 00006944 38 80 00 00 */ li r4, 0x0
/* 8000AB08 00006948 90 9E 00 28 */ stw r4, 0x28(r30)
/* 8000AB0C 0000694C 38 00 00 01 */ li r0, 0x1
/* 8000AB10 00006950 38 60 FF FF */ li r3, -0x1
/* 8000AB14 00006954 98 1E 00 0A */ stb r0, 0xa(r30)
/* 8000AB18 00006958 38 00 00 28 */ li r0, 0x28
/* 8000AB1C 0000695C 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 8000AB20 00006960 48 00 00 1C */ b lbl_8000AB3C
.global lbl_8000AB24
lbl_8000AB24:
/* 8000AB24 00006964 38 60 00 00 */ li r3, 0x0
/* 8000AB28 00006968 98 7E 00 09 */ stb r3, 0x9(r30)
/* 8000AB2C 0000696C 80 01 00 08 */ lwz r0, 0x8(r1)
/* 8000AB30 00006970 90 1E 00 18 */ stw r0, 0x18(r30)
/* 8000AB34 00006974 90 7E 00 28 */ stw r3, 0x28(r30)
.global lbl_8000AB38
lbl_8000AB38:
/* 8000AB38 00006978 38 60 00 00 */ li r3, 0x0
.global lbl_8000AB3C
lbl_8000AB3C:
/* 8000AB3C 0000697C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000AB40 00006980 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000AB44 00006984 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8000AB48 00006988 7C 08 03 A6 */ mtlr r0
/* 8000AB4C 0000698C 38 21 00 20 */ addi r1, r1, 0x20
/* 8000AB50 00006990 4E 80 00 20 */ blr

View file

@ -1,428 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global Block_link
Block_link:
/* 80009234 00005074 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80009238 00005078 7C 08 02 A6 */ mflr r0
/* 8000923C 0000507C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80009240 00005080 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80009244 00005084 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80009248 00005088 7C 7E 1B 78 */ mr r30, r3
/* 8000924C 0000508C 80 04 00 00 */ lwz r0, 0x0(r4)
/* 80009250 00005090 54 06 00 38 */ clrrwi r6, r0, 3
/* 80009254 00005094 54 00 07 FA */ rlwinm r0, r0, 0, 31, 29
/* 80009258 00005098 90 04 00 00 */ stw r0, 0x0(r4)
/* 8000925C 0000509C 7C A4 32 14 */ add r5, r4, r6
/* 80009260 000050A0 7C 04 30 2E */ lwzx r0, r4, r6
/* 80009264 000050A4 54 00 07 B8 */ rlwinm r0, r0, 0, 30, 28
/* 80009268 000050A8 7C 04 31 2E */ stwx r0, r4, r6
/* 8000926C 000050AC 90 C5 FF FC */ stw r6, -0x4(r5)
/* 80009270 000050B0 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80009274 000050B4 54 00 00 38 */ clrrwi r0, r0, 3
/* 80009278 000050B8 7F E3 02 14 */ add r31, r3, r0
/* 8000927C 000050BC 84 7F FF FC */ lwzu r3, -0x4(r31)
/* 80009280 000050C0 2C 03 00 00 */ cmpwi r3, 0x0
/* 80009284 000050C4 41 82 00 C0 */ beq lbl_80009344
/* 80009288 000050C8 80 A3 00 08 */ lwz r5, 0x8(r3)
/* 8000928C 000050CC 7C 83 23 78 */ mr r3, r4
/* 80009290 000050D0 90 A4 00 08 */ stw r5, 0x8(r4)
/* 80009294 000050D4 90 85 00 0C */ stw r4, 0xc(r5)
/* 80009298 000050D8 80 1F 00 00 */ lwz r0, 0x0(r31)
/* 8000929C 000050DC 90 04 00 0C */ stw r0, 0xc(r4)
/* 800092A0 000050E0 80 BF 00 00 */ lwz r5, 0x0(r31)
/* 800092A4 000050E4 90 85 00 08 */ stw r4, 0x8(r5)
/* 800092A8 000050E8 90 9F 00 00 */ stw r4, 0x0(r31)
/* 800092AC 000050EC 80 04 00 00 */ lwz r0, 0x0(r4)
/* 800092B0 000050F0 54 00 07 7B */ rlwinm. r0, r0, 0, 29, 29
/* 800092B4 000050F4 40 82 00 80 */ bne lbl_80009334
/* 800092B8 000050F8 80 C4 FF FC */ lwz r6, -0x4(r4)
/* 800092BC 000050FC 54 C0 07 BD */ rlwinm. r0, r6, 0, 30, 30
/* 800092C0 00005100 41 82 00 08 */ beq lbl_800092C8
/* 800092C4 00005104 48 00 00 70 */ b lbl_80009334
.global lbl_800092C8
lbl_800092C8:
/* 800092C8 00005108 7C 66 20 50 */ subf r3, r6, r4
/* 800092CC 0000510C 80 03 00 00 */ lwz r0, 0x0(r3)
/* 800092D0 00005110 54 05 07 7E */ clrlwi r5, r0, 29
/* 800092D4 00005114 90 A3 00 00 */ stw r5, 0x0(r3)
/* 800092D8 00005118 80 04 00 00 */ lwz r0, 0x0(r4)
/* 800092DC 0000511C 54 00 00 38 */ clrrwi r0, r0, 3
/* 800092E0 00005120 7C 06 02 14 */ add r0, r6, r0
/* 800092E4 00005124 50 05 00 38 */ rlwimi r5, r0, 0, 0, 28
/* 800092E8 00005128 90 A3 00 00 */ stw r5, 0x0(r3)
/* 800092EC 0000512C 54 A0 07 BD */ rlwinm. r0, r5, 0, 30, 30
/* 800092F0 00005130 40 82 00 18 */ bne lbl_80009308
/* 800092F4 00005134 80 04 00 00 */ lwz r0, 0x0(r4)
/* 800092F8 00005138 54 00 00 38 */ clrrwi r0, r0, 3
/* 800092FC 0000513C 7C 06 02 14 */ add r0, r6, r0
/* 80009300 00005140 7C A3 02 14 */ add r5, r3, r0
/* 80009304 00005144 90 05 FF FC */ stw r0, -0x4(r5)
.global lbl_80009308
lbl_80009308:
/* 80009308 00005148 80 BF 00 00 */ lwz r5, 0x0(r31)
/* 8000930C 0000514C 7C 05 20 40 */ cmplw r5, r4
/* 80009310 00005150 40 82 00 0C */ bne lbl_8000931C
/* 80009314 00005154 80 05 00 0C */ lwz r0, 0xc(r5)
/* 80009318 00005158 90 1F 00 00 */ stw r0, 0x0(r31)
.global lbl_8000931C
lbl_8000931C:
/* 8000931C 0000515C 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 80009320 00005160 80 04 00 08 */ lwz r0, 0x8(r4)
/* 80009324 00005164 90 05 00 08 */ stw r0, 0x8(r5)
/* 80009328 00005168 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 8000932C 0000516C 80 85 00 08 */ lwz r4, 0x8(r5)
/* 80009330 00005170 90 A4 00 0C */ stw r5, 0xc(r4)
.global lbl_80009334
lbl_80009334:
/* 80009334 00005174 90 7F 00 00 */ stw r3, 0x0(r31)
/* 80009338 00005178 7F E4 FB 78 */ mr r4, r31
/* 8000933C 0000517C 48 00 00 49 */ bl SubBlock_merge_next
/* 80009340 00005180 48 00 00 10 */ b lbl_80009350
.global lbl_80009344
lbl_80009344:
/* 80009344 00005184 90 9F 00 00 */ stw r4, 0x0(r31)
/* 80009348 00005188 90 84 00 08 */ stw r4, 0x8(r4)
/* 8000934C 0000518C 90 84 00 0C */ stw r4, 0xc(r4)
.global lbl_80009350
lbl_80009350:
/* 80009350 00005190 80 7F 00 00 */ lwz r3, 0x0(r31)
/* 80009354 00005194 80 1E 00 08 */ lwz r0, 0x8(r30)
/* 80009358 00005198 80 63 00 00 */ lwz r3, 0x0(r3)
/* 8000935C 0000519C 54 63 00 38 */ clrrwi r3, r3, 3
/* 80009360 000051A0 7C 00 18 40 */ cmplw r0, r3
/* 80009364 000051A4 40 80 00 08 */ bge lbl_8000936C
/* 80009368 000051A8 90 7E 00 08 */ stw r3, 0x8(r30)
.global lbl_8000936C
lbl_8000936C:
/* 8000936C 000051AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80009370 000051B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80009374 000051B4 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80009378 000051B8 7C 08 03 A6 */ mtlr r0
/* 8000937C 000051BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80009380 000051C0 4E 80 00 20 */ blr
.global SubBlock_merge_next
SubBlock_merge_next:
/* 80009384 000051C4 80 C3 00 00 */ lwz r6, 0x0(r3)
/* 80009388 000051C8 54 C7 00 38 */ clrrwi r7, r6, 3
/* 8000938C 000051CC 7C A3 38 2E */ lwzx r5, r3, r7
/* 80009390 000051D0 7D 03 3A 14 */ add r8, r3, r7
/* 80009394 000051D4 54 A0 07 BD */ rlwinm. r0, r5, 0, 30, 30
/* 80009398 000051D8 4C 82 00 20 */ bnelr
/* 8000939C 000051DC 54 A5 00 38 */ clrrwi r5, r5, 3
/* 800093A0 000051E0 54 C0 07 7E */ clrlwi r0, r6, 29
/* 800093A4 000051E4 7C C7 2A 14 */ add r6, r7, r5
/* 800093A8 000051E8 50 C0 00 38 */ rlwimi r0, r6, 0, 0, 28
/* 800093AC 000051EC 90 03 00 00 */ stw r0, 0x0(r3)
/* 800093B0 000051F0 54 00 07 BD */ rlwinm. r0, r0, 0, 30, 30
/* 800093B4 000051F4 40 82 00 0C */ bne lbl_800093C0
/* 800093B8 000051F8 7C A3 32 14 */ add r5, r3, r6
/* 800093BC 000051FC 90 C5 FF FC */ stw r6, -0x4(r5)
.global lbl_800093C0
lbl_800093C0:
/* 800093C0 00005200 80 03 00 00 */ lwz r0, 0x0(r3)
/* 800093C4 00005204 54 00 07 BD */ rlwinm. r0, r0, 0, 30, 30
/* 800093C8 00005208 40 82 00 14 */ bne lbl_800093DC
/* 800093CC 0000520C 7C 03 30 2E */ lwzx r0, r3, r6
/* 800093D0 00005210 54 00 07 B8 */ rlwinm r0, r0, 0, 30, 28
/* 800093D4 00005214 7C 03 31 2E */ stwx r0, r3, r6
/* 800093D8 00005218 48 00 00 10 */ b lbl_800093E8
.global lbl_800093DC
lbl_800093DC:
/* 800093DC 0000521C 7C 03 30 2E */ lwzx r0, r3, r6
/* 800093E0 00005220 60 00 00 04 */ ori r0, r0, 0x4
/* 800093E4 00005224 7C 03 31 2E */ stwx r0, r3, r6
.global lbl_800093E8
lbl_800093E8:
/* 800093E8 00005228 80 64 00 00 */ lwz r3, 0x0(r4)
/* 800093EC 0000522C 7C 03 40 40 */ cmplw r3, r8
/* 800093F0 00005230 40 82 00 0C */ bne lbl_800093FC
/* 800093F4 00005234 80 03 00 0C */ lwz r0, 0xc(r3)
/* 800093F8 00005238 90 04 00 00 */ stw r0, 0x0(r4)
.global lbl_800093FC
lbl_800093FC:
/* 800093FC 0000523C 80 04 00 00 */ lwz r0, 0x0(r4)
/* 80009400 00005240 7C 00 40 40 */ cmplw r0, r8
/* 80009404 00005244 40 82 00 0C */ bne lbl_80009410
/* 80009408 00005248 38 00 00 00 */ li r0, 0x0
/* 8000940C 0000524C 90 04 00 00 */ stw r0, 0x0(r4)
.global lbl_80009410
lbl_80009410:
/* 80009410 00005250 80 68 00 0C */ lwz r3, 0xc(r8)
/* 80009414 00005254 80 08 00 08 */ lwz r0, 0x8(r8)
/* 80009418 00005258 90 03 00 08 */ stw r0, 0x8(r3)
/* 8000941C 0000525C 80 68 00 08 */ lwz r3, 0x8(r8)
/* 80009420 00005260 80 08 00 0C */ lwz r0, 0xc(r8)
/* 80009424 00005264 90 03 00 0C */ stw r0, 0xc(r3)
/* 80009428 00005268 4E 80 00 20 */ blr
.global deallocate_from_fixed_pools
deallocate_from_fixed_pools:
/* 8000942C 0000526C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80009430 00005270 7C 08 02 A6 */ mflr r0
/* 80009434 00005274 3C C0 80 40 */ lis r6, fix_pool_sizes@ha
/* 80009438 00005278 38 E0 00 00 */ li r7, 0x0
/* 8000943C 0000527C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80009440 00005280 38 C6 66 70 */ addi r6, r6, fix_pool_sizes@l
/* 80009444 00005284 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80009448 00005288 7C 7F 1B 78 */ mr r31, r3
/* 8000944C 0000528C 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80009450 00005290 48 00 00 0C */ b lbl_8000945C
.global lbl_80009454
lbl_80009454:
/* 80009454 00005294 38 C6 00 04 */ addi r6, r6, 0x4
/* 80009458 00005298 38 E7 00 01 */ addi r7, r7, 0x1
.global lbl_8000945C
lbl_8000945C:
/* 8000945C 0000529C 80 06 00 00 */ lwz r0, 0x0(r6)
/* 80009460 000052A0 7C 05 00 40 */ cmplw r5, r0
/* 80009464 000052A4 41 81 FF F0 */ bgt lbl_80009454
/* 80009468 000052A8 38 C4 FF FC */ addi r6, r4, -0x4
/* 8000946C 000052AC 80 84 FF FC */ lwz r4, -0x4(r4)
/* 80009470 000052B0 54 E0 18 38 */ slwi r0, r7, 3
/* 80009474 000052B4 7C 63 02 14 */ add r3, r3, r0
/* 80009478 000052B8 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8000947C 000052BC 2C 00 00 00 */ cmpwi r0, 0x0
/* 80009480 000052C0 40 82 00 6C */ bne lbl_800094EC
/* 80009484 000052C4 80 A3 00 08 */ lwz r5, 0x8(r3)
/* 80009488 000052C8 7C 05 20 40 */ cmplw r5, r4
/* 8000948C 000052CC 41 82 00 60 */ beq lbl_800094EC
/* 80009490 000052D0 80 03 00 04 */ lwz r0, 0x4(r3)
/* 80009494 000052D4 7C 00 20 40 */ cmplw r0, r4
/* 80009498 000052D8 40 82 00 1C */ bne lbl_800094B4
/* 8000949C 000052DC 80 05 00 00 */ lwz r0, 0x0(r5)
/* 800094A0 000052E0 90 03 00 08 */ stw r0, 0x8(r3)
/* 800094A4 000052E4 80 A3 00 04 */ lwz r5, 0x4(r3)
/* 800094A8 000052E8 80 05 00 00 */ lwz r0, 0x0(r5)
/* 800094AC 000052EC 90 03 00 04 */ stw r0, 0x4(r3)
/* 800094B0 000052F0 48 00 00 3C */ b lbl_800094EC
.global lbl_800094B4
lbl_800094B4:
/* 800094B4 000052F4 80 A4 00 00 */ lwz r5, 0x0(r4)
/* 800094B8 000052F8 80 04 00 04 */ lwz r0, 0x4(r4)
/* 800094BC 000052FC 90 05 00 04 */ stw r0, 0x4(r5)
/* 800094C0 00005300 80 A4 00 04 */ lwz r5, 0x4(r4)
/* 800094C4 00005304 80 04 00 00 */ lwz r0, 0x0(r4)
/* 800094C8 00005308 90 05 00 00 */ stw r0, 0x0(r5)
/* 800094CC 0000530C 80 A3 00 08 */ lwz r5, 0x8(r3)
/* 800094D0 00005310 90 A4 00 04 */ stw r5, 0x4(r4)
/* 800094D4 00005314 80 A5 00 00 */ lwz r5, 0x0(r5)
/* 800094D8 00005318 90 A4 00 00 */ stw r5, 0x0(r4)
/* 800094DC 0000531C 90 85 00 04 */ stw r4, 0x4(r5)
/* 800094E0 00005320 80 A4 00 04 */ lwz r5, 0x4(r4)
/* 800094E4 00005324 90 85 00 00 */ stw r4, 0x0(r5)
/* 800094E8 00005328 90 83 00 08 */ stw r4, 0x8(r3)
.global lbl_800094EC
lbl_800094EC:
/* 800094EC 0000532C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 800094F0 00005330 90 06 00 04 */ stw r0, 0x4(r6)
/* 800094F4 00005334 90 C4 00 0C */ stw r6, 0xc(r4)
/* 800094F8 00005338 80 04 00 10 */ lwz r0, 0x10(r4)
/* 800094FC 0000533C 34 00 FF FF */ addic. r0, r0, -0x1
/* 80009500 00005340 90 04 00 10 */ stw r0, 0x10(r4)
/* 80009504 00005344 40 82 00 FC */ bne lbl_80009600
/* 80009508 00005348 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8000950C 0000534C 7C 00 20 40 */ cmplw r0, r4
/* 80009510 00005350 40 82 00 0C */ bne lbl_8000951C
/* 80009514 00005354 80 04 00 04 */ lwz r0, 0x4(r4)
/* 80009518 00005358 90 03 00 08 */ stw r0, 0x8(r3)
.global lbl_8000951C
lbl_8000951C:
/* 8000951C 0000535C 80 03 00 04 */ lwz r0, 0x4(r3)
/* 80009520 00005360 7C 00 20 40 */ cmplw r0, r4
/* 80009524 00005364 40 82 00 0C */ bne lbl_80009530
/* 80009528 00005368 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8000952C 0000536C 90 03 00 04 */ stw r0, 0x4(r3)
.global lbl_80009530
lbl_80009530:
/* 80009530 00005370 80 A4 00 00 */ lwz r5, 0x0(r4)
/* 80009534 00005374 80 04 00 04 */ lwz r0, 0x4(r4)
/* 80009538 00005378 90 05 00 04 */ stw r0, 0x4(r5)
/* 8000953C 0000537C 80 A4 00 04 */ lwz r5, 0x4(r4)
/* 80009540 00005380 80 04 00 00 */ lwz r0, 0x0(r4)
/* 80009544 00005384 90 05 00 00 */ stw r0, 0x0(r5)
/* 80009548 00005388 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8000954C 0000538C 7C 00 20 40 */ cmplw r0, r4
/* 80009550 00005390 40 82 00 0C */ bne lbl_8000955C
/* 80009554 00005394 38 00 00 00 */ li r0, 0x0
/* 80009558 00005398 90 03 00 08 */ stw r0, 0x8(r3)
.global lbl_8000955C
lbl_8000955C:
/* 8000955C 0000539C 80 03 00 04 */ lwz r0, 0x4(r3)
/* 80009560 000053A0 7C 00 20 40 */ cmplw r0, r4
/* 80009564 000053A4 40 82 00 0C */ bne lbl_80009570
/* 80009568 000053A8 38 00 00 00 */ li r0, 0x0
/* 8000956C 000053AC 90 03 00 04 */ stw r0, 0x4(r3)
.global lbl_80009570
lbl_80009570:
/* 80009570 000053B0 38 84 FF F8 */ addi r4, r4, -0x8
/* 80009574 000053B4 80 04 00 04 */ lwz r0, 0x4(r4)
/* 80009578 000053B8 54 1E 00 3C */ clrrwi r30, r0, 1
/* 8000957C 000053BC 7F C3 F3 78 */ mr r3, r30
/* 80009580 000053C0 4B FF FC B5 */ bl Block_link
/* 80009584 000053C4 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80009588 000053C8 38 A0 00 00 */ li r5, 0x0
/* 8000958C 000053CC 54 60 07 BD */ rlwinm. r0, r3, 0, 30, 30
/* 80009590 000053D0 40 82 00 20 */ bne lbl_800095B0
/* 80009594 000053D4 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80009598 000053D8 54 64 00 38 */ clrrwi r4, r3, 3
/* 8000959C 000053DC 54 03 00 38 */ clrrwi r3, r0, 3
/* 800095A0 000053E0 38 03 FF E8 */ addi r0, r3, -0x18
/* 800095A4 000053E4 7C 04 00 40 */ cmplw r4, r0
/* 800095A8 000053E8 40 82 00 08 */ bne lbl_800095B0
/* 800095AC 000053EC 38 A0 00 01 */ li r5, 0x1
.global lbl_800095B0
lbl_800095B0:
/* 800095B0 000053F0 2C 05 00 00 */ cmpwi r5, 0x0
/* 800095B4 000053F4 41 82 00 4C */ beq lbl_80009600
/* 800095B8 000053F8 80 9E 00 04 */ lwz r4, 0x4(r30)
/* 800095BC 000053FC 7C 04 F0 40 */ cmplw r4, r30
/* 800095C0 00005400 40 82 00 08 */ bne lbl_800095C8
/* 800095C4 00005404 38 80 00 00 */ li r4, 0x0
.global lbl_800095C8
lbl_800095C8:
/* 800095C8 00005408 80 1F 00 00 */ lwz r0, 0x0(r31)
/* 800095CC 0000540C 7C 00 F0 40 */ cmplw r0, r30
/* 800095D0 00005410 40 82 00 08 */ bne lbl_800095D8
/* 800095D4 00005414 90 9F 00 00 */ stw r4, 0x0(r31)
.global lbl_800095D8
lbl_800095D8:
/* 800095D8 00005418 2C 04 00 00 */ cmpwi r4, 0x0
/* 800095DC 0000541C 41 82 00 10 */ beq lbl_800095EC
/* 800095E0 00005420 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 800095E4 00005424 90 64 00 00 */ stw r3, 0x0(r4)
/* 800095E8 00005428 90 83 00 04 */ stw r4, 0x4(r3)
.global lbl_800095EC
lbl_800095EC:
/* 800095EC 0000542C 38 00 00 00 */ li r0, 0x0
/* 800095F0 00005430 90 1E 00 04 */ stw r0, 0x4(r30)
/* 800095F4 00005434 7F C3 F3 78 */ mr r3, r30
/* 800095F8 00005438 90 1E 00 00 */ stw r0, 0x0(r30)
/* 800095FC 0000543C 4B FF FB 81 */ bl __sys_free
.global lbl_80009600
lbl_80009600:
/* 80009600 00005440 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80009604 00005444 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80009608 00005448 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8000960C 0000544C 7C 08 03 A6 */ mtlr r0
/* 80009610 00005450 38 21 00 10 */ addi r1, r1, 0x10
/* 80009614 00005454 4E 80 00 20 */ blr
.global free
free:
/* 80009618 00005458 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000961C 0000545C 7C 08 02 A6 */ mflr r0
/* 80009620 00005460 90 01 00 14 */ stw r0, 0x14(r1)
/* 80009624 00005464 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80009628 00005468 7C 7F 1B 78 */ mr r31, r3
/* 8000962C 0000546C 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80009630 00005470 88 0D E2 C8 */ lbz r0, "@LOCAL@get_malloc_pool__Fv@init@0"@sda21(r13)
/* 80009634 00005474 2C 00 00 00 */ cmpwi r0, 0x0
/* 80009638 00005478 40 82 00 20 */ bne lbl_80009658
/* 8000963C 0000547C 3C 60 80 49 */ lis r3, "@LOCAL@get_malloc_pool__Fv@protopool"@ha
/* 80009640 00005480 38 80 00 00 */ li r4, 0x0
/* 80009644 00005484 38 63 68 80 */ addi r3, r3, "@LOCAL@get_malloc_pool__Fv@protopool"@l
/* 80009648 00005488 38 A0 00 34 */ li r5, 0x34
/* 8000964C 0000548C 4B FF AD 05 */ bl memset
/* 80009650 00005490 38 00 00 01 */ li r0, 0x1
/* 80009654 00005494 98 0D E2 C8 */ stb r0, "@LOCAL@get_malloc_pool__Fv@init@0"@sda21(r13)
.global lbl_80009658
lbl_80009658:
/* 80009658 00005498 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8000965C 0000549C 3F C0 80 49 */ lis r30, "@LOCAL@get_malloc_pool__Fv@protopool"@ha
/* 80009660 000054A0 3B DE 68 80 */ addi r30, r30, "@LOCAL@get_malloc_pool__Fv@protopool"@l
/* 80009664 000054A4 41 82 00 CC */ beq lbl_80009730
/* 80009668 000054A8 80 7F FF FC */ lwz r3, -0x4(r31)
/* 8000966C 000054AC 54 60 07 FF */ clrlwi. r0, r3, 31
/* 80009670 000054B0 40 82 00 0C */ bne lbl_8000967C
/* 80009674 000054B4 80 A3 00 08 */ lwz r5, 0x8(r3)
/* 80009678 000054B8 48 00 00 10 */ b lbl_80009688
.global lbl_8000967C
lbl_8000967C:
/* 8000967C 000054BC 80 1F FF F8 */ lwz r0, -0x8(r31)
/* 80009680 000054C0 54 03 00 38 */ clrrwi r3, r0, 3
/* 80009684 000054C4 38 A3 FF F8 */ addi r5, r3, -0x8
.global lbl_80009688
lbl_80009688:
/* 80009688 000054C8 28 05 00 44 */ cmplwi r5, 0x44
/* 8000968C 000054CC 41 81 00 14 */ bgt lbl_800096A0
/* 80009690 000054D0 7F C3 F3 78 */ mr r3, r30
/* 80009694 000054D4 7F E4 FB 78 */ mr r4, r31
/* 80009698 000054D8 4B FF FD 95 */ bl deallocate_from_fixed_pools
/* 8000969C 000054DC 48 00 00 94 */ b lbl_80009730
.global lbl_800096A0
lbl_800096A0:
/* 800096A0 000054E0 80 1F FF FC */ lwz r0, -0x4(r31)
/* 800096A4 000054E4 38 9F FF F8 */ addi r4, r31, -0x8
/* 800096A8 000054E8 54 1F 00 3C */ clrrwi r31, r0, 1
/* 800096AC 000054EC 7F E3 FB 78 */ mr r3, r31
/* 800096B0 000054F0 4B FF FB 85 */ bl Block_link
/* 800096B4 000054F4 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 800096B8 000054F8 38 A0 00 00 */ li r5, 0x0
/* 800096BC 000054FC 54 60 07 BD */ rlwinm. r0, r3, 0, 30, 30
/* 800096C0 00005500 40 82 00 20 */ bne lbl_800096E0
/* 800096C4 00005504 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 800096C8 00005508 54 64 00 38 */ clrrwi r4, r3, 3
/* 800096CC 0000550C 54 03 00 38 */ clrrwi r3, r0, 3
/* 800096D0 00005510 38 03 FF E8 */ addi r0, r3, -0x18
/* 800096D4 00005514 7C 04 00 40 */ cmplw r4, r0
/* 800096D8 00005518 40 82 00 08 */ bne lbl_800096E0
/* 800096DC 0000551C 38 A0 00 01 */ li r5, 0x1
.global lbl_800096E0
lbl_800096E0:
/* 800096E0 00005520 2C 05 00 00 */ cmpwi r5, 0x0
/* 800096E4 00005524 41 82 00 4C */ beq lbl_80009730
/* 800096E8 00005528 80 9F 00 04 */ lwz r4, 0x4(r31)
/* 800096EC 0000552C 7C 04 F8 40 */ cmplw r4, r31
/* 800096F0 00005530 40 82 00 08 */ bne lbl_800096F8
/* 800096F4 00005534 38 80 00 00 */ li r4, 0x0
.global lbl_800096F8
lbl_800096F8:
/* 800096F8 00005538 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 800096FC 0000553C 7C 00 F8 40 */ cmplw r0, r31
/* 80009700 00005540 40 82 00 08 */ bne lbl_80009708
/* 80009704 00005544 90 9E 00 00 */ stw r4, 0x0(r30)
.global lbl_80009708
lbl_80009708:
/* 80009708 00005548 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000970C 0000554C 41 82 00 10 */ beq lbl_8000971C
/* 80009710 00005550 80 7F 00 00 */ lwz r3, 0x0(r31)
/* 80009714 00005554 90 64 00 00 */ stw r3, 0x0(r4)
/* 80009718 00005558 90 83 00 04 */ stw r4, 0x4(r3)
.global lbl_8000971C
lbl_8000971C:
/* 8000971C 0000555C 38 00 00 00 */ li r0, 0x0
/* 80009720 00005560 90 1F 00 04 */ stw r0, 0x4(r31)
/* 80009724 00005564 7F E3 FB 78 */ mr r3, r31
/* 80009728 00005568 90 1F 00 00 */ stw r0, 0x0(r31)
/* 8000972C 0000556C 4B FF FA 51 */ bl __sys_free
.global lbl_80009730
lbl_80009730:
/* 80009730 00005570 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80009734 00005574 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80009738 00005578 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8000973C 0000557C 7C 08 03 A6 */ mtlr r0
/* 80009740 00005580 38 21 00 10 */ addi r1, r1, 0x10
/* 80009744 00005584 4E 80 00 20 */ blr
.include "macros.inc"
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.global fix_pool_sizes
fix_pool_sizes:
.4byte 0x00000004
.4byte 0x0000000C
.4byte 0x00000014
.4byte 0x00000024
.4byte 0x00000034
.4byte 0x00000044
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global "@LOCAL@get_malloc_pool__Fv@protopool"
"@LOCAL@get_malloc_pool__Fv@protopool":
.skip 0x38
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global "@LOCAL@get_malloc_pool__Fv@init@0"
"@LOCAL@get_malloc_pool__Fv@init@0":
.skip 0x8

View file

@ -1,201 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __close_all
__close_all:
/* 80009748 00005588 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000974C 0000558C 7C 08 02 A6 */ mflr r0
/* 80009750 00005590 90 01 00 24 */ stw r0, 0x24(r1)
/* 80009754 00005594 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80009758 00005598 3B E0 00 00 */ li r31, 0x0
/* 8000975C 0000559C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80009760 000055A0 3B C0 00 03 */ li r30, 0x3
/* 80009764 000055A4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80009768 000055A8 3F A0 80 42 */ lis r29, __files@ha
/* 8000976C 000055AC 3B BD 10 F8 */ addi r29, r29, __files@l
/* 80009770 000055B0 48 00 00 58 */ b lbl_800097C8
.global lbl_80009774
lbl_80009774:
/* 80009774 000055B4 80 1D 00 04 */ lwz r0, 0x4(r29)
/* 80009778 000055B8 54 00 57 7F */ extrwi. r0, r0, 3, 7
/* 8000977C 000055BC 41 82 00 0C */ beq lbl_80009788
/* 80009780 000055C0 7F A3 EB 78 */ mr r3, r29
/* 80009784 000055C4 48 00 0F 71 */ bl fclose
.global lbl_80009788
lbl_80009788:
/* 80009788 000055C8 7F A3 EB 78 */ mr r3, r29
/* 8000978C 000055CC 83 BD 00 4C */ lwz r29, 0x4c(r29)
/* 80009790 000055D0 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80009794 000055D4 2C 00 00 00 */ cmpwi r0, 0x0
/* 80009798 000055D8 41 82 00 0C */ beq lbl_800097A4
/* 8000979C 000055DC 4B FF FE 7D */ bl free
/* 800097A0 000055E0 48 00 00 28 */ b lbl_800097C8
.global lbl_800097A4
lbl_800097A4:
/* 800097A4 000055E4 80 03 00 04 */ lwz r0, 0x4(r3)
/* 800097A8 000055E8 2C 1D 00 00 */ cmpwi r29, 0x0
/* 800097AC 000055EC 53 C0 B1 D2 */ rlwimi r0, r30, 22, 7, 9
/* 800097B0 000055F0 90 03 00 04 */ stw r0, 0x4(r3)
/* 800097B4 000055F4 41 82 00 14 */ beq lbl_800097C8
/* 800097B8 000055F8 88 1D 00 0C */ lbz r0, 0xc(r29)
/* 800097BC 000055FC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800097C0 00005600 41 82 00 08 */ beq lbl_800097C8
/* 800097C4 00005604 93 E3 00 4C */ stw r31, 0x4c(r3)
.global lbl_800097C8
lbl_800097C8:
/* 800097C8 00005608 2C 1D 00 00 */ cmpwi r29, 0x0
/* 800097CC 0000560C 40 82 FF A8 */ bne lbl_80009774
/* 800097D0 00005610 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800097D4 00005614 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800097D8 00005618 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800097DC 0000561C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800097E0 00005620 7C 08 03 A6 */ mtlr r0
/* 800097E4 00005624 38 21 00 20 */ addi r1, r1, 0x20
/* 800097E8 00005628 4E 80 00 20 */ blr
.global __flush_all
__flush_all:
/* 800097EC 0000562C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800097F0 00005630 7C 08 02 A6 */ mflr r0
/* 800097F4 00005634 90 01 00 14 */ stw r0, 0x14(r1)
/* 800097F8 00005638 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800097FC 0000563C 3B E0 00 00 */ li r31, 0x0
/* 80009800 00005640 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80009804 00005644 3F C0 80 42 */ lis r30, __files@ha
/* 80009808 00005648 3B DE 10 F8 */ addi r30, r30, __files@l
/* 8000980C 0000564C 48 00 00 28 */ b lbl_80009834
.global lbl_80009810
lbl_80009810:
/* 80009810 00005650 80 1E 00 04 */ lwz r0, 0x4(r30)
/* 80009814 00005654 54 00 57 7F */ extrwi. r0, r0, 3, 7
/* 80009818 00005658 41 82 00 18 */ beq lbl_80009830
/* 8000981C 0000565C 7F C3 F3 78 */ mr r3, r30
/* 80009820 00005660 48 00 0F 91 */ bl fflush
/* 80009824 00005664 2C 03 00 00 */ cmpwi r3, 0x0
/* 80009828 00005668 41 82 00 08 */ beq lbl_80009830
/* 8000982C 0000566C 3B E0 FF FF */ li r31, -0x1
.global lbl_80009830
lbl_80009830:
/* 80009830 00005670 83 DE 00 4C */ lwz r30, 0x4c(r30)
.global lbl_80009834
lbl_80009834:
/* 80009834 00005674 2C 1E 00 00 */ cmpwi r30, 0x0
/* 80009838 00005678 40 82 FF D8 */ bne lbl_80009810
/* 8000983C 0000567C 7F E3 FB 78 */ mr r3, r31
/* 80009840 00005680 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80009844 00005684 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80009848 00005688 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000984C 0000568C 7C 08 03 A6 */ mtlr r0
/* 80009850 00005690 38 21 00 10 */ addi r1, r1, 0x10
/* 80009854 00005694 4E 80 00 20 */ blr
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global __files
__files:
.4byte 0
.4byte 0x0A800000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte stdin_buff
.4byte 0x00000100
.4byte stdin_buff
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte __read_console
.4byte __write_console
.4byte __close_console
.4byte 0
.4byte lbl_80421148
.global lbl_80421148
lbl_80421148:
.4byte 0x00000001
.4byte 0x12800000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte stdout_buff
.4byte 0x00000100
.4byte stdout_buff
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte __read_console
.4byte __write_console
.4byte __close_console
.4byte 0
.4byte lbl_80421198
.global lbl_80421198
lbl_80421198:
.4byte 0x00000002
.4byte 0x10800000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte stderr_buff
.4byte 0x00000100
.4byte stderr_buff
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte __read_console
.4byte __write_console
.4byte __close_console
.4byte 0
.4byte lbl_804211E8
.global lbl_804211E8
lbl_804211E8:
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global stderr_buff
stderr_buff:
.skip 0x100
.global stdout_buff
stdout_buff:
.skip 0x100
.global stdin_buff
stdin_buff:
.skip 0x100

View file

@ -1,9 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global abs
abs:
/* 8000A2CC 0000610C 7C 64 FE 70 */ srawi r4, r3, 31
/* 8000A2D0 00006110 7C 80 1A 78 */ xor r0, r4, r3
/* 8000A2D4 00006114 7C 64 00 50 */ subf r3, r4, r0
/* 8000A2D8 00006118 4E 80 00 20 */ blr

View file

@ -1,245 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __fwrite
__fwrite:
/* 8000A3EC 0000622C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000A3F0 00006230 7C 08 02 A6 */ mflr r0
/* 8000A3F4 00006234 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000A3F8 00006238 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 8000A3FC 0000623C 7C 9B 23 78 */ mr r27, r4
/* 8000A400 00006240 7C DC 33 78 */ mr r28, r6
/* 8000A404 00006244 7C 7A 1B 78 */ mr r26, r3
/* 8000A408 00006248 7C B9 2B 78 */ mr r25, r5
/* 8000A40C 0000624C 38 80 00 00 */ li r4, 0x0
/* 8000A410 00006250 7F 83 E3 78 */ mr r3, r28
/* 8000A414 00006254 48 00 5F C9 */ bl fwide
/* 8000A418 00006258 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000A41C 0000625C 40 82 00 10 */ bne lbl_8000A42C
/* 8000A420 00006260 7F 83 E3 78 */ mr r3, r28
/* 8000A424 00006264 38 80 FF FF */ li r4, -0x1
/* 8000A428 00006268 48 00 5F B5 */ bl fwide
.global lbl_8000A42C
lbl_8000A42C:
/* 8000A42C 0000626C 7F DB C9 D7 */ mullw. r30, r27, r25
/* 8000A430 00006270 41 82 00 1C */ beq lbl_8000A44C
/* 8000A434 00006274 88 1C 00 0A */ lbz r0, 0xa(r28)
/* 8000A438 00006278 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000A43C 0000627C 40 82 00 10 */ bne lbl_8000A44C
/* 8000A440 00006280 80 1C 00 04 */ lwz r0, 0x4(r28)
/* 8000A444 00006284 54 00 57 7F */ extrwi. r0, r0, 3, 7
/* 8000A448 00006288 40 82 00 0C */ bne lbl_8000A454
.global lbl_8000A44C
lbl_8000A44C:
/* 8000A44C 0000628C 38 60 00 00 */ li r3, 0x0
/* 8000A450 00006290 48 00 02 90 */ b lbl_8000A6E0
.global lbl_8000A454
lbl_8000A454:
/* 8000A454 00006294 28 00 00 02 */ cmplwi r0, 0x2
/* 8000A458 00006298 40 82 00 08 */ bne lbl_8000A460
/* 8000A45C 0000629C 48 00 0E 25 */ bl __stdio_atexit
.global lbl_8000A460
lbl_8000A460:
/* 8000A460 000062A0 80 7C 00 04 */ lwz r3, 0x4(r28)
/* 8000A464 000062A4 3B E0 00 01 */ li r31, 0x1
/* 8000A468 000062A8 38 80 00 00 */ li r4, 0x0
/* 8000A46C 000062AC 54 60 6F FF */ extrwi. r0, r3, 1, 12
/* 8000A470 000062B0 41 82 00 10 */ beq lbl_8000A480
/* 8000A474 000062B4 54 60 3F BE */ extrwi r0, r3, 2, 5
/* 8000A478 000062B8 28 00 00 02 */ cmplwi r0, 0x2
/* 8000A47C 000062BC 40 82 00 08 */ bne lbl_8000A484
.global lbl_8000A480
lbl_8000A480:
/* 8000A480 000062C0 38 80 00 01 */ li r4, 0x1
.global lbl_8000A484
lbl_8000A484:
/* 8000A484 000062C4 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000A488 000062C8 40 82 00 18 */ bne lbl_8000A4A0
/* 8000A48C 000062CC 80 1C 00 04 */ lwz r0, 0x4(r28)
/* 8000A490 000062D0 54 00 3F BE */ extrwi r0, r0, 2, 5
/* 8000A494 000062D4 28 00 00 01 */ cmplwi r0, 0x1
/* 8000A498 000062D8 41 82 00 08 */ beq lbl_8000A4A0
/* 8000A49C 000062DC 3B E0 00 00 */ li r31, 0x0
.global lbl_8000A4A0
lbl_8000A4A0:
/* 8000A4A0 000062E0 80 1C 00 08 */ lwz r0, 0x8(r28)
/* 8000A4A4 000062E4 54 00 1F 7F */ srwi. r0, r0, 29
/* 8000A4A8 000062E8 40 82 00 54 */ bne lbl_8000A4FC
/* 8000A4AC 000062EC 80 7C 00 04 */ lwz r3, 0x4(r28)
/* 8000A4B0 000062F0 54 60 2F BD */ rlwinm. r0, r3, 5, 30, 30
/* 8000A4B4 000062F4 54 60 2F 7E */ extrwi r0, r3, 3, 2
/* 8000A4B8 000062F8 41 82 00 44 */ beq lbl_8000A4FC
/* 8000A4BC 000062FC 54 00 07 7B */ rlwinm. r0, r0, 0, 29, 29
/* 8000A4C0 00006300 41 82 00 24 */ beq lbl_8000A4E4
/* 8000A4C4 00006304 7F 83 E3 78 */ mr r3, r28
/* 8000A4C8 00006308 38 80 00 00 */ li r4, 0x0
/* 8000A4CC 0000630C 38 A0 00 02 */ li r5, 0x2
/* 8000A4D0 00006310 48 00 04 C1 */ bl _fseek
/* 8000A4D4 00006314 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000A4D8 00006318 41 82 00 0C */ beq lbl_8000A4E4
/* 8000A4DC 0000631C 38 60 00 00 */ li r3, 0x0
/* 8000A4E0 00006320 48 00 02 00 */ b lbl_8000A6E0
.global lbl_8000A4E4
lbl_8000A4E4:
/* 8000A4E4 00006324 80 1C 00 08 */ lwz r0, 0x8(r28)
/* 8000A4E8 00006328 38 60 00 01 */ li r3, 0x1
/* 8000A4EC 0000632C 50 60 E8 04 */ rlwimi r0, r3, 29, 0, 2
/* 8000A4F0 00006330 90 1C 00 08 */ stw r0, 0x8(r28)
/* 8000A4F4 00006334 7F 83 E3 78 */ mr r3, r28
/* 8000A4F8 00006338 4B FF FD E5 */ bl __prep_buffer
.global lbl_8000A4FC
lbl_8000A4FC:
/* 8000A4FC 0000633C 80 1C 00 08 */ lwz r0, 0x8(r28)
/* 8000A500 00006340 54 00 1F 7E */ srwi r0, r0, 29
/* 8000A504 00006344 28 00 00 01 */ cmplwi r0, 0x1
/* 8000A508 00006348 41 82 00 1C */ beq lbl_8000A524
/* 8000A50C 0000634C 38 60 00 01 */ li r3, 0x1
/* 8000A510 00006350 38 00 00 00 */ li r0, 0x0
/* 8000A514 00006354 98 7C 00 0A */ stb r3, 0xa(r28)
/* 8000A518 00006358 38 60 00 00 */ li r3, 0x0
/* 8000A51C 0000635C 90 1C 00 28 */ stw r0, 0x28(r28)
/* 8000A520 00006360 48 00 01 C0 */ b lbl_8000A6E0
.global lbl_8000A524
lbl_8000A524:
/* 8000A524 00006364 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8000A528 00006368 3B A0 00 00 */ li r29, 0x0
/* 8000A52C 0000636C 41 82 01 28 */ beq lbl_8000A654
/* 8000A530 00006370 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 8000A534 00006374 80 9C 00 24 */ lwz r4, 0x24(r28)
/* 8000A538 00006378 7C 04 18 40 */ cmplw r4, r3
/* 8000A53C 0000637C 40 82 00 0C */ bne lbl_8000A548
/* 8000A540 00006380 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8000A544 00006384 41 82 01 10 */ beq lbl_8000A654
.global lbl_8000A548
lbl_8000A548:
/* 8000A548 00006388 80 1C 00 20 */ lwz r0, 0x20(r28)
/* 8000A54C 0000638C 7C 63 20 50 */ subf r3, r3, r4
/* 8000A550 00006390 7C 03 00 50 */ subf r0, r3, r0
/* 8000A554 00006394 90 1C 00 28 */ stw r0, 0x28(r28)
.global lbl_8000A558
lbl_8000A558:
/* 8000A558 00006398 80 BC 00 28 */ lwz r5, 0x28(r28)
/* 8000A55C 0000639C 3B 20 00 00 */ li r25, 0x0
/* 8000A560 000063A0 90 A1 00 08 */ stw r5, 0x8(r1)
/* 8000A564 000063A4 7C 05 F0 40 */ cmplw r5, r30
/* 8000A568 000063A8 40 81 00 0C */ ble lbl_8000A574
/* 8000A56C 000063AC 7F C5 F3 78 */ mr r5, r30
/* 8000A570 000063B0 93 C1 00 08 */ stw r30, 0x8(r1)
.global lbl_8000A574
lbl_8000A574:
/* 8000A574 000063B4 80 1C 00 04 */ lwz r0, 0x4(r28)
/* 8000A578 000063B8 54 00 3F BE */ extrwi r0, r0, 2, 5
/* 8000A57C 000063BC 28 00 00 01 */ cmplwi r0, 0x1
/* 8000A580 000063C0 40 82 00 30 */ bne lbl_8000A5B0
/* 8000A584 000063C4 2C 05 00 00 */ cmpwi r5, 0x0
/* 8000A588 000063C8 41 82 00 28 */ beq lbl_8000A5B0
/* 8000A58C 000063CC 7F 43 D3 78 */ mr r3, r26
/* 8000A590 000063D0 38 80 00 0A */ li r4, 0xa
/* 8000A594 000063D4 48 00 08 B1 */ bl __memrchr
/* 8000A598 000063D8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000A59C 000063DC 7C 79 1B 78 */ mr r25, r3
/* 8000A5A0 000063E0 41 82 00 10 */ beq lbl_8000A5B0
/* 8000A5A4 000063E4 38 03 00 01 */ addi r0, r3, 0x1
/* 8000A5A8 000063E8 7C BA 00 50 */ subf r5, r26, r0
/* 8000A5AC 000063EC 90 A1 00 08 */ stw r5, 0x8(r1)
.global lbl_8000A5B0
lbl_8000A5B0:
/* 8000A5B0 000063F0 80 A1 00 08 */ lwz r5, 0x8(r1)
/* 8000A5B4 000063F4 2C 05 00 00 */ cmpwi r5, 0x0
/* 8000A5B8 000063F8 41 82 00 38 */ beq lbl_8000A5F0
/* 8000A5BC 000063FC 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8000A5C0 00006400 7F 44 D3 78 */ mr r4, r26
/* 8000A5C4 00006404 4B FF 9A 3D */ bl memcpy
/* 8000A5C8 00006408 80 81 00 08 */ lwz r4, 0x8(r1)
/* 8000A5CC 0000640C 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8000A5D0 00006410 80 1C 00 28 */ lwz r0, 0x28(r28)
/* 8000A5D4 00006414 7F 5A 22 14 */ add r26, r26, r4
/* 8000A5D8 00006418 7C 63 22 14 */ add r3, r3, r4
/* 8000A5DC 0000641C 90 7C 00 24 */ stw r3, 0x24(r28)
/* 8000A5E0 00006420 7F C4 F0 50 */ subf r30, r4, r30
/* 8000A5E4 00006424 80 61 00 08 */ lwz r3, 0x8(r1)
/* 8000A5E8 00006428 7C 03 00 50 */ subf r0, r3, r0
/* 8000A5EC 0000642C 90 1C 00 28 */ stw r0, 0x28(r28)
.global lbl_8000A5F0
lbl_8000A5F0:
/* 8000A5F0 00006430 80 1C 00 28 */ lwz r0, 0x28(r28)
/* 8000A5F4 00006434 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000A5F8 00006438 41 82 00 18 */ beq lbl_8000A610
/* 8000A5FC 0000643C 2C 19 00 00 */ cmpwi r25, 0x0
/* 8000A600 00006440 40 82 00 10 */ bne lbl_8000A610
/* 8000A604 00006444 80 1C 00 04 */ lwz r0, 0x4(r28)
/* 8000A608 00006448 54 00 3F BF */ extrwi. r0, r0, 2, 5
/* 8000A60C 0000644C 40 82 00 30 */ bne lbl_8000A63C
.global lbl_8000A610
lbl_8000A610:
/* 8000A610 00006450 7F 83 E3 78 */ mr r3, r28
/* 8000A614 00006454 38 80 00 00 */ li r4, 0x0
/* 8000A618 00006458 4B FF FC ED */ bl __flush_buffer
/* 8000A61C 0000645C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000A620 00006460 41 82 00 1C */ beq lbl_8000A63C
/* 8000A624 00006464 38 60 00 01 */ li r3, 0x1
/* 8000A628 00006468 38 00 00 00 */ li r0, 0x0
/* 8000A62C 0000646C 98 7C 00 0A */ stb r3, 0xa(r28)
/* 8000A630 00006470 3B C0 00 00 */ li r30, 0x0
/* 8000A634 00006474 90 1C 00 28 */ stw r0, 0x28(r28)
/* 8000A638 00006478 48 00 00 1C */ b lbl_8000A654
.global lbl_8000A63C
lbl_8000A63C:
/* 8000A63C 0000647C 80 01 00 08 */ lwz r0, 0x8(r1)
/* 8000A640 00006480 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8000A644 00006484 7F BD 02 14 */ add r29, r29, r0
/* 8000A648 00006488 41 82 00 0C */ beq lbl_8000A654
/* 8000A64C 0000648C 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8000A650 00006490 40 82 FF 08 */ bne lbl_8000A558
.global lbl_8000A654
lbl_8000A654:
/* 8000A654 00006494 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8000A658 00006498 41 82 00 6C */ beq lbl_8000A6C4
/* 8000A65C 0000649C 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8000A660 000064A0 40 82 00 64 */ bne lbl_8000A6C4
/* 8000A664 000064A4 83 3C 00 1C */ lwz r25, 0x1c(r28)
/* 8000A668 000064A8 7C 1A F2 14 */ add r0, r26, r30
/* 8000A66C 000064AC 83 FC 00 20 */ lwz r31, 0x20(r28)
/* 8000A670 000064B0 7F 83 E3 78 */ mr r3, r28
/* 8000A674 000064B4 93 5C 00 1C */ stw r26, 0x1c(r28)
/* 8000A678 000064B8 38 81 00 08 */ addi r4, r1, 0x8
/* 8000A67C 000064BC 93 DC 00 20 */ stw r30, 0x20(r28)
/* 8000A680 000064C0 90 1C 00 24 */ stw r0, 0x24(r28)
/* 8000A684 000064C4 4B FF FC 81 */ bl __flush_buffer
/* 8000A688 000064C8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000A68C 000064CC 41 82 00 18 */ beq lbl_8000A6A4
/* 8000A690 000064D0 38 60 00 01 */ li r3, 0x1
/* 8000A694 000064D4 38 00 00 00 */ li r0, 0x0
/* 8000A698 000064D8 98 7C 00 0A */ stb r3, 0xa(r28)
/* 8000A69C 000064DC 90 1C 00 28 */ stw r0, 0x28(r28)
/* 8000A6A0 000064E0 48 00 00 0C */ b lbl_8000A6AC
.global lbl_8000A6A4
lbl_8000A6A4:
/* 8000A6A4 000064E4 80 01 00 08 */ lwz r0, 0x8(r1)
/* 8000A6A8 000064E8 7F BD 02 14 */ add r29, r29, r0
.global lbl_8000A6AC
lbl_8000A6AC:
/* 8000A6AC 000064EC 93 3C 00 1C */ stw r25, 0x1c(r28)
/* 8000A6B0 000064F0 7F 83 E3 78 */ mr r3, r28
/* 8000A6B4 000064F4 93 FC 00 20 */ stw r31, 0x20(r28)
/* 8000A6B8 000064F8 4B FF FC 25 */ bl __prep_buffer
/* 8000A6BC 000064FC 38 00 00 00 */ li r0, 0x0
/* 8000A6C0 00006500 90 1C 00 28 */ stw r0, 0x28(r28)
.global lbl_8000A6C4
lbl_8000A6C4:
/* 8000A6C4 00006504 80 1C 00 04 */ lwz r0, 0x4(r28)
/* 8000A6C8 00006508 54 00 3F BE */ extrwi r0, r0, 2, 5
/* 8000A6CC 0000650C 28 00 00 02 */ cmplwi r0, 0x2
/* 8000A6D0 00006510 41 82 00 0C */ beq lbl_8000A6DC
/* 8000A6D4 00006514 38 00 00 00 */ li r0, 0x0
/* 8000A6D8 00006518 90 1C 00 28 */ stw r0, 0x28(r28)
.global lbl_8000A6DC
lbl_8000A6DC:
/* 8000A6DC 0000651C 7C 7D DB 96 */ divwu r3, r29, r27
.global lbl_8000A6E0
lbl_8000A6E0:
/* 8000A6E0 00006520 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 8000A6E4 00006524 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000A6E8 00006528 7C 08 03 A6 */ mtlr r0
/* 8000A6EC 0000652C 38 21 00 30 */ addi r1, r1, 0x30
/* 8000A6F0 00006530 4E 80 00 20 */ blr

View file

@ -1,6 +0,0 @@
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global errno
errno:
.skip 0x8

View file

@ -1,63 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global stricmp
stricmp:
/* 800147EC 0001062C 3C A0 80 42 */ lis r5, _current_locale@ha
/* 800147F0 00010630 38 A5 15 10 */ addi r5, r5, _current_locale@l
/* 800147F4 00010634 80 C5 00 38 */ lwz r6, 0x38(r5)
.global lbl_800147F8
lbl_800147F8:
/* 800147F8 00010638 88 03 00 00 */ lbz r0, 0x0(r3)
/* 800147FC 0001063C 38 A0 00 01 */ li r5, 0x1
/* 80014800 00010640 38 63 00 01 */ addi r3, r3, 0x1
/* 80014804 00010644 7C 07 07 74 */ extsb r7, r0
/* 80014808 00010648 28 07 00 FF */ cmplwi r7, 0xff
/* 8001480C 0001064C 41 81 00 08 */ bgt lbl_80014814
/* 80014810 00010650 38 A0 00 00 */ li r5, 0x0
.global lbl_80014814
lbl_80014814:
/* 80014814 00010654 2C 05 00 00 */ cmpwi r5, 0x0
/* 80014818 00010658 41 82 00 08 */ beq lbl_80014820
/* 8001481C 0001065C 48 00 00 0C */ b lbl_80014828
.global lbl_80014820
lbl_80014820:
/* 80014820 00010660 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 80014824 00010664 7C E5 38 AE */ lbzx r7, r5, r7
.global lbl_80014828
lbl_80014828:
/* 80014828 00010668 88 04 00 00 */ lbz r0, 0x0(r4)
/* 8001482C 0001066C 7C E7 07 74 */ extsb r7, r7
/* 80014830 00010670 38 A0 00 01 */ li r5, 0x1
/* 80014834 00010674 38 84 00 01 */ addi r4, r4, 0x1
/* 80014838 00010678 7C 00 07 74 */ extsb r0, r0
/* 8001483C 0001067C 28 00 00 FF */ cmplwi r0, 0xff
/* 80014840 00010680 41 81 00 08 */ bgt lbl_80014848
/* 80014844 00010684 38 A0 00 00 */ li r5, 0x0
.global lbl_80014848
lbl_80014848:
/* 80014848 00010688 2C 05 00 00 */ cmpwi r5, 0x0
/* 8001484C 0001068C 41 82 00 08 */ beq lbl_80014854
/* 80014850 00010690 48 00 00 0C */ b lbl_8001485C
.global lbl_80014854
lbl_80014854:
/* 80014854 00010694 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 80014858 00010698 7C 05 00 AE */ lbzx r0, r5, r0
.global lbl_8001485C
lbl_8001485C:
/* 8001485C 0001069C 7C 00 07 74 */ extsb r0, r0
/* 80014860 000106A0 7C 07 00 00 */ cmpw r7, r0
/* 80014864 000106A4 40 80 00 0C */ bge lbl_80014870
/* 80014868 000106A8 38 60 FF FF */ li r3, -0x1
/* 8001486C 000106AC 4E 80 00 20 */ blr
.global lbl_80014870
lbl_80014870:
/* 80014870 000106B0 40 81 00 0C */ ble lbl_8001487C
/* 80014874 000106B4 38 60 00 01 */ li r3, 0x1
/* 80014878 000106B8 4E 80 00 20 */ blr
.global lbl_8001487C
lbl_8001487C:
/* 8001487C 000106BC 2C 07 00 00 */ cmpwi r7, 0x0
/* 80014880 000106C0 40 82 FF 78 */ bne lbl_800147F8
/* 80014884 000106C4 38 60 00 00 */ li r3, 0x0
/* 80014888 000106C8 4E 80 00 20 */ blr

View file

@ -1,165 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global fclose
fclose:
/* 8000A6F4 00006534 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000A6F8 00006538 7C 08 02 A6 */ mflr r0
/* 8000A6FC 0000653C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000A700 00006540 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000A704 00006544 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000A708 00006548 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000A70C 0000654C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8000A710 00006550 7C 7D 1B 78 */ mr r29, r3
/* 8000A714 00006554 40 82 00 0C */ bne lbl_8000A720
/* 8000A718 00006558 38 60 FF FF */ li r3, -0x1
/* 8000A71C 0000655C 48 00 00 78 */ b lbl_8000A794
.global lbl_8000A720
lbl_8000A720:
/* 8000A720 00006560 80 03 00 04 */ lwz r0, 0x4(r3)
/* 8000A724 00006564 54 00 57 7F */ extrwi. r0, r0, 3, 7
/* 8000A728 00006568 40 82 00 0C */ bne lbl_8000A734
/* 8000A72C 0000656C 38 60 00 00 */ li r3, 0x0
/* 8000A730 00006570 48 00 00 64 */ b lbl_8000A794
.global lbl_8000A734
lbl_8000A734:
/* 8000A734 00006574 48 00 00 7D */ bl fflush
/* 8000A738 00006578 81 9D 00 44 */ lwz r12, 0x44(r29)
/* 8000A73C 0000657C 7C 7E 1B 78 */ mr r30, r3
/* 8000A740 00006580 80 7D 00 00 */ lwz r3, 0x0(r29)
/* 8000A744 00006584 7D 89 03 A6 */ mtctr r12
/* 8000A748 00006588 4E 80 04 21 */ bctrl
/* 8000A74C 0000658C 80 1D 00 08 */ lwz r0, 0x8(r29)
/* 8000A750 00006590 38 A0 00 00 */ li r5, 0x0
/* 8000A754 00006594 80 9D 00 04 */ lwz r4, 0x4(r29)
/* 8000A758 00006598 7C 7F 1B 78 */ mr r31, r3
/* 8000A75C 0000659C 54 00 27 FF */ extrwi. r0, r0, 1, 3
/* 8000A760 000065A0 90 BD 00 00 */ stw r5, 0x0(r29)
/* 8000A764 000065A4 54 84 02 8C */ rlwinm r4, r4, 0, 10, 6
/* 8000A768 000065A8 90 9D 00 04 */ stw r4, 0x4(r29)
/* 8000A76C 000065AC 41 82 00 0C */ beq lbl_8000A778
/* 8000A770 000065B0 80 7D 00 1C */ lwz r3, 0x1c(r29)
/* 8000A774 000065B4 4B FF EE A5 */ bl free
.global lbl_8000A778
lbl_8000A778:
/* 8000A778 000065B8 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8000A77C 000065BC 38 00 00 00 */ li r0, 0x0
/* 8000A780 000065C0 40 82 00 0C */ bne lbl_8000A78C
/* 8000A784 000065C4 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8000A788 000065C8 41 82 00 08 */ beq lbl_8000A790
.global lbl_8000A78C
lbl_8000A78C:
/* 8000A78C 000065CC 38 00 00 01 */ li r0, 0x1
.global lbl_8000A790
lbl_8000A790:
/* 8000A790 000065D0 7C 60 00 D0 */ neg r3, r0
.global lbl_8000A794
lbl_8000A794:
/* 8000A794 000065D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000A798 000065D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000A79C 000065DC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8000A7A0 000065E0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8000A7A4 000065E4 7C 08 03 A6 */ mtlr r0
/* 8000A7A8 000065E8 38 21 00 20 */ addi r1, r1, 0x20
/* 8000A7AC 000065EC 4E 80 00 20 */ blr
.global fflush
fflush:
/* 8000A7B0 000065F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000A7B4 000065F4 7C 08 02 A6 */ mflr r0
/* 8000A7B8 000065F8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000A7BC 000065FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000A7C0 00006600 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000A7C4 00006604 7C 7F 1B 78 */ mr r31, r3
/* 8000A7C8 00006608 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8000A7CC 0000660C 40 82 00 0C */ bne lbl_8000A7D8
/* 8000A7D0 00006610 4B FF F0 1D */ bl __flush_all
/* 8000A7D4 00006614 48 00 00 F8 */ b lbl_8000A8CC
.global lbl_8000A7D8
lbl_8000A7D8:
/* 8000A7D8 00006618 88 03 00 0A */ lbz r0, 0xa(r3)
/* 8000A7DC 0000661C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000A7E0 00006620 40 82 00 10 */ bne lbl_8000A7F0
/* 8000A7E4 00006624 80 83 00 04 */ lwz r4, 0x4(r3)
/* 8000A7E8 00006628 54 80 57 7F */ extrwi. r0, r4, 3, 7
/* 8000A7EC 0000662C 40 82 00 0C */ bne lbl_8000A7F8
.global lbl_8000A7F0
lbl_8000A7F0:
/* 8000A7F0 00006630 38 60 FF FF */ li r3, -0x1
/* 8000A7F4 00006634 48 00 00 D8 */ b lbl_8000A8CC
.global lbl_8000A7F8
lbl_8000A7F8:
/* 8000A7F8 00006638 54 80 2F 7E */ extrwi r0, r4, 3, 2
/* 8000A7FC 0000663C 28 00 00 01 */ cmplwi r0, 0x1
/* 8000A800 00006640 40 82 00 0C */ bne lbl_8000A80C
/* 8000A804 00006644 38 60 00 00 */ li r3, 0x0
/* 8000A808 00006648 48 00 00 C4 */ b lbl_8000A8CC
.global lbl_8000A80C
lbl_8000A80C:
/* 8000A80C 0000664C 80 83 00 08 */ lwz r4, 0x8(r3)
/* 8000A810 00006650 54 80 1F 7E */ srwi r0, r4, 29
/* 8000A814 00006654 28 00 00 03 */ cmplwi r0, 0x3
/* 8000A818 00006658 41 80 00 10 */ blt lbl_8000A828
/* 8000A81C 0000665C 38 00 00 02 */ li r0, 0x2
/* 8000A820 00006660 50 04 E8 04 */ rlwimi r4, r0, 29, 0, 2
/* 8000A824 00006664 90 83 00 08 */ stw r4, 0x8(r3)
.global lbl_8000A828
lbl_8000A828:
/* 8000A828 00006668 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8000A82C 0000666C 54 00 1F 7E */ srwi r0, r0, 29
/* 8000A830 00006670 28 00 00 02 */ cmplwi r0, 0x2
/* 8000A834 00006674 40 82 00 0C */ bne lbl_8000A840
/* 8000A838 00006678 38 00 00 00 */ li r0, 0x0
/* 8000A83C 0000667C 90 03 00 28 */ stw r0, 0x28(r3)
.global lbl_8000A840
lbl_8000A840:
/* 8000A840 00006680 80 83 00 08 */ lwz r4, 0x8(r3)
/* 8000A844 00006684 54 80 1F 7E */ srwi r0, r4, 29
/* 8000A848 00006688 28 00 00 01 */ cmplwi r0, 0x1
/* 8000A84C 0000668C 41 82 00 14 */ beq lbl_8000A860
/* 8000A850 00006690 54 80 00 FE */ clrlwi r0, r4, 3
/* 8000A854 00006694 90 03 00 08 */ stw r0, 0x8(r3)
/* 8000A858 00006698 38 60 00 00 */ li r3, 0x0
/* 8000A85C 0000669C 48 00 00 70 */ b lbl_8000A8CC
.global lbl_8000A860
lbl_8000A860:
/* 8000A860 000066A0 80 03 00 04 */ lwz r0, 0x4(r3)
/* 8000A864 000066A4 54 00 57 7E */ extrwi r0, r0, 3, 7
/* 8000A868 000066A8 28 00 00 01 */ cmplwi r0, 0x1
/* 8000A86C 000066AC 41 82 00 0C */ beq lbl_8000A878
/* 8000A870 000066B0 3B C0 00 00 */ li r30, 0x0
/* 8000A874 000066B4 48 00 00 10 */ b lbl_8000A884
.global lbl_8000A878
lbl_8000A878:
/* 8000A878 000066B8 7F E3 FB 78 */ mr r3, r31
/* 8000A87C 000066BC 48 00 01 11 */ bl ftell
/* 8000A880 000066C0 7C 7E 1B 78 */ mr r30, r3
.global lbl_8000A884
lbl_8000A884:
/* 8000A884 000066C4 7F E3 FB 78 */ mr r3, r31
/* 8000A888 000066C8 38 80 00 00 */ li r4, 0x0
/* 8000A88C 000066CC 4B FF FA 79 */ bl __flush_buffer
/* 8000A890 000066D0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000A894 000066D4 41 82 00 1C */ beq lbl_8000A8B0
/* 8000A898 000066D8 38 60 00 01 */ li r3, 0x1
/* 8000A89C 000066DC 38 00 00 00 */ li r0, 0x0
/* 8000A8A0 000066E0 98 7F 00 0A */ stb r3, 0xa(r31)
/* 8000A8A4 000066E4 38 60 FF FF */ li r3, -0x1
/* 8000A8A8 000066E8 90 1F 00 28 */ stw r0, 0x28(r31)
/* 8000A8AC 000066EC 48 00 00 20 */ b lbl_8000A8CC
.global lbl_8000A8B0
lbl_8000A8B0:
/* 8000A8B0 000066F0 80 1F 00 08 */ lwz r0, 0x8(r31)
/* 8000A8B4 000066F4 38 80 00 00 */ li r4, 0x0
/* 8000A8B8 000066F8 93 DF 00 18 */ stw r30, 0x18(r31)
/* 8000A8BC 000066FC 38 60 00 00 */ li r3, 0x0
/* 8000A8C0 00006700 54 00 00 FE */ clrlwi r0, r0, 3
/* 8000A8C4 00006704 90 1F 00 08 */ stw r0, 0x8(r31)
/* 8000A8C8 00006708 90 9F 00 28 */ stw r4, 0x28(r31)
.global lbl_8000A8CC
lbl_8000A8CC:
/* 8000A8CC 0000670C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000A8D0 00006710 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000A8D4 00006714 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8000A8D8 00006718 7C 08 03 A6 */ mtlr r0
/* 8000A8DC 0000671C 38 21 00 10 */ addi r1, r1, 0x10
/* 8000A8E0 00006720 4E 80 00 20 */ blr

View file

@ -1,8 +0,0 @@
.include "macros.inc"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
.global __float_nan
__float_nan:
.4byte 0x7FFFFFFF
.4byte 0

View file

@ -1,272 +0,0 @@
.include "macros.inc"
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.global "@142"
"@142":
.4byte 0x25612025
.4byte 0x62202565
.4byte 0x20255420
.4byte 0x25590000
.global "@143"
"@143":
.4byte 0x25493A25
.4byte 0x4D3A2553
.4byte 0x20257000
.global "@144"
"@144":
.4byte 0x256D2F25
.4byte 0x642F2579
.4byte 0
.global "@146"
"@146":
.4byte 0x53756E7C
.4byte 0x53756E64
.4byte 0x61797C4D
.4byte 0x6F6E7C4D
.4byte 0x6F6E6461
.4byte 0x797C5475
.4byte 0x657C5475
.4byte 0x65736461
.4byte 0x797C5765
.4byte 0x647C5765
.4byte 0x646E6573
.4byte 0x6461797C
.4byte 0x5468757C
.4byte 0x54687572
.4byte 0x73646179
.4byte 0x7C467269
.4byte 0x7C467269
.4byte 0x6461797C
.4byte 0x5361747C
.4byte 0x53617475
.4byte 0x72646179
.4byte 0
.global "@147"
"@147":
.4byte 0x4A616E7C
.4byte 0x4A616E75
.4byte 0x6172797C
.4byte 0x4665627C
.4byte 0x46656272
.4byte 0x75617279
.4byte 0x7C4D6172
.4byte 0x7C4D6172
.4byte 0x63687C41
.4byte 0x70727C41
.4byte 0x7072696C
.4byte 0x7C4D6179
.4byte 0x7C4D6179
.4byte 0x7C4A756E
.4byte 0x7C4A756E
.4byte 0x657C4A75
.4byte 0x6C7C4A75
.4byte 0x6C797C41
.4byte 0x75677C41
.4byte 0x75677573
.4byte 0x747C5365
.4byte 0x707C5365
.4byte 0x7074656D
.4byte 0x6265727C
.4byte 0x4F63747C
.4byte 0x4F63746F
.4byte 0x6265727C
.4byte 0x4E6F767C
.4byte 0x4E6F7665
.4byte 0x6D626572
.4byte 0x7C446563
.4byte 0x7C446563
.4byte 0x656D6265
.4byte 0x72000000
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global __lconv
__lconv:
.4byte "@139"
.4byte "@140"
.4byte "@140"
.4byte "@140"
.4byte "@140"
.4byte "@140"
.4byte "@140"
.4byte "@140"
.4byte "@140"
.4byte 0x7F7F7F7F
.4byte 0x7F7F7F00
.4byte "@140"
.4byte 0x7F7F7F7F
.4byte 0x7F7F7F00
.global _loc_ctyp_C
_loc_ctyp_C:
.4byte 0x43000000
.4byte 0
.4byte __ctype_mapC
.4byte __upper_mapC
.4byte __lower_mapC
.4byte __wctype_mapC
.4byte __wupper_mapC
.4byte __wlower_mapC
.4byte __mbtowc_noconv
.4byte __wctomb_noconv
.global char_coll_tableC
char_coll_tableC:
.4byte 0x00010002
.4byte 0x00030004
.4byte 0x00050006
.4byte 0x00070008
.4byte 0x0009000A
.4byte 0x000B000C
.4byte 0x000D000E
.4byte 0x000F0010
.4byte 0x00210022
.4byte 0x00230024
.4byte 0x00250026
.4byte 0x00270028
.4byte 0x0029002A
.4byte 0x00110012
.4byte 0x00130014
.4byte 0x00150016
.4byte 0x0017002B
.4byte 0x002D002F
.4byte 0x00310033
.4byte 0x00350037
.4byte 0x0039003B
.4byte 0x003D003F
.4byte 0x00410043
.4byte 0x00450047
.4byte 0x0049004B
.4byte 0x004D004F
.4byte 0x00510053
.4byte 0x00550057
.4byte 0x0059005B
.4byte 0x005D0018
.4byte 0x0019001A
.4byte 0x001B001C
.4byte 0x0000002C
.4byte 0x002E0030
.4byte 0x00320034
.4byte 0x00360038
.4byte 0x003A003C
.4byte 0x003E0040
.4byte 0x00420044
.4byte 0x00460048
.4byte 0x004A004C
.4byte 0x004E0050
.4byte 0x00520054
.4byte 0x00560058
.4byte 0x005A005C
.4byte 0x005E001D
.4byte 0x001E001F
.4byte 0x00200000
.global _loc_coll_C
_loc_coll_C:
.4byte 0x43000000
.4byte 0
.4byte 0x00000020
.4byte 0x0000006E
.4byte 0
.4byte char_coll_tableC
.4byte 0
.global _loc_mon_C
_loc_mon_C:
.4byte 0x43000000
.4byte 0
.4byte "@140"
.4byte "@140"
.4byte "@140"
.4byte "@140"
.4byte "@140"
.4byte "@140"
.4byte 0x7F7F7F7F
.4byte 0x7F7F7F00
.4byte "@140"
.4byte 0x7F7F7F7F
.4byte 0x7F7F7F00
.global _loc_num_C
_loc_num_C:
.4byte 0x43000000
.4byte 0
.4byte "@139"
.4byte "@140"
.4byte "@140"
.4byte 0
.global _loc_tim_C
_loc_tim_C:
.4byte 0x43000000
.4byte 0
.4byte "@141"
.4byte "@142"
.4byte "@143"
.4byte "@144"
.4byte "@145"
.4byte "@146"
.4byte "@147"
.4byte "@140"
.global _current_locale
_current_locale:
.4byte 0
.4byte 0x43000000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte _loc_coll_C
.4byte _loc_ctyp_C
.4byte _loc_mon_C
.4byte _loc_num_C
.4byte _loc_tim_C
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@139"
"@139":
.4byte 0x2E000000
.global "@140"
"@140":
.4byte 0
.global "@141"
"@141":
.4byte 0x414D7C50
.4byte 0x4D000000
.global "@145"
"@145":
.4byte 0x25540000
.4byte 0

View file

@ -1,94 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __fpclassifyf
__fpclassifyf:
/* 8000B18C 00006FCC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000B190 00006FD0 D0 21 00 08 */ stfs f1, 0x8(r1)
/* 8000B194 00006FD4 80 61 00 08 */ lwz r3, 0x8(r1)
/* 8000B198 00006FD8 54 64 00 50 */ rlwinm r4, r3, 0, 1, 8
/* 8000B19C 00006FDC 3C 04 80 80 */ addis r0, r4, 0x8080
/* 8000B1A0 00006FE0 28 00 00 00 */ cmplwi r0, 0x0
/* 8000B1A4 00006FE4 41 82 00 10 */ beq lbl_8000B1B4
/* 8000B1A8 00006FE8 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000B1AC 00006FEC 41 82 00 20 */ beq lbl_8000B1CC
/* 8000B1B0 00006FF0 48 00 00 30 */ b lbl_8000B1E0
.global lbl_8000B1B4
lbl_8000B1B4:
/* 8000B1B4 00006FF4 54 63 02 7E */ clrlwi r3, r3, 9
/* 8000B1B8 00006FF8 7C 03 00 D0 */ neg r0, r3
/* 8000B1BC 00006FFC 7C 00 1B 78 */ or r0, r0, r3
/* 8000B1C0 00007000 7C 03 FE 70 */ srawi r3, r0, 31
/* 8000B1C4 00007004 38 63 00 02 */ addi r3, r3, 0x2
/* 8000B1C8 00007008 48 00 00 1C */ b lbl_8000B1E4
.global lbl_8000B1CC
lbl_8000B1CC:
/* 8000B1CC 0000700C 54 60 02 7F */ clrlwi. r0, r3, 9
/* 8000B1D0 00007010 38 60 00 03 */ li r3, 0x3
/* 8000B1D4 00007014 41 82 00 10 */ beq lbl_8000B1E4
/* 8000B1D8 00007018 38 60 00 05 */ li r3, 0x5
/* 8000B1DC 0000701C 48 00 00 08 */ b lbl_8000B1E4
.global lbl_8000B1E0
lbl_8000B1E0:
/* 8000B1E0 00007020 38 60 00 04 */ li r3, 0x4
.global lbl_8000B1E4
lbl_8000B1E4:
/* 8000B1E4 00007024 38 21 00 10 */ addi r1, r1, 0x10
/* 8000B1E8 00007028 4E 80 00 20 */ blr
.global __signbitd
__signbitd:
/* 8000B1EC 0000702C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000B1F0 00007030 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 8000B1F4 00007034 80 01 00 08 */ lwz r0, 0x8(r1)
/* 8000B1F8 00007038 54 03 00 00 */ clrrwi r3, r0, 31
/* 8000B1FC 0000703C 38 21 00 10 */ addi r1, r1, 0x10
/* 8000B200 00007040 4E 80 00 20 */ blr
.global __fpclassifyd
__fpclassifyd:
/* 8000B204 00007044 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000B208 00007048 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 8000B20C 0000704C 80 61 00 08 */ lwz r3, 0x8(r1)
/* 8000B210 00007050 54 64 00 56 */ rlwinm r4, r3, 0, 1, 11
/* 8000B214 00007054 3C 04 80 10 */ addis r0, r4, 0x8010
/* 8000B218 00007058 28 00 00 00 */ cmplwi r0, 0x0
/* 8000B21C 0000705C 41 82 00 10 */ beq lbl_8000B22C
/* 8000B220 00007060 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000B224 00007064 41 82 00 2C */ beq lbl_8000B250
/* 8000B228 00007068 48 00 00 4C */ b lbl_8000B274
.global lbl_8000B22C
lbl_8000B22C:
/* 8000B22C 0000706C 54 60 03 3F */ clrlwi. r0, r3, 12
/* 8000B230 00007070 40 82 00 10 */ bne lbl_8000B240
/* 8000B234 00007074 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8000B238 00007078 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000B23C 0000707C 41 82 00 0C */ beq lbl_8000B248
.global lbl_8000B240
lbl_8000B240:
/* 8000B240 00007080 38 60 00 01 */ li r3, 0x1
/* 8000B244 00007084 48 00 00 34 */ b lbl_8000B278
.global lbl_8000B248
lbl_8000B248:
/* 8000B248 00007088 38 60 00 02 */ li r3, 0x2
/* 8000B24C 0000708C 48 00 00 2C */ b lbl_8000B278
.global lbl_8000B250
lbl_8000B250:
/* 8000B250 00007090 54 60 03 3F */ clrlwi. r0, r3, 12
/* 8000B254 00007094 40 82 00 10 */ bne lbl_8000B264
/* 8000B258 00007098 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8000B25C 0000709C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000B260 000070A0 41 82 00 0C */ beq lbl_8000B26C
.global lbl_8000B264
lbl_8000B264:
/* 8000B264 000070A4 38 60 00 05 */ li r3, 0x5
/* 8000B268 000070A8 48 00 00 10 */ b lbl_8000B278
.global lbl_8000B26C
lbl_8000B26C:
/* 8000B26C 000070AC 38 60 00 03 */ li r3, 0x3
/* 8000B270 000070B0 48 00 00 08 */ b lbl_8000B278
.global lbl_8000B274
lbl_8000B274:
/* 8000B274 000070B4 38 60 00 04 */ li r3, 0x4
.global lbl_8000B278
lbl_8000B278:
/* 8000B278 000070B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8000B27C 000070BC 4E 80 00 20 */ blr

View file

@ -1,181 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global mbtowc
mbtowc:
/* 8000AB54 00006994 3C C0 80 42 */ lis r6, _current_locale@ha
/* 8000AB58 00006998 38 C6 15 10 */ addi r6, r6, _current_locale@l
/* 8000AB5C 0000699C 80 C6 00 38 */ lwz r6, 0x38(r6)
/* 8000AB60 000069A0 81 86 00 20 */ lwz r12, 0x20(r6)
/* 8000AB64 000069A4 7D 89 03 A6 */ mtctr r12
/* 8000AB68 000069A8 4E 80 04 20 */ bctr
.global __mbtowc_noconv
__mbtowc_noconv:
/* 8000AB6C 000069AC 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000AB70 000069B0 40 82 00 0C */ bne lbl_8000AB7C
/* 8000AB74 000069B4 38 60 00 00 */ li r3, 0x0
/* 8000AB78 000069B8 4E 80 00 20 */ blr
.global lbl_8000AB7C
lbl_8000AB7C:
/* 8000AB7C 000069BC 2C 05 00 00 */ cmpwi r5, 0x0
/* 8000AB80 000069C0 40 82 00 0C */ bne lbl_8000AB8C
/* 8000AB84 000069C4 38 60 FF FF */ li r3, -0x1
/* 8000AB88 000069C8 4E 80 00 20 */ blr
.global lbl_8000AB8C
lbl_8000AB8C:
/* 8000AB8C 000069CC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000AB90 000069D0 41 82 00 0C */ beq lbl_8000AB9C
/* 8000AB94 000069D4 88 04 00 00 */ lbz r0, 0x0(r4)
/* 8000AB98 000069D8 B0 03 00 00 */ sth r0, 0x0(r3)
.global lbl_8000AB9C
lbl_8000AB9C:
/* 8000AB9C 000069DC 88 04 00 00 */ lbz r0, 0x0(r4)
/* 8000ABA0 000069E0 7C 00 07 75 */ extsb. r0, r0
/* 8000ABA4 000069E4 40 82 00 0C */ bne lbl_8000ABB0
/* 8000ABA8 000069E8 38 60 00 00 */ li r3, 0x0
/* 8000ABAC 000069EC 4E 80 00 20 */ blr
.global lbl_8000ABB0
lbl_8000ABB0:
/* 8000ABB0 000069F0 38 60 00 01 */ li r3, 0x1
/* 8000ABB4 000069F4 4E 80 00 20 */ blr
.global __wctomb_noconv
__wctomb_noconv:
/* 8000ABB8 000069F8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000ABBC 000069FC 40 82 00 0C */ bne lbl_8000ABC8
/* 8000ABC0 00006A00 38 60 00 00 */ li r3, 0x0
/* 8000ABC4 00006A04 4E 80 00 20 */ blr
.global lbl_8000ABC8
lbl_8000ABC8:
/* 8000ABC8 00006A08 98 83 00 00 */ stb r4, 0x0(r3)
/* 8000ABCC 00006A0C 38 60 00 01 */ li r3, 0x1
/* 8000ABD0 00006A10 4E 80 00 20 */ blr
.global mbstowcs
mbstowcs:
/* 8000ABD4 00006A14 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000ABD8 00006A18 7C 08 02 A6 */ mflr r0
/* 8000ABDC 00006A1C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000ABE0 00006A20 BF 41 00 08 */ stmw r26, 0x8(r1)
/* 8000ABE4 00006A24 7C 9B 23 78 */ mr r27, r4
/* 8000ABE8 00006A28 7C 7A 1B 78 */ mr r26, r3
/* 8000ABEC 00006A2C 7C BC 2B 78 */ mr r28, r5
/* 8000ABF0 00006A30 7F 63 DB 78 */ mr r3, r27
/* 8000ABF4 00006A34 4B FF BE 99 */ bl strlen
/* 8000ABF8 00006A38 2C 1A 00 00 */ cmpwi r26, 0x0
/* 8000ABFC 00006A3C 7C 7D 1B 78 */ mr r29, r3
/* 8000AC00 00006A40 41 82 00 78 */ beq lbl_8000AC78
/* 8000AC04 00006A44 3F E0 80 42 */ lis r31, _current_locale@ha
/* 8000AC08 00006A48 3B C0 00 00 */ li r30, 0x0
/* 8000AC0C 00006A4C 3B FF 15 10 */ addi r31, r31, _current_locale@l
/* 8000AC10 00006A50 48 00 00 5C */ b lbl_8000AC6C
.global lbl_8000AC14
lbl_8000AC14:
/* 8000AC14 00006A54 88 1B 00 00 */ lbz r0, 0x0(r27)
/* 8000AC18 00006A58 7C 00 07 75 */ extsb. r0, r0
/* 8000AC1C 00006A5C 41 82 00 40 */ beq lbl_8000AC5C
/* 8000AC20 00006A60 80 DF 00 38 */ lwz r6, 0x38(r31)
/* 8000AC24 00006A64 7F 43 D3 78 */ mr r3, r26
/* 8000AC28 00006A68 7F 64 DB 78 */ mr r4, r27
/* 8000AC2C 00006A6C 7F A5 EB 78 */ mr r5, r29
/* 8000AC30 00006A70 81 86 00 20 */ lwz r12, 0x20(r6)
/* 8000AC34 00006A74 7D 89 03 A6 */ mtctr r12
/* 8000AC38 00006A78 3B 5A 00 02 */ addi r26, r26, 0x2
/* 8000AC3C 00006A7C 4E 80 04 21 */ bctrl
/* 8000AC40 00006A80 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000AC44 00006A84 40 81 00 10 */ ble lbl_8000AC54
/* 8000AC48 00006A88 7F 7B 1A 14 */ add r27, r27, r3
/* 8000AC4C 00006A8C 7F A3 E8 50 */ subf r29, r3, r29
/* 8000AC50 00006A90 48 00 00 18 */ b lbl_8000AC68
.global lbl_8000AC54
lbl_8000AC54:
/* 8000AC54 00006A94 38 60 FF FF */ li r3, -0x1
/* 8000AC58 00006A98 48 00 00 28 */ b lbl_8000AC80
.global lbl_8000AC5C
lbl_8000AC5C:
/* 8000AC5C 00006A9C 38 00 00 00 */ li r0, 0x0
/* 8000AC60 00006AA0 B0 1A 00 00 */ sth r0, 0x0(r26)
/* 8000AC64 00006AA4 48 00 00 18 */ b lbl_8000AC7C
.global lbl_8000AC68
lbl_8000AC68:
/* 8000AC68 00006AA8 3B DE 00 01 */ addi r30, r30, 0x1
.global lbl_8000AC6C
lbl_8000AC6C:
/* 8000AC6C 00006AAC 7C 1E E0 40 */ cmplw r30, r28
/* 8000AC70 00006AB0 41 80 FF A4 */ blt lbl_8000AC14
/* 8000AC74 00006AB4 48 00 00 08 */ b lbl_8000AC7C
.global lbl_8000AC78
lbl_8000AC78:
/* 8000AC78 00006AB8 3B C0 00 00 */ li r30, 0x0
.global lbl_8000AC7C
lbl_8000AC7C:
/* 8000AC7C 00006ABC 7F C3 F3 78 */ mr r3, r30
.global lbl_8000AC80
lbl_8000AC80:
/* 8000AC80 00006AC0 BB 41 00 08 */ lmw r26, 0x8(r1)
/* 8000AC84 00006AC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000AC88 00006AC8 7C 08 03 A6 */ mtlr r0
/* 8000AC8C 00006ACC 38 21 00 20 */ addi r1, r1, 0x20
/* 8000AC90 00006AD0 4E 80 00 20 */ blr
.global wcstombs
wcstombs:
/* 8000AC94 00006AD4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000AC98 00006AD8 7C 08 02 A6 */ mflr r0
/* 8000AC9C 00006ADC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000ACA0 00006AE0 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000ACA4 00006AE4 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 8000ACA8 00006AE8 7C 7A 1B 78 */ mr r26, r3
/* 8000ACAC 00006AEC 7C BB 2B 78 */ mr r27, r5
/* 8000ACB0 00006AF0 3B A0 00 00 */ li r29, 0x0
/* 8000ACB4 00006AF4 41 82 00 0C */ beq lbl_8000ACC0
/* 8000ACB8 00006AF8 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000ACBC 00006AFC 40 82 00 0C */ bne lbl_8000ACC8
.global lbl_8000ACC0
lbl_8000ACC0:
/* 8000ACC0 00006B00 38 60 00 00 */ li r3, 0x0
/* 8000ACC4 00006B04 48 00 00 74 */ b lbl_8000AD38
.global lbl_8000ACC8
lbl_8000ACC8:
/* 8000ACC8 00006B08 3F E0 80 42 */ lis r31, _current_locale@ha
/* 8000ACCC 00006B0C 7C 9C 23 78 */ mr r28, r4
/* 8000ACD0 00006B10 3B FF 15 10 */ addi r31, r31, _current_locale@l
/* 8000ACD4 00006B14 48 00 00 58 */ b lbl_8000AD2C
.global lbl_8000ACD8
lbl_8000ACD8:
/* 8000ACD8 00006B18 A0 9C 00 00 */ lhz r4, 0x0(r28)
/* 8000ACDC 00006B1C 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000ACE0 00006B20 40 82 00 10 */ bne lbl_8000ACF0
/* 8000ACE4 00006B24 38 00 00 00 */ li r0, 0x0
/* 8000ACE8 00006B28 7C 1A E9 AE */ stbx r0, r26, r29
/* 8000ACEC 00006B2C 48 00 00 48 */ b lbl_8000AD34
.global lbl_8000ACF0
lbl_8000ACF0:
/* 8000ACF0 00006B30 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 8000ACF4 00006B34 38 61 00 08 */ addi r3, r1, 0x8
/* 8000ACF8 00006B38 81 85 00 24 */ lwz r12, 0x24(r5)
/* 8000ACFC 00006B3C 7D 89 03 A6 */ mtctr r12
/* 8000AD00 00006B40 3B 9C 00 02 */ addi r28, r28, 0x2
/* 8000AD04 00006B44 4E 80 04 21 */ bctrl
/* 8000AD08 00006B48 7C 1D 1A 14 */ add r0, r29, r3
/* 8000AD0C 00006B4C 7C 7E 1B 78 */ mr r30, r3
/* 8000AD10 00006B50 7C 00 D8 40 */ cmplw r0, r27
/* 8000AD14 00006B54 41 81 00 20 */ bgt lbl_8000AD34
/* 8000AD18 00006B58 7F C5 F3 78 */ mr r5, r30
/* 8000AD1C 00006B5C 7C 7A EA 14 */ add r3, r26, r29
/* 8000AD20 00006B60 38 81 00 08 */ addi r4, r1, 0x8
/* 8000AD24 00006B64 48 00 2D 5D */ bl strncpy
/* 8000AD28 00006B68 7F BD F2 14 */ add r29, r29, r30
.global lbl_8000AD2C
lbl_8000AD2C:
/* 8000AD2C 00006B6C 7C 1D D8 40 */ cmplw r29, r27
/* 8000AD30 00006B70 40 81 FF A8 */ ble lbl_8000ACD8
.global lbl_8000AD34
lbl_8000AD34:
/* 8000AD34 00006B74 7F A3 EB 78 */ mr r3, r29
.global lbl_8000AD38
lbl_8000AD38:
/* 8000AD38 00006B78 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 8000AD3C 00006B7C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000AD40 00006B80 7C 08 03 A6 */ mtlr r0
/* 8000AD44 00006B84 38 21 00 30 */ addi r1, r1, 0x30
/* 8000AD48 00006B88 4E 80 00 20 */ blr

View file

@ -1,139 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global memmove
memmove:
/* 8000AD4C 00006B8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000AD50 00006B90 7C 08 02 A6 */ mflr r0
/* 8000AD54 00006B94 7C 66 22 78 */ xor r6, r3, r4
/* 8000AD58 00006B98 28 05 00 20 */ cmplwi r5, 0x20
/* 8000AD5C 00006B9C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000AD60 00006BA0 7C C0 00 34 */ cntlzw r0, r6
/* 8000AD64 00006BA4 7C 60 00 30 */ slw r0, r3, r0
/* 8000AD68 00006BA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000AD6C 00006BAC 7C 7F 1B 78 */ mr r31, r3
/* 8000AD70 00006BB0 54 07 0F FE */ srwi r7, r0, 31
/* 8000AD74 00006BB4 41 80 00 40 */ blt lbl_8000ADB4
/* 8000AD78 00006BB8 54 C0 07 BF */ clrlwi. r0, r6, 30
/* 8000AD7C 00006BBC 41 82 00 1C */ beq lbl_8000AD98
/* 8000AD80 00006BC0 2C 07 00 00 */ cmpwi r7, 0x0
/* 8000AD84 00006BC4 40 82 00 0C */ bne lbl_8000AD90
/* 8000AD88 00006BC8 48 00 02 99 */ bl __copy_longs_unaligned
/* 8000AD8C 00006BCC 48 00 00 20 */ b lbl_8000ADAC
.global lbl_8000AD90
lbl_8000AD90:
/* 8000AD90 00006BD0 48 00 03 51 */ bl __copy_longs_rev_unaligned
/* 8000AD94 00006BD4 48 00 00 18 */ b lbl_8000ADAC
.global lbl_8000AD98
lbl_8000AD98:
/* 8000AD98 00006BD8 2C 07 00 00 */ cmpwi r7, 0x0
/* 8000AD9C 00006BDC 40 82 00 0C */ bne lbl_8000ADA8
/* 8000ADA0 00006BE0 48 00 01 1D */ bl __copy_longs_aligned
/* 8000ADA4 00006BE4 48 00 00 08 */ b lbl_8000ADAC
.global lbl_8000ADA8
lbl_8000ADA8:
/* 8000ADA8 00006BE8 48 00 01 D1 */ bl __copy_longs_rev_aligned
.global lbl_8000ADAC
lbl_8000ADAC:
/* 8000ADAC 00006BEC 7F E3 FB 78 */ mr r3, r31
/* 8000ADB0 00006BF0 48 00 00 54 */ b lbl_8000AE04
.global lbl_8000ADB4
lbl_8000ADB4:
/* 8000ADB4 00006BF4 2C 07 00 00 */ cmpwi r7, 0x0
/* 8000ADB8 00006BF8 40 82 00 28 */ bne lbl_8000ADE0
/* 8000ADBC 00006BFC 38 84 FF FF */ addi r4, r4, -0x1
/* 8000ADC0 00006C00 38 63 FF FF */ addi r3, r3, -0x1
/* 8000ADC4 00006C04 38 A5 00 01 */ addi r5, r5, 0x1
/* 8000ADC8 00006C08 48 00 00 0C */ b lbl_8000ADD4
.global lbl_8000ADCC
lbl_8000ADCC:
/* 8000ADCC 00006C0C 8C 04 00 01 */ lbzu r0, 0x1(r4)
/* 8000ADD0 00006C10 9C 03 00 01 */ stbu r0, 0x1(r3)
.global lbl_8000ADD4
lbl_8000ADD4:
/* 8000ADD4 00006C14 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000ADD8 00006C18 40 82 FF F4 */ bne lbl_8000ADCC
/* 8000ADDC 00006C1C 48 00 00 24 */ b lbl_8000AE00
.global lbl_8000ADE0
lbl_8000ADE0:
/* 8000ADE0 00006C20 7C 84 2A 14 */ add r4, r4, r5
/* 8000ADE4 00006C24 7C 63 2A 14 */ add r3, r3, r5
/* 8000ADE8 00006C28 38 A5 00 01 */ addi r5, r5, 0x1
/* 8000ADEC 00006C2C 48 00 00 0C */ b lbl_8000ADF8
.global lbl_8000ADF0
lbl_8000ADF0:
/* 8000ADF0 00006C30 8C 04 FF FF */ lbzu r0, -0x1(r4)
/* 8000ADF4 00006C34 9C 03 FF FF */ stbu r0, -0x1(r3)
.global lbl_8000ADF8
lbl_8000ADF8:
/* 8000ADF8 00006C38 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000ADFC 00006C3C 40 82 FF F4 */ bne lbl_8000ADF0
.global lbl_8000AE00
lbl_8000AE00:
/* 8000AE00 00006C40 7F E3 FB 78 */ mr r3, r31
.global lbl_8000AE04
lbl_8000AE04:
/* 8000AE04 00006C44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000AE08 00006C48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000AE0C 00006C4C 7C 08 03 A6 */ mtlr r0
/* 8000AE10 00006C50 38 21 00 10 */ addi r1, r1, 0x10
/* 8000AE14 00006C54 4E 80 00 20 */ blr
.global memchr
memchr:
/* 8000AE18 00006C58 54 84 06 3E */ clrlwi r4, r4, 24
/* 8000AE1C 00006C5C 38 63 FF FF */ addi r3, r3, -0x1
/* 8000AE20 00006C60 38 A5 00 01 */ addi r5, r5, 0x1
/* 8000AE24 00006C64 48 00 00 10 */ b lbl_8000AE34
.global lbl_8000AE28
lbl_8000AE28:
/* 8000AE28 00006C68 8C 03 00 01 */ lbzu r0, 0x1(r3)
/* 8000AE2C 00006C6C 7C 00 20 40 */ cmplw r0, r4
/* 8000AE30 00006C70 4D 82 00 20 */ beqlr
.global lbl_8000AE34
lbl_8000AE34:
/* 8000AE34 00006C74 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000AE38 00006C78 40 82 FF F0 */ bne lbl_8000AE28
/* 8000AE3C 00006C7C 38 60 00 00 */ li r3, 0x0
/* 8000AE40 00006C80 4E 80 00 20 */ blr
.global __memrchr
__memrchr:
/* 8000AE44 00006C84 7C 63 2A 14 */ add r3, r3, r5
/* 8000AE48 00006C88 54 84 06 3E */ clrlwi r4, r4, 24
/* 8000AE4C 00006C8C 38 A5 00 01 */ addi r5, r5, 0x1
/* 8000AE50 00006C90 48 00 00 10 */ b lbl_8000AE60
.global lbl_8000AE54
lbl_8000AE54:
/* 8000AE54 00006C94 8C 03 FF FF */ lbzu r0, -0x1(r3)
/* 8000AE58 00006C98 7C 00 20 40 */ cmplw r0, r4
/* 8000AE5C 00006C9C 4D 82 00 20 */ beqlr
.global lbl_8000AE60
lbl_8000AE60:
/* 8000AE60 00006CA0 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000AE64 00006CA4 40 82 FF F0 */ bne lbl_8000AE54
/* 8000AE68 00006CA8 38 60 00 00 */ li r3, 0x0
/* 8000AE6C 00006CAC 4E 80 00 20 */ blr
.global memcmp
memcmp:
/* 8000AE70 00006CB0 38 E4 FF FF */ addi r7, r4, -0x1
/* 8000AE74 00006CB4 38 C3 FF FF */ addi r6, r3, -0x1
/* 8000AE78 00006CB8 38 85 00 01 */ addi r4, r5, 0x1
/* 8000AE7C 00006CBC 48 00 00 30 */ b lbl_8000AEAC
.global lbl_8000AE80
lbl_8000AE80:
/* 8000AE80 00006CC0 8C 66 00 01 */ lbzu r3, 0x1(r6)
/* 8000AE84 00006CC4 8C 07 00 01 */ lbzu r0, 0x1(r7)
/* 8000AE88 00006CC8 7C 03 00 40 */ cmplw r3, r0
/* 8000AE8C 00006CCC 41 82 00 20 */ beq lbl_8000AEAC
/* 8000AE90 00006CD0 88 86 00 00 */ lbz r4, 0x0(r6)
/* 8000AE94 00006CD4 38 60 00 01 */ li r3, 0x1
/* 8000AE98 00006CD8 88 07 00 00 */ lbz r0, 0x0(r7)
/* 8000AE9C 00006CDC 7C 04 00 40 */ cmplw r4, r0
/* 8000AEA0 00006CE0 4C 80 00 20 */ bgelr
/* 8000AEA4 00006CE4 38 60 FF FF */ li r3, -0x1
/* 8000AEA8 00006CE8 4E 80 00 20 */ blr
.global lbl_8000AEAC
lbl_8000AEAC:
/* 8000AEAC 00006CEC 34 84 FF FF */ addic. r4, r4, -0x1
/* 8000AEB0 00006CF0 40 82 FF D0 */ bne lbl_8000AE80
/* 8000AEB4 00006CF4 38 60 00 00 */ li r3, 0x0
/* 8000AEB8 00006CF8 4E 80 00 20 */ blr

View file

@ -1,239 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __copy_longs_aligned
__copy_longs_aligned:
/* 8000AEBC 00006CFC 7C 03 00 D0 */ neg r0, r3
/* 8000AEC0 00006D00 38 E4 FF FF */ addi r7, r4, -0x1
/* 8000AEC4 00006D04 54 06 07 BF */ clrlwi. r6, r0, 30
/* 8000AEC8 00006D08 38 63 FF FF */ addi r3, r3, -0x1
/* 8000AECC 00006D0C 41 82 00 18 */ beq lbl_8000AEE4
/* 8000AED0 00006D10 7C A6 28 50 */ subf r5, r6, r5
.global lbl_8000AED4
lbl_8000AED4:
/* 8000AED4 00006D14 8C 07 00 01 */ lbzu r0, 0x1(r7)
/* 8000AED8 00006D18 34 C6 FF FF */ addic. r6, r6, -0x1
/* 8000AEDC 00006D1C 9C 03 00 01 */ stbu r0, 0x1(r3)
/* 8000AEE0 00006D20 40 82 FF F4 */ bne lbl_8000AED4
.global lbl_8000AEE4
lbl_8000AEE4:
/* 8000AEE4 00006D24 54 A4 D9 7F */ srwi. r4, r5, 5
/* 8000AEE8 00006D28 38 C7 FF FD */ addi r6, r7, -0x3
/* 8000AEEC 00006D2C 38 63 FF FD */ addi r3, r3, -0x3
/* 8000AEF0 00006D30 41 82 00 4C */ beq lbl_8000AF3C
.global lbl_8000AEF4
lbl_8000AEF4:
/* 8000AEF4 00006D34 80 06 00 04 */ lwz r0, 0x4(r6)
/* 8000AEF8 00006D38 34 84 FF FF */ addic. r4, r4, -0x1
/* 8000AEFC 00006D3C 90 03 00 04 */ stw r0, 0x4(r3)
/* 8000AF00 00006D40 80 06 00 08 */ lwz r0, 0x8(r6)
/* 8000AF04 00006D44 90 03 00 08 */ stw r0, 0x8(r3)
/* 8000AF08 00006D48 80 06 00 0C */ lwz r0, 0xc(r6)
/* 8000AF0C 00006D4C 90 03 00 0C */ stw r0, 0xc(r3)
/* 8000AF10 00006D50 80 06 00 10 */ lwz r0, 0x10(r6)
/* 8000AF14 00006D54 90 03 00 10 */ stw r0, 0x10(r3)
/* 8000AF18 00006D58 80 06 00 14 */ lwz r0, 0x14(r6)
/* 8000AF1C 00006D5C 90 03 00 14 */ stw r0, 0x14(r3)
/* 8000AF20 00006D60 80 06 00 18 */ lwz r0, 0x18(r6)
/* 8000AF24 00006D64 90 03 00 18 */ stw r0, 0x18(r3)
/* 8000AF28 00006D68 80 06 00 1C */ lwz r0, 0x1c(r6)
/* 8000AF2C 00006D6C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8000AF30 00006D70 84 06 00 20 */ lwzu r0, 0x20(r6)
/* 8000AF34 00006D74 94 03 00 20 */ stwu r0, 0x20(r3)
/* 8000AF38 00006D78 40 82 FF BC */ bne lbl_8000AEF4
.global lbl_8000AF3C
lbl_8000AF3C:
/* 8000AF3C 00006D7C 54 A4 F7 7F */ extrwi. r4, r5, 3, 27
/* 8000AF40 00006D80 41 82 00 14 */ beq lbl_8000AF54
.global lbl_8000AF44
lbl_8000AF44:
/* 8000AF44 00006D84 84 06 00 04 */ lwzu r0, 0x4(r6)
/* 8000AF48 00006D88 34 84 FF FF */ addic. r4, r4, -0x1
/* 8000AF4C 00006D8C 94 03 00 04 */ stwu r0, 0x4(r3)
/* 8000AF50 00006D90 40 82 FF F4 */ bne lbl_8000AF44
.global lbl_8000AF54
lbl_8000AF54:
/* 8000AF54 00006D94 54 A5 07 BF */ clrlwi. r5, r5, 30
/* 8000AF58 00006D98 38 86 00 03 */ addi r4, r6, 0x3
/* 8000AF5C 00006D9C 38 63 00 03 */ addi r3, r3, 0x3
/* 8000AF60 00006DA0 4D 82 00 20 */ beqlr
.global lbl_8000AF64
lbl_8000AF64:
/* 8000AF64 00006DA4 8C 04 00 01 */ lbzu r0, 0x1(r4)
/* 8000AF68 00006DA8 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000AF6C 00006DAC 9C 03 00 01 */ stbu r0, 0x1(r3)
/* 8000AF70 00006DB0 40 82 FF F4 */ bne lbl_8000AF64
/* 8000AF74 00006DB4 4E 80 00 20 */ blr
.global __copy_longs_rev_aligned
__copy_longs_rev_aligned:
/* 8000AF78 00006DB8 7C C3 2A 14 */ add r6, r3, r5
/* 8000AF7C 00006DBC 7C 84 2A 14 */ add r4, r4, r5
/* 8000AF80 00006DC0 54 C3 07 BF */ clrlwi. r3, r6, 30
/* 8000AF84 00006DC4 41 82 00 18 */ beq lbl_8000AF9C
/* 8000AF88 00006DC8 7C A3 28 50 */ subf r5, r3, r5
.global lbl_8000AF8C
lbl_8000AF8C:
/* 8000AF8C 00006DCC 8C 04 FF FF */ lbzu r0, -0x1(r4)
/* 8000AF90 00006DD0 34 63 FF FF */ addic. r3, r3, -0x1
/* 8000AF94 00006DD4 9C 06 FF FF */ stbu r0, -0x1(r6)
/* 8000AF98 00006DD8 40 82 FF F4 */ bne lbl_8000AF8C
.global lbl_8000AF9C
lbl_8000AF9C:
/* 8000AF9C 00006DDC 54 A3 D9 7F */ srwi. r3, r5, 5
/* 8000AFA0 00006DE0 41 82 00 4C */ beq lbl_8000AFEC
.global lbl_8000AFA4
lbl_8000AFA4:
/* 8000AFA4 00006DE4 80 04 FF FC */ lwz r0, -0x4(r4)
/* 8000AFA8 00006DE8 34 63 FF FF */ addic. r3, r3, -0x1
/* 8000AFAC 00006DEC 90 06 FF FC */ stw r0, -0x4(r6)
/* 8000AFB0 00006DF0 80 04 FF F8 */ lwz r0, -0x8(r4)
/* 8000AFB4 00006DF4 90 06 FF F8 */ stw r0, -0x8(r6)
/* 8000AFB8 00006DF8 80 04 FF F4 */ lwz r0, -0xc(r4)
/* 8000AFBC 00006DFC 90 06 FF F4 */ stw r0, -0xc(r6)
/* 8000AFC0 00006E00 80 04 FF F0 */ lwz r0, -0x10(r4)
/* 8000AFC4 00006E04 90 06 FF F0 */ stw r0, -0x10(r6)
/* 8000AFC8 00006E08 80 04 FF EC */ lwz r0, -0x14(r4)
/* 8000AFCC 00006E0C 90 06 FF EC */ stw r0, -0x14(r6)
/* 8000AFD0 00006E10 80 04 FF E8 */ lwz r0, -0x18(r4)
/* 8000AFD4 00006E14 90 06 FF E8 */ stw r0, -0x18(r6)
/* 8000AFD8 00006E18 80 04 FF E4 */ lwz r0, -0x1c(r4)
/* 8000AFDC 00006E1C 90 06 FF E4 */ stw r0, -0x1c(r6)
/* 8000AFE0 00006E20 84 04 FF E0 */ lwzu r0, -0x20(r4)
/* 8000AFE4 00006E24 94 06 FF E0 */ stwu r0, -0x20(r6)
/* 8000AFE8 00006E28 40 82 FF BC */ bne lbl_8000AFA4
.global lbl_8000AFEC
lbl_8000AFEC:
/* 8000AFEC 00006E2C 54 A3 F7 7F */ extrwi. r3, r5, 3, 27
/* 8000AFF0 00006E30 41 82 00 14 */ beq lbl_8000B004
.global lbl_8000AFF4
lbl_8000AFF4:
/* 8000AFF4 00006E34 84 04 FF FC */ lwzu r0, -0x4(r4)
/* 8000AFF8 00006E38 34 63 FF FF */ addic. r3, r3, -0x1
/* 8000AFFC 00006E3C 94 06 FF FC */ stwu r0, -0x4(r6)
/* 8000B000 00006E40 40 82 FF F4 */ bne lbl_8000AFF4
.global lbl_8000B004
lbl_8000B004:
/* 8000B004 00006E44 54 A5 07 BF */ clrlwi. r5, r5, 30
/* 8000B008 00006E48 4D 82 00 20 */ beqlr
.global lbl_8000B00C
lbl_8000B00C:
/* 8000B00C 00006E4C 8C 04 FF FF */ lbzu r0, -0x1(r4)
/* 8000B010 00006E50 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000B014 00006E54 9C 06 FF FF */ stbu r0, -0x1(r6)
/* 8000B018 00006E58 40 82 FF F4 */ bne lbl_8000B00C
/* 8000B01C 00006E5C 4E 80 00 20 */ blr
.global __copy_longs_unaligned
__copy_longs_unaligned:
/* 8000B020 00006E60 7C 03 00 D0 */ neg r0, r3
/* 8000B024 00006E64 38 E4 FF FF */ addi r7, r4, -0x1
/* 8000B028 00006E68 54 06 07 BF */ clrlwi. r6, r0, 30
/* 8000B02C 00006E6C 38 63 FF FF */ addi r3, r3, -0x1
/* 8000B030 00006E70 41 82 00 18 */ beq lbl_8000B048
/* 8000B034 00006E74 7C A6 28 50 */ subf r5, r6, r5
.global lbl_8000B038
lbl_8000B038:
/* 8000B038 00006E78 8C 07 00 01 */ lbzu r0, 0x1(r7)
/* 8000B03C 00006E7C 34 C6 FF FF */ addic. r6, r6, -0x1
/* 8000B040 00006E80 9C 03 00 01 */ stbu r0, 0x1(r3)
/* 8000B044 00006E84 40 82 FF F4 */ bne lbl_8000B038
.global lbl_8000B048
lbl_8000B048:
/* 8000B048 00006E88 38 07 00 01 */ addi r0, r7, 0x1
/* 8000B04C 00006E8C 38 83 FF FD */ addi r4, r3, -0x3
/* 8000B050 00006E90 54 0A 07 BE */ clrlwi r10, r0, 30
/* 8000B054 00006E94 54 A6 E8 FE */ srwi r6, r5, 3
/* 8000B058 00006E98 7C EA 38 50 */ subf r7, r10, r7
/* 8000B05C 00006E9C 54 0B 1E F8 */ rlwinm r11, r0, 3, 27, 28
/* 8000B060 00006EA0 85 07 00 01 */ lwzu r8, 0x1(r7)
/* 8000B064 00006EA4 21 8B 00 20 */ subfic r12, r11, 0x20
.global lbl_8000B068
lbl_8000B068:
/* 8000B068 00006EA8 81 27 00 04 */ lwz r9, 0x4(r7)
/* 8000B06C 00006EAC 7D 03 58 30 */ slw r3, r8, r11
/* 8000B070 00006EB0 34 C6 FF FF */ addic. r6, r6, -0x1
/* 8000B074 00006EB4 7D 20 64 30 */ srw r0, r9, r12
/* 8000B078 00006EB8 7C 60 03 78 */ or r0, r3, r0
/* 8000B07C 00006EBC 90 04 00 04 */ stw r0, 0x4(r4)
/* 8000B080 00006EC0 7D 23 58 30 */ slw r3, r9, r11
/* 8000B084 00006EC4 85 07 00 08 */ lwzu r8, 0x8(r7)
/* 8000B088 00006EC8 7D 00 64 30 */ srw r0, r8, r12
/* 8000B08C 00006ECC 7C 60 03 78 */ or r0, r3, r0
/* 8000B090 00006ED0 94 04 00 08 */ stwu r0, 0x8(r4)
/* 8000B094 00006ED4 40 82 FF D4 */ bne lbl_8000B068
/* 8000B098 00006ED8 54 A0 07 7B */ rlwinm. r0, r5, 0, 29, 29
/* 8000B09C 00006EDC 41 82 00 18 */ beq lbl_8000B0B4
/* 8000B0A0 00006EE0 84 07 00 04 */ lwzu r0, 0x4(r7)
/* 8000B0A4 00006EE4 7D 03 58 30 */ slw r3, r8, r11
/* 8000B0A8 00006EE8 7C 00 64 30 */ srw r0, r0, r12
/* 8000B0AC 00006EEC 7C 60 03 78 */ or r0, r3, r0
/* 8000B0B0 00006EF0 94 04 00 04 */ stwu r0, 0x4(r4)
.global lbl_8000B0B4
lbl_8000B0B4:
/* 8000B0B4 00006EF4 54 A5 07 BF */ clrlwi. r5, r5, 30
/* 8000B0B8 00006EF8 38 C7 00 03 */ addi r6, r7, 0x3
/* 8000B0BC 00006EFC 38 64 00 03 */ addi r3, r4, 0x3
/* 8000B0C0 00006F00 4D 82 00 20 */ beqlr
/* 8000B0C4 00006F04 20 0A 00 04 */ subfic r0, r10, 0x4
/* 8000B0C8 00006F08 7C C0 30 50 */ subf r6, r0, r6
.global lbl_8000B0CC
lbl_8000B0CC:
/* 8000B0CC 00006F0C 8C 06 00 01 */ lbzu r0, 0x1(r6)
/* 8000B0D0 00006F10 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000B0D4 00006F14 9C 03 00 01 */ stbu r0, 0x1(r3)
/* 8000B0D8 00006F18 40 82 FF F4 */ bne lbl_8000B0CC
/* 8000B0DC 00006F1C 4E 80 00 20 */ blr
.global __copy_longs_rev_unaligned
__copy_longs_rev_unaligned:
/* 8000B0E0 00006F20 7D 83 2A 14 */ add r12, r3, r5
/* 8000B0E4 00006F24 7C 84 2A 14 */ add r4, r4, r5
/* 8000B0E8 00006F28 55 83 07 BF */ clrlwi. r3, r12, 30
/* 8000B0EC 00006F2C 41 82 00 18 */ beq lbl_8000B104
/* 8000B0F0 00006F30 7C A3 28 50 */ subf r5, r3, r5
.global lbl_8000B0F4
lbl_8000B0F4:
/* 8000B0F4 00006F34 8C 04 FF FF */ lbzu r0, -0x1(r4)
/* 8000B0F8 00006F38 34 63 FF FF */ addic. r3, r3, -0x1
/* 8000B0FC 00006F3C 9C 0C FF FF */ stbu r0, -0x1(r12)
/* 8000B100 00006F40 40 82 FF F4 */ bne lbl_8000B0F4
.global lbl_8000B104
lbl_8000B104:
/* 8000B104 00006F44 54 8A 1E F8 */ rlwinm r10, r4, 3, 27, 28
/* 8000B108 00006F48 54 89 07 BE */ clrlwi r9, r4, 30
/* 8000B10C 00006F4C 21 6A 00 20 */ subfic r11, r10, 0x20
/* 8000B110 00006F50 54 A6 E8 FE */ srwi r6, r5, 3
/* 8000B114 00006F54 20 09 00 04 */ subfic r0, r9, 0x4
/* 8000B118 00006F58 7C 84 02 14 */ add r4, r4, r0
/* 8000B11C 00006F5C 84 E4 FF FC */ lwzu r7, -0x4(r4)
.global lbl_8000B120
lbl_8000B120:
/* 8000B120 00006F60 81 04 FF FC */ lwz r8, -0x4(r4)
/* 8000B124 00006F64 7C E0 5C 30 */ srw r0, r7, r11
/* 8000B128 00006F68 34 C6 FF FF */ addic. r6, r6, -0x1
/* 8000B12C 00006F6C 7D 03 50 30 */ slw r3, r8, r10
/* 8000B130 00006F70 7C 60 03 78 */ or r0, r3, r0
/* 8000B134 00006F74 90 0C FF FC */ stw r0, -0x4(r12)
/* 8000B138 00006F78 7D 00 5C 30 */ srw r0, r8, r11
/* 8000B13C 00006F7C 84 E4 FF F8 */ lwzu r7, -0x8(r4)
/* 8000B140 00006F80 7C E3 50 30 */ slw r3, r7, r10
/* 8000B144 00006F84 7C 60 03 78 */ or r0, r3, r0
/* 8000B148 00006F88 94 0C FF F8 */ stwu r0, -0x8(r12)
/* 8000B14C 00006F8C 40 82 FF D4 */ bne lbl_8000B120
/* 8000B150 00006F90 54 A0 07 7B */ rlwinm. r0, r5, 0, 29, 29
/* 8000B154 00006F94 41 82 00 18 */ beq lbl_8000B16C
/* 8000B158 00006F98 84 64 FF FC */ lwzu r3, -0x4(r4)
/* 8000B15C 00006F9C 7C E0 5C 30 */ srw r0, r7, r11
/* 8000B160 00006FA0 7C 63 50 30 */ slw r3, r3, r10
/* 8000B164 00006FA4 7C 60 03 78 */ or r0, r3, r0
/* 8000B168 00006FA8 94 0C FF FC */ stwu r0, -0x4(r12)
.global lbl_8000B16C
lbl_8000B16C:
/* 8000B16C 00006FAC 54 A5 07 BF */ clrlwi. r5, r5, 30
/* 8000B170 00006FB0 4D 82 00 20 */ beqlr
/* 8000B174 00006FB4 7C 64 4A 14 */ add r3, r4, r9
.global lbl_8000B178
lbl_8000B178:
/* 8000B178 00006FB8 8C 03 FF FF */ lbzu r0, -0x1(r3)
/* 8000B17C 00006FBC 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000B180 00006FC0 9C 0C FF FF */ stbu r0, -0x1(r12)
/* 8000B184 00006FC4 40 82 FF F4 */ bne lbl_8000B178
/* 8000B188 00006FC8 4E 80 00 20 */ blr

View file

@ -1,9 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __stdio_atexit
__stdio_atexit:
/* 8000B280 000070C0 3C 60 80 01 */ lis r3, __close_all@ha
/* 8000B284 000070C4 38 63 97 48 */ addi r3, r3, __close_all@l
/* 8000B288 000070C8 90 6D E2 E4 */ stw r3, __stdio_exit@sda21(r13)
/* 8000B28C 000070CC 4E 80 00 20 */ blr

File diff suppressed because it is too large Load diff

View file

@ -1,53 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __StringRead
__StringRead:
/* 8000D890 000096D0 2C 05 00 00 */ cmpwi r5, 0x0
/* 8000D894 000096D4 41 82 00 18 */ beq lbl_8000D8AC
/* 8000D898 000096D8 2C 05 00 01 */ cmpwi r5, 0x1
/* 8000D89C 000096DC 41 82 00 40 */ beq lbl_8000D8DC
/* 8000D8A0 000096E0 2C 05 00 02 */ cmpwi r5, 0x2
/* 8000D8A4 000096E4 41 82 00 64 */ beq lbl_8000D908
/* 8000D8A8 000096E8 48 00 00 68 */ b lbl_8000D910
.global lbl_8000D8AC
lbl_8000D8AC:
/* 8000D8AC 000096EC 80 83 00 00 */ lwz r4, 0x0(r3)
/* 8000D8B0 000096F0 88 A4 00 00 */ lbz r5, 0x0(r4)
/* 8000D8B4 000096F4 7C A0 07 75 */ extsb. r0, r5
/* 8000D8B8 000096F8 40 82 00 14 */ bne lbl_8000D8CC
/* 8000D8BC 000096FC 38 00 00 01 */ li r0, 0x1
/* 8000D8C0 00009700 90 03 00 04 */ stw r0, 0x4(r3)
/* 8000D8C4 00009704 38 60 FF FF */ li r3, -0x1
/* 8000D8C8 00009708 4E 80 00 20 */ blr
.global lbl_8000D8CC
lbl_8000D8CC:
/* 8000D8CC 0000970C 38 04 00 01 */ addi r0, r4, 0x1
/* 8000D8D0 00009710 90 03 00 00 */ stw r0, 0x0(r3)
/* 8000D8D4 00009714 7C A3 2B 78 */ mr r3, r5
/* 8000D8D8 00009718 4E 80 00 20 */ blr
.global lbl_8000D8DC
lbl_8000D8DC:
/* 8000D8DC 0000971C 80 03 00 04 */ lwz r0, 0x4(r3)
/* 8000D8E0 00009720 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000D8E4 00009724 40 82 00 14 */ bne lbl_8000D8F8
/* 8000D8E8 00009728 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8000D8EC 0000972C 38 05 FF FF */ addi r0, r5, -0x1
/* 8000D8F0 00009730 90 03 00 00 */ stw r0, 0x0(r3)
/* 8000D8F4 00009734 48 00 00 0C */ b lbl_8000D900
.global lbl_8000D8F8
lbl_8000D8F8:
/* 8000D8F8 00009738 38 00 00 00 */ li r0, 0x0
/* 8000D8FC 0000973C 90 03 00 04 */ stw r0, 0x4(r3)
.global lbl_8000D900
lbl_8000D900:
/* 8000D900 00009740 7C 83 23 78 */ mr r3, r4
/* 8000D904 00009744 4E 80 00 20 */ blr
.global lbl_8000D908
lbl_8000D908:
/* 8000D908 00009748 80 63 00 04 */ lwz r3, 0x4(r3)
/* 8000D90C 0000974C 4E 80 00 20 */ blr
.global lbl_8000D910
lbl_8000D910:
/* 8000D910 00009750 38 60 00 00 */ li r3, 0x0
/* 8000D914 00009754 4E 80 00 20 */ blr

View file

@ -1,17 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __msl_runtime_constraint_violation_s
__msl_runtime_constraint_violation_s:
/* 8001055C 0000C39C 81 8D E2 E8 */ lwz r12, __msl_constraint_handler@sda21(r13)
/* 80010560 0000C3A0 2C 0C 00 00 */ cmpwi r12, 0x0
/* 80010564 0000C3A4 4D 82 00 20 */ beqlr
/* 80010568 0000C3A8 7D 89 03 A6 */ mtctr r12
/* 8001056C 0000C3AC 4E 80 04 20 */ bctr
/* 80010570 0000C3B0 4E 80 00 20 */ blr
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global __msl_constraint_handler
__msl_constraint_handler:
.skip 0x8

View file

@ -1,65 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global raise
raise:
/* 8000D918 00009758 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000D91C 0000975C 7C 08 02 A6 */ mflr r0
/* 8000D920 00009760 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000D924 00009764 38 03 FF FF */ addi r0, r3, -0x1
/* 8000D928 00009768 28 00 00 06 */ cmplwi r0, 0x6
/* 8000D92C 0000976C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000D930 00009770 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8000D934 00009774 7C 7E 1B 78 */ mr r30, r3
/* 8000D938 00009778 40 81 00 0C */ ble lbl_8000D944
/* 8000D93C 0000977C 38 60 FF FF */ li r3, -0x1
/* 8000D940 00009780 48 00 00 68 */ b lbl_8000D9A8
.global lbl_8000D944
lbl_8000D944:
/* 8000D944 00009784 3C 80 80 49 */ lis r4, signal_funcs@ha
/* 8000D948 00009788 54 05 10 3A */ slwi r5, r0, 2
/* 8000D94C 0000978C 38 84 6B B8 */ addi r4, r4, signal_funcs@l
/* 8000D950 00009790 7F E4 28 2E */ lwzx r31, r4, r5
/* 8000D954 00009794 28 1F 00 01 */ cmplwi r31, 0x1
/* 8000D958 00009798 41 82 00 0C */ beq lbl_8000D964
/* 8000D95C 0000979C 38 00 00 00 */ li r0, 0x0
/* 8000D960 000097A0 7C 04 29 2E */ stwx r0, r4, r5
.global lbl_8000D964
lbl_8000D964:
/* 8000D964 000097A4 28 1F 00 01 */ cmplwi r31, 0x1
/* 8000D968 000097A8 41 82 00 14 */ beq lbl_8000D97C
/* 8000D96C 000097AC 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8000D970 000097B0 40 82 00 14 */ bne lbl_8000D984
/* 8000D974 000097B4 2C 03 00 01 */ cmpwi r3, 0x1
/* 8000D978 000097B8 40 82 00 0C */ bne lbl_8000D984
.global lbl_8000D97C
lbl_8000D97C:
/* 8000D97C 000097BC 38 60 00 00 */ li r3, 0x0
/* 8000D980 000097C0 48 00 00 28 */ b lbl_8000D9A8
.global lbl_8000D984
lbl_8000D984:
/* 8000D984 000097C4 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8000D988 000097C8 40 82 00 0C */ bne lbl_8000D994
/* 8000D98C 000097CC 38 60 00 00 */ li r3, 0x0
/* 8000D990 000097D0 48 01 AC 11 */ bl exit
.global lbl_8000D994
lbl_8000D994:
/* 8000D994 000097D4 7F EC FB 78 */ mr r12, r31
/* 8000D998 000097D8 7F C3 F3 78 */ mr r3, r30
/* 8000D99C 000097DC 7D 89 03 A6 */ mtctr r12
/* 8000D9A0 000097E0 4E 80 04 21 */ bctrl
/* 8000D9A4 000097E4 38 60 00 00 */ li r3, 0x0
.global lbl_8000D9A8
lbl_8000D9A8:
/* 8000D9A8 000097E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000D9AC 000097EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000D9B0 000097F0 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8000D9B4 000097F4 7C 08 03 A6 */ mtlr r0
/* 8000D9B8 000097F8 38 21 00 10 */ addi r1, r1, 0x10
/* 8000D9BC 000097FC 4E 80 00 20 */ blr
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global signal_funcs
signal_funcs:
.skip 0x20

View file

@ -1,318 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global strcpy
strcpy:
/* 8000D9C0 00009800 54 60 07 BE */ clrlwi r0, r3, 30
/* 8000D9C4 00009804 54 85 07 BE */ clrlwi r5, r4, 30
/* 8000D9C8 00009808 7C 00 28 40 */ cmplw r0, r5
/* 8000D9CC 0000980C 7C 67 1B 78 */ mr r7, r3
/* 8000D9D0 00009810 40 82 00 8C */ bne lbl_8000DA5C
/* 8000D9D4 00009814 2C 05 00 00 */ cmpwi r5, 0x0
/* 8000D9D8 00009818 41 82 00 40 */ beq lbl_8000DA18
/* 8000D9DC 0000981C 88 04 00 00 */ lbz r0, 0x0(r4)
/* 8000D9E0 00009820 98 03 00 00 */ stb r0, 0x0(r3)
/* 8000D9E4 00009824 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000D9E8 00009828 4D 82 00 20 */ beqlr
/* 8000D9EC 0000982C 20 05 00 03 */ subfic r0, r5, 0x3
/* 8000D9F0 00009830 7C 09 03 A6 */ mtctr r0
/* 8000D9F4 00009834 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000D9F8 00009838 41 82 00 18 */ beq lbl_8000DA10
.global lbl_8000D9FC
lbl_8000D9FC:
/* 8000D9FC 0000983C 8C 04 00 01 */ lbzu r0, 0x1(r4)
/* 8000DA00 00009840 9C 07 00 01 */ stbu r0, 0x1(r7)
/* 8000DA04 00009844 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DA08 00009848 4D 82 00 20 */ beqlr
/* 8000DA0C 0000984C 42 00 FF F0 */ bdnz lbl_8000D9FC
.global lbl_8000DA10
lbl_8000DA10:
/* 8000DA10 00009850 38 E7 00 01 */ addi r7, r7, 0x1
/* 8000DA14 00009854 38 84 00 01 */ addi r4, r4, 0x1
.global lbl_8000DA18
lbl_8000DA18:
/* 8000DA18 00009858 81 04 00 00 */ lwz r8, 0x0(r4)
/* 8000DA1C 0000985C 3C A0 80 81 */ lis r5, 0x80808080@ha
/* 8000DA20 00009860 38 A5 80 80 */ addi r5, r5, 0x80808080@l
/* 8000DA24 00009864 3C C8 FE FF */ addis r6, r8, 0xfeff
/* 8000DA28 00009868 38 C6 FE FF */ addi r6, r6, -0x101
/* 8000DA2C 0000986C 7C C6 40 78 */ andc r6, r6, r8
/* 8000DA30 00009870 7C C0 28 39 */ and. r0, r6, r5
/* 8000DA34 00009874 40 82 00 28 */ bne lbl_8000DA5C
/* 8000DA38 00009878 38 E7 FF FC */ addi r7, r7, -0x4
.global lbl_8000DA3C
lbl_8000DA3C:
/* 8000DA3C 0000987C 95 07 00 04 */ stwu r8, 0x4(r7)
/* 8000DA40 00009880 85 04 00 04 */ lwzu r8, 0x4(r4)
/* 8000DA44 00009884 3C C8 FE FF */ addis r6, r8, 0xfeff
/* 8000DA48 00009888 38 C6 FE FF */ addi r6, r6, -0x101
/* 8000DA4C 0000988C 7C C6 40 78 */ andc r6, r6, r8
/* 8000DA50 00009890 7C C0 28 39 */ and. r0, r6, r5
/* 8000DA54 00009894 41 82 FF E8 */ beq lbl_8000DA3C
/* 8000DA58 00009898 38 E7 00 04 */ addi r7, r7, 0x4
.global lbl_8000DA5C
lbl_8000DA5C:
/* 8000DA5C 0000989C 88 04 00 00 */ lbz r0, 0x0(r4)
/* 8000DA60 000098A0 98 07 00 00 */ stb r0, 0x0(r7)
/* 8000DA64 000098A4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DA68 000098A8 4D 82 00 20 */ beqlr
.global lbl_8000DA6C
lbl_8000DA6C:
/* 8000DA6C 000098AC 8C 04 00 01 */ lbzu r0, 0x1(r4)
/* 8000DA70 000098B0 9C 07 00 01 */ stbu r0, 0x1(r7)
/* 8000DA74 000098B4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DA78 000098B8 40 82 FF F4 */ bne lbl_8000DA6C
/* 8000DA7C 000098BC 4E 80 00 20 */ blr
.global strncpy
strncpy:
/* 8000DA80 000098C0 38 84 FF FF */ addi r4, r4, -0x1
/* 8000DA84 000098C4 38 C3 FF FF */ addi r6, r3, -0x1
/* 8000DA88 000098C8 38 A5 00 01 */ addi r5, r5, 0x1
/* 8000DA8C 000098CC 48 00 00 2C */ b lbl_8000DAB8
.global lbl_8000DA90
lbl_8000DA90:
/* 8000DA90 000098D0 8C 04 00 01 */ lbzu r0, 0x1(r4)
/* 8000DA94 000098D4 9C 06 00 01 */ stbu r0, 0x1(r6)
/* 8000DA98 000098D8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DA9C 000098DC 40 82 00 1C */ bne lbl_8000DAB8
/* 8000DAA0 000098E0 38 00 00 00 */ li r0, 0x0
/* 8000DAA4 000098E4 48 00 00 08 */ b lbl_8000DAAC
.global lbl_8000DAA8
lbl_8000DAA8:
/* 8000DAA8 000098E8 9C 06 00 01 */ stbu r0, 0x1(r6)
.global lbl_8000DAAC
lbl_8000DAAC:
/* 8000DAAC 000098EC 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000DAB0 000098F0 40 82 FF F8 */ bne lbl_8000DAA8
/* 8000DAB4 000098F4 4E 80 00 20 */ blr
.global lbl_8000DAB8
lbl_8000DAB8:
/* 8000DAB8 000098F8 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000DABC 000098FC 40 82 FF D4 */ bne lbl_8000DA90
/* 8000DAC0 00009900 4E 80 00 20 */ blr
.global strcat
strcat:
/* 8000DAC4 00009904 38 84 FF FF */ addi r4, r4, -0x1
/* 8000DAC8 00009908 38 A3 FF FF */ addi r5, r3, -0x1
.global lbl_8000DACC
lbl_8000DACC:
/* 8000DACC 0000990C 8C 05 00 01 */ lbzu r0, 0x1(r5)
/* 8000DAD0 00009910 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DAD4 00009914 40 82 FF F8 */ bne lbl_8000DACC
/* 8000DAD8 00009918 38 A5 FF FF */ addi r5, r5, -0x1
.global lbl_8000DADC
lbl_8000DADC:
/* 8000DADC 0000991C 8C 04 00 01 */ lbzu r0, 0x1(r4)
/* 8000DAE0 00009920 9C 05 00 01 */ stbu r0, 0x1(r5)
/* 8000DAE4 00009924 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DAE8 00009928 40 82 FF F4 */ bne lbl_8000DADC
/* 8000DAEC 0000992C 4E 80 00 20 */ blr
.global strncat
strncat:
/* 8000DAF0 00009930 38 84 FF FF */ addi r4, r4, -0x1
/* 8000DAF4 00009934 38 C3 FF FF */ addi r6, r3, -0x1
.global lbl_8000DAF8
lbl_8000DAF8:
/* 8000DAF8 00009938 8C 06 00 01 */ lbzu r0, 0x1(r6)
/* 8000DAFC 0000993C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DB00 00009940 40 82 FF F8 */ bne lbl_8000DAF8
/* 8000DB04 00009944 38 C6 FF FF */ addi r6, r6, -0x1
/* 8000DB08 00009948 38 A5 00 01 */ addi r5, r5, 0x1
/* 8000DB0C 0000994C 48 00 00 1C */ b lbl_8000DB28
.global lbl_8000DB10
lbl_8000DB10:
/* 8000DB10 00009950 8C 04 00 01 */ lbzu r0, 0x1(r4)
/* 8000DB14 00009954 9C 06 00 01 */ stbu r0, 0x1(r6)
/* 8000DB18 00009958 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DB1C 0000995C 40 82 00 0C */ bne lbl_8000DB28
/* 8000DB20 00009960 38 C6 FF FF */ addi r6, r6, -0x1
/* 8000DB24 00009964 48 00 00 0C */ b lbl_8000DB30
.global lbl_8000DB28
lbl_8000DB28:
/* 8000DB28 00009968 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8000DB2C 0000996C 40 82 FF E4 */ bne lbl_8000DB10
.global lbl_8000DB30
lbl_8000DB30:
/* 8000DB30 00009970 38 00 00 00 */ li r0, 0x0
/* 8000DB34 00009974 98 06 00 01 */ stb r0, 0x1(r6)
/* 8000DB38 00009978 4E 80 00 20 */ blr
.global strcmp
strcmp:
/* 8000DB3C 0000997C 88 A3 00 00 */ lbz r5, 0x0(r3)
/* 8000DB40 00009980 88 04 00 00 */ lbz r0, 0x0(r4)
/* 8000DB44 00009984 7C 00 28 51 */ subf. r0, r0, r5
/* 8000DB48 00009988 41 82 00 0C */ beq lbl_8000DB54
/* 8000DB4C 0000998C 7C 03 03 78 */ mr r3, r0
/* 8000DB50 00009990 4E 80 00 20 */ blr
.global lbl_8000DB54
lbl_8000DB54:
/* 8000DB54 00009994 54 80 07 BE */ clrlwi r0, r4, 30
/* 8000DB58 00009998 54 66 07 BE */ clrlwi r6, r3, 30
/* 8000DB5C 0000999C 7C 00 30 40 */ cmplw r0, r6
/* 8000DB60 000099A0 40 82 00 C0 */ bne lbl_8000DC20
/* 8000DB64 000099A4 2C 06 00 00 */ cmpwi r6, 0x0
/* 8000DB68 000099A8 41 82 00 58 */ beq lbl_8000DBC0
/* 8000DB6C 000099AC 2C 05 00 00 */ cmpwi r5, 0x0
/* 8000DB70 000099B0 40 82 00 0C */ bne lbl_8000DB7C
/* 8000DB74 000099B4 38 60 00 00 */ li r3, 0x0
/* 8000DB78 000099B8 4E 80 00 20 */ blr
.global lbl_8000DB7C
lbl_8000DB7C:
/* 8000DB7C 000099BC 20 06 00 03 */ subfic r0, r6, 0x3
/* 8000DB80 000099C0 7C 09 03 A6 */ mtctr r0
/* 8000DB84 000099C4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DB88 000099C8 41 82 00 30 */ beq lbl_8000DBB8
.global lbl_8000DB8C
lbl_8000DB8C:
/* 8000DB8C 000099CC 8C A3 00 01 */ lbzu r5, 0x1(r3)
/* 8000DB90 000099D0 8C 04 00 01 */ lbzu r0, 0x1(r4)
/* 8000DB94 000099D4 7C 00 28 51 */ subf. r0, r0, r5
/* 8000DB98 000099D8 41 82 00 0C */ beq lbl_8000DBA4
/* 8000DB9C 000099DC 7C 03 03 78 */ mr r3, r0
/* 8000DBA0 000099E0 4E 80 00 20 */ blr
.global lbl_8000DBA4
lbl_8000DBA4:
/* 8000DBA4 000099E4 2C 05 00 00 */ cmpwi r5, 0x0
/* 8000DBA8 000099E8 40 82 00 0C */ bne lbl_8000DBB4
/* 8000DBAC 000099EC 38 60 00 00 */ li r3, 0x0
/* 8000DBB0 000099F0 4E 80 00 20 */ blr
.global lbl_8000DBB4
lbl_8000DBB4:
/* 8000DBB4 000099F4 42 00 FF D8 */ bdnz lbl_8000DB8C
.global lbl_8000DBB8
lbl_8000DBB8:
/* 8000DBB8 000099F8 38 63 00 01 */ addi r3, r3, 0x1
/* 8000DBBC 000099FC 38 84 00 01 */ addi r4, r4, 0x1
.global lbl_8000DBC0
lbl_8000DBC0:
/* 8000DBC0 00009A00 80 E3 00 00 */ lwz r7, 0x0(r3)
/* 8000DBC4 00009A04 3C A0 80 81 */ lis r5, 0x80808080@ha
/* 8000DBC8 00009A08 38 C5 80 80 */ addi r6, r5, 0x80808080@l
/* 8000DBCC 00009A0C 81 04 00 00 */ lwz r8, 0x0(r4)
/* 8000DBD0 00009A10 3C A7 FE FF */ addis r5, r7, 0xfeff
/* 8000DBD4 00009A14 38 A5 FE FF */ addi r5, r5, -0x101
/* 8000DBD8 00009A18 7C A5 38 78 */ andc r5, r5, r7
/* 8000DBDC 00009A1C 7C A0 30 39 */ and. r0, r5, r6
/* 8000DBE0 00009A20 40 82 00 28 */ bne lbl_8000DC08
/* 8000DBE4 00009A24 48 00 00 1C */ b lbl_8000DC00
.global lbl_8000DBE8
lbl_8000DBE8:
/* 8000DBE8 00009A28 84 E3 00 04 */ lwzu r7, 0x4(r3)
/* 8000DBEC 00009A2C 85 04 00 04 */ lwzu r8, 0x4(r4)
/* 8000DBF0 00009A30 3C A7 FE FF */ addis r5, r7, 0xfeff
/* 8000DBF4 00009A34 38 05 FE FF */ addi r0, r5, -0x101
/* 8000DBF8 00009A38 7C 00 30 39 */ and. r0, r0, r6
/* 8000DBFC 00009A3C 40 82 00 0C */ bne lbl_8000DC08
.global lbl_8000DC00
lbl_8000DC00:
/* 8000DC00 00009A40 7C 07 40 40 */ cmplw r7, r8
/* 8000DC04 00009A44 41 82 FF E4 */ beq lbl_8000DBE8
.global lbl_8000DC08
lbl_8000DC08:
/* 8000DC08 00009A48 88 A3 00 00 */ lbz r5, 0x0(r3)
/* 8000DC0C 00009A4C 88 04 00 00 */ lbz r0, 0x0(r4)
/* 8000DC10 00009A50 7C 00 28 51 */ subf. r0, r0, r5
/* 8000DC14 00009A54 41 82 00 0C */ beq lbl_8000DC20
/* 8000DC18 00009A58 7C 03 03 78 */ mr r3, r0
/* 8000DC1C 00009A5C 4E 80 00 20 */ blr
.global lbl_8000DC20
lbl_8000DC20:
/* 8000DC20 00009A60 2C 05 00 00 */ cmpwi r5, 0x0
/* 8000DC24 00009A64 40 82 00 0C */ bne lbl_8000DC30
/* 8000DC28 00009A68 38 60 00 00 */ li r3, 0x0
/* 8000DC2C 00009A6C 4E 80 00 20 */ blr
.global lbl_8000DC30
lbl_8000DC30:
/* 8000DC30 00009A70 8C A3 00 01 */ lbzu r5, 0x1(r3)
/* 8000DC34 00009A74 8C 04 00 01 */ lbzu r0, 0x1(r4)
/* 8000DC38 00009A78 7C 00 28 51 */ subf. r0, r0, r5
/* 8000DC3C 00009A7C 41 82 00 0C */ beq lbl_8000DC48
/* 8000DC40 00009A80 7C 03 03 78 */ mr r3, r0
/* 8000DC44 00009A84 4E 80 00 20 */ blr
.global lbl_8000DC48
lbl_8000DC48:
/* 8000DC48 00009A88 2C 05 00 00 */ cmpwi r5, 0x0
/* 8000DC4C 00009A8C 40 82 FF E4 */ bne lbl_8000DC30
/* 8000DC50 00009A90 38 60 00 00 */ li r3, 0x0
/* 8000DC54 00009A94 4E 80 00 20 */ blr
.global strncmp
strncmp:
/* 8000DC58 00009A98 38 63 FF FF */ addi r3, r3, -0x1
/* 8000DC5C 00009A9C 38 84 FF FF */ addi r4, r4, -0x1
/* 8000DC60 00009AA0 38 C5 00 01 */ addi r6, r5, 0x1
/* 8000DC64 00009AA4 48 00 00 24 */ b lbl_8000DC88
.global lbl_8000DC68
lbl_8000DC68:
/* 8000DC68 00009AA8 8C 03 00 01 */ lbzu r0, 0x1(r3)
/* 8000DC6C 00009AAC 8C A4 00 01 */ lbzu r5, 0x1(r4)
/* 8000DC70 00009AB0 7C 00 28 40 */ cmplw r0, r5
/* 8000DC74 00009AB4 41 82 00 0C */ beq lbl_8000DC80
/* 8000DC78 00009AB8 7C 65 00 50 */ subf r3, r5, r0
/* 8000DC7C 00009ABC 4E 80 00 20 */ blr
.global lbl_8000DC80
lbl_8000DC80:
/* 8000DC80 00009AC0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DC84 00009AC4 41 82 00 0C */ beq lbl_8000DC90
.global lbl_8000DC88
lbl_8000DC88:
/* 8000DC88 00009AC8 34 C6 FF FF */ addic. r6, r6, -0x1
/* 8000DC8C 00009ACC 40 82 FF DC */ bne lbl_8000DC68
.global lbl_8000DC90
lbl_8000DC90:
/* 8000DC90 00009AD0 38 60 00 00 */ li r3, 0x0
/* 8000DC94 00009AD4 4E 80 00 20 */ blr
.global strchr
strchr:
/* 8000DC98 00009AD8 38 63 FF FF */ addi r3, r3, -0x1
/* 8000DC9C 00009ADC 54 80 06 3E */ clrlwi r0, r4, 24
/* 8000DCA0 00009AE0 48 00 00 0C */ b lbl_8000DCAC
.global lbl_8000DCA4
lbl_8000DCA4:
/* 8000DCA4 00009AE4 7C 04 00 40 */ cmplw r4, r0
/* 8000DCA8 00009AE8 4D 82 00 20 */ beqlr
.global lbl_8000DCAC
lbl_8000DCAC:
/* 8000DCAC 00009AEC 8C 83 00 01 */ lbzu r4, 0x1(r3)
/* 8000DCB0 00009AF0 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000DCB4 00009AF4 40 82 FF F0 */ bne lbl_8000DCA4
/* 8000DCB8 00009AF8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DCBC 00009AFC 4D 82 00 20 */ beqlr
/* 8000DCC0 00009B00 38 60 00 00 */ li r3, 0x0
/* 8000DCC4 00009B04 4E 80 00 20 */ blr
.global strstr
strstr:
/* 8000DCC8 00009B08 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000DCCC 00009B0C 38 A3 FF FF */ addi r5, r3, -0x1
/* 8000DCD0 00009B10 4D 82 00 20 */ beqlr
/* 8000DCD4 00009B14 88 C4 00 00 */ lbz r6, 0x0(r4)
/* 8000DCD8 00009B18 2C 06 00 00 */ cmpwi r6, 0x0
/* 8000DCDC 00009B1C 40 82 00 44 */ bne lbl_8000DD20
/* 8000DCE0 00009B20 4E 80 00 20 */ blr
/* 8000DCE4 00009B24 48 00 00 3C */ b lbl_8000DD20
.global lbl_8000DCE8
lbl_8000DCE8:
/* 8000DCE8 00009B28 7C 00 30 40 */ cmplw r0, r6
/* 8000DCEC 00009B2C 40 82 00 34 */ bne lbl_8000DD20
/* 8000DCF0 00009B30 38 E5 FF FF */ addi r7, r5, -0x1
/* 8000DCF4 00009B34 39 04 FF FF */ addi r8, r4, -0x1
.global lbl_8000DCF8
lbl_8000DCF8:
/* 8000DCF8 00009B38 8C 07 00 01 */ lbzu r0, 0x1(r7)
/* 8000DCFC 00009B3C 8C 68 00 01 */ lbzu r3, 0x1(r8)
/* 8000DD00 00009B40 7C 00 18 40 */ cmplw r0, r3
/* 8000DD04 00009B44 40 82 00 0C */ bne lbl_8000DD10
/* 8000DD08 00009B48 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DD0C 00009B4C 40 82 FF EC */ bne lbl_8000DCF8
.global lbl_8000DD10
lbl_8000DD10:
/* 8000DD10 00009B50 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000DD14 00009B54 40 82 00 0C */ bne lbl_8000DD20
/* 8000DD18 00009B58 7C A3 2B 78 */ mr r3, r5
/* 8000DD1C 00009B5C 4E 80 00 20 */ blr
.global lbl_8000DD20
lbl_8000DD20:
/* 8000DD20 00009B60 8C 05 00 01 */ lbzu r0, 0x1(r5)
/* 8000DD24 00009B64 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DD28 00009B68 40 82 FF C0 */ bne lbl_8000DCE8
/* 8000DD2C 00009B6C 38 60 00 00 */ li r3, 0x0
/* 8000DD30 00009B70 4E 80 00 20 */ blr

View file

@ -1,417 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __strtoul
__strtoul:
/* 8000DD34 00009B74 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8000DD38 00009B78 7C 08 02 A6 */ mflr r0
/* 8000DD3C 00009B7C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000DD40 00009B80 90 01 00 54 */ stw r0, 0x54(r1)
/* 8000DD44 00009B84 BE 21 00 14 */ stmw r17, 0x14(r1)
/* 8000DD48 00009B88 3B 60 00 00 */ li r27, 0x0
/* 8000DD4C 00009B8C 7C 71 1B 78 */ mr r17, r3
/* 8000DD50 00009B90 7C 92 23 78 */ mr r18, r4
/* 8000DD54 00009B94 7C B3 2B 78 */ mr r19, r5
/* 8000DD58 00009B98 7C D4 33 78 */ mr r20, r6
/* 8000DD5C 00009B9C 7C F5 3B 78 */ mr r21, r7
/* 8000DD60 00009BA0 7D 16 43 78 */ mr r22, r8
/* 8000DD64 00009BA4 7D 37 4B 78 */ mr r23, r9
/* 8000DD68 00009BA8 3B 80 00 01 */ li r28, 0x1
/* 8000DD6C 00009BAC 3B 40 00 00 */ li r26, 0x0
/* 8000DD70 00009BB0 3B 20 00 00 */ li r25, 0x0
/* 8000DD74 00009BB4 3B 00 00 00 */ li r24, 0x0
/* 8000DD78 00009BB8 93 69 00 00 */ stw r27, 0x0(r9)
/* 8000DD7C 00009BBC 93 68 00 00 */ stw r27, 0x0(r8)
/* 8000DD80 00009BC0 41 80 00 1C */ blt lbl_8000DD9C
/* 8000DD84 00009BC4 2C 03 00 01 */ cmpwi r3, 0x1
/* 8000DD88 00009BC8 41 82 00 14 */ beq lbl_8000DD9C
/* 8000DD8C 00009BCC 2C 03 00 24 */ cmpwi r3, 0x24
/* 8000DD90 00009BD0 41 81 00 0C */ bgt lbl_8000DD9C
/* 8000DD94 00009BD4 2C 04 00 01 */ cmpwi r4, 0x1
/* 8000DD98 00009BD8 40 80 00 0C */ bge lbl_8000DDA4
.global lbl_8000DD9C
lbl_8000DD9C:
/* 8000DD9C 00009BDC 3B 80 00 40 */ li r28, 0x40
/* 8000DDA0 00009BE0 48 00 00 24 */ b lbl_8000DDC4
.global lbl_8000DDA4
lbl_8000DDA4:
/* 8000DDA4 00009BE4 7E 6C 9B 78 */ mr r12, r19
/* 8000DDA8 00009BE8 7E 83 A3 78 */ mr r3, r20
/* 8000DDAC 00009BEC 38 80 00 00 */ li r4, 0x0
/* 8000DDB0 00009BF0 38 A0 00 00 */ li r5, 0x0
/* 8000DDB4 00009BF4 7D 89 03 A6 */ mtctr r12
/* 8000DDB8 00009BF8 3B 60 00 01 */ li r27, 0x1
/* 8000DDBC 00009BFC 4E 80 04 21 */ bctrl
/* 8000DDC0 00009C00 7C 64 1B 78 */ mr r4, r3
.global lbl_8000DDC4
lbl_8000DDC4:
/* 8000DDC4 00009C04 2C 11 00 00 */ cmpwi r17, 0x0
/* 8000DDC8 00009C08 41 82 00 0C */ beq lbl_8000DDD4
/* 8000DDCC 00009C0C 38 00 FF FF */ li r0, -0x1
/* 8000DDD0 00009C10 7F 00 8B 96 */ divwu r24, r0, r17
.global lbl_8000DDD4
lbl_8000DDD4:
/* 8000DDD4 00009C14 3C 60 80 42 */ lis r3, _current_locale@ha
/* 8000DDD8 00009C18 3B C0 00 01 */ li r30, 0x1
/* 8000DDDC 00009C1C 3B E0 FF FF */ li r31, -0x1
/* 8000DDE0 00009C20 3B A3 15 10 */ addi r29, r3, _current_locale@l
/* 8000DDE4 00009C24 48 00 03 00 */ b lbl_8000E0E4
.global lbl_8000DDE8
lbl_8000DDE8:
/* 8000DDE8 00009C28 2C 1C 00 01 */ cmpwi r28, 0x1
/* 8000DDEC 00009C2C 41 82 00 28 */ beq lbl_8000DE14
/* 8000DDF0 00009C30 2C 1C 00 02 */ cmpwi r28, 0x2
/* 8000DDF4 00009C34 41 82 00 E0 */ beq lbl_8000DED4
/* 8000DDF8 00009C38 2C 1C 00 04 */ cmpwi r28, 0x4
/* 8000DDFC 00009C3C 41 82 01 20 */ beq lbl_8000DF1C
/* 8000DE00 00009C40 2C 1C 00 08 */ cmpwi r28, 0x8
/* 8000DE04 00009C44 41 82 01 68 */ beq lbl_8000DF6C
/* 8000DE08 00009C48 2C 1C 00 10 */ cmpwi r28, 0x10
/* 8000DE0C 00009C4C 41 82 01 60 */ beq lbl_8000DF6C
/* 8000DE10 00009C50 48 00 02 D4 */ b lbl_8000E0E4
.global lbl_8000DE14
lbl_8000DE14:
/* 8000DE14 00009C54 28 04 00 FF */ cmplwi r4, 0xff
/* 8000DE18 00009C58 38 00 00 01 */ li r0, 0x1
/* 8000DE1C 00009C5C 41 81 00 08 */ bgt lbl_8000DE24
/* 8000DE20 00009C60 38 00 00 00 */ li r0, 0x0
.global lbl_8000DE24
lbl_8000DE24:
/* 8000DE24 00009C64 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DE28 00009C68 41 82 00 0C */ beq lbl_8000DE34
/* 8000DE2C 00009C6C 38 00 00 00 */ li r0, 0x0
/* 8000DE30 00009C70 48 00 00 18 */ b lbl_8000DE48
.global lbl_8000DE34
lbl_8000DE34:
/* 8000DE34 00009C74 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 8000DE38 00009C78 54 80 08 3C */ slwi r0, r4, 1
/* 8000DE3C 00009C7C 80 63 00 08 */ lwz r3, 0x8(r3)
/* 8000DE40 00009C80 7C 03 02 2E */ lhzx r0, r3, r0
/* 8000DE44 00009C84 54 00 05 EE */ rlwinm r0, r0, 0, 23, 23
.global lbl_8000DE48
lbl_8000DE48:
/* 8000DE48 00009C88 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DE4C 00009C8C 41 82 00 28 */ beq lbl_8000DE74
/* 8000DE50 00009C90 7E 6C 9B 78 */ mr r12, r19
/* 8000DE54 00009C94 7E 83 A3 78 */ mr r3, r20
/* 8000DE58 00009C98 38 80 00 00 */ li r4, 0x0
/* 8000DE5C 00009C9C 38 A0 00 00 */ li r5, 0x0
/* 8000DE60 00009CA0 7D 89 03 A6 */ mtctr r12
/* 8000DE64 00009CA4 4E 80 04 21 */ bctrl
/* 8000DE68 00009CA8 7C 64 1B 78 */ mr r4, r3
/* 8000DE6C 00009CAC 3B 5A 00 01 */ addi r26, r26, 0x1
/* 8000DE70 00009CB0 48 00 02 74 */ b lbl_8000E0E4
.global lbl_8000DE74
lbl_8000DE74:
/* 8000DE74 00009CB4 2C 04 00 2B */ cmpwi r4, 0x2b
/* 8000DE78 00009CB8 40 82 00 28 */ bne lbl_8000DEA0
/* 8000DE7C 00009CBC 7E 6C 9B 78 */ mr r12, r19
/* 8000DE80 00009CC0 7E 83 A3 78 */ mr r3, r20
/* 8000DE84 00009CC4 38 80 00 00 */ li r4, 0x0
/* 8000DE88 00009CC8 38 A0 00 00 */ li r5, 0x0
/* 8000DE8C 00009CCC 7D 89 03 A6 */ mtctr r12
/* 8000DE90 00009CD0 3B 7B 00 01 */ addi r27, r27, 0x1
/* 8000DE94 00009CD4 4E 80 04 21 */ bctrl
/* 8000DE98 00009CD8 7C 64 1B 78 */ mr r4, r3
/* 8000DE9C 00009CDC 48 00 00 30 */ b lbl_8000DECC
.global lbl_8000DEA0
lbl_8000DEA0:
/* 8000DEA0 00009CE0 2C 04 00 2D */ cmpwi r4, 0x2d
/* 8000DEA4 00009CE4 40 82 00 28 */ bne lbl_8000DECC
/* 8000DEA8 00009CE8 7E 6C 9B 78 */ mr r12, r19
/* 8000DEAC 00009CEC 7E 83 A3 78 */ mr r3, r20
/* 8000DEB0 00009CF0 38 80 00 00 */ li r4, 0x0
/* 8000DEB4 00009CF4 38 A0 00 00 */ li r5, 0x0
/* 8000DEB8 00009CF8 7D 89 03 A6 */ mtctr r12
/* 8000DEBC 00009CFC 3B 7B 00 01 */ addi r27, r27, 0x1
/* 8000DEC0 00009D00 4E 80 04 21 */ bctrl
/* 8000DEC4 00009D04 7C 64 1B 78 */ mr r4, r3
/* 8000DEC8 00009D08 93 D6 00 00 */ stw r30, 0x0(r22)
.global lbl_8000DECC
lbl_8000DECC:
/* 8000DECC 00009D0C 3B 80 00 02 */ li r28, 0x2
/* 8000DED0 00009D10 48 00 02 14 */ b lbl_8000E0E4
.global lbl_8000DED4
lbl_8000DED4:
/* 8000DED4 00009D14 2C 11 00 00 */ cmpwi r17, 0x0
/* 8000DED8 00009D18 41 82 00 0C */ beq lbl_8000DEE4
/* 8000DEDC 00009D1C 2C 11 00 10 */ cmpwi r17, 0x10
/* 8000DEE0 00009D20 40 82 00 34 */ bne lbl_8000DF14
.global lbl_8000DEE4
lbl_8000DEE4:
/* 8000DEE4 00009D24 2C 04 00 30 */ cmpwi r4, 0x30
/* 8000DEE8 00009D28 40 82 00 2C */ bne lbl_8000DF14
/* 8000DEEC 00009D2C 7E 6C 9B 78 */ mr r12, r19
/* 8000DEF0 00009D30 7E 83 A3 78 */ mr r3, r20
/* 8000DEF4 00009D34 3B 80 00 04 */ li r28, 0x4
/* 8000DEF8 00009D38 38 80 00 00 */ li r4, 0x0
/* 8000DEFC 00009D3C 38 A0 00 00 */ li r5, 0x0
/* 8000DF00 00009D40 7D 89 03 A6 */ mtctr r12
/* 8000DF04 00009D44 3B 7B 00 01 */ addi r27, r27, 0x1
/* 8000DF08 00009D48 4E 80 04 21 */ bctrl
/* 8000DF0C 00009D4C 7C 64 1B 78 */ mr r4, r3
/* 8000DF10 00009D50 48 00 01 D4 */ b lbl_8000E0E4
.global lbl_8000DF14
lbl_8000DF14:
/* 8000DF14 00009D54 3B 80 00 08 */ li r28, 0x8
/* 8000DF18 00009D58 48 00 01 CC */ b lbl_8000E0E4
.global lbl_8000DF1C
lbl_8000DF1C:
/* 8000DF1C 00009D5C 2C 04 00 58 */ cmpwi r4, 0x58
/* 8000DF20 00009D60 41 82 00 0C */ beq lbl_8000DF2C
/* 8000DF24 00009D64 2C 04 00 78 */ cmpwi r4, 0x78
/* 8000DF28 00009D68 40 82 00 30 */ bne lbl_8000DF58
.global lbl_8000DF2C
lbl_8000DF2C:
/* 8000DF2C 00009D6C 7E 6C 9B 78 */ mr r12, r19
/* 8000DF30 00009D70 7E 83 A3 78 */ mr r3, r20
/* 8000DF34 00009D74 3A 20 00 10 */ li r17, 0x10
/* 8000DF38 00009D78 3B 80 00 08 */ li r28, 0x8
/* 8000DF3C 00009D7C 38 80 00 00 */ li r4, 0x0
/* 8000DF40 00009D80 38 A0 00 00 */ li r5, 0x0
/* 8000DF44 00009D84 7D 89 03 A6 */ mtctr r12
/* 8000DF48 00009D88 3B 7B 00 01 */ addi r27, r27, 0x1
/* 8000DF4C 00009D8C 4E 80 04 21 */ bctrl
/* 8000DF50 00009D90 7C 64 1B 78 */ mr r4, r3
/* 8000DF54 00009D94 48 00 01 90 */ b lbl_8000E0E4
.global lbl_8000DF58
lbl_8000DF58:
/* 8000DF58 00009D98 2C 11 00 00 */ cmpwi r17, 0x0
/* 8000DF5C 00009D9C 40 82 00 08 */ bne lbl_8000DF64
/* 8000DF60 00009DA0 3A 20 00 08 */ li r17, 0x8
.global lbl_8000DF64
lbl_8000DF64:
/* 8000DF64 00009DA4 3B 80 00 10 */ li r28, 0x10
/* 8000DF68 00009DA8 48 00 01 7C */ b lbl_8000E0E4
.global lbl_8000DF6C
lbl_8000DF6C:
/* 8000DF6C 00009DAC 2C 11 00 00 */ cmpwi r17, 0x0
/* 8000DF70 00009DB0 40 82 00 08 */ bne lbl_8000DF78
/* 8000DF74 00009DB4 3A 20 00 0A */ li r17, 0xa
.global lbl_8000DF78
lbl_8000DF78:
/* 8000DF78 00009DB8 2C 18 00 00 */ cmpwi r24, 0x0
/* 8000DF7C 00009DBC 40 82 00 08 */ bne lbl_8000DF84
/* 8000DF80 00009DC0 7F 1F 8B 96 */ divwu r24, r31, r17
.global lbl_8000DF84
lbl_8000DF84:
/* 8000DF84 00009DC4 28 04 00 FF */ cmplwi r4, 0xff
/* 8000DF88 00009DC8 38 00 00 01 */ li r0, 0x1
/* 8000DF8C 00009DCC 41 81 00 08 */ bgt lbl_8000DF94
/* 8000DF90 00009DD0 38 00 00 00 */ li r0, 0x0
.global lbl_8000DF94
lbl_8000DF94:
/* 8000DF94 00009DD4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DF98 00009DD8 41 82 00 0C */ beq lbl_8000DFA4
/* 8000DF9C 00009DDC 38 00 00 00 */ li r0, 0x0
/* 8000DFA0 00009DE0 48 00 00 18 */ b lbl_8000DFB8
.global lbl_8000DFA4
lbl_8000DFA4:
/* 8000DFA4 00009DE4 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 8000DFA8 00009DE8 54 80 08 3C */ slwi r0, r4, 1
/* 8000DFAC 00009DEC 80 63 00 08 */ lwz r3, 0x8(r3)
/* 8000DFB0 00009DF0 7C 03 02 2E */ lhzx r0, r3, r0
/* 8000DFB4 00009DF4 54 00 07 38 */ rlwinm r0, r0, 0, 28, 28
.global lbl_8000DFB8
lbl_8000DFB8:
/* 8000DFB8 00009DF8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DFBC 00009DFC 41 82 00 28 */ beq lbl_8000DFE4
/* 8000DFC0 00009E00 38 84 FF D0 */ addi r4, r4, -0x30
/* 8000DFC4 00009E04 7C 04 88 00 */ cmpw r4, r17
/* 8000DFC8 00009E08 41 80 00 D4 */ blt lbl_8000E09C
/* 8000DFCC 00009E0C 2C 1C 00 10 */ cmpwi r28, 0x10
/* 8000DFD0 00009E10 3B 80 00 40 */ li r28, 0x40
/* 8000DFD4 00009E14 40 82 00 08 */ bne lbl_8000DFDC
/* 8000DFD8 00009E18 3B 80 00 20 */ li r28, 0x20
.global lbl_8000DFDC
lbl_8000DFDC:
/* 8000DFDC 00009E1C 38 84 00 30 */ addi r4, r4, 0x30
/* 8000DFE0 00009E20 48 00 01 04 */ b lbl_8000E0E4
.global lbl_8000DFE4
lbl_8000DFE4:
/* 8000DFE4 00009E24 28 04 00 FF */ cmplwi r4, 0xff
/* 8000DFE8 00009E28 38 00 00 01 */ li r0, 0x1
/* 8000DFEC 00009E2C 41 81 00 08 */ bgt lbl_8000DFF4
/* 8000DFF0 00009E30 38 00 00 00 */ li r0, 0x0
.global lbl_8000DFF4
lbl_8000DFF4:
/* 8000DFF4 00009E34 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000DFF8 00009E38 41 82 00 0C */ beq lbl_8000E004
/* 8000DFFC 00009E3C 38 00 00 00 */ li r0, 0x0
/* 8000E000 00009E40 48 00 00 18 */ b lbl_8000E018
.global lbl_8000E004
lbl_8000E004:
/* 8000E004 00009E44 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 8000E008 00009E48 54 80 08 3C */ slwi r0, r4, 1
/* 8000E00C 00009E4C 80 63 00 08 */ lwz r3, 0x8(r3)
/* 8000E010 00009E50 7C 03 02 2E */ lhzx r0, r3, r0
/* 8000E014 00009E54 54 00 07 FE */ clrlwi r0, r0, 31
.global lbl_8000E018
lbl_8000E018:
/* 8000E018 00009E58 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000E01C 00009E5C 41 82 00 3C */ beq lbl_8000E058
/* 8000E020 00009E60 28 04 00 FF */ cmplwi r4, 0xff
/* 8000E024 00009E64 38 00 00 01 */ li r0, 0x1
/* 8000E028 00009E68 41 81 00 08 */ bgt lbl_8000E030
/* 8000E02C 00009E6C 38 00 00 00 */ li r0, 0x0
.global lbl_8000E030
lbl_8000E030:
/* 8000E030 00009E70 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000E034 00009E74 41 82 00 0C */ beq lbl_8000E040
/* 8000E038 00009E78 7C 83 23 78 */ mr r3, r4
/* 8000E03C 00009E7C 48 00 00 10 */ b lbl_8000E04C
.global lbl_8000E040
lbl_8000E040:
/* 8000E040 00009E80 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 8000E044 00009E84 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8000E048 00009E88 7C 63 20 AE */ lbzx r3, r3, r4
.global lbl_8000E04C
lbl_8000E04C:
/* 8000E04C 00009E8C 38 03 FF C9 */ addi r0, r3, -0x37
/* 8000E050 00009E90 7C 00 88 00 */ cmpw r0, r17
/* 8000E054 00009E94 41 80 00 1C */ blt lbl_8000E070
.global lbl_8000E058
lbl_8000E058:
/* 8000E058 00009E98 2C 1C 00 10 */ cmpwi r28, 0x10
/* 8000E05C 00009E9C 40 82 00 0C */ bne lbl_8000E068
/* 8000E060 00009EA0 3B 80 00 20 */ li r28, 0x20
/* 8000E064 00009EA4 48 00 00 80 */ b lbl_8000E0E4
.global lbl_8000E068
lbl_8000E068:
/* 8000E068 00009EA8 3B 80 00 40 */ li r28, 0x40
/* 8000E06C 00009EAC 48 00 00 78 */ b lbl_8000E0E4
.global lbl_8000E070
lbl_8000E070:
/* 8000E070 00009EB0 28 04 00 FF */ cmplwi r4, 0xff
/* 8000E074 00009EB4 38 00 00 01 */ li r0, 0x1
/* 8000E078 00009EB8 41 81 00 08 */ bgt lbl_8000E080
/* 8000E07C 00009EBC 38 00 00 00 */ li r0, 0x0
.global lbl_8000E080
lbl_8000E080:
/* 8000E080 00009EC0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000E084 00009EC4 41 82 00 08 */ beq lbl_8000E08C
/* 8000E088 00009EC8 48 00 00 10 */ b lbl_8000E098
.global lbl_8000E08C
lbl_8000E08C:
/* 8000E08C 00009ECC 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 8000E090 00009ED0 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8000E094 00009ED4 7C 83 20 AE */ lbzx r4, r3, r4
.global lbl_8000E098
lbl_8000E098:
/* 8000E098 00009ED8 38 84 FF C9 */ addi r4, r4, -0x37
.global lbl_8000E09C
lbl_8000E09C:
/* 8000E09C 00009EDC 7C 19 C0 40 */ cmplw r25, r24
/* 8000E0A0 00009EE0 40 81 00 08 */ ble lbl_8000E0A8
/* 8000E0A4 00009EE4 93 D7 00 00 */ stw r30, 0x0(r23)
.global lbl_8000E0A8
lbl_8000E0A8:
/* 8000E0A8 00009EE8 7F 39 89 D6 */ mullw r25, r25, r17
/* 8000E0AC 00009EEC 20 19 FF FF */ subfic r0, r25, -0x1
/* 8000E0B0 00009EF0 7C 04 00 40 */ cmplw r4, r0
/* 8000E0B4 00009EF4 40 81 00 08 */ ble lbl_8000E0BC
/* 8000E0B8 00009EF8 93 D7 00 00 */ stw r30, 0x0(r23)
.global lbl_8000E0BC
lbl_8000E0BC:
/* 8000E0BC 00009EFC 7E 6C 9B 78 */ mr r12, r19
/* 8000E0C0 00009F00 7F 39 22 14 */ add r25, r25, r4
/* 8000E0C4 00009F04 7E 83 A3 78 */ mr r3, r20
/* 8000E0C8 00009F08 3B 80 00 10 */ li r28, 0x10
/* 8000E0CC 00009F0C 38 80 00 00 */ li r4, 0x0
/* 8000E0D0 00009F10 38 A0 00 00 */ li r5, 0x0
/* 8000E0D4 00009F14 7D 89 03 A6 */ mtctr r12
/* 8000E0D8 00009F18 3B 7B 00 01 */ addi r27, r27, 0x1
/* 8000E0DC 00009F1C 4E 80 04 21 */ bctrl
/* 8000E0E0 00009F20 7C 64 1B 78 */ mr r4, r3
.global lbl_8000E0E4
lbl_8000E0E4:
/* 8000E0E4 00009F24 7C 1B 90 00 */ cmpw r27, r18
/* 8000E0E8 00009F28 41 81 00 14 */ bgt lbl_8000E0FC
/* 8000E0EC 00009F2C 2C 04 FF FF */ cmpwi r4, -0x1
/* 8000E0F0 00009F30 41 82 00 0C */ beq lbl_8000E0FC
/* 8000E0F4 00009F34 57 80 06 75 */ rlwinm. r0, r28, 0, 25, 26
/* 8000E0F8 00009F38 41 82 FC F0 */ beq lbl_8000DDE8
.global lbl_8000E0FC
lbl_8000E0FC:
/* 8000E0FC 00009F3C 73 80 00 34 */ andi. r0, r28, 0x34
/* 8000E100 00009F40 40 82 00 10 */ bne lbl_8000E110
/* 8000E104 00009F44 3B 20 00 00 */ li r25, 0x0
/* 8000E108 00009F48 93 35 00 00 */ stw r25, 0x0(r21)
/* 8000E10C 00009F4C 48 00 00 10 */ b lbl_8000E11C
.global lbl_8000E110
lbl_8000E110:
/* 8000E110 00009F50 7C 7B D2 14 */ add r3, r27, r26
/* 8000E114 00009F54 38 03 FF FF */ addi r0, r3, -0x1
/* 8000E118 00009F58 90 15 00 00 */ stw r0, 0x0(r21)
.global lbl_8000E11C
lbl_8000E11C:
/* 8000E11C 00009F5C 7E 6C 9B 78 */ mr r12, r19
/* 8000E120 00009F60 7E 83 A3 78 */ mr r3, r20
/* 8000E124 00009F64 38 A0 00 01 */ li r5, 0x1
/* 8000E128 00009F68 7D 89 03 A6 */ mtctr r12
/* 8000E12C 00009F6C 4E 80 04 21 */ bctrl
/* 8000E130 00009F70 7F 23 CB 78 */ mr r3, r25
/* 8000E134 00009F74 BA 21 00 14 */ lmw r17, 0x14(r1)
/* 8000E138 00009F78 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8000E13C 00009F7C 7C 08 03 A6 */ mtlr r0
/* 8000E140 00009F80 38 21 00 50 */ addi r1, r1, 0x50
/* 8000E144 00009F84 4E 80 00 20 */ blr
.global atoi
atoi:
/* 8000E148 00009F88 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000E14C 00009F8C 7C 08 02 A6 */ mflr r0
/* 8000E150 00009F90 3C A0 80 01 */ lis r5, __StringRead@ha
/* 8000E154 00009F94 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000E158 00009F98 38 00 00 00 */ li r0, 0x0
/* 8000E15C 00009F9C 38 A5 D8 90 */ addi r5, r5, __StringRead@l
/* 8000E160 00009FA0 38 C1 00 18 */ addi r6, r1, 0x18
/* 8000E164 00009FA4 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8000E168 00009FA8 3F E0 80 00 */ lis r31, 0x8000
/* 8000E16C 00009FAC 38 9F FF FF */ addi r4, r31, -0x1
/* 8000E170 00009FB0 38 E1 00 08 */ addi r7, r1, 0x8
/* 8000E174 00009FB4 90 61 00 18 */ stw r3, 0x18(r1)
/* 8000E178 00009FB8 39 01 00 0C */ addi r8, r1, 0xc
/* 8000E17C 00009FBC 39 21 00 10 */ addi r9, r1, 0x10
/* 8000E180 00009FC0 38 60 00 0A */ li r3, 0xa
/* 8000E184 00009FC4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8000E188 00009FC8 4B FF FB AD */ bl __strtoul
/* 8000E18C 00009FCC 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8000E190 00009FD0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000E194 00009FD4 40 82 00 30 */ bne lbl_8000E1C4
/* 8000E198 00009FD8 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8000E19C 00009FDC 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000E1A0 00009FE0 40 82 00 10 */ bne lbl_8000E1B0
/* 8000E1A4 00009FE4 38 1F FF FF */ addi r0, r31, -0x1
/* 8000E1A8 00009FE8 7C 03 00 40 */ cmplw r3, r0
/* 8000E1AC 00009FEC 41 81 00 18 */ bgt lbl_8000E1C4
.global lbl_8000E1B0
lbl_8000E1B0:
/* 8000E1B0 00009FF0 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000E1B4 00009FF4 41 82 00 38 */ beq lbl_8000E1EC
/* 8000E1B8 00009FF8 3C 00 80 00 */ lis r0, 0x8000
/* 8000E1BC 00009FFC 7C 03 00 40 */ cmplw r3, r0
/* 8000E1C0 0000A000 40 81 00 2C */ ble lbl_8000E1EC
.global lbl_8000E1C4
lbl_8000E1C4:
/* 8000E1C4 0000A004 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 8000E1C8 0000A008 38 00 00 22 */ li r0, 0x22
/* 8000E1CC 0000A00C 3C 60 80 00 */ lis r3, 0x8000
/* 8000E1D0 0000A010 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 8000E1D4 0000A014 7C 85 00 D0 */ neg r4, r5
/* 8000E1D8 0000A018 38 03 FF FF */ addi r0, r3, -0x1
/* 8000E1DC 0000A01C 7C 83 2B 78 */ or r3, r4, r5
/* 8000E1E0 0000A020 54 63 0F FE */ srwi r3, r3, 31
/* 8000E1E4 0000A024 7C 63 02 14 */ add r3, r3, r0
/* 8000E1E8 0000A028 48 00 00 10 */ b lbl_8000E1F8
.global lbl_8000E1EC
lbl_8000E1EC:
/* 8000E1EC 0000A02C 2C 04 00 00 */ cmpwi r4, 0x0
/* 8000E1F0 0000A030 41 82 00 08 */ beq lbl_8000E1F8
/* 8000E1F4 0000A034 7C 63 00 D0 */ neg r3, r3
.global lbl_8000E1F8
lbl_8000E1F8:
/* 8000E1F8 0000A038 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000E1FC 0000A03C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8000E200 0000A040 7C 08 03 A6 */ mtlr r0
/* 8000E204 0000A044 38 21 00 30 */ addi r1, r1, 0x30
/* 8000E208 0000A048 4E 80 00 20 */ blr

View file

@ -1,49 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global fwide
fwide:
/* 800103DC 0000C21C 2C 03 00 00 */ cmpwi r3, 0x0
/* 800103E0 0000C220 41 82 00 10 */ beq lbl_800103F0
/* 800103E4 0000C224 80 A3 00 04 */ lwz r5, 0x4(r3)
/* 800103E8 0000C228 54 A0 57 7F */ extrwi. r0, r5, 3, 7
/* 800103EC 0000C22C 40 82 00 0C */ bne lbl_800103F8
.global lbl_800103F0
lbl_800103F0:
/* 800103F0 0000C230 38 60 00 00 */ li r3, 0x0
/* 800103F4 0000C234 4E 80 00 20 */ blr
.global lbl_800103F8
lbl_800103F8:
/* 800103F8 0000C238 54 A0 67 BF */ extrwi. r0, r5, 2, 10
/* 800103FC 0000C23C 41 82 00 18 */ beq lbl_80010414
/* 80010400 0000C240 2C 00 00 02 */ cmpwi r0, 0x2
/* 80010404 0000C244 41 82 00 3C */ beq lbl_80010440
/* 80010408 0000C248 2C 00 00 01 */ cmpwi r0, 0x1
/* 8001040C 0000C24C 41 82 00 3C */ beq lbl_80010448
/* 80010410 0000C250 48 00 00 3C */ b lbl_8001044C
.global lbl_80010414
lbl_80010414:
/* 80010414 0000C254 2C 04 00 00 */ cmpwi r4, 0x0
/* 80010418 0000C258 40 81 00 14 */ ble lbl_8001042C
/* 8001041C 0000C25C 38 00 00 02 */ li r0, 0x2
/* 80010420 0000C260 50 05 A2 96 */ rlwimi r5, r0, 20, 10, 11
/* 80010424 0000C264 90 A3 00 04 */ stw r5, 0x4(r3)
/* 80010428 0000C268 48 00 00 24 */ b lbl_8001044C
.global lbl_8001042C
lbl_8001042C:
/* 8001042C 0000C26C 40 80 00 20 */ bge lbl_8001044C
/* 80010430 0000C270 38 00 00 01 */ li r0, 0x1
/* 80010434 0000C274 50 05 A2 96 */ rlwimi r5, r0, 20, 10, 11
/* 80010438 0000C278 90 A3 00 04 */ stw r5, 0x4(r3)
/* 8001043C 0000C27C 48 00 00 10 */ b lbl_8001044C
.global lbl_80010440
lbl_80010440:
/* 80010440 0000C280 38 80 00 01 */ li r4, 0x1
/* 80010444 0000C284 48 00 00 08 */ b lbl_8001044C
.global lbl_80010448
lbl_80010448:
/* 80010448 0000C288 38 80 FF FF */ li r4, -0x1
.global lbl_8001044C
lbl_8001044C:
/* 8001044C 0000C28C 7C 83 23 78 */ mr r3, r4
/* 80010450 0000C290 4E 80 00 20 */ blr

View file

@ -1,23 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global wmemcpy
wmemcpy:
/* 8000E20C 0000A04C 54 A5 08 3C */ slwi r5, r5, 1
/* 8000E210 0000A050 4B FF 5D F0 */ b memcpy
.global wmemchr
wmemchr:
/* 8000E214 0000A054 7C A9 03 A6 */ mtctr r5
/* 8000E218 0000A058 2C 05 00 00 */ cmpwi r5, 0x0
/* 8000E21C 0000A05C 41 82 00 18 */ beq lbl_8000E234
.global lbl_8000E220
lbl_8000E220:
/* 8000E220 0000A060 A0 03 00 00 */ lhz r0, 0x0(r3)
/* 8000E224 0000A064 7C 00 20 40 */ cmplw r0, r4
/* 8000E228 0000A068 4D 82 00 20 */ beqlr
/* 8000E22C 0000A06C 38 63 00 02 */ addi r3, r3, 0x2
/* 8000E230 0000A070 42 00 FF F0 */ bdnz lbl_8000E220
.global lbl_8000E234
lbl_8000E234:
/* 8000E234 0000A074 38 60 00 00 */ li r3, 0x0
/* 8000E238 0000A078 4E 80 00 20 */ blr

File diff suppressed because it is too large Load diff

View file

@ -1,69 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global wcslen
wcslen:
/* 80010334 0000C174 38 83 FF FE */ addi r4, r3, -0x2
/* 80010338 0000C178 38 60 FF FF */ li r3, -0x1
.global lbl_8001033C
lbl_8001033C:
/* 8001033C 0000C17C A4 04 00 02 */ lhzu r0, 0x2(r4)
/* 80010340 0000C180 38 63 00 01 */ addi r3, r3, 0x1
/* 80010344 0000C184 2C 00 00 00 */ cmpwi r0, 0x0
/* 80010348 0000C188 40 82 FF F4 */ bne lbl_8001033C
/* 8001034C 0000C18C 4E 80 00 20 */ blr
.global wcscpy
wcscpy:
/* 80010350 0000C190 38 84 FF FE */ addi r4, r4, -0x2
/* 80010354 0000C194 38 A3 FF FE */ addi r5, r3, -0x2
.global lbl_80010358
lbl_80010358:
/* 80010358 0000C198 A4 04 00 02 */ lhzu r0, 0x2(r4)
/* 8001035C 0000C19C B4 05 00 02 */ sthu r0, 0x2(r5)
/* 80010360 0000C1A0 2C 00 00 00 */ cmpwi r0, 0x0
/* 80010364 0000C1A4 40 82 FF F4 */ bne lbl_80010358
/* 80010368 0000C1A8 4E 80 00 20 */ blr
.global wcsncpy
wcsncpy:
/* 8001036C 0000C1AC 38 84 FF FE */ addi r4, r4, -0x2
/* 80010370 0000C1B0 38 C3 FF FE */ addi r6, r3, -0x2
/* 80010374 0000C1B4 38 A5 00 01 */ addi r5, r5, 0x1
/* 80010378 0000C1B8 48 00 00 2C */ b lbl_800103A4
.global lbl_8001037C
lbl_8001037C:
/* 8001037C 0000C1BC A4 04 00 02 */ lhzu r0, 0x2(r4)
/* 80010380 0000C1C0 B4 06 00 02 */ sthu r0, 0x2(r6)
/* 80010384 0000C1C4 2C 00 00 00 */ cmpwi r0, 0x0
/* 80010388 0000C1C8 40 82 00 1C */ bne lbl_800103A4
/* 8001038C 0000C1CC 38 00 00 00 */ li r0, 0x0
/* 80010390 0000C1D0 48 00 00 08 */ b lbl_80010398
.global lbl_80010394
lbl_80010394:
/* 80010394 0000C1D4 B4 06 00 02 */ sthu r0, 0x2(r6)
.global lbl_80010398
lbl_80010398:
/* 80010398 0000C1D8 34 A5 FF FF */ addic. r5, r5, -0x1
/* 8001039C 0000C1DC 40 82 FF F8 */ bne lbl_80010394
/* 800103A0 0000C1E0 4E 80 00 20 */ blr
.global lbl_800103A4
lbl_800103A4:
/* 800103A4 0000C1E4 34 A5 FF FF */ addic. r5, r5, -0x1
/* 800103A8 0000C1E8 40 82 FF D4 */ bne lbl_8001037C
/* 800103AC 0000C1EC 4E 80 00 20 */ blr
.global wcschr
wcschr:
/* 800103B0 0000C1F0 38 63 FF FE */ addi r3, r3, -0x2
/* 800103B4 0000C1F4 48 00 00 0C */ b lbl_800103C0
.global lbl_800103B8
lbl_800103B8:
/* 800103B8 0000C1F8 7C 00 20 40 */ cmplw r0, r4
/* 800103BC 0000C1FC 4D 82 00 20 */ beqlr
.global lbl_800103C0
lbl_800103C0:
/* 800103C0 0000C200 A4 03 00 02 */ lhzu r0, 0x2(r3)
/* 800103C4 0000C204 2C 00 00 00 */ cmpwi r0, 0x0
/* 800103C8 0000C208 40 82 FF F0 */ bne lbl_800103B8
/* 800103CC 0000C20C 2C 04 00 00 */ cmpwi r4, 0x0
/* 800103D0 0000C210 4D 82 00 20 */ beqlr
/* 800103D4 0000C214 38 60 00 00 */ li r3, 0x0
/* 800103D8 0000C218 4E 80 00 20 */ blr

View file

@ -0,0 +1,393 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global Block_link
Block_link:
/* 80009234 00005074 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80009238 00005078 7C 08 02 A6 */ mflr r0
/* 8000923C 0000507C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80009240 00005080 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80009244 00005084 93 C1 00 08 */ stw r30, 8(r1)
/* 80009248 00005088 7C 7E 1B 78 */ mr r30, r3
/* 8000924C 0000508C 80 04 00 00 */ lwz r0, 0(r4)
/* 80009250 00005090 54 06 00 38 */ rlwinm r6, r0, 0, 0, 0x1c
/* 80009254 00005094 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80009258 00005098 90 04 00 00 */ stw r0, 0(r4)
/* 8000925C 0000509C 7C A4 32 14 */ add r5, r4, r6
/* 80009260 000050A0 7C 04 30 2E */ lwzx r0, r4, r6
/* 80009264 000050A4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80009268 000050A8 7C 04 31 2E */ stwx r0, r4, r6
/* 8000926C 000050AC 90 C5 FF FC */ stw r6, -4(r5)
/* 80009270 000050B0 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80009274 000050B4 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 80009278 000050B8 7F E3 02 14 */ add r31, r3, r0
/* 8000927C 000050BC 84 7F FF FC */ lwzu r3, -4(r31)
/* 80009280 000050C0 2C 03 00 00 */ cmpwi r3, 0
/* 80009284 000050C4 41 82 00 C0 */ beq lbl_80009344
/* 80009288 000050C8 80 A3 00 08 */ lwz r5, 8(r3)
/* 8000928C 000050CC 7C 83 23 78 */ mr r3, r4
/* 80009290 000050D0 90 A4 00 08 */ stw r5, 8(r4)
/* 80009294 000050D4 90 85 00 0C */ stw r4, 0xc(r5)
/* 80009298 000050D8 80 1F 00 00 */ lwz r0, 0(r31)
/* 8000929C 000050DC 90 04 00 0C */ stw r0, 0xc(r4)
/* 800092A0 000050E0 80 BF 00 00 */ lwz r5, 0(r31)
/* 800092A4 000050E4 90 85 00 08 */ stw r4, 8(r5)
/* 800092A8 000050E8 90 9F 00 00 */ stw r4, 0(r31)
/* 800092AC 000050EC 80 04 00 00 */ lwz r0, 0(r4)
/* 800092B0 000050F0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 800092B4 000050F4 40 82 00 80 */ bne lbl_80009334
/* 800092B8 000050F8 80 C4 FF FC */ lwz r6, -4(r4)
/* 800092BC 000050FC 54 C0 07 BD */ rlwinm. r0, r6, 0, 0x1e, 0x1e
/* 800092C0 00005100 41 82 00 08 */ beq lbl_800092C8
/* 800092C4 00005104 48 00 00 70 */ b lbl_80009334
lbl_800092C8:
/* 800092C8 00005108 7C 66 20 50 */ subf r3, r6, r4
/* 800092CC 0000510C 80 03 00 00 */ lwz r0, 0(r3)
/* 800092D0 00005110 54 05 07 7E */ clrlwi r5, r0, 0x1d
/* 800092D4 00005114 90 A3 00 00 */ stw r5, 0(r3)
/* 800092D8 00005118 80 04 00 00 */ lwz r0, 0(r4)
/* 800092DC 0000511C 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 800092E0 00005120 7C 06 02 14 */ add r0, r6, r0
/* 800092E4 00005124 50 05 00 38 */ rlwimi r5, r0, 0, 0, 0x1c
/* 800092E8 00005128 90 A3 00 00 */ stw r5, 0(r3)
/* 800092EC 0000512C 54 A0 07 BD */ rlwinm. r0, r5, 0, 0x1e, 0x1e
/* 800092F0 00005130 40 82 00 18 */ bne lbl_80009308
/* 800092F4 00005134 80 04 00 00 */ lwz r0, 0(r4)
/* 800092F8 00005138 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 800092FC 0000513C 7C 06 02 14 */ add r0, r6, r0
/* 80009300 00005140 7C A3 02 14 */ add r5, r3, r0
/* 80009304 00005144 90 05 FF FC */ stw r0, -4(r5)
lbl_80009308:
/* 80009308 00005148 80 BF 00 00 */ lwz r5, 0(r31)
/* 8000930C 0000514C 7C 05 20 40 */ cmplw r5, r4
/* 80009310 00005150 40 82 00 0C */ bne lbl_8000931C
/* 80009314 00005154 80 05 00 0C */ lwz r0, 0xc(r5)
/* 80009318 00005158 90 1F 00 00 */ stw r0, 0(r31)
lbl_8000931C:
/* 8000931C 0000515C 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 80009320 00005160 80 04 00 08 */ lwz r0, 8(r4)
/* 80009324 00005164 90 05 00 08 */ stw r0, 8(r5)
/* 80009328 00005168 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 8000932C 0000516C 80 85 00 08 */ lwz r4, 8(r5)
/* 80009330 00005170 90 A4 00 0C */ stw r5, 0xc(r4)
lbl_80009334:
/* 80009334 00005174 90 7F 00 00 */ stw r3, 0(r31)
/* 80009338 00005178 7F E4 FB 78 */ mr r4, r31
/* 8000933C 0000517C 48 00 00 49 */ bl SubBlock_merge_next
/* 80009340 00005180 48 00 00 10 */ b lbl_80009350
lbl_80009344:
/* 80009344 00005184 90 9F 00 00 */ stw r4, 0(r31)
/* 80009348 00005188 90 84 00 08 */ stw r4, 8(r4)
/* 8000934C 0000518C 90 84 00 0C */ stw r4, 0xc(r4)
lbl_80009350:
/* 80009350 00005190 80 7F 00 00 */ lwz r3, 0(r31)
/* 80009354 00005194 80 1E 00 08 */ lwz r0, 8(r30)
/* 80009358 00005198 80 63 00 00 */ lwz r3, 0(r3)
/* 8000935C 0000519C 54 63 00 38 */ rlwinm r3, r3, 0, 0, 0x1c
/* 80009360 000051A0 7C 00 18 40 */ cmplw r0, r3
/* 80009364 000051A4 40 80 00 08 */ bge lbl_8000936C
/* 80009368 000051A8 90 7E 00 08 */ stw r3, 8(r30)
lbl_8000936C:
/* 8000936C 000051AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80009370 000051B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80009374 000051B4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80009378 000051B8 7C 08 03 A6 */ mtlr r0
/* 8000937C 000051BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80009380 000051C0 4E 80 00 20 */ blr
.global SubBlock_merge_next
SubBlock_merge_next:
/* 80009384 000051C4 80 C3 00 00 */ lwz r6, 0(r3)
/* 80009388 000051C8 54 C7 00 38 */ rlwinm r7, r6, 0, 0, 0x1c
/* 8000938C 000051CC 7C A3 38 2E */ lwzx r5, r3, r7
/* 80009390 000051D0 7D 03 3A 14 */ add r8, r3, r7
/* 80009394 000051D4 54 A0 07 BD */ rlwinm. r0, r5, 0, 0x1e, 0x1e
/* 80009398 000051D8 4C 82 00 20 */ bnelr
/* 8000939C 000051DC 54 A5 00 38 */ rlwinm r5, r5, 0, 0, 0x1c
/* 800093A0 000051E0 54 C0 07 7E */ clrlwi r0, r6, 0x1d
/* 800093A4 000051E4 7C C7 2A 14 */ add r6, r7, r5
/* 800093A8 000051E8 50 C0 00 38 */ rlwimi r0, r6, 0, 0, 0x1c
/* 800093AC 000051EC 90 03 00 00 */ stw r0, 0(r3)
/* 800093B0 000051F0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 800093B4 000051F4 40 82 00 0C */ bne lbl_800093C0
/* 800093B8 000051F8 7C A3 32 14 */ add r5, r3, r6
/* 800093BC 000051FC 90 C5 FF FC */ stw r6, -4(r5)
lbl_800093C0:
/* 800093C0 00005200 80 03 00 00 */ lwz r0, 0(r3)
/* 800093C4 00005204 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 800093C8 00005208 40 82 00 14 */ bne lbl_800093DC
/* 800093CC 0000520C 7C 03 30 2E */ lwzx r0, r3, r6
/* 800093D0 00005210 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 800093D4 00005214 7C 03 31 2E */ stwx r0, r3, r6
/* 800093D8 00005218 48 00 00 10 */ b lbl_800093E8
lbl_800093DC:
/* 800093DC 0000521C 7C 03 30 2E */ lwzx r0, r3, r6
/* 800093E0 00005220 60 00 00 04 */ ori r0, r0, 4
/* 800093E4 00005224 7C 03 31 2E */ stwx r0, r3, r6
lbl_800093E8:
/* 800093E8 00005228 80 64 00 00 */ lwz r3, 0(r4)
/* 800093EC 0000522C 7C 03 40 40 */ cmplw r3, r8
/* 800093F0 00005230 40 82 00 0C */ bne lbl_800093FC
/* 800093F4 00005234 80 03 00 0C */ lwz r0, 0xc(r3)
/* 800093F8 00005238 90 04 00 00 */ stw r0, 0(r4)
lbl_800093FC:
/* 800093FC 0000523C 80 04 00 00 */ lwz r0, 0(r4)
/* 80009400 00005240 7C 00 40 40 */ cmplw r0, r8
/* 80009404 00005244 40 82 00 0C */ bne lbl_80009410
/* 80009408 00005248 38 00 00 00 */ li r0, 0
/* 8000940C 0000524C 90 04 00 00 */ stw r0, 0(r4)
lbl_80009410:
/* 80009410 00005250 80 68 00 0C */ lwz r3, 0xc(r8)
/* 80009414 00005254 80 08 00 08 */ lwz r0, 8(r8)
/* 80009418 00005258 90 03 00 08 */ stw r0, 8(r3)
/* 8000941C 0000525C 80 68 00 08 */ lwz r3, 8(r8)
/* 80009420 00005260 80 08 00 0C */ lwz r0, 0xc(r8)
/* 80009424 00005264 90 03 00 0C */ stw r0, 0xc(r3)
/* 80009428 00005268 4E 80 00 20 */ blr
.global deallocate_from_fixed_pools
deallocate_from_fixed_pools:
/* 8000942C 0000526C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80009430 00005270 7C 08 02 A6 */ mflr r0
/* 80009434 00005274 3C C0 80 40 */ lis r6, fix_pool_sizes@ha
/* 80009438 00005278 38 E0 00 00 */ li r7, 0
/* 8000943C 0000527C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80009440 00005280 38 C6 66 70 */ addi r6, r6, fix_pool_sizes@l
/* 80009444 00005284 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80009448 00005288 7C 7F 1B 78 */ mr r31, r3
/* 8000944C 0000528C 93 C1 00 08 */ stw r30, 8(r1)
/* 80009450 00005290 48 00 00 0C */ b lbl_8000945C
lbl_80009454:
/* 80009454 00005294 38 C6 00 04 */ addi r6, r6, 4
/* 80009458 00005298 38 E7 00 01 */ addi r7, r7, 1
lbl_8000945C:
/* 8000945C 0000529C 80 06 00 00 */ lwz r0, 0(r6)
/* 80009460 000052A0 7C 05 00 40 */ cmplw r5, r0
/* 80009464 000052A4 41 81 FF F0 */ bgt lbl_80009454
/* 80009468 000052A8 38 C4 FF FC */ addi r6, r4, -4
/* 8000946C 000052AC 80 84 FF FC */ lwz r4, -4(r4)
/* 80009470 000052B0 54 E0 18 38 */ slwi r0, r7, 3
/* 80009474 000052B4 7C 63 02 14 */ add r3, r3, r0
/* 80009478 000052B8 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8000947C 000052BC 2C 00 00 00 */ cmpwi r0, 0
/* 80009480 000052C0 40 82 00 6C */ bne lbl_800094EC
/* 80009484 000052C4 80 A3 00 08 */ lwz r5, 8(r3)
/* 80009488 000052C8 7C 05 20 40 */ cmplw r5, r4
/* 8000948C 000052CC 41 82 00 60 */ beq lbl_800094EC
/* 80009490 000052D0 80 03 00 04 */ lwz r0, 4(r3)
/* 80009494 000052D4 7C 00 20 40 */ cmplw r0, r4
/* 80009498 000052D8 40 82 00 1C */ bne lbl_800094B4
/* 8000949C 000052DC 80 05 00 00 */ lwz r0, 0(r5)
/* 800094A0 000052E0 90 03 00 08 */ stw r0, 8(r3)
/* 800094A4 000052E4 80 A3 00 04 */ lwz r5, 4(r3)
/* 800094A8 000052E8 80 05 00 00 */ lwz r0, 0(r5)
/* 800094AC 000052EC 90 03 00 04 */ stw r0, 4(r3)
/* 800094B0 000052F0 48 00 00 3C */ b lbl_800094EC
lbl_800094B4:
/* 800094B4 000052F4 80 A4 00 00 */ lwz r5, 0(r4)
/* 800094B8 000052F8 80 04 00 04 */ lwz r0, 4(r4)
/* 800094BC 000052FC 90 05 00 04 */ stw r0, 4(r5)
/* 800094C0 00005300 80 A4 00 04 */ lwz r5, 4(r4)
/* 800094C4 00005304 80 04 00 00 */ lwz r0, 0(r4)
/* 800094C8 00005308 90 05 00 00 */ stw r0, 0(r5)
/* 800094CC 0000530C 80 A3 00 08 */ lwz r5, 8(r3)
/* 800094D0 00005310 90 A4 00 04 */ stw r5, 4(r4)
/* 800094D4 00005314 80 A5 00 00 */ lwz r5, 0(r5)
/* 800094D8 00005318 90 A4 00 00 */ stw r5, 0(r4)
/* 800094DC 0000531C 90 85 00 04 */ stw r4, 4(r5)
/* 800094E0 00005320 80 A4 00 04 */ lwz r5, 4(r4)
/* 800094E4 00005324 90 85 00 00 */ stw r4, 0(r5)
/* 800094E8 00005328 90 83 00 08 */ stw r4, 8(r3)
lbl_800094EC:
/* 800094EC 0000532C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 800094F0 00005330 90 06 00 04 */ stw r0, 4(r6)
/* 800094F4 00005334 90 C4 00 0C */ stw r6, 0xc(r4)
/* 800094F8 00005338 80 04 00 10 */ lwz r0, 0x10(r4)
/* 800094FC 0000533C 34 00 FF FF */ addic. r0, r0, -1
/* 80009500 00005340 90 04 00 10 */ stw r0, 0x10(r4)
/* 80009504 00005344 40 82 00 FC */ bne lbl_80009600
/* 80009508 00005348 80 03 00 08 */ lwz r0, 8(r3)
/* 8000950C 0000534C 7C 00 20 40 */ cmplw r0, r4
/* 80009510 00005350 40 82 00 0C */ bne lbl_8000951C
/* 80009514 00005354 80 04 00 04 */ lwz r0, 4(r4)
/* 80009518 00005358 90 03 00 08 */ stw r0, 8(r3)
lbl_8000951C:
/* 8000951C 0000535C 80 03 00 04 */ lwz r0, 4(r3)
/* 80009520 00005360 7C 00 20 40 */ cmplw r0, r4
/* 80009524 00005364 40 82 00 0C */ bne lbl_80009530
/* 80009528 00005368 80 04 00 00 */ lwz r0, 0(r4)
/* 8000952C 0000536C 90 03 00 04 */ stw r0, 4(r3)
lbl_80009530:
/* 80009530 00005370 80 A4 00 00 */ lwz r5, 0(r4)
/* 80009534 00005374 80 04 00 04 */ lwz r0, 4(r4)
/* 80009538 00005378 90 05 00 04 */ stw r0, 4(r5)
/* 8000953C 0000537C 80 A4 00 04 */ lwz r5, 4(r4)
/* 80009540 00005380 80 04 00 00 */ lwz r0, 0(r4)
/* 80009544 00005384 90 05 00 00 */ stw r0, 0(r5)
/* 80009548 00005388 80 03 00 08 */ lwz r0, 8(r3)
/* 8000954C 0000538C 7C 00 20 40 */ cmplw r0, r4
/* 80009550 00005390 40 82 00 0C */ bne lbl_8000955C
/* 80009554 00005394 38 00 00 00 */ li r0, 0
/* 80009558 00005398 90 03 00 08 */ stw r0, 8(r3)
lbl_8000955C:
/* 8000955C 0000539C 80 03 00 04 */ lwz r0, 4(r3)
/* 80009560 000053A0 7C 00 20 40 */ cmplw r0, r4
/* 80009564 000053A4 40 82 00 0C */ bne lbl_80009570
/* 80009568 000053A8 38 00 00 00 */ li r0, 0
/* 8000956C 000053AC 90 03 00 04 */ stw r0, 4(r3)
lbl_80009570:
/* 80009570 000053B0 38 84 FF F8 */ addi r4, r4, -8
/* 80009574 000053B4 80 04 00 04 */ lwz r0, 4(r4)
/* 80009578 000053B8 54 1E 00 3C */ rlwinm r30, r0, 0, 0, 0x1e
/* 8000957C 000053BC 7F C3 F3 78 */ mr r3, r30
/* 80009580 000053C0 4B FF FC B5 */ bl Block_link
/* 80009584 000053C4 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80009588 000053C8 38 A0 00 00 */ li r5, 0
/* 8000958C 000053CC 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 80009590 000053D0 40 82 00 20 */ bne lbl_800095B0
/* 80009594 000053D4 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80009598 000053D8 54 64 00 38 */ rlwinm r4, r3, 0, 0, 0x1c
/* 8000959C 000053DC 54 03 00 38 */ rlwinm r3, r0, 0, 0, 0x1c
/* 800095A0 000053E0 38 03 FF E8 */ addi r0, r3, -24
/* 800095A4 000053E4 7C 04 00 40 */ cmplw r4, r0
/* 800095A8 000053E8 40 82 00 08 */ bne lbl_800095B0
/* 800095AC 000053EC 38 A0 00 01 */ li r5, 1
lbl_800095B0:
/* 800095B0 000053F0 2C 05 00 00 */ cmpwi r5, 0
/* 800095B4 000053F4 41 82 00 4C */ beq lbl_80009600
/* 800095B8 000053F8 80 9E 00 04 */ lwz r4, 4(r30)
/* 800095BC 000053FC 7C 04 F0 40 */ cmplw r4, r30
/* 800095C0 00005400 40 82 00 08 */ bne lbl_800095C8
/* 800095C4 00005404 38 80 00 00 */ li r4, 0
lbl_800095C8:
/* 800095C8 00005408 80 1F 00 00 */ lwz r0, 0(r31)
/* 800095CC 0000540C 7C 00 F0 40 */ cmplw r0, r30
/* 800095D0 00005410 40 82 00 08 */ bne lbl_800095D8
/* 800095D4 00005414 90 9F 00 00 */ stw r4, 0(r31)
lbl_800095D8:
/* 800095D8 00005418 2C 04 00 00 */ cmpwi r4, 0
/* 800095DC 0000541C 41 82 00 10 */ beq lbl_800095EC
/* 800095E0 00005420 80 7E 00 00 */ lwz r3, 0(r30)
/* 800095E4 00005424 90 64 00 00 */ stw r3, 0(r4)
/* 800095E8 00005428 90 83 00 04 */ stw r4, 4(r3)
lbl_800095EC:
/* 800095EC 0000542C 38 00 00 00 */ li r0, 0
/* 800095F0 00005430 90 1E 00 04 */ stw r0, 4(r30)
/* 800095F4 00005434 7F C3 F3 78 */ mr r3, r30
/* 800095F8 00005438 90 1E 00 00 */ stw r0, 0(r30)
/* 800095FC 0000543C 4B FF FB 81 */ bl __sys_free
lbl_80009600:
/* 80009600 00005440 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80009604 00005444 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80009608 00005448 83 C1 00 08 */ lwz r30, 8(r1)
/* 8000960C 0000544C 7C 08 03 A6 */ mtlr r0
/* 80009610 00005450 38 21 00 10 */ addi r1, r1, 0x10
/* 80009614 00005454 4E 80 00 20 */ blr
.global free
free:
/* 80009618 00005458 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000961C 0000545C 7C 08 02 A6 */ mflr r0
/* 80009620 00005460 90 01 00 14 */ stw r0, 0x14(r1)
/* 80009624 00005464 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80009628 00005468 7C 7F 1B 78 */ mr r31, r3
/* 8000962C 0000546C 93 C1 00 08 */ stw r30, 8(r1)
/* 80009630 00005470 88 0D E2 C8 */ lbz r0, $$2LOCAL$$2get_malloc_pool__Fv$$2init$$20-_SDA_BASE_(r13)
/* 80009634 00005474 2C 00 00 00 */ cmpwi r0, 0
/* 80009638 00005478 40 82 00 20 */ bne lbl_80009658
/* 8000963C 0000547C 3C 60 80 49 */ lis r3, $$2LOCAL$$2get_malloc_pool__Fv$$2protopool@ha
/* 80009640 00005480 38 80 00 00 */ li r4, 0
/* 80009644 00005484 38 63 68 80 */ addi r3, r3, $$2LOCAL$$2get_malloc_pool__Fv$$2protopool@l
/* 80009648 00005488 38 A0 00 34 */ li r5, 0x34
/* 8000964C 0000548C 4B FF AD 05 */ bl memset
/* 80009650 00005490 38 00 00 01 */ li r0, 1
/* 80009654 00005494 98 0D E2 C8 */ stb r0, $$2LOCAL$$2get_malloc_pool__Fv$$2init$$20-_SDA_BASE_(r13)
lbl_80009658:
/* 80009658 00005498 2C 1F 00 00 */ cmpwi r31, 0
/* 8000965C 0000549C 3F C0 80 49 */ lis r30, $$2LOCAL$$2get_malloc_pool__Fv$$2protopool@ha
/* 80009660 000054A0 3B DE 68 80 */ addi r30, r30, $$2LOCAL$$2get_malloc_pool__Fv$$2protopool@l
/* 80009664 000054A4 41 82 00 CC */ beq lbl_80009730
/* 80009668 000054A8 80 7F FF FC */ lwz r3, -4(r31)
/* 8000966C 000054AC 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 80009670 000054B0 40 82 00 0C */ bne lbl_8000967C
/* 80009674 000054B4 80 A3 00 08 */ lwz r5, 8(r3)
/* 80009678 000054B8 48 00 00 10 */ b lbl_80009688
lbl_8000967C:
/* 8000967C 000054BC 80 1F FF F8 */ lwz r0, -8(r31)
/* 80009680 000054C0 54 03 00 38 */ rlwinm r3, r0, 0, 0, 0x1c
/* 80009684 000054C4 38 A3 FF F8 */ addi r5, r3, -8
lbl_80009688:
/* 80009688 000054C8 28 05 00 44 */ cmplwi r5, 0x44
/* 8000968C 000054CC 41 81 00 14 */ bgt lbl_800096A0
/* 80009690 000054D0 7F C3 F3 78 */ mr r3, r30
/* 80009694 000054D4 7F E4 FB 78 */ mr r4, r31
/* 80009698 000054D8 4B FF FD 95 */ bl deallocate_from_fixed_pools
/* 8000969C 000054DC 48 00 00 94 */ b lbl_80009730
lbl_800096A0:
/* 800096A0 000054E0 80 1F FF FC */ lwz r0, -4(r31)
/* 800096A4 000054E4 38 9F FF F8 */ addi r4, r31, -8
/* 800096A8 000054E8 54 1F 00 3C */ rlwinm r31, r0, 0, 0, 0x1e
/* 800096AC 000054EC 7F E3 FB 78 */ mr r3, r31
/* 800096B0 000054F0 4B FF FB 85 */ bl Block_link
/* 800096B4 000054F4 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 800096B8 000054F8 38 A0 00 00 */ li r5, 0
/* 800096BC 000054FC 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 800096C0 00005500 40 82 00 20 */ bne lbl_800096E0
/* 800096C4 00005504 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 800096C8 00005508 54 64 00 38 */ rlwinm r4, r3, 0, 0, 0x1c
/* 800096CC 0000550C 54 03 00 38 */ rlwinm r3, r0, 0, 0, 0x1c
/* 800096D0 00005510 38 03 FF E8 */ addi r0, r3, -24
/* 800096D4 00005514 7C 04 00 40 */ cmplw r4, r0
/* 800096D8 00005518 40 82 00 08 */ bne lbl_800096E0
/* 800096DC 0000551C 38 A0 00 01 */ li r5, 1
lbl_800096E0:
/* 800096E0 00005520 2C 05 00 00 */ cmpwi r5, 0
/* 800096E4 00005524 41 82 00 4C */ beq lbl_80009730
/* 800096E8 00005528 80 9F 00 04 */ lwz r4, 4(r31)
/* 800096EC 0000552C 7C 04 F8 40 */ cmplw r4, r31
/* 800096F0 00005530 40 82 00 08 */ bne lbl_800096F8
/* 800096F4 00005534 38 80 00 00 */ li r4, 0
lbl_800096F8:
/* 800096F8 00005538 80 1E 00 00 */ lwz r0, 0(r30)
/* 800096FC 0000553C 7C 00 F8 40 */ cmplw r0, r31
/* 80009700 00005540 40 82 00 08 */ bne lbl_80009708
/* 80009704 00005544 90 9E 00 00 */ stw r4, 0(r30)
lbl_80009708:
/* 80009708 00005548 2C 04 00 00 */ cmpwi r4, 0
/* 8000970C 0000554C 41 82 00 10 */ beq lbl_8000971C
/* 80009710 00005550 80 7F 00 00 */ lwz r3, 0(r31)
/* 80009714 00005554 90 64 00 00 */ stw r3, 0(r4)
/* 80009718 00005558 90 83 00 04 */ stw r4, 4(r3)
lbl_8000971C:
/* 8000971C 0000555C 38 00 00 00 */ li r0, 0
/* 80009720 00005560 90 1F 00 04 */ stw r0, 4(r31)
/* 80009724 00005564 7F E3 FB 78 */ mr r3, r31
/* 80009728 00005568 90 1F 00 00 */ stw r0, 0(r31)
/* 8000972C 0000556C 4B FF FA 51 */ bl __sys_free
lbl_80009730:
/* 80009730 00005570 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80009734 00005574 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80009738 00005578 83 C1 00 08 */ lwz r30, 8(r1)
/* 8000973C 0000557C 7C 08 03 A6 */ mtlr r0
/* 80009740 00005580 38 21 00 10 */ addi r1, r1, 0x10
/* 80009744 00005584 4E 80 00 20 */ blr
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global fix_pool_sizes
fix_pool_sizes:
.4byte 0x00000004
.4byte 0x0000000C
.4byte 0x00000014
.4byte 0x00000024
.4byte 0x00000034
.4byte 0x00000044
.section .bss, "wa" # 0x80496700 - 0x805643FC
.global $$2LOCAL$$2get_malloc_pool__Fv$$2protopool
$$2LOCAL$$2get_malloc_pool__Fv$$2protopool:
.skip 0x38
.section .bss, "wa" # 0x80496700 - 0x805643FC
.global $$2LOCAL$$2get_malloc_pool__Fv$$2init$$20
$$2LOCAL$$2get_malloc_pool__Fv$$2init$$20:
.skip 0x8

View file

@ -0,0 +1,178 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __close_all
__close_all:
/* 80009748 00005588 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000974C 0000558C 7C 08 02 A6 */ mflr r0
/* 80009750 00005590 90 01 00 24 */ stw r0, 0x24(r1)
/* 80009754 00005594 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80009758 00005598 3B E0 00 00 */ li r31, 0
/* 8000975C 0000559C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80009760 000055A0 3B C0 00 03 */ li r30, 3
/* 80009764 000055A4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80009768 000055A8 3F A0 80 42 */ lis r29, __files@ha
/* 8000976C 000055AC 3B BD 10 F8 */ addi r29, r29, __files@l
/* 80009770 000055B0 48 00 00 58 */ b lbl_800097C8
lbl_80009774:
/* 80009774 000055B4 80 1D 00 04 */ lwz r0, 4(r29)
/* 80009778 000055B8 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f
/* 8000977C 000055BC 41 82 00 0C */ beq lbl_80009788
/* 80009780 000055C0 7F A3 EB 78 */ mr r3, r29
/* 80009784 000055C4 48 00 0F 71 */ bl fclose
lbl_80009788:
/* 80009788 000055C8 7F A3 EB 78 */ mr r3, r29
/* 8000978C 000055CC 83 BD 00 4C */ lwz r29, 0x4c(r29)
/* 80009790 000055D0 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80009794 000055D4 2C 00 00 00 */ cmpwi r0, 0
/* 80009798 000055D8 41 82 00 0C */ beq lbl_800097A4
/* 8000979C 000055DC 4B FF FE 7D */ bl free
/* 800097A0 000055E0 48 00 00 28 */ b lbl_800097C8
lbl_800097A4:
/* 800097A4 000055E4 80 03 00 04 */ lwz r0, 4(r3)
/* 800097A8 000055E8 2C 1D 00 00 */ cmpwi r29, 0
/* 800097AC 000055EC 53 C0 B1 D2 */ rlwimi r0, r30, 0x16, 7, 9
/* 800097B0 000055F0 90 03 00 04 */ stw r0, 4(r3)
/* 800097B4 000055F4 41 82 00 14 */ beq lbl_800097C8
/* 800097B8 000055F8 88 1D 00 0C */ lbz r0, 0xc(r29)
/* 800097BC 000055FC 2C 00 00 00 */ cmpwi r0, 0
/* 800097C0 00005600 41 82 00 08 */ beq lbl_800097C8
/* 800097C4 00005604 93 E3 00 4C */ stw r31, 0x4c(r3)
lbl_800097C8:
/* 800097C8 00005608 2C 1D 00 00 */ cmpwi r29, 0
/* 800097CC 0000560C 40 82 FF A8 */ bne lbl_80009774
/* 800097D0 00005610 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800097D4 00005614 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800097D8 00005618 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800097DC 0000561C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800097E0 00005620 7C 08 03 A6 */ mtlr r0
/* 800097E4 00005624 38 21 00 20 */ addi r1, r1, 0x20
/* 800097E8 00005628 4E 80 00 20 */ blr
.global __flush_all
__flush_all:
/* 800097EC 0000562C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800097F0 00005630 7C 08 02 A6 */ mflr r0
/* 800097F4 00005634 90 01 00 14 */ stw r0, 0x14(r1)
/* 800097F8 00005638 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800097FC 0000563C 3B E0 00 00 */ li r31, 0
/* 80009800 00005640 93 C1 00 08 */ stw r30, 8(r1)
/* 80009804 00005644 3F C0 80 42 */ lis r30, __files@ha
/* 80009808 00005648 3B DE 10 F8 */ addi r30, r30, __files@l
/* 8000980C 0000564C 48 00 00 28 */ b lbl_80009834
lbl_80009810:
/* 80009810 00005650 80 1E 00 04 */ lwz r0, 4(r30)
/* 80009814 00005654 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f
/* 80009818 00005658 41 82 00 18 */ beq lbl_80009830
/* 8000981C 0000565C 7F C3 F3 78 */ mr r3, r30
/* 80009820 00005660 48 00 0F 91 */ bl fflush
/* 80009824 00005664 2C 03 00 00 */ cmpwi r3, 0
/* 80009828 00005668 41 82 00 08 */ beq lbl_80009830
/* 8000982C 0000566C 3B E0 FF FF */ li r31, -1
lbl_80009830:
/* 80009830 00005670 83 DE 00 4C */ lwz r30, 0x4c(r30)
lbl_80009834:
/* 80009834 00005674 2C 1E 00 00 */ cmpwi r30, 0
/* 80009838 00005678 40 82 FF D8 */ bne lbl_80009810
/* 8000983C 0000567C 7F E3 FB 78 */ mr r3, r31
/* 80009840 00005680 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80009844 00005684 83 C1 00 08 */ lwz r30, 8(r1)
/* 80009848 00005688 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000984C 0000568C 7C 08 03 A6 */ mtlr r0
/* 80009850 00005690 38 21 00 10 */ addi r1, r1, 0x10
/* 80009854 00005694 4E 80 00 20 */ blr
.section .data, "wa" # 0x80421040 - 0x80496700
.global __files
__files:
.4byte 0
.4byte 0x0A800000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte stdin_buff
.4byte 0x00000100
.4byte stdin_buff
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte __read_console
.4byte __write_console
.4byte __close_console
.4byte 0
.4byte 0x80421148
.4byte 0x00000001
.4byte 0x12800000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte stdout_buff
.4byte 0x00000100
.4byte stdout_buff
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte __read_console
.4byte __write_console
.4byte __close_console
.4byte 0
.4byte 0x80421198
.4byte 0x00000002
.4byte 0x10800000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte stderr_buff
.4byte 0x00000100
.4byte stderr_buff
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte __read_console
.4byte __write_console
.4byte __close_console
.4byte 0
.4byte 0x804211E8
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.section .bss, "wa" # 0x80496700 - 0x805643FC
.global stderr_buff
stderr_buff:
.skip 0x100
.global stdout_buff
stdout_buff:
.skip 0x100
.global stdin_buff
stdin_buff:
.skip 0x100

View file

@ -0,0 +1,9 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global abs
abs:
/* 8000A2CC 0000610C 7C 64 FE 70 */ srawi r4, r3, 0x1f
/* 8000A2D0 00006110 7C 80 1A 78 */ xor r0, r4, r3
/* 8000A2D4 00006114 7C 64 00 50 */ subf r3, r4, r0
/* 8000A2D8 00006118 4E 80 00 20 */ blr

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __prep_buffer
__prep_buffer:
/* 8000A2DC 0000611C 80 83 00 18 */ lwz r4, 0x18(r3)
@ -12,7 +12,8 @@ __prep_buffer:
/* 8000A2F4 00006134 7C 00 28 50 */ subf r0, r0, r5
/* 8000A2F8 00006138 90 03 00 28 */ stw r0, 0x28(r3)
/* 8000A2FC 0000613C 90 83 00 34 */ stw r4, 0x34(r3)
/* 8000A300 00006140 4E 80 00 20 */ blr
/* 8000A300 00006140 4E 80 00 20 */ blr
.global __flush_buffer
__flush_buffer:
/* 8000A304 00006144 94 21 FF F0 */ stwu r1, -0x10(r1)
@ -20,7 +21,7 @@ __flush_buffer:
/* 8000A30C 0000614C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000A310 00006150 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000A314 00006154 7C 9F 23 78 */ mr r31, r4
/* 8000A318 00006158 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8000A318 00006158 93 C1 00 08 */ stw r30, 8(r1)
/* 8000A31C 0000615C 7C 7E 1B 78 */ mr r30, r3
/* 8000A320 00006160 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 8000A324 00006164 80 03 00 24 */ lwz r0, 0x24(r3)
@ -30,29 +31,26 @@ __flush_buffer:
/* 8000A334 00006174 7C A4 2B 78 */ mr r4, r5
/* 8000A338 00006178 90 03 00 28 */ stw r0, 0x28(r3)
/* 8000A33C 0000617C 38 BE 00 28 */ addi r5, r30, 0x28
/* 8000A340 00006180 80 63 00 00 */ lwz r3, 0x0(r3)
/* 8000A340 00006180 80 63 00 00 */ lwz r3, 0(r3)
/* 8000A344 00006184 80 DE 00 48 */ lwz r6, 0x48(r30)
/* 8000A348 00006188 7D 89 03 A6 */ mtctr r12
/* 8000A34C 0000618C 4E 80 04 21 */ bctrl
/* 8000A350 00006190 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8000A34C 0000618C 4E 80 04 21 */ bctrl
/* 8000A350 00006190 2C 1F 00 00 */ cmpwi r31, 0
/* 8000A354 00006194 41 82 00 0C */ beq lbl_8000A360
/* 8000A358 00006198 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 8000A35C 0000619C 90 1F 00 00 */ stw r0, 0x0(r31)
.global lbl_8000A360
/* 8000A35C 0000619C 90 1F 00 00 */ stw r0, 0(r31)
lbl_8000A360:
/* 8000A360 000061A0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8000A360 000061A0 2C 03 00 00 */ cmpwi r3, 0
/* 8000A364 000061A4 41 82 00 08 */ beq lbl_8000A36C
/* 8000A368 000061A8 48 00 00 3C */ b lbl_8000A3A4
.global lbl_8000A36C
lbl_8000A36C:
/* 8000A36C 000061AC 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 8000A370 000061B0 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 8000A374 000061B4 7C 03 02 14 */ add r0, r3, r0
/* 8000A378 000061B8 90 1E 00 18 */ stw r0, 0x18(r30)
.global lbl_8000A37C
lbl_8000A37C:
/* 8000A37C 000061BC 80 9E 00 18 */ lwz r4, 0x18(r30)
/* 8000A380 000061C0 38 60 00 00 */ li r3, 0x0
/* 8000A380 000061C0 38 60 00 00 */ li r3, 0
/* 8000A384 000061C4 80 1E 00 2C */ lwz r0, 0x2c(r30)
/* 8000A388 000061C8 80 DE 00 1C */ lwz r6, 0x1c(r30)
/* 8000A38C 000061CC 80 BE 00 20 */ lwz r5, 0x20(r30)
@ -61,11 +59,10 @@ lbl_8000A37C:
/* 8000A398 000061D8 7C 00 28 50 */ subf r0, r0, r5
/* 8000A39C 000061DC 90 1E 00 28 */ stw r0, 0x28(r30)
/* 8000A3A0 000061E0 90 9E 00 34 */ stw r4, 0x34(r30)
.global lbl_8000A3A4
lbl_8000A3A4:
/* 8000A3A4 000061E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000A3A8 000061E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000A3AC 000061EC 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8000A3AC 000061EC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8000A3B0 000061F0 7C 08 03 A6 */ mtlr r0
/* 8000A3B4 000061F4 38 21 00 10 */ addi r1, r1, 0x10
/* 8000A3B8 000061F8 4E 80 00 20 */ blr
/* 8000A3B8 000061F8 4E 80 00 20 */ blr

View file

@ -1,28 +1,25 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global toupper
toupper:
/* 8000A3BC 000061FC 28 03 00 FF */ cmplwi r3, 0xff
/* 8000A3C0 00006200 38 00 00 01 */ li r0, 0x1
/* 8000A3C0 00006200 38 00 00 01 */ li r0, 1
/* 8000A3C4 00006204 41 81 00 08 */ bgt lbl_8000A3CC
/* 8000A3C8 00006208 38 00 00 00 */ li r0, 0x0
.global lbl_8000A3CC
/* 8000A3C8 00006208 38 00 00 00 */ li r0, 0
lbl_8000A3CC:
/* 8000A3CC 0000620C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8000A3D0 00006210 4C 82 00 20 */ bnelr
/* 8000A3CC 0000620C 2C 00 00 00 */ cmpwi r0, 0
/* 8000A3D0 00006210 4C 82 00 20 */ bnelr
/* 8000A3D4 00006214 3C 80 80 42 */ lis r4, _current_locale@ha
/* 8000A3D8 00006218 38 84 15 10 */ addi r4, r4, _current_locale@l
/* 8000A3DC 0000621C 80 84 00 38 */ lwz r4, 0x38(r4)
/* 8000A3E0 00006220 80 84 00 0C */ lwz r4, 0xc(r4)
/* 8000A3E4 00006224 7C 64 18 AE */ lbzx r3, r4, r3
/* 8000A3E8 00006228 4E 80 00 20 */ blr
.include "macros.inc"
/* 8000A3E8 00006228 4E 80 00 20 */ blr
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global __ctype_mapC
__ctype_mapC:
.4byte 0x00040004
.4byte 0x00040004
.4byte 0x00040004
@ -151,10 +148,8 @@ __ctype_mapC:
.4byte 0
.4byte 0
.4byte 0
.global __lower_mapC
__lower_mapC:
.4byte 0x00010203
.4byte 0x04050607
.4byte 0x08090A0B
@ -219,10 +214,8 @@ __lower_mapC:
.4byte 0xF4F5F6F7
.4byte 0xF8F9FAFB
.4byte 0xFCFDFEFF
.global __upper_mapC
__upper_mapC:
.4byte 0x00010203
.4byte 0x04050607
.4byte 0x08090A0B

View file

@ -0,0 +1,222 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __fwrite
__fwrite:
/* 8000A3EC 0000622C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000A3F0 00006230 7C 08 02 A6 */ mflr r0
/* 8000A3F4 00006234 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000A3F8 00006238 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 8000A3FC 0000623C 7C 9B 23 78 */ mr r27, r4
/* 8000A400 00006240 7C DC 33 78 */ mr r28, r6
/* 8000A404 00006244 7C 7A 1B 78 */ mr r26, r3
/* 8000A408 00006248 7C B9 2B 78 */ mr r25, r5
/* 8000A40C 0000624C 38 80 00 00 */ li r4, 0
/* 8000A410 00006250 7F 83 E3 78 */ mr r3, r28
/* 8000A414 00006254 48 00 5F C9 */ bl fwide
/* 8000A418 00006258 2C 03 00 00 */ cmpwi r3, 0
/* 8000A41C 0000625C 40 82 00 10 */ bne lbl_8000A42C
/* 8000A420 00006260 7F 83 E3 78 */ mr r3, r28
/* 8000A424 00006264 38 80 FF FF */ li r4, -1
/* 8000A428 00006268 48 00 5F B5 */ bl fwide
lbl_8000A42C:
/* 8000A42C 0000626C 7F DB C9 D7 */ mullw. r30, r27, r25
/* 8000A430 00006270 41 82 00 1C */ beq lbl_8000A44C
/* 8000A434 00006274 88 1C 00 0A */ lbz r0, 0xa(r28)
/* 8000A438 00006278 2C 00 00 00 */ cmpwi r0, 0
/* 8000A43C 0000627C 40 82 00 10 */ bne lbl_8000A44C
/* 8000A440 00006280 80 1C 00 04 */ lwz r0, 4(r28)
/* 8000A444 00006284 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f
/* 8000A448 00006288 40 82 00 0C */ bne lbl_8000A454
lbl_8000A44C:
/* 8000A44C 0000628C 38 60 00 00 */ li r3, 0
/* 8000A450 00006290 48 00 02 90 */ b lbl_8000A6E0
lbl_8000A454:
/* 8000A454 00006294 28 00 00 02 */ cmplwi r0, 2
/* 8000A458 00006298 40 82 00 08 */ bne lbl_8000A460
/* 8000A45C 0000629C 48 00 0E 25 */ bl __stdio_atexit
lbl_8000A460:
/* 8000A460 000062A0 80 7C 00 04 */ lwz r3, 4(r28)
/* 8000A464 000062A4 3B E0 00 01 */ li r31, 1
/* 8000A468 000062A8 38 80 00 00 */ li r4, 0
/* 8000A46C 000062AC 54 60 6F FF */ rlwinm. r0, r3, 0xd, 0x1f, 0x1f
/* 8000A470 000062B0 41 82 00 10 */ beq lbl_8000A480
/* 8000A474 000062B4 54 60 3F BE */ rlwinm r0, r3, 7, 0x1e, 0x1f
/* 8000A478 000062B8 28 00 00 02 */ cmplwi r0, 2
/* 8000A47C 000062BC 40 82 00 08 */ bne lbl_8000A484
lbl_8000A480:
/* 8000A480 000062C0 38 80 00 01 */ li r4, 1
lbl_8000A484:
/* 8000A484 000062C4 2C 04 00 00 */ cmpwi r4, 0
/* 8000A488 000062C8 40 82 00 18 */ bne lbl_8000A4A0
/* 8000A48C 000062CC 80 1C 00 04 */ lwz r0, 4(r28)
/* 8000A490 000062D0 54 00 3F BE */ rlwinm r0, r0, 7, 0x1e, 0x1f
/* 8000A494 000062D4 28 00 00 01 */ cmplwi r0, 1
/* 8000A498 000062D8 41 82 00 08 */ beq lbl_8000A4A0
/* 8000A49C 000062DC 3B E0 00 00 */ li r31, 0
lbl_8000A4A0:
/* 8000A4A0 000062E0 80 1C 00 08 */ lwz r0, 8(r28)
/* 8000A4A4 000062E4 54 00 1F 7F */ rlwinm. r0, r0, 3, 0x1d, 0x1f
/* 8000A4A8 000062E8 40 82 00 54 */ bne lbl_8000A4FC
/* 8000A4AC 000062EC 80 7C 00 04 */ lwz r3, 4(r28)
/* 8000A4B0 000062F0 54 60 2F BD */ rlwinm. r0, r3, 5, 0x1e, 0x1e
/* 8000A4B4 000062F4 54 60 2F 7E */ rlwinm r0, r3, 5, 0x1d, 0x1f
/* 8000A4B8 000062F8 41 82 00 44 */ beq lbl_8000A4FC
/* 8000A4BC 000062FC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8000A4C0 00006300 41 82 00 24 */ beq lbl_8000A4E4
/* 8000A4C4 00006304 7F 83 E3 78 */ mr r3, r28
/* 8000A4C8 00006308 38 80 00 00 */ li r4, 0
/* 8000A4CC 0000630C 38 A0 00 02 */ li r5, 2
/* 8000A4D0 00006310 48 00 04 C1 */ bl _fseek
/* 8000A4D4 00006314 2C 03 00 00 */ cmpwi r3, 0
/* 8000A4D8 00006318 41 82 00 0C */ beq lbl_8000A4E4
/* 8000A4DC 0000631C 38 60 00 00 */ li r3, 0
/* 8000A4E0 00006320 48 00 02 00 */ b lbl_8000A6E0
lbl_8000A4E4:
/* 8000A4E4 00006324 80 1C 00 08 */ lwz r0, 8(r28)
/* 8000A4E8 00006328 38 60 00 01 */ li r3, 1
/* 8000A4EC 0000632C 50 60 E8 04 */ rlwimi r0, r3, 0x1d, 0, 2
/* 8000A4F0 00006330 90 1C 00 08 */ stw r0, 8(r28)
/* 8000A4F4 00006334 7F 83 E3 78 */ mr r3, r28
/* 8000A4F8 00006338 4B FF FD E5 */ bl __prep_buffer
lbl_8000A4FC:
/* 8000A4FC 0000633C 80 1C 00 08 */ lwz r0, 8(r28)
/* 8000A500 00006340 54 00 1F 7E */ srwi r0, r0, 0x1d
/* 8000A504 00006344 28 00 00 01 */ cmplwi r0, 1
/* 8000A508 00006348 41 82 00 1C */ beq lbl_8000A524
/* 8000A50C 0000634C 38 60 00 01 */ li r3, 1
/* 8000A510 00006350 38 00 00 00 */ li r0, 0
/* 8000A514 00006354 98 7C 00 0A */ stb r3, 0xa(r28)
/* 8000A518 00006358 38 60 00 00 */ li r3, 0
/* 8000A51C 0000635C 90 1C 00 28 */ stw r0, 0x28(r28)
/* 8000A520 00006360 48 00 01 C0 */ b lbl_8000A6E0
lbl_8000A524:
/* 8000A524 00006364 2C 1E 00 00 */ cmpwi r30, 0
/* 8000A528 00006368 3B A0 00 00 */ li r29, 0
/* 8000A52C 0000636C 41 82 01 28 */ beq lbl_8000A654
/* 8000A530 00006370 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 8000A534 00006374 80 9C 00 24 */ lwz r4, 0x24(r28)
/* 8000A538 00006378 7C 04 18 40 */ cmplw r4, r3
/* 8000A53C 0000637C 40 82 00 0C */ bne lbl_8000A548
/* 8000A540 00006380 2C 1F 00 00 */ cmpwi r31, 0
/* 8000A544 00006384 41 82 01 10 */ beq lbl_8000A654
lbl_8000A548:
/* 8000A548 00006388 80 1C 00 20 */ lwz r0, 0x20(r28)
/* 8000A54C 0000638C 7C 63 20 50 */ subf r3, r3, r4
/* 8000A550 00006390 7C 03 00 50 */ subf r0, r3, r0
/* 8000A554 00006394 90 1C 00 28 */ stw r0, 0x28(r28)
lbl_8000A558:
/* 8000A558 00006398 80 BC 00 28 */ lwz r5, 0x28(r28)
/* 8000A55C 0000639C 3B 20 00 00 */ li r25, 0
/* 8000A560 000063A0 90 A1 00 08 */ stw r5, 8(r1)
/* 8000A564 000063A4 7C 05 F0 40 */ cmplw r5, r30
/* 8000A568 000063A8 40 81 00 0C */ ble lbl_8000A574
/* 8000A56C 000063AC 7F C5 F3 78 */ mr r5, r30
/* 8000A570 000063B0 93 C1 00 08 */ stw r30, 8(r1)
lbl_8000A574:
/* 8000A574 000063B4 80 1C 00 04 */ lwz r0, 4(r28)
/* 8000A578 000063B8 54 00 3F BE */ rlwinm r0, r0, 7, 0x1e, 0x1f
/* 8000A57C 000063BC 28 00 00 01 */ cmplwi r0, 1
/* 8000A580 000063C0 40 82 00 30 */ bne lbl_8000A5B0
/* 8000A584 000063C4 2C 05 00 00 */ cmpwi r5, 0
/* 8000A588 000063C8 41 82 00 28 */ beq lbl_8000A5B0
/* 8000A58C 000063CC 7F 43 D3 78 */ mr r3, r26
/* 8000A590 000063D0 38 80 00 0A */ li r4, 0xa
/* 8000A594 000063D4 48 00 08 B1 */ bl __memrchr
/* 8000A598 000063D8 2C 03 00 00 */ cmpwi r3, 0
/* 8000A59C 000063DC 7C 79 1B 78 */ mr r25, r3
/* 8000A5A0 000063E0 41 82 00 10 */ beq lbl_8000A5B0
/* 8000A5A4 000063E4 38 03 00 01 */ addi r0, r3, 1
/* 8000A5A8 000063E8 7C BA 00 50 */ subf r5, r26, r0
/* 8000A5AC 000063EC 90 A1 00 08 */ stw r5, 8(r1)
lbl_8000A5B0:
/* 8000A5B0 000063F0 80 A1 00 08 */ lwz r5, 8(r1)
/* 8000A5B4 000063F4 2C 05 00 00 */ cmpwi r5, 0
/* 8000A5B8 000063F8 41 82 00 38 */ beq lbl_8000A5F0
/* 8000A5BC 000063FC 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8000A5C0 00006400 7F 44 D3 78 */ mr r4, r26
/* 8000A5C4 00006404 4B FF 9A 3D */ bl memcpy
/* 8000A5C8 00006408 80 81 00 08 */ lwz r4, 8(r1)
/* 8000A5CC 0000640C 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 8000A5D0 00006410 80 1C 00 28 */ lwz r0, 0x28(r28)
/* 8000A5D4 00006414 7F 5A 22 14 */ add r26, r26, r4
/* 8000A5D8 00006418 7C 63 22 14 */ add r3, r3, r4
/* 8000A5DC 0000641C 90 7C 00 24 */ stw r3, 0x24(r28)
/* 8000A5E0 00006420 7F C4 F0 50 */ subf r30, r4, r30
/* 8000A5E4 00006424 80 61 00 08 */ lwz r3, 8(r1)
/* 8000A5E8 00006428 7C 03 00 50 */ subf r0, r3, r0
/* 8000A5EC 0000642C 90 1C 00 28 */ stw r0, 0x28(r28)
lbl_8000A5F0:
/* 8000A5F0 00006430 80 1C 00 28 */ lwz r0, 0x28(r28)
/* 8000A5F4 00006434 2C 00 00 00 */ cmpwi r0, 0
/* 8000A5F8 00006438 41 82 00 18 */ beq lbl_8000A610
/* 8000A5FC 0000643C 2C 19 00 00 */ cmpwi r25, 0
/* 8000A600 00006440 40 82 00 10 */ bne lbl_8000A610
/* 8000A604 00006444 80 1C 00 04 */ lwz r0, 4(r28)
/* 8000A608 00006448 54 00 3F BF */ rlwinm. r0, r0, 7, 0x1e, 0x1f
/* 8000A60C 0000644C 40 82 00 30 */ bne lbl_8000A63C
lbl_8000A610:
/* 8000A610 00006450 7F 83 E3 78 */ mr r3, r28
/* 8000A614 00006454 38 80 00 00 */ li r4, 0
/* 8000A618 00006458 4B FF FC ED */ bl __flush_buffer
/* 8000A61C 0000645C 2C 03 00 00 */ cmpwi r3, 0
/* 8000A620 00006460 41 82 00 1C */ beq lbl_8000A63C
/* 8000A624 00006464 38 60 00 01 */ li r3, 1
/* 8000A628 00006468 38 00 00 00 */ li r0, 0
/* 8000A62C 0000646C 98 7C 00 0A */ stb r3, 0xa(r28)
/* 8000A630 00006470 3B C0 00 00 */ li r30, 0
/* 8000A634 00006474 90 1C 00 28 */ stw r0, 0x28(r28)
/* 8000A638 00006478 48 00 00 1C */ b lbl_8000A654
lbl_8000A63C:
/* 8000A63C 0000647C 80 01 00 08 */ lwz r0, 8(r1)
/* 8000A640 00006480 2C 1E 00 00 */ cmpwi r30, 0
/* 8000A644 00006484 7F BD 02 14 */ add r29, r29, r0
/* 8000A648 00006488 41 82 00 0C */ beq lbl_8000A654
/* 8000A64C 0000648C 2C 1F 00 00 */ cmpwi r31, 0
/* 8000A650 00006490 40 82 FF 08 */ bne lbl_8000A558
lbl_8000A654:
/* 8000A654 00006494 2C 1E 00 00 */ cmpwi r30, 0
/* 8000A658 00006498 41 82 00 6C */ beq lbl_8000A6C4
/* 8000A65C 0000649C 2C 1F 00 00 */ cmpwi r31, 0
/* 8000A660 000064A0 40 82 00 64 */ bne lbl_8000A6C4
/* 8000A664 000064A4 83 3C 00 1C */ lwz r25, 0x1c(r28)
/* 8000A668 000064A8 7C 1A F2 14 */ add r0, r26, r30
/* 8000A66C 000064AC 83 FC 00 20 */ lwz r31, 0x20(r28)
/* 8000A670 000064B0 7F 83 E3 78 */ mr r3, r28
/* 8000A674 000064B4 93 5C 00 1C */ stw r26, 0x1c(r28)
/* 8000A678 000064B8 38 81 00 08 */ addi r4, r1, 8
/* 8000A67C 000064BC 93 DC 00 20 */ stw r30, 0x20(r28)
/* 8000A680 000064C0 90 1C 00 24 */ stw r0, 0x24(r28)
/* 8000A684 000064C4 4B FF FC 81 */ bl __flush_buffer
/* 8000A688 000064C8 2C 03 00 00 */ cmpwi r3, 0
/* 8000A68C 000064CC 41 82 00 18 */ beq lbl_8000A6A4
/* 8000A690 000064D0 38 60 00 01 */ li r3, 1
/* 8000A694 000064D4 38 00 00 00 */ li r0, 0
/* 8000A698 000064D8 98 7C 00 0A */ stb r3, 0xa(r28)
/* 8000A69C 000064DC 90 1C 00 28 */ stw r0, 0x28(r28)
/* 8000A6A0 000064E0 48 00 00 0C */ b lbl_8000A6AC
lbl_8000A6A4:
/* 8000A6A4 000064E4 80 01 00 08 */ lwz r0, 8(r1)
/* 8000A6A8 000064E8 7F BD 02 14 */ add r29, r29, r0
lbl_8000A6AC:
/* 8000A6AC 000064EC 93 3C 00 1C */ stw r25, 0x1c(r28)
/* 8000A6B0 000064F0 7F 83 E3 78 */ mr r3, r28
/* 8000A6B4 000064F4 93 FC 00 20 */ stw r31, 0x20(r28)
/* 8000A6B8 000064F8 4B FF FC 25 */ bl __prep_buffer
/* 8000A6BC 000064FC 38 00 00 00 */ li r0, 0
/* 8000A6C0 00006500 90 1C 00 28 */ stw r0, 0x28(r28)
lbl_8000A6C4:
/* 8000A6C4 00006504 80 1C 00 04 */ lwz r0, 4(r28)
/* 8000A6C8 00006508 54 00 3F BE */ rlwinm r0, r0, 7, 0x1e, 0x1f
/* 8000A6CC 0000650C 28 00 00 02 */ cmplwi r0, 2
/* 8000A6D0 00006510 41 82 00 0C */ beq lbl_8000A6DC
/* 8000A6D4 00006514 38 00 00 00 */ li r0, 0
/* 8000A6D8 00006518 90 1C 00 28 */ stw r0, 0x28(r28)
lbl_8000A6DC:
/* 8000A6DC 0000651C 7C 7D DB 96 */ divwu r3, r29, r27
lbl_8000A6E0:
/* 8000A6E0 00006520 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 8000A6E4 00006524 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000A6E8 00006528 7C 08 03 A6 */ mtlr r0
/* 8000A6EC 0000652C 38 21 00 30 */ addi r1, r1, 0x30
/* 8000A6F0 00006530 4E 80 00 20 */ blr

View file

@ -0,0 +1,6 @@
.include "macros.inc"
.section .bss, "wa" # 0x80496700 - 0x805643FC
.global errno
errno:
.skip 0x8

View file

@ -0,0 +1,54 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global stricmp
stricmp:
/* 800147EC 0001062C 3C A0 80 42 */ lis r5, _current_locale@ha
/* 800147F0 00010630 38 A5 15 10 */ addi r5, r5, _current_locale@l
/* 800147F4 00010634 80 C5 00 38 */ lwz r6, 0x38(r5)
lbl_800147F8:
/* 800147F8 00010638 88 03 00 00 */ lbz r0, 0(r3)
/* 800147FC 0001063C 38 A0 00 01 */ li r5, 1
/* 80014800 00010640 38 63 00 01 */ addi r3, r3, 1
/* 80014804 00010644 7C 07 07 74 */ extsb r7, r0
/* 80014808 00010648 28 07 00 FF */ cmplwi r7, 0xff
/* 8001480C 0001064C 41 81 00 08 */ bgt lbl_80014814
/* 80014810 00010650 38 A0 00 00 */ li r5, 0
lbl_80014814:
/* 80014814 00010654 2C 05 00 00 */ cmpwi r5, 0
/* 80014818 00010658 41 82 00 08 */ beq lbl_80014820
/* 8001481C 0001065C 48 00 00 0C */ b lbl_80014828
lbl_80014820:
/* 80014820 00010660 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 80014824 00010664 7C E5 38 AE */ lbzx r7, r5, r7
lbl_80014828:
/* 80014828 00010668 88 04 00 00 */ lbz r0, 0(r4)
/* 8001482C 0001066C 7C E7 07 74 */ extsb r7, r7
/* 80014830 00010670 38 A0 00 01 */ li r5, 1
/* 80014834 00010674 38 84 00 01 */ addi r4, r4, 1
/* 80014838 00010678 7C 00 07 74 */ extsb r0, r0
/* 8001483C 0001067C 28 00 00 FF */ cmplwi r0, 0xff
/* 80014840 00010680 41 81 00 08 */ bgt lbl_80014848
/* 80014844 00010684 38 A0 00 00 */ li r5, 0
lbl_80014848:
/* 80014848 00010688 2C 05 00 00 */ cmpwi r5, 0
/* 8001484C 0001068C 41 82 00 08 */ beq lbl_80014854
/* 80014850 00010690 48 00 00 0C */ b lbl_8001485C
lbl_80014854:
/* 80014854 00010694 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 80014858 00010698 7C 05 00 AE */ lbzx r0, r5, r0
lbl_8001485C:
/* 8001485C 0001069C 7C 00 07 74 */ extsb r0, r0
/* 80014860 000106A0 7C 07 00 00 */ cmpw r7, r0
/* 80014864 000106A4 40 80 00 0C */ bge lbl_80014870
/* 80014868 000106A8 38 60 FF FF */ li r3, -1
/* 8001486C 000106AC 4E 80 00 20 */ blr
lbl_80014870:
/* 80014870 000106B0 40 81 00 0C */ ble lbl_8001487C
/* 80014874 000106B4 38 60 00 01 */ li r3, 1
/* 80014878 000106B8 4E 80 00 20 */ blr
lbl_8001487C:
/* 8001487C 000106BC 2C 07 00 00 */ cmpwi r7, 0
/* 80014880 000106C0 40 82 FF 78 */ bne lbl_800147F8
/* 80014884 000106C4 38 60 00 00 */ li r3, 0
/* 80014888 000106C8 4E 80 00 20 */ blr

View file

@ -0,0 +1,149 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global fclose
fclose:
/* 8000A6F4 00006534 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000A6F8 00006538 7C 08 02 A6 */ mflr r0
/* 8000A6FC 0000653C 2C 03 00 00 */ cmpwi r3, 0
/* 8000A700 00006540 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000A704 00006544 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000A708 00006548 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8000A70C 0000654C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8000A710 00006550 7C 7D 1B 78 */ mr r29, r3
/* 8000A714 00006554 40 82 00 0C */ bne lbl_8000A720
/* 8000A718 00006558 38 60 FF FF */ li r3, -1
/* 8000A71C 0000655C 48 00 00 78 */ b lbl_8000A794
lbl_8000A720:
/* 8000A720 00006560 80 03 00 04 */ lwz r0, 4(r3)
/* 8000A724 00006564 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f
/* 8000A728 00006568 40 82 00 0C */ bne lbl_8000A734
/* 8000A72C 0000656C 38 60 00 00 */ li r3, 0
/* 8000A730 00006570 48 00 00 64 */ b lbl_8000A794
lbl_8000A734:
/* 8000A734 00006574 48 00 00 7D */ bl fflush
/* 8000A738 00006578 81 9D 00 44 */ lwz r12, 0x44(r29)
/* 8000A73C 0000657C 7C 7E 1B 78 */ mr r30, r3
/* 8000A740 00006580 80 7D 00 00 */ lwz r3, 0(r29)
/* 8000A744 00006584 7D 89 03 A6 */ mtctr r12
/* 8000A748 00006588 4E 80 04 21 */ bctrl
/* 8000A74C 0000658C 80 1D 00 08 */ lwz r0, 8(r29)
/* 8000A750 00006590 38 A0 00 00 */ li r5, 0
/* 8000A754 00006594 80 9D 00 04 */ lwz r4, 4(r29)
/* 8000A758 00006598 7C 7F 1B 78 */ mr r31, r3
/* 8000A75C 0000659C 54 00 27 FF */ rlwinm. r0, r0, 4, 0x1f, 0x1f
/* 8000A760 000065A0 90 BD 00 00 */ stw r5, 0(r29)
/* 8000A764 000065A4 54 84 02 8C */ rlwinm r4, r4, 0, 0xa, 6
/* 8000A768 000065A8 90 9D 00 04 */ stw r4, 4(r29)
/* 8000A76C 000065AC 41 82 00 0C */ beq lbl_8000A778
/* 8000A770 000065B0 80 7D 00 1C */ lwz r3, 0x1c(r29)
/* 8000A774 000065B4 4B FF EE A5 */ bl free
lbl_8000A778:
/* 8000A778 000065B8 2C 1E 00 00 */ cmpwi r30, 0
/* 8000A77C 000065BC 38 00 00 00 */ li r0, 0
/* 8000A780 000065C0 40 82 00 0C */ bne lbl_8000A78C
/* 8000A784 000065C4 2C 1F 00 00 */ cmpwi r31, 0
/* 8000A788 000065C8 41 82 00 08 */ beq lbl_8000A790
lbl_8000A78C:
/* 8000A78C 000065CC 38 00 00 01 */ li r0, 1
lbl_8000A790:
/* 8000A790 000065D0 7C 60 00 D0 */ neg r3, r0
lbl_8000A794:
/* 8000A794 000065D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000A798 000065D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000A79C 000065DC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8000A7A0 000065E0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8000A7A4 000065E4 7C 08 03 A6 */ mtlr r0
/* 8000A7A8 000065E8 38 21 00 20 */ addi r1, r1, 0x20
/* 8000A7AC 000065EC 4E 80 00 20 */ blr
.global fflush
fflush:
/* 8000A7B0 000065F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000A7B4 000065F4 7C 08 02 A6 */ mflr r0
/* 8000A7B8 000065F8 2C 03 00 00 */ cmpwi r3, 0
/* 8000A7BC 000065FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000A7C0 00006600 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000A7C4 00006604 7C 7F 1B 78 */ mr r31, r3
/* 8000A7C8 00006608 93 C1 00 08 */ stw r30, 8(r1)
/* 8000A7CC 0000660C 40 82 00 0C */ bne lbl_8000A7D8
/* 8000A7D0 00006610 4B FF F0 1D */ bl __flush_all
/* 8000A7D4 00006614 48 00 00 F8 */ b lbl_8000A8CC
lbl_8000A7D8:
/* 8000A7D8 00006618 88 03 00 0A */ lbz r0, 0xa(r3)
/* 8000A7DC 0000661C 2C 00 00 00 */ cmpwi r0, 0
/* 8000A7E0 00006620 40 82 00 10 */ bne lbl_8000A7F0
/* 8000A7E4 00006624 80 83 00 04 */ lwz r4, 4(r3)
/* 8000A7E8 00006628 54 80 57 7F */ rlwinm. r0, r4, 0xa, 0x1d, 0x1f
/* 8000A7EC 0000662C 40 82 00 0C */ bne lbl_8000A7F8
lbl_8000A7F0:
/* 8000A7F0 00006630 38 60 FF FF */ li r3, -1
/* 8000A7F4 00006634 48 00 00 D8 */ b lbl_8000A8CC
lbl_8000A7F8:
/* 8000A7F8 00006638 54 80 2F 7E */ rlwinm r0, r4, 5, 0x1d, 0x1f
/* 8000A7FC 0000663C 28 00 00 01 */ cmplwi r0, 1
/* 8000A800 00006640 40 82 00 0C */ bne lbl_8000A80C
/* 8000A804 00006644 38 60 00 00 */ li r3, 0
/* 8000A808 00006648 48 00 00 C4 */ b lbl_8000A8CC
lbl_8000A80C:
/* 8000A80C 0000664C 80 83 00 08 */ lwz r4, 8(r3)
/* 8000A810 00006650 54 80 1F 7E */ srwi r0, r4, 0x1d
/* 8000A814 00006654 28 00 00 03 */ cmplwi r0, 3
/* 8000A818 00006658 41 80 00 10 */ blt lbl_8000A828
/* 8000A81C 0000665C 38 00 00 02 */ li r0, 2
/* 8000A820 00006660 50 04 E8 04 */ rlwimi r4, r0, 0x1d, 0, 2
/* 8000A824 00006664 90 83 00 08 */ stw r4, 8(r3)
lbl_8000A828:
/* 8000A828 00006668 80 03 00 08 */ lwz r0, 8(r3)
/* 8000A82C 0000666C 54 00 1F 7E */ srwi r0, r0, 0x1d
/* 8000A830 00006670 28 00 00 02 */ cmplwi r0, 2
/* 8000A834 00006674 40 82 00 0C */ bne lbl_8000A840
/* 8000A838 00006678 38 00 00 00 */ li r0, 0
/* 8000A83C 0000667C 90 03 00 28 */ stw r0, 0x28(r3)
lbl_8000A840:
/* 8000A840 00006680 80 83 00 08 */ lwz r4, 8(r3)
/* 8000A844 00006684 54 80 1F 7E */ srwi r0, r4, 0x1d
/* 8000A848 00006688 28 00 00 01 */ cmplwi r0, 1
/* 8000A84C 0000668C 41 82 00 14 */ beq lbl_8000A860
/* 8000A850 00006690 54 80 00 FE */ clrlwi r0, r4, 3
/* 8000A854 00006694 90 03 00 08 */ stw r0, 8(r3)
/* 8000A858 00006698 38 60 00 00 */ li r3, 0
/* 8000A85C 0000669C 48 00 00 70 */ b lbl_8000A8CC
lbl_8000A860:
/* 8000A860 000066A0 80 03 00 04 */ lwz r0, 4(r3)
/* 8000A864 000066A4 54 00 57 7E */ rlwinm r0, r0, 0xa, 0x1d, 0x1f
/* 8000A868 000066A8 28 00 00 01 */ cmplwi r0, 1
/* 8000A86C 000066AC 41 82 00 0C */ beq lbl_8000A878
/* 8000A870 000066B0 3B C0 00 00 */ li r30, 0
/* 8000A874 000066B4 48 00 00 10 */ b lbl_8000A884
lbl_8000A878:
/* 8000A878 000066B8 7F E3 FB 78 */ mr r3, r31
/* 8000A87C 000066BC 48 00 01 11 */ bl ftell
/* 8000A880 000066C0 7C 7E 1B 78 */ mr r30, r3
lbl_8000A884:
/* 8000A884 000066C4 7F E3 FB 78 */ mr r3, r31
/* 8000A888 000066C8 38 80 00 00 */ li r4, 0
/* 8000A88C 000066CC 4B FF FA 79 */ bl __flush_buffer
/* 8000A890 000066D0 2C 03 00 00 */ cmpwi r3, 0
/* 8000A894 000066D4 41 82 00 1C */ beq lbl_8000A8B0
/* 8000A898 000066D8 38 60 00 01 */ li r3, 1
/* 8000A89C 000066DC 38 00 00 00 */ li r0, 0
/* 8000A8A0 000066E0 98 7F 00 0A */ stb r3, 0xa(r31)
/* 8000A8A4 000066E4 38 60 FF FF */ li r3, -1
/* 8000A8A8 000066E8 90 1F 00 28 */ stw r0, 0x28(r31)
/* 8000A8AC 000066EC 48 00 00 20 */ b lbl_8000A8CC
lbl_8000A8B0:
/* 8000A8B0 000066F0 80 1F 00 08 */ lwz r0, 8(r31)
/* 8000A8B4 000066F4 38 80 00 00 */ li r4, 0
/* 8000A8B8 000066F8 93 DF 00 18 */ stw r30, 0x18(r31)
/* 8000A8BC 000066FC 38 60 00 00 */ li r3, 0
/* 8000A8C0 00006700 54 00 00 FE */ clrlwi r0, r0, 3
/* 8000A8C4 00006704 90 1F 00 08 */ stw r0, 8(r31)
/* 8000A8C8 00006708 90 9F 00 28 */ stw r4, 0x28(r31)
lbl_8000A8CC:
/* 8000A8CC 0000670C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000A8D0 00006710 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000A8D4 00006714 83 C1 00 08 */ lwz r30, 8(r1)
/* 8000A8D8 00006718 7C 08 03 A6 */ mtlr r0
/* 8000A8DC 0000671C 38 21 00 10 */ addi r1, r1, 0x10
/* 8000A8E0 00006720 4E 80 00 20 */ blr

View file

@ -0,0 +1,7 @@
.include "macros.inc"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0
.global __float_nan
__float_nan:
.4byte 0x7FFFFFFF
.4byte 0

View file

@ -0,0 +1,182 @@
.include "macros.inc"
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global $$2142
$$2142:
.asciz "%a %b %e %T %Y"
.balign 4
.global $$2143
$$2143:
.asciz "%I:%M:%S %p"
.global $$2144
$$2144:
.asciz "%m/%d/%y"
.balign 4
.global $$2146
$$2146:
.asciz "Sun|Sunday|Mon|Monday|Tue|Tuesday|Wed|Wednesday|Thu|Thursday|Fri|Friday|Sat|Saturday"
.balign 4
.global $$2147
$$2147:
.asciz "Jan|January|Feb|February|Mar|March|Apr|April|May|May|Jun|June|Jul|July|Aug|August|Sep|September|Oct|October|Nov|November|Dec|December"
.balign 4
.section .data, "wa" # 0x80421040 - 0x80496700
.global __lconv
__lconv:
.4byte $$2139
.4byte $$2140
.4byte $$2140
.4byte $$2140
.4byte $$2140
.4byte $$2140
.4byte $$2140
.4byte $$2140
.4byte $$2140
.4byte 0x7F7F7F7F
.4byte 0x7F7F7F00
.4byte $$2140
.4byte 0x7F7F7F7F
.4byte 0x7F7F7F00
.global _loc_ctyp_C
_loc_ctyp_C:
.4byte 0x43000000
.4byte 0
.4byte __ctype_mapC
.4byte __upper_mapC
.4byte __lower_mapC
.4byte __wctype_mapC
.4byte __wupper_mapC
.4byte __wlower_mapC
.4byte __mbtowc_noconv
.4byte __wctomb_noconv
.global char_coll_tableC
char_coll_tableC:
.4byte 0x00010002
.4byte 0x00030004
.4byte 0x00050006
.4byte 0x00070008
.4byte 0x0009000A
.4byte 0x000B000C
.4byte 0x000D000E
.4byte 0x000F0010
.4byte 0x00210022
.4byte 0x00230024
.4byte 0x00250026
.4byte 0x00270028
.4byte 0x0029002A
.4byte 0x00110012
.4byte 0x00130014
.4byte 0x00150016
.4byte 0x0017002B
.4byte 0x002D002F
.4byte 0x00310033
.4byte 0x00350037
.4byte 0x0039003B
.4byte 0x003D003F
.4byte 0x00410043
.4byte 0x00450047
.4byte 0x0049004B
.4byte 0x004D004F
.4byte 0x00510053
.4byte 0x00550057
.4byte 0x0059005B
.4byte 0x005D0018
.4byte 0x0019001A
.4byte 0x001B001C
.4byte 0x0000002C
.4byte 0x002E0030
.4byte 0x00320034
.4byte 0x00360038
.4byte 0x003A003C
.4byte 0x003E0040
.4byte 0x00420044
.4byte 0x00460048
.4byte 0x004A004C
.4byte 0x004E0050
.4byte 0x00520054
.4byte 0x00560058
.4byte 0x005A005C
.4byte 0x005E001D
.4byte 0x001E001F
.4byte 0x00200000
.global _loc_coll_C
_loc_coll_C:
.4byte 0x43000000
.4byte 0
.4byte 0x00000020
.4byte 0x0000006E
.4byte 0
.4byte char_coll_tableC
.4byte 0
.global _loc_mon_C
_loc_mon_C:
.4byte 0x43000000
.4byte 0
.4byte $$2140
.4byte $$2140
.4byte $$2140
.4byte $$2140
.4byte $$2140
.4byte $$2140
.4byte 0x7F7F7F7F
.4byte 0x7F7F7F00
.4byte $$2140
.4byte 0x7F7F7F7F
.4byte 0x7F7F7F00
.global _loc_num_C
_loc_num_C:
.4byte 0x43000000
.4byte 0
.4byte $$2139
.4byte $$2140
.4byte $$2140
.4byte 0
.global _loc_tim_C
_loc_tim_C:
.4byte 0x43000000
.4byte 0
.4byte $$2141
.4byte $$2142
.4byte $$2143
.4byte $$2144
.4byte $$2145
.4byte $$2146
.4byte $$2147
.4byte $$2140
.global _current_locale
_current_locale:
.4byte 0
.4byte 0x43000000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte _loc_coll_C
.4byte _loc_ctyp_C
.4byte _loc_mon_C
.4byte _loc_num_C
.4byte _loc_tim_C
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2139
$$2139:
.4byte 0x2E000000
.global $$2140
$$2140:
.4byte 0
.global $$2141
$$2141:
.asciz "AM|PM"
.balign 4
.global $$2145
$$2145:
.4byte 0x25540000
.4byte 0

View file

@ -0,0 +1,84 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __fpclassifyf
__fpclassifyf:
/* 8000B18C 00006FCC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000B190 00006FD0 D0 21 00 08 */ stfs f1, 8(r1)
/* 8000B194 00006FD4 80 61 00 08 */ lwz r3, 8(r1)
/* 8000B198 00006FD8 54 64 00 50 */ rlwinm r4, r3, 0, 1, 8
/* 8000B19C 00006FDC 3C 04 80 80 */ addis r0, r4, 0x8080
/* 8000B1A0 00006FE0 28 00 00 00 */ cmplwi r0, 0
/* 8000B1A4 00006FE4 41 82 00 10 */ beq lbl_8000B1B4
/* 8000B1A8 00006FE8 2C 04 00 00 */ cmpwi r4, 0
/* 8000B1AC 00006FEC 41 82 00 20 */ beq lbl_8000B1CC
/* 8000B1B0 00006FF0 48 00 00 30 */ b lbl_8000B1E0
lbl_8000B1B4:
/* 8000B1B4 00006FF4 54 63 02 7E */ clrlwi r3, r3, 9
/* 8000B1B8 00006FF8 7C 03 00 D0 */ neg r0, r3
/* 8000B1BC 00006FFC 7C 00 1B 78 */ or r0, r0, r3
/* 8000B1C0 00007000 7C 03 FE 70 */ srawi r3, r0, 0x1f
/* 8000B1C4 00007004 38 63 00 02 */ addi r3, r3, 2
/* 8000B1C8 00007008 48 00 00 1C */ b lbl_8000B1E4
lbl_8000B1CC:
/* 8000B1CC 0000700C 54 60 02 7F */ clrlwi. r0, r3, 9
/* 8000B1D0 00007010 38 60 00 03 */ li r3, 3
/* 8000B1D4 00007014 41 82 00 10 */ beq lbl_8000B1E4
/* 8000B1D8 00007018 38 60 00 05 */ li r3, 5
/* 8000B1DC 0000701C 48 00 00 08 */ b lbl_8000B1E4
lbl_8000B1E0:
/* 8000B1E0 00007020 38 60 00 04 */ li r3, 4
lbl_8000B1E4:
/* 8000B1E4 00007024 38 21 00 10 */ addi r1, r1, 0x10
/* 8000B1E8 00007028 4E 80 00 20 */ blr
.global __signbitd
__signbitd:
/* 8000B1EC 0000702C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000B1F0 00007030 D8 21 00 08 */ stfd f1, 8(r1)
/* 8000B1F4 00007034 80 01 00 08 */ lwz r0, 8(r1)
/* 8000B1F8 00007038 54 03 00 00 */ rlwinm r3, r0, 0, 0, 0
/* 8000B1FC 0000703C 38 21 00 10 */ addi r1, r1, 0x10
/* 8000B200 00007040 4E 80 00 20 */ blr
.global __fpclassifyd
__fpclassifyd:
/* 8000B204 00007044 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000B208 00007048 D8 21 00 08 */ stfd f1, 8(r1)
/* 8000B20C 0000704C 80 61 00 08 */ lwz r3, 8(r1)
/* 8000B210 00007050 54 64 00 56 */ rlwinm r4, r3, 0, 1, 0xb
/* 8000B214 00007054 3C 04 80 10 */ addis r0, r4, 0x8010
/* 8000B218 00007058 28 00 00 00 */ cmplwi r0, 0
/* 8000B21C 0000705C 41 82 00 10 */ beq lbl_8000B22C
/* 8000B220 00007060 2C 04 00 00 */ cmpwi r4, 0
/* 8000B224 00007064 41 82 00 2C */ beq lbl_8000B250
/* 8000B228 00007068 48 00 00 4C */ b lbl_8000B274
lbl_8000B22C:
/* 8000B22C 0000706C 54 60 03 3F */ clrlwi. r0, r3, 0xc
/* 8000B230 00007070 40 82 00 10 */ bne lbl_8000B240
/* 8000B234 00007074 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8000B238 00007078 2C 00 00 00 */ cmpwi r0, 0
/* 8000B23C 0000707C 41 82 00 0C */ beq lbl_8000B248
lbl_8000B240:
/* 8000B240 00007080 38 60 00 01 */ li r3, 1
/* 8000B244 00007084 48 00 00 34 */ b lbl_8000B278
lbl_8000B248:
/* 8000B248 00007088 38 60 00 02 */ li r3, 2
/* 8000B24C 0000708C 48 00 00 2C */ b lbl_8000B278
lbl_8000B250:
/* 8000B250 00007090 54 60 03 3F */ clrlwi. r0, r3, 0xc
/* 8000B254 00007094 40 82 00 10 */ bne lbl_8000B264
/* 8000B258 00007098 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8000B25C 0000709C 2C 00 00 00 */ cmpwi r0, 0
/* 8000B260 000070A0 41 82 00 0C */ beq lbl_8000B26C
lbl_8000B264:
/* 8000B264 000070A4 38 60 00 05 */ li r3, 5
/* 8000B268 000070A8 48 00 00 10 */ b lbl_8000B278
lbl_8000B26C:
/* 8000B26C 000070AC 38 60 00 03 */ li r3, 3
/* 8000B270 000070B0 48 00 00 08 */ b lbl_8000B278
lbl_8000B274:
/* 8000B274 000070B4 38 60 00 04 */ li r3, 4
lbl_8000B278:
/* 8000B278 000070B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8000B27C 000070BC 4E 80 00 20 */ blr

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global acosf
acosf:
/* 80010574 0000C3B4 94 21 FF F0 */ stwu r1, -0x10(r1)
@ -11,7 +11,8 @@ acosf:
/* 80010588 0000C3C8 FC 20 08 18 */ frsp f1, f1
/* 8001058C 0000C3CC 7C 08 03 A6 */ mtlr r0
/* 80010590 0000C3D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80010594 0000C3D4 4E 80 00 20 */ blr
/* 80010594 0000C3D4 4E 80 00 20 */ blr
.global floorf
floorf:
/* 80010598 0000C3D8 94 21 FF F0 */ stwu r1, -0x10(r1)
@ -22,7 +23,8 @@ floorf:
/* 800105AC 0000C3EC FC 20 08 18 */ frsp f1, f1
/* 800105B0 0000C3F0 7C 08 03 A6 */ mtlr r0
/* 800105B4 0000C3F4 38 21 00 10 */ addi r1, r1, 0x10
/* 800105B8 0000C3F8 4E 80 00 20 */ blr
/* 800105B8 0000C3F8 4E 80 00 20 */ blr
.global sinf
sinf:
/* 800105BC 0000C3FC 94 21 FF F0 */ stwu r1, -0x10(r1)
@ -33,4 +35,4 @@ sinf:
/* 800105D0 0000C410 FC 20 08 18 */ frsp f1, f1
/* 800105D4 0000C414 7C 08 03 A6 */ mtlr r0
/* 800105D8 0000C418 38 21 00 10 */ addi r1, r1, 0x10
/* 800105DC 0000C41C 4E 80 00 20 */ blr
/* 800105DC 0000C41C 4E 80 00 20 */ blr

View file

@ -0,0 +1,163 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global mbtowc
mbtowc:
/* 8000AB54 00006994 3C C0 80 42 */ lis r6, _current_locale@ha
/* 8000AB58 00006998 38 C6 15 10 */ addi r6, r6, _current_locale@l
/* 8000AB5C 0000699C 80 C6 00 38 */ lwz r6, 0x38(r6)
/* 8000AB60 000069A0 81 86 00 20 */ lwz r12, 0x20(r6)
/* 8000AB64 000069A4 7D 89 03 A6 */ mtctr r12
/* 8000AB68 000069A8 4E 80 04 20 */ bctr
.global __mbtowc_noconv
__mbtowc_noconv:
/* 8000AB6C 000069AC 2C 04 00 00 */ cmpwi r4, 0
/* 8000AB70 000069B0 40 82 00 0C */ bne lbl_8000AB7C
/* 8000AB74 000069B4 38 60 00 00 */ li r3, 0
/* 8000AB78 000069B8 4E 80 00 20 */ blr
lbl_8000AB7C:
/* 8000AB7C 000069BC 2C 05 00 00 */ cmpwi r5, 0
/* 8000AB80 000069C0 40 82 00 0C */ bne lbl_8000AB8C
/* 8000AB84 000069C4 38 60 FF FF */ li r3, -1
/* 8000AB88 000069C8 4E 80 00 20 */ blr
lbl_8000AB8C:
/* 8000AB8C 000069CC 2C 03 00 00 */ cmpwi r3, 0
/* 8000AB90 000069D0 41 82 00 0C */ beq lbl_8000AB9C
/* 8000AB94 000069D4 88 04 00 00 */ lbz r0, 0(r4)
/* 8000AB98 000069D8 B0 03 00 00 */ sth r0, 0(r3)
lbl_8000AB9C:
/* 8000AB9C 000069DC 88 04 00 00 */ lbz r0, 0(r4)
/* 8000ABA0 000069E0 7C 00 07 75 */ extsb. r0, r0
/* 8000ABA4 000069E4 40 82 00 0C */ bne lbl_8000ABB0
/* 8000ABA8 000069E8 38 60 00 00 */ li r3, 0
/* 8000ABAC 000069EC 4E 80 00 20 */ blr
lbl_8000ABB0:
/* 8000ABB0 000069F0 38 60 00 01 */ li r3, 1
/* 8000ABB4 000069F4 4E 80 00 20 */ blr
.global __wctomb_noconv
__wctomb_noconv:
/* 8000ABB8 000069F8 2C 03 00 00 */ cmpwi r3, 0
/* 8000ABBC 000069FC 40 82 00 0C */ bne lbl_8000ABC8
/* 8000ABC0 00006A00 38 60 00 00 */ li r3, 0
/* 8000ABC4 00006A04 4E 80 00 20 */ blr
lbl_8000ABC8:
/* 8000ABC8 00006A08 98 83 00 00 */ stb r4, 0(r3)
/* 8000ABCC 00006A0C 38 60 00 01 */ li r3, 1
/* 8000ABD0 00006A10 4E 80 00 20 */ blr
.global mbstowcs
mbstowcs:
/* 8000ABD4 00006A14 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000ABD8 00006A18 7C 08 02 A6 */ mflr r0
/* 8000ABDC 00006A1C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8000ABE0 00006A20 BF 41 00 08 */ stmw r26, 8(r1)
/* 8000ABE4 00006A24 7C 9B 23 78 */ mr r27, r4
/* 8000ABE8 00006A28 7C 7A 1B 78 */ mr r26, r3
/* 8000ABEC 00006A2C 7C BC 2B 78 */ mr r28, r5
/* 8000ABF0 00006A30 7F 63 DB 78 */ mr r3, r27
/* 8000ABF4 00006A34 4B FF BE 99 */ bl strlen
/* 8000ABF8 00006A38 2C 1A 00 00 */ cmpwi r26, 0
/* 8000ABFC 00006A3C 7C 7D 1B 78 */ mr r29, r3
/* 8000AC00 00006A40 41 82 00 78 */ beq lbl_8000AC78
/* 8000AC04 00006A44 3F E0 80 42 */ lis r31, _current_locale@ha
/* 8000AC08 00006A48 3B C0 00 00 */ li r30, 0
/* 8000AC0C 00006A4C 3B FF 15 10 */ addi r31, r31, _current_locale@l
/* 8000AC10 00006A50 48 00 00 5C */ b lbl_8000AC6C
lbl_8000AC14:
/* 8000AC14 00006A54 88 1B 00 00 */ lbz r0, 0(r27)
/* 8000AC18 00006A58 7C 00 07 75 */ extsb. r0, r0
/* 8000AC1C 00006A5C 41 82 00 40 */ beq lbl_8000AC5C
/* 8000AC20 00006A60 80 DF 00 38 */ lwz r6, 0x38(r31)
/* 8000AC24 00006A64 7F 43 D3 78 */ mr r3, r26
/* 8000AC28 00006A68 7F 64 DB 78 */ mr r4, r27
/* 8000AC2C 00006A6C 7F A5 EB 78 */ mr r5, r29
/* 8000AC30 00006A70 81 86 00 20 */ lwz r12, 0x20(r6)
/* 8000AC34 00006A74 7D 89 03 A6 */ mtctr r12
/* 8000AC38 00006A78 3B 5A 00 02 */ addi r26, r26, 2
/* 8000AC3C 00006A7C 4E 80 04 21 */ bctrl
/* 8000AC40 00006A80 2C 03 00 00 */ cmpwi r3, 0
/* 8000AC44 00006A84 40 81 00 10 */ ble lbl_8000AC54
/* 8000AC48 00006A88 7F 7B 1A 14 */ add r27, r27, r3
/* 8000AC4C 00006A8C 7F A3 E8 50 */ subf r29, r3, r29
/* 8000AC50 00006A90 48 00 00 18 */ b lbl_8000AC68
lbl_8000AC54:
/* 8000AC54 00006A94 38 60 FF FF */ li r3, -1
/* 8000AC58 00006A98 48 00 00 28 */ b lbl_8000AC80
lbl_8000AC5C:
/* 8000AC5C 00006A9C 38 00 00 00 */ li r0, 0
/* 8000AC60 00006AA0 B0 1A 00 00 */ sth r0, 0(r26)
/* 8000AC64 00006AA4 48 00 00 18 */ b lbl_8000AC7C
lbl_8000AC68:
/* 8000AC68 00006AA8 3B DE 00 01 */ addi r30, r30, 1
lbl_8000AC6C:
/* 8000AC6C 00006AAC 7C 1E E0 40 */ cmplw r30, r28
/* 8000AC70 00006AB0 41 80 FF A4 */ blt lbl_8000AC14
/* 8000AC74 00006AB4 48 00 00 08 */ b lbl_8000AC7C
lbl_8000AC78:
/* 8000AC78 00006AB8 3B C0 00 00 */ li r30, 0
lbl_8000AC7C:
/* 8000AC7C 00006ABC 7F C3 F3 78 */ mr r3, r30
lbl_8000AC80:
/* 8000AC80 00006AC0 BB 41 00 08 */ lmw r26, 8(r1)
/* 8000AC84 00006AC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000AC88 00006AC8 7C 08 03 A6 */ mtlr r0
/* 8000AC8C 00006ACC 38 21 00 20 */ addi r1, r1, 0x20
/* 8000AC90 00006AD0 4E 80 00 20 */ blr
.global wcstombs
wcstombs:
/* 8000AC94 00006AD4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000AC98 00006AD8 7C 08 02 A6 */ mflr r0
/* 8000AC9C 00006ADC 2C 03 00 00 */ cmpwi r3, 0
/* 8000ACA0 00006AE0 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000ACA4 00006AE4 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 8000ACA8 00006AE8 7C 7A 1B 78 */ mr r26, r3
/* 8000ACAC 00006AEC 7C BB 2B 78 */ mr r27, r5
/* 8000ACB0 00006AF0 3B A0 00 00 */ li r29, 0
/* 8000ACB4 00006AF4 41 82 00 0C */ beq lbl_8000ACC0
/* 8000ACB8 00006AF8 2C 04 00 00 */ cmpwi r4, 0
/* 8000ACBC 00006AFC 40 82 00 0C */ bne lbl_8000ACC8
lbl_8000ACC0:
/* 8000ACC0 00006B00 38 60 00 00 */ li r3, 0
/* 8000ACC4 00006B04 48 00 00 74 */ b lbl_8000AD38
lbl_8000ACC8:
/* 8000ACC8 00006B08 3F E0 80 42 */ lis r31, _current_locale@ha
/* 8000ACCC 00006B0C 7C 9C 23 78 */ mr r28, r4
/* 8000ACD0 00006B10 3B FF 15 10 */ addi r31, r31, _current_locale@l
/* 8000ACD4 00006B14 48 00 00 58 */ b lbl_8000AD2C
lbl_8000ACD8:
/* 8000ACD8 00006B18 A0 9C 00 00 */ lhz r4, 0(r28)
/* 8000ACDC 00006B1C 2C 04 00 00 */ cmpwi r4, 0
/* 8000ACE0 00006B20 40 82 00 10 */ bne lbl_8000ACF0
/* 8000ACE4 00006B24 38 00 00 00 */ li r0, 0
/* 8000ACE8 00006B28 7C 1A E9 AE */ stbx r0, r26, r29
/* 8000ACEC 00006B2C 48 00 00 48 */ b lbl_8000AD34
lbl_8000ACF0:
/* 8000ACF0 00006B30 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 8000ACF4 00006B34 38 61 00 08 */ addi r3, r1, 8
/* 8000ACF8 00006B38 81 85 00 24 */ lwz r12, 0x24(r5)
/* 8000ACFC 00006B3C 7D 89 03 A6 */ mtctr r12
/* 8000AD00 00006B40 3B 9C 00 02 */ addi r28, r28, 2
/* 8000AD04 00006B44 4E 80 04 21 */ bctrl
/* 8000AD08 00006B48 7C 1D 1A 14 */ add r0, r29, r3
/* 8000AD0C 00006B4C 7C 7E 1B 78 */ mr r30, r3
/* 8000AD10 00006B50 7C 00 D8 40 */ cmplw r0, r27
/* 8000AD14 00006B54 41 81 00 20 */ bgt lbl_8000AD34
/* 8000AD18 00006B58 7F C5 F3 78 */ mr r5, r30
/* 8000AD1C 00006B5C 7C 7A EA 14 */ add r3, r26, r29
/* 8000AD20 00006B60 38 81 00 08 */ addi r4, r1, 8
/* 8000AD24 00006B64 48 00 2D 5D */ bl strncpy
/* 8000AD28 00006B68 7F BD F2 14 */ add r29, r29, r30
lbl_8000AD2C:
/* 8000AD2C 00006B6C 7C 1D D8 40 */ cmplw r29, r27
/* 8000AD30 00006B70 40 81 FF A8 */ ble lbl_8000ACD8
lbl_8000AD34:
/* 8000AD34 00006B74 7F A3 EB 78 */ mr r3, r29
lbl_8000AD38:
/* 8000AD38 00006B78 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 8000AD3C 00006B7C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000AD40 00006B80 7C 08 03 A6 */ mtlr r0
/* 8000AD44 00006B84 38 21 00 30 */ addi r1, r1, 0x30
/* 8000AD48 00006B88 4E 80 00 20 */ blr

View file

@ -0,0 +1,124 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global memmove
memmove:
/* 8000AD4C 00006B8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000AD50 00006B90 7C 08 02 A6 */ mflr r0
/* 8000AD54 00006B94 7C 66 22 78 */ xor r6, r3, r4
/* 8000AD58 00006B98 28 05 00 20 */ cmplwi r5, 0x20
/* 8000AD5C 00006B9C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000AD60 00006BA0 7C C0 00 34 */ cntlzw r0, r6
/* 8000AD64 00006BA4 7C 60 00 30 */ slw r0, r3, r0
/* 8000AD68 00006BA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000AD6C 00006BAC 7C 7F 1B 78 */ mr r31, r3
/* 8000AD70 00006BB0 54 07 0F FE */ srwi r7, r0, 0x1f
/* 8000AD74 00006BB4 41 80 00 40 */ blt lbl_8000ADB4
/* 8000AD78 00006BB8 54 C0 07 BF */ clrlwi. r0, r6, 0x1e
/* 8000AD7C 00006BBC 41 82 00 1C */ beq lbl_8000AD98
/* 8000AD80 00006BC0 2C 07 00 00 */ cmpwi r7, 0
/* 8000AD84 00006BC4 40 82 00 0C */ bne lbl_8000AD90
/* 8000AD88 00006BC8 48 00 02 99 */ bl __copy_longs_unaligned
/* 8000AD8C 00006BCC 48 00 00 20 */ b lbl_8000ADAC
lbl_8000AD90:
/* 8000AD90 00006BD0 48 00 03 51 */ bl __copy_longs_rev_unaligned
/* 8000AD94 00006BD4 48 00 00 18 */ b lbl_8000ADAC
lbl_8000AD98:
/* 8000AD98 00006BD8 2C 07 00 00 */ cmpwi r7, 0
/* 8000AD9C 00006BDC 40 82 00 0C */ bne lbl_8000ADA8
/* 8000ADA0 00006BE0 48 00 01 1D */ bl __copy_longs_aligned
/* 8000ADA4 00006BE4 48 00 00 08 */ b lbl_8000ADAC
lbl_8000ADA8:
/* 8000ADA8 00006BE8 48 00 01 D1 */ bl __copy_longs_rev_aligned
lbl_8000ADAC:
/* 8000ADAC 00006BEC 7F E3 FB 78 */ mr r3, r31
/* 8000ADB0 00006BF0 48 00 00 54 */ b lbl_8000AE04
lbl_8000ADB4:
/* 8000ADB4 00006BF4 2C 07 00 00 */ cmpwi r7, 0
/* 8000ADB8 00006BF8 40 82 00 28 */ bne lbl_8000ADE0
/* 8000ADBC 00006BFC 38 84 FF FF */ addi r4, r4, -1
/* 8000ADC0 00006C00 38 63 FF FF */ addi r3, r3, -1
/* 8000ADC4 00006C04 38 A5 00 01 */ addi r5, r5, 1
/* 8000ADC8 00006C08 48 00 00 0C */ b lbl_8000ADD4
lbl_8000ADCC:
/* 8000ADCC 00006C0C 8C 04 00 01 */ lbzu r0, 1(r4)
/* 8000ADD0 00006C10 9C 03 00 01 */ stbu r0, 1(r3)
lbl_8000ADD4:
/* 8000ADD4 00006C14 34 A5 FF FF */ addic. r5, r5, -1
/* 8000ADD8 00006C18 40 82 FF F4 */ bne lbl_8000ADCC
/* 8000ADDC 00006C1C 48 00 00 24 */ b lbl_8000AE00
lbl_8000ADE0:
/* 8000ADE0 00006C20 7C 84 2A 14 */ add r4, r4, r5
/* 8000ADE4 00006C24 7C 63 2A 14 */ add r3, r3, r5
/* 8000ADE8 00006C28 38 A5 00 01 */ addi r5, r5, 1
/* 8000ADEC 00006C2C 48 00 00 0C */ b lbl_8000ADF8
lbl_8000ADF0:
/* 8000ADF0 00006C30 8C 04 FF FF */ lbzu r0, -1(r4)
/* 8000ADF4 00006C34 9C 03 FF FF */ stbu r0, -1(r3)
lbl_8000ADF8:
/* 8000ADF8 00006C38 34 A5 FF FF */ addic. r5, r5, -1
/* 8000ADFC 00006C3C 40 82 FF F4 */ bne lbl_8000ADF0
lbl_8000AE00:
/* 8000AE00 00006C40 7F E3 FB 78 */ mr r3, r31
lbl_8000AE04:
/* 8000AE04 00006C44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000AE08 00006C48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000AE0C 00006C4C 7C 08 03 A6 */ mtlr r0
/* 8000AE10 00006C50 38 21 00 10 */ addi r1, r1, 0x10
/* 8000AE14 00006C54 4E 80 00 20 */ blr
.global memchr
memchr:
/* 8000AE18 00006C58 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 8000AE1C 00006C5C 38 63 FF FF */ addi r3, r3, -1
/* 8000AE20 00006C60 38 A5 00 01 */ addi r5, r5, 1
/* 8000AE24 00006C64 48 00 00 10 */ b lbl_8000AE34
lbl_8000AE28:
/* 8000AE28 00006C68 8C 03 00 01 */ lbzu r0, 1(r3)
/* 8000AE2C 00006C6C 7C 00 20 40 */ cmplw r0, r4
/* 8000AE30 00006C70 4D 82 00 20 */ beqlr
lbl_8000AE34:
/* 8000AE34 00006C74 34 A5 FF FF */ addic. r5, r5, -1
/* 8000AE38 00006C78 40 82 FF F0 */ bne lbl_8000AE28
/* 8000AE3C 00006C7C 38 60 00 00 */ li r3, 0
/* 8000AE40 00006C80 4E 80 00 20 */ blr
.global __memrchr
__memrchr:
/* 8000AE44 00006C84 7C 63 2A 14 */ add r3, r3, r5
/* 8000AE48 00006C88 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 8000AE4C 00006C8C 38 A5 00 01 */ addi r5, r5, 1
/* 8000AE50 00006C90 48 00 00 10 */ b lbl_8000AE60
lbl_8000AE54:
/* 8000AE54 00006C94 8C 03 FF FF */ lbzu r0, -1(r3)
/* 8000AE58 00006C98 7C 00 20 40 */ cmplw r0, r4
/* 8000AE5C 00006C9C 4D 82 00 20 */ beqlr
lbl_8000AE60:
/* 8000AE60 00006CA0 34 A5 FF FF */ addic. r5, r5, -1
/* 8000AE64 00006CA4 40 82 FF F0 */ bne lbl_8000AE54
/* 8000AE68 00006CA8 38 60 00 00 */ li r3, 0
/* 8000AE6C 00006CAC 4E 80 00 20 */ blr
.global memcmp
memcmp:
/* 8000AE70 00006CB0 38 E4 FF FF */ addi r7, r4, -1
/* 8000AE74 00006CB4 38 C3 FF FF */ addi r6, r3, -1
/* 8000AE78 00006CB8 38 85 00 01 */ addi r4, r5, 1
/* 8000AE7C 00006CBC 48 00 00 30 */ b lbl_8000AEAC
lbl_8000AE80:
/* 8000AE80 00006CC0 8C 66 00 01 */ lbzu r3, 1(r6)
/* 8000AE84 00006CC4 8C 07 00 01 */ lbzu r0, 1(r7)
/* 8000AE88 00006CC8 7C 03 00 40 */ cmplw r3, r0
/* 8000AE8C 00006CCC 41 82 00 20 */ beq lbl_8000AEAC
/* 8000AE90 00006CD0 88 86 00 00 */ lbz r4, 0(r6)
/* 8000AE94 00006CD4 38 60 00 01 */ li r3, 1
/* 8000AE98 00006CD8 88 07 00 00 */ lbz r0, 0(r7)
/* 8000AE9C 00006CDC 7C 04 00 40 */ cmplw r4, r0
/* 8000AEA0 00006CE0 4C 80 00 20 */ bgelr
/* 8000AEA4 00006CE4 38 60 FF FF */ li r3, -1
/* 8000AEA8 00006CE8 4E 80 00 20 */ blr
lbl_8000AEAC:
/* 8000AEAC 00006CEC 34 84 FF FF */ addic. r4, r4, -1
/* 8000AEB0 00006CF0 40 82 FF D0 */ bne lbl_8000AE80
/* 8000AEB4 00006CF4 38 60 00 00 */ li r3, 0
/* 8000AEB8 00006CF8 4E 80 00 20 */ blr

View file

@ -0,0 +1,218 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __copy_longs_aligned
__copy_longs_aligned:
/* 8000AEBC 00006CFC 7C 03 00 D0 */ neg r0, r3
/* 8000AEC0 00006D00 38 E4 FF FF */ addi r7, r4, -1
/* 8000AEC4 00006D04 54 06 07 BF */ clrlwi. r6, r0, 0x1e
/* 8000AEC8 00006D08 38 63 FF FF */ addi r3, r3, -1
/* 8000AECC 00006D0C 41 82 00 18 */ beq lbl_8000AEE4
/* 8000AED0 00006D10 7C A6 28 50 */ subf r5, r6, r5
lbl_8000AED4:
/* 8000AED4 00006D14 8C 07 00 01 */ lbzu r0, 1(r7)
/* 8000AED8 00006D18 34 C6 FF FF */ addic. r6, r6, -1
/* 8000AEDC 00006D1C 9C 03 00 01 */ stbu r0, 1(r3)
/* 8000AEE0 00006D20 40 82 FF F4 */ bne lbl_8000AED4
lbl_8000AEE4:
/* 8000AEE4 00006D24 54 A4 D9 7F */ rlwinm. r4, r5, 0x1b, 5, 0x1f
/* 8000AEE8 00006D28 38 C7 FF FD */ addi r6, r7, -3
/* 8000AEEC 00006D2C 38 63 FF FD */ addi r3, r3, -3
/* 8000AEF0 00006D30 41 82 00 4C */ beq lbl_8000AF3C
lbl_8000AEF4:
/* 8000AEF4 00006D34 80 06 00 04 */ lwz r0, 4(r6)
/* 8000AEF8 00006D38 34 84 FF FF */ addic. r4, r4, -1
/* 8000AEFC 00006D3C 90 03 00 04 */ stw r0, 4(r3)
/* 8000AF00 00006D40 80 06 00 08 */ lwz r0, 8(r6)
/* 8000AF04 00006D44 90 03 00 08 */ stw r0, 8(r3)
/* 8000AF08 00006D48 80 06 00 0C */ lwz r0, 0xc(r6)
/* 8000AF0C 00006D4C 90 03 00 0C */ stw r0, 0xc(r3)
/* 8000AF10 00006D50 80 06 00 10 */ lwz r0, 0x10(r6)
/* 8000AF14 00006D54 90 03 00 10 */ stw r0, 0x10(r3)
/* 8000AF18 00006D58 80 06 00 14 */ lwz r0, 0x14(r6)
/* 8000AF1C 00006D5C 90 03 00 14 */ stw r0, 0x14(r3)
/* 8000AF20 00006D60 80 06 00 18 */ lwz r0, 0x18(r6)
/* 8000AF24 00006D64 90 03 00 18 */ stw r0, 0x18(r3)
/* 8000AF28 00006D68 80 06 00 1C */ lwz r0, 0x1c(r6)
/* 8000AF2C 00006D6C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8000AF30 00006D70 84 06 00 20 */ lwzu r0, 0x20(r6)
/* 8000AF34 00006D74 94 03 00 20 */ stwu r0, 0x20(r3)
/* 8000AF38 00006D78 40 82 FF BC */ bne lbl_8000AEF4
lbl_8000AF3C:
/* 8000AF3C 00006D7C 54 A4 F7 7F */ rlwinm. r4, r5, 0x1e, 0x1d, 0x1f
/* 8000AF40 00006D80 41 82 00 14 */ beq lbl_8000AF54
lbl_8000AF44:
/* 8000AF44 00006D84 84 06 00 04 */ lwzu r0, 4(r6)
/* 8000AF48 00006D88 34 84 FF FF */ addic. r4, r4, -1
/* 8000AF4C 00006D8C 94 03 00 04 */ stwu r0, 4(r3)
/* 8000AF50 00006D90 40 82 FF F4 */ bne lbl_8000AF44
lbl_8000AF54:
/* 8000AF54 00006D94 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
/* 8000AF58 00006D98 38 86 00 03 */ addi r4, r6, 3
/* 8000AF5C 00006D9C 38 63 00 03 */ addi r3, r3, 3
/* 8000AF60 00006DA0 4D 82 00 20 */ beqlr
lbl_8000AF64:
/* 8000AF64 00006DA4 8C 04 00 01 */ lbzu r0, 1(r4)
/* 8000AF68 00006DA8 34 A5 FF FF */ addic. r5, r5, -1
/* 8000AF6C 00006DAC 9C 03 00 01 */ stbu r0, 1(r3)
/* 8000AF70 00006DB0 40 82 FF F4 */ bne lbl_8000AF64
/* 8000AF74 00006DB4 4E 80 00 20 */ blr
.global __copy_longs_rev_aligned
__copy_longs_rev_aligned:
/* 8000AF78 00006DB8 7C C3 2A 14 */ add r6, r3, r5
/* 8000AF7C 00006DBC 7C 84 2A 14 */ add r4, r4, r5
/* 8000AF80 00006DC0 54 C3 07 BF */ clrlwi. r3, r6, 0x1e
/* 8000AF84 00006DC4 41 82 00 18 */ beq lbl_8000AF9C
/* 8000AF88 00006DC8 7C A3 28 50 */ subf r5, r3, r5
lbl_8000AF8C:
/* 8000AF8C 00006DCC 8C 04 FF FF */ lbzu r0, -1(r4)
/* 8000AF90 00006DD0 34 63 FF FF */ addic. r3, r3, -1
/* 8000AF94 00006DD4 9C 06 FF FF */ stbu r0, -1(r6)
/* 8000AF98 00006DD8 40 82 FF F4 */ bne lbl_8000AF8C
lbl_8000AF9C:
/* 8000AF9C 00006DDC 54 A3 D9 7F */ rlwinm. r3, r5, 0x1b, 5, 0x1f
/* 8000AFA0 00006DE0 41 82 00 4C */ beq lbl_8000AFEC
lbl_8000AFA4:
/* 8000AFA4 00006DE4 80 04 FF FC */ lwz r0, -4(r4)
/* 8000AFA8 00006DE8 34 63 FF FF */ addic. r3, r3, -1
/* 8000AFAC 00006DEC 90 06 FF FC */ stw r0, -4(r6)
/* 8000AFB0 00006DF0 80 04 FF F8 */ lwz r0, -8(r4)
/* 8000AFB4 00006DF4 90 06 FF F8 */ stw r0, -8(r6)
/* 8000AFB8 00006DF8 80 04 FF F4 */ lwz r0, -0xc(r4)
/* 8000AFBC 00006DFC 90 06 FF F4 */ stw r0, -0xc(r6)
/* 8000AFC0 00006E00 80 04 FF F0 */ lwz r0, -0x10(r4)
/* 8000AFC4 00006E04 90 06 FF F0 */ stw r0, -0x10(r6)
/* 8000AFC8 00006E08 80 04 FF EC */ lwz r0, -0x14(r4)
/* 8000AFCC 00006E0C 90 06 FF EC */ stw r0, -0x14(r6)
/* 8000AFD0 00006E10 80 04 FF E8 */ lwz r0, -0x18(r4)
/* 8000AFD4 00006E14 90 06 FF E8 */ stw r0, -0x18(r6)
/* 8000AFD8 00006E18 80 04 FF E4 */ lwz r0, -0x1c(r4)
/* 8000AFDC 00006E1C 90 06 FF E4 */ stw r0, -0x1c(r6)
/* 8000AFE0 00006E20 84 04 FF E0 */ lwzu r0, -0x20(r4)
/* 8000AFE4 00006E24 94 06 FF E0 */ stwu r0, -0x20(r6)
/* 8000AFE8 00006E28 40 82 FF BC */ bne lbl_8000AFA4
lbl_8000AFEC:
/* 8000AFEC 00006E2C 54 A3 F7 7F */ rlwinm. r3, r5, 0x1e, 0x1d, 0x1f
/* 8000AFF0 00006E30 41 82 00 14 */ beq lbl_8000B004
lbl_8000AFF4:
/* 8000AFF4 00006E34 84 04 FF FC */ lwzu r0, -4(r4)
/* 8000AFF8 00006E38 34 63 FF FF */ addic. r3, r3, -1
/* 8000AFFC 00006E3C 94 06 FF FC */ stwu r0, -4(r6)
/* 8000B000 00006E40 40 82 FF F4 */ bne lbl_8000AFF4
lbl_8000B004:
/* 8000B004 00006E44 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
/* 8000B008 00006E48 4D 82 00 20 */ beqlr
lbl_8000B00C:
/* 8000B00C 00006E4C 8C 04 FF FF */ lbzu r0, -1(r4)
/* 8000B010 00006E50 34 A5 FF FF */ addic. r5, r5, -1
/* 8000B014 00006E54 9C 06 FF FF */ stbu r0, -1(r6)
/* 8000B018 00006E58 40 82 FF F4 */ bne lbl_8000B00C
/* 8000B01C 00006E5C 4E 80 00 20 */ blr
.global __copy_longs_unaligned
__copy_longs_unaligned:
/* 8000B020 00006E60 7C 03 00 D0 */ neg r0, r3
/* 8000B024 00006E64 38 E4 FF FF */ addi r7, r4, -1
/* 8000B028 00006E68 54 06 07 BF */ clrlwi. r6, r0, 0x1e
/* 8000B02C 00006E6C 38 63 FF FF */ addi r3, r3, -1
/* 8000B030 00006E70 41 82 00 18 */ beq lbl_8000B048
/* 8000B034 00006E74 7C A6 28 50 */ subf r5, r6, r5
lbl_8000B038:
/* 8000B038 00006E78 8C 07 00 01 */ lbzu r0, 1(r7)
/* 8000B03C 00006E7C 34 C6 FF FF */ addic. r6, r6, -1
/* 8000B040 00006E80 9C 03 00 01 */ stbu r0, 1(r3)
/* 8000B044 00006E84 40 82 FF F4 */ bne lbl_8000B038
lbl_8000B048:
/* 8000B048 00006E88 38 07 00 01 */ addi r0, r7, 1
/* 8000B04C 00006E8C 38 83 FF FD */ addi r4, r3, -3
/* 8000B050 00006E90 54 0A 07 BE */ clrlwi r10, r0, 0x1e
/* 8000B054 00006E94 54 A6 E8 FE */ srwi r6, r5, 3
/* 8000B058 00006E98 7C EA 38 50 */ subf r7, r10, r7
/* 8000B05C 00006E9C 54 0B 1E F8 */ rlwinm r11, r0, 3, 0x1b, 0x1c
/* 8000B060 00006EA0 85 07 00 01 */ lwzu r8, 1(r7)
/* 8000B064 00006EA4 21 8B 00 20 */ subfic r12, r11, 0x20
lbl_8000B068:
/* 8000B068 00006EA8 81 27 00 04 */ lwz r9, 4(r7)
/* 8000B06C 00006EAC 7D 03 58 30 */ slw r3, r8, r11
/* 8000B070 00006EB0 34 C6 FF FF */ addic. r6, r6, -1
/* 8000B074 00006EB4 7D 20 64 30 */ srw r0, r9, r12
/* 8000B078 00006EB8 7C 60 03 78 */ or r0, r3, r0
/* 8000B07C 00006EBC 90 04 00 04 */ stw r0, 4(r4)
/* 8000B080 00006EC0 7D 23 58 30 */ slw r3, r9, r11
/* 8000B084 00006EC4 85 07 00 08 */ lwzu r8, 8(r7)
/* 8000B088 00006EC8 7D 00 64 30 */ srw r0, r8, r12
/* 8000B08C 00006ECC 7C 60 03 78 */ or r0, r3, r0
/* 8000B090 00006ED0 94 04 00 08 */ stwu r0, 8(r4)
/* 8000B094 00006ED4 40 82 FF D4 */ bne lbl_8000B068
/* 8000B098 00006ED8 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d
/* 8000B09C 00006EDC 41 82 00 18 */ beq lbl_8000B0B4
/* 8000B0A0 00006EE0 84 07 00 04 */ lwzu r0, 4(r7)
/* 8000B0A4 00006EE4 7D 03 58 30 */ slw r3, r8, r11
/* 8000B0A8 00006EE8 7C 00 64 30 */ srw r0, r0, r12
/* 8000B0AC 00006EEC 7C 60 03 78 */ or r0, r3, r0
/* 8000B0B0 00006EF0 94 04 00 04 */ stwu r0, 4(r4)
lbl_8000B0B4:
/* 8000B0B4 00006EF4 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
/* 8000B0B8 00006EF8 38 C7 00 03 */ addi r6, r7, 3
/* 8000B0BC 00006EFC 38 64 00 03 */ addi r3, r4, 3
/* 8000B0C0 00006F00 4D 82 00 20 */ beqlr
/* 8000B0C4 00006F04 20 0A 00 04 */ subfic r0, r10, 4
/* 8000B0C8 00006F08 7C C0 30 50 */ subf r6, r0, r6
lbl_8000B0CC:
/* 8000B0CC 00006F0C 8C 06 00 01 */ lbzu r0, 1(r6)
/* 8000B0D0 00006F10 34 A5 FF FF */ addic. r5, r5, -1
/* 8000B0D4 00006F14 9C 03 00 01 */ stbu r0, 1(r3)
/* 8000B0D8 00006F18 40 82 FF F4 */ bne lbl_8000B0CC
/* 8000B0DC 00006F1C 4E 80 00 20 */ blr
.global __copy_longs_rev_unaligned
__copy_longs_rev_unaligned:
/* 8000B0E0 00006F20 7D 83 2A 14 */ add r12, r3, r5
/* 8000B0E4 00006F24 7C 84 2A 14 */ add r4, r4, r5
/* 8000B0E8 00006F28 55 83 07 BF */ clrlwi. r3, r12, 0x1e
/* 8000B0EC 00006F2C 41 82 00 18 */ beq lbl_8000B104
/* 8000B0F0 00006F30 7C A3 28 50 */ subf r5, r3, r5
lbl_8000B0F4:
/* 8000B0F4 00006F34 8C 04 FF FF */ lbzu r0, -1(r4)
/* 8000B0F8 00006F38 34 63 FF FF */ addic. r3, r3, -1
/* 8000B0FC 00006F3C 9C 0C FF FF */ stbu r0, -1(r12)
/* 8000B100 00006F40 40 82 FF F4 */ bne lbl_8000B0F4
lbl_8000B104:
/* 8000B104 00006F44 54 8A 1E F8 */ rlwinm r10, r4, 3, 0x1b, 0x1c
/* 8000B108 00006F48 54 89 07 BE */ clrlwi r9, r4, 0x1e
/* 8000B10C 00006F4C 21 6A 00 20 */ subfic r11, r10, 0x20
/* 8000B110 00006F50 54 A6 E8 FE */ srwi r6, r5, 3
/* 8000B114 00006F54 20 09 00 04 */ subfic r0, r9, 4
/* 8000B118 00006F58 7C 84 02 14 */ add r4, r4, r0
/* 8000B11C 00006F5C 84 E4 FF FC */ lwzu r7, -4(r4)
lbl_8000B120:
/* 8000B120 00006F60 81 04 FF FC */ lwz r8, -4(r4)
/* 8000B124 00006F64 7C E0 5C 30 */ srw r0, r7, r11
/* 8000B128 00006F68 34 C6 FF FF */ addic. r6, r6, -1
/* 8000B12C 00006F6C 7D 03 50 30 */ slw r3, r8, r10
/* 8000B130 00006F70 7C 60 03 78 */ or r0, r3, r0
/* 8000B134 00006F74 90 0C FF FC */ stw r0, -4(r12)
/* 8000B138 00006F78 7D 00 5C 30 */ srw r0, r8, r11
/* 8000B13C 00006F7C 84 E4 FF F8 */ lwzu r7, -8(r4)
/* 8000B140 00006F80 7C E3 50 30 */ slw r3, r7, r10
/* 8000B144 00006F84 7C 60 03 78 */ or r0, r3, r0
/* 8000B148 00006F88 94 0C FF F8 */ stwu r0, -8(r12)
/* 8000B14C 00006F8C 40 82 FF D4 */ bne lbl_8000B120
/* 8000B150 00006F90 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d
/* 8000B154 00006F94 41 82 00 18 */ beq lbl_8000B16C
/* 8000B158 00006F98 84 64 FF FC */ lwzu r3, -4(r4)
/* 8000B15C 00006F9C 7C E0 5C 30 */ srw r0, r7, r11
/* 8000B160 00006FA0 7C 63 50 30 */ slw r3, r3, r10
/* 8000B164 00006FA4 7C 60 03 78 */ or r0, r3, r0
/* 8000B168 00006FA8 94 0C FF FC */ stwu r0, -4(r12)
lbl_8000B16C:
/* 8000B16C 00006FAC 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
/* 8000B170 00006FB0 4D 82 00 20 */ beqlr
/* 8000B174 00006FB4 7C 64 4A 14 */ add r3, r4, r9
lbl_8000B178:
/* 8000B178 00006FB8 8C 03 FF FF */ lbzu r0, -1(r3)
/* 8000B17C 00006FBC 34 A5 FF FF */ addic. r5, r5, -1
/* 8000B180 00006FC0 9C 0C FF FF */ stbu r0, -1(r12)
/* 8000B184 00006FC4 40 82 FF F4 */ bne lbl_8000B178
/* 8000B188 00006FC8 4E 80 00 20 */ blr

View file

@ -0,0 +1,9 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __stdio_atexit
__stdio_atexit:
/* 8000B280 000070C0 3C 60 80 01 */ lis r3, __close_all@ha
/* 8000B284 000070C4 38 63 97 48 */ addi r3, r3, __close_all@l
/* 8000B288 000070C8 90 6D E2 E4 */ stw r3, __stdio_exit-_SDA_BASE_(r13)
/* 8000B28C 000070CC 4E 80 00 20 */ blr

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,46 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __StringRead
__StringRead:
/* 8000D890 000096D0 2C 05 00 00 */ cmpwi r5, 0
/* 8000D894 000096D4 41 82 00 18 */ beq lbl_8000D8AC
/* 8000D898 000096D8 2C 05 00 01 */ cmpwi r5, 1
/* 8000D89C 000096DC 41 82 00 40 */ beq lbl_8000D8DC
/* 8000D8A0 000096E0 2C 05 00 02 */ cmpwi r5, 2
/* 8000D8A4 000096E4 41 82 00 64 */ beq lbl_8000D908
/* 8000D8A8 000096E8 48 00 00 68 */ b lbl_8000D910
lbl_8000D8AC:
/* 8000D8AC 000096EC 80 83 00 00 */ lwz r4, 0(r3)
/* 8000D8B0 000096F0 88 A4 00 00 */ lbz r5, 0(r4)
/* 8000D8B4 000096F4 7C A0 07 75 */ extsb. r0, r5
/* 8000D8B8 000096F8 40 82 00 14 */ bne lbl_8000D8CC
/* 8000D8BC 000096FC 38 00 00 01 */ li r0, 1
/* 8000D8C0 00009700 90 03 00 04 */ stw r0, 4(r3)
/* 8000D8C4 00009704 38 60 FF FF */ li r3, -1
/* 8000D8C8 00009708 4E 80 00 20 */ blr
lbl_8000D8CC:
/* 8000D8CC 0000970C 38 04 00 01 */ addi r0, r4, 1
/* 8000D8D0 00009710 90 03 00 00 */ stw r0, 0(r3)
/* 8000D8D4 00009714 7C A3 2B 78 */ mr r3, r5
/* 8000D8D8 00009718 4E 80 00 20 */ blr
lbl_8000D8DC:
/* 8000D8DC 0000971C 80 03 00 04 */ lwz r0, 4(r3)
/* 8000D8E0 00009720 2C 00 00 00 */ cmpwi r0, 0
/* 8000D8E4 00009724 40 82 00 14 */ bne lbl_8000D8F8
/* 8000D8E8 00009728 80 A3 00 00 */ lwz r5, 0(r3)
/* 8000D8EC 0000972C 38 05 FF FF */ addi r0, r5, -1
/* 8000D8F0 00009730 90 03 00 00 */ stw r0, 0(r3)
/* 8000D8F4 00009734 48 00 00 0C */ b lbl_8000D900
lbl_8000D8F8:
/* 8000D8F8 00009738 38 00 00 00 */ li r0, 0
/* 8000D8FC 0000973C 90 03 00 04 */ stw r0, 4(r3)
lbl_8000D900:
/* 8000D900 00009740 7C 83 23 78 */ mr r3, r4
/* 8000D904 00009744 4E 80 00 20 */ blr
lbl_8000D908:
/* 8000D908 00009748 80 63 00 04 */ lwz r3, 4(r3)
/* 8000D90C 0000974C 4E 80 00 20 */ blr
lbl_8000D910:
/* 8000D910 00009750 38 60 00 00 */ li r3, 0
/* 8000D914 00009754 4E 80 00 20 */ blr

View file

@ -0,0 +1,16 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __msl_runtime_constraint_violation_s
__msl_runtime_constraint_violation_s:
/* 8001055C 0000C39C 81 8D E2 E8 */ lwz r12, __msl_constraint_handler-_SDA_BASE_(r13)
/* 80010560 0000C3A0 2C 0C 00 00 */ cmpwi r12, 0
/* 80010564 0000C3A4 4D 82 00 20 */ beqlr
/* 80010568 0000C3A8 7D 89 03 A6 */ mtctr r12
/* 8001056C 0000C3AC 4E 80 04 20 */ bctr
/* 80010570 0000C3B0 4E 80 00 20 */ blr
.section .bss, "wa" # 0x80496700 - 0x805643FC
.global __msl_constraint_handler
__msl_constraint_handler:
.skip 0x8

View file

@ -0,0 +1,58 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global raise
raise:
/* 8000D918 00009758 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000D91C 0000975C 7C 08 02 A6 */ mflr r0
/* 8000D920 00009760 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000D924 00009764 38 03 FF FF */ addi r0, r3, -1
/* 8000D928 00009768 28 00 00 06 */ cmplwi r0, 6
/* 8000D92C 0000976C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000D930 00009770 93 C1 00 08 */ stw r30, 8(r1)
/* 8000D934 00009774 7C 7E 1B 78 */ mr r30, r3
/* 8000D938 00009778 40 81 00 0C */ ble lbl_8000D944
/* 8000D93C 0000977C 38 60 FF FF */ li r3, -1
/* 8000D940 00009780 48 00 00 68 */ b lbl_8000D9A8
lbl_8000D944:
/* 8000D944 00009784 3C 80 80 49 */ lis r4, signal_funcs@ha
/* 8000D948 00009788 54 05 10 3A */ slwi r5, r0, 2
/* 8000D94C 0000978C 38 84 6B B8 */ addi r4, r4, signal_funcs@l
/* 8000D950 00009790 7F E4 28 2E */ lwzx r31, r4, r5
/* 8000D954 00009794 28 1F 00 01 */ cmplwi r31, 1
/* 8000D958 00009798 41 82 00 0C */ beq lbl_8000D964
/* 8000D95C 0000979C 38 00 00 00 */ li r0, 0
/* 8000D960 000097A0 7C 04 29 2E */ stwx r0, r4, r5
lbl_8000D964:
/* 8000D964 000097A4 28 1F 00 01 */ cmplwi r31, 1
/* 8000D968 000097A8 41 82 00 14 */ beq lbl_8000D97C
/* 8000D96C 000097AC 2C 1F 00 00 */ cmpwi r31, 0
/* 8000D970 000097B0 40 82 00 14 */ bne lbl_8000D984
/* 8000D974 000097B4 2C 03 00 01 */ cmpwi r3, 1
/* 8000D978 000097B8 40 82 00 0C */ bne lbl_8000D984
lbl_8000D97C:
/* 8000D97C 000097BC 38 60 00 00 */ li r3, 0
/* 8000D980 000097C0 48 00 00 28 */ b lbl_8000D9A8
lbl_8000D984:
/* 8000D984 000097C4 2C 1F 00 00 */ cmpwi r31, 0
/* 8000D988 000097C8 40 82 00 0C */ bne lbl_8000D994
/* 8000D98C 000097CC 38 60 00 00 */ li r3, 0
/* 8000D990 000097D0 48 01 AC 11 */ bl exit
lbl_8000D994:
/* 8000D994 000097D4 7F EC FB 78 */ mr r12, r31
/* 8000D998 000097D8 7F C3 F3 78 */ mr r3, r30
/* 8000D99C 000097DC 7D 89 03 A6 */ mtctr r12
/* 8000D9A0 000097E0 4E 80 04 21 */ bctrl
/* 8000D9A4 000097E4 38 60 00 00 */ li r3, 0
lbl_8000D9A8:
/* 8000D9A8 000097E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000D9AC 000097EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000D9B0 000097F0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8000D9B4 000097F4 7C 08 03 A6 */ mtlr r0
/* 8000D9B8 000097F8 38 21 00 10 */ addi r1, r1, 0x10
/* 8000D9BC 000097FC 4E 80 00 20 */ blr
.section .bss, "wa" # 0x80496700 - 0x805643FC
.global signal_funcs
signal_funcs:
.skip 0x20

View file

@ -0,0 +1,286 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global strcpy
strcpy:
/* 8000D9C0 00009800 54 60 07 BE */ clrlwi r0, r3, 0x1e
/* 8000D9C4 00009804 54 85 07 BE */ clrlwi r5, r4, 0x1e
/* 8000D9C8 00009808 7C 00 28 40 */ cmplw r0, r5
/* 8000D9CC 0000980C 7C 67 1B 78 */ mr r7, r3
/* 8000D9D0 00009810 40 82 00 8C */ bne lbl_8000DA5C
/* 8000D9D4 00009814 2C 05 00 00 */ cmpwi r5, 0
/* 8000D9D8 00009818 41 82 00 40 */ beq lbl_8000DA18
/* 8000D9DC 0000981C 88 04 00 00 */ lbz r0, 0(r4)
/* 8000D9E0 00009820 98 03 00 00 */ stb r0, 0(r3)
/* 8000D9E4 00009824 2C 00 00 00 */ cmpwi r0, 0
/* 8000D9E8 00009828 4D 82 00 20 */ beqlr
/* 8000D9EC 0000982C 20 05 00 03 */ subfic r0, r5, 3
/* 8000D9F0 00009830 7C 09 03 A6 */ mtctr r0
/* 8000D9F4 00009834 2C 00 00 00 */ cmpwi r0, 0
/* 8000D9F8 00009838 41 82 00 18 */ beq lbl_8000DA10
lbl_8000D9FC:
/* 8000D9FC 0000983C 8C 04 00 01 */ lbzu r0, 1(r4)
/* 8000DA00 00009840 9C 07 00 01 */ stbu r0, 1(r7)
/* 8000DA04 00009844 2C 00 00 00 */ cmpwi r0, 0
/* 8000DA08 00009848 4D 82 00 20 */ beqlr
/* 8000DA0C 0000984C 42 00 FF F0 */ bdnz lbl_8000D9FC
lbl_8000DA10:
/* 8000DA10 00009850 38 E7 00 01 */ addi r7, r7, 1
/* 8000DA14 00009854 38 84 00 01 */ addi r4, r4, 1
lbl_8000DA18:
/* 8000DA18 00009858 81 04 00 00 */ lwz r8, 0(r4)
/* 8000DA1C 0000985C 3C A0 80 81 */ lis r5, 0x80808080@ha
/* 8000DA20 00009860 38 A5 80 80 */ addi r5, r5, 0x80808080@l
/* 8000DA24 00009864 3C C8 FE FF */ addis r6, r8, 0xfeff
/* 8000DA28 00009868 38 C6 FE FF */ addi r6, r6, -257
/* 8000DA2C 0000986C 7C C6 40 78 */ andc r6, r6, r8
/* 8000DA30 00009870 7C C0 28 39 */ and. r0, r6, r5
/* 8000DA34 00009874 40 82 00 28 */ bne lbl_8000DA5C
/* 8000DA38 00009878 38 E7 FF FC */ addi r7, r7, -4
lbl_8000DA3C:
/* 8000DA3C 0000987C 95 07 00 04 */ stwu r8, 4(r7)
/* 8000DA40 00009880 85 04 00 04 */ lwzu r8, 4(r4)
/* 8000DA44 00009884 3C C8 FE FF */ addis r6, r8, 0xfeff
/* 8000DA48 00009888 38 C6 FE FF */ addi r6, r6, -257
/* 8000DA4C 0000988C 7C C6 40 78 */ andc r6, r6, r8
/* 8000DA50 00009890 7C C0 28 39 */ and. r0, r6, r5
/* 8000DA54 00009894 41 82 FF E8 */ beq lbl_8000DA3C
/* 8000DA58 00009898 38 E7 00 04 */ addi r7, r7, 4
lbl_8000DA5C:
/* 8000DA5C 0000989C 88 04 00 00 */ lbz r0, 0(r4)
/* 8000DA60 000098A0 98 07 00 00 */ stb r0, 0(r7)
/* 8000DA64 000098A4 2C 00 00 00 */ cmpwi r0, 0
/* 8000DA68 000098A8 4D 82 00 20 */ beqlr
lbl_8000DA6C:
/* 8000DA6C 000098AC 8C 04 00 01 */ lbzu r0, 1(r4)
/* 8000DA70 000098B0 9C 07 00 01 */ stbu r0, 1(r7)
/* 8000DA74 000098B4 2C 00 00 00 */ cmpwi r0, 0
/* 8000DA78 000098B8 40 82 FF F4 */ bne lbl_8000DA6C
/* 8000DA7C 000098BC 4E 80 00 20 */ blr
.global strncpy
strncpy:
/* 8000DA80 000098C0 38 84 FF FF */ addi r4, r4, -1
/* 8000DA84 000098C4 38 C3 FF FF */ addi r6, r3, -1
/* 8000DA88 000098C8 38 A5 00 01 */ addi r5, r5, 1
/* 8000DA8C 000098CC 48 00 00 2C */ b lbl_8000DAB8
lbl_8000DA90:
/* 8000DA90 000098D0 8C 04 00 01 */ lbzu r0, 1(r4)
/* 8000DA94 000098D4 9C 06 00 01 */ stbu r0, 1(r6)
/* 8000DA98 000098D8 2C 00 00 00 */ cmpwi r0, 0
/* 8000DA9C 000098DC 40 82 00 1C */ bne lbl_8000DAB8
/* 8000DAA0 000098E0 38 00 00 00 */ li r0, 0
/* 8000DAA4 000098E4 48 00 00 08 */ b lbl_8000DAAC
lbl_8000DAA8:
/* 8000DAA8 000098E8 9C 06 00 01 */ stbu r0, 1(r6)
lbl_8000DAAC:
/* 8000DAAC 000098EC 34 A5 FF FF */ addic. r5, r5, -1
/* 8000DAB0 000098F0 40 82 FF F8 */ bne lbl_8000DAA8
/* 8000DAB4 000098F4 4E 80 00 20 */ blr
lbl_8000DAB8:
/* 8000DAB8 000098F8 34 A5 FF FF */ addic. r5, r5, -1
/* 8000DABC 000098FC 40 82 FF D4 */ bne lbl_8000DA90
/* 8000DAC0 00009900 4E 80 00 20 */ blr
.global strcat
strcat:
/* 8000DAC4 00009904 38 84 FF FF */ addi r4, r4, -1
/* 8000DAC8 00009908 38 A3 FF FF */ addi r5, r3, -1
lbl_8000DACC:
/* 8000DACC 0000990C 8C 05 00 01 */ lbzu r0, 1(r5)
/* 8000DAD0 00009910 2C 00 00 00 */ cmpwi r0, 0
/* 8000DAD4 00009914 40 82 FF F8 */ bne lbl_8000DACC
/* 8000DAD8 00009918 38 A5 FF FF */ addi r5, r5, -1
lbl_8000DADC:
/* 8000DADC 0000991C 8C 04 00 01 */ lbzu r0, 1(r4)
/* 8000DAE0 00009920 9C 05 00 01 */ stbu r0, 1(r5)
/* 8000DAE4 00009924 2C 00 00 00 */ cmpwi r0, 0
/* 8000DAE8 00009928 40 82 FF F4 */ bne lbl_8000DADC
/* 8000DAEC 0000992C 4E 80 00 20 */ blr
.global strncat
strncat:
/* 8000DAF0 00009930 38 84 FF FF */ addi r4, r4, -1
/* 8000DAF4 00009934 38 C3 FF FF */ addi r6, r3, -1
lbl_8000DAF8:
/* 8000DAF8 00009938 8C 06 00 01 */ lbzu r0, 1(r6)
/* 8000DAFC 0000993C 2C 00 00 00 */ cmpwi r0, 0
/* 8000DB00 00009940 40 82 FF F8 */ bne lbl_8000DAF8
/* 8000DB04 00009944 38 C6 FF FF */ addi r6, r6, -1
/* 8000DB08 00009948 38 A5 00 01 */ addi r5, r5, 1
/* 8000DB0C 0000994C 48 00 00 1C */ b lbl_8000DB28
lbl_8000DB10:
/* 8000DB10 00009950 8C 04 00 01 */ lbzu r0, 1(r4)
/* 8000DB14 00009954 9C 06 00 01 */ stbu r0, 1(r6)
/* 8000DB18 00009958 2C 00 00 00 */ cmpwi r0, 0
/* 8000DB1C 0000995C 40 82 00 0C */ bne lbl_8000DB28
/* 8000DB20 00009960 38 C6 FF FF */ addi r6, r6, -1
/* 8000DB24 00009964 48 00 00 0C */ b lbl_8000DB30
lbl_8000DB28:
/* 8000DB28 00009968 34 A5 FF FF */ addic. r5, r5, -1
/* 8000DB2C 0000996C 40 82 FF E4 */ bne lbl_8000DB10
lbl_8000DB30:
/* 8000DB30 00009970 38 00 00 00 */ li r0, 0
/* 8000DB34 00009974 98 06 00 01 */ stb r0, 1(r6)
/* 8000DB38 00009978 4E 80 00 20 */ blr
.global strcmp
strcmp:
/* 8000DB3C 0000997C 88 A3 00 00 */ lbz r5, 0(r3)
/* 8000DB40 00009980 88 04 00 00 */ lbz r0, 0(r4)
/* 8000DB44 00009984 7C 00 28 51 */ subf. r0, r0, r5
/* 8000DB48 00009988 41 82 00 0C */ beq lbl_8000DB54
/* 8000DB4C 0000998C 7C 03 03 78 */ mr r3, r0
/* 8000DB50 00009990 4E 80 00 20 */ blr
lbl_8000DB54:
/* 8000DB54 00009994 54 80 07 BE */ clrlwi r0, r4, 0x1e
/* 8000DB58 00009998 54 66 07 BE */ clrlwi r6, r3, 0x1e
/* 8000DB5C 0000999C 7C 00 30 40 */ cmplw r0, r6
/* 8000DB60 000099A0 40 82 00 C0 */ bne lbl_8000DC20
/* 8000DB64 000099A4 2C 06 00 00 */ cmpwi r6, 0
/* 8000DB68 000099A8 41 82 00 58 */ beq lbl_8000DBC0
/* 8000DB6C 000099AC 2C 05 00 00 */ cmpwi r5, 0
/* 8000DB70 000099B0 40 82 00 0C */ bne lbl_8000DB7C
/* 8000DB74 000099B4 38 60 00 00 */ li r3, 0
/* 8000DB78 000099B8 4E 80 00 20 */ blr
lbl_8000DB7C:
/* 8000DB7C 000099BC 20 06 00 03 */ subfic r0, r6, 3
/* 8000DB80 000099C0 7C 09 03 A6 */ mtctr r0
/* 8000DB84 000099C4 2C 00 00 00 */ cmpwi r0, 0
/* 8000DB88 000099C8 41 82 00 30 */ beq lbl_8000DBB8
lbl_8000DB8C:
/* 8000DB8C 000099CC 8C A3 00 01 */ lbzu r5, 1(r3)
/* 8000DB90 000099D0 8C 04 00 01 */ lbzu r0, 1(r4)
/* 8000DB94 000099D4 7C 00 28 51 */ subf. r0, r0, r5
/* 8000DB98 000099D8 41 82 00 0C */ beq lbl_8000DBA4
/* 8000DB9C 000099DC 7C 03 03 78 */ mr r3, r0
/* 8000DBA0 000099E0 4E 80 00 20 */ blr
lbl_8000DBA4:
/* 8000DBA4 000099E4 2C 05 00 00 */ cmpwi r5, 0
/* 8000DBA8 000099E8 40 82 00 0C */ bne lbl_8000DBB4
/* 8000DBAC 000099EC 38 60 00 00 */ li r3, 0
/* 8000DBB0 000099F0 4E 80 00 20 */ blr
lbl_8000DBB4:
/* 8000DBB4 000099F4 42 00 FF D8 */ bdnz lbl_8000DB8C
lbl_8000DBB8:
/* 8000DBB8 000099F8 38 63 00 01 */ addi r3, r3, 1
/* 8000DBBC 000099FC 38 84 00 01 */ addi r4, r4, 1
lbl_8000DBC0:
/* 8000DBC0 00009A00 80 E3 00 00 */ lwz r7, 0(r3)
/* 8000DBC4 00009A04 3C A0 80 81 */ lis r5, 0x80808080@ha
/* 8000DBC8 00009A08 38 C5 80 80 */ addi r6, r5, 0x80808080@l
/* 8000DBCC 00009A0C 81 04 00 00 */ lwz r8, 0(r4)
/* 8000DBD0 00009A10 3C A7 FE FF */ addis r5, r7, 0xfeff
/* 8000DBD4 00009A14 38 A5 FE FF */ addi r5, r5, -257
/* 8000DBD8 00009A18 7C A5 38 78 */ andc r5, r5, r7
/* 8000DBDC 00009A1C 7C A0 30 39 */ and. r0, r5, r6
/* 8000DBE0 00009A20 40 82 00 28 */ bne lbl_8000DC08
/* 8000DBE4 00009A24 48 00 00 1C */ b lbl_8000DC00
lbl_8000DBE8:
/* 8000DBE8 00009A28 84 E3 00 04 */ lwzu r7, 4(r3)
/* 8000DBEC 00009A2C 85 04 00 04 */ lwzu r8, 4(r4)
/* 8000DBF0 00009A30 3C A7 FE FF */ addis r5, r7, 0xfeff
/* 8000DBF4 00009A34 38 05 FE FF */ addi r0, r5, -257
/* 8000DBF8 00009A38 7C 00 30 39 */ and. r0, r0, r6
/* 8000DBFC 00009A3C 40 82 00 0C */ bne lbl_8000DC08
lbl_8000DC00:
/* 8000DC00 00009A40 7C 07 40 40 */ cmplw r7, r8
/* 8000DC04 00009A44 41 82 FF E4 */ beq lbl_8000DBE8
lbl_8000DC08:
/* 8000DC08 00009A48 88 A3 00 00 */ lbz r5, 0(r3)
/* 8000DC0C 00009A4C 88 04 00 00 */ lbz r0, 0(r4)
/* 8000DC10 00009A50 7C 00 28 51 */ subf. r0, r0, r5
/* 8000DC14 00009A54 41 82 00 0C */ beq lbl_8000DC20
/* 8000DC18 00009A58 7C 03 03 78 */ mr r3, r0
/* 8000DC1C 00009A5C 4E 80 00 20 */ blr
lbl_8000DC20:
/* 8000DC20 00009A60 2C 05 00 00 */ cmpwi r5, 0
/* 8000DC24 00009A64 40 82 00 0C */ bne lbl_8000DC30
/* 8000DC28 00009A68 38 60 00 00 */ li r3, 0
/* 8000DC2C 00009A6C 4E 80 00 20 */ blr
lbl_8000DC30:
/* 8000DC30 00009A70 8C A3 00 01 */ lbzu r5, 1(r3)
/* 8000DC34 00009A74 8C 04 00 01 */ lbzu r0, 1(r4)
/* 8000DC38 00009A78 7C 00 28 51 */ subf. r0, r0, r5
/* 8000DC3C 00009A7C 41 82 00 0C */ beq lbl_8000DC48
/* 8000DC40 00009A80 7C 03 03 78 */ mr r3, r0
/* 8000DC44 00009A84 4E 80 00 20 */ blr
lbl_8000DC48:
/* 8000DC48 00009A88 2C 05 00 00 */ cmpwi r5, 0
/* 8000DC4C 00009A8C 40 82 FF E4 */ bne lbl_8000DC30
/* 8000DC50 00009A90 38 60 00 00 */ li r3, 0
/* 8000DC54 00009A94 4E 80 00 20 */ blr
.global strncmp
strncmp:
/* 8000DC58 00009A98 38 63 FF FF */ addi r3, r3, -1
/* 8000DC5C 00009A9C 38 84 FF FF */ addi r4, r4, -1
/* 8000DC60 00009AA0 38 C5 00 01 */ addi r6, r5, 1
/* 8000DC64 00009AA4 48 00 00 24 */ b lbl_8000DC88
lbl_8000DC68:
/* 8000DC68 00009AA8 8C 03 00 01 */ lbzu r0, 1(r3)
/* 8000DC6C 00009AAC 8C A4 00 01 */ lbzu r5, 1(r4)
/* 8000DC70 00009AB0 7C 00 28 40 */ cmplw r0, r5
/* 8000DC74 00009AB4 41 82 00 0C */ beq lbl_8000DC80
/* 8000DC78 00009AB8 7C 65 00 50 */ subf r3, r5, r0
/* 8000DC7C 00009ABC 4E 80 00 20 */ blr
lbl_8000DC80:
/* 8000DC80 00009AC0 2C 00 00 00 */ cmpwi r0, 0
/* 8000DC84 00009AC4 41 82 00 0C */ beq lbl_8000DC90
lbl_8000DC88:
/* 8000DC88 00009AC8 34 C6 FF FF */ addic. r6, r6, -1
/* 8000DC8C 00009ACC 40 82 FF DC */ bne lbl_8000DC68
lbl_8000DC90:
/* 8000DC90 00009AD0 38 60 00 00 */ li r3, 0
/* 8000DC94 00009AD4 4E 80 00 20 */ blr
.global strchr
strchr:
/* 8000DC98 00009AD8 38 63 FF FF */ addi r3, r3, -1
/* 8000DC9C 00009ADC 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 8000DCA0 00009AE0 48 00 00 0C */ b lbl_8000DCAC
lbl_8000DCA4:
/* 8000DCA4 00009AE4 7C 04 00 40 */ cmplw r4, r0
/* 8000DCA8 00009AE8 4D 82 00 20 */ beqlr
lbl_8000DCAC:
/* 8000DCAC 00009AEC 8C 83 00 01 */ lbzu r4, 1(r3)
/* 8000DCB0 00009AF0 2C 04 00 00 */ cmpwi r4, 0
/* 8000DCB4 00009AF4 40 82 FF F0 */ bne lbl_8000DCA4
/* 8000DCB8 00009AF8 2C 00 00 00 */ cmpwi r0, 0
/* 8000DCBC 00009AFC 4D 82 00 20 */ beqlr
/* 8000DCC0 00009B00 38 60 00 00 */ li r3, 0
/* 8000DCC4 00009B04 4E 80 00 20 */ blr
.global strstr
strstr:
/* 8000DCC8 00009B08 2C 04 00 00 */ cmpwi r4, 0
/* 8000DCCC 00009B0C 38 A3 FF FF */ addi r5, r3, -1
/* 8000DCD0 00009B10 4D 82 00 20 */ beqlr
/* 8000DCD4 00009B14 88 C4 00 00 */ lbz r6, 0(r4)
/* 8000DCD8 00009B18 2C 06 00 00 */ cmpwi r6, 0
/* 8000DCDC 00009B1C 40 82 00 44 */ bne lbl_8000DD20
/* 8000DCE0 00009B20 4E 80 00 20 */ blr
/* 8000DCE4 00009B24 48 00 00 3C */ b lbl_8000DD20
lbl_8000DCE8:
/* 8000DCE8 00009B28 7C 00 30 40 */ cmplw r0, r6
/* 8000DCEC 00009B2C 40 82 00 34 */ bne lbl_8000DD20
/* 8000DCF0 00009B30 38 E5 FF FF */ addi r7, r5, -1
/* 8000DCF4 00009B34 39 04 FF FF */ addi r8, r4, -1
lbl_8000DCF8:
/* 8000DCF8 00009B38 8C 07 00 01 */ lbzu r0, 1(r7)
/* 8000DCFC 00009B3C 8C 68 00 01 */ lbzu r3, 1(r8)
/* 8000DD00 00009B40 7C 00 18 40 */ cmplw r0, r3
/* 8000DD04 00009B44 40 82 00 0C */ bne lbl_8000DD10
/* 8000DD08 00009B48 2C 00 00 00 */ cmpwi r0, 0
/* 8000DD0C 00009B4C 40 82 FF EC */ bne lbl_8000DCF8
lbl_8000DD10:
/* 8000DD10 00009B50 2C 03 00 00 */ cmpwi r3, 0
/* 8000DD14 00009B54 40 82 00 0C */ bne lbl_8000DD20
/* 8000DD18 00009B58 7C A3 2B 78 */ mr r3, r5
/* 8000DD1C 00009B5C 4E 80 00 20 */ blr
lbl_8000DD20:
/* 8000DD20 00009B60 8C 05 00 01 */ lbzu r0, 1(r5)
/* 8000DD24 00009B64 2C 00 00 00 */ cmpwi r0, 0
/* 8000DD28 00009B68 40 82 FF C0 */ bne lbl_8000DCE8
/* 8000DD2C 00009B6C 38 60 00 00 */ li r3, 0
/* 8000DD30 00009B70 4E 80 00 20 */ blr

View file

@ -0,0 +1,368 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __strtoul
__strtoul:
/* 8000DD34 00009B74 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8000DD38 00009B78 7C 08 02 A6 */ mflr r0
/* 8000DD3C 00009B7C 2C 03 00 00 */ cmpwi r3, 0
/* 8000DD40 00009B80 90 01 00 54 */ stw r0, 0x54(r1)
/* 8000DD44 00009B84 BE 21 00 14 */ stmw r17, 0x14(r1)
/* 8000DD48 00009B88 3B 60 00 00 */ li r27, 0
/* 8000DD4C 00009B8C 7C 71 1B 78 */ mr r17, r3
/* 8000DD50 00009B90 7C 92 23 78 */ mr r18, r4
/* 8000DD54 00009B94 7C B3 2B 78 */ mr r19, r5
/* 8000DD58 00009B98 7C D4 33 78 */ mr r20, r6
/* 8000DD5C 00009B9C 7C F5 3B 78 */ mr r21, r7
/* 8000DD60 00009BA0 7D 16 43 78 */ mr r22, r8
/* 8000DD64 00009BA4 7D 37 4B 78 */ mr r23, r9
/* 8000DD68 00009BA8 3B 80 00 01 */ li r28, 1
/* 8000DD6C 00009BAC 3B 40 00 00 */ li r26, 0
/* 8000DD70 00009BB0 3B 20 00 00 */ li r25, 0
/* 8000DD74 00009BB4 3B 00 00 00 */ li r24, 0
/* 8000DD78 00009BB8 93 69 00 00 */ stw r27, 0(r9)
/* 8000DD7C 00009BBC 93 68 00 00 */ stw r27, 0(r8)
/* 8000DD80 00009BC0 41 80 00 1C */ blt lbl_8000DD9C
/* 8000DD84 00009BC4 2C 03 00 01 */ cmpwi r3, 1
/* 8000DD88 00009BC8 41 82 00 14 */ beq lbl_8000DD9C
/* 8000DD8C 00009BCC 2C 03 00 24 */ cmpwi r3, 0x24
/* 8000DD90 00009BD0 41 81 00 0C */ bgt lbl_8000DD9C
/* 8000DD94 00009BD4 2C 04 00 01 */ cmpwi r4, 1
/* 8000DD98 00009BD8 40 80 00 0C */ bge lbl_8000DDA4
lbl_8000DD9C:
/* 8000DD9C 00009BDC 3B 80 00 40 */ li r28, 0x40
/* 8000DDA0 00009BE0 48 00 00 24 */ b lbl_8000DDC4
lbl_8000DDA4:
/* 8000DDA4 00009BE4 7E 6C 9B 78 */ mr r12, r19
/* 8000DDA8 00009BE8 7E 83 A3 78 */ mr r3, r20
/* 8000DDAC 00009BEC 38 80 00 00 */ li r4, 0
/* 8000DDB0 00009BF0 38 A0 00 00 */ li r5, 0
/* 8000DDB4 00009BF4 7D 89 03 A6 */ mtctr r12
/* 8000DDB8 00009BF8 3B 60 00 01 */ li r27, 1
/* 8000DDBC 00009BFC 4E 80 04 21 */ bctrl
/* 8000DDC0 00009C00 7C 64 1B 78 */ mr r4, r3
lbl_8000DDC4:
/* 8000DDC4 00009C04 2C 11 00 00 */ cmpwi r17, 0
/* 8000DDC8 00009C08 41 82 00 0C */ beq lbl_8000DDD4
/* 8000DDCC 00009C0C 38 00 FF FF */ li r0, -1
/* 8000DDD0 00009C10 7F 00 8B 96 */ divwu r24, r0, r17
lbl_8000DDD4:
/* 8000DDD4 00009C14 3C 60 80 42 */ lis r3, _current_locale@ha
/* 8000DDD8 00009C18 3B C0 00 01 */ li r30, 1
/* 8000DDDC 00009C1C 3B E0 FF FF */ li r31, -1
/* 8000DDE0 00009C20 3B A3 15 10 */ addi r29, r3, _current_locale@l
/* 8000DDE4 00009C24 48 00 03 00 */ b lbl_8000E0E4
lbl_8000DDE8:
/* 8000DDE8 00009C28 2C 1C 00 01 */ cmpwi r28, 1
/* 8000DDEC 00009C2C 41 82 00 28 */ beq lbl_8000DE14
/* 8000DDF0 00009C30 2C 1C 00 02 */ cmpwi r28, 2
/* 8000DDF4 00009C34 41 82 00 E0 */ beq lbl_8000DED4
/* 8000DDF8 00009C38 2C 1C 00 04 */ cmpwi r28, 4
/* 8000DDFC 00009C3C 41 82 01 20 */ beq lbl_8000DF1C
/* 8000DE00 00009C40 2C 1C 00 08 */ cmpwi r28, 8
/* 8000DE04 00009C44 41 82 01 68 */ beq lbl_8000DF6C
/* 8000DE08 00009C48 2C 1C 00 10 */ cmpwi r28, 0x10
/* 8000DE0C 00009C4C 41 82 01 60 */ beq lbl_8000DF6C
/* 8000DE10 00009C50 48 00 02 D4 */ b lbl_8000E0E4
lbl_8000DE14:
/* 8000DE14 00009C54 28 04 00 FF */ cmplwi r4, 0xff
/* 8000DE18 00009C58 38 00 00 01 */ li r0, 1
/* 8000DE1C 00009C5C 41 81 00 08 */ bgt lbl_8000DE24
/* 8000DE20 00009C60 38 00 00 00 */ li r0, 0
lbl_8000DE24:
/* 8000DE24 00009C64 2C 00 00 00 */ cmpwi r0, 0
/* 8000DE28 00009C68 41 82 00 0C */ beq lbl_8000DE34
/* 8000DE2C 00009C6C 38 00 00 00 */ li r0, 0
/* 8000DE30 00009C70 48 00 00 18 */ b lbl_8000DE48
lbl_8000DE34:
/* 8000DE34 00009C74 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 8000DE38 00009C78 54 80 08 3C */ slwi r0, r4, 1
/* 8000DE3C 00009C7C 80 63 00 08 */ lwz r3, 8(r3)
/* 8000DE40 00009C80 7C 03 02 2E */ lhzx r0, r3, r0
/* 8000DE44 00009C84 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_8000DE48:
/* 8000DE48 00009C88 2C 00 00 00 */ cmpwi r0, 0
/* 8000DE4C 00009C8C 41 82 00 28 */ beq lbl_8000DE74
/* 8000DE50 00009C90 7E 6C 9B 78 */ mr r12, r19
/* 8000DE54 00009C94 7E 83 A3 78 */ mr r3, r20
/* 8000DE58 00009C98 38 80 00 00 */ li r4, 0
/* 8000DE5C 00009C9C 38 A0 00 00 */ li r5, 0
/* 8000DE60 00009CA0 7D 89 03 A6 */ mtctr r12
/* 8000DE64 00009CA4 4E 80 04 21 */ bctrl
/* 8000DE68 00009CA8 7C 64 1B 78 */ mr r4, r3
/* 8000DE6C 00009CAC 3B 5A 00 01 */ addi r26, r26, 1
/* 8000DE70 00009CB0 48 00 02 74 */ b lbl_8000E0E4
lbl_8000DE74:
/* 8000DE74 00009CB4 2C 04 00 2B */ cmpwi r4, 0x2b
/* 8000DE78 00009CB8 40 82 00 28 */ bne lbl_8000DEA0
/* 8000DE7C 00009CBC 7E 6C 9B 78 */ mr r12, r19
/* 8000DE80 00009CC0 7E 83 A3 78 */ mr r3, r20
/* 8000DE84 00009CC4 38 80 00 00 */ li r4, 0
/* 8000DE88 00009CC8 38 A0 00 00 */ li r5, 0
/* 8000DE8C 00009CCC 7D 89 03 A6 */ mtctr r12
/* 8000DE90 00009CD0 3B 7B 00 01 */ addi r27, r27, 1
/* 8000DE94 00009CD4 4E 80 04 21 */ bctrl
/* 8000DE98 00009CD8 7C 64 1B 78 */ mr r4, r3
/* 8000DE9C 00009CDC 48 00 00 30 */ b lbl_8000DECC
lbl_8000DEA0:
/* 8000DEA0 00009CE0 2C 04 00 2D */ cmpwi r4, 0x2d
/* 8000DEA4 00009CE4 40 82 00 28 */ bne lbl_8000DECC
/* 8000DEA8 00009CE8 7E 6C 9B 78 */ mr r12, r19
/* 8000DEAC 00009CEC 7E 83 A3 78 */ mr r3, r20
/* 8000DEB0 00009CF0 38 80 00 00 */ li r4, 0
/* 8000DEB4 00009CF4 38 A0 00 00 */ li r5, 0
/* 8000DEB8 00009CF8 7D 89 03 A6 */ mtctr r12
/* 8000DEBC 00009CFC 3B 7B 00 01 */ addi r27, r27, 1
/* 8000DEC0 00009D00 4E 80 04 21 */ bctrl
/* 8000DEC4 00009D04 7C 64 1B 78 */ mr r4, r3
/* 8000DEC8 00009D08 93 D6 00 00 */ stw r30, 0(r22)
lbl_8000DECC:
/* 8000DECC 00009D0C 3B 80 00 02 */ li r28, 2
/* 8000DED0 00009D10 48 00 02 14 */ b lbl_8000E0E4
lbl_8000DED4:
/* 8000DED4 00009D14 2C 11 00 00 */ cmpwi r17, 0
/* 8000DED8 00009D18 41 82 00 0C */ beq lbl_8000DEE4
/* 8000DEDC 00009D1C 2C 11 00 10 */ cmpwi r17, 0x10
/* 8000DEE0 00009D20 40 82 00 34 */ bne lbl_8000DF14
lbl_8000DEE4:
/* 8000DEE4 00009D24 2C 04 00 30 */ cmpwi r4, 0x30
/* 8000DEE8 00009D28 40 82 00 2C */ bne lbl_8000DF14
/* 8000DEEC 00009D2C 7E 6C 9B 78 */ mr r12, r19
/* 8000DEF0 00009D30 7E 83 A3 78 */ mr r3, r20
/* 8000DEF4 00009D34 3B 80 00 04 */ li r28, 4
/* 8000DEF8 00009D38 38 80 00 00 */ li r4, 0
/* 8000DEFC 00009D3C 38 A0 00 00 */ li r5, 0
/* 8000DF00 00009D40 7D 89 03 A6 */ mtctr r12
/* 8000DF04 00009D44 3B 7B 00 01 */ addi r27, r27, 1
/* 8000DF08 00009D48 4E 80 04 21 */ bctrl
/* 8000DF0C 00009D4C 7C 64 1B 78 */ mr r4, r3
/* 8000DF10 00009D50 48 00 01 D4 */ b lbl_8000E0E4
lbl_8000DF14:
/* 8000DF14 00009D54 3B 80 00 08 */ li r28, 8
/* 8000DF18 00009D58 48 00 01 CC */ b lbl_8000E0E4
lbl_8000DF1C:
/* 8000DF1C 00009D5C 2C 04 00 58 */ cmpwi r4, 0x58
/* 8000DF20 00009D60 41 82 00 0C */ beq lbl_8000DF2C
/* 8000DF24 00009D64 2C 04 00 78 */ cmpwi r4, 0x78
/* 8000DF28 00009D68 40 82 00 30 */ bne lbl_8000DF58
lbl_8000DF2C:
/* 8000DF2C 00009D6C 7E 6C 9B 78 */ mr r12, r19
/* 8000DF30 00009D70 7E 83 A3 78 */ mr r3, r20
/* 8000DF34 00009D74 3A 20 00 10 */ li r17, 0x10
/* 8000DF38 00009D78 3B 80 00 08 */ li r28, 8
/* 8000DF3C 00009D7C 38 80 00 00 */ li r4, 0
/* 8000DF40 00009D80 38 A0 00 00 */ li r5, 0
/* 8000DF44 00009D84 7D 89 03 A6 */ mtctr r12
/* 8000DF48 00009D88 3B 7B 00 01 */ addi r27, r27, 1
/* 8000DF4C 00009D8C 4E 80 04 21 */ bctrl
/* 8000DF50 00009D90 7C 64 1B 78 */ mr r4, r3
/* 8000DF54 00009D94 48 00 01 90 */ b lbl_8000E0E4
lbl_8000DF58:
/* 8000DF58 00009D98 2C 11 00 00 */ cmpwi r17, 0
/* 8000DF5C 00009D9C 40 82 00 08 */ bne lbl_8000DF64
/* 8000DF60 00009DA0 3A 20 00 08 */ li r17, 8
lbl_8000DF64:
/* 8000DF64 00009DA4 3B 80 00 10 */ li r28, 0x10
/* 8000DF68 00009DA8 48 00 01 7C */ b lbl_8000E0E4
lbl_8000DF6C:
/* 8000DF6C 00009DAC 2C 11 00 00 */ cmpwi r17, 0
/* 8000DF70 00009DB0 40 82 00 08 */ bne lbl_8000DF78
/* 8000DF74 00009DB4 3A 20 00 0A */ li r17, 0xa
lbl_8000DF78:
/* 8000DF78 00009DB8 2C 18 00 00 */ cmpwi r24, 0
/* 8000DF7C 00009DBC 40 82 00 08 */ bne lbl_8000DF84
/* 8000DF80 00009DC0 7F 1F 8B 96 */ divwu r24, r31, r17
lbl_8000DF84:
/* 8000DF84 00009DC4 28 04 00 FF */ cmplwi r4, 0xff
/* 8000DF88 00009DC8 38 00 00 01 */ li r0, 1
/* 8000DF8C 00009DCC 41 81 00 08 */ bgt lbl_8000DF94
/* 8000DF90 00009DD0 38 00 00 00 */ li r0, 0
lbl_8000DF94:
/* 8000DF94 00009DD4 2C 00 00 00 */ cmpwi r0, 0
/* 8000DF98 00009DD8 41 82 00 0C */ beq lbl_8000DFA4
/* 8000DF9C 00009DDC 38 00 00 00 */ li r0, 0
/* 8000DFA0 00009DE0 48 00 00 18 */ b lbl_8000DFB8
lbl_8000DFA4:
/* 8000DFA4 00009DE4 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 8000DFA8 00009DE8 54 80 08 3C */ slwi r0, r4, 1
/* 8000DFAC 00009DEC 80 63 00 08 */ lwz r3, 8(r3)
/* 8000DFB0 00009DF0 7C 03 02 2E */ lhzx r0, r3, r0
/* 8000DFB4 00009DF4 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_8000DFB8:
/* 8000DFB8 00009DF8 2C 00 00 00 */ cmpwi r0, 0
/* 8000DFBC 00009DFC 41 82 00 28 */ beq lbl_8000DFE4
/* 8000DFC0 00009E00 38 84 FF D0 */ addi r4, r4, -48
/* 8000DFC4 00009E04 7C 04 88 00 */ cmpw r4, r17
/* 8000DFC8 00009E08 41 80 00 D4 */ blt lbl_8000E09C
/* 8000DFCC 00009E0C 2C 1C 00 10 */ cmpwi r28, 0x10
/* 8000DFD0 00009E10 3B 80 00 40 */ li r28, 0x40
/* 8000DFD4 00009E14 40 82 00 08 */ bne lbl_8000DFDC
/* 8000DFD8 00009E18 3B 80 00 20 */ li r28, 0x20
lbl_8000DFDC:
/* 8000DFDC 00009E1C 38 84 00 30 */ addi r4, r4, 0x30
/* 8000DFE0 00009E20 48 00 01 04 */ b lbl_8000E0E4
lbl_8000DFE4:
/* 8000DFE4 00009E24 28 04 00 FF */ cmplwi r4, 0xff
/* 8000DFE8 00009E28 38 00 00 01 */ li r0, 1
/* 8000DFEC 00009E2C 41 81 00 08 */ bgt lbl_8000DFF4
/* 8000DFF0 00009E30 38 00 00 00 */ li r0, 0
lbl_8000DFF4:
/* 8000DFF4 00009E34 2C 00 00 00 */ cmpwi r0, 0
/* 8000DFF8 00009E38 41 82 00 0C */ beq lbl_8000E004
/* 8000DFFC 00009E3C 38 00 00 00 */ li r0, 0
/* 8000E000 00009E40 48 00 00 18 */ b lbl_8000E018
lbl_8000E004:
/* 8000E004 00009E44 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 8000E008 00009E48 54 80 08 3C */ slwi r0, r4, 1
/* 8000E00C 00009E4C 80 63 00 08 */ lwz r3, 8(r3)
/* 8000E010 00009E50 7C 03 02 2E */ lhzx r0, r3, r0
/* 8000E014 00009E54 54 00 07 FE */ clrlwi r0, r0, 0x1f
lbl_8000E018:
/* 8000E018 00009E58 2C 00 00 00 */ cmpwi r0, 0
/* 8000E01C 00009E5C 41 82 00 3C */ beq lbl_8000E058
/* 8000E020 00009E60 28 04 00 FF */ cmplwi r4, 0xff
/* 8000E024 00009E64 38 00 00 01 */ li r0, 1
/* 8000E028 00009E68 41 81 00 08 */ bgt lbl_8000E030
/* 8000E02C 00009E6C 38 00 00 00 */ li r0, 0
lbl_8000E030:
/* 8000E030 00009E70 2C 00 00 00 */ cmpwi r0, 0
/* 8000E034 00009E74 41 82 00 0C */ beq lbl_8000E040
/* 8000E038 00009E78 7C 83 23 78 */ mr r3, r4
/* 8000E03C 00009E7C 48 00 00 10 */ b lbl_8000E04C
lbl_8000E040:
/* 8000E040 00009E80 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 8000E044 00009E84 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8000E048 00009E88 7C 63 20 AE */ lbzx r3, r3, r4
lbl_8000E04C:
/* 8000E04C 00009E8C 38 03 FF C9 */ addi r0, r3, -55
/* 8000E050 00009E90 7C 00 88 00 */ cmpw r0, r17
/* 8000E054 00009E94 41 80 00 1C */ blt lbl_8000E070
lbl_8000E058:
/* 8000E058 00009E98 2C 1C 00 10 */ cmpwi r28, 0x10
/* 8000E05C 00009E9C 40 82 00 0C */ bne lbl_8000E068
/* 8000E060 00009EA0 3B 80 00 20 */ li r28, 0x20
/* 8000E064 00009EA4 48 00 00 80 */ b lbl_8000E0E4
lbl_8000E068:
/* 8000E068 00009EA8 3B 80 00 40 */ li r28, 0x40
/* 8000E06C 00009EAC 48 00 00 78 */ b lbl_8000E0E4
lbl_8000E070:
/* 8000E070 00009EB0 28 04 00 FF */ cmplwi r4, 0xff
/* 8000E074 00009EB4 38 00 00 01 */ li r0, 1
/* 8000E078 00009EB8 41 81 00 08 */ bgt lbl_8000E080
/* 8000E07C 00009EBC 38 00 00 00 */ li r0, 0
lbl_8000E080:
/* 8000E080 00009EC0 2C 00 00 00 */ cmpwi r0, 0
/* 8000E084 00009EC4 41 82 00 08 */ beq lbl_8000E08C
/* 8000E088 00009EC8 48 00 00 10 */ b lbl_8000E098
lbl_8000E08C:
/* 8000E08C 00009ECC 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 8000E090 00009ED0 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8000E094 00009ED4 7C 83 20 AE */ lbzx r4, r3, r4
lbl_8000E098:
/* 8000E098 00009ED8 38 84 FF C9 */ addi r4, r4, -55
lbl_8000E09C:
/* 8000E09C 00009EDC 7C 19 C0 40 */ cmplw r25, r24
/* 8000E0A0 00009EE0 40 81 00 08 */ ble lbl_8000E0A8
/* 8000E0A4 00009EE4 93 D7 00 00 */ stw r30, 0(r23)
lbl_8000E0A8:
/* 8000E0A8 00009EE8 7F 39 89 D6 */ mullw r25, r25, r17
/* 8000E0AC 00009EEC 20 19 FF FF */ subfic r0, r25, -1
/* 8000E0B0 00009EF0 7C 04 00 40 */ cmplw r4, r0
/* 8000E0B4 00009EF4 40 81 00 08 */ ble lbl_8000E0BC
/* 8000E0B8 00009EF8 93 D7 00 00 */ stw r30, 0(r23)
lbl_8000E0BC:
/* 8000E0BC 00009EFC 7E 6C 9B 78 */ mr r12, r19
/* 8000E0C0 00009F00 7F 39 22 14 */ add r25, r25, r4
/* 8000E0C4 00009F04 7E 83 A3 78 */ mr r3, r20
/* 8000E0C8 00009F08 3B 80 00 10 */ li r28, 0x10
/* 8000E0CC 00009F0C 38 80 00 00 */ li r4, 0
/* 8000E0D0 00009F10 38 A0 00 00 */ li r5, 0
/* 8000E0D4 00009F14 7D 89 03 A6 */ mtctr r12
/* 8000E0D8 00009F18 3B 7B 00 01 */ addi r27, r27, 1
/* 8000E0DC 00009F1C 4E 80 04 21 */ bctrl
/* 8000E0E0 00009F20 7C 64 1B 78 */ mr r4, r3
lbl_8000E0E4:
/* 8000E0E4 00009F24 7C 1B 90 00 */ cmpw r27, r18
/* 8000E0E8 00009F28 41 81 00 14 */ bgt lbl_8000E0FC
/* 8000E0EC 00009F2C 2C 04 FF FF */ cmpwi r4, -1
/* 8000E0F0 00009F30 41 82 00 0C */ beq lbl_8000E0FC
/* 8000E0F4 00009F34 57 80 06 75 */ rlwinm. r0, r28, 0, 0x19, 0x1a
/* 8000E0F8 00009F38 41 82 FC F0 */ beq lbl_8000DDE8
lbl_8000E0FC:
/* 8000E0FC 00009F3C 73 80 00 34 */ andi. r0, r28, 0x34
/* 8000E100 00009F40 40 82 00 10 */ bne lbl_8000E110
/* 8000E104 00009F44 3B 20 00 00 */ li r25, 0
/* 8000E108 00009F48 93 35 00 00 */ stw r25, 0(r21)
/* 8000E10C 00009F4C 48 00 00 10 */ b lbl_8000E11C
lbl_8000E110:
/* 8000E110 00009F50 7C 7B D2 14 */ add r3, r27, r26
/* 8000E114 00009F54 38 03 FF FF */ addi r0, r3, -1
/* 8000E118 00009F58 90 15 00 00 */ stw r0, 0(r21)
lbl_8000E11C:
/* 8000E11C 00009F5C 7E 6C 9B 78 */ mr r12, r19
/* 8000E120 00009F60 7E 83 A3 78 */ mr r3, r20
/* 8000E124 00009F64 38 A0 00 01 */ li r5, 1
/* 8000E128 00009F68 7D 89 03 A6 */ mtctr r12
/* 8000E12C 00009F6C 4E 80 04 21 */ bctrl
/* 8000E130 00009F70 7F 23 CB 78 */ mr r3, r25
/* 8000E134 00009F74 BA 21 00 14 */ lmw r17, 0x14(r1)
/* 8000E138 00009F78 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8000E13C 00009F7C 7C 08 03 A6 */ mtlr r0
/* 8000E140 00009F80 38 21 00 50 */ addi r1, r1, 0x50
/* 8000E144 00009F84 4E 80 00 20 */ blr
.global atoi
atoi:
/* 8000E148 00009F88 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8000E14C 00009F8C 7C 08 02 A6 */ mflr r0
/* 8000E150 00009F90 3C A0 80 01 */ lis r5, __StringRead@ha
/* 8000E154 00009F94 90 01 00 34 */ stw r0, 0x34(r1)
/* 8000E158 00009F98 38 00 00 00 */ li r0, 0
/* 8000E15C 00009F9C 38 A5 D8 90 */ addi r5, r5, __StringRead@l
/* 8000E160 00009FA0 38 C1 00 18 */ addi r6, r1, 0x18
/* 8000E164 00009FA4 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8000E168 00009FA8 3F E0 80 00 */ lis r31, 0x7FFFFFFF@ha
/* 8000E16C 00009FAC 38 9F FF FF */ addi r4, r31, 0x7FFFFFFF@l
/* 8000E170 00009FB0 38 E1 00 08 */ addi r7, r1, 8
/* 8000E174 00009FB4 90 61 00 18 */ stw r3, 0x18(r1)
/* 8000E178 00009FB8 39 01 00 0C */ addi r8, r1, 0xc
/* 8000E17C 00009FBC 39 21 00 10 */ addi r9, r1, 0x10
/* 8000E180 00009FC0 38 60 00 0A */ li r3, 0xa
/* 8000E184 00009FC4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8000E188 00009FC8 4B FF FB AD */ bl __strtoul
/* 8000E18C 00009FCC 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8000E190 00009FD0 2C 00 00 00 */ cmpwi r0, 0
/* 8000E194 00009FD4 40 82 00 30 */ bne lbl_8000E1C4
/* 8000E198 00009FD8 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8000E19C 00009FDC 2C 04 00 00 */ cmpwi r4, 0
/* 8000E1A0 00009FE0 40 82 00 10 */ bne lbl_8000E1B0
/* 8000E1A4 00009FE4 38 1F FF FF */ addi r0, r31, -1
/* 8000E1A8 00009FE8 7C 03 00 40 */ cmplw r3, r0
/* 8000E1AC 00009FEC 41 81 00 18 */ bgt lbl_8000E1C4
lbl_8000E1B0:
/* 8000E1B0 00009FF0 2C 04 00 00 */ cmpwi r4, 0
/* 8000E1B4 00009FF4 41 82 00 38 */ beq lbl_8000E1EC
/* 8000E1B8 00009FF8 3C 00 80 00 */ lis r0, 0x8000
/* 8000E1BC 00009FFC 7C 03 00 40 */ cmplw r3, r0
/* 8000E1C0 0000A000 40 81 00 2C */ ble lbl_8000E1EC
lbl_8000E1C4:
/* 8000E1C4 0000A004 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 8000E1C8 0000A008 38 00 00 22 */ li r0, 0x22
/* 8000E1CC 0000A00C 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
/* 8000E1D0 0000A010 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 8000E1D4 0000A014 7C 85 00 D0 */ neg r4, r5
/* 8000E1D8 0000A018 38 03 FF FF */ addi r0, r3, 0x7FFFFFFF@l
/* 8000E1DC 0000A01C 7C 83 2B 78 */ or r3, r4, r5
/* 8000E1E0 0000A020 54 63 0F FE */ srwi r3, r3, 0x1f
/* 8000E1E4 0000A024 7C 63 02 14 */ add r3, r3, r0
/* 8000E1E8 0000A028 48 00 00 10 */ b lbl_8000E1F8
lbl_8000E1EC:
/* 8000E1EC 0000A02C 2C 04 00 00 */ cmpwi r4, 0
/* 8000E1F0 0000A030 41 82 00 08 */ beq lbl_8000E1F8
/* 8000E1F4 0000A034 7C 63 00 D0 */ neg r3, r3
lbl_8000E1F8:
/* 8000E1F8 0000A038 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8000E1FC 0000A03C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8000E200 0000A040 7C 08 03 A6 */ mtlr r0
/* 8000E204 0000A044 38 21 00 30 */ addi r1, r1, 0x30
/* 8000E208 0000A048 4E 80 00 20 */ blr

View file

@ -0,0 +1,42 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global fwide
fwide:
/* 800103DC 0000C21C 2C 03 00 00 */ cmpwi r3, 0
/* 800103E0 0000C220 41 82 00 10 */ beq lbl_800103F0
/* 800103E4 0000C224 80 A3 00 04 */ lwz r5, 4(r3)
/* 800103E8 0000C228 54 A0 57 7F */ rlwinm. r0, r5, 0xa, 0x1d, 0x1f
/* 800103EC 0000C22C 40 82 00 0C */ bne lbl_800103F8
lbl_800103F0:
/* 800103F0 0000C230 38 60 00 00 */ li r3, 0
/* 800103F4 0000C234 4E 80 00 20 */ blr
lbl_800103F8:
/* 800103F8 0000C238 54 A0 67 BF */ rlwinm. r0, r5, 0xc, 0x1e, 0x1f
/* 800103FC 0000C23C 41 82 00 18 */ beq lbl_80010414
/* 80010400 0000C240 2C 00 00 02 */ cmpwi r0, 2
/* 80010404 0000C244 41 82 00 3C */ beq lbl_80010440
/* 80010408 0000C248 2C 00 00 01 */ cmpwi r0, 1
/* 8001040C 0000C24C 41 82 00 3C */ beq lbl_80010448
/* 80010410 0000C250 48 00 00 3C */ b lbl_8001044C
lbl_80010414:
/* 80010414 0000C254 2C 04 00 00 */ cmpwi r4, 0
/* 80010418 0000C258 40 81 00 14 */ ble lbl_8001042C
/* 8001041C 0000C25C 38 00 00 02 */ li r0, 2
/* 80010420 0000C260 50 05 A2 96 */ rlwimi r5, r0, 0x14, 0xa, 0xb
/* 80010424 0000C264 90 A3 00 04 */ stw r5, 4(r3)
/* 80010428 0000C268 48 00 00 24 */ b lbl_8001044C
lbl_8001042C:
/* 8001042C 0000C26C 40 80 00 20 */ bge lbl_8001044C
/* 80010430 0000C270 38 00 00 01 */ li r0, 1
/* 80010434 0000C274 50 05 A2 96 */ rlwimi r5, r0, 0x14, 0xa, 0xb
/* 80010438 0000C278 90 A3 00 04 */ stw r5, 4(r3)
/* 8001043C 0000C27C 48 00 00 10 */ b lbl_8001044C
lbl_80010440:
/* 80010440 0000C280 38 80 00 01 */ li r4, 1
/* 80010444 0000C284 48 00 00 08 */ b lbl_8001044C
lbl_80010448:
/* 80010448 0000C288 38 80 FF FF */ li r4, -1
lbl_8001044C:
/* 8001044C 0000C28C 7C 83 23 78 */ mr r3, r4
/* 80010450 0000C290 4E 80 00 20 */ blr

View file

@ -1,9 +1,8 @@
.include "macros.inc"
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global __wctype_mapC
__wctype_mapC:
.4byte 0x00040004
.4byte 0x00040004
.4byte 0x00040004
@ -132,10 +131,8 @@ __wctype_mapC:
.4byte 0
.4byte 0
.4byte 0
.global __wlower_mapC
__wlower_mapC:
.4byte 0x00000001
.4byte 0x00020003
.4byte 0x00040005
@ -264,10 +261,8 @@ __wlower_mapC:
.4byte 0x00FA00FB
.4byte 0x00FC00FD
.4byte 0x00FE00FF
.global __wupper_mapC
__wupper_mapC:
.4byte 0x00000001
.4byte 0x00020003
.4byte 0x00040005

View file

@ -0,0 +1,22 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global wmemcpy
wmemcpy:
/* 8000E20C 0000A04C 54 A5 08 3C */ slwi r5, r5, 1
/* 8000E210 0000A050 4B FF 5D F0 */ b memcpy
.global wmemchr
wmemchr:
/* 8000E214 0000A054 7C A9 03 A6 */ mtctr r5
/* 8000E218 0000A058 2C 05 00 00 */ cmpwi r5, 0
/* 8000E21C 0000A05C 41 82 00 18 */ beq lbl_8000E234
lbl_8000E220:
/* 8000E220 0000A060 A0 03 00 00 */ lhz r0, 0(r3)
/* 8000E224 0000A064 7C 00 20 40 */ cmplw r0, r4
/* 8000E228 0000A068 4D 82 00 20 */ beqlr
/* 8000E22C 0000A06C 38 63 00 02 */ addi r3, r3, 2
/* 8000E230 0000A070 42 00 FF F0 */ bdnz lbl_8000E220
lbl_8000E234:
/* 8000E234 0000A074 38 60 00 00 */ li r3, 0
/* 8000E238 0000A078 4E 80 00 20 */ blr

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,64 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global wcslen
wcslen:
/* 80010334 0000C174 38 83 FF FE */ addi r4, r3, -2
/* 80010338 0000C178 38 60 FF FF */ li r3, -1
lbl_8001033C:
/* 8001033C 0000C17C A4 04 00 02 */ lhzu r0, 2(r4)
/* 80010340 0000C180 38 63 00 01 */ addi r3, r3, 1
/* 80010344 0000C184 2C 00 00 00 */ cmpwi r0, 0
/* 80010348 0000C188 40 82 FF F4 */ bne lbl_8001033C
/* 8001034C 0000C18C 4E 80 00 20 */ blr
.global wcscpy
wcscpy:
/* 80010350 0000C190 38 84 FF FE */ addi r4, r4, -2
/* 80010354 0000C194 38 A3 FF FE */ addi r5, r3, -2
lbl_80010358:
/* 80010358 0000C198 A4 04 00 02 */ lhzu r0, 2(r4)
/* 8001035C 0000C19C B4 05 00 02 */ sthu r0, 2(r5)
/* 80010360 0000C1A0 2C 00 00 00 */ cmpwi r0, 0
/* 80010364 0000C1A4 40 82 FF F4 */ bne lbl_80010358
/* 80010368 0000C1A8 4E 80 00 20 */ blr
.global wcsncpy
wcsncpy:
/* 8001036C 0000C1AC 38 84 FF FE */ addi r4, r4, -2
/* 80010370 0000C1B0 38 C3 FF FE */ addi r6, r3, -2
/* 80010374 0000C1B4 38 A5 00 01 */ addi r5, r5, 1
/* 80010378 0000C1B8 48 00 00 2C */ b lbl_800103A4
lbl_8001037C:
/* 8001037C 0000C1BC A4 04 00 02 */ lhzu r0, 2(r4)
/* 80010380 0000C1C0 B4 06 00 02 */ sthu r0, 2(r6)
/* 80010384 0000C1C4 2C 00 00 00 */ cmpwi r0, 0
/* 80010388 0000C1C8 40 82 00 1C */ bne lbl_800103A4
/* 8001038C 0000C1CC 38 00 00 00 */ li r0, 0
/* 80010390 0000C1D0 48 00 00 08 */ b lbl_80010398
lbl_80010394:
/* 80010394 0000C1D4 B4 06 00 02 */ sthu r0, 2(r6)
lbl_80010398:
/* 80010398 0000C1D8 34 A5 FF FF */ addic. r5, r5, -1
/* 8001039C 0000C1DC 40 82 FF F8 */ bne lbl_80010394
/* 800103A0 0000C1E0 4E 80 00 20 */ blr
lbl_800103A4:
/* 800103A4 0000C1E4 34 A5 FF FF */ addic. r5, r5, -1
/* 800103A8 0000C1E8 40 82 FF D4 */ bne lbl_8001037C
/* 800103AC 0000C1EC 4E 80 00 20 */ blr
.global wcschr
wcschr:
/* 800103B0 0000C1F0 38 63 FF FE */ addi r3, r3, -2
/* 800103B4 0000C1F4 48 00 00 0C */ b lbl_800103C0
lbl_800103B8:
/* 800103B8 0000C1F8 7C 00 20 40 */ cmplw r0, r4
/* 800103BC 0000C1FC 4D 82 00 20 */ beqlr
lbl_800103C0:
/* 800103C0 0000C200 A4 03 00 02 */ lhzu r0, 2(r3)
/* 800103C4 0000C204 2C 00 00 00 */ cmpwi r0, 0
/* 800103C8 0000C208 40 82 FF F0 */ bne lbl_800103B8
/* 800103CC 0000C20C 2C 04 00 00 */ cmpwi r4, 0
/* 800103D0 0000C210 4D 82 00 20 */ beqlr
/* 800103D4 0000C214 38 60 00 00 */ li r3, 0
/* 800103D8 0000C218 4E 80 00 20 */ blr

View file

@ -1,18 +1,18 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __ieee754_acos
__ieee754_acos:
/* 80010620 0000C460 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80010624 0000C464 7C 08 02 A6 */ mflr r0
/* 80010628 0000C468 90 01 00 44 */ stw r0, 0x44(r1)
/* 8001062C 0000C46C DB E1 00 30 */ stfd f31, 0x30(r1)
/* 80010630 0000C470 F3 E1 00 38 */ psq_st f31, 0x38(r1), 0, qr0
/* 80010630 0000C470 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 80010634 0000C474 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 80010638 0000C478 F3 C1 00 28 */ psq_st f30, 0x28(r1), 0, qr0
/* 8001063C 0000C47C D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80010638 0000C478 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 8001063C 0000C47C D8 21 00 08 */ stfd f1, 8(r1)
/* 80010640 0000C480 3C 00 3F F0 */ lis r0, 0x3ff0
/* 80010644 0000C484 80 81 00 08 */ lwz r4, 0x8(r1)
/* 80010644 0000C484 80 81 00 08 */ lwz r4, 8(r1)
/* 80010648 0000C488 54 83 00 7E */ clrlwi r3, r4, 1
/* 8001064C 0000C48C 7C 03 00 00 */ cmpw r3, r0
/* 80010650 0000C490 41 80 00 40 */ blt lbl_80010690
@ -20,22 +20,19 @@ __ieee754_acos:
/* 80010658 0000C498 3C 63 C0 10 */ addis r3, r3, 0xc010
/* 8001065C 0000C49C 7C 60 03 79 */ or. r0, r3, r0
/* 80010660 0000C4A0 40 82 00 1C */ bne lbl_8001067C
/* 80010664 0000C4A4 2C 04 00 00 */ cmpwi r4, 0x0
/* 80010664 0000C4A4 2C 04 00 00 */ cmpwi r4, 0
/* 80010668 0000C4A8 40 81 00 0C */ ble lbl_80010674
/* 8001066C 0000C4AC C8 22 80 30 */ lfd f1, "@505"@sda21(r2)
/* 8001066C 0000C4AC C8 22 80 30 */ lfd f1, $$2505-_SDA2_BASE_(r2)
/* 80010670 0000C4B0 48 00 02 5C */ b lbl_800108CC
.global lbl_80010674
lbl_80010674:
/* 80010674 0000C4B4 C8 22 80 38 */ lfd f1, "@506"@sda21(r2)
/* 80010674 0000C4B4 C8 22 80 38 */ lfd f1, $$2506-_SDA2_BASE_(r2)
/* 80010678 0000C4B8 48 00 02 54 */ b lbl_800108CC
.global lbl_8001067C
lbl_8001067C:
/* 8001067C 0000C4BC 3C 60 80 55 */ lis r3, __float_nan@ha
/* 80010680 0000C4C0 38 00 00 21 */ li r0, 0x21
/* 80010684 0000C4C4 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 80010684 0000C4C4 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 80010688 0000C4C8 C0 23 64 48 */ lfs f1, __float_nan@l(r3)
/* 8001068C 0000C4CC 48 00 02 40 */ b lbl_800108CC
.global lbl_80010690
lbl_80010690:
/* 80010690 0000C4D0 3C 00 3F E0 */ lis r0, 0x3fe0
/* 80010694 0000C4D4 7C 03 00 00 */ cmpw r3, r0
@ -43,31 +40,30 @@ lbl_80010690:
/* 8001069C 0000C4DC 3C 00 3C 60 */ lis r0, 0x3c60
/* 800106A0 0000C4E0 7C 03 00 00 */ cmpw r3, r0
/* 800106A4 0000C4E4 41 81 00 0C */ bgt lbl_800106B0
/* 800106A8 0000C4E8 C8 22 80 40 */ lfd f1, "@507"@sda21(r2)
/* 800106A8 0000C4E8 C8 22 80 40 */ lfd f1, $$2507-_SDA2_BASE_(r2)
/* 800106AC 0000C4EC 48 00 02 20 */ b lbl_800108CC
.global lbl_800106B0
lbl_800106B0:
/* 800106B0 0000C4F0 FD 81 00 72 */ fmul f12, f1, f1
/* 800106B4 0000C4F4 C8 02 80 70 */ lfd f0, "@513_8055DFF0"@sda21(r2)
/* 800106B8 0000C4F8 C8 42 80 98 */ lfd f2, "@518_8055E018"@sda21(r2)
/* 800106BC 0000C4FC C8 62 80 68 */ lfd f3, "@512_8055DFE8"@sda21(r2)
/* 800106C0 0000C500 C9 42 80 60 */ lfd f10, "@511"@sda21(r2)
/* 800106B4 0000C4F4 C8 02 80 70 */ lfd f0, $$2513-_SDA2_BASE_(r2)
/* 800106B8 0000C4F8 C8 42 80 98 */ lfd f2, $$2518-_SDA2_BASE_(r2)
/* 800106BC 0000C4FC C8 62 80 68 */ lfd f3, $$2512-_SDA2_BASE_(r2)
/* 800106C0 0000C500 C9 42 80 60 */ lfd f10, $$2511-_SDA2_BASE_(r2)
/* 800106C4 0000C504 FC 80 03 32 */ fmul f4, f0, f12
/* 800106C8 0000C508 C8 02 80 90 */ lfd f0, "@517_8055E010"@sda21(r2)
/* 800106C8 0000C508 C8 02 80 90 */ lfd f0, $$2517-_SDA2_BASE_(r2)
/* 800106CC 0000C50C FC 42 03 32 */ fmul f2, f2, f12
/* 800106D0 0000C510 C8 A2 80 88 */ lfd f5, "@516_8055E008"@sda21(r2)
/* 800106D4 0000C514 C9 22 80 58 */ lfd f9, "@510"@sda21(r2)
/* 800106D0 0000C510 C8 A2 80 88 */ lfd f5, $$2516-_SDA2_BASE_(r2)
/* 800106D4 0000C514 C9 22 80 58 */ lfd f9, $$2510-_SDA2_BASE_(r2)
/* 800106D8 0000C518 FC 63 20 2A */ fadd f3, f3, f4
/* 800106DC 0000C51C C8 82 80 80 */ lfd f4, "@515_8055E000"@sda21(r2)
/* 800106DC 0000C51C C8 82 80 80 */ lfd f4, $$2515-_SDA2_BASE_(r2)
/* 800106E0 0000C520 FC 00 10 2A */ fadd f0, f0, f2
/* 800106E4 0000C524 FD 6C 00 F2 */ fmul f11, f12, f3
/* 800106E8 0000C528 C9 02 80 50 */ lfd f8, "@509"@sda21(r2)
/* 800106EC 0000C52C C8 62 80 78 */ lfd f3, "@514_8055DFF8"@sda21(r2)
/* 800106E8 0000C528 C9 02 80 50 */ lfd f8, $$2509-_SDA2_BASE_(r2)
/* 800106EC 0000C52C C8 62 80 78 */ lfd f3, $$2514-_SDA2_BASE_(r2)
/* 800106F0 0000C530 FC CC 00 32 */ fmul f6, f12, f0
/* 800106F4 0000C534 C8 E2 80 48 */ lfd f7, "@508"@sda21(r2)
/* 800106F8 0000C538 C8 42 80 A0 */ lfd f2, "@519_8055E020"@sda21(r2)
/* 800106F4 0000C534 C8 E2 80 48 */ lfd f7, $$2508-_SDA2_BASE_(r2)
/* 800106F8 0000C538 C8 42 80 A0 */ lfd f2, $$2519-_SDA2_BASE_(r2)
/* 800106FC 0000C53C FD 4A 58 2A */ fadd f10, f10, f11
/* 80010700 0000C540 C8 02 80 40 */ lfd f0, "@507"@sda21(r2)
/* 80010700 0000C540 C8 02 80 40 */ lfd f0, $$2507-_SDA2_BASE_(r2)
/* 80010704 0000C544 FC A5 30 2A */ fadd f5, f5, f6
/* 80010708 0000C548 FC CC 02 B2 */ fmul f6, f12, f10
/* 8001070C 0000C54C FC AC 01 72 */ fmul f5, f12, f5
@ -86,26 +82,25 @@ lbl_800106B0:
/* 80010740 0000C580 FC 21 10 28 */ fsub f1, f1, f2
/* 80010744 0000C584 FC 20 08 28 */ fsub f1, f0, f1
/* 80010748 0000C588 48 00 01 84 */ b lbl_800108CC
.global lbl_8001074C
lbl_8001074C:
/* 8001074C 0000C58C 2C 04 00 00 */ cmpwi r4, 0x0
/* 8001074C 0000C58C 2C 04 00 00 */ cmpwi r4, 0
/* 80010750 0000C590 40 80 00 B4 */ bge lbl_80010804
/* 80010754 0000C594 C9 62 80 78 */ lfd f11, "@514_8055DFF8"@sda21(r2)
/* 80010758 0000C598 C8 02 80 A8 */ lfd f0, "@520_8055E028"@sda21(r2)
/* 80010754 0000C594 C9 62 80 78 */ lfd f11, $$2514-_SDA2_BASE_(r2)
/* 80010758 0000C598 C8 02 80 A8 */ lfd f0, $$2520-_SDA2_BASE_(r2)
/* 8001075C 0000C59C FC 2B 08 2A */ fadd f1, f11, f1
/* 80010760 0000C5A0 C8 82 80 70 */ lfd f4, "@513_8055DFF0"@sda21(r2)
/* 80010764 0000C5A4 C9 22 80 68 */ lfd f9, "@512_8055DFE8"@sda21(r2)
/* 80010768 0000C5A8 C8 62 80 90 */ lfd f3, "@517_8055E010"@sda21(r2)
/* 80010760 0000C5A0 C8 82 80 70 */ lfd f4, $$2513-_SDA2_BASE_(r2)
/* 80010764 0000C5A4 C9 22 80 68 */ lfd f9, $$2512-_SDA2_BASE_(r2)
/* 80010768 0000C5A8 C8 62 80 90 */ lfd f3, $$2517-_SDA2_BASE_(r2)
/* 8001076C 0000C5AC FC 20 00 72 */ fmul f1, f0, f1
/* 80010770 0000C5B0 C8 02 80 98 */ lfd f0, "@518_8055E018"@sda21(r2)
/* 80010774 0000C5B4 C9 02 80 60 */ lfd f8, "@511"@sda21(r2)
/* 80010778 0000C5B8 C8 42 80 88 */ lfd f2, "@516_8055E008"@sda21(r2)
/* 8001077C 0000C5BC C8 E2 80 58 */ lfd f7, "@510"@sda21(r2)
/* 80010770 0000C5B0 C8 02 80 98 */ lfd f0, $$2518-_SDA2_BASE_(r2)
/* 80010774 0000C5B4 C9 02 80 60 */ lfd f8, $$2511-_SDA2_BASE_(r2)
/* 80010778 0000C5B8 C8 42 80 88 */ lfd f2, $$2516-_SDA2_BASE_(r2)
/* 8001077C 0000C5BC C8 E2 80 58 */ lfd f7, $$2510-_SDA2_BASE_(r2)
/* 80010780 0000C5C0 FD 44 00 72 */ fmul f10, f4, f1
/* 80010784 0000C5C4 C8 C2 80 50 */ lfd f6, "@509"@sda21(r2)
/* 80010784 0000C5C4 C8 C2 80 50 */ lfd f6, $$2509-_SDA2_BASE_(r2)
/* 80010788 0000C5C8 FC 80 00 72 */ fmul f4, f0, f1
/* 8001078C 0000C5CC C8 02 80 80 */ lfd f0, "@515_8055E000"@sda21(r2)
/* 80010790 0000C5D0 C8 A2 80 48 */ lfd f5, "@508"@sda21(r2)
/* 8001078C 0000C5CC C8 02 80 80 */ lfd f0, $$2515-_SDA2_BASE_(r2)
/* 80010790 0000C5D0 C8 A2 80 48 */ lfd f5, $$2508-_SDA2_BASE_(r2)
/* 80010794 0000C5D4 FD 29 50 2A */ fadd f9, f9, f10
/* 80010798 0000C5D8 FC 63 20 2A */ fadd f3, f3, f4
/* 8001079C 0000C5DC FC 81 02 72 */ fmul f4, f1, f9
@ -125,49 +120,48 @@ lbl_8001074C:
/* 800107D4 0000C614 FF E1 00 32 */ fmul f31, f1, f0
/* 800107D8 0000C618 48 00 40 11 */ bl sqrt
/* 800107DC 0000C61C FC 9F F0 24 */ fdiv f4, f31, f30
/* 800107E0 0000C620 C8 62 80 A0 */ lfd f3, "@519_8055E020"@sda21(r2)
/* 800107E4 0000C624 C8 42 80 B0 */ lfd f2, "@521_8055E030"@sda21(r2)
/* 800107E8 0000C628 C8 02 80 38 */ lfd f0, "@506"@sda21(r2)
/* 800107E0 0000C620 C8 62 80 A0 */ lfd f3, $$2519-_SDA2_BASE_(r2)
/* 800107E4 0000C624 C8 42 80 B0 */ lfd f2, $$2521-_SDA2_BASE_(r2)
/* 800107E8 0000C628 C8 02 80 38 */ lfd f0, $$2506-_SDA2_BASE_(r2)
/* 800107EC 0000C62C FC 84 00 72 */ fmul f4, f4, f1
/* 800107F0 0000C630 FC 64 18 28 */ fsub f3, f4, f3
/* 800107F4 0000C634 FC 21 18 2A */ fadd f1, f1, f3
/* 800107F8 0000C638 FC 22 00 72 */ fmul f1, f2, f1
/* 800107FC 0000C63C FC 20 08 28 */ fsub f1, f0, f1
/* 80010800 0000C640 48 00 00 CC */ b lbl_800108CC
.global lbl_80010804
lbl_80010804:
/* 80010804 0000C644 C8 42 80 78 */ lfd f2, "@514_8055DFF8"@sda21(r2)
/* 80010808 0000C648 C8 02 80 A8 */ lfd f0, "@520_8055E028"@sda21(r2)
/* 80010804 0000C644 C8 42 80 78 */ lfd f2, $$2514-_SDA2_BASE_(r2)
/* 80010808 0000C648 C8 02 80 A8 */ lfd f0, $$2520-_SDA2_BASE_(r2)
/* 8001080C 0000C64C FC 22 08 28 */ fsub f1, f2, f1
/* 80010810 0000C650 FF E0 00 72 */ fmul f31, f0, f1
/* 80010814 0000C654 FC 20 F8 90 */ fmr f1, f31
/* 80010818 0000C658 48 00 3F D1 */ bl sqrt
/* 8001081C 0000C65C C8 42 80 70 */ lfd f2, "@513_8055DFF0"@sda21(r2)
/* 80010820 0000C660 38 00 00 00 */ li r0, 0x0
/* 8001081C 0000C65C C8 42 80 70 */ lfd f2, $$2513-_SDA2_BASE_(r2)
/* 80010820 0000C660 38 00 00 00 */ li r0, 0
/* 80010824 0000C664 D8 21 00 10 */ stfd f1, 0x10(r1)
/* 80010828 0000C668 FC 82 07 F2 */ fmul f4, f2, f31
/* 8001082C 0000C66C C8 02 80 98 */ lfd f0, "@518_8055E018"@sda21(r2)
/* 80010830 0000C670 C8 62 80 68 */ lfd f3, "@512_8055DFE8"@sda21(r2)
/* 8001082C 0000C66C C8 02 80 98 */ lfd f0, $$2518-_SDA2_BASE_(r2)
/* 80010830 0000C670 C8 62 80 68 */ lfd f3, $$2512-_SDA2_BASE_(r2)
/* 80010834 0000C674 FC 40 07 F2 */ fmul f2, f0, f31
/* 80010838 0000C678 C8 02 80 90 */ lfd f0, "@517_8055E010"@sda21(r2)
/* 80010838 0000C678 C8 02 80 90 */ lfd f0, $$2517-_SDA2_BASE_(r2)
/* 8001083C 0000C67C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80010840 0000C680 FC 63 20 2A */ fadd f3, f3, f4
/* 80010844 0000C684 C9 61 00 10 */ lfd f11, 0x10(r1)
/* 80010848 0000C688 FC 00 10 2A */ fadd f0, f0, f2
/* 8001084C 0000C68C FD 4B 02 F2 */ fmul f10, f11, f11
/* 80010850 0000C690 C8 C2 80 60 */ lfd f6, "@511"@sda21(r2)
/* 80010854 0000C694 C9 02 80 58 */ lfd f8, "@510"@sda21(r2)
/* 80010850 0000C690 C8 C2 80 60 */ lfd f6, $$2511-_SDA2_BASE_(r2)
/* 80010854 0000C694 C9 02 80 58 */ lfd f8, $$2510-_SDA2_BASE_(r2)
/* 80010858 0000C698 FC 5F 00 F2 */ fmul f2, f31, f3
/* 8001085C 0000C69C C8 82 80 88 */ lfd f4, "@516_8055E008"@sda21(r2)
/* 80010860 0000C6A0 C8 E2 80 50 */ lfd f7, "@509"@sda21(r2)
/* 8001085C 0000C69C C8 82 80 88 */ lfd f4, $$2516-_SDA2_BASE_(r2)
/* 80010860 0000C6A0 C8 E2 80 50 */ lfd f7, $$2509-_SDA2_BASE_(r2)
/* 80010864 0000C6A4 FC BF 00 32 */ fmul f5, f31, f0
/* 80010868 0000C6A8 C8 62 80 80 */ lfd f3, "@515_8055E000"@sda21(r2)
/* 80010868 0000C6A8 C8 62 80 80 */ lfd f3, $$2515-_SDA2_BASE_(r2)
/* 8001086C 0000C6AC FC 06 10 2A */ fadd f0, f6, f2
/* 80010870 0000C6B0 C8 C2 80 48 */ lfd f6, "@508"@sda21(r2)
/* 80010874 0000C6B4 C8 42 80 78 */ lfd f2, "@514_8055DFF8"@sda21(r2)
/* 80010870 0000C6B0 C8 C2 80 48 */ lfd f6, $$2508-_SDA2_BASE_(r2)
/* 80010874 0000C6B4 C8 42 80 78 */ lfd f2, $$2514-_SDA2_BASE_(r2)
/* 80010878 0000C6B8 FD 5F 50 28 */ fsub f10, f31, f10
/* 8001087C 0000C6BC FD 3F 00 32 */ fmul f9, f31, f0
/* 80010880 0000C6C0 C8 02 80 B0 */ lfd f0, "@521_8055E030"@sda21(r2)
/* 80010880 0000C6C0 C8 02 80 B0 */ lfd f0, $$2521-_SDA2_BASE_(r2)
/* 80010884 0000C6C4 FC 84 28 2A */ fadd f4, f4, f5
/* 80010888 0000C6C8 FC A8 48 2A */ fadd f5, f8, f9
/* 8001088C 0000C6CC FC 9F 01 32 */ fmul f4, f31, f4
@ -186,117 +180,82 @@ lbl_80010804:
/* 800108C0 0000C700 FC 25 08 2A */ fadd f1, f5, f1
/* 800108C4 0000C704 FC 2B 08 2A */ fadd f1, f11, f1
/* 800108C8 0000C708 FC 20 00 72 */ fmul f1, f0, f1
.global lbl_800108CC
lbl_800108CC:
/* 800108CC 0000C70C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 800108D0 0000C710 E3 E1 00 38 */ psq_l f31, 0x38(r1), 0, qr0
/* 800108D0 0000C710 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 800108D4 0000C714 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 800108D8 0000C718 E3 C1 00 28 */ psq_l f30, 0x28(r1), 0, qr0
/* 800108D8 0000C718 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 800108DC 0000C71C CB C1 00 20 */ lfd f30, 0x20(r1)
/* 800108E0 0000C720 7C 08 03 A6 */ mtlr r0
/* 800108E4 0000C724 38 21 00 40 */ addi r1, r1, 0x40
/* 800108E8 0000C728 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@505"
"@505":
/* 800108E8 0000C728 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2505
$$2505:
.4byte 0
.4byte 0
.global "@506"
"@506":
.global $$2506
$$2506:
.4byte 0x400921FB
.4byte 0x54442D18
.global "@507"
"@507":
.global $$2507
$$2507:
.4byte 0x3FF921FB
.4byte 0x54442D18
.global "@508"
"@508":
.global $$2508
$$2508:
.4byte 0x3FC55555
.4byte 0x55555555
.global "@509"
"@509":
.global $$2509
$$2509:
.4byte 0xBFD4D612
.4byte 0x03EB6F7D
.global "@510"
"@510":
.global $$2510
$$2510:
.4byte 0x3FC9C155
.4byte 0x0E884455
.global "@511"
"@511":
.global $$2511
$$2511:
.4byte 0xBFA48228
.4byte 0xB5688F3B
.global "@512_8055DFE8"
"@512_8055DFE8":
.global $$2512
$$2512:
.4byte 0x3F49EFE0
.4byte 0x7501B288
.global "@513_8055DFF0"
"@513_8055DFF0":
.global $$2513
$$2513:
.4byte 0x3F023DE1
.4byte 0x0DFDF709
.global "@514_8055DFF8"
"@514_8055DFF8":
.global $$2514
$$2514:
.4byte 0x3FF00000
.4byte 0
.global "@515_8055E000"
"@515_8055E000":
.global $$2515
$$2515:
.4byte 0xC0033A27
.4byte 0x1C8A2D4B
.global "@516_8055E008"
"@516_8055E008":
.global $$2516
$$2516:
.4byte 0x40002AE5
.4byte 0x9C598AC8
.global "@517_8055E010"
"@517_8055E010":
.global $$2517
$$2517:
.4byte 0xBFE6066C
.4byte 0x1B8D0159
.global "@518_8055E018"
"@518_8055E018":
.global $$2518
$$2518:
.4byte 0x3FB3B8C5
.4byte 0xB12E9282
.global "@519_8055E020"
"@519_8055E020":
.global $$2519
$$2519:
.4byte 0x3C91A626
.4byte 0x33145C07
.global "@520_8055E028"
"@520_8055E028":
.global $$2520
$$2520:
.4byte 0x3FE00000
.4byte 0
.global "@521_8055E030"
"@521_8055E030":
.global $$2521
$$2521:
.4byte 0x40000000
.4byte 0

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __ieee754_asin
__ieee754_asin:
/* 800108EC 0000C72C 94 21 FF B0 */ stwu r1, -0x50(r1)
@ -8,14 +8,14 @@ __ieee754_asin:
/* 800108F4 0000C734 90 01 00 54 */ stw r0, 0x54(r1)
/* 800108F8 0000C738 3C 00 3F F0 */ lis r0, 0x3ff0
/* 800108FC 0000C73C DB E1 00 40 */ stfd f31, 0x40(r1)
/* 80010900 0000C740 F3 E1 00 48 */ psq_st f31, 0x48(r1), 0, qr0
/* 80010900 0000C740 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 80010904 0000C744 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 80010908 0000C748 F3 C1 00 38 */ psq_st f30, 0x38(r1), 0, qr0
/* 80010908 0000C748 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 8001090C 0000C74C DB A1 00 20 */ stfd f29, 0x20(r1)
/* 80010910 0000C750 F3 A1 00 28 */ psq_st f29, 0x28(r1), 0, qr0
/* 80010910 0000C750 F3 A1 00 28 */ psq_st f29, 40(r1), 0, qr0
/* 80010914 0000C754 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80010918 0000C758 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 8001091C 0000C75C 83 E1 00 08 */ lwz r31, 0x8(r1)
/* 80010918 0000C758 D8 21 00 08 */ stfd f1, 8(r1)
/* 8001091C 0000C75C 83 E1 00 08 */ lwz r31, 8(r1)
/* 80010920 0000C760 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80010924 0000C764 57 FE 00 7E */ clrlwi r30, r31, 1
/* 80010928 0000C768 7C 1E 00 00 */ cmpw r30, r0
@ -24,20 +24,18 @@ __ieee754_asin:
/* 80010934 0000C774 3C 7E C0 10 */ addis r3, r30, 0xc010
/* 80010938 0000C778 7C 60 03 79 */ or. r0, r3, r0
/* 8001093C 0000C77C 40 82 00 1C */ bne lbl_80010958
/* 80010940 0000C780 C8 42 80 B8 */ lfd f2, "@512_8055E038"@sda21(r2)
/* 80010944 0000C784 C8 02 80 C0 */ lfd f0, "@513_8055E040"@sda21(r2)
/* 80010940 0000C780 C8 42 80 B8 */ lfd f2, $$2512-_SDA2_BASE_(r2)
/* 80010944 0000C784 C8 02 80 C0 */ lfd f0, $$2513-_SDA2_BASE_(r2)
/* 80010948 0000C788 FC 42 00 72 */ fmul f2, f2, f1
/* 8001094C 0000C78C FC 00 00 72 */ fmul f0, f0, f1
/* 80010950 0000C790 FC 22 00 2A */ fadd f1, f2, f0
/* 80010954 0000C794 48 00 02 00 */ b lbl_80010B54
.global lbl_80010958
lbl_80010958:
/* 80010958 0000C798 3C 60 80 55 */ lis r3, __float_nan@ha
/* 8001095C 0000C79C 38 00 00 21 */ li r0, 0x21
/* 80010960 0000C7A0 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 80010960 0000C7A0 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 80010964 0000C7A4 C0 23 64 48 */ lfs f1, __float_nan@l(r3)
/* 80010968 0000C7A8 48 00 01 EC */ b lbl_80010B54
.global lbl_8001096C
lbl_8001096C:
/* 8001096C 0000C7AC 3C 00 3F E0 */ lis r0, 0x3fe0
/* 80010970 0000C7B0 7C 1E 00 00 */ cmpw r30, r0
@ -45,34 +43,32 @@ lbl_8001096C:
/* 80010978 0000C7B8 3C 00 3E 40 */ lis r0, 0x3e40
/* 8001097C 0000C7BC 7C 1E 00 00 */ cmpw r30, r0
/* 80010980 0000C7C0 40 80 00 1C */ bge lbl_8001099C
/* 80010984 0000C7C4 C8 42 80 C8 */ lfd f2, "@514_8055E048"@sda21(r2)
/* 80010988 0000C7C8 C8 02 80 D0 */ lfd f0, "@515_8055E050"@sda21(r2)
/* 80010984 0000C7C4 C8 42 80 C8 */ lfd f2, $$2514-_SDA2_BASE_(r2)
/* 80010988 0000C7C8 C8 02 80 D0 */ lfd f0, $$2515-_SDA2_BASE_(r2)
/* 8001098C 0000C7CC FC 42 08 2A */ fadd f2, f2, f1
/* 80010990 0000C7D0 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80010994 0000C7D4 40 81 00 0C */ ble lbl_800109A0
/* 80010998 0000C7D8 48 00 01 BC */ b lbl_80010B54
.global lbl_8001099C
lbl_8001099C:
/* 8001099C 0000C7DC FF E1 00 72 */ fmul f31, f1, f1
.global lbl_800109A0
lbl_800109A0:
/* 800109A0 0000C7E0 C8 42 81 00 */ lfd f2, "@521_8055E080"@sda21(r2)
/* 800109A4 0000C7E4 C8 02 81 20 */ lfd f0, "@525_8055E0A0"@sda21(r2)
/* 800109A0 0000C7E0 C8 42 81 00 */ lfd f2, $$2521-_SDA2_BASE_(r2)
/* 800109A4 0000C7E4 C8 02 81 20 */ lfd f0, $$2525-_SDA2_BASE_(r2)
/* 800109A8 0000C7E8 FC 82 07 F2 */ fmul f4, f2, f31
/* 800109AC 0000C7EC C8 62 80 F8 */ lfd f3, "@520_8055E078"@sda21(r2)
/* 800109B0 0000C7F0 C9 02 80 F0 */ lfd f8, "@519_8055E070"@sda21(r2)
/* 800109AC 0000C7EC C8 62 80 F8 */ lfd f3, $$2520-_SDA2_BASE_(r2)
/* 800109B0 0000C7F0 C9 02 80 F0 */ lfd f8, $$2519-_SDA2_BASE_(r2)
/* 800109B4 0000C7F4 FC 40 07 F2 */ fmul f2, f0, f31
/* 800109B8 0000C7F8 C8 02 81 18 */ lfd f0, "@524_8055E098"@sda21(r2)
/* 800109BC 0000C7FC C8 E2 80 E8 */ lfd f7, "@518_8055E068"@sda21(r2)
/* 800109B8 0000C7F8 C8 02 81 18 */ lfd f0, $$2524-_SDA2_BASE_(r2)
/* 800109BC 0000C7FC C8 E2 80 E8 */ lfd f7, $$2518-_SDA2_BASE_(r2)
/* 800109C0 0000C800 FC 83 20 2A */ fadd f4, f3, f4
/* 800109C4 0000C804 C8 62 81 10 */ lfd f3, "@523_8055E090"@sda21(r2)
/* 800109C4 0000C804 C8 62 81 10 */ lfd f3, $$2523-_SDA2_BASE_(r2)
/* 800109C8 0000C808 FC 00 10 2A */ fadd f0, f0, f2
/* 800109CC 0000C80C C8 42 81 08 */ lfd f2, "@522_8055E088"@sda21(r2)
/* 800109CC 0000C80C C8 42 81 08 */ lfd f2, $$2522-_SDA2_BASE_(r2)
/* 800109D0 0000C810 FD 3F 01 32 */ fmul f9, f31, f4
/* 800109D4 0000C814 C8 C2 80 E0 */ lfd f6, "@517_8055E060"@sda21(r2)
/* 800109D8 0000C818 C8 A2 80 D8 */ lfd f5, "@516_8055E058"@sda21(r2)
/* 800109D4 0000C814 C8 C2 80 E0 */ lfd f6, $$2517-_SDA2_BASE_(r2)
/* 800109D8 0000C818 C8 A2 80 D8 */ lfd f5, $$2516-_SDA2_BASE_(r2)
/* 800109DC 0000C81C FC 9F 00 32 */ fmul f4, f31, f0
/* 800109E0 0000C820 C8 02 80 D0 */ lfd f0, "@515_8055E050"@sda21(r2)
/* 800109E0 0000C820 C8 02 80 D0 */ lfd f0, $$2515-_SDA2_BASE_(r2)
/* 800109E4 0000C824 FD 08 48 2A */ fadd f8, f8, f9
/* 800109E8 0000C828 FC 63 20 2A */ fadd f3, f3, f4
/* 800109EC 0000C82C FC 9F 02 32 */ fmul f4, f31, f8
@ -90,25 +86,24 @@ lbl_800109A0:
/* 80010A1C 0000C85C FC 01 00 32 */ fmul f0, f1, f0
/* 80010A20 0000C860 FC 21 00 2A */ fadd f1, f1, f0
/* 80010A24 0000C864 48 00 01 30 */ b lbl_80010B54
.global lbl_80010A28
lbl_80010A28:
/* 80010A28 0000C868 FC 20 0A 10 */ fabs f1, f1
/* 80010A2C 0000C86C C9 62 80 D0 */ lfd f11, "@515_8055E050"@sda21(r2)
/* 80010A30 0000C870 C8 42 81 28 */ lfd f2, "@526_8055E0A8"@sda21(r2)
/* 80010A34 0000C874 C8 02 81 00 */ lfd f0, "@521_8055E080"@sda21(r2)
/* 80010A2C 0000C86C C9 62 80 D0 */ lfd f11, $$2515-_SDA2_BASE_(r2)
/* 80010A30 0000C870 C8 42 81 28 */ lfd f2, $$2526-_SDA2_BASE_(r2)
/* 80010A34 0000C874 C8 02 81 00 */ lfd f0, $$2521-_SDA2_BASE_(r2)
/* 80010A38 0000C878 FC 6B 08 28 */ fsub f3, f11, f1
/* 80010A3C 0000C87C C8 22 81 20 */ lfd f1, "@525_8055E0A0"@sda21(r2)
/* 80010A40 0000C880 C9 22 80 F8 */ lfd f9, "@520_8055E078"@sda21(r2)
/* 80010A44 0000C884 C9 02 80 F0 */ lfd f8, "@519_8055E070"@sda21(r2)
/* 80010A3C 0000C87C C8 22 81 20 */ lfd f1, $$2525-_SDA2_BASE_(r2)
/* 80010A40 0000C880 C9 22 80 F8 */ lfd f9, $$2520-_SDA2_BASE_(r2)
/* 80010A44 0000C884 C9 02 80 F0 */ lfd f8, $$2519-_SDA2_BASE_(r2)
/* 80010A48 0000C888 FF E2 00 F2 */ fmul f31, f2, f3
/* 80010A4C 0000C88C C8 62 81 18 */ lfd f3, "@524_8055E098"@sda21(r2)
/* 80010A50 0000C890 C8 42 81 10 */ lfd f2, "@523_8055E090"@sda21(r2)
/* 80010A54 0000C894 C8 E2 80 E8 */ lfd f7, "@518_8055E068"@sda21(r2)
/* 80010A58 0000C898 C8 C2 80 E0 */ lfd f6, "@517_8055E060"@sda21(r2)
/* 80010A4C 0000C88C C8 62 81 18 */ lfd f3, $$2524-_SDA2_BASE_(r2)
/* 80010A50 0000C890 C8 42 81 10 */ lfd f2, $$2523-_SDA2_BASE_(r2)
/* 80010A54 0000C894 C8 E2 80 E8 */ lfd f7, $$2518-_SDA2_BASE_(r2)
/* 80010A58 0000C898 C8 C2 80 E0 */ lfd f6, $$2517-_SDA2_BASE_(r2)
/* 80010A5C 0000C89C FD 40 07 F2 */ fmul f10, f0, f31
/* 80010A60 0000C8A0 C8 02 81 08 */ lfd f0, "@522_8055E088"@sda21(r2)
/* 80010A60 0000C8A0 C8 02 81 08 */ lfd f0, $$2522-_SDA2_BASE_(r2)
/* 80010A64 0000C8A4 FC 81 07 F2 */ fmul f4, f1, f31
/* 80010A68 0000C8A8 C8 A2 80 D8 */ lfd f5, "@516_8055E058"@sda21(r2)
/* 80010A68 0000C8A8 C8 A2 80 D8 */ lfd f5, $$2516-_SDA2_BASE_(r2)
/* 80010A6C 0000C8AC FD 29 50 2A */ fadd f9, f9, f10
/* 80010A70 0000C8B0 FC 20 F8 90 */ fmr f1, f31
/* 80010A74 0000C8B4 FC 63 20 2A */ fadd f3, f3, f4
@ -128,30 +123,29 @@ lbl_80010A28:
/* 80010AAC 0000C8EC FC 05 00 2A */ fadd f0, f5, f0
/* 80010AB0 0000C8F0 FF DF 00 32 */ fmul f30, f31, f0
/* 80010AB4 0000C8F4 48 00 3D 35 */ bl sqrt
/* 80010AB8 0000C8F8 3C 60 3F EF */ lis r3, 0x3fef
/* 80010ABC 0000C8FC 38 03 33 33 */ addi r0, r3, 0x3333
/* 80010AB8 0000C8F8 3C 60 3F EF */ lis r3, 0x3FEF3333@ha
/* 80010ABC 0000C8FC 38 03 33 33 */ addi r0, r3, 0x3FEF3333@l
/* 80010AC0 0000C900 7C 1E 00 00 */ cmpw r30, r0
/* 80010AC4 0000C904 41 80 00 2C */ blt lbl_80010AF0
/* 80010AC8 0000C908 FC 9E E8 24 */ fdiv f4, f30, f29
/* 80010ACC 0000C90C C8 62 81 30 */ lfd f3, "@527_8055E0B0"@sda21(r2)
/* 80010AD0 0000C910 C8 42 80 C0 */ lfd f2, "@513_8055E040"@sda21(r2)
/* 80010AD4 0000C914 C8 02 80 B8 */ lfd f0, "@512_8055E038"@sda21(r2)
/* 80010ACC 0000C90C C8 62 81 30 */ lfd f3, $$2527-_SDA2_BASE_(r2)
/* 80010AD0 0000C910 C8 42 80 C0 */ lfd f2, $$2513-_SDA2_BASE_(r2)
/* 80010AD4 0000C914 C8 02 80 B8 */ lfd f0, $$2512-_SDA2_BASE_(r2)
/* 80010AD8 0000C918 FC 81 01 32 */ fmul f4, f1, f4
/* 80010ADC 0000C91C FC 21 20 2A */ fadd f1, f1, f4
/* 80010AE0 0000C920 FC 23 00 72 */ fmul f1, f3, f1
/* 80010AE4 0000C924 FC 21 10 28 */ fsub f1, f1, f2
/* 80010AE8 0000C928 FC 20 08 28 */ fsub f1, f0, f1
/* 80010AEC 0000C92C 48 00 00 58 */ b lbl_80010B44
.global lbl_80010AF0
lbl_80010AF0:
/* 80010AF0 0000C930 D8 21 00 10 */ stfd f1, 0x10(r1)
/* 80010AF4 0000C934 38 00 00 00 */ li r0, 0x0
/* 80010AF8 0000C938 C8 A2 81 30 */ lfd f5, "@527_8055E0B0"@sda21(r2)
/* 80010AF4 0000C934 38 00 00 00 */ li r0, 0
/* 80010AF8 0000C938 C8 A2 81 30 */ lfd f5, $$2527-_SDA2_BASE_(r2)
/* 80010AFC 0000C93C FD 1E E8 24 */ fdiv f8, f30, f29
/* 80010B00 0000C940 90 01 00 14 */ stw r0, 0x14(r1)
/* 80010B04 0000C944 C8 62 80 C0 */ lfd f3, "@513_8055E040"@sda21(r2)
/* 80010B04 0000C944 C8 62 80 C0 */ lfd f3, $$2513-_SDA2_BASE_(r2)
/* 80010B08 0000C948 C8 E1 00 10 */ lfd f7, 0x10(r1)
/* 80010B0C 0000C94C C8 42 81 38 */ lfd f2, "@528_8055E0B8"@sda21(r2)
/* 80010B0C 0000C94C C8 42 81 38 */ lfd f2, $$2528-_SDA2_BASE_(r2)
/* 80010B10 0000C950 FC 85 00 72 */ fmul f4, f5, f1
/* 80010B14 0000C954 FC 07 01 F2 */ fmul f0, f7, f7
/* 80010B18 0000C958 FC C1 38 2A */ fadd f6, f1, f7
@ -165,129 +159,92 @@ lbl_80010AF0:
/* 80010B38 0000C978 FC 04 08 28 */ fsub f0, f4, f1
/* 80010B3C 0000C97C FC 00 18 28 */ fsub f0, f0, f3
/* 80010B40 0000C980 FC 22 00 28 */ fsub f1, f2, f0
.global lbl_80010B44
lbl_80010B44:
/* 80010B44 0000C984 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80010B44 0000C984 2C 1F 00 00 */ cmpwi r31, 0
/* 80010B48 0000C988 40 81 00 08 */ ble lbl_80010B50
/* 80010B4C 0000C98C 48 00 00 08 */ b lbl_80010B54
.global lbl_80010B50
lbl_80010B50:
/* 80010B50 0000C990 FC 20 08 50 */ fneg f1, f1
.global lbl_80010B54
lbl_80010B54:
/* 80010B54 0000C994 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80010B58 0000C998 E3 E1 00 48 */ psq_l f31, 0x48(r1), 0, qr0
/* 80010B58 0000C998 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 80010B5C 0000C99C CB E1 00 40 */ lfd f31, 0x40(r1)
/* 80010B60 0000C9A0 E3 C1 00 38 */ psq_l f30, 0x38(r1), 0, qr0
/* 80010B60 0000C9A0 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 80010B64 0000C9A4 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 80010B68 0000C9A8 E3 A1 00 28 */ psq_l f29, 0x28(r1), 0, qr0
/* 80010B68 0000C9A8 E3 A1 00 28 */ psq_l f29, 40(r1), 0, qr0
/* 80010B6C 0000C9AC CB A1 00 20 */ lfd f29, 0x20(r1)
/* 80010B70 0000C9B0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80010B74 0000C9B4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80010B78 0000C9B8 7C 08 03 A6 */ mtlr r0
/* 80010B7C 0000C9BC 38 21 00 50 */ addi r1, r1, 0x50
/* 80010B80 0000C9C0 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@512_8055E038"
"@512_8055E038":
/* 80010B80 0000C9C0 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2512
$$2512:
.4byte 0x3FF921FB
.4byte 0x54442D18
.global "@513_8055E040"
"@513_8055E040":
.global $$2513
$$2513:
.4byte 0x3C91A626
.4byte 0x33145C07
.global "@514_8055E048"
"@514_8055E048":
.global $$2514
$$2514:
.4byte 0x7E37E43C
.4byte 0x8800759C
.global "@515_8055E050"
"@515_8055E050":
.global $$2515
$$2515:
.4byte 0x3FF00000
.4byte 0
.global "@516_8055E058"
"@516_8055E058":
.global $$2516
$$2516:
.4byte 0x3FC55555
.4byte 0x55555555
.global "@517_8055E060"
"@517_8055E060":
.global $$2517
$$2517:
.4byte 0xBFD4D612
.4byte 0x03EB6F7D
.global "@518_8055E068"
"@518_8055E068":
.global $$2518
$$2518:
.4byte 0x3FC9C155
.4byte 0x0E884455
.global "@519_8055E070"
"@519_8055E070":
.global $$2519
$$2519:
.4byte 0xBFA48228
.4byte 0xB5688F3B
.global "@520_8055E078"
"@520_8055E078":
.global $$2520
$$2520:
.4byte 0x3F49EFE0
.4byte 0x7501B288
.global "@521_8055E080"
"@521_8055E080":
.global $$2521
$$2521:
.4byte 0x3F023DE1
.4byte 0x0DFDF709
.global "@522_8055E088"
"@522_8055E088":
.global $$2522
$$2522:
.4byte 0xC0033A27
.4byte 0x1C8A2D4B
.global "@523_8055E090"
"@523_8055E090":
.global $$2523
$$2523:
.4byte 0x40002AE5
.4byte 0x9C598AC8
.global "@524_8055E098"
"@524_8055E098":
.global $$2524
$$2524:
.4byte 0xBFE6066C
.4byte 0x1B8D0159
.global "@525_8055E0A0"
"@525_8055E0A0":
.global $$2525
$$2525:
.4byte 0x3FB3B8C5
.4byte 0xB12E9282
.global "@526_8055E0A8"
"@526_8055E0A8":
.global $$2526
$$2526:
.4byte 0x3FE00000
.4byte 0
.global "@527_8055E0B0"
"@527_8055E0B0":
.global $$2527
$$2527:
.4byte 0x40000000
.4byte 0
.global "@528_8055E0B8"
"@528_8055E0B8":
.global $$2528
$$2528:
.4byte 0x3FE921FB
.4byte 0x54442D18

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __ieee754_atan2
__ieee754_atan2:
/* 80010B84 0000C9C4 94 21 FF D0 */ stwu r1, -0x30(r1)
@ -12,10 +12,10 @@ __ieee754_atan2:
/* 80010B9C 0000C9DC 7C 08 00 D0 */ neg r0, r8
/* 80010BA0 0000C9E0 80 81 00 10 */ lwz r4, 0x10(r1)
/* 80010BA4 0000C9E4 7D 00 03 78 */ or r0, r8, r0
/* 80010BA8 0000C9E8 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80010BA8 0000C9E8 D8 21 00 08 */ stfd f1, 8(r1)
/* 80010BAC 0000C9EC 54 86 00 7E */ clrlwi r6, r4, 1
/* 80010BB0 0000C9F0 54 00 0F FE */ srwi r0, r0, 31
/* 80010BB4 0000C9F4 80 A1 00 08 */ lwz r5, 0x8(r1)
/* 80010BB0 0000C9F0 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80010BB4 0000C9F4 80 A1 00 08 */ lwz r5, 8(r1)
/* 80010BB8 0000C9F8 7C C0 03 78 */ or r0, r6, r0
/* 80010BBC 0000C9FC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80010BC0 0000CA00 7C 00 18 40 */ cmplw r0, r3
@ -24,254 +24,205 @@ __ieee754_atan2:
/* 80010BCC 0000CA0C 41 81 00 1C */ bgt lbl_80010BE8
/* 80010BD0 0000CA10 7C 09 00 D0 */ neg r0, r9
/* 80010BD4 0000CA14 7D 20 03 78 */ or r0, r9, r0
/* 80010BD8 0000CA18 54 00 0F FE */ srwi r0, r0, 31
/* 80010BD8 0000CA18 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80010BDC 0000CA1C 7C E0 03 78 */ or r0, r7, r0
/* 80010BE0 0000CA20 7C 00 18 40 */ cmplw r0, r3
/* 80010BE4 0000CA24 40 81 00 0C */ ble lbl_80010BF0
.global lbl_80010BE8
lbl_80010BE8:
/* 80010BE8 0000CA28 FC 22 08 2A */ fadd f1, f2, f1
/* 80010BEC 0000CA2C 48 00 01 DC */ b lbl_80010DC8
.global lbl_80010BF0
lbl_80010BF0:
/* 80010BF0 0000CA30 3C 04 C0 10 */ addis r0, r4, 0xc010
/* 80010BF4 0000CA34 7C 00 43 79 */ or. r0, r0, r8
/* 80010BF8 0000CA38 40 82 00 0C */ bne lbl_80010C04
/* 80010BFC 0000CA3C 48 00 2F 99 */ bl atan
/* 80010C00 0000CA40 48 00 01 C8 */ b lbl_80010DC8
.global lbl_80010C04
lbl_80010C04:
/* 80010C04 0000CA44 7C E0 4B 79 */ or. r0, r7, r9
/* 80010C08 0000CA48 54 9F 17 BC */ rlwinm r31, r4, 2, 30, 30
/* 80010C0C 0000CA4C 50 BF 0F FE */ rlwimi r31, r5, 1, 31, 31
/* 80010C08 0000CA48 54 9F 17 BC */ rlwinm r31, r4, 2, 0x1e, 0x1e
/* 80010C0C 0000CA4C 50 BF 0F FE */ rlwimi r31, r5, 1, 0x1f, 0x1f
/* 80010C10 0000CA50 40 82 00 34 */ bne lbl_80010C44
/* 80010C14 0000CA54 28 1F 00 01 */ cmplwi r31, 0x1
/* 80010C14 0000CA54 28 1F 00 01 */ cmplwi r31, 1
/* 80010C18 0000CA58 40 81 01 B0 */ ble lbl_80010DC8
/* 80010C1C 0000CA5C 2C 1F 00 02 */ cmpwi r31, 0x2
/* 80010C1C 0000CA5C 2C 1F 00 02 */ cmpwi r31, 2
/* 80010C20 0000CA60 41 82 00 14 */ beq lbl_80010C34
/* 80010C24 0000CA64 2C 1F 00 03 */ cmpwi r31, 0x3
/* 80010C24 0000CA64 2C 1F 00 03 */ cmpwi r31, 3
/* 80010C28 0000CA68 41 82 00 14 */ beq lbl_80010C3C
/* 80010C2C 0000CA6C 48 00 00 18 */ b lbl_80010C44
/* 80010C30 0000CA70 48 00 01 98 */ b lbl_80010DC8
.global lbl_80010C34
lbl_80010C34:
/* 80010C34 0000CA74 C8 22 81 40 */ lfd f1, "@583"@sda21(r2)
/* 80010C34 0000CA74 C8 22 81 40 */ lfd f1, $$2583-_SDA2_BASE_(r2)
/* 80010C38 0000CA78 48 00 01 90 */ b lbl_80010DC8
.global lbl_80010C3C
lbl_80010C3C:
/* 80010C3C 0000CA7C C8 22 81 48 */ lfd f1, "@584"@sda21(r2)
/* 80010C3C 0000CA7C C8 22 81 48 */ lfd f1, $$2584-_SDA2_BASE_(r2)
/* 80010C40 0000CA80 48 00 01 88 */ b lbl_80010DC8
.global lbl_80010C44
lbl_80010C44:
/* 80010C44 0000CA84 7C C0 43 79 */ or. r0, r6, r8
/* 80010C48 0000CA88 40 82 00 1C */ bne lbl_80010C64
/* 80010C4C 0000CA8C 2C 05 00 00 */ cmpwi r5, 0x0
/* 80010C4C 0000CA8C 2C 05 00 00 */ cmpwi r5, 0
/* 80010C50 0000CA90 40 80 00 0C */ bge lbl_80010C5C
/* 80010C54 0000CA94 C8 22 81 50 */ lfd f1, "@585"@sda21(r2)
/* 80010C54 0000CA94 C8 22 81 50 */ lfd f1, $$2585-_SDA2_BASE_(r2)
/* 80010C58 0000CA98 48 00 01 70 */ b lbl_80010DC8
.global lbl_80010C5C
lbl_80010C5C:
/* 80010C5C 0000CA9C C8 22 81 58 */ lfd f1, "@586"@sda21(r2)
/* 80010C5C 0000CA9C C8 22 81 58 */ lfd f1, $$2586-_SDA2_BASE_(r2)
/* 80010C60 0000CAA0 48 00 01 68 */ b lbl_80010DC8
.global lbl_80010C64
lbl_80010C64:
/* 80010C64 0000CAA4 3C 06 80 10 */ addis r0, r6, 0x8010
/* 80010C68 0000CAA8 28 00 00 00 */ cmplwi r0, 0x0
/* 80010C68 0000CAA8 28 00 00 00 */ cmplwi r0, 0
/* 80010C6C 0000CAAC 40 82 00 98 */ bne lbl_80010D04
/* 80010C70 0000CAB0 3C 07 80 10 */ addis r0, r7, 0x8010
/* 80010C74 0000CAB4 28 00 00 00 */ cmplwi r0, 0x0
/* 80010C74 0000CAB4 28 00 00 00 */ cmplwi r0, 0
/* 80010C78 0000CAB8 40 82 00 48 */ bne lbl_80010CC0
/* 80010C7C 0000CABC 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80010C7C 0000CABC 2C 1F 00 00 */ cmpwi r31, 0
/* 80010C80 0000CAC0 41 82 00 20 */ beq lbl_80010CA0
/* 80010C84 0000CAC4 2C 1F 00 01 */ cmpwi r31, 0x1
/* 80010C84 0000CAC4 2C 1F 00 01 */ cmpwi r31, 1
/* 80010C88 0000CAC8 41 82 00 20 */ beq lbl_80010CA8
/* 80010C8C 0000CACC 2C 1F 00 02 */ cmpwi r31, 0x2
/* 80010C8C 0000CACC 2C 1F 00 02 */ cmpwi r31, 2
/* 80010C90 0000CAD0 41 82 00 20 */ beq lbl_80010CB0
/* 80010C94 0000CAD4 2C 1F 00 03 */ cmpwi r31, 0x3
/* 80010C94 0000CAD4 2C 1F 00 03 */ cmpwi r31, 3
/* 80010C98 0000CAD8 41 82 00 20 */ beq lbl_80010CB8
/* 80010C9C 0000CADC 48 00 00 68 */ b lbl_80010D04
.global lbl_80010CA0
lbl_80010CA0:
/* 80010CA0 0000CAE0 C8 22 81 60 */ lfd f1, "@587_8055E0E0"@sda21(r2)
/* 80010CA0 0000CAE0 C8 22 81 60 */ lfd f1, $$2587-_SDA2_BASE_(r2)
/* 80010CA4 0000CAE4 48 00 01 24 */ b lbl_80010DC8
.global lbl_80010CA8
lbl_80010CA8:
/* 80010CA8 0000CAE8 C8 22 81 68 */ lfd f1, "@588_8055E0E8"@sda21(r2)
/* 80010CA8 0000CAE8 C8 22 81 68 */ lfd f1, $$2588-_SDA2_BASE_(r2)
/* 80010CAC 0000CAEC 48 00 01 1C */ b lbl_80010DC8
.global lbl_80010CB0
lbl_80010CB0:
/* 80010CB0 0000CAF0 C8 22 81 70 */ lfd f1, "@589"@sda21(r2)
/* 80010CB0 0000CAF0 C8 22 81 70 */ lfd f1, $$2589-_SDA2_BASE_(r2)
/* 80010CB4 0000CAF4 48 00 01 14 */ b lbl_80010DC8
.global lbl_80010CB8
lbl_80010CB8:
/* 80010CB8 0000CAF8 C8 22 81 78 */ lfd f1, "@590"@sda21(r2)
/* 80010CB8 0000CAF8 C8 22 81 78 */ lfd f1, $$2590-_SDA2_BASE_(r2)
/* 80010CBC 0000CAFC 48 00 01 0C */ b lbl_80010DC8
.global lbl_80010CC0
lbl_80010CC0:
/* 80010CC0 0000CB00 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80010CC0 0000CB00 2C 1F 00 00 */ cmpwi r31, 0
/* 80010CC4 0000CB04 41 82 00 20 */ beq lbl_80010CE4
/* 80010CC8 0000CB08 2C 1F 00 01 */ cmpwi r31, 0x1
/* 80010CC8 0000CB08 2C 1F 00 01 */ cmpwi r31, 1
/* 80010CCC 0000CB0C 41 82 00 20 */ beq lbl_80010CEC
/* 80010CD0 0000CB10 2C 1F 00 02 */ cmpwi r31, 0x2
/* 80010CD0 0000CB10 2C 1F 00 02 */ cmpwi r31, 2
/* 80010CD4 0000CB14 41 82 00 20 */ beq lbl_80010CF4
/* 80010CD8 0000CB18 2C 1F 00 03 */ cmpwi r31, 0x3
/* 80010CD8 0000CB18 2C 1F 00 03 */ cmpwi r31, 3
/* 80010CDC 0000CB1C 41 82 00 20 */ beq lbl_80010CFC
/* 80010CE0 0000CB20 48 00 00 24 */ b lbl_80010D04
.global lbl_80010CE4
lbl_80010CE4:
/* 80010CE4 0000CB24 C8 22 81 80 */ lfd f1, "@591"@sda21(r2)
/* 80010CE4 0000CB24 C8 22 81 80 */ lfd f1, $$2591-_SDA2_BASE_(r2)
/* 80010CE8 0000CB28 48 00 00 E0 */ b lbl_80010DC8
.global lbl_80010CEC
lbl_80010CEC:
/* 80010CEC 0000CB2C C8 22 81 88 */ lfd f1, "@592"@sda21(r2)
/* 80010CEC 0000CB2C C8 22 81 88 */ lfd f1, $$2592-_SDA2_BASE_(r2)
/* 80010CF0 0000CB30 48 00 00 D8 */ b lbl_80010DC8
.global lbl_80010CF4
lbl_80010CF4:
/* 80010CF4 0000CB34 C8 22 81 40 */ lfd f1, "@583"@sda21(r2)
/* 80010CF4 0000CB34 C8 22 81 40 */ lfd f1, $$2583-_SDA2_BASE_(r2)
/* 80010CF8 0000CB38 48 00 00 D0 */ b lbl_80010DC8
.global lbl_80010CFC
lbl_80010CFC:
/* 80010CFC 0000CB3C C8 22 81 48 */ lfd f1, "@584"@sda21(r2)
/* 80010CFC 0000CB3C C8 22 81 48 */ lfd f1, $$2584-_SDA2_BASE_(r2)
/* 80010D00 0000CB40 48 00 00 C8 */ b lbl_80010DC8
.global lbl_80010D04
lbl_80010D04:
/* 80010D04 0000CB44 3C 07 80 10 */ addis r0, r7, 0x8010
/* 80010D08 0000CB48 28 00 00 00 */ cmplwi r0, 0x0
/* 80010D08 0000CB48 28 00 00 00 */ cmplwi r0, 0
/* 80010D0C 0000CB4C 40 82 00 1C */ bne lbl_80010D28
/* 80010D10 0000CB50 2C 05 00 00 */ cmpwi r5, 0x0
/* 80010D10 0000CB50 2C 05 00 00 */ cmpwi r5, 0
/* 80010D14 0000CB54 40 80 00 0C */ bge lbl_80010D20
/* 80010D18 0000CB58 C8 22 81 50 */ lfd f1, "@585"@sda21(r2)
/* 80010D18 0000CB58 C8 22 81 50 */ lfd f1, $$2585-_SDA2_BASE_(r2)
/* 80010D1C 0000CB5C 48 00 00 AC */ b lbl_80010DC8
.global lbl_80010D20
lbl_80010D20:
/* 80010D20 0000CB60 C8 22 81 58 */ lfd f1, "@586"@sda21(r2)
/* 80010D20 0000CB60 C8 22 81 58 */ lfd f1, $$2586-_SDA2_BASE_(r2)
/* 80010D24 0000CB64 48 00 00 A4 */ b lbl_80010DC8
.global lbl_80010D28
lbl_80010D28:
/* 80010D28 0000CB68 7C 06 38 50 */ subf r0, r6, r7
/* 80010D2C 0000CB6C 7C 00 A6 70 */ srawi r0, r0, 20
/* 80010D2C 0000CB6C 7C 00 A6 70 */ srawi r0, r0, 0x14
/* 80010D30 0000CB70 2C 00 00 3C */ cmpwi r0, 0x3c
/* 80010D34 0000CB74 40 81 00 10 */ ble lbl_80010D44
/* 80010D38 0000CB78 C8 22 81 58 */ lfd f1, "@586"@sda21(r2)
/* 80010D38 0000CB78 C8 22 81 58 */ lfd f1, $$2586-_SDA2_BASE_(r2)
/* 80010D3C 0000CB7C D8 21 00 18 */ stfd f1, 0x18(r1)
/* 80010D40 0000CB80 48 00 00 30 */ b lbl_80010D70
.global lbl_80010D44
lbl_80010D44:
/* 80010D44 0000CB84 2C 04 00 00 */ cmpwi r4, 0x0
/* 80010D44 0000CB84 2C 04 00 00 */ cmpwi r4, 0
/* 80010D48 0000CB88 40 80 00 18 */ bge lbl_80010D60
/* 80010D4C 0000CB8C 2C 00 FF C4 */ cmpwi r0, -0x3c
/* 80010D4C 0000CB8C 2C 00 FF C4 */ cmpwi r0, -60
/* 80010D50 0000CB90 40 80 00 10 */ bge lbl_80010D60
/* 80010D54 0000CB94 C8 22 81 80 */ lfd f1, "@591"@sda21(r2)
/* 80010D54 0000CB94 C8 22 81 80 */ lfd f1, $$2591-_SDA2_BASE_(r2)
/* 80010D58 0000CB98 D8 21 00 18 */ stfd f1, 0x18(r1)
/* 80010D5C 0000CB9C 48 00 00 14 */ b lbl_80010D70
.global lbl_80010D60
lbl_80010D60:
/* 80010D60 0000CBA0 FC 01 10 24 */ fdiv f0, f1, f2
/* 80010D64 0000CBA4 FC 20 02 10 */ fabs f1, f0
/* 80010D68 0000CBA8 48 00 2E 2D */ bl atan
/* 80010D6C 0000CBAC D8 21 00 18 */ stfd f1, 0x18(r1)
.global lbl_80010D70
lbl_80010D70:
/* 80010D70 0000CBB0 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80010D70 0000CBB0 2C 1F 00 00 */ cmpwi r31, 0
/* 80010D74 0000CBB4 41 82 00 54 */ beq lbl_80010DC8
/* 80010D78 0000CBB8 2C 1F 00 01 */ cmpwi r31, 0x1
/* 80010D78 0000CBB8 2C 1F 00 01 */ cmpwi r31, 1
/* 80010D7C 0000CBBC 41 82 00 14 */ beq lbl_80010D90
/* 80010D80 0000CBC0 2C 1F 00 02 */ cmpwi r31, 0x2
/* 80010D80 0000CBC0 2C 1F 00 02 */ cmpwi r31, 2
/* 80010D84 0000CBC4 41 82 00 20 */ beq lbl_80010DA4
/* 80010D88 0000CBC8 48 00 00 30 */ b lbl_80010DB8
/* 80010D8C 0000CBCC 48 00 00 3C */ b lbl_80010DC8
.global lbl_80010D90
lbl_80010D90:
/* 80010D90 0000CBD0 80 01 00 18 */ lwz r0, 0x18(r1)
/* 80010D94 0000CBD4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80010D98 0000CBD8 90 01 00 18 */ stw r0, 0x18(r1)
/* 80010D9C 0000CBDC C8 21 00 18 */ lfd f1, 0x18(r1)
/* 80010DA0 0000CBE0 48 00 00 28 */ b lbl_80010DC8
.global lbl_80010DA4
lbl_80010DA4:
/* 80010DA4 0000CBE4 C8 42 81 90 */ lfd f2, "@593"@sda21(r2)
/* 80010DA8 0000CBE8 C8 02 81 40 */ lfd f0, "@583"@sda21(r2)
/* 80010DA4 0000CBE4 C8 42 81 90 */ lfd f2, $$2593-_SDA2_BASE_(r2)
/* 80010DA8 0000CBE8 C8 02 81 40 */ lfd f0, $$2583-_SDA2_BASE_(r2)
/* 80010DAC 0000CBEC FC 21 10 28 */ fsub f1, f1, f2
/* 80010DB0 0000CBF0 FC 20 08 28 */ fsub f1, f0, f1
/* 80010DB4 0000CBF4 48 00 00 14 */ b lbl_80010DC8
.global lbl_80010DB8
lbl_80010DB8:
/* 80010DB8 0000CBF8 C8 42 81 90 */ lfd f2, "@593"@sda21(r2)
/* 80010DBC 0000CBFC C8 02 81 40 */ lfd f0, "@583"@sda21(r2)
/* 80010DB8 0000CBF8 C8 42 81 90 */ lfd f2, $$2593-_SDA2_BASE_(r2)
/* 80010DBC 0000CBFC C8 02 81 40 */ lfd f0, $$2583-_SDA2_BASE_(r2)
/* 80010DC0 0000CC00 FC 21 10 28 */ fsub f1, f1, f2
/* 80010DC4 0000CC04 FC 21 00 28 */ fsub f1, f1, f0
.global lbl_80010DC8
lbl_80010DC8:
/* 80010DC8 0000CC08 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80010DCC 0000CC0C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80010DD0 0000CC10 7C 08 03 A6 */ mtlr r0
/* 80010DD4 0000CC14 38 21 00 30 */ addi r1, r1, 0x30
/* 80010DD8 0000CC18 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@583"
"@583":
/* 80010DD8 0000CC18 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2583
$$2583:
.4byte 0x400921FB
.4byte 0x54442D18
.global "@584"
"@584":
.global $$2584
$$2584:
.4byte 0xC00921FB
.4byte 0x54442D18
.global "@585"
"@585":
.global $$2585
$$2585:
.4byte 0xBFF921FB
.4byte 0x54442D18
.global "@586"
"@586":
.global $$2586
$$2586:
.4byte 0x3FF921FB
.4byte 0x54442D18
.global "@587_8055E0E0"
"@587_8055E0E0":
.global $$2587
$$2587:
.4byte 0x3FE921FB
.4byte 0x54442D18
.global "@588_8055E0E8"
"@588_8055E0E8":
.global $$2588
$$2588:
.4byte 0xBFE921FB
.4byte 0x54442D18
.global "@589"
"@589":
.global $$2589
$$2589:
.4byte 0x4002D97C
.4byte 0x7F3321D2
.global "@590"
"@590":
.global $$2590
$$2590:
.4byte 0xC002D97C
.4byte 0x7F3321D2
.global "@591"
"@591":
.global $$2591
$$2591:
.4byte 0
.4byte 0
.global "@592"
"@592":
.global $$2592
$$2592:
.4byte 0x80000000
.4byte 0
.global "@593"
"@593":
.global $$2593
$$2593:
.4byte 0x3CA1A626
.4byte 0x33145C07

View file

@ -1,16 +1,16 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __ieee754_fmod
__ieee754_fmod:
/* 80010DDC 0000CC1C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80010DE0 0000CC20 D8 41 00 10 */ stfd f2, 0x10(r1)
/* 80010DE4 0000CC24 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80010DE4 0000CC24 D8 21 00 08 */ stfd f1, 8(r1)
/* 80010DE8 0000CC28 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80010DEC 0000CC2C 80 E1 00 08 */ lwz r7, 0x8(r1)
/* 80010DEC 0000CC2C 80 E1 00 08 */ lwz r7, 8(r1)
/* 80010DF0 0000CC30 80 C1 00 14 */ lwz r6, 0x14(r1)
/* 80010DF4 0000CC34 54 00 00 7E */ clrlwi r0, r0, 1
/* 80010DF8 0000CC38 54 E4 00 00 */ clrrwi r4, r7, 31
/* 80010DF8 0000CC38 54 E4 00 00 */ rlwinm r4, r7, 0, 0, 0
/* 80010DFC 0000CC3C 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 80010E00 0000CC40 7C 03 33 79 */ or. r3, r0, r6
/* 80010E04 0000CC44 7C E8 22 78 */ xor r8, r7, r4
@ -20,16 +20,14 @@ __ieee754_fmod:
/* 80010E14 0000CC54 40 80 00 1C */ bge lbl_80010E30
/* 80010E18 0000CC58 7C 66 00 D0 */ neg r3, r6
/* 80010E1C 0000CC5C 7C C3 1B 78 */ or r3, r6, r3
/* 80010E20 0000CC60 54 63 0F FE */ srwi r3, r3, 31
/* 80010E20 0000CC60 54 63 0F FE */ srwi r3, r3, 0x1f
/* 80010E24 0000CC64 7C 03 1B 78 */ or r3, r0, r3
/* 80010E28 0000CC68 7C 03 38 40 */ cmplw r3, r7
/* 80010E2C 0000CC6C 40 81 00 10 */ ble lbl_80010E3C
.global lbl_80010E30
lbl_80010E30:
/* 80010E30 0000CC70 FC 01 00 B2 */ fmul f0, f1, f2
/* 80010E34 0000CC74 FC 20 00 24 */ fdiv f1, f0, f0
/* 80010E38 0000CC78 48 00 03 1C */ b lbl_80011154
.global lbl_80010E3C
lbl_80010E3C:
/* 80010E3C 0000CC7C 7C 08 00 00 */ cmpw r8, r0
/* 80010E40 0000CC80 41 81 00 2C */ bgt lbl_80010E6C
@ -37,98 +35,81 @@ lbl_80010E3C:
/* 80010E48 0000CC88 7C 05 30 40 */ cmplw r5, r6
/* 80010E4C 0000CC8C 40 80 00 08 */ bge lbl_80010E54
/* 80010E50 0000CC90 48 00 03 04 */ b lbl_80011154
.global lbl_80010E54
lbl_80010E54:
/* 80010E54 0000CC94 40 82 00 18 */ bne lbl_80010E6C
/* 80010E58 0000CC98 3C 60 80 40 */ lis r3, Zero@ha
/* 80010E5C 0000CC9C 54 80 27 38 */ rlwinm r0, r4, 4, 28, 28
/* 80010E5C 0000CC9C 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c
/* 80010E60 0000CCA0 38 63 72 A0 */ addi r3, r3, Zero@l
/* 80010E64 0000CCA4 7C 23 04 AE */ lfdx f1, r3, r0
/* 80010E68 0000CCA8 48 00 02 EC */ b lbl_80011154
.global lbl_80010E6C
lbl_80010E6C:
/* 80010E6C 0000CCAC 3C 60 00 10 */ lis r3, 0x10
/* 80010E70 0000CCB0 7C 08 18 00 */ cmpw r8, r3
/* 80010E74 0000CCB4 40 80 00 4C */ bge lbl_80010EC0
/* 80010E78 0000CCB8 2C 08 00 00 */ cmpwi r8, 0x0
/* 80010E78 0000CCB8 2C 08 00 00 */ cmpwi r8, 0
/* 80010E7C 0000CCBC 40 82 00 24 */ bne lbl_80010EA0
/* 80010E80 0000CCC0 7C A3 2B 78 */ mr r3, r5
/* 80010E84 0000CCC4 39 60 FB ED */ li r11, -0x413
/* 80010E84 0000CCC4 39 60 FB ED */ li r11, -1043
/* 80010E88 0000CCC8 48 00 00 0C */ b lbl_80010E94
.global lbl_80010E8C
lbl_80010E8C:
/* 80010E8C 0000CCCC 54 63 08 3C */ slwi r3, r3, 1
/* 80010E90 0000CCD0 39 6B FF FF */ addi r11, r11, -0x1
.global lbl_80010E94
/* 80010E90 0000CCD0 39 6B FF FF */ addi r11, r11, -1
lbl_80010E94:
/* 80010E94 0000CCD4 2C 03 00 00 */ cmpwi r3, 0x0
/* 80010E94 0000CCD4 2C 03 00 00 */ cmpwi r3, 0
/* 80010E98 0000CCD8 41 81 FF F4 */ bgt lbl_80010E8C
/* 80010E9C 0000CCDC 48 00 00 2C */ b lbl_80010EC8
.global lbl_80010EA0
lbl_80010EA0:
/* 80010EA0 0000CCE0 55 03 58 28 */ slwi r3, r8, 11
/* 80010EA4 0000CCE4 39 60 FC 02 */ li r11, -0x3fe
/* 80010EA0 0000CCE0 55 03 58 28 */ slwi r3, r8, 0xb
/* 80010EA4 0000CCE4 39 60 FC 02 */ li r11, -1022
/* 80010EA8 0000CCE8 48 00 00 0C */ b lbl_80010EB4
.global lbl_80010EAC
lbl_80010EAC:
/* 80010EAC 0000CCEC 54 63 08 3C */ slwi r3, r3, 1
/* 80010EB0 0000CCF0 39 6B FF FF */ addi r11, r11, -0x1
.global lbl_80010EB4
/* 80010EB0 0000CCF0 39 6B FF FF */ addi r11, r11, -1
lbl_80010EB4:
/* 80010EB4 0000CCF4 2C 03 00 00 */ cmpwi r3, 0x0
/* 80010EB4 0000CCF4 2C 03 00 00 */ cmpwi r3, 0
/* 80010EB8 0000CCF8 41 81 FF F4 */ bgt lbl_80010EAC
/* 80010EBC 0000CCFC 48 00 00 0C */ b lbl_80010EC8
.global lbl_80010EC0
lbl_80010EC0:
/* 80010EC0 0000CD00 7D 03 A6 70 */ srawi r3, r8, 20
/* 80010EC4 0000CD04 39 63 FC 01 */ addi r11, r3, -0x3ff
.global lbl_80010EC8
/* 80010EC0 0000CD00 7D 03 A6 70 */ srawi r3, r8, 0x14
/* 80010EC4 0000CD04 39 63 FC 01 */ addi r11, r3, -1023
lbl_80010EC8:
/* 80010EC8 0000CD08 3C 60 00 10 */ lis r3, 0x10
/* 80010ECC 0000CD0C 7C 00 18 00 */ cmpw r0, r3
/* 80010ED0 0000CD10 40 80 00 4C */ bge lbl_80010F1C
/* 80010ED4 0000CD14 2C 00 00 00 */ cmpwi r0, 0x0
/* 80010ED4 0000CD14 2C 00 00 00 */ cmpwi r0, 0
/* 80010ED8 0000CD18 40 82 00 24 */ bne lbl_80010EFC
/* 80010EDC 0000CD1C 7C C7 33 78 */ mr r7, r6
/* 80010EE0 0000CD20 38 60 FB ED */ li r3, -0x413
/* 80010EE0 0000CD20 38 60 FB ED */ li r3, -1043
/* 80010EE4 0000CD24 48 00 00 0C */ b lbl_80010EF0
.global lbl_80010EE8
lbl_80010EE8:
/* 80010EE8 0000CD28 54 E7 08 3C */ slwi r7, r7, 1
/* 80010EEC 0000CD2C 38 63 FF FF */ addi r3, r3, -0x1
.global lbl_80010EF0
/* 80010EEC 0000CD2C 38 63 FF FF */ addi r3, r3, -1
lbl_80010EF0:
/* 80010EF0 0000CD30 2C 07 00 00 */ cmpwi r7, 0x0
/* 80010EF0 0000CD30 2C 07 00 00 */ cmpwi r7, 0
/* 80010EF4 0000CD34 41 81 FF F4 */ bgt lbl_80010EE8
/* 80010EF8 0000CD38 48 00 00 2C */ b lbl_80010F24
.global lbl_80010EFC
lbl_80010EFC:
/* 80010EFC 0000CD3C 54 07 58 28 */ slwi r7, r0, 11
/* 80010F00 0000CD40 38 60 FC 02 */ li r3, -0x3fe
/* 80010EFC 0000CD3C 54 07 58 28 */ slwi r7, r0, 0xb
/* 80010F00 0000CD40 38 60 FC 02 */ li r3, -1022
/* 80010F04 0000CD44 48 00 00 0C */ b lbl_80010F10
.global lbl_80010F08
lbl_80010F08:
/* 80010F08 0000CD48 54 E7 08 3C */ slwi r7, r7, 1
/* 80010F0C 0000CD4C 38 63 FF FF */ addi r3, r3, -0x1
.global lbl_80010F10
/* 80010F0C 0000CD4C 38 63 FF FF */ addi r3, r3, -1
lbl_80010F10:
/* 80010F10 0000CD50 2C 07 00 00 */ cmpwi r7, 0x0
/* 80010F10 0000CD50 2C 07 00 00 */ cmpwi r7, 0
/* 80010F14 0000CD54 41 81 FF F4 */ bgt lbl_80010F08
/* 80010F18 0000CD58 48 00 00 0C */ b lbl_80010F24
.global lbl_80010F1C
lbl_80010F1C:
/* 80010F1C 0000CD5C 7C 03 A6 70 */ srawi r3, r0, 20
/* 80010F20 0000CD60 38 63 FC 01 */ addi r3, r3, -0x3ff
.global lbl_80010F24
/* 80010F1C 0000CD5C 7C 03 A6 70 */ srawi r3, r0, 0x14
/* 80010F20 0000CD60 38 63 FC 01 */ addi r3, r3, -1023
lbl_80010F24:
/* 80010F24 0000CD64 2C 0B FC 02 */ cmpwi r11, -0x3fe
/* 80010F24 0000CD64 2C 0B FC 02 */ cmpwi r11, -1022
/* 80010F28 0000CD68 41 80 00 10 */ blt lbl_80010F38
/* 80010F2C 0000CD6C 55 07 03 3E */ clrlwi r7, r8, 12
/* 80010F2C 0000CD6C 55 07 03 3E */ clrlwi r7, r8, 0xc
/* 80010F30 0000CD70 64 E9 00 10 */ oris r9, r7, 0x10
/* 80010F34 0000CD74 48 00 00 34 */ b lbl_80010F68
.global lbl_80010F38
lbl_80010F38:
/* 80010F38 0000CD78 21 2B FC 02 */ subfic r9, r11, -0x3fe
/* 80010F38 0000CD78 21 2B FC 02 */ subfic r9, r11, -1022
/* 80010F3C 0000CD7C 2C 09 00 1F */ cmpwi r9, 0x1f
/* 80010F40 0000CD80 41 81 00 1C */ bgt lbl_80010F5C
/* 80010F44 0000CD84 20 E9 00 20 */ subfic r7, r9, 0x20
@ -137,21 +118,18 @@ lbl_80010F38:
/* 80010F50 0000CD90 7C A5 48 30 */ slw r5, r5, r9
/* 80010F54 0000CD94 7D 09 3B 78 */ or r9, r8, r7
/* 80010F58 0000CD98 48 00 00 10 */ b lbl_80010F68
.global lbl_80010F5C
lbl_80010F5C:
/* 80010F5C 0000CD9C 38 E9 FF E0 */ addi r7, r9, -0x20
/* 80010F5C 0000CD9C 38 E9 FF E0 */ addi r7, r9, -32
/* 80010F60 0000CDA0 7C A9 38 30 */ slw r9, r5, r7
/* 80010F64 0000CDA4 38 A0 00 00 */ li r5, 0x0
.global lbl_80010F68
/* 80010F64 0000CDA4 38 A0 00 00 */ li r5, 0
lbl_80010F68:
/* 80010F68 0000CDA8 2C 03 FC 02 */ cmpwi r3, -0x3fe
/* 80010F68 0000CDA8 2C 03 FC 02 */ cmpwi r3, -1022
/* 80010F6C 0000CDAC 41 80 00 10 */ blt lbl_80010F7C
/* 80010F70 0000CDB0 54 00 03 3E */ clrlwi r0, r0, 12
/* 80010F70 0000CDB0 54 00 03 3E */ clrlwi r0, r0, 0xc
/* 80010F74 0000CDB4 64 0A 00 10 */ oris r10, r0, 0x10
/* 80010F78 0000CDB8 48 00 00 34 */ b lbl_80010FAC
.global lbl_80010F7C
lbl_80010F7C:
/* 80010F7C 0000CDBC 21 43 FC 02 */ subfic r10, r3, -0x3fe
/* 80010F7C 0000CDBC 21 43 FC 02 */ subfic r10, r3, -1022
/* 80010F80 0000CDC0 2C 0A 00 1F */ cmpwi r10, 0x1f
/* 80010F84 0000CDC4 41 81 00 1C */ bgt lbl_80010FA0
/* 80010F88 0000CDC8 20 EA 00 20 */ subfic r7, r10, 0x20
@ -160,19 +138,16 @@ lbl_80010F7C:
/* 80010F94 0000CDD4 7C C6 50 30 */ slw r6, r6, r10
/* 80010F98 0000CDD8 7D 0A 03 78 */ or r10, r8, r0
/* 80010F9C 0000CDDC 48 00 00 10 */ b lbl_80010FAC
.global lbl_80010FA0
lbl_80010FA0:
/* 80010FA0 0000CDE0 38 0A FF E0 */ addi r0, r10, -0x20
/* 80010FA0 0000CDE0 38 0A FF E0 */ addi r0, r10, -32
/* 80010FA4 0000CDE4 7C CA 00 30 */ slw r10, r6, r0
/* 80010FA8 0000CDE8 38 C0 00 00 */ li r6, 0x0
.global lbl_80010FAC
/* 80010FA8 0000CDE8 38 C0 00 00 */ li r6, 0
lbl_80010FAC:
/* 80010FAC 0000CDEC 7C E3 58 51 */ subf. r7, r3, r11
/* 80010FB0 0000CDF0 39 67 00 02 */ addi r11, r7, 0x2
/* 80010FB0 0000CDF0 39 67 00 02 */ addi r11, r7, 2
/* 80010FB4 0000CDF4 7C C8 5C 30 */ srw r8, r6, r11
/* 80010FB8 0000CDF8 7C E9 03 A6 */ mtctr r7
/* 80010FBC 0000CDFC 41 82 00 88 */ beq lbl_80011044
.global lbl_80010FC0
lbl_80010FC0:
/* 80010FC0 0000CE00 7C EA 48 51 */ subf. r7, r10, r9
/* 80010FC4 0000CE04 7D 86 28 50 */ subf r12, r6, r5
@ -181,43 +156,37 @@ lbl_80010FC0:
/* 80010FD0 0000CE10 7C 00 40 40 */ cmplw r0, r8
/* 80010FD4 0000CE14 40 82 00 18 */ bne lbl_80010FEC
/* 80010FD8 0000CE18 3C 60 80 40 */ lis r3, Zero@ha
/* 80010FDC 0000CE1C 54 80 27 38 */ rlwinm r0, r4, 4, 28, 28
/* 80010FDC 0000CE1C 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c
/* 80010FE0 0000CE20 38 63 72 A0 */ addi r3, r3, Zero@l
/* 80010FE4 0000CE24 7C 23 04 AE */ lfdx f1, r3, r0
/* 80010FE8 0000CE28 48 00 01 6C */ b lbl_80011154
.global lbl_80010FEC
lbl_80010FEC:
/* 80010FEC 0000CE2C 7C 05 30 40 */ cmplw r5, r6
/* 80010FF0 0000CE30 40 80 00 08 */ bge lbl_80010FF8
/* 80010FF4 0000CE34 38 E7 FF FF */ addi r7, r7, -0x1
.global lbl_80010FF8
/* 80010FF4 0000CE34 38 E7 FF FF */ addi r7, r7, -1
lbl_80010FF8:
/* 80010FF8 0000CE38 2C 07 00 00 */ cmpwi r7, 0x0
/* 80010FF8 0000CE38 2C 07 00 00 */ cmpwi r7, 0
/* 80010FFC 0000CE3C 40 80 00 18 */ bge lbl_80011014
/* 80011000 0000CE40 54 A7 0F FE */ srwi r7, r5, 31
/* 80011000 0000CE40 54 A7 0F FE */ srwi r7, r5, 0x1f
/* 80011004 0000CE44 55 20 08 3C */ slwi r0, r9, 1
/* 80011008 0000CE48 7D 27 02 14 */ add r9, r7, r0
/* 8001100C 0000CE4C 7C A5 2A 14 */ add r5, r5, r5
/* 80011010 0000CE50 48 00 00 30 */ b lbl_80011040
.global lbl_80011014
lbl_80011014:
/* 80011014 0000CE54 7C E0 63 79 */ or. r0, r7, r12
/* 80011018 0000CE58 40 82 00 18 */ bne lbl_80011030
/* 8001101C 0000CE5C 3C 60 80 40 */ lis r3, Zero@ha
/* 80011020 0000CE60 54 80 27 38 */ rlwinm r0, r4, 4, 28, 28
/* 80011020 0000CE60 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c
/* 80011024 0000CE64 38 63 72 A0 */ addi r3, r3, Zero@l
/* 80011028 0000CE68 7C 23 04 AE */ lfdx f1, r3, r0
/* 8001102C 0000CE6C 48 00 01 28 */ b lbl_80011154
.global lbl_80011030
lbl_80011030:
/* 80011030 0000CE70 55 85 0F FE */ srwi r5, r12, 31
/* 80011030 0000CE70 55 85 0F FE */ srwi r5, r12, 0x1f
/* 80011034 0000CE74 54 E0 08 3C */ slwi r0, r7, 1
/* 80011038 0000CE78 7D 25 02 14 */ add r9, r5, r0
/* 8001103C 0000CE7C 55 85 08 3C */ slwi r5, r12, 1
.global lbl_80011040
lbl_80011040:
/* 80011040 0000CE80 42 00 FF 80 */ bdnz lbl_80010FC0
.global lbl_80011044
lbl_80011044:
/* 80011044 0000CE84 7C EA 48 51 */ subf. r7, r10, r9
/* 80011048 0000CE88 7D 46 28 50 */ subf r10, r6, r5
@ -226,58 +195,51 @@ lbl_80011044:
/* 80011054 0000CE94 7C 00 40 40 */ cmplw r0, r8
/* 80011058 0000CE98 40 82 00 18 */ bne lbl_80011070
/* 8001105C 0000CE9C 3C 60 80 40 */ lis r3, Zero@ha
/* 80011060 0000CEA0 54 80 27 38 */ rlwinm r0, r4, 4, 28, 28
/* 80011060 0000CEA0 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c
/* 80011064 0000CEA4 38 63 72 A0 */ addi r3, r3, Zero@l
/* 80011068 0000CEA8 7C 23 04 AE */ lfdx f1, r3, r0
/* 8001106C 0000CEAC 48 00 00 E8 */ b lbl_80011154
.global lbl_80011070
lbl_80011070:
/* 80011070 0000CEB0 7C 05 30 40 */ cmplw r5, r6
/* 80011074 0000CEB4 40 80 00 08 */ bge lbl_8001107C
/* 80011078 0000CEB8 38 E7 FF FF */ addi r7, r7, -0x1
.global lbl_8001107C
/* 80011078 0000CEB8 38 E7 FF FF */ addi r7, r7, -1
lbl_8001107C:
/* 8001107C 0000CEBC 2C 07 00 00 */ cmpwi r7, 0x0
/* 8001107C 0000CEBC 2C 07 00 00 */ cmpwi r7, 0
/* 80011080 0000CEC0 41 80 00 0C */ blt lbl_8001108C
/* 80011084 0000CEC4 7C E9 3B 78 */ mr r9, r7
/* 80011088 0000CEC8 7D 45 53 78 */ mr r5, r10
.global lbl_8001108C
lbl_8001108C:
/* 8001108C 0000CECC 7D 20 2B 79 */ or. r0, r9, r5
/* 80011090 0000CED0 40 82 00 18 */ bne lbl_800110A8
/* 80011094 0000CED4 3C 60 80 40 */ lis r3, Zero@ha
/* 80011098 0000CED8 54 80 27 38 */ rlwinm r0, r4, 4, 28, 28
/* 80011098 0000CED8 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c
/* 8001109C 0000CEDC 38 63 72 A0 */ addi r3, r3, Zero@l
/* 800110A0 0000CEE0 7C 23 04 AE */ lfdx f1, r3, r0
/* 800110A4 0000CEE4 48 00 00 B0 */ b lbl_80011154
.global lbl_800110A8
lbl_800110A8:
/* 800110A8 0000CEE8 3C 00 00 10 */ lis r0, 0x10
/* 800110AC 0000CEEC 48 00 00 18 */ b lbl_800110C4
.global lbl_800110B0
lbl_800110B0:
/* 800110B0 0000CEF0 54 A7 0F FE */ srwi r7, r5, 31
/* 800110B0 0000CEF0 54 A7 0F FE */ srwi r7, r5, 0x1f
/* 800110B4 0000CEF4 55 26 08 3C */ slwi r6, r9, 1
/* 800110B8 0000CEF8 7D 27 32 14 */ add r9, r7, r6
/* 800110BC 0000CEFC 7C A5 2A 14 */ add r5, r5, r5
/* 800110C0 0000CF00 38 63 FF FF */ addi r3, r3, -0x1
.global lbl_800110C4
/* 800110C0 0000CF00 38 63 FF FF */ addi r3, r3, -1
lbl_800110C4:
/* 800110C4 0000CF04 7C 09 00 00 */ cmpw r9, r0
/* 800110C8 0000CF08 41 80 FF E8 */ blt lbl_800110B0
/* 800110CC 0000CF0C 2C 03 FC 02 */ cmpwi r3, -0x3fe
/* 800110CC 0000CF0C 2C 03 FC 02 */ cmpwi r3, -1022
/* 800110D0 0000CF10 41 80 00 24 */ blt lbl_800110F4
/* 800110D4 0000CF14 38 03 03 FF */ addi r0, r3, 0x3ff
/* 800110D8 0000CF18 3C 69 FF F0 */ addis r3, r9, 0xfff0
/* 800110DC 0000CF1C 54 00 A0 16 */ slwi r0, r0, 20
/* 800110DC 0000CF1C 54 00 A0 16 */ slwi r0, r0, 0x14
/* 800110E0 0000CF20 90 A1 00 0C */ stw r5, 0xc(r1)
/* 800110E4 0000CF24 7C 60 03 78 */ or r0, r3, r0
/* 800110E8 0000CF28 7C 00 23 78 */ or r0, r0, r4
/* 800110EC 0000CF2C 90 01 00 08 */ stw r0, 0x8(r1)
/* 800110EC 0000CF2C 90 01 00 08 */ stw r0, 8(r1)
/* 800110F0 0000CF30 48 00 00 60 */ b lbl_80011150
.global lbl_800110F4
lbl_800110F4:
/* 800110F4 0000CF34 20 C3 FC 02 */ subfic r6, r3, -0x3fe
/* 800110F4 0000CF34 20 C3 FC 02 */ subfic r6, r3, -1022
/* 800110F8 0000CF38 2C 06 00 14 */ cmpwi r6, 0x14
/* 800110FC 0000CF3C 41 81 00 1C */ bgt lbl_80011118
/* 80011100 0000CF40 20 06 00 20 */ subfic r0, r6, 0x20
@ -286,7 +248,6 @@ lbl_800110F4:
/* 8001110C 0000CF4C 7D 29 36 30 */ sraw r9, r9, r6
/* 80011110 0000CF50 7C 63 03 78 */ or r3, r3, r0
/* 80011114 0000CF54 48 00 00 30 */ b lbl_80011144
.global lbl_80011118
lbl_80011118:
/* 80011118 0000CF58 2C 06 00 1F */ cmpwi r6, 0x1f
/* 8001111C 0000CF5C 41 81 00 1C */ bgt lbl_80011138
@ -296,29 +257,23 @@ lbl_80011118:
/* 8001112C 0000CF6C 7C 89 23 78 */ mr r9, r4
/* 80011130 0000CF70 7C 63 03 78 */ or r3, r3, r0
/* 80011134 0000CF74 48 00 00 10 */ b lbl_80011144
.global lbl_80011138
lbl_80011138:
/* 80011138 0000CF78 38 06 FF E0 */ addi r0, r6, -0x20
/* 80011138 0000CF78 38 06 FF E0 */ addi r0, r6, -32
/* 8001113C 0000CF7C 7D 23 06 30 */ sraw r3, r9, r0
/* 80011140 0000CF80 7C 89 23 78 */ mr r9, r4
.global lbl_80011144
lbl_80011144:
/* 80011144 0000CF84 7D 20 23 78 */ or r0, r9, r4
/* 80011148 0000CF88 90 01 00 08 */ stw r0, 0x8(r1)
/* 80011148 0000CF88 90 01 00 08 */ stw r0, 8(r1)
/* 8001114C 0000CF8C 90 61 00 0C */ stw r3, 0xc(r1)
.global lbl_80011150
lbl_80011150:
/* 80011150 0000CF90 C8 21 00 08 */ lfd f1, 0x8(r1)
.global lbl_80011154
/* 80011150 0000CF90 C8 21 00 08 */ lfd f1, 8(r1)
lbl_80011154:
/* 80011154 0000CF94 38 21 00 20 */ addi r1, r1, 0x20
/* 80011158 0000CF98 4E 80 00 20 */ blr
.include "macros.inc"
/* 80011158 0000CF98 4E 80 00 20 */ blr
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global Zero
Zero:
.4byte 0
.4byte 0
.4byte 0x80000000

View file

@ -1,111 +1,104 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __ieee754_log
__ieee754_log:
/* 8001115C 0000CF9C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80011160 0000CFA0 3C 00 00 10 */ lis r0, 0x10
/* 80011164 0000CFA4 38 E0 00 00 */ li r7, 0x0
/* 80011168 0000CFA8 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 8001116C 0000CFAC 81 01 00 08 */ lwz r8, 0x8(r1)
/* 80011164 0000CFA4 38 E0 00 00 */ li r7, 0
/* 80011168 0000CFA8 D8 21 00 08 */ stfd f1, 8(r1)
/* 8001116C 0000CFAC 81 01 00 08 */ lwz r8, 8(r1)
/* 80011170 0000CFB0 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80011174 0000CFB4 7C 08 00 00 */ cmpw r8, r0
/* 80011178 0000CFB8 40 80 00 54 */ bge lbl_800111CC
/* 8001117C 0000CFBC 55 00 00 7E */ clrlwi r0, r8, 1
/* 80011180 0000CFC0 7C 00 1B 79 */ or. r0, r0, r3
/* 80011184 0000CFC4 40 82 00 14 */ bne lbl_80011198
/* 80011188 0000CFC8 C8 22 81 98 */ lfd f1, "@514_8055E118"@sda21(r2)
/* 8001118C 0000CFCC C8 0D E2 F0 */ lfd f0, zero_8055C710@sda21(r13)
/* 80011188 0000CFC8 C8 22 81 98 */ lfd f1, $$2514-_SDA2_BASE_(r2)
/* 8001118C 0000CFCC C8 0D E2 F0 */ lfd f0, zero-_SDA_BASE_(r13)
/* 80011190 0000CFD0 FC 21 00 24 */ fdiv f1, f1, f0
/* 80011194 0000CFD4 48 00 02 74 */ b lbl_80011408
.global lbl_80011198
lbl_80011198:
/* 80011198 0000CFD8 2C 08 00 00 */ cmpwi r8, 0x0
/* 80011198 0000CFD8 2C 08 00 00 */ cmpwi r8, 0
/* 8001119C 0000CFDC 40 80 00 1C */ bge lbl_800111B8
/* 800111A0 0000CFE0 FC 21 08 28 */ fsub f1, f1, f1
/* 800111A4 0000CFE4 C8 0D E2 F0 */ lfd f0, zero_8055C710@sda21(r13)
/* 800111A4 0000CFE4 C8 0D E2 F0 */ lfd f0, zero-_SDA_BASE_(r13)
/* 800111A8 0000CFE8 38 00 00 21 */ li r0, 0x21
/* 800111AC 0000CFEC 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 800111AC 0000CFEC 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 800111B0 0000CFF0 FC 21 00 24 */ fdiv f1, f1, f0
/* 800111B4 0000CFF4 48 00 02 54 */ b lbl_80011408
.global lbl_800111B8
lbl_800111B8:
/* 800111B8 0000CFF8 C8 02 81 A0 */ lfd f0, "@515_8055E120"@sda21(r2)
/* 800111BC 0000CFFC 38 E0 FF CA */ li r7, -0x36
/* 800111B8 0000CFF8 C8 02 81 A0 */ lfd f0, $$2515-_SDA2_BASE_(r2)
/* 800111BC 0000CFFC 38 E0 FF CA */ li r7, -54
/* 800111C0 0000D000 FC 21 00 32 */ fmul f1, f1, f0
/* 800111C4 0000D004 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 800111C8 0000D008 81 01 00 08 */ lwz r8, 0x8(r1)
.global lbl_800111CC
/* 800111C4 0000D004 D8 21 00 08 */ stfd f1, 8(r1)
/* 800111C8 0000D008 81 01 00 08 */ lwz r8, 8(r1)
lbl_800111CC:
/* 800111CC 0000D00C 3C 00 7F F0 */ lis r0, 0x7ff0
/* 800111D0 0000D010 7C 08 00 00 */ cmpw r8, r0
/* 800111D4 0000D014 41 80 00 0C */ blt lbl_800111E0
/* 800111D8 0000D018 FC 21 08 2A */ fadd f1, f1, f1
/* 800111DC 0000D01C 48 00 02 2C */ b lbl_80011408
.global lbl_800111E0
lbl_800111E0:
/* 800111E0 0000D020 7D 05 A6 70 */ srawi r5, r8, 20
/* 800111E4 0000D024 55 08 03 3E */ clrlwi r8, r8, 12
/* 800111E8 0000D028 3C 68 00 09 */ addis r3, r8, 0x9
/* 800111EC 0000D02C C8 02 81 A8 */ lfd f0, "@516_8055E128"@sda21(r2)
/* 800111E0 0000D020 7D 05 A6 70 */ srawi r5, r8, 0x14
/* 800111E4 0000D024 55 08 03 3E */ clrlwi r8, r8, 0xc
/* 800111E8 0000D028 3C 68 00 09 */ addis r3, r8, 9
/* 800111EC 0000D02C C8 02 81 A8 */ lfd f0, $$2516-_SDA2_BASE_(r2)
/* 800111F0 0000D030 38 83 5F 64 */ addi r4, r3, 0x5f64
/* 800111F4 0000D034 38 08 00 02 */ addi r0, r8, 0x2
/* 800111F8 0000D038 54 83 02 D6 */ rlwinm r3, r4, 0, 11, 11
/* 800111F4 0000D034 38 08 00 02 */ addi r0, r8, 2
/* 800111F8 0000D038 54 83 02 D6 */ rlwinm r3, r4, 0, 0xb, 0xb
/* 800111FC 0000D03C 7C A7 2A 14 */ add r5, r7, r5
/* 80011200 0000D040 6C 63 3F F0 */ xoris r3, r3, 0x3ff0
/* 80011204 0000D044 54 00 03 3E */ clrlwi r0, r0, 12
/* 80011204 0000D044 54 00 03 3E */ clrlwi r0, r0, 0xc
/* 80011208 0000D048 7D 03 1B 78 */ or r3, r8, r3
/* 8001120C 0000D04C 90 61 00 08 */ stw r3, 0x8(r1)
/* 80011210 0000D050 2C 00 00 03 */ cmpwi r0, 0x3
/* 80011214 0000D054 38 E5 FC 01 */ addi r7, r5, -0x3ff
/* 80011218 0000D058 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 8001121C 0000D05C 54 80 67 FE */ extrwi r0, r4, 1, 11
/* 8001120C 0000D04C 90 61 00 08 */ stw r3, 8(r1)
/* 80011210 0000D050 2C 00 00 03 */ cmpwi r0, 3
/* 80011214 0000D054 38 E5 FC 01 */ addi r7, r5, -1023
/* 80011218 0000D058 C8 21 00 08 */ lfd f1, 8(r1)
/* 8001121C 0000D05C 54 80 67 FE */ rlwinm r0, r4, 0xc, 0x1f, 0x1f
/* 80011220 0000D060 7C E7 02 14 */ add r7, r7, r0
/* 80011224 0000D064 FC 01 00 28 */ fsub f0, f1, f0
/* 80011228 0000D068 40 80 00 B4 */ bge lbl_800112DC
/* 8001122C 0000D06C C8 2D E2 F0 */ lfd f1, zero_8055C710@sda21(r13)
/* 8001122C 0000D06C C8 2D E2 F0 */ lfd f1, zero-_SDA_BASE_(r13)
/* 80011230 0000D070 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80011234 0000D074 40 82 00 44 */ bne lbl_80011278
/* 80011238 0000D078 2C 07 00 00 */ cmpwi r7, 0x0
/* 80011238 0000D078 2C 07 00 00 */ cmpwi r7, 0
/* 8001123C 0000D07C 40 82 00 08 */ bne lbl_80011244
/* 80011240 0000D080 48 00 01 C8 */ b lbl_80011408
.global lbl_80011244
lbl_80011244:
/* 80011244 0000D084 6C E3 80 00 */ xoris r3, r7, 0x8000
/* 80011248 0000D088 3C 00 43 30 */ lis r0, 0x4330
/* 8001124C 0000D08C 90 61 00 14 */ stw r3, 0x14(r1)
/* 80011250 0000D090 C8 62 82 10 */ lfd f3, "@530_8055E190"@sda21(r2)
/* 80011250 0000D090 C8 62 82 10 */ lfd f3, $$2530-_SDA2_BASE_(r2)
/* 80011254 0000D094 90 01 00 10 */ stw r0, 0x10(r1)
/* 80011258 0000D098 C8 22 81 B0 */ lfd f1, "@517_8055E130"@sda21(r2)
/* 80011258 0000D098 C8 22 81 B0 */ lfd f1, $$2517-_SDA2_BASE_(r2)
/* 8001125C 0000D09C C8 41 00 10 */ lfd f2, 0x10(r1)
/* 80011260 0000D0A0 C8 02 81 B8 */ lfd f0, "@518_8055E138"@sda21(r2)
/* 80011260 0000D0A0 C8 02 81 B8 */ lfd f0, $$2518-_SDA2_BASE_(r2)
/* 80011264 0000D0A4 FC 42 18 28 */ fsub f2, f2, f3
/* 80011268 0000D0A8 FC 21 00 B2 */ fmul f1, f1, f2
/* 8001126C 0000D0AC FC 00 00 B2 */ fmul f0, f0, f2
/* 80011270 0000D0B0 FC 21 00 2A */ fadd f1, f1, f0
/* 80011274 0000D0B4 48 00 01 94 */ b lbl_80011408
.global lbl_80011278
lbl_80011278:
/* 80011278 0000D0B8 C8 62 81 C8 */ lfd f3, "@520_8055E148"@sda21(r2)
/* 80011278 0000D0B8 C8 62 81 C8 */ lfd f3, $$2520-_SDA2_BASE_(r2)
/* 8001127C 0000D0BC FC 20 00 32 */ fmul f1, f0, f0
/* 80011280 0000D0C0 C8 42 81 C0 */ lfd f2, "@519_8055E140"@sda21(r2)
/* 80011284 0000D0C4 2C 07 00 00 */ cmpwi r7, 0x0
/* 80011280 0000D0C0 C8 42 81 C0 */ lfd f2, $$2519-_SDA2_BASE_(r2)
/* 80011284 0000D0C4 2C 07 00 00 */ cmpwi r7, 0
/* 80011288 0000D0C8 FC 63 00 32 */ fmul f3, f3, f0
/* 8001128C 0000D0CC FC 42 18 28 */ fsub f2, f2, f3
/* 80011290 0000D0D0 FC A2 00 72 */ fmul f5, f2, f1
/* 80011294 0000D0D4 40 82 00 0C */ bne lbl_800112A0
/* 80011298 0000D0D8 FC 20 28 28 */ fsub f1, f0, f5
/* 8001129C 0000D0DC 48 00 01 6C */ b lbl_80011408
.global lbl_800112A0
lbl_800112A0:
/* 800112A0 0000D0E0 6C E3 80 00 */ xoris r3, r7, 0x8000
/* 800112A4 0000D0E4 3C 00 43 30 */ lis r0, 0x4330
/* 800112A8 0000D0E8 90 61 00 14 */ stw r3, 0x14(r1)
/* 800112AC 0000D0EC C8 82 82 10 */ lfd f4, "@530_8055E190"@sda21(r2)
/* 800112AC 0000D0EC C8 82 82 10 */ lfd f4, $$2530-_SDA2_BASE_(r2)
/* 800112B0 0000D0F0 90 01 00 10 */ stw r0, 0x10(r1)
/* 800112B4 0000D0F4 C8 22 81 B8 */ lfd f1, "@518_8055E138"@sda21(r2)
/* 800112B4 0000D0F4 C8 22 81 B8 */ lfd f1, $$2518-_SDA2_BASE_(r2)
/* 800112B8 0000D0F8 C8 61 00 10 */ lfd f3, 0x10(r1)
/* 800112BC 0000D0FC C8 42 81 B0 */ lfd f2, "@517_8055E130"@sda21(r2)
/* 800112BC 0000D0FC C8 42 81 B0 */ lfd f2, $$2517-_SDA2_BASE_(r2)
/* 800112C0 0000D100 FC 63 20 28 */ fsub f3, f3, f4
/* 800112C4 0000D104 FC 21 00 F2 */ fmul f1, f1, f3
/* 800112C8 0000D108 FC 42 00 F2 */ fmul f2, f2, f3
@ -113,29 +106,28 @@ lbl_800112A0:
/* 800112D0 0000D110 FC 01 00 28 */ fsub f0, f1, f0
/* 800112D4 0000D114 FC 22 00 28 */ fsub f1, f2, f0
/* 800112D8 0000D118 48 00 01 30 */ b lbl_80011408
.global lbl_800112DC
lbl_800112DC:
/* 800112DC 0000D11C C8 22 81 D0 */ lfd f1, "@521_8055E150"@sda21(r2)
/* 800112E0 0000D120 3C 60 00 07 */ lis r3, 0x7
/* 800112DC 0000D11C C8 22 81 D0 */ lfd f1, $$2521-_SDA2_BASE_(r2)
/* 800112E0 0000D120 3C 60 00 07 */ lis r3, 0x0006B851@ha
/* 800112E4 0000D124 3C C8 FF FA */ addis r6, r8, 0xfffa
/* 800112E8 0000D128 6C E5 80 00 */ xoris r5, r7, 0x8000
/* 800112EC 0000D12C FC 21 00 2A */ fadd f1, f1, f0
/* 800112F0 0000D130 38 03 B8 51 */ addi r0, r3, -0x47af
/* 800112F0 0000D130 38 03 B8 51 */ addi r0, r3, 0x0006B851@l
/* 800112F4 0000D134 7C 08 00 50 */ subf r0, r8, r0
/* 800112F8 0000D138 38 C6 EB 86 */ addi r6, r6, -0x147a
/* 800112F8 0000D138 38 C6 EB 86 */ addi r6, r6, -5242
/* 800112FC 0000D13C 3C 80 43 30 */ lis r4, 0x4330
/* 80011300 0000D140 C8 A2 82 08 */ lfd f5, "@528_8055E188"@sda21(r2)
/* 80011300 0000D140 C8 A2 82 08 */ lfd f5, $$2528-_SDA2_BASE_(r2)
/* 80011304 0000D144 FC 20 08 24 */ fdiv f1, f0, f1
/* 80011308 0000D148 C8 82 82 00 */ lfd f4, "@527_8055E180"@sda21(r2)
/* 80011308 0000D148 C8 82 82 00 */ lfd f4, $$2527-_SDA2_BASE_(r2)
/* 8001130C 0000D14C 7C C6 03 79 */ or. r6, r6, r0
/* 80011310 0000D150 C9 02 81 E8 */ lfd f8, "@524_8055E168"@sda21(r2)
/* 80011314 0000D154 C8 E2 81 E0 */ lfd f7, "@523_8055E160"@sda21(r2)
/* 80011318 0000D158 C8 62 81 F8 */ lfd f3, "@526_8055E178"@sda21(r2)
/* 80011310 0000D150 C9 02 81 E8 */ lfd f8, $$2524-_SDA2_BASE_(r2)
/* 80011314 0000D154 C8 E2 81 E0 */ lfd f7, $$2523-_SDA2_BASE_(r2)
/* 80011318 0000D158 C8 62 81 F8 */ lfd f3, $$2526-_SDA2_BASE_(r2)
/* 8001131C 0000D15C FD 61 00 72 */ fmul f11, f1, f1
/* 80011320 0000D160 C8 C2 81 D8 */ lfd f6, "@522_8055E158"@sda21(r2)
/* 80011324 0000D164 C8 42 81 F0 */ lfd f2, "@525_8055E170"@sda21(r2)
/* 80011320 0000D160 C8 C2 81 D8 */ lfd f6, $$2522-_SDA2_BASE_(r2)
/* 80011324 0000D164 C8 42 81 F0 */ lfd f2, $$2525-_SDA2_BASE_(r2)
/* 80011328 0000D168 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8001132C 0000D16C C9 42 82 10 */ lfd f10, "@530_8055E190"@sda21(r2)
/* 8001132C 0000D16C C9 42 82 10 */ lfd f10, $$2530-_SDA2_BASE_(r2)
/* 80011330 0000D170 FD 8B 02 F2 */ fmul f12, f11, f11
/* 80011334 0000D174 90 81 00 10 */ stw r4, 0x10(r1)
/* 80011338 0000D178 C9 21 00 10 */ lfd f9, 0x10(r1)
@ -154,8 +146,8 @@ lbl_800112DC:
/* 8001136C 0000D1AC FC 4B 00 B2 */ fmul f2, f11, f2
/* 80011370 0000D1B0 FC 62 20 2A */ fadd f3, f2, f4
/* 80011374 0000D1B4 40 81 00 58 */ ble lbl_800113CC
/* 80011378 0000D1B8 C8 42 81 C0 */ lfd f2, "@519_8055E140"@sda21(r2)
/* 8001137C 0000D1BC 2C 07 00 00 */ cmpwi r7, 0x0
/* 80011378 0000D1B8 C8 42 81 C0 */ lfd f2, $$2519-_SDA2_BASE_(r2)
/* 8001137C 0000D1BC 2C 07 00 00 */ cmpwi r7, 0
/* 80011380 0000D1C0 FC 42 00 32 */ fmul f2, f2, f0
/* 80011384 0000D1C4 FC A2 00 32 */ fmul f5, f2, f0
/* 80011388 0000D1C8 40 82 00 18 */ bne lbl_800113A0
@ -164,11 +156,10 @@ lbl_800112DC:
/* 80011394 0000D1D4 FC 25 08 28 */ fsub f1, f5, f1
/* 80011398 0000D1D8 FC 20 08 28 */ fsub f1, f0, f1
/* 8001139C 0000D1DC 48 00 00 6C */ b lbl_80011408
.global lbl_800113A0
lbl_800113A0:
/* 800113A0 0000D1E0 FC 65 18 2A */ fadd f3, f5, f3
/* 800113A4 0000D1E4 C8 42 81 B8 */ lfd f2, "@518_8055E138"@sda21(r2)
/* 800113A8 0000D1E8 C8 82 81 B0 */ lfd f4, "@517_8055E130"@sda21(r2)
/* 800113A4 0000D1E4 C8 42 81 B8 */ lfd f2, $$2518-_SDA2_BASE_(r2)
/* 800113A8 0000D1E8 C8 82 81 B0 */ lfd f4, $$2517-_SDA2_BASE_(r2)
/* 800113AC 0000D1EC FC 42 02 72 */ fmul f2, f2, f9
/* 800113B0 0000D1F0 FC 21 00 F2 */ fmul f1, f1, f3
/* 800113B4 0000D1F4 FC 64 02 72 */ fmul f3, f4, f9
@ -177,130 +168,94 @@ lbl_800113A0:
/* 800113C0 0000D200 FC 01 00 28 */ fsub f0, f1, f0
/* 800113C4 0000D204 FC 23 00 28 */ fsub f1, f3, f0
/* 800113C8 0000D208 48 00 00 40 */ b lbl_80011408
.global lbl_800113CC
lbl_800113CC:
/* 800113CC 0000D20C 2C 07 00 00 */ cmpwi r7, 0x0
/* 800113CC 0000D20C 2C 07 00 00 */ cmpwi r7, 0
/* 800113D0 0000D210 40 82 00 14 */ bne lbl_800113E4
/* 800113D4 0000D214 FC 40 18 28 */ fsub f2, f0, f3
/* 800113D8 0000D218 FC 21 00 B2 */ fmul f1, f1, f2
/* 800113DC 0000D21C FC 20 08 28 */ fsub f1, f0, f1
/* 800113E0 0000D220 48 00 00 28 */ b lbl_80011408
.global lbl_800113E4
lbl_800113E4:
/* 800113E4 0000D224 FC 60 18 28 */ fsub f3, f0, f3
/* 800113E8 0000D228 C8 42 81 B8 */ lfd f2, "@518_8055E138"@sda21(r2)
/* 800113EC 0000D22C C8 82 81 B0 */ lfd f4, "@517_8055E130"@sda21(r2)
/* 800113E8 0000D228 C8 42 81 B8 */ lfd f2, $$2518-_SDA2_BASE_(r2)
/* 800113EC 0000D22C C8 82 81 B0 */ lfd f4, $$2517-_SDA2_BASE_(r2)
/* 800113F0 0000D230 FC 42 02 72 */ fmul f2, f2, f9
/* 800113F4 0000D234 FC 21 00 F2 */ fmul f1, f1, f3
/* 800113F8 0000D238 FC 64 02 72 */ fmul f3, f4, f9
/* 800113FC 0000D23C FC 21 10 28 */ fsub f1, f1, f2
/* 80011400 0000D240 FC 01 00 28 */ fsub f0, f1, f0
/* 80011404 0000D244 FC 23 00 28 */ fsub f1, f3, f0
.global lbl_80011408
lbl_80011408:
/* 80011408 0000D248 38 21 00 20 */ addi r1, r1, 0x20
/* 8001140C 0000D24C 4E 80 00 20 */ blr
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global zero_8055C710
zero_8055C710:
.skip 0x8
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@514_8055E118"
"@514_8055E118":
/* 8001140C 0000D24C 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2514
$$2514:
.4byte 0xC3500000
.4byte 0
.global "@515_8055E120"
"@515_8055E120":
.global $$2515
$$2515:
.4byte 0x43500000
.4byte 0
.global "@516_8055E128"
"@516_8055E128":
.global $$2516
$$2516:
.4byte 0x3FF00000
.4byte 0
.global "@517_8055E130"
"@517_8055E130":
.global $$2517
$$2517:
.4byte 0x3FE62E42
.4byte 0xFEE00000
.global "@518_8055E138"
"@518_8055E138":
.global $$2518
$$2518:
.4byte 0x3DEA39EF
.4byte 0x35793C76
.global "@519_8055E140"
"@519_8055E140":
.global $$2519
$$2519:
.4byte 0x3FE00000
.4byte 0
.global "@520_8055E148"
"@520_8055E148":
.global $$2520
$$2520:
.4byte 0x3FD55555
.4byte 0x55555555
.global "@521_8055E150"
"@521_8055E150":
.global $$2521
$$2521:
.4byte 0x40000000
.4byte 0
.global "@522_8055E158"
"@522_8055E158":
.global $$2522
$$2522:
.4byte 0x3FD99999
.4byte 0x9997FA04
.global "@523_8055E160"
"@523_8055E160":
.global $$2523
$$2523:
.4byte 0x3FCC71C5
.4byte 0x1D8E78AF
.global "@524_8055E168"
"@524_8055E168":
.global $$2524
$$2524:
.4byte 0x3FC39A09
.4byte 0xD078C69F
.global "@525_8055E170"
"@525_8055E170":
.global $$2525
$$2525:
.4byte 0x3FE55555
.4byte 0x55555593
.global "@526_8055E178"
"@526_8055E178":
.global $$2526
$$2526:
.4byte 0x3FD24924
.4byte 0x94229359
.global "@527_8055E180"
"@527_8055E180":
.global $$2527
$$2527:
.4byte 0x3FC74664
.4byte 0x96CB03DE
.global "@528_8055E188"
"@528_8055E188":
.global $$2528
$$2528:
.4byte 0x3FC2F112
.4byte 0xDF3E5244
.global "@530_8055E190"
"@530_8055E190":
.global $$2530
$$2530:
.4byte 0x43300000
.4byte 0x80000000
.section .bss, "wa" # 0x80496700 - 0x805643FC
.global zero
zero:
.skip 0x8

View file

@ -1,128 +1,110 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __ieee754_log10
__ieee754_log10:
/* 80011410 0000D250 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80011414 0000D254 7C 08 02 A6 */ mflr r0
/* 80011418 0000D258 90 01 00 24 */ stw r0, 0x24(r1)
/* 8001141C 0000D25C DB E1 00 18 */ stfd f31, 0x18(r1)
/* 80011420 0000D260 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80011420 0000D260 D8 21 00 08 */ stfd f1, 8(r1)
/* 80011424 0000D264 3C 00 00 10 */ lis r0, 0x10
/* 80011428 0000D268 38 80 00 00 */ li r4, 0x0
/* 8001142C 0000D26C 80 A1 00 08 */ lwz r5, 0x8(r1)
/* 80011428 0000D268 38 80 00 00 */ li r4, 0
/* 8001142C 0000D26C 80 A1 00 08 */ lwz r5, 8(r1)
/* 80011430 0000D270 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80011434 0000D274 7C 05 00 00 */ cmpw r5, r0
/* 80011438 0000D278 40 80 00 5C */ bge lbl_80011494
/* 8001143C 0000D27C 54 A0 00 7E */ clrlwi r0, r5, 1
/* 80011440 0000D280 7C 00 1B 79 */ or. r0, r0, r3
/* 80011444 0000D284 40 82 00 1C */ bne lbl_80011460
/* 80011448 0000D288 C8 22 82 18 */ lfd f1, "@478_8055E198"@sda21(r2)
/* 80011448 0000D288 C8 22 82 18 */ lfd f1, $$2478-_SDA2_BASE_(r2)
/* 8001144C 0000D28C 38 00 00 21 */ li r0, 0x21
/* 80011450 0000D290 C8 0D E2 F8 */ lfd f0, zero_8055C718@sda21(r13)
/* 80011454 0000D294 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 80011450 0000D290 C8 0D E2 F8 */ lfd f0, zero-_SDA_BASE_(r13)
/* 80011454 0000D294 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 80011458 0000D298 FC 21 00 24 */ fdiv f1, f1, f0
/* 8001145C 0000D29C 48 00 00 B4 */ b lbl_80011510
.global lbl_80011460
lbl_80011460:
/* 80011460 0000D2A0 2C 05 00 00 */ cmpwi r5, 0x0
/* 80011460 0000D2A0 2C 05 00 00 */ cmpwi r5, 0
/* 80011464 0000D2A4 40 80 00 1C */ bge lbl_80011480
/* 80011468 0000D2A8 FC 21 08 28 */ fsub f1, f1, f1
/* 8001146C 0000D2AC C8 0D E2 F8 */ lfd f0, zero_8055C718@sda21(r13)
/* 8001146C 0000D2AC C8 0D E2 F8 */ lfd f0, zero-_SDA_BASE_(r13)
/* 80011470 0000D2B0 38 00 00 21 */ li r0, 0x21
/* 80011474 0000D2B4 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 80011474 0000D2B4 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 80011478 0000D2B8 FC 21 00 24 */ fdiv f1, f1, f0
/* 8001147C 0000D2BC 48 00 00 94 */ b lbl_80011510
.global lbl_80011480
lbl_80011480:
/* 80011480 0000D2C0 C8 02 82 20 */ lfd f0, "@479_8055E1A0"@sda21(r2)
/* 80011484 0000D2C4 38 80 FF CA */ li r4, -0x36
/* 80011480 0000D2C0 C8 02 82 20 */ lfd f0, $$2479-_SDA2_BASE_(r2)
/* 80011484 0000D2C4 38 80 FF CA */ li r4, -54
/* 80011488 0000D2C8 FC 21 00 32 */ fmul f1, f1, f0
/* 8001148C 0000D2CC D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80011490 0000D2D0 80 A1 00 08 */ lwz r5, 0x8(r1)
.global lbl_80011494
/* 8001148C 0000D2CC D8 21 00 08 */ stfd f1, 8(r1)
/* 80011490 0000D2D0 80 A1 00 08 */ lwz r5, 8(r1)
lbl_80011494:
/* 80011494 0000D2D4 3C 00 7F F0 */ lis r0, 0x7ff0
/* 80011498 0000D2D8 7C 05 00 00 */ cmpw r5, r0
/* 8001149C 0000D2DC 41 80 00 0C */ blt lbl_800114A8
/* 800114A0 0000D2E0 FC 21 08 2A */ fadd f1, f1, f1
/* 800114A4 0000D2E4 48 00 00 6C */ b lbl_80011510
.global lbl_800114A8
lbl_800114A8:
/* 800114A8 0000D2E8 7C A3 A6 70 */ srawi r3, r5, 20
/* 800114A8 0000D2E8 7C A3 A6 70 */ srawi r3, r5, 0x14
/* 800114AC 0000D2EC 3C 00 43 30 */ lis r0, 0x4330
/* 800114B0 0000D2F0 7C 64 1A 14 */ add r3, r4, r3
/* 800114B4 0000D2F4 90 01 00 10 */ stw r0, 0x10(r1)
/* 800114B8 0000D2F8 38 83 FC 01 */ addi r4, r3, -0x3ff
/* 800114BC 0000D2FC C8 22 82 40 */ lfd f1, "@484_8055E1C0"@sda21(r2)
/* 800114C0 0000D300 54 83 0F FE */ srwi r3, r4, 31
/* 800114B8 0000D2F8 38 83 FC 01 */ addi r4, r3, -1023
/* 800114BC 0000D2FC C8 22 82 40 */ lfd f1, $$2484-_SDA2_BASE_(r2)
/* 800114C0 0000D300 54 83 0F FE */ srwi r3, r4, 0x1f
/* 800114C4 0000D304 7C 04 1A 14 */ add r0, r4, r3
/* 800114C8 0000D308 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 800114CC 0000D30C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800114D0 0000D310 20 03 03 FF */ subfic r0, r3, 0x3ff
/* 800114D4 0000D314 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 800114D8 0000D318 54 00 A0 16 */ slwi r0, r0, 20
/* 800114DC 0000D31C 50 A0 03 3E */ rlwimi r0, r5, 0, 12, 31
/* 800114E0 0000D320 90 01 00 08 */ stw r0, 0x8(r1)
/* 800114D8 0000D318 54 00 A0 16 */ slwi r0, r0, 0x14
/* 800114DC 0000D31C 50 A0 03 3E */ rlwimi r0, r5, 0, 0xc, 0x1f
/* 800114E0 0000D320 90 01 00 08 */ stw r0, 8(r1)
/* 800114E4 0000D324 FF E0 08 28 */ fsub f31, f0, f1
/* 800114E8 0000D328 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 800114E8 0000D328 C8 21 00 08 */ lfd f1, 8(r1)
/* 800114EC 0000D32C 4B FF FC 71 */ bl __ieee754_log
/* 800114F0 0000D330 C8 02 82 30 */ lfd f0, "@481_8055E1B0"@sda21(r2)
/* 800114F4 0000D334 C8 42 82 28 */ lfd f2, "@480_8055E1A8"@sda21(r2)
/* 800114F0 0000D330 C8 02 82 30 */ lfd f0, $$2481-_SDA2_BASE_(r2)
/* 800114F4 0000D334 C8 42 82 28 */ lfd f2, $$2480-_SDA2_BASE_(r2)
/* 800114F8 0000D338 FC 60 00 72 */ fmul f3, f0, f1
/* 800114FC 0000D33C C8 02 82 38 */ lfd f0, "@482_8055E1B8"@sda21(r2)
/* 800114FC 0000D33C C8 02 82 38 */ lfd f0, $$2482-_SDA2_BASE_(r2)
/* 80011500 0000D340 FC 22 07 F2 */ fmul f1, f2, f31
/* 80011504 0000D344 FC 00 07 F2 */ fmul f0, f0, f31
/* 80011508 0000D348 FC 21 18 2A */ fadd f1, f1, f3
/* 8001150C 0000D34C FC 21 00 2A */ fadd f1, f1, f0
.global lbl_80011510
lbl_80011510:
/* 80011510 0000D350 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80011514 0000D354 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 80011518 0000D358 7C 08 03 A6 */ mtlr r0
/* 8001151C 0000D35C 38 21 00 20 */ addi r1, r1, 0x20
/* 80011520 0000D360 4E 80 00 20 */ blr
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global zero_8055C718
zero_8055C718:
.skip 0x8
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@478_8055E198"
"@478_8055E198":
/* 80011520 0000D360 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2478
$$2478:
.4byte 0xC3500000
.4byte 0
.global "@479_8055E1A0"
"@479_8055E1A0":
.global $$2479
$$2479:
.4byte 0x43500000
.4byte 0
.global "@480_8055E1A8"
"@480_8055E1A8":
.global $$2480
$$2480:
.4byte 0x3D59FEF3
.4byte 0x11F12B36
.global "@481_8055E1B0"
"@481_8055E1B0":
.global $$2481
$$2481:
.4byte 0x3FDBCB7B
.4byte 0x1526E50E
.global "@482_8055E1B8"
"@482_8055E1B8":
.global $$2482
$$2482:
.4byte 0x3FD34413
.4byte 0x509F6000
.global "@484_8055E1C0"
"@484_8055E1C0":
.global $$2484
$$2484:
.4byte 0x43300000
.4byte 0x80000000
.section .bss, "wa" # 0x80496700 - 0x805643FC
.global zero
zero:
.skip 0x8

View file

@ -1,78 +1,73 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __ieee754_pow
__ieee754_pow:
/* 80011524 0000D364 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 80011528 0000D368 7C 08 02 A6 */ mflr r0
/* 8001152C 0000D36C 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 80011530 0000D370 DB E1 00 B0 */ stfd f31, 0xb0(r1)
/* 80011534 0000D374 F3 E1 00 B8 */ psq_st f31, 0xb8(r1), 0, qr0
/* 80011534 0000D374 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0
/* 80011538 0000D378 DB C1 00 A0 */ stfd f30, 0xa0(r1)
/* 8001153C 0000D37C F3 C1 00 A8 */ psq_st f30, 0xa8(r1), 0, qr0
/* 8001153C 0000D37C F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0
/* 80011540 0000D380 DB A1 00 90 */ stfd f29, 0x90(r1)
/* 80011544 0000D384 F3 A1 00 98 */ psq_st f29, 0x98(r1), 0, qr0
/* 80011544 0000D384 F3 A1 00 98 */ psq_st f29, 152(r1), 0, qr0
/* 80011548 0000D388 DB 81 00 80 */ stfd f28, 0x80(r1)
/* 8001154C 0000D38C F3 81 00 88 */ psq_st f28, 0x88(r1), 0, qr0
/* 8001154C 0000D38C F3 81 00 88 */ psq_st f28, 136(r1), 0, qr0
/* 80011550 0000D390 DB 61 00 70 */ stfd f27, 0x70(r1)
/* 80011554 0000D394 F3 61 00 78 */ psq_st f27, 0x78(r1), 0, qr0
/* 80011554 0000D394 F3 61 00 78 */ psq_st f27, 120(r1), 0, qr0
/* 80011558 0000D398 DB 41 00 60 */ stfd f26, 0x60(r1)
/* 8001155C 0000D39C F3 41 00 68 */ psq_st f26, 0x68(r1), 0, qr0
/* 8001155C 0000D39C F3 41 00 68 */ psq_st f26, 104(r1), 0, qr0
/* 80011560 0000D3A0 D8 41 00 10 */ stfd f2, 0x10(r1)
/* 80011564 0000D3A4 3C 60 80 40 */ lis r3, bp@ha
/* 80011568 0000D3A8 38 63 72 B0 */ addi r3, r3, bp@l
/* 8001156C 0000D3AC 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 80011570 0000D3B0 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80011570 0000D3B0 D8 21 00 08 */ stfd f1, 8(r1)
/* 80011574 0000D3B4 81 61 00 14 */ lwz r11, 0x14(r1)
/* 80011578 0000D3B8 54 A7 00 7E */ clrlwi r7, r5, 1
/* 8001157C 0000D3BC 81 21 00 08 */ lwz r9, 0x8(r1)
/* 8001157C 0000D3BC 81 21 00 08 */ lwz r9, 8(r1)
/* 80011580 0000D3C0 7C E0 5B 79 */ or. r0, r7, r11
/* 80011584 0000D3C4 81 41 00 0C */ lwz r10, 0xc(r1)
/* 80011588 0000D3C8 55 26 00 7E */ clrlwi r6, r9, 1
/* 8001158C 0000D3CC 40 82 00 0C */ bne lbl_80011598
/* 80011590 0000D3D0 C8 22 82 48 */ lfd f1, "@794"@sda21(r2)
/* 80011590 0000D3D0 C8 22 82 48 */ lfd f1, $$2794-_SDA2_BASE_(r2)
/* 80011594 0000D3D4 48 00 07 64 */ b lbl_80011CF8
.global lbl_80011598
lbl_80011598:
/* 80011598 0000D3D8 3C 00 7F F0 */ lis r0, 0x7ff0
/* 8001159C 0000D3DC 7C 06 00 00 */ cmpw r6, r0
/* 800115A0 0000D3E0 41 81 00 38 */ bgt lbl_800115D8
/* 800115A4 0000D3E4 3C 06 80 10 */ addis r0, r6, 0x8010
/* 800115A8 0000D3E8 28 00 00 00 */ cmplwi r0, 0x0
/* 800115A8 0000D3E8 28 00 00 00 */ cmplwi r0, 0
/* 800115AC 0000D3EC 40 82 00 0C */ bne lbl_800115B8
/* 800115B0 0000D3F0 2C 0A 00 00 */ cmpwi r10, 0x0
/* 800115B0 0000D3F0 2C 0A 00 00 */ cmpwi r10, 0
/* 800115B4 0000D3F4 40 82 00 24 */ bne lbl_800115D8
.global lbl_800115B8
lbl_800115B8:
/* 800115B8 0000D3F8 3C 00 7F F0 */ lis r0, 0x7ff0
/* 800115BC 0000D3FC 7C 07 00 00 */ cmpw r7, r0
/* 800115C0 0000D400 41 81 00 18 */ bgt lbl_800115D8
/* 800115C4 0000D404 3C 07 80 10 */ addis r0, r7, 0x8010
/* 800115C8 0000D408 28 00 00 00 */ cmplwi r0, 0x0
/* 800115C8 0000D408 28 00 00 00 */ cmplwi r0, 0
/* 800115CC 0000D40C 40 82 00 14 */ bne lbl_800115E0
/* 800115D0 0000D410 2C 0B 00 00 */ cmpwi r11, 0x0
/* 800115D0 0000D410 2C 0B 00 00 */ cmpwi r11, 0
/* 800115D4 0000D414 41 82 00 0C */ beq lbl_800115E0
.global lbl_800115D8
lbl_800115D8:
/* 800115D8 0000D418 FC 21 10 2A */ fadd f1, f1, f2
/* 800115DC 0000D41C 48 00 07 1C */ b lbl_80011CF8
.global lbl_800115E0
lbl_800115E0:
/* 800115E0 0000D420 2C 09 00 00 */ cmpwi r9, 0x0
/* 800115E4 0000D424 38 80 00 00 */ li r4, 0x0
/* 800115E0 0000D420 2C 09 00 00 */ cmpwi r9, 0
/* 800115E4 0000D424 38 80 00 00 */ li r4, 0
/* 800115E8 0000D428 40 80 00 78 */ bge lbl_80011660
/* 800115EC 0000D42C 3C 00 43 40 */ lis r0, 0x4340
/* 800115F0 0000D430 7C 07 00 00 */ cmpw r7, r0
/* 800115F4 0000D434 41 80 00 0C */ blt lbl_80011600
/* 800115F8 0000D438 38 80 00 02 */ li r4, 0x2
/* 800115F8 0000D438 38 80 00 02 */ li r4, 2
/* 800115FC 0000D43C 48 00 00 64 */ b lbl_80011660
.global lbl_80011600
lbl_80011600:
/* 80011600 0000D440 3C 00 3F F0 */ lis r0, 0x3ff0
/* 80011604 0000D444 7C 07 00 00 */ cmpw r7, r0
/* 80011608 0000D448 41 80 00 58 */ blt lbl_80011660
/* 8001160C 0000D44C 7C E8 A6 70 */ srawi r8, r7, 20
/* 80011610 0000D450 38 08 FC 01 */ addi r0, r8, -0x3ff
/* 8001160C 0000D44C 7C E8 A6 70 */ srawi r8, r7, 0x14
/* 80011610 0000D450 38 08 FC 01 */ addi r0, r8, -1023
/* 80011614 0000D454 2C 00 00 14 */ cmpwi r0, 0x14
/* 80011618 0000D458 40 81 00 24 */ ble lbl_8001163C
/* 8001161C 0000D45C 20 00 00 34 */ subfic r0, r0, 0x34
@ -80,104 +75,92 @@ lbl_80011600:
/* 80011624 0000D464 7D 00 00 30 */ slw r0, r8, r0
/* 80011628 0000D468 7C 0B 00 40 */ cmplw r11, r0
/* 8001162C 0000D46C 40 82 00 34 */ bne lbl_80011660
/* 80011630 0000D470 55 00 07 FE */ clrlwi r0, r8, 31
/* 80011634 0000D474 20 80 00 02 */ subfic r4, r0, 0x2
/* 80011630 0000D470 55 00 07 FE */ clrlwi r0, r8, 0x1f
/* 80011634 0000D474 20 80 00 02 */ subfic r4, r0, 2
/* 80011638 0000D478 48 00 00 28 */ b lbl_80011660
.global lbl_8001163C
lbl_8001163C:
/* 8001163C 0000D47C 2C 0B 00 00 */ cmpwi r11, 0x0
/* 8001163C 0000D47C 2C 0B 00 00 */ cmpwi r11, 0
/* 80011640 0000D480 40 82 00 20 */ bne lbl_80011660
/* 80011644 0000D484 20 00 00 14 */ subfic r0, r0, 0x14
/* 80011648 0000D488 7C E8 06 30 */ sraw r8, r7, r0
/* 8001164C 0000D48C 7D 00 00 30 */ slw r0, r8, r0
/* 80011650 0000D490 7C 07 00 00 */ cmpw r7, r0
/* 80011654 0000D494 40 82 00 0C */ bne lbl_80011660
/* 80011658 0000D498 55 00 07 FE */ clrlwi r0, r8, 31
/* 8001165C 0000D49C 20 80 00 02 */ subfic r4, r0, 0x2
.global lbl_80011660
/* 80011658 0000D498 55 00 07 FE */ clrlwi r0, r8, 0x1f
/* 8001165C 0000D49C 20 80 00 02 */ subfic r4, r0, 2
lbl_80011660:
/* 80011660 0000D4A0 2C 0B 00 00 */ cmpwi r11, 0x0
/* 80011660 0000D4A0 2C 0B 00 00 */ cmpwi r11, 0
/* 80011664 0000D4A4 40 82 00 B0 */ bne lbl_80011714
/* 80011668 0000D4A8 3C 07 80 10 */ addis r0, r7, 0x8010
/* 8001166C 0000D4AC 28 00 00 00 */ cmplwi r0, 0x0
/* 8001166C 0000D4AC 28 00 00 00 */ cmplwi r0, 0
/* 80011670 0000D4B0 40 82 00 54 */ bne lbl_800116C4
/* 80011674 0000D4B4 3C 06 C0 10 */ addis r0, r6, 0xc010
/* 80011678 0000D4B8 7C 00 53 79 */ or. r0, r0, r10
/* 8001167C 0000D4BC 40 82 00 0C */ bne lbl_80011688
/* 80011680 0000D4C0 FC 22 10 28 */ fsub f1, f2, f2
/* 80011684 0000D4C4 48 00 06 74 */ b lbl_80011CF8
.global lbl_80011688
lbl_80011688:
/* 80011688 0000D4C8 3C 00 3F F0 */ lis r0, 0x3ff0
/* 8001168C 0000D4CC 7C 06 00 00 */ cmpw r6, r0
/* 80011690 0000D4D0 41 80 00 1C */ blt lbl_800116AC
/* 80011694 0000D4D4 2C 05 00 00 */ cmpwi r5, 0x0
/* 80011694 0000D4D4 2C 05 00 00 */ cmpwi r5, 0
/* 80011698 0000D4D8 41 80 00 0C */ blt lbl_800116A4
/* 8001169C 0000D4DC FC 20 10 90 */ fmr f1, f2
/* 800116A0 0000D4E0 48 00 06 58 */ b lbl_80011CF8
.global lbl_800116A4
lbl_800116A4:
/* 800116A4 0000D4E4 C8 22 82 50 */ lfd f1, "@795_8055E1D0"@sda21(r2)
/* 800116A4 0000D4E4 C8 22 82 50 */ lfd f1, $$2795-_SDA2_BASE_(r2)
/* 800116A8 0000D4E8 48 00 06 50 */ b lbl_80011CF8
.global lbl_800116AC
lbl_800116AC:
/* 800116AC 0000D4EC 2C 05 00 00 */ cmpwi r5, 0x0
/* 800116AC 0000D4EC 2C 05 00 00 */ cmpwi r5, 0
/* 800116B0 0000D4F0 40 80 00 0C */ bge lbl_800116BC
/* 800116B4 0000D4F4 FC 20 10 50 */ fneg f1, f2
/* 800116B8 0000D4F8 48 00 06 40 */ b lbl_80011CF8
.global lbl_800116BC
lbl_800116BC:
/* 800116BC 0000D4FC C8 22 82 50 */ lfd f1, "@795_8055E1D0"@sda21(r2)
/* 800116BC 0000D4FC C8 22 82 50 */ lfd f1, $$2795-_SDA2_BASE_(r2)
/* 800116C0 0000D500 48 00 06 38 */ b lbl_80011CF8
.global lbl_800116C4
lbl_800116C4:
/* 800116C4 0000D504 3C 07 C0 10 */ addis r0, r7, 0xc010
/* 800116C8 0000D508 28 00 00 00 */ cmplwi r0, 0x0
/* 800116C8 0000D508 28 00 00 00 */ cmplwi r0, 0
/* 800116CC 0000D50C 40 82 00 18 */ bne lbl_800116E4
/* 800116D0 0000D510 2C 05 00 00 */ cmpwi r5, 0x0
/* 800116D0 0000D510 2C 05 00 00 */ cmpwi r5, 0
/* 800116D4 0000D514 40 80 06 24 */ bge lbl_80011CF8
/* 800116D8 0000D518 C8 02 82 48 */ lfd f0, "@794"@sda21(r2)
/* 800116D8 0000D518 C8 02 82 48 */ lfd f0, $$2794-_SDA2_BASE_(r2)
/* 800116DC 0000D51C FC 20 08 24 */ fdiv f1, f0, f1
/* 800116E0 0000D520 48 00 06 18 */ b lbl_80011CF8
.global lbl_800116E4
lbl_800116E4:
/* 800116E4 0000D524 3C 05 C0 00 */ addis r0, r5, 0xc000
/* 800116E8 0000D528 28 00 00 00 */ cmplwi r0, 0x0
/* 800116E8 0000D528 28 00 00 00 */ cmplwi r0, 0
/* 800116EC 0000D52C 40 82 00 0C */ bne lbl_800116F8
/* 800116F0 0000D530 FC 21 00 72 */ fmul f1, f1, f1
/* 800116F4 0000D534 48 00 06 04 */ b lbl_80011CF8
.global lbl_800116F8
lbl_800116F8:
/* 800116F8 0000D538 3C 05 C0 20 */ addis r0, r5, 0xc020
/* 800116FC 0000D53C 28 00 00 00 */ cmplwi r0, 0x0
/* 800116FC 0000D53C 28 00 00 00 */ cmplwi r0, 0
/* 80011700 0000D540 40 82 00 14 */ bne lbl_80011714
/* 80011704 0000D544 2C 09 00 00 */ cmpwi r9, 0x0
/* 80011704 0000D544 2C 09 00 00 */ cmpwi r9, 0
/* 80011708 0000D548 41 80 00 0C */ blt lbl_80011714
/* 8001170C 0000D54C 48 00 30 DD */ bl sqrt
/* 80011710 0000D550 48 00 05 E8 */ b lbl_80011CF8
.global lbl_80011714
lbl_80011714:
/* 80011714 0000D554 FC 00 0A 10 */ fabs f0, f1
/* 80011718 0000D558 2C 0A 00 00 */ cmpwi r10, 0x0
/* 80011718 0000D558 2C 0A 00 00 */ cmpwi r10, 0
/* 8001171C 0000D55C D8 01 00 48 */ stfd f0, 0x48(r1)
/* 80011720 0000D560 40 82 00 68 */ bne lbl_80011788
/* 80011724 0000D564 3C 06 80 10 */ addis r0, r6, 0x8010
/* 80011728 0000D568 28 00 00 00 */ cmplwi r0, 0x0
/* 80011728 0000D568 28 00 00 00 */ cmplwi r0, 0
/* 8001172C 0000D56C 41 82 00 18 */ beq lbl_80011744
/* 80011730 0000D570 2C 06 00 00 */ cmpwi r6, 0x0
/* 80011730 0000D570 2C 06 00 00 */ cmpwi r6, 0
/* 80011734 0000D574 41 82 00 10 */ beq lbl_80011744
/* 80011738 0000D578 3C 06 C0 10 */ addis r0, r6, 0xc010
/* 8001173C 0000D57C 28 00 00 00 */ cmplwi r0, 0x0
/* 8001173C 0000D57C 28 00 00 00 */ cmplwi r0, 0
/* 80011740 0000D580 40 82 00 48 */ bne lbl_80011788
.global lbl_80011744
lbl_80011744:
/* 80011744 0000D584 2C 05 00 00 */ cmpwi r5, 0x0
/* 80011744 0000D584 2C 05 00 00 */ cmpwi r5, 0
/* 80011748 0000D588 40 80 00 0C */ bge lbl_80011754
/* 8001174C 0000D58C C8 22 82 48 */ lfd f1, "@794"@sda21(r2)
/* 8001174C 0000D58C C8 22 82 48 */ lfd f1, $$2794-_SDA2_BASE_(r2)
/* 80011750 0000D590 FC 01 00 24 */ fdiv f0, f1, f0
.global lbl_80011754
lbl_80011754:
/* 80011754 0000D594 2C 09 00 00 */ cmpwi r9, 0x0
/* 80011754 0000D594 2C 09 00 00 */ cmpwi r9, 0
/* 80011758 0000D598 40 80 00 28 */ bge lbl_80011780
/* 8001175C 0000D59C 3C 06 C0 10 */ addis r0, r6, 0xc010
/* 80011760 0000D5A0 7C 00 23 79 */ or. r0, r0, r4
@ -185,27 +168,23 @@ lbl_80011754:
/* 80011768 0000D5A8 FC 00 00 28 */ fsub f0, f0, f0
/* 8001176C 0000D5AC FC 00 00 24 */ fdiv f0, f0, f0
/* 80011770 0000D5B0 48 00 00 10 */ b lbl_80011780
.global lbl_80011774
lbl_80011774:
/* 80011774 0000D5B4 2C 04 00 01 */ cmpwi r4, 0x1
/* 80011774 0000D5B4 2C 04 00 01 */ cmpwi r4, 1
/* 80011778 0000D5B8 40 82 00 08 */ bne lbl_80011780
/* 8001177C 0000D5BC FC 00 00 50 */ fneg f0, f0
.global lbl_80011780
lbl_80011780:
/* 80011780 0000D5C0 FC 20 00 90 */ fmr f1, f0
/* 80011784 0000D5C4 48 00 05 74 */ b lbl_80011CF8
.global lbl_80011788
lbl_80011788:
/* 80011788 0000D5C8 7D 28 FE 70 */ srawi r8, r9, 31
/* 8001178C 0000D5CC 38 08 00 01 */ addi r0, r8, 0x1
/* 80011788 0000D5C8 7D 28 FE 70 */ srawi r8, r9, 0x1f
/* 8001178C 0000D5CC 38 08 00 01 */ addi r0, r8, 1
/* 80011790 0000D5D0 7C 08 23 79 */ or. r8, r0, r4
/* 80011794 0000D5D4 40 82 00 18 */ bne lbl_800117AC
/* 80011798 0000D5D8 3C 60 80 55 */ lis r3, __float_nan@ha
/* 8001179C 0000D5DC 38 00 00 21 */ li r0, 0x21
/* 800117A0 0000D5E0 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 800117A0 0000D5E0 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 800117A4 0000D5E4 C0 23 64 48 */ lfs f1, __float_nan@l(r3)
/* 800117A8 0000D5E8 48 00 05 50 */ b lbl_80011CF8
.global lbl_800117AC
lbl_800117AC:
/* 800117AC 0000D5EC 3D 00 41 E0 */ lis r8, 0x41e0
/* 800117B0 0000D5F0 7C 07 40 00 */ cmpw r7, r8
@ -216,62 +195,54 @@ lbl_800117AC:
/* 800117C4 0000D604 3C 00 3F F0 */ lis r0, 0x3ff0
/* 800117C8 0000D608 7C 06 00 00 */ cmpw r6, r0
/* 800117CC 0000D60C 40 80 00 1C */ bge lbl_800117E8
/* 800117D0 0000D610 2C 05 00 00 */ cmpwi r5, 0x0
/* 800117D0 0000D610 2C 05 00 00 */ cmpwi r5, 0
/* 800117D4 0000D614 40 80 00 0C */ bge lbl_800117E0
/* 800117D8 0000D618 C8 22 82 58 */ lfd f1, "@796_8055E1D8"@sda21(r2)
/* 800117D8 0000D618 C8 22 82 58 */ lfd f1, $$2796-_SDA2_BASE_(r2)
/* 800117DC 0000D61C 48 00 05 1C */ b lbl_80011CF8
.global lbl_800117E0
lbl_800117E0:
/* 800117E0 0000D620 C8 22 82 50 */ lfd f1, "@795_8055E1D0"@sda21(r2)
/* 800117E0 0000D620 C8 22 82 50 */ lfd f1, $$2795-_SDA2_BASE_(r2)
/* 800117E4 0000D624 48 00 05 14 */ b lbl_80011CF8
.global lbl_800117E8
lbl_800117E8:
/* 800117E8 0000D628 2C 05 00 00 */ cmpwi r5, 0x0
/* 800117E8 0000D628 2C 05 00 00 */ cmpwi r5, 0
/* 800117EC 0000D62C 40 81 00 0C */ ble lbl_800117F8
/* 800117F0 0000D630 C8 22 82 58 */ lfd f1, "@796_8055E1D8"@sda21(r2)
/* 800117F0 0000D630 C8 22 82 58 */ lfd f1, $$2796-_SDA2_BASE_(r2)
/* 800117F4 0000D634 48 00 05 04 */ b lbl_80011CF8
.global lbl_800117F8
lbl_800117F8:
/* 800117F8 0000D638 C8 22 82 50 */ lfd f1, "@795_8055E1D0"@sda21(r2)
/* 800117F8 0000D638 C8 22 82 50 */ lfd f1, $$2795-_SDA2_BASE_(r2)
/* 800117FC 0000D63C 48 00 04 FC */ b lbl_80011CF8
.global lbl_80011800
lbl_80011800:
/* 80011800 0000D640 3C 60 3F F0 */ lis r3, 0x3ff0
/* 80011804 0000D644 38 E3 FF FF */ addi r7, r3, -0x1
/* 80011800 0000D640 3C 60 3F F0 */ lis r3, 0x3FEFFFFF@ha
/* 80011804 0000D644 38 E3 FF FF */ addi r7, r3, 0x3FEFFFFF@l
/* 80011808 0000D648 7C 06 38 00 */ cmpw r6, r7
/* 8001180C 0000D64C 40 80 00 1C */ bge lbl_80011828
/* 80011810 0000D650 2C 05 00 00 */ cmpwi r5, 0x0
/* 80011810 0000D650 2C 05 00 00 */ cmpwi r5, 0
/* 80011814 0000D654 40 80 00 0C */ bge lbl_80011820
/* 80011818 0000D658 C8 22 82 58 */ lfd f1, "@796_8055E1D8"@sda21(r2)
/* 80011818 0000D658 C8 22 82 58 */ lfd f1, $$2796-_SDA2_BASE_(r2)
/* 8001181C 0000D65C 48 00 04 DC */ b lbl_80011CF8
.global lbl_80011820
lbl_80011820:
/* 80011820 0000D660 C8 22 82 50 */ lfd f1, "@795_8055E1D0"@sda21(r2)
/* 80011820 0000D660 C8 22 82 50 */ lfd f1, $$2795-_SDA2_BASE_(r2)
/* 80011824 0000D664 48 00 04 D4 */ b lbl_80011CF8
.global lbl_80011828
lbl_80011828:
/* 80011828 0000D668 7C 06 18 00 */ cmpw r6, r3
/* 8001182C 0000D66C 40 81 00 1C */ ble lbl_80011848
/* 80011830 0000D670 2C 05 00 00 */ cmpwi r5, 0x0
/* 80011830 0000D670 2C 05 00 00 */ cmpwi r5, 0
/* 80011834 0000D674 40 81 00 0C */ ble lbl_80011840
/* 80011838 0000D678 C8 22 82 58 */ lfd f1, "@796_8055E1D8"@sda21(r2)
/* 80011838 0000D678 C8 22 82 58 */ lfd f1, $$2796-_SDA2_BASE_(r2)
/* 8001183C 0000D67C 48 00 04 BC */ b lbl_80011CF8
.global lbl_80011840
lbl_80011840:
/* 80011840 0000D680 C8 22 82 50 */ lfd f1, "@795_8055E1D0"@sda21(r2)
/* 80011840 0000D680 C8 22 82 50 */ lfd f1, $$2795-_SDA2_BASE_(r2)
/* 80011844 0000D684 48 00 04 B4 */ b lbl_80011CF8
.global lbl_80011848
lbl_80011848:
/* 80011848 0000D688 C8 62 82 48 */ lfd f3, "@794"@sda21(r2)
/* 8001184C 0000D68C 38 60 00 00 */ li r3, 0x0
/* 80011850 0000D690 C8 02 82 70 */ lfd f0, "@799"@sda21(r2)
/* 80011848 0000D688 C8 62 82 48 */ lfd f3, $$2794-_SDA2_BASE_(r2)
/* 8001184C 0000D68C 38 60 00 00 */ li r3, 0
/* 80011850 0000D690 C8 02 82 70 */ lfd f0, $$2799-_SDA2_BASE_(r2)
/* 80011854 0000D694 FD 01 18 28 */ fsub f8, f1, f3
/* 80011858 0000D698 C8 22 82 80 */ lfd f1, "@801"@sda21(r2)
/* 8001185C 0000D69C C8 A2 82 68 */ lfd f5, "@798_8055E1E8"@sda21(r2)
/* 80011860 0000D6A0 C8 62 82 78 */ lfd f3, "@800"@sda21(r2)
/* 80011858 0000D698 C8 22 82 80 */ lfd f1, $$2801-_SDA2_BASE_(r2)
/* 8001185C 0000D69C C8 A2 82 68 */ lfd f5, $$2798-_SDA2_BASE_(r2)
/* 80011860 0000D6A0 C8 62 82 78 */ lfd f3, $$2800-_SDA2_BASE_(r2)
/* 80011864 0000D6A4 FC C0 02 32 */ fmul f6, f0, f8
/* 80011868 0000D6A8 C8 82 82 60 */ lfd f4, "@797_8055E1E0"@sda21(r2)
/* 8001186C 0000D6AC C8 02 82 88 */ lfd f0, "@802"@sda21(r2)
/* 80011868 0000D6A8 C8 82 82 60 */ lfd f4, $$2797-_SDA2_BASE_(r2)
/* 8001186C 0000D6AC C8 02 82 88 */ lfd f0, $$2802-_SDA2_BASE_(r2)
/* 80011870 0000D6B0 FC E8 02 32 */ fmul f7, f8, f8
/* 80011874 0000D6B4 FC A5 30 28 */ fsub f5, f5, f6
/* 80011878 0000D6B8 FC C3 02 32 */ fmul f6, f3, f8
@ -288,96 +259,91 @@ lbl_80011848:
/* 800118A4 0000D6E4 FC 00 30 28 */ fsub f0, f0, f6
/* 800118A8 0000D6E8 FC 01 00 28 */ fsub f0, f1, f0
/* 800118AC 0000D6EC 48 00 02 0C */ b lbl_80011AB8
.global lbl_800118B0
lbl_800118B0:
/* 800118B0 0000D6F0 3C A0 00 10 */ lis r5, 0x10
/* 800118B4 0000D6F4 39 60 00 00 */ li r11, 0x0
/* 800118B4 0000D6F4 39 60 00 00 */ li r11, 0
/* 800118B8 0000D6F8 7C 06 28 00 */ cmpw r6, r5
/* 800118BC 0000D6FC 40 80 00 18 */ bge lbl_800118D4
/* 800118C0 0000D700 C8 22 82 90 */ lfd f1, "@803"@sda21(r2)
/* 800118C4 0000D704 39 60 FF CB */ li r11, -0x35
/* 800118C0 0000D700 C8 22 82 90 */ lfd f1, $$2803-_SDA2_BASE_(r2)
/* 800118C4 0000D704 39 60 FF CB */ li r11, -53
/* 800118C8 0000D708 FC 00 00 72 */ fmul f0, f0, f1
/* 800118CC 0000D70C D8 01 00 48 */ stfd f0, 0x48(r1)
/* 800118D0 0000D710 80 C1 00 48 */ lwz r6, 0x48(r1)
.global lbl_800118D4
lbl_800118D4:
/* 800118D4 0000D714 3C A0 00 04 */ lis r5, 0x4
/* 800118D8 0000D718 54 C8 03 3E */ clrlwi r8, r6, 12
/* 800118DC 0000D71C 38 A5 98 8E */ addi r5, r5, -0x6772
/* 800118E0 0000D720 7C C6 A6 70 */ srawi r6, r6, 20
/* 800118D4 0000D714 3C A0 00 04 */ lis r5, 0x0003988E@ha
/* 800118D8 0000D718 54 C8 03 3E */ clrlwi r8, r6, 0xc
/* 800118DC 0000D71C 38 A5 98 8E */ addi r5, r5, 0x0003988E@l
/* 800118E0 0000D720 7C C6 A6 70 */ srawi r6, r6, 0x14
/* 800118E4 0000D724 7C 08 28 00 */ cmpw r8, r5
/* 800118E8 0000D728 65 07 3F F0 */ oris r7, r8, 0x3ff0
/* 800118EC 0000D72C 7C AB 32 14 */ add r5, r11, r6
/* 800118F0 0000D730 39 65 FC 01 */ addi r11, r5, -0x3ff
/* 800118F0 0000D730 39 65 FC 01 */ addi r11, r5, -1023
/* 800118F4 0000D734 41 81 00 0C */ bgt lbl_80011900
/* 800118F8 0000D738 38 C0 00 00 */ li r6, 0x0
/* 800118F8 0000D738 38 C0 00 00 */ li r6, 0
/* 800118FC 0000D73C 48 00 00 28 */ b lbl_80011924
.global lbl_80011900
lbl_80011900:
/* 80011900 0000D740 3C A0 00 0C */ lis r5, 0xc
/* 80011904 0000D744 38 A5 B6 7A */ addi r5, r5, -0x4986
/* 80011900 0000D740 3C A0 00 0C */ lis r5, 0x000BB67A@ha
/* 80011904 0000D744 38 A5 B6 7A */ addi r5, r5, 0x000BB67A@l
/* 80011908 0000D748 7C 08 28 00 */ cmpw r8, r5
/* 8001190C 0000D74C 40 80 00 0C */ bge lbl_80011918
/* 80011910 0000D750 38 C0 00 01 */ li r6, 0x1
/* 80011910 0000D750 38 C0 00 01 */ li r6, 1
/* 80011914 0000D754 48 00 00 10 */ b lbl_80011924
.global lbl_80011918
lbl_80011918:
/* 80011918 0000D758 3C E7 FF F0 */ addis r7, r7, 0xfff0
/* 8001191C 0000D75C 38 C0 00 00 */ li r6, 0x0
/* 80011920 0000D760 39 6B 00 01 */ addi r11, r11, 0x1
.global lbl_80011924
/* 8001191C 0000D75C 38 C0 00 00 */ li r6, 0
/* 80011920 0000D760 39 6B 00 01 */ addi r11, r11, 1
lbl_80011924:
/* 80011924 0000D764 90 E1 00 48 */ stw r7, 0x48(r1)
/* 80011928 0000D768 7C E9 0E 70 */ srawi r9, r7, 1
/* 8001192C 0000D76C 54 CA 18 38 */ slwi r10, r6, 3
/* 80011930 0000D770 38 A3 00 00 */ addi r5, r3, 0x0
/* 80011930 0000D770 38 A3 00 00 */ addi r5, r3, 0
/* 80011934 0000D774 7D 05 54 AE */ lfdx f8, r5, r10
/* 80011938 0000D778 54 C8 90 1A */ slwi r8, r6, 18
/* 80011938 0000D778 54 C8 90 1A */ slwi r8, r6, 0x12
/* 8001193C 0000D77C C9 41 00 48 */ lfd f10, 0x48(r1)
/* 80011940 0000D780 6D 66 80 00 */ xoris r6, r11, 0x8000
/* 80011944 0000D784 C8 02 82 50 */ lfd f0, "@795_8055E1D0"@sda21(r2)
/* 80011944 0000D784 C8 02 82 50 */ lfd f0, $$2795-_SDA2_BASE_(r2)
/* 80011948 0000D788 3C A0 43 30 */ lis r5, 0x4330
/* 8001194C 0000D78C FC 6A 40 2A */ fadd f3, f10, f8
/* 80011950 0000D790 C8 22 82 48 */ lfd f1, "@794"@sda21(r2)
/* 80011950 0000D790 C8 22 82 48 */ lfd f1, $$2794-_SDA2_BASE_(r2)
/* 80011954 0000D794 FF 4A 40 28 */ fsub f26, f10, f8
/* 80011958 0000D798 C8 E2 82 C0 */ lfd f7, "@809_8055E240"@sda21(r2)
/* 8001195C 0000D79C C8 C2 82 B0 */ lfd f6, "@807"@sda21(r2)
/* 80011958 0000D798 C8 E2 82 C0 */ lfd f7, $$2809-_SDA2_BASE_(r2)
/* 8001195C 0000D79C C8 C2 82 B0 */ lfd f6, $$2807-_SDA2_BASE_(r2)
/* 80011960 0000D7A0 65 29 20 00 */ oris r9, r9, 0x2000
/* 80011964 0000D7A4 FC 21 18 24 */ fdiv f1, f1, f3
/* 80011968 0000D7A8 3D 08 00 08 */ addis r8, r8, 0x8
/* 80011968 0000D7A8 3D 08 00 08 */ addis r8, r8, 8
/* 8001196C 0000D7AC 7D 09 42 14 */ add r8, r9, r8
/* 80011970 0000D7B0 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80011974 0000D7B4 C8 62 82 B8 */ lfd f3, "@808"@sda21(r2)
/* 80011978 0000D7B8 39 20 00 00 */ li r9, 0x0
/* 80011974 0000D7B4 C8 62 82 B8 */ lfd f3, $$2808-_SDA2_BASE_(r2)
/* 80011978 0000D7B8 39 20 00 00 */ li r9, 0
/* 8001197C 0000D7BC FC 9A 00 72 */ fmul f4, f26, f1
/* 80011980 0000D7C0 91 01 00 18 */ stw r8, 0x18(r1)
/* 80011984 0000D7C4 C9 A2 82 A8 */ lfd f13, "@806"@sda21(r2)
/* 80011984 0000D7C4 C9 A2 82 A8 */ lfd f13, $$2806-_SDA2_BASE_(r2)
/* 80011988 0000D7C8 38 E3 00 20 */ addi r7, r3, 0x20
/* 8001198C 0000D7CC C9 21 00 18 */ lfd f9, 0x18(r1)
/* 80011990 0000D7D0 D8 81 00 20 */ stfd f4, 0x20(r1)
/* 80011994 0000D7D4 FC A4 01 32 */ fmul f5, f4, f4
/* 80011998 0000D7D8 91 21 00 24 */ stw r9, 0x24(r1)
/* 8001199C 0000D7DC CB C2 82 A0 */ lfd f30, "@805"@sda21(r2)
/* 8001199C 0000D7DC CB C2 82 A0 */ lfd f30, $$2805-_SDA2_BASE_(r2)
/* 800119A0 0000D7E0 FD 09 40 28 */ fsub f8, f9, f8
/* 800119A4 0000D7E4 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 800119A8 0000D7E8 90 C1 00 5C */ stw r6, 0x5c(r1)
/* 800119AC 0000D7EC FC E7 01 72 */ fmul f7, f7, f5
/* 800119B0 0000D7F0 90 A1 00 58 */ stw r5, 0x58(r1)
/* 800119B4 0000D7F4 CB E2 82 98 */ lfd f31, "@804"@sda21(r2)
/* 800119B4 0000D7F4 CB E2 82 98 */ lfd f31, $$2804-_SDA2_BASE_(r2)
/* 800119B8 0000D7F8 FD 0A 40 28 */ fsub f8, f10, f8
/* 800119BC 0000D7FC C9 82 82 C8 */ lfd f12, "@810"@sda21(r2)
/* 800119BC 0000D7FC C9 82 82 C8 */ lfd f12, $$2810-_SDA2_BASE_(r2)
/* 800119C0 0000D800 FF 80 02 72 */ fmul f28, f0, f9
/* 800119C4 0000D804 FC E3 38 2A */ fadd f7, f3, f7
/* 800119C8 0000D808 C9 42 82 D8 */ lfd f10, "@812_8055E258"@sda21(r2)
/* 800119C8 0000D808 C9 42 82 D8 */ lfd f10, $$2812-_SDA2_BASE_(r2)
/* 800119CC 0000D80C FF 60 02 32 */ fmul f27, f0, f8
/* 800119D0 0000D810 C9 22 82 E0 */ lfd f9, "@813_8055E260"@sda21(r2)
/* 800119D4 0000D814 C9 62 82 D0 */ lfd f11, "@811_8055E250"@sda21(r2)
/* 800119D0 0000D810 C9 22 82 E0 */ lfd f9, $$2813-_SDA2_BASE_(r2)
/* 800119D4 0000D814 C9 62 82 D0 */ lfd f11, $$2811-_SDA2_BASE_(r2)
/* 800119D8 0000D818 FC E5 01 F2 */ fmul f7, f5, f7
/* 800119DC 0000D81C 7D 07 54 AE */ lfdx f8, r7, r10
/* 800119E0 0000D820 FF 9A E0 28 */ fsub f28, f26, f28
/* 800119E4 0000D824 FC 60 00 32 */ fmul f3, f0, f0
/* 800119E8 0000D828 FF A6 38 2A */ fadd f29, f6, f7
/* 800119EC 0000D82C C8 E2 83 50 */ lfd f7, "@828"@sda21(r2)
/* 800119EC 0000D82C C8 E2 83 50 */ lfd f7, $$2828-_SDA2_BASE_(r2)
/* 800119F0 0000D830 FF 7C D8 28 */ fsub f27, f28, f27
/* 800119F4 0000D834 C8 C1 00 58 */ lfd f6, 0x58(r1)
/* 800119F8 0000D838 FF 85 01 72 */ fmul f28, f5, f5
@ -428,17 +394,15 @@ lbl_80011924:
/* 80011AAC 0000D8EC FC 00 08 28 */ fsub f0, f0, f1
/* 80011AB0 0000D8F0 FC 00 18 28 */ fsub f0, f0, f3
/* 80011AB4 0000D8F4 FC 04 00 28 */ fsub f0, f4, f0
.global lbl_80011AB8
lbl_80011AB8:
/* 80011AB8 0000D8F8 38 64 FF FF */ addi r3, r4, -0x1
/* 80011ABC 0000D8FC CB E2 82 48 */ lfd f31, "@794"@sda21(r2)
/* 80011AB8 0000D8F8 38 64 FF FF */ addi r3, r4, -1
/* 80011ABC 0000D8FC CB E2 82 48 */ lfd f31, $$2794-_SDA2_BASE_(r2)
/* 80011AC0 0000D900 7C 00 1B 79 */ or. r0, r0, r3
/* 80011AC4 0000D904 40 82 00 08 */ bne lbl_80011ACC
/* 80011AC8 0000D908 CB E2 82 E8 */ lfd f31, "@814_8055E268"@sda21(r2)
.global lbl_80011ACC
/* 80011AC8 0000D908 CB E2 82 E8 */ lfd f31, $$2814-_SDA2_BASE_(r2)
lbl_80011ACC:
/* 80011ACC 0000D90C D8 41 00 38 */ stfd f2, 0x38(r1)
/* 80011AD0 0000D910 38 00 00 00 */ li r0, 0x0
/* 80011AD0 0000D910 38 00 00 00 */ li r0, 0
/* 80011AD4 0000D914 FC 02 00 32 */ fmul f0, f2, f0
/* 80011AD8 0000D918 C8 21 00 30 */ lfd f1, 0x30(r1)
/* 80011ADC 0000D91C 90 01 00 3C */ stw r0, 0x3c(r1)
@ -457,66 +421,62 @@ lbl_80011ACC:
/* 80011B10 0000D950 3C 06 BF 70 */ addis r0, r6, 0xbf70
/* 80011B14 0000D954 7C 00 2B 79 */ or. r0, r0, r5
/* 80011B18 0000D958 41 82 00 14 */ beq lbl_80011B2C
/* 80011B1C 0000D95C C8 22 82 F0 */ lfd f1, "@815_8055E270"@sda21(r2)
/* 80011B1C 0000D95C C8 22 82 F0 */ lfd f1, $$2815-_SDA2_BASE_(r2)
/* 80011B20 0000D960 FC 01 07 F2 */ fmul f0, f1, f31
/* 80011B24 0000D964 FC 21 00 32 */ fmul f1, f1, f0
/* 80011B28 0000D968 48 00 01 D0 */ b lbl_80011CF8
.global lbl_80011B2C
lbl_80011B2C:
/* 80011B2C 0000D96C C8 22 82 F8 */ lfd f1, "@816_8055E278"@sda21(r2)
/* 80011B2C 0000D96C C8 22 82 F8 */ lfd f1, $$2816-_SDA2_BASE_(r2)
/* 80011B30 0000D970 FC 00 18 28 */ fsub f0, f0, f3
/* 80011B34 0000D974 FC 21 50 2A */ fadd f1, f1, f10
/* 80011B38 0000D978 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80011B3C 0000D97C 40 81 00 68 */ ble lbl_80011BA4
/* 80011B40 0000D980 C8 22 82 F0 */ lfd f1, "@815_8055E270"@sda21(r2)
/* 80011B40 0000D980 C8 22 82 F0 */ lfd f1, $$2815-_SDA2_BASE_(r2)
/* 80011B44 0000D984 FC 01 07 F2 */ fmul f0, f1, f31
/* 80011B48 0000D988 FC 21 00 32 */ fmul f1, f1, f0
/* 80011B4C 0000D98C 48 00 01 AC */ b lbl_80011CF8
.global lbl_80011B50
lbl_80011B50:
/* 80011B50 0000D990 3C 60 40 91 */ lis r3, 0x4091
/* 80011B50 0000D990 3C 60 40 91 */ lis r3, 0x4090CC00@ha
/* 80011B54 0000D994 54 C4 00 7E */ clrlwi r4, r6, 1
/* 80011B58 0000D998 38 03 CC 00 */ addi r0, r3, -0x3400
/* 80011B58 0000D998 38 03 CC 00 */ addi r0, r3, 0x4090CC00@l
/* 80011B5C 0000D99C 7C 04 00 00 */ cmpw r4, r0
/* 80011B60 0000D9A0 41 80 00 44 */ blt lbl_80011BA4
/* 80011B64 0000D9A4 3C 66 3F 6F */ addis r3, r6, 0x3f6f
/* 80011B68 0000D9A8 38 03 34 00 */ addi r0, r3, 0x3400
/* 80011B6C 0000D9AC 7C 00 2B 79 */ or. r0, r0, r5
/* 80011B70 0000D9B0 41 82 00 14 */ beq lbl_80011B84
/* 80011B74 0000D9B4 C8 22 83 00 */ lfd f1, "@817_8055E280"@sda21(r2)
/* 80011B74 0000D9B4 C8 22 83 00 */ lfd f1, $$2817-_SDA2_BASE_(r2)
/* 80011B78 0000D9B8 FC 01 07 F2 */ fmul f0, f1, f31
/* 80011B7C 0000D9BC FC 21 00 32 */ fmul f1, f1, f0
/* 80011B80 0000D9C0 48 00 01 78 */ b lbl_80011CF8
.global lbl_80011B84
lbl_80011B84:
/* 80011B84 0000D9C4 FC 00 18 28 */ fsub f0, f0, f3
/* 80011B88 0000D9C8 FC 0A 00 40 */ fcmpo cr0, f10, f0
/* 80011B8C 0000D9CC 4C 40 13 82 */ cror eq, lt, eq
/* 80011B8C 0000D9CC 4C 40 13 82 */ cror 2, 0, 2
/* 80011B90 0000D9D0 40 82 00 14 */ bne lbl_80011BA4
/* 80011B94 0000D9D4 C8 22 83 00 */ lfd f1, "@817_8055E280"@sda21(r2)
/* 80011B94 0000D9D4 C8 22 83 00 */ lfd f1, $$2817-_SDA2_BASE_(r2)
/* 80011B98 0000D9D8 FC 01 07 F2 */ fmul f0, f1, f31
/* 80011B9C 0000D9DC FC 21 00 32 */ fmul f1, f1, f0
/* 80011BA0 0000D9E0 48 00 01 58 */ b lbl_80011CF8
.global lbl_80011BA4
lbl_80011BA4:
/* 80011BA4 0000D9E4 54 C3 00 7E */ clrlwi r3, r6, 1
/* 80011BA8 0000D9E8 3C 00 3F E0 */ lis r0, 0x3fe0
/* 80011BAC 0000D9EC 7C 03 00 00 */ cmpw r3, r0
/* 80011BB0 0000D9F0 54 C4 65 7E */ extrwi r4, r6, 11, 1
/* 80011BB4 0000D9F4 38 60 00 00 */ li r3, 0x0
/* 80011BB0 0000D9F0 54 C4 65 7E */ rlwinm r4, r6, 0xc, 0x15, 0x1f
/* 80011BB4 0000D9F4 38 60 00 00 */ li r3, 0
/* 80011BB8 0000D9F8 40 81 00 5C */ ble lbl_80011C14
/* 80011BBC 0000D9FC 3C 60 00 10 */ lis r3, 0x10
/* 80011BC0 0000DA00 38 04 FC 02 */ addi r0, r4, -0x3fe
/* 80011BBC 0000D9FC 3C 60 00 10 */ lis r3, 0x000FFFFF@ha
/* 80011BC0 0000DA00 38 04 FC 02 */ addi r0, r4, -1022
/* 80011BC4 0000DA04 7C 60 06 30 */ sraw r0, r3, r0
/* 80011BC8 0000DA08 C8 02 82 50 */ lfd f0, "@795_8055E1D0"@sda21(r2)
/* 80011BC8 0000DA08 C8 02 82 50 */ lfd f0, $$2795-_SDA2_BASE_(r2)
/* 80011BCC 0000DA0C 7C E6 02 14 */ add r7, r6, r0
/* 80011BD0 0000DA10 D8 01 00 28 */ stfd f0, 0x28(r1)
/* 80011BD4 0000DA14 54 E0 00 7E */ clrlwi r0, r7, 1
/* 80011BD8 0000DA18 38 63 FF FF */ addi r3, r3, -0x1
/* 80011BDC 0000DA1C 7C 04 A6 70 */ srawi r4, r0, 20
/* 80011BE0 0000DA20 2C 06 00 00 */ cmpwi r6, 0x0
/* 80011BE4 0000DA24 38 A4 FC 01 */ addi r5, r4, -0x3ff
/* 80011BE8 0000DA28 54 E0 03 3E */ clrlwi r0, r7, 12
/* 80011BD8 0000DA18 38 63 FF FF */ addi r3, r3, 0x000FFFFF@l
/* 80011BDC 0000DA1C 7C 04 A6 70 */ srawi r4, r0, 0x14
/* 80011BE0 0000DA20 2C 06 00 00 */ cmpwi r6, 0
/* 80011BE4 0000DA24 38 A4 FC 01 */ addi r5, r4, -1023
/* 80011BE8 0000DA28 54 E0 03 3E */ clrlwi r0, r7, 0xc
/* 80011BEC 0000DA2C 7C 64 2E 30 */ sraw r4, r3, r5
/* 80011BF0 0000DA30 64 03 00 10 */ oris r3, r0, 0x10
/* 80011BF4 0000DA34 20 05 00 14 */ subfic r0, r5, 0x14
@ -525,33 +485,31 @@ lbl_80011BA4:
/* 80011C00 0000DA40 7C 63 06 30 */ sraw r3, r3, r0
/* 80011C04 0000DA44 40 80 00 08 */ bge lbl_80011C0C
/* 80011C08 0000DA48 7C 63 00 D0 */ neg r3, r3
.global lbl_80011C0C
lbl_80011C0C:
/* 80011C0C 0000DA4C C8 01 00 28 */ lfd f0, 0x28(r1)
/* 80011C10 0000DA50 FC 63 00 28 */ fsub f3, f3, f0
.global lbl_80011C14
lbl_80011C14:
/* 80011C14 0000DA54 FC 0A 18 2A */ fadd f0, f10, f3
/* 80011C18 0000DA58 38 00 00 00 */ li r0, 0x0
/* 80011C1C 0000DA5C C8 42 83 10 */ lfd f2, "@819"@sda21(r2)
/* 80011C20 0000DA60 54 64 A0 16 */ slwi r4, r3, 20
/* 80011C18 0000DA58 38 00 00 00 */ li r0, 0
/* 80011C1C 0000DA5C C8 42 83 10 */ lfd f2, $$2819-_SDA2_BASE_(r2)
/* 80011C20 0000DA60 54 64 A0 16 */ slwi r4, r3, 0x14
/* 80011C24 0000DA64 D8 01 00 28 */ stfd f0, 0x28(r1)
/* 80011C28 0000DA68 C8 02 83 18 */ lfd f0, "@820"@sda21(r2)
/* 80011C28 0000DA68 C8 02 83 18 */ lfd f0, $$2820-_SDA2_BASE_(r2)
/* 80011C2C 0000DA6C 90 01 00 2C */ stw r0, 0x2c(r1)
/* 80011C30 0000DA70 C9 22 83 08 */ lfd f9, "@818_8055E288"@sda21(r2)
/* 80011C30 0000DA70 C9 22 83 08 */ lfd f9, $$2818-_SDA2_BASE_(r2)
/* 80011C34 0000DA74 C9 01 00 28 */ lfd f8, 0x28(r1)
/* 80011C38 0000DA78 C8 C2 83 40 */ lfd f6, "@825"@sda21(r2)
/* 80011C38 0000DA78 C8 C2 83 40 */ lfd f6, $$2825-_SDA2_BASE_(r2)
/* 80011C3C 0000DA7C FC 68 18 28 */ fsub f3, f8, f3
/* 80011C40 0000DA80 C8 22 83 38 */ lfd f1, "@824"@sda21(r2)
/* 80011C40 0000DA80 C8 22 83 38 */ lfd f1, $$2824-_SDA2_BASE_(r2)
/* 80011C44 0000DA84 FC E0 02 32 */ fmul f7, f0, f8
/* 80011C48 0000DA88 C8 A2 83 30 */ lfd f5, "@823"@sda21(r2)
/* 80011C4C 0000DA8C C8 82 83 28 */ lfd f4, "@822"@sda21(r2)
/* 80011C48 0000DA88 C8 A2 83 30 */ lfd f5, $$2823-_SDA2_BASE_(r2)
/* 80011C4C 0000DA8C C8 82 83 28 */ lfd f4, $$2822-_SDA2_BASE_(r2)
/* 80011C50 0000DA90 FC 0A 18 28 */ fsub f0, f10, f3
/* 80011C54 0000DA94 FD 49 02 32 */ fmul f10, f9, f8
/* 80011C58 0000DA98 C8 62 83 20 */ lfd f3, "@821"@sda21(r2)
/* 80011C58 0000DA98 C8 62 83 20 */ lfd f3, $$2821-_SDA2_BASE_(r2)
/* 80011C5C 0000DA9C FD 02 00 32 */ fmul f8, f2, f0
/* 80011C60 0000DAA0 C8 42 83 48 */ lfd f2, "@826_8055E2C8"@sda21(r2)
/* 80011C64 0000DAA4 C8 02 82 48 */ lfd f0, "@794"@sda21(r2)
/* 80011C60 0000DAA0 C8 42 83 48 */ lfd f2, $$2826-_SDA2_BASE_(r2)
/* 80011C64 0000DAA4 C8 02 82 48 */ lfd f0, $$2794-_SDA2_BASE_(r2)
/* 80011C68 0000DAA8 FD 68 38 2A */ fadd f11, f8, f7
/* 80011C6C 0000DAAC FD 2A 58 2A */ fadd f9, f10, f11
/* 80011C70 0000DAB0 FC E9 02 72 */ fmul f7, f9, f9
@ -578,259 +536,190 @@ lbl_80011C14:
/* 80011CC4 0000DB04 D8 21 00 50 */ stfd f1, 0x50(r1)
/* 80011CC8 0000DB08 80 01 00 50 */ lwz r0, 0x50(r1)
/* 80011CCC 0000DB0C 7C 00 22 14 */ add r0, r0, r4
/* 80011CD0 0000DB10 7C 00 A6 71 */ srawi. r0, r0, 20
/* 80011CD0 0000DB10 7C 00 A6 71 */ srawi. r0, r0, 0x14
/* 80011CD4 0000DB14 41 81 00 10 */ bgt lbl_80011CE4
/* 80011CD8 0000DB18 4B FF E9 09 */ bl scalbn
/* 80011CDC 0000DB1C D8 21 00 50 */ stfd f1, 0x50(r1)
/* 80011CE0 0000DB20 48 00 00 10 */ b lbl_80011CF0
.global lbl_80011CE4
lbl_80011CE4:
/* 80011CE4 0000DB24 80 01 00 50 */ lwz r0, 0x50(r1)
/* 80011CE8 0000DB28 7C 00 22 14 */ add r0, r0, r4
/* 80011CEC 0000DB2C 90 01 00 50 */ stw r0, 0x50(r1)
.global lbl_80011CF0
lbl_80011CF0:
/* 80011CF0 0000DB30 C8 01 00 50 */ lfd f0, 0x50(r1)
/* 80011CF4 0000DB34 FC 3F 00 32 */ fmul f1, f31, f0
.global lbl_80011CF8
lbl_80011CF8:
/* 80011CF8 0000DB38 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 80011CFC 0000DB3C E3 E1 00 B8 */ psq_l f31, 0xb8(r1), 0, qr0
/* 80011CFC 0000DB3C E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0
/* 80011D00 0000DB40 CB E1 00 B0 */ lfd f31, 0xb0(r1)
/* 80011D04 0000DB44 E3 C1 00 A8 */ psq_l f30, 0xa8(r1), 0, qr0
/* 80011D04 0000DB44 E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0
/* 80011D08 0000DB48 CB C1 00 A0 */ lfd f30, 0xa0(r1)
/* 80011D0C 0000DB4C E3 A1 00 98 */ psq_l f29, 0x98(r1), 0, qr0
/* 80011D0C 0000DB4C E3 A1 00 98 */ psq_l f29, 152(r1), 0, qr0
/* 80011D10 0000DB50 CB A1 00 90 */ lfd f29, 0x90(r1)
/* 80011D14 0000DB54 E3 81 00 88 */ psq_l f28, 0x88(r1), 0, qr0
/* 80011D14 0000DB54 E3 81 00 88 */ psq_l f28, 136(r1), 0, qr0
/* 80011D18 0000DB58 CB 81 00 80 */ lfd f28, 0x80(r1)
/* 80011D1C 0000DB5C E3 61 00 78 */ psq_l f27, 0x78(r1), 0, qr0
/* 80011D1C 0000DB5C E3 61 00 78 */ psq_l f27, 120(r1), 0, qr0
/* 80011D20 0000DB60 CB 61 00 70 */ lfd f27, 0x70(r1)
/* 80011D24 0000DB64 E3 41 00 68 */ psq_l f26, 0x68(r1), 0, qr0
/* 80011D24 0000DB64 E3 41 00 68 */ psq_l f26, 104(r1), 0, qr0
/* 80011D28 0000DB68 CB 41 00 60 */ lfd f26, 0x60(r1)
/* 80011D2C 0000DB6C 7C 08 03 A6 */ mtlr r0
/* 80011D30 0000DB70 38 21 00 C0 */ addi r1, r1, 0xc0
/* 80011D34 0000DB74 4E 80 00 20 */ blr
.include "macros.inc"
/* 80011D34 0000DB74 4E 80 00 20 */ blr
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global bp
bp:
.4byte 0x3FF00000
.4byte 0
.4byte 0x3FF80000
.4byte 0
.global dp_h
dp_h:
.4byte 0
.4byte 0
.4byte 0x3FE2B803
.4byte 0x40000000
.global dp_l
dp_l:
.4byte 0
.4byte 0
.4byte 0x3E4CFDEB
.4byte 0x43CFD006
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@794"
"@794":
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2794
$$2794:
.4byte 0x3FF00000
.4byte 0
.global "@795_8055E1D0"
"@795_8055E1D0":
.global $$2795
$$2795:
.4byte 0
.4byte 0
.global "@796_8055E1D8"
"@796_8055E1D8":
.global $$2796
$$2796:
.4byte 0x7FF00000
.4byte 0
.global "@797_8055E1E0"
"@797_8055E1E0":
.global $$2797
$$2797:
.4byte 0x3FE00000
.4byte 0
.global "@798_8055E1E8"
"@798_8055E1E8":
.global $$2798
$$2798:
.4byte 0x3FD55555
.4byte 0x55555555
.global "@799"
"@799":
.global $$2799
$$2799:
.4byte 0x3FD00000
.4byte 0
.global "@800"
"@800":
.global $$2800
$$2800:
.4byte 0x3FF71547
.4byte 0x60000000
.global "@801"
"@801":
.global $$2801
$$2801:
.4byte 0x3E54AE0B
.4byte 0xF85DDF44
.global "@802"
"@802":
.global $$2802
$$2802:
.4byte 0x3FF71547
.4byte 0x652B82FE
.global "@803"
"@803":
.global $$2803
$$2803:
.4byte 0x43400000
.4byte 0
.global "@804"
"@804":
.global $$2804
$$2804:
.4byte 0x3FE33333
.4byte 0x33333303
.global "@805"
"@805":
.global $$2805
$$2805:
.4byte 0x3FDB6DB6
.4byte 0xDB6FABFF
.global "@806"
"@806":
.global $$2806
$$2806:
.4byte 0x3FD55555
.4byte 0x518F264D
.global "@807"
"@807":
.global $$2807
$$2807:
.4byte 0x3FD17460
.4byte 0xA91D4101
.global "@808"
"@808":
.global $$2808
$$2808:
.4byte 0x3FCD864A
.4byte 0x93C9DB65
.global "@809_8055E240"
"@809_8055E240":
.global $$2809
$$2809:
.4byte 0x3FCA7E28
.4byte 0x4A454EEF
.global "@810"
"@810":
.global $$2810
$$2810:
.4byte 0x40080000
.4byte 0
.global "@811_8055E250"
"@811_8055E250":
.global $$2811
$$2811:
.4byte 0x3FEEC709
.4byte 0xE0000000
.global "@812_8055E258"
"@812_8055E258":
.global $$2812
$$2812:
.4byte 0xBE3E2FE0
.4byte 0x145B01F5
.global "@813_8055E260"
"@813_8055E260":
.global $$2813
$$2813:
.4byte 0x3FEEC709
.4byte 0xDC3A03FD
.global "@814_8055E268"
"@814_8055E268":
.global $$2814
$$2814:
.4byte 0xBFF00000
.4byte 0
.global "@815_8055E270"
"@815_8055E270":
.global $$2815
$$2815:
.4byte 0x7E37E43C
.4byte 0x8800759C
.global "@816_8055E278"
"@816_8055E278":
.global $$2816
$$2816:
.4byte 0x3C971547
.4byte 0x652B82FE
.global "@817_8055E280"
"@817_8055E280":
.global $$2817
$$2817:
.4byte 0x01A56E1F
.4byte 0xC2F8F359
.global "@818_8055E288"
"@818_8055E288":
.global $$2818
$$2818:
.4byte 0x3FE62E43
.4byte 0
.global "@819"
"@819":
.global $$2819
$$2819:
.4byte 0x3FE62E42
.4byte 0xFEFA39EF
.global "@820"
"@820":
.global $$2820
$$2820:
.4byte 0xBE205C61
.4byte 0x0CA86C39
.global "@821"
"@821":
.global $$2821
$$2821:
.4byte 0x3FC55555
.4byte 0x5555553E
.global "@822"
"@822":
.global $$2822
$$2822:
.4byte 0xBF66C16C
.4byte 0x16BEBD93
.global "@823"
"@823":
.global $$2823
$$2823:
.4byte 0x3F11566A
.4byte 0xAF25DE2C
.global "@824"
"@824":
.global $$2824
$$2824:
.4byte 0xBEBBBD41
.4byte 0xC5D26BF1
.global "@825"
"@825":
.global $$2825
$$2825:
.4byte 0x3E663769
.4byte 0x72BEA4D0
.global "@826_8055E2C8"
"@826_8055E2C8":
.global $$2826
$$2826:
.4byte 0x40000000
.4byte 0
.global "@828"
"@828":
.global $$2828
$$2828:
.4byte 0x43300000
.4byte 0x80000000

View file

@ -1,103 +1,96 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __ieee754_rem_pio2
__ieee754_rem_pio2:
/* 80011D38 0000DB78 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80011D3C 0000DB7C 7C 08 02 A6 */ mflr r0
/* 80011D40 0000DB80 3C 80 3F E9 */ lis r4, 0x3fe9
/* 80011D40 0000DB80 3C 80 3F E9 */ lis r4, 0x3FE921FB@ha
/* 80011D44 0000DB84 90 01 00 64 */ stw r0, 0x64(r1)
/* 80011D48 0000DB88 38 04 21 FB */ addi r0, r4, 0x21fb
/* 80011D48 0000DB88 38 04 21 FB */ addi r0, r4, 0x3FE921FB@l
/* 80011D4C 0000DB8C 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80011D50 0000DB90 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80011D54 0000DB94 83 E1 00 08 */ lwz r31, 0x8(r1)
/* 80011D50 0000DB90 D8 21 00 08 */ stfd f1, 8(r1)
/* 80011D54 0000DB94 83 E1 00 08 */ lwz r31, 8(r1)
/* 80011D58 0000DB98 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80011D5C 0000DB9C 7C 7E 1B 78 */ mr r30, r3
/* 80011D60 0000DBA0 57 E6 00 7E */ clrlwi r6, r31, 1
/* 80011D64 0000DBA4 7C 06 00 00 */ cmpw r6, r0
/* 80011D68 0000DBA8 41 81 00 18 */ bgt lbl_80011D80
/* 80011D6C 0000DBAC C8 02 83 58 */ lfd f0, "@594"@sda21(r2)
/* 80011D70 0000DBB0 D8 23 00 00 */ stfd f1, 0x0(r3)
/* 80011D74 0000DBB4 D8 03 00 08 */ stfd f0, 0x8(r3)
/* 80011D78 0000DBB8 38 60 00 00 */ li r3, 0x0
/* 80011D6C 0000DBAC C8 02 83 58 */ lfd f0, $$2594-_SDA2_BASE_(r2)
/* 80011D70 0000DBB0 D8 23 00 00 */ stfd f1, 0(r3)
/* 80011D74 0000DBB4 D8 03 00 08 */ stfd f0, 8(r3)
/* 80011D78 0000DBB8 38 60 00 00 */ li r3, 0
/* 80011D7C 0000DBBC 48 00 03 28 */ b lbl_800120A4
.global lbl_80011D80
lbl_80011D80:
/* 80011D80 0000DBC0 3C 80 40 03 */ lis r4, 0x4003
/* 80011D84 0000DBC4 38 04 D9 7C */ addi r0, r4, -0x2684
/* 80011D80 0000DBC0 3C 80 40 03 */ lis r4, 0x4002D97C@ha
/* 80011D84 0000DBC4 38 04 D9 7C */ addi r0, r4, 0x4002D97C@l
/* 80011D88 0000DBC8 7C 06 00 00 */ cmpw r6, r0
/* 80011D8C 0000DBCC 40 80 00 BC */ bge lbl_80011E48
/* 80011D90 0000DBD0 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80011D90 0000DBD0 2C 1F 00 00 */ cmpwi r31, 0
/* 80011D94 0000DBD4 40 81 00 5C */ ble lbl_80011DF0
/* 80011D98 0000DBD8 C8 02 83 60 */ lfd f0, "@595"@sda21(r2)
/* 80011D98 0000DBD8 C8 02 83 60 */ lfd f0, $$2595-_SDA2_BASE_(r2)
/* 80011D9C 0000DBDC 3C 06 C0 07 */ addis r0, r6, 0xc007
/* 80011DA0 0000DBE0 28 00 21 FB */ cmplwi r0, 0x21fb
/* 80011DA4 0000DBE4 FC 41 00 28 */ fsub f2, f1, f0
/* 80011DA8 0000DBE8 41 82 00 20 */ beq lbl_80011DC8
/* 80011DAC 0000DBEC C8 22 83 68 */ lfd f1, "@596"@sda21(r2)
/* 80011DAC 0000DBEC C8 22 83 68 */ lfd f1, $$2596-_SDA2_BASE_(r2)
/* 80011DB0 0000DBF0 FC 02 08 28 */ fsub f0, f2, f1
/* 80011DB4 0000DBF4 D8 03 00 00 */ stfd f0, 0x0(r3)
/* 80011DB4 0000DBF4 D8 03 00 00 */ stfd f0, 0(r3)
/* 80011DB8 0000DBF8 FC 02 00 28 */ fsub f0, f2, f0
/* 80011DBC 0000DBFC FC 00 08 28 */ fsub f0, f0, f1
/* 80011DC0 0000DC00 D8 03 00 08 */ stfd f0, 0x8(r3)
/* 80011DC0 0000DC00 D8 03 00 08 */ stfd f0, 8(r3)
/* 80011DC4 0000DC04 48 00 00 24 */ b lbl_80011DE8
.global lbl_80011DC8
lbl_80011DC8:
/* 80011DC8 0000DC08 C8 02 83 70 */ lfd f0, "@597"@sda21(r2)
/* 80011DCC 0000DC0C C8 22 83 78 */ lfd f1, "@598"@sda21(r2)
/* 80011DC8 0000DC08 C8 02 83 70 */ lfd f0, $$2597-_SDA2_BASE_(r2)
/* 80011DCC 0000DC0C C8 22 83 78 */ lfd f1, $$2598-_SDA2_BASE_(r2)
/* 80011DD0 0000DC10 FC 42 00 28 */ fsub f2, f2, f0
/* 80011DD4 0000DC14 FC 02 08 28 */ fsub f0, f2, f1
/* 80011DD8 0000DC18 D8 03 00 00 */ stfd f0, 0x0(r3)
/* 80011DD8 0000DC18 D8 03 00 00 */ stfd f0, 0(r3)
/* 80011DDC 0000DC1C FC 02 00 28 */ fsub f0, f2, f0
/* 80011DE0 0000DC20 FC 00 08 28 */ fsub f0, f0, f1
/* 80011DE4 0000DC24 D8 03 00 08 */ stfd f0, 0x8(r3)
.global lbl_80011DE8
/* 80011DE4 0000DC24 D8 03 00 08 */ stfd f0, 8(r3)
lbl_80011DE8:
/* 80011DE8 0000DC28 38 60 00 01 */ li r3, 0x1
/* 80011DE8 0000DC28 38 60 00 01 */ li r3, 1
/* 80011DEC 0000DC2C 48 00 02 B8 */ b lbl_800120A4
.global lbl_80011DF0
lbl_80011DF0:
/* 80011DF0 0000DC30 C8 02 83 60 */ lfd f0, "@595"@sda21(r2)
/* 80011DF0 0000DC30 C8 02 83 60 */ lfd f0, $$2595-_SDA2_BASE_(r2)
/* 80011DF4 0000DC34 3C 06 C0 07 */ addis r0, r6, 0xc007
/* 80011DF8 0000DC38 28 00 21 FB */ cmplwi r0, 0x21fb
/* 80011DFC 0000DC3C FC 40 08 2A */ fadd f2, f0, f1
/* 80011E00 0000DC40 41 82 00 20 */ beq lbl_80011E20
/* 80011E04 0000DC44 C8 22 83 68 */ lfd f1, "@596"@sda21(r2)
/* 80011E04 0000DC44 C8 22 83 68 */ lfd f1, $$2596-_SDA2_BASE_(r2)
/* 80011E08 0000DC48 FC 01 10 2A */ fadd f0, f1, f2
/* 80011E0C 0000DC4C D8 03 00 00 */ stfd f0, 0x0(r3)
/* 80011E0C 0000DC4C D8 03 00 00 */ stfd f0, 0(r3)
/* 80011E10 0000DC50 FC 02 00 28 */ fsub f0, f2, f0
/* 80011E14 0000DC54 FC 01 00 2A */ fadd f0, f1, f0
/* 80011E18 0000DC58 D8 03 00 08 */ stfd f0, 0x8(r3)
/* 80011E18 0000DC58 D8 03 00 08 */ stfd f0, 8(r3)
/* 80011E1C 0000DC5C 48 00 00 24 */ b lbl_80011E40
.global lbl_80011E20
lbl_80011E20:
/* 80011E20 0000DC60 C8 02 83 70 */ lfd f0, "@597"@sda21(r2)
/* 80011E24 0000DC64 C8 22 83 78 */ lfd f1, "@598"@sda21(r2)
/* 80011E20 0000DC60 C8 02 83 70 */ lfd f0, $$2597-_SDA2_BASE_(r2)
/* 80011E24 0000DC64 C8 22 83 78 */ lfd f1, $$2598-_SDA2_BASE_(r2)
/* 80011E28 0000DC68 FC 42 00 2A */ fadd f2, f2, f0
/* 80011E2C 0000DC6C FC 01 10 2A */ fadd f0, f1, f2
/* 80011E30 0000DC70 D8 03 00 00 */ stfd f0, 0x0(r3)
/* 80011E30 0000DC70 D8 03 00 00 */ stfd f0, 0(r3)
/* 80011E34 0000DC74 FC 02 00 28 */ fsub f0, f2, f0
/* 80011E38 0000DC78 FC 01 00 2A */ fadd f0, f1, f0
/* 80011E3C 0000DC7C D8 03 00 08 */ stfd f0, 0x8(r3)
.global lbl_80011E40
/* 80011E3C 0000DC7C D8 03 00 08 */ stfd f0, 8(r3)
lbl_80011E40:
/* 80011E40 0000DC80 38 60 FF FF */ li r3, -0x1
/* 80011E40 0000DC80 38 60 FF FF */ li r3, -1
/* 80011E44 0000DC84 48 00 02 60 */ b lbl_800120A4
.global lbl_80011E48
lbl_80011E48:
/* 80011E48 0000DC88 3C 80 41 39 */ lis r4, 0x4139
/* 80011E4C 0000DC8C 38 04 21 FB */ addi r0, r4, 0x21fb
/* 80011E48 0000DC88 3C 80 41 39 */ lis r4, 0x413921FB@ha
/* 80011E4C 0000DC8C 38 04 21 FB */ addi r0, r4, 0x413921FB@l
/* 80011E50 0000DC90 7C 06 00 00 */ cmpw r6, r0
/* 80011E54 0000DC94 41 81 01 48 */ bgt lbl_80011F9C
/* 80011E58 0000DC98 FC A0 0A 10 */ fabs f5, f1
/* 80011E5C 0000DC9C C8 02 83 88 */ lfd f0, "@600"@sda21(r2)
/* 80011E5C 0000DC9C C8 02 83 88 */ lfd f0, $$2600-_SDA2_BASE_(r2)
/* 80011E60 0000DCA0 3C 00 43 30 */ lis r0, 0x4330
/* 80011E64 0000DCA4 C8 42 83 80 */ lfd f2, "@599"@sda21(r2)
/* 80011E64 0000DCA4 C8 42 83 80 */ lfd f2, $$2599-_SDA2_BASE_(r2)
/* 80011E68 0000DCA8 90 01 00 38 */ stw r0, 0x38(r1)
/* 80011E6C 0000DCAC FC 80 01 72 */ fmul f4, f0, f5
/* 80011E70 0000DCB0 C8 62 83 A8 */ lfd f3, "@607"@sda21(r2)
/* 80011E74 0000DCB4 C8 22 83 60 */ lfd f1, "@595"@sda21(r2)
/* 80011E78 0000DCB8 C8 02 83 68 */ lfd f0, "@596"@sda21(r2)
/* 80011E70 0000DCB0 C8 62 83 A8 */ lfd f3, $$2607-_SDA2_BASE_(r2)
/* 80011E74 0000DCB4 C8 22 83 60 */ lfd f1, $$2595-_SDA2_BASE_(r2)
/* 80011E78 0000DCB8 C8 02 83 68 */ lfd f0, $$2596-_SDA2_BASE_(r2)
/* 80011E7C 0000DCBC FC 42 20 2A */ fadd f2, f2, f4
/* 80011E80 0000DCC0 FC 40 10 1E */ fctiwz f2, f2
/* 80011E84 0000DCC4 D8 41 00 30 */ stfd f2, 0x30(r1)
@ -111,7 +104,7 @@ lbl_80011E48:
/* 80011EA4 0000DCE4 FC 40 01 B2 */ fmul f2, f0, f6
/* 80011EA8 0000DCE8 FC 85 08 28 */ fsub f4, f5, f1
/* 80011EAC 0000DCEC 40 80 00 2C */ bge lbl_80011ED8
/* 80011EB0 0000DCF0 38 05 FF FF */ addi r0, r5, -0x1
/* 80011EB0 0000DCF0 38 05 FF FF */ addi r0, r5, -1
/* 80011EB4 0000DCF4 3C 80 80 40 */ lis r4, npio2_hw@ha
/* 80011EB8 0000DCF8 54 00 10 3A */ slwi r0, r0, 2
/* 80011EBC 0000DCFC 38 84 73 E8 */ addi r4, r4, npio2_hw@l
@ -119,21 +112,20 @@ lbl_80011E48:
/* 80011EC4 0000DD04 7C 06 00 00 */ cmpw r6, r0
/* 80011EC8 0000DD08 41 82 00 10 */ beq lbl_80011ED8
/* 80011ECC 0000DD0C FC 04 10 28 */ fsub f0, f4, f2
/* 80011ED0 0000DD10 D8 03 00 00 */ stfd f0, 0x0(r3)
/* 80011ED0 0000DD10 D8 03 00 00 */ stfd f0, 0(r3)
/* 80011ED4 0000DD14 48 00 00 90 */ b lbl_80011F64
.global lbl_80011ED8
lbl_80011ED8:
/* 80011ED8 0000DD18 FC 04 10 28 */ fsub f0, f4, f2
/* 80011EDC 0000DD1C 7C C4 A6 70 */ srawi r4, r6, 20
/* 80011EE0 0000DD20 D8 03 00 00 */ stfd f0, 0x0(r3)
/* 80011EE4 0000DD24 80 03 00 00 */ lwz r0, 0x0(r3)
/* 80011EE8 0000DD28 54 00 65 7E */ extrwi r0, r0, 11, 1
/* 80011EDC 0000DD1C 7C C4 A6 70 */ srawi r4, r6, 0x14
/* 80011EE0 0000DD20 D8 03 00 00 */ stfd f0, 0(r3)
/* 80011EE4 0000DD24 80 03 00 00 */ lwz r0, 0(r3)
/* 80011EE8 0000DD28 54 00 65 7E */ rlwinm r0, r0, 0xc, 0x15, 0x1f
/* 80011EEC 0000DD2C 7C 00 20 50 */ subf r0, r0, r4
/* 80011EF0 0000DD30 2C 00 00 10 */ cmpwi r0, 0x10
/* 80011EF4 0000DD34 40 81 00 70 */ ble lbl_80011F64
/* 80011EF8 0000DD38 C8 22 83 70 */ lfd f1, "@597"@sda21(r2)
/* 80011EF8 0000DD38 C8 22 83 70 */ lfd f1, $$2597-_SDA2_BASE_(r2)
/* 80011EFC 0000DD3C FC 40 20 90 */ fmr f2, f4
/* 80011F00 0000DD40 C8 02 83 78 */ lfd f0, "@598"@sda21(r2)
/* 80011F00 0000DD40 C8 02 83 78 */ lfd f0, $$2598-_SDA2_BASE_(r2)
/* 80011F04 0000DD44 FC 61 01 B2 */ fmul f3, f1, f6
/* 80011F08 0000DD48 FC 20 01 B2 */ fmul f1, f0, f6
/* 80011F0C 0000DD4C FC 84 18 28 */ fsub f4, f4, f3
@ -141,15 +133,15 @@ lbl_80011ED8:
/* 80011F14 0000DD54 FC 00 18 28 */ fsub f0, f0, f3
/* 80011F18 0000DD58 FC 41 00 28 */ fsub f2, f1, f0
/* 80011F1C 0000DD5C FC 04 10 28 */ fsub f0, f4, f2
/* 80011F20 0000DD60 D8 03 00 00 */ stfd f0, 0x0(r3)
/* 80011F24 0000DD64 80 03 00 00 */ lwz r0, 0x0(r3)
/* 80011F28 0000DD68 54 00 65 7E */ extrwi r0, r0, 11, 1
/* 80011F20 0000DD60 D8 03 00 00 */ stfd f0, 0(r3)
/* 80011F24 0000DD64 80 03 00 00 */ lwz r0, 0(r3)
/* 80011F28 0000DD68 54 00 65 7E */ rlwinm r0, r0, 0xc, 0x15, 0x1f
/* 80011F2C 0000DD6C 7C 00 20 50 */ subf r0, r0, r4
/* 80011F30 0000DD70 2C 00 00 31 */ cmpwi r0, 0x31
/* 80011F34 0000DD74 40 81 00 30 */ ble lbl_80011F64
/* 80011F38 0000DD78 C8 22 83 90 */ lfd f1, "@601"@sda21(r2)
/* 80011F38 0000DD78 C8 22 83 90 */ lfd f1, $$2601-_SDA2_BASE_(r2)
/* 80011F3C 0000DD7C FC 40 20 90 */ fmr f2, f4
/* 80011F40 0000DD80 C8 02 83 98 */ lfd f0, "@602"@sda21(r2)
/* 80011F40 0000DD80 C8 02 83 98 */ lfd f0, $$2602-_SDA2_BASE_(r2)
/* 80011F44 0000DD84 FC 61 01 B2 */ fmul f3, f1, f6
/* 80011F48 0000DD88 FC 20 01 B2 */ fmul f1, f0, f6
/* 80011F4C 0000DD8C FC 84 18 28 */ fsub f4, f4, f3
@ -157,53 +149,49 @@ lbl_80011ED8:
/* 80011F54 0000DD94 FC 00 18 28 */ fsub f0, f0, f3
/* 80011F58 0000DD98 FC 41 00 28 */ fsub f2, f1, f0
/* 80011F5C 0000DD9C FC 04 10 28 */ fsub f0, f4, f2
/* 80011F60 0000DDA0 D8 03 00 00 */ stfd f0, 0x0(r3)
.global lbl_80011F64
/* 80011F60 0000DDA0 D8 03 00 00 */ stfd f0, 0(r3)
lbl_80011F64:
/* 80011F64 0000DDA4 C8 23 00 00 */ lfd f1, 0x0(r3)
/* 80011F68 0000DDA8 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80011F64 0000DDA4 C8 23 00 00 */ lfd f1, 0(r3)
/* 80011F68 0000DDA8 2C 1F 00 00 */ cmpwi r31, 0
/* 80011F6C 0000DDAC FC 04 08 28 */ fsub f0, f4, f1
/* 80011F70 0000DDB0 FC 00 10 28 */ fsub f0, f0, f2
/* 80011F74 0000DDB4 D8 03 00 08 */ stfd f0, 0x8(r3)
/* 80011F74 0000DDB4 D8 03 00 08 */ stfd f0, 8(r3)
/* 80011F78 0000DDB8 40 80 00 1C */ bge lbl_80011F94
/* 80011F7C 0000DDBC FC 20 08 50 */ fneg f1, f1
/* 80011F80 0000DDC0 FC 00 00 50 */ fneg f0, f0
/* 80011F84 0000DDC4 D8 23 00 00 */ stfd f1, 0x0(r3)
/* 80011F88 0000DDC8 D8 03 00 08 */ stfd f0, 0x8(r3)
/* 80011F84 0000DDC4 D8 23 00 00 */ stfd f1, 0(r3)
/* 80011F88 0000DDC8 D8 03 00 08 */ stfd f0, 8(r3)
/* 80011F8C 0000DDCC 7C 65 00 D0 */ neg r3, r5
/* 80011F90 0000DDD0 48 00 01 14 */ b lbl_800120A4
.global lbl_80011F94
lbl_80011F94:
/* 80011F94 0000DDD4 7C A3 2B 78 */ mr r3, r5
/* 80011F98 0000DDD8 48 00 01 0C */ b lbl_800120A4
.global lbl_80011F9C
lbl_80011F9C:
/* 80011F9C 0000DDDC 3C 00 7F F0 */ lis r0, 0x7ff0
/* 80011FA0 0000DDE0 7C 06 00 00 */ cmpw r6, r0
/* 80011FA4 0000DDE4 41 80 00 18 */ blt lbl_80011FBC
/* 80011FA8 0000DDE8 FC 01 08 28 */ fsub f0, f1, f1
/* 80011FAC 0000DDEC D8 03 00 08 */ stfd f0, 0x8(r3)
/* 80011FB0 0000DDF0 D8 03 00 00 */ stfd f0, 0x0(r3)
/* 80011FB4 0000DDF4 38 60 00 00 */ li r3, 0x0
/* 80011FAC 0000DDEC D8 03 00 08 */ stfd f0, 8(r3)
/* 80011FB0 0000DDF0 D8 03 00 00 */ stfd f0, 0(r3)
/* 80011FB4 0000DDF4 38 60 00 00 */ li r3, 0
/* 80011FB8 0000DDF8 48 00 00 EC */ b lbl_800120A4
.global lbl_80011FBC
lbl_80011FBC:
/* 80011FBC 0000DDFC 7C C3 A6 70 */ srawi r3, r6, 20
/* 80011FBC 0000DDFC 7C C3 A6 70 */ srawi r3, r6, 0x14
/* 80011FC0 0000DE00 3C 00 43 30 */ lis r0, 0x4330
/* 80011FC4 0000DE04 38 A3 FB EA */ addi r5, r3, -0x416
/* 80011FC4 0000DE04 38 A3 FB EA */ addi r5, r3, -1046
/* 80011FC8 0000DE08 80 81 00 0C */ lwz r4, 0xc(r1)
/* 80011FCC 0000DE0C 54 A3 A0 16 */ slwi r3, r5, 20
/* 80011FCC 0000DE0C 54 A3 A0 16 */ slwi r3, r5, 0x14
/* 80011FD0 0000DE10 90 81 00 14 */ stw r4, 0x14(r1)
/* 80011FD4 0000DE14 7C 63 30 50 */ subf r3, r3, r6
/* 80011FD8 0000DE18 C8 82 83 A8 */ lfd f4, "@607"@sda21(r2)
/* 80011FD8 0000DE18 C8 82 83 A8 */ lfd f4, $$2607-_SDA2_BASE_(r2)
/* 80011FDC 0000DE1C 90 61 00 10 */ stw r3, 0x10(r1)
/* 80011FE0 0000DE20 38 61 00 30 */ addi r3, r1, 0x30
/* 80011FE4 0000DE24 C8 62 83 A0 */ lfd f3, "@603"@sda21(r2)
/* 80011FE8 0000DE28 38 C0 00 03 */ li r6, 0x3
/* 80011FE4 0000DE24 C8 62 83 A0 */ lfd f3, $$2603-_SDA2_BASE_(r2)
/* 80011FE8 0000DE28 38 C0 00 03 */ li r6, 3
/* 80011FEC 0000DE2C C8 41 00 10 */ lfd f2, 0x10(r1)
/* 80011FF0 0000DE30 90 01 00 30 */ stw r0, 0x30(r1)
/* 80011FF4 0000DE34 FC 00 10 1E */ fctiwz f0, f2
/* 80011FF8 0000DE38 C8 22 83 58 */ lfd f1, "@594"@sda21(r2)
/* 80011FF8 0000DE38 C8 22 83 58 */ lfd f1, $$2594-_SDA2_BASE_(r2)
/* 80011FFC 0000DE3C 90 01 00 48 */ stw r0, 0x48(r1)
/* 80012000 0000DE40 D8 01 00 38 */ stfd f0, 0x38(r1)
/* 80012004 0000DE44 80 01 00 3C */ lwz r0, 0x3c(r1)
@ -226,44 +214,39 @@ lbl_80011FBC:
/* 80012048 0000DE88 FC 03 00 32 */ fmul f0, f3, f0
/* 8001204C 0000DE8C D8 01 00 28 */ stfd f0, 0x28(r1)
/* 80012050 0000DE90 48 00 00 0C */ b lbl_8001205C
.global lbl_80012054
lbl_80012054:
/* 80012054 0000DE94 38 63 FF F8 */ addi r3, r3, -0x8
/* 80012058 0000DE98 38 C6 FF FF */ addi r6, r6, -0x1
.global lbl_8001205C
/* 80012054 0000DE94 38 63 FF F8 */ addi r3, r3, -8
/* 80012058 0000DE98 38 C6 FF FF */ addi r6, r6, -1
lbl_8001205C:
/* 8001205C 0000DE9C C8 03 FF F8 */ lfd f0, -0x8(r3)
/* 8001205C 0000DE9C C8 03 FF F8 */ lfd f0, -8(r3)
/* 80012060 0000DEA0 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80012064 0000DEA4 41 82 FF F0 */ beq lbl_80012054
/* 80012068 0000DEA8 3D 00 80 40 */ lis r8, two_over_pi@ha
/* 8001206C 0000DEAC 7F C4 F3 78 */ mr r4, r30
/* 80012070 0000DEB0 38 61 00 18 */ addi r3, r1, 0x18
/* 80012074 0000DEB4 38 E0 00 02 */ li r7, 0x2
/* 80012074 0000DEB4 38 E0 00 02 */ li r7, 2
/* 80012078 0000DEB8 39 08 72 E0 */ addi r8, r8, two_over_pi@l
/* 8001207C 0000DEBC 48 00 01 51 */ bl __kernel_rem_pio2
/* 80012080 0000DEC0 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80012080 0000DEC0 2C 1F 00 00 */ cmpwi r31, 0
/* 80012084 0000DEC4 40 80 00 20 */ bge lbl_800120A4
/* 80012088 0000DEC8 C8 3E 00 00 */ lfd f1, 0x0(r30)
/* 80012088 0000DEC8 C8 3E 00 00 */ lfd f1, 0(r30)
/* 8001208C 0000DECC 7C 63 00 D0 */ neg r3, r3
/* 80012090 0000DED0 C8 1E 00 08 */ lfd f0, 0x8(r30)
/* 80012090 0000DED0 C8 1E 00 08 */ lfd f0, 8(r30)
/* 80012094 0000DED4 FC 20 08 50 */ fneg f1, f1
/* 80012098 0000DED8 FC 00 00 50 */ fneg f0, f0
/* 8001209C 0000DEDC D8 3E 00 00 */ stfd f1, 0x0(r30)
/* 800120A0 0000DEE0 D8 1E 00 08 */ stfd f0, 0x8(r30)
.global lbl_800120A4
/* 8001209C 0000DEDC D8 3E 00 00 */ stfd f1, 0(r30)
/* 800120A0 0000DEE0 D8 1E 00 08 */ stfd f0, 8(r30)
lbl_800120A4:
/* 800120A4 0000DEE4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 800120A8 0000DEE8 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 800120AC 0000DEEC 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 800120B0 0000DEF0 7C 08 03 A6 */ mtlr r0
/* 800120B4 0000DEF4 38 21 00 60 */ addi r1, r1, 0x60
/* 800120B8 0000DEF8 4E 80 00 20 */ blr
.include "macros.inc"
/* 800120B8 0000DEF8 4E 80 00 20 */ blr
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global two_over_pi
two_over_pi:
.4byte 0x00A2F983
.4byte 0x006E4E44
.4byte 0x001529FC
@ -330,10 +313,8 @@ two_over_pi:
.4byte 0x0073A8C9
.4byte 0x0060E27B
.4byte 0x00C08C6B
.global npio2_hw
npio2_hw:
.4byte 0x3FF921FB
.4byte 0x400921FB
.4byte 0x4012D97C
@ -366,71 +347,49 @@ npio2_hw:
.4byte 0x40478FDB
.4byte 0x404858EB
.4byte 0x404921FB
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@594"
"@594":
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2594
$$2594:
.4byte 0
.4byte 0
.global "@595"
"@595":
.global $$2595
$$2595:
.4byte 0x3FF921FB
.4byte 0x54400000
.global "@596"
"@596":
.global $$2596
$$2596:
.4byte 0x3DD0B461
.4byte 0x1A626331
.global "@597"
"@597":
.global $$2597
$$2597:
.4byte 0x3DD0B461
.4byte 0x1A600000
.global "@598"
"@598":
.global $$2598
$$2598:
.4byte 0x3BA3198A
.4byte 0x2E037073
.global "@599"
"@599":
.global $$2599
$$2599:
.4byte 0x3FE00000
.4byte 0
.global "@600"
"@600":
.global $$2600
$$2600:
.4byte 0x3FE45F30
.4byte 0x6DC9C883
.global "@601"
"@601":
.global $$2601
$$2601:
.4byte 0x3BA3198A
.4byte 0x2E000000
.global "@602"
"@602":
.global $$2602
$$2602:
.4byte 0x397B839A
.4byte 0x252049C1
.global "@603"
"@603":
.global $$2603
$$2603:
.4byte 0x41700000
.4byte 0
.global "@607"
"@607":
.global $$2607
$$2607:
.4byte 0x43300000
.4byte 0x80000000

View file

@ -1,92 +1,82 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __ieee754_sqrt
__ieee754_sqrt:
/* 800145A0 000103E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800145A4 000103E4 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 800145A8 000103E8 80 C1 00 08 */ lwz r6, 0x8(r1)
/* 800145A4 000103E4 D8 21 00 08 */ stfd f1, 8(r1)
/* 800145A8 000103E8 80 C1 00 08 */ lwz r6, 8(r1)
/* 800145AC 000103EC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 800145B0 000103F0 54 C3 00 56 */ rlwinm r3, r6, 0, 1, 11
/* 800145B0 000103F0 54 C3 00 56 */ rlwinm r3, r6, 0, 1, 0xb
/* 800145B4 000103F4 3C 63 80 10 */ addis r3, r3, 0x8010
/* 800145B8 000103F8 28 03 00 00 */ cmplwi r3, 0x0
/* 800145B8 000103F8 28 03 00 00 */ cmplwi r3, 0
/* 800145BC 000103FC 40 82 00 18 */ bne lbl_800145D4
/* 800145C0 00010400 FC 01 00 72 */ fmul f0, f1, f1
/* 800145C4 00010404 38 00 00 21 */ li r0, 0x21
/* 800145C8 00010408 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 800145C8 00010408 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 800145CC 0001040C FC 21 00 2A */ fadd f1, f1, f0
/* 800145D0 00010410 48 00 02 10 */ b lbl_800147E0
.global lbl_800145D4
lbl_800145D4:
/* 800145D4 00010414 2C 86 00 00 */ cmpwi cr1, r6, 0x0
/* 800145D4 00010414 2C 86 00 00 */ cmpwi cr1, r6, 0
/* 800145D8 00010418 41 85 00 2C */ bgt cr1, lbl_80014604
/* 800145DC 0001041C 54 C3 00 7E */ clrlwi r3, r6, 1
/* 800145E0 00010420 7C 03 1B 79 */ or. r3, r0, r3
/* 800145E4 00010424 40 82 00 08 */ bne lbl_800145EC
/* 800145E8 00010428 48 00 01 F8 */ b lbl_800147E0
.global lbl_800145EC
lbl_800145EC:
/* 800145EC 0001042C 40 84 00 18 */ bge cr1, lbl_80014604
/* 800145F0 00010430 3C 60 80 55 */ lis r3, __float_nan@ha
/* 800145F4 00010434 38 00 00 21 */ li r0, 0x21
/* 800145F8 00010438 90 0D E2 D0 */ stw r0, errno@sda21(r13)
/* 800145F8 00010438 90 0D E2 D0 */ stw r0, errno-_SDA_BASE_(r13)
/* 800145FC 0001043C C0 23 64 48 */ lfs f1, __float_nan@l(r3)
/* 80014600 00010440 48 00 01 E0 */ b lbl_800147E0
.global lbl_80014604
lbl_80014604:
/* 80014604 00010444 7C C3 A6 71 */ srawi. r3, r6, 20
/* 80014604 00010444 7C C3 A6 71 */ srawi. r3, r6, 0x14
/* 80014608 00010448 40 82 00 50 */ bne lbl_80014658
/* 8001460C 0001044C 48 00 00 14 */ b lbl_80014620
.global lbl_80014610
lbl_80014610:
/* 80014610 00010450 54 04 AA FE */ srwi r4, r0, 11
/* 80014614 00010454 54 00 A8 14 */ slwi r0, r0, 21
/* 80014610 00010450 54 04 AA FE */ srwi r4, r0, 0xb
/* 80014614 00010454 54 00 A8 14 */ slwi r0, r0, 0x15
/* 80014618 00010458 7C C6 23 78 */ or r6, r6, r4
/* 8001461C 0001045C 38 63 FF EB */ addi r3, r3, -0x15
.global lbl_80014620
/* 8001461C 0001045C 38 63 FF EB */ addi r3, r3, -21
lbl_80014620:
/* 80014620 00010460 2C 06 00 00 */ cmpwi r6, 0x0
/* 80014620 00010460 2C 06 00 00 */ cmpwi r6, 0
/* 80014624 00010464 41 82 FF EC */ beq lbl_80014610
/* 80014628 00010468 38 E0 00 00 */ li r7, 0x0
/* 80014628 00010468 38 E0 00 00 */ li r7, 0
/* 8001462C 0001046C 48 00 00 0C */ b lbl_80014638
.global lbl_80014630
lbl_80014630:
/* 80014630 00010470 54 C6 08 3C */ slwi r6, r6, 1
/* 80014634 00010474 38 E7 00 01 */ addi r7, r7, 0x1
.global lbl_80014638
/* 80014634 00010474 38 E7 00 01 */ addi r7, r7, 1
lbl_80014638:
/* 80014638 00010478 54 C4 02 D7 */ rlwinm. r4, r6, 0, 11, 11
/* 80014638 00010478 54 C4 02 D7 */ rlwinm. r4, r6, 0, 0xb, 0xb
/* 8001463C 0001047C 41 82 FF F4 */ beq lbl_80014630
/* 80014640 00010480 20 87 00 20 */ subfic r4, r7, 0x20
/* 80014644 00010484 38 A7 FF FF */ addi r5, r7, -0x1
/* 80014644 00010484 38 A7 FF FF */ addi r5, r7, -1
/* 80014648 00010488 7C 04 24 30 */ srw r4, r0, r4
/* 8001464C 0001048C 7C 00 38 30 */ slw r0, r0, r7
/* 80014650 00010490 7C 65 18 50 */ subf r3, r5, r3
/* 80014654 00010494 7C C6 23 78 */ or r6, r6, r4
.global lbl_80014658
lbl_80014658:
/* 80014658 00010498 38 83 FC 01 */ addi r4, r3, -0x3ff
/* 8001465C 0001049C 54 C5 03 3E */ clrlwi r5, r6, 12
/* 80014660 000104A0 54 84 07 FF */ clrlwi. r4, r4, 31
/* 80014658 00010498 38 83 FC 01 */ addi r4, r3, -1023
/* 8001465C 0001049C 54 C5 03 3E */ clrlwi r5, r6, 0xc
/* 80014660 000104A0 54 84 07 FF */ clrlwi. r4, r4, 0x1f
/* 80014664 000104A4 64 A6 00 10 */ oris r6, r5, 0x10
/* 80014668 000104A8 41 82 00 14 */ beq lbl_8001467C
/* 8001466C 000104AC 54 05 0F FE */ srwi r5, r0, 31
/* 8001466C 000104AC 54 05 0F FE */ srwi r5, r0, 0x1f
/* 80014670 000104B0 7C 86 32 14 */ add r4, r6, r6
/* 80014674 000104B4 7C C5 22 14 */ add r6, r5, r4
/* 80014678 000104B8 7C 00 02 14 */ add r0, r0, r0
.global lbl_8001467C
lbl_8001467C:
/* 8001467C 000104BC 54 05 0F FE */ srwi r5, r0, 31
/* 8001467C 000104BC 54 05 0F FE */ srwi r5, r0, 0x1f
/* 80014680 000104C0 7C 86 32 14 */ add r4, r6, r6
/* 80014684 000104C4 7C C5 22 14 */ add r6, r5, r4
/* 80014688 000104C8 7C 00 02 14 */ add r0, r0, r0
/* 8001468C 000104CC 39 20 00 00 */ li r9, 0x0
/* 80014690 000104D0 39 60 00 00 */ li r11, 0x0
/* 80014694 000104D4 39 40 00 00 */ li r10, 0x0
/* 80014698 000104D8 39 80 00 00 */ li r12, 0x0
/* 8001468C 000104CC 39 20 00 00 */ li r9, 0
/* 80014690 000104D0 39 60 00 00 */ li r11, 0
/* 80014694 000104D4 39 40 00 00 */ li r10, 0
/* 80014698 000104D8 39 80 00 00 */ li r12, 0
/* 8001469C 000104DC 3C E0 00 20 */ lis r7, 0x20
/* 800146A0 000104E0 48 00 00 30 */ b lbl_800146D0
.global lbl_800146A4
lbl_800146A4:
/* 800146A4 000104E4 7C 8B 3A 14 */ add r4, r11, r7
/* 800146A8 000104E8 7C 04 30 00 */ cmpw r4, r6
@ -94,20 +84,17 @@ lbl_800146A4:
/* 800146B0 000104F0 7D 64 3A 14 */ add r11, r4, r7
/* 800146B4 000104F4 7C C4 30 50 */ subf r6, r4, r6
/* 800146B8 000104F8 7D 8C 3A 14 */ add r12, r12, r7
.global lbl_800146BC
lbl_800146BC:
/* 800146BC 000104FC 54 05 0F FE */ srwi r5, r0, 31
/* 800146BC 000104FC 54 05 0F FE */ srwi r5, r0, 0x1f
/* 800146C0 00010500 7C 86 32 14 */ add r4, r6, r6
/* 800146C4 00010504 7C C5 22 14 */ add r6, r5, r4
/* 800146C8 00010508 7C 00 02 14 */ add r0, r0, r0
/* 800146CC 0001050C 54 E7 F8 7E */ srwi r7, r7, 1
.global lbl_800146D0
lbl_800146D0:
/* 800146D0 00010510 2C 07 00 00 */ cmpwi r7, 0x0
/* 800146D0 00010510 2C 07 00 00 */ cmpwi r7, 0
/* 800146D4 00010514 40 82 FF D0 */ bne lbl_800146A4
/* 800146D8 00010518 3C E0 80 00 */ lis r7, 0x8000
/* 800146DC 0001051C 48 00 00 6C */ b lbl_80014748
.global lbl_800146E0
lbl_800146E0:
/* 800146E0 00010520 7C 0B 30 00 */ cmpw r11, r6
/* 800146E4 00010524 7D 65 5B 78 */ mr r5, r11
@ -116,92 +103,79 @@ lbl_800146E0:
/* 800146F0 00010530 40 82 00 44 */ bne lbl_80014734
/* 800146F4 00010534 7C 08 00 40 */ cmplw r8, r0
/* 800146F8 00010538 41 81 00 3C */ bgt lbl_80014734
.global lbl_800146FC
lbl_800146FC:
/* 800146FC 0001053C 55 04 00 00 */ clrrwi r4, r8, 31
/* 800146FC 0001053C 55 04 00 00 */ rlwinm r4, r8, 0, 0, 0
/* 80014700 00010540 7D 28 3A 14 */ add r9, r8, r7
/* 80014704 00010544 3C 84 80 00 */ addis r4, r4, 0x8000
/* 80014708 00010548 28 04 00 00 */ cmplwi r4, 0x0
/* 80014708 00010548 28 04 00 00 */ cmplwi r4, 0
/* 8001470C 0001054C 40 82 00 10 */ bne lbl_8001471C
/* 80014710 00010550 55 24 00 01 */ clrrwi. r4, r9, 31
/* 80014710 00010550 55 24 00 01 */ rlwinm. r4, r9, 0, 0, 0
/* 80014714 00010554 40 82 00 08 */ bne lbl_8001471C
/* 80014718 00010558 39 6B 00 01 */ addi r11, r11, 0x1
.global lbl_8001471C
/* 80014718 00010558 39 6B 00 01 */ addi r11, r11, 1
lbl_8001471C:
/* 8001471C 0001055C 7C 00 40 40 */ cmplw r0, r8
/* 80014720 00010560 7C C5 30 50 */ subf r6, r5, r6
/* 80014724 00010564 40 80 00 08 */ bge lbl_8001472C
/* 80014728 00010568 38 C6 FF FF */ addi r6, r6, -0x1
.global lbl_8001472C
/* 80014728 00010568 38 C6 FF FF */ addi r6, r6, -1
lbl_8001472C:
/* 8001472C 0001056C 7C 08 00 50 */ subf r0, r8, r0
/* 80014730 00010570 7D 4A 3A 14 */ add r10, r10, r7
.global lbl_80014734
lbl_80014734:
/* 80014734 00010574 54 05 0F FE */ srwi r5, r0, 31
/* 80014734 00010574 54 05 0F FE */ srwi r5, r0, 0x1f
/* 80014738 00010578 7C 86 32 14 */ add r4, r6, r6
/* 8001473C 0001057C 7C C5 22 14 */ add r6, r5, r4
/* 80014740 00010580 7C 00 02 14 */ add r0, r0, r0
/* 80014744 00010584 54 E7 F8 7E */ srwi r7, r7, 1
.global lbl_80014748
lbl_80014748:
/* 80014748 00010588 2C 07 00 00 */ cmpwi r7, 0x0
/* 80014748 00010588 2C 07 00 00 */ cmpwi r7, 0
/* 8001474C 0001058C 40 82 FF 94 */ bne lbl_800146E0
/* 80014750 00010590 7C C0 03 79 */ or. r0, r6, r0
/* 80014754 00010594 41 82 00 58 */ beq lbl_800147AC
/* 80014758 00010598 C8 02 85 38 */ lfd f0, "@562_8055E4B8"@sda21(r2)
/* 80014758 00010598 C8 02 85 38 */ lfd f0, $$2562-_SDA2_BASE_(r2)
/* 8001475C 0001059C D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80014760 000105A0 FC 00 00 40 */ fcmpo cr0, f0, f0
/* 80014764 000105A4 4C 41 13 82 */ cror eq, gt, eq
/* 80014764 000105A4 4C 41 13 82 */ cror 2, 1, 2
/* 80014768 000105A8 40 82 00 44 */ bne lbl_800147AC
/* 8001476C 000105AC 3C 0A 00 01 */ addis r0, r10, 0x1
/* 8001476C 000105AC 3C 0A 00 01 */ addis r0, r10, 1
/* 80014770 000105B0 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80014774 000105B4 28 00 FF FF */ cmplwi r0, 0xffff
/* 80014778 000105B8 40 82 00 10 */ bne lbl_80014788
/* 8001477C 000105BC 39 40 00 00 */ li r10, 0x0
/* 80014780 000105C0 39 8C 00 01 */ addi r12, r12, 0x1
/* 8001477C 000105BC 39 40 00 00 */ li r10, 0
/* 80014780 000105C0 39 8C 00 01 */ addi r12, r12, 1
/* 80014784 000105C4 48 00 00 28 */ b lbl_800147AC
.global lbl_80014788
lbl_80014788:
/* 80014788 000105C8 FC 00 00 40 */ fcmpo cr0, f0, f0
/* 8001478C 000105CC 40 81 00 18 */ ble lbl_800147A4
/* 80014790 000105D0 28 00 FF FE */ cmplwi r0, 0xfffe
/* 80014794 000105D4 40 82 00 08 */ bne lbl_8001479C
/* 80014798 000105D8 39 8C 00 01 */ addi r12, r12, 0x1
.global lbl_8001479C
/* 80014798 000105D8 39 8C 00 01 */ addi r12, r12, 1
lbl_8001479C:
/* 8001479C 000105DC 39 4A 00 02 */ addi r10, r10, 0x2
/* 8001479C 000105DC 39 4A 00 02 */ addi r10, r10, 2
/* 800147A0 000105E0 48 00 00 0C */ b lbl_800147AC
.global lbl_800147A4
lbl_800147A4:
/* 800147A4 000105E4 55 40 07 FE */ clrlwi r0, r10, 31
/* 800147A4 000105E4 55 40 07 FE */ clrlwi r0, r10, 0x1f
/* 800147A8 000105E8 7D 4A 02 14 */ add r10, r10, r0
.global lbl_800147AC
lbl_800147AC:
/* 800147AC 000105EC 55 80 07 FE */ clrlwi r0, r12, 31
/* 800147AC 000105EC 55 80 07 FE */ clrlwi r0, r12, 0x1f
/* 800147B0 000105F0 7D 84 0E 70 */ srawi r4, r12, 1
/* 800147B4 000105F4 2C 00 00 01 */ cmpwi r0, 0x1
/* 800147B4 000105F4 2C 00 00 01 */ cmpwi r0, 1
/* 800147B8 000105F8 55 45 F8 7E */ srwi r5, r10, 1
/* 800147BC 000105FC 3C 84 3F E0 */ addis r4, r4, 0x3fe0
/* 800147C0 00010600 40 82 00 08 */ bne lbl_800147C8
/* 800147C4 00010604 64 A5 80 00 */ oris r5, r5, 0x8000
.global lbl_800147C8
lbl_800147C8:
/* 800147C8 00010608 38 03 FC 01 */ addi r0, r3, -0x3ff
/* 800147C8 00010608 38 03 FC 01 */ addi r0, r3, -1023
/* 800147CC 0001060C 90 A1 00 14 */ stw r5, 0x14(r1)
/* 800147D0 00010610 54 00 98 16 */ extlwi r0, r0, 12, 19
/* 800147D0 00010610 54 00 98 16 */ rlwinm r0, r0, 0x13, 0, 0xb
/* 800147D4 00010614 7C 84 02 14 */ add r4, r4, r0
/* 800147D8 00010618 90 81 00 10 */ stw r4, 0x10(r1)
/* 800147DC 0001061C C8 21 00 10 */ lfd f1, 0x10(r1)
.global lbl_800147E0
lbl_800147E0:
/* 800147E0 00010620 38 21 00 20 */ addi r1, r1, 0x20
/* 800147E4 00010624 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@562_8055E4B8"
"@562_8055E4B8":
/* 800147E4 00010624 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2562
$$2562:
.4byte 0x3FF00000
.4byte 0

View file

@ -1,35 +1,34 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __kernel_cos
__kernel_cos:
/* 800120BC 0000DEFC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800120C0 0000DF00 3C 00 3E 40 */ lis r0, 0x3e40
/* 800120C4 0000DF04 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 800120C8 0000DF08 80 61 00 08 */ lwz r3, 0x8(r1)
/* 800120C4 0000DF04 D8 21 00 08 */ stfd f1, 8(r1)
/* 800120C8 0000DF08 80 61 00 08 */ lwz r3, 8(r1)
/* 800120CC 0000DF0C 54 64 00 7E */ clrlwi r4, r3, 1
/* 800120D0 0000DF10 7C 04 00 00 */ cmpw r4, r0
/* 800120D4 0000DF14 40 80 00 20 */ bge lbl_800120F4
/* 800120D8 0000DF18 FC 00 08 1E */ fctiwz f0, f1
/* 800120DC 0000DF1C D8 01 00 18 */ stfd f0, 0x18(r1)
/* 800120E0 0000DF20 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800120E4 0000DF24 2C 00 00 00 */ cmpwi r0, 0x0
/* 800120E4 0000DF24 2C 00 00 00 */ cmpwi r0, 0
/* 800120E8 0000DF28 40 82 00 0C */ bne lbl_800120F4
/* 800120EC 0000DF2C C8 22 83 B0 */ lfd f1, "@476_8055E330"@sda21(r2)
/* 800120EC 0000DF2C C8 22 83 B0 */ lfd f1, $$2476-_SDA2_BASE_(r2)
/* 800120F0 0000DF30 48 00 00 D4 */ b lbl_800121C4
.global lbl_800120F4
lbl_800120F4:
/* 800120F4 0000DF34 FD 01 00 72 */ fmul f8, f1, f1
/* 800120F8 0000DF38 C8 02 83 E0 */ lfd f0, "@482_8055E360"@sda21(r2)
/* 800120FC 0000DF3C 3C 60 3F D3 */ lis r3, 0x3fd3
/* 80012100 0000DF40 C8 C2 83 D8 */ lfd f6, "@481_8055E358"@sda21(r2)
/* 80012104 0000DF44 38 03 33 33 */ addi r0, r3, 0x3333
/* 80012108 0000DF48 C8 A2 83 D0 */ lfd f5, "@480_8055E350"@sda21(r2)
/* 800120F8 0000DF38 C8 02 83 E0 */ lfd f0, $$2482-_SDA2_BASE_(r2)
/* 800120FC 0000DF3C 3C 60 3F D3 */ lis r3, 0x3FD33333@ha
/* 80012100 0000DF40 C8 C2 83 D8 */ lfd f6, $$2481-_SDA2_BASE_(r2)
/* 80012104 0000DF44 38 03 33 33 */ addi r0, r3, 0x3FD33333@l
/* 80012108 0000DF48 C8 A2 83 D0 */ lfd f5, $$2480-_SDA2_BASE_(r2)
/* 8001210C 0000DF4C FC E0 02 32 */ fmul f7, f0, f8
/* 80012110 0000DF50 C8 82 83 C8 */ lfd f4, "@479_8055E348"@sda21(r2)
/* 80012114 0000DF54 C8 62 83 C0 */ lfd f3, "@478_8055E340"@sda21(r2)
/* 80012110 0000DF50 C8 82 83 C8 */ lfd f4, $$2479-_SDA2_BASE_(r2)
/* 80012114 0000DF54 C8 62 83 C0 */ lfd f3, $$2478-_SDA2_BASE_(r2)
/* 80012118 0000DF58 7C 04 00 00 */ cmpw r4, r0
/* 8001211C 0000DF5C C8 02 83 B8 */ lfd f0, "@477_8055E338"@sda21(r2)
/* 8001211C 0000DF5C C8 02 83 B8 */ lfd f0, $$2477-_SDA2_BASE_(r2)
/* 80012120 0000DF60 FC C6 38 2A */ fadd f6, f6, f7
/* 80012124 0000DF64 FC C8 01 B2 */ fmul f6, f8, f6
/* 80012128 0000DF68 FC A5 30 2A */ fadd f5, f5, f6
@ -42,98 +41,76 @@ lbl_800120F4:
/* 80012144 0000DF84 FC 68 00 32 */ fmul f3, f8, f0
/* 80012148 0000DF88 40 80 00 28 */ bge lbl_80012170
/* 8001214C 0000DF8C FC 68 00 F2 */ fmul f3, f8, f3
/* 80012150 0000DF90 C8 82 83 E8 */ lfd f4, "@483"@sda21(r2)
/* 80012154 0000DF94 C8 02 83 B0 */ lfd f0, "@476_8055E330"@sda21(r2)
/* 80012150 0000DF90 C8 82 83 E8 */ lfd f4, $$2483-_SDA2_BASE_(r2)
/* 80012154 0000DF94 C8 02 83 B0 */ lfd f0, $$2476-_SDA2_BASE_(r2)
/* 80012158 0000DF98 FC 21 00 B2 */ fmul f1, f1, f2
/* 8001215C 0000DF9C FC 44 02 32 */ fmul f2, f4, f8
/* 80012160 0000DFA0 FC 23 08 28 */ fsub f1, f3, f1
/* 80012164 0000DFA4 FC 22 08 28 */ fsub f1, f2, f1
/* 80012168 0000DFA8 FC 20 08 28 */ fsub f1, f0, f1
/* 8001216C 0000DFAC 48 00 00 58 */ b lbl_800121C4
.global lbl_80012170
lbl_80012170:
/* 80012170 0000DFB0 3C 00 3F E9 */ lis r0, 0x3fe9
/* 80012174 0000DFB4 7C 04 00 00 */ cmpw r4, r0
/* 80012178 0000DFB8 40 81 00 10 */ ble lbl_80012188
/* 8001217C 0000DFBC C8 02 83 F0 */ lfd f0, "@484_8055E370"@sda21(r2)
/* 8001217C 0000DFBC C8 02 83 F0 */ lfd f0, $$2484-_SDA2_BASE_(r2)
/* 80012180 0000DFC0 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80012184 0000DFC4 48 00 00 14 */ b lbl_80012198
.global lbl_80012188
lbl_80012188:
/* 80012188 0000DFC8 3C 64 FF E0 */ addis r3, r4, 0xffe0
/* 8001218C 0000DFCC 38 00 00 00 */ li r0, 0x0
/* 8001218C 0000DFCC 38 00 00 00 */ li r0, 0
/* 80012190 0000DFD0 90 61 00 10 */ stw r3, 0x10(r1)
/* 80012194 0000DFD4 90 01 00 14 */ stw r0, 0x14(r1)
.global lbl_80012198
lbl_80012198:
/* 80012198 0000DFD8 C8 02 83 E8 */ lfd f0, "@483"@sda21(r2)
/* 80012198 0000DFD8 C8 02 83 E8 */ lfd f0, $$2483-_SDA2_BASE_(r2)
/* 8001219C 0000DFDC FC 68 00 F2 */ fmul f3, f8, f3
/* 800121A0 0000DFE0 C8 A1 00 10 */ lfd f5, 0x10(r1)
/* 800121A4 0000DFE4 FC C0 02 32 */ fmul f6, f0, f8
/* 800121A8 0000DFE8 C8 82 83 B0 */ lfd f4, "@476_8055E330"@sda21(r2)
/* 800121A8 0000DFE8 C8 82 83 B0 */ lfd f4, $$2476-_SDA2_BASE_(r2)
/* 800121AC 0000DFEC FC 01 00 B2 */ fmul f0, f1, f2
/* 800121B0 0000DFF0 FC 46 28 28 */ fsub f2, f6, f5
/* 800121B4 0000DFF4 FC 24 28 28 */ fsub f1, f4, f5
/* 800121B8 0000DFF8 FC 03 00 28 */ fsub f0, f3, f0
/* 800121BC 0000DFFC FC 02 00 28 */ fsub f0, f2, f0
/* 800121C0 0000E000 FC 21 00 28 */ fsub f1, f1, f0
.global lbl_800121C4
lbl_800121C4:
/* 800121C4 0000E004 38 21 00 20 */ addi r1, r1, 0x20
/* 800121C8 0000E008 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@476_8055E330"
"@476_8055E330":
/* 800121C8 0000E008 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2476
$$2476:
.4byte 0x3FF00000
.4byte 0
.global "@477_8055E338"
"@477_8055E338":
.global $$2477
$$2477:
.4byte 0x3FA55555
.4byte 0x5555554C
.global "@478_8055E340"
"@478_8055E340":
.global $$2478
$$2478:
.4byte 0xBF56C16C
.4byte 0x16C15177
.global "@479_8055E348"
"@479_8055E348":
.global $$2479
$$2479:
.4byte 0x3EFA01A0
.4byte 0x19CB1590
.global "@480_8055E350"
"@480_8055E350":
.global $$2480
$$2480:
.4byte 0xBE927E4F
.4byte 0x809C52AD
.global "@481_8055E358"
"@481_8055E358":
.global $$2481
$$2481:
.4byte 0x3E21EE9E
.4byte 0xBDB4B1C4
.global "@482_8055E360"
"@482_8055E360":
.global $$2482
$$2482:
.4byte 0xBDA8FAE9
.4byte 0xBE8838D4
.global "@483"
"@483":
.global $$2483
$$2483:
.4byte 0x3FE00000
.4byte 0
.global "@484_8055E370"
"@484_8055E370":
.global $$2484
$$2484:
.4byte 0x3FD20000
.4byte 0

View file

@ -1,31 +1,30 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __kernel_sin
__kernel_sin:
/* 80013884 0000F6C4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80013888 0000F6C8 3C 00 3E 40 */ lis r0, 0x3e40
/* 8001388C 0000F6CC D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80013890 0000F6D0 80 81 00 08 */ lwz r4, 0x8(r1)
/* 8001388C 0000F6CC D8 21 00 08 */ stfd f1, 8(r1)
/* 80013890 0000F6D0 80 81 00 08 */ lwz r4, 8(r1)
/* 80013894 0000F6D4 54 84 00 7E */ clrlwi r4, r4, 1
/* 80013898 0000F6D8 7C 04 00 00 */ cmpw r4, r0
/* 8001389C 0000F6DC 40 80 00 1C */ bge lbl_800138B8
/* 800138A0 0000F6E0 FC 00 08 1E */ fctiwz f0, f1
/* 800138A4 0000F6E4 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 800138A8 0000F6E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800138AC 0000F6EC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800138AC 0000F6EC 2C 00 00 00 */ cmpwi r0, 0
/* 800138B0 0000F6F0 40 82 00 08 */ bne lbl_800138B8
/* 800138B4 0000F6F4 48 00 00 88 */ b lbl_8001393C
.global lbl_800138B8
lbl_800138B8:
/* 800138B8 0000F6F8 FC E1 00 72 */ fmul f7, f1, f1
/* 800138BC 0000F6FC C8 02 84 58 */ lfd f0, "@474"@sda21(r2)
/* 800138C0 0000F700 C8 A2 84 50 */ lfd f5, "@473"@sda21(r2)
/* 800138C4 0000F704 2C 03 00 00 */ cmpwi r3, 0x0
/* 800138C8 0000F708 C8 82 84 48 */ lfd f4, "@472"@sda21(r2)
/* 800138CC 0000F70C C8 62 84 40 */ lfd f3, "@471"@sda21(r2)
/* 800138BC 0000F6FC C8 02 84 58 */ lfd f0, $$2474-_SDA2_BASE_(r2)
/* 800138C0 0000F700 C8 A2 84 50 */ lfd f5, $$2473-_SDA2_BASE_(r2)
/* 800138C4 0000F704 2C 03 00 00 */ cmpwi r3, 0
/* 800138C8 0000F708 C8 82 84 48 */ lfd f4, $$2472-_SDA2_BASE_(r2)
/* 800138CC 0000F70C C8 62 84 40 */ lfd f3, $$2471-_SDA2_BASE_(r2)
/* 800138D0 0000F710 FC C0 01 F2 */ fmul f6, f0, f7
/* 800138D4 0000F714 C8 02 84 38 */ lfd f0, "@470"@sda21(r2)
/* 800138D4 0000F714 C8 02 84 38 */ lfd f0, $$2470-_SDA2_BASE_(r2)
/* 800138D8 0000F718 FD 07 00 72 */ fmul f8, f7, f1
/* 800138DC 0000F71C FC A5 30 2A */ fadd f5, f5, f6
/* 800138E0 0000F720 FC A7 01 72 */ fmul f5, f7, f5
@ -36,16 +35,15 @@ lbl_800138B8:
/* 800138F4 0000F734 FC 00 18 2A */ fadd f0, f0, f3
/* 800138F8 0000F738 40 82 00 1C */ bne lbl_80013914
/* 800138FC 0000F73C FC 47 00 32 */ fmul f2, f7, f0
/* 80013900 0000F740 C8 02 84 60 */ lfd f0, "@475"@sda21(r2)
/* 80013900 0000F740 C8 02 84 60 */ lfd f0, $$2475-_SDA2_BASE_(r2)
/* 80013904 0000F744 FC 00 10 2A */ fadd f0, f0, f2
/* 80013908 0000F748 FC 08 00 32 */ fmul f0, f8, f0
/* 8001390C 0000F74C FC 21 00 2A */ fadd f1, f1, f0
/* 80013910 0000F750 48 00 00 2C */ b lbl_8001393C
.global lbl_80013914
lbl_80013914:
/* 80013914 0000F754 C8 82 84 68 */ lfd f4, "@476_8055E3E8"@sda21(r2)
/* 80013914 0000F754 C8 82 84 68 */ lfd f4, $$2476-_SDA2_BASE_(r2)
/* 80013918 0000F758 FC 68 00 32 */ fmul f3, f8, f0
/* 8001391C 0000F75C C8 02 84 60 */ lfd f0, "@475"@sda21(r2)
/* 8001391C 0000F75C C8 02 84 60 */ lfd f0, $$2475-_SDA2_BASE_(r2)
/* 80013920 0000F760 FC 84 00 B2 */ fmul f4, f4, f2
/* 80013924 0000F764 FC 00 02 32 */ fmul f0, f0, f8
/* 80013928 0000F768 FC 64 18 28 */ fsub f3, f4, f3
@ -53,51 +51,36 @@ lbl_80013914:
/* 80013930 0000F770 FC 43 10 28 */ fsub f2, f3, f2
/* 80013934 0000F774 FC 02 00 28 */ fsub f0, f2, f0
/* 80013938 0000F778 FC 21 00 28 */ fsub f1, f1, f0
.global lbl_8001393C
lbl_8001393C:
/* 8001393C 0000F77C 38 21 00 20 */ addi r1, r1, 0x20
/* 80013940 0000F780 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@470"
"@470":
/* 80013940 0000F780 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2470
$$2470:
.4byte 0x3F811111
.4byte 0x1110F8A6
.global "@471"
"@471":
.global $$2471
$$2471:
.4byte 0xBF2A01A0
.4byte 0x19C161D5
.global "@472"
"@472":
.global $$2472
$$2472:
.4byte 0x3EC71DE3
.4byte 0x57B1FE7D
.global "@473"
"@473":
.global $$2473
$$2473:
.4byte 0xBE5AE5E6
.4byte 0x8A2B9CEB
.global "@474"
"@474":
.global $$2474
$$2474:
.4byte 0x3DE5D93A
.4byte 0x5ACFD57C
.global "@475"
"@475":
.global $$2475
$$2475:
.4byte 0xBFC55555
.4byte 0x55555549
.global "@476_8055E3E8"
"@476_8055E3E8":
.global $$2476
$$2476:
.4byte 0x3FE00000
.4byte 0

View file

@ -1,68 +1,63 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __kernel_tan
__kernel_tan:
/* 80013944 0000F784 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80013948 0000F788 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8001394C 0000F78C F3 E1 00 48 */ psq_st f31, 0x48(r1), 0, qr0
/* 8001394C 0000F78C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 80013950 0000F790 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 80013954 0000F794 F3 C1 00 38 */ psq_st f30, 0x38(r1), 0, qr0
/* 80013958 0000F798 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80013954 0000F794 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 80013958 0000F798 D8 21 00 08 */ stfd f1, 8(r1)
/* 8001395C 0000F79C 3C 00 3E 30 */ lis r0, 0x3e30
/* 80013960 0000F7A0 81 01 00 08 */ lwz r8, 0x8(r1)
/* 80013960 0000F7A0 81 01 00 08 */ lwz r8, 8(r1)
/* 80013964 0000F7A4 55 07 00 7E */ clrlwi r7, r8, 1
/* 80013968 0000F7A8 7C 07 00 00 */ cmpw r7, r0
/* 8001396C 0000F7AC 40 80 00 54 */ bge lbl_800139C0
/* 80013970 0000F7B0 FC 00 08 1E */ fctiwz f0, f1
/* 80013974 0000F7B4 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 80013978 0000F7B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8001397C 0000F7BC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001397C 0000F7BC 2C 00 00 00 */ cmpwi r0, 0
/* 80013980 0000F7C0 40 82 00 40 */ bne lbl_800139C0
/* 80013984 0000F7C4 38 83 00 01 */ addi r4, r3, 0x1
/* 80013984 0000F7C4 38 83 00 01 */ addi r4, r3, 1
/* 80013988 0000F7C8 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8001398C 0000F7CC 7C 84 3B 78 */ or r4, r4, r7
/* 80013990 0000F7D0 7C 80 03 79 */ or. r0, r4, r0
/* 80013994 0000F7D4 40 82 00 14 */ bne lbl_800139A8
/* 80013998 0000F7D8 FC 20 0A 10 */ fabs f1, f1
/* 8001399C 0000F7DC C8 02 84 70 */ lfd f0, "@516_8055E3F0"@sda21(r2)
/* 8001399C 0000F7DC C8 02 84 70 */ lfd f0, $$2516-_SDA2_BASE_(r2)
/* 800139A0 0000F7E0 FC 20 08 24 */ fdiv f1, f0, f1
/* 800139A4 0000F7E4 48 00 01 D8 */ b lbl_80013B7C
.global lbl_800139A8
lbl_800139A8:
/* 800139A8 0000F7E8 2C 03 00 01 */ cmpwi r3, 0x1
/* 800139A8 0000F7E8 2C 03 00 01 */ cmpwi r3, 1
/* 800139AC 0000F7EC 40 82 00 08 */ bne lbl_800139B4
/* 800139B0 0000F7F0 48 00 01 CC */ b lbl_80013B7C
.global lbl_800139B4
lbl_800139B4:
/* 800139B4 0000F7F4 C8 02 84 78 */ lfd f0, "@517_8055E3F8"@sda21(r2)
/* 800139B4 0000F7F4 C8 02 84 78 */ lfd f0, $$2517-_SDA2_BASE_(r2)
/* 800139B8 0000F7F8 FC 20 08 24 */ fdiv f1, f0, f1
/* 800139BC 0000F7FC 48 00 01 C0 */ b lbl_80013B7C
.global lbl_800139C0
lbl_800139C0:
/* 800139C0 0000F800 3C 80 3F E6 */ lis r4, 0x3fe6
/* 800139C4 0000F804 38 04 94 28 */ addi r0, r4, -0x6bd8
/* 800139C0 0000F800 3C 80 3F E6 */ lis r4, 0x3FE59428@ha
/* 800139C4 0000F804 38 04 94 28 */ addi r0, r4, 0x3FE59428@l
/* 800139C8 0000F808 7C 07 00 00 */ cmpw r7, r0
/* 800139CC 0000F80C 41 80 00 2C */ blt lbl_800139F8
/* 800139D0 0000F810 2C 08 00 00 */ cmpwi r8, 0x0
/* 800139D0 0000F810 2C 08 00 00 */ cmpwi r8, 0
/* 800139D4 0000F814 40 80 00 0C */ bge lbl_800139E0
/* 800139D8 0000F818 FC 20 08 50 */ fneg f1, f1
/* 800139DC 0000F81C FC 40 10 50 */ fneg f2, f2
.global lbl_800139E0
lbl_800139E0:
/* 800139E0 0000F820 C8 62 84 80 */ lfd f3, "@518_8055E400"@sda21(r2)
/* 800139E4 0000F824 C8 02 84 88 */ lfd f0, "@519_8055E408"@sda21(r2)
/* 800139E0 0000F820 C8 62 84 80 */ lfd f3, $$2518-_SDA2_BASE_(r2)
/* 800139E4 0000F824 C8 02 84 88 */ lfd f0, $$2519-_SDA2_BASE_(r2)
/* 800139E8 0000F828 FC 23 08 28 */ fsub f1, f3, f1
/* 800139EC 0000F82C FC 00 10 28 */ fsub f0, f0, f2
/* 800139F0 0000F830 C8 42 84 90 */ lfd f2, "@520_8055E410"@sda21(r2)
/* 800139F0 0000F830 C8 42 84 90 */ lfd f2, $$2520-_SDA2_BASE_(r2)
/* 800139F4 0000F834 FC 21 00 2A */ fadd f1, f1, f0
.global lbl_800139F8
lbl_800139F8:
/* 800139F8 0000F838 FC 01 00 72 */ fmul f0, f1, f1
/* 800139FC 0000F83C 3C C0 80 40 */ lis r6, T@ha
/* 80013A00 0000F840 38 A6 74 B8 */ addi r5, r6, T@l
/* 80013A04 0000F844 3C 80 3F E6 */ lis r4, 0x3fe6
/* 80013A08 0000F848 38 04 94 28 */ addi r0, r4, -0x6bd8
/* 80013A04 0000F844 3C 80 3F E6 */ lis r4, 0x3FE59428@ha
/* 80013A08 0000F848 38 04 94 28 */ addi r0, r4, 0x3FE59428@l
/* 80013A0C 0000F84C C8 A5 00 60 */ lfd f5, 0x60(r5)
/* 80013A10 0000F850 FC 60 00 32 */ fmul f3, f0, f0
/* 80013A14 0000F854 C9 05 00 58 */ lfd f8, 0x58(r5)
@ -84,7 +79,7 @@ lbl_800139F8:
/* 80013A54 0000F894 C9 85 00 18 */ lfd f12, 0x18(r5)
/* 80013A58 0000F898 FD 43 01 B2 */ fmul f10, f3, f6
/* 80013A5C 0000F89C C8 C5 00 10 */ lfd f6, 0x10(r5)
/* 80013A60 0000F8A0 C9 65 00 08 */ lfd f11, 0x8(r5)
/* 80013A60 0000F8A0 C9 65 00 08 */ lfd f11, 8(r5)
/* 80013A64 0000F8A4 FF C3 07 B2 */ fmul f30, f3, f30
/* 80013A68 0000F8A8 FD 29 50 2A */ fadd f9, f9, f10
/* 80013A6C 0000F8AC FD 5F F0 2A */ fadd f10, f31, f30
@ -112,13 +107,13 @@ lbl_800139F8:
/* 80013AC4 0000F904 3C 80 43 30 */ lis r4, 0x4330
/* 80013AC8 0000F908 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80013ACC 0000F90C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80013AD0 0000F910 55 00 17 BC */ rlwinm r0, r8, 2, 30, 30
/* 80013AD4 0000F914 C8 A2 84 A0 */ lfd f5, "@523_8055E420"@sda21(r2)
/* 80013AD8 0000F918 20 00 00 01 */ subfic r0, r0, 0x1
/* 80013AD0 0000F910 55 00 17 BC */ rlwinm r0, r8, 2, 0x1e, 0x1e
/* 80013AD4 0000F914 C8 A2 84 A0 */ lfd f5, $$2523-_SDA2_BASE_(r2)
/* 80013AD8 0000F918 20 00 00 01 */ subfic r0, r0, 1
/* 80013ADC 0000F91C 90 81 00 20 */ stw r4, 0x20(r1)
/* 80013AE0 0000F920 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80013AE4 0000F924 FC 64 01 32 */ fmul f3, f4, f4
/* 80013AE8 0000F928 C8 02 84 98 */ lfd f0, "@521_8055E418"@sda21(r2)
/* 80013AE8 0000F928 C8 02 84 98 */ lfd f0, $$2521-_SDA2_BASE_(r2)
/* 80013AEC 0000F92C C8 41 00 20 */ lfd f2, 0x20(r1)
/* 80013AF0 0000F930 90 01 00 2C */ stw r0, 0x2c(r1)
/* 80013AF4 0000F934 FC E2 28 28 */ fsub f7, f2, f5
@ -133,19 +128,17 @@ lbl_800139F8:
/* 80013B18 0000F958 FC 07 00 28 */ fsub f0, f7, f0
/* 80013B1C 0000F95C FC 24 00 32 */ fmul f1, f4, f0
/* 80013B20 0000F960 48 00 00 5C */ b lbl_80013B7C
.global lbl_80013B24
lbl_80013B24:
/* 80013B24 0000F964 2C 03 00 01 */ cmpwi r3, 0x1
/* 80013B24 0000F964 2C 03 00 01 */ cmpwi r3, 1
/* 80013B28 0000F968 40 82 00 0C */ bne lbl_80013B34
/* 80013B2C 0000F96C FC 20 20 90 */ fmr f1, f4
/* 80013B30 0000F970 48 00 00 4C */ b lbl_80013B7C
.global lbl_80013B34
lbl_80013B34:
/* 80013B34 0000F974 C8 02 84 78 */ lfd f0, "@517_8055E3F8"@sda21(r2)
/* 80013B38 0000F978 38 00 00 00 */ li r0, 0x0
/* 80013B34 0000F974 C8 02 84 78 */ lfd f0, $$2517-_SDA2_BASE_(r2)
/* 80013B38 0000F978 38 00 00 00 */ li r0, 0
/* 80013B3C 0000F97C D8 81 00 18 */ stfd f4, 0x18(r1)
/* 80013B40 0000F980 FC A0 20 24 */ fdiv f5, f0, f4
/* 80013B44 0000F984 C8 42 84 70 */ lfd f2, "@516_8055E3F0"@sda21(r2)
/* 80013B44 0000F984 C8 42 84 70 */ lfd f2, $$2516-_SDA2_BASE_(r2)
/* 80013B48 0000F988 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80013B4C 0000F98C C8 81 00 18 */ lfd f4, 0x18(r1)
/* 80013B50 0000F990 D8 A1 00 10 */ stfd f5, 0x10(r1)
@ -159,20 +152,17 @@ lbl_80013B34:
/* 80013B70 0000F9B0 FC 01 00 2A */ fadd f0, f1, f0
/* 80013B74 0000F9B4 FC 05 00 32 */ fmul f0, f5, f0
/* 80013B78 0000F9B8 FC 23 00 2A */ fadd f1, f3, f0
.global lbl_80013B7C
lbl_80013B7C:
/* 80013B7C 0000F9BC E3 E1 00 48 */ psq_l f31, 0x48(r1), 0, qr0
/* 80013B7C 0000F9BC E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 80013B80 0000F9C0 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 80013B84 0000F9C4 E3 C1 00 38 */ psq_l f30, 0x38(r1), 0, qr0
/* 80013B84 0000F9C4 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 80013B88 0000F9C8 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 80013B8C 0000F9CC 38 21 00 50 */ addi r1, r1, 0x50
/* 80013B90 0000F9D0 4E 80 00 20 */ blr
.include "macros.inc"
/* 80013B90 0000F9D0 4E 80 00 20 */ blr
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global T
T:
.4byte 0x3FD55555
.4byte 0x55555563
.4byte 0x3FC11111
@ -199,47 +189,33 @@ T:
.4byte 0xDB605373
.4byte 0x3EFB2A70
.4byte 0x74BF7AD4
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@516_8055E3F0"
"@516_8055E3F0":
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2516
$$2516:
.4byte 0x3FF00000
.4byte 0
.global "@517_8055E3F8"
"@517_8055E3F8":
.global $$2517
$$2517:
.4byte 0xBFF00000
.4byte 0
.global "@518_8055E400"
"@518_8055E400":
.global $$2518
$$2518:
.4byte 0x3FE921FB
.4byte 0x54442D18
.global "@519_8055E408"
"@519_8055E408":
.global $$2519
$$2519:
.4byte 0x3C81A626
.4byte 0x33145C07
.global "@520_8055E410"
"@520_8055E410":
.global $$2520
$$2520:
.4byte 0
.4byte 0
.global "@521_8055E418"
"@521_8055E418":
.global $$2521
$$2521:
.4byte 0x40000000
.4byte 0
.global "@523_8055E420"
"@523_8055E420":
.global $$2523
$$2523:
.4byte 0x43300000
.4byte 0x80000000

View file

@ -1,14 +1,14 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global atan
atan:
/* 80013B94 0000F9D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80013B98 0000F9D8 3C A0 80 40 */ lis r5, atanhi@ha
/* 80013B9C 0000F9DC 3C 00 44 10 */ lis r0, 0x4410
/* 80013BA0 0000F9E0 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80013BA0 0000F9E0 D8 21 00 08 */ stfd f1, 8(r1)
/* 80013BA4 0000F9E4 38 A5 75 20 */ addi r5, r5, atanhi@l
/* 80013BA8 0000F9E8 80 C1 00 08 */ lwz r6, 0x8(r1)
/* 80013BA8 0000F9E8 80 C1 00 08 */ lwz r6, 8(r1)
/* 80013BAC 0000F9EC 54 C4 00 7E */ clrlwi r4, r6, 1
/* 80013BB0 0000F9F0 7C 04 00 00 */ cmpw r4, r0
/* 80013BB4 0000F9F4 40 80 00 20 */ bge lbl_80013BD4
@ -19,54 +19,46 @@ atan:
/* 80013BC8 0000FA08 7C 04 00 00 */ cmpw r4, r0
/* 80013BCC 0000FA0C 40 80 00 84 */ bge lbl_80013C50
/* 80013BD0 0000FA10 48 00 00 68 */ b lbl_80013C38
.global lbl_80013BD4
lbl_80013BD4:
/* 80013BD4 0000FA14 3C 00 7F F0 */ lis r0, 0x7ff0
/* 80013BD8 0000FA18 7C 04 00 00 */ cmpw r4, r0
/* 80013BDC 0000FA1C 41 82 00 0C */ beq lbl_80013BE8
/* 80013BE0 0000FA20 40 80 00 14 */ bge lbl_80013BF4
/* 80013BE4 0000FA24 48 00 00 18 */ b lbl_80013BFC
.global lbl_80013BE8
lbl_80013BE8:
/* 80013BE8 0000FA28 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80013BEC 0000FA2C 2C 00 00 00 */ cmpwi r0, 0x0
/* 80013BEC 0000FA2C 2C 00 00 00 */ cmpwi r0, 0
/* 80013BF0 0000FA30 41 82 00 0C */ beq lbl_80013BFC
.global lbl_80013BF4
lbl_80013BF4:
/* 80013BF4 0000FA34 FC 21 08 2A */ fadd f1, f1, f1
/* 80013BF8 0000FA38 48 00 01 C4 */ b lbl_80013DBC
.global lbl_80013BFC
lbl_80013BFC:
/* 80013BFC 0000FA3C 2C 06 00 00 */ cmpwi r6, 0x0
/* 80013BFC 0000FA3C 2C 06 00 00 */ cmpwi r6, 0
/* 80013C00 0000FA40 40 81 00 1C */ ble lbl_80013C1C
/* 80013C04 0000FA44 38 85 00 00 */ addi r4, r5, 0x0
/* 80013C04 0000FA44 38 85 00 00 */ addi r4, r5, 0
/* 80013C08 0000FA48 38 65 00 20 */ addi r3, r5, 0x20
/* 80013C0C 0000FA4C C8 24 00 18 */ lfd f1, 0x18(r4)
/* 80013C10 0000FA50 C8 03 00 18 */ lfd f0, 0x18(r3)
/* 80013C14 0000FA54 FC 21 00 2A */ fadd f1, f1, f0
/* 80013C18 0000FA58 48 00 01 A4 */ b lbl_80013DBC
.global lbl_80013C1C
lbl_80013C1C:
/* 80013C1C 0000FA5C 38 85 00 00 */ addi r4, r5, 0x0
/* 80013C1C 0000FA5C 38 85 00 00 */ addi r4, r5, 0
/* 80013C20 0000FA60 38 65 00 20 */ addi r3, r5, 0x20
/* 80013C24 0000FA64 C8 24 00 18 */ lfd f1, 0x18(r4)
/* 80013C28 0000FA68 C8 03 00 18 */ lfd f0, 0x18(r3)
/* 80013C2C 0000FA6C FC 20 08 50 */ fneg f1, f1
/* 80013C30 0000FA70 FC 21 00 28 */ fsub f1, f1, f0
/* 80013C34 0000FA74 48 00 01 88 */ b lbl_80013DBC
.global lbl_80013C38
lbl_80013C38:
/* 80013C38 0000FA78 C8 42 84 A8 */ lfd f2, "@532"@sda21(r2)
/* 80013C3C 0000FA7C C8 02 84 B0 */ lfd f0, "@533"@sda21(r2)
/* 80013C38 0000FA78 C8 42 84 A8 */ lfd f2, $$2532-_SDA2_BASE_(r2)
/* 80013C3C 0000FA7C C8 02 84 B0 */ lfd f0, $$2533-_SDA2_BASE_(r2)
/* 80013C40 0000FA80 FC 42 08 2A */ fadd f2, f2, f1
/* 80013C44 0000FA84 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80013C48 0000FA88 40 81 00 08 */ ble lbl_80013C50
/* 80013C4C 0000FA8C 48 00 01 70 */ b lbl_80013DBC
.global lbl_80013C50
lbl_80013C50:
/* 80013C50 0000FA90 38 00 FF FF */ li r0, -0x1
/* 80013C50 0000FA90 38 00 FF FF */ li r0, -1
/* 80013C54 0000FA94 48 00 00 94 */ b lbl_80013CE8
.global lbl_80013C58
lbl_80013C58:
/* 80013C58 0000FA98 3C 00 3F F3 */ lis r0, 0x3ff3
/* 80013C5C 0000FA9C FC 60 0A 10 */ fabs f3, f1
@ -75,47 +67,43 @@ lbl_80013C58:
/* 80013C68 0000FAA8 3C 00 3F E6 */ lis r0, 0x3fe6
/* 80013C6C 0000FAAC 7C 04 00 00 */ cmpw r4, r0
/* 80013C70 0000FAB0 40 80 00 24 */ bge lbl_80013C94
/* 80013C74 0000FAB4 C8 02 84 B8 */ lfd f0, "@534"@sda21(r2)
/* 80013C78 0000FAB8 38 00 00 00 */ li r0, 0x0
/* 80013C7C 0000FABC C8 22 84 B0 */ lfd f1, "@533"@sda21(r2)
/* 80013C74 0000FAB4 C8 02 84 B8 */ lfd f0, $$2534-_SDA2_BASE_(r2)
/* 80013C78 0000FAB8 38 00 00 00 */ li r0, 0
/* 80013C7C 0000FABC C8 22 84 B0 */ lfd f1, $$2533-_SDA2_BASE_(r2)
/* 80013C80 0000FAC0 FC 40 00 F2 */ fmul f2, f0, f3
/* 80013C84 0000FAC4 FC 00 18 2A */ fadd f0, f0, f3
/* 80013C88 0000FAC8 FC 22 08 28 */ fsub f1, f2, f1
/* 80013C8C 0000FACC FC 21 00 24 */ fdiv f1, f1, f0
/* 80013C90 0000FAD0 48 00 00 58 */ b lbl_80013CE8
.global lbl_80013C94
lbl_80013C94:
/* 80013C94 0000FAD4 C8 02 84 B0 */ lfd f0, "@533"@sda21(r2)
/* 80013C98 0000FAD8 38 00 00 01 */ li r0, 0x1
/* 80013C94 0000FAD4 C8 02 84 B0 */ lfd f0, $$2533-_SDA2_BASE_(r2)
/* 80013C98 0000FAD8 38 00 00 01 */ li r0, 1
/* 80013C9C 0000FADC FC 23 00 28 */ fsub f1, f3, f0
/* 80013CA0 0000FAE0 FC 00 18 2A */ fadd f0, f0, f3
/* 80013CA4 0000FAE4 FC 21 00 24 */ fdiv f1, f1, f0
/* 80013CA8 0000FAE8 48 00 00 40 */ b lbl_80013CE8
.global lbl_80013CAC
lbl_80013CAC:
/* 80013CAC 0000FAEC 3C 60 40 04 */ lis r3, 0x4004
/* 80013CB0 0000FAF0 38 03 80 00 */ addi r0, r3, -0x8000
/* 80013CAC 0000FAEC 3C 60 40 04 */ lis r3, 0x40038000@ha
/* 80013CB0 0000FAF0 38 03 80 00 */ addi r0, r3, 0x40038000@l
/* 80013CB4 0000FAF4 7C 04 00 00 */ cmpw r4, r0
/* 80013CB8 0000FAF8 40 80 00 24 */ bge lbl_80013CDC
/* 80013CBC 0000FAFC C8 42 84 C0 */ lfd f2, "@535"@sda21(r2)
/* 80013CC0 0000FB00 38 00 00 02 */ li r0, 0x2
/* 80013CC4 0000FB04 C8 02 84 B0 */ lfd f0, "@533"@sda21(r2)
/* 80013CBC 0000FAFC C8 42 84 C0 */ lfd f2, $$2535-_SDA2_BASE_(r2)
/* 80013CC0 0000FB00 38 00 00 02 */ li r0, 2
/* 80013CC4 0000FB04 C8 02 84 B0 */ lfd f0, $$2533-_SDA2_BASE_(r2)
/* 80013CC8 0000FB08 FC 22 00 F2 */ fmul f1, f2, f3
/* 80013CCC 0000FB0C FC 43 10 28 */ fsub f2, f3, f2
/* 80013CD0 0000FB10 FC 00 08 2A */ fadd f0, f0, f1
/* 80013CD4 0000FB14 FC 22 00 24 */ fdiv f1, f2, f0
/* 80013CD8 0000FB18 48 00 00 10 */ b lbl_80013CE8
.global lbl_80013CDC
lbl_80013CDC:
/* 80013CDC 0000FB1C C8 02 84 C8 */ lfd f0, "@536_8055E448"@sda21(r2)
/* 80013CE0 0000FB20 38 00 00 03 */ li r0, 0x3
/* 80013CDC 0000FB1C C8 02 84 C8 */ lfd f0, $$2536-_SDA2_BASE_(r2)
/* 80013CE0 0000FB20 38 00 00 03 */ li r0, 3
/* 80013CE4 0000FB24 FC 20 18 24 */ fdiv f1, f0, f3
.global lbl_80013CE8
lbl_80013CE8:
/* 80013CE8 0000FB28 FC 01 00 72 */ fmul f0, f1, f1
/* 80013CEC 0000FB2C 38 65 00 40 */ addi r3, r5, 0x40
/* 80013CF0 0000FB30 C8 63 00 50 */ lfd f3, 0x50(r3)
/* 80013CF4 0000FB34 2C 00 00 00 */ cmpwi r0, 0x0
/* 80013CF4 0000FB34 2C 00 00 00 */ cmpwi r0, 0
/* 80013CF8 0000FB38 C8 43 00 48 */ lfd f2, 0x48(r3)
/* 80013CFC 0000FB3C C9 63 00 40 */ lfd f11, 0x40(r3)
/* 80013D00 0000FB40 FD A0 00 32 */ fmul f13, f0, f0
@ -127,7 +115,7 @@ lbl_80013CE8:
/* 80013D18 0000FB58 C8 63 00 18 */ lfd f3, 0x18(r3)
/* 80013D1C 0000FB5C FC CD 00 B2 */ fmul f6, f13, f2
/* 80013D20 0000FB60 C9 03 00 10 */ lfd f8, 0x10(r3)
/* 80013D24 0000FB64 C8 43 00 08 */ lfd f2, 0x8(r3)
/* 80013D24 0000FB64 C8 43 00 08 */ lfd f2, 8(r3)
/* 80013D28 0000FB68 FD 6B 60 2A */ fadd f11, f11, f12
/* 80013D2C 0000FB6C C8 E5 00 40 */ lfd f7, 0x40(r5)
/* 80013D30 0000FB70 FC A5 30 2A */ fadd f5, f5, f6
@ -152,14 +140,13 @@ lbl_80013CE8:
/* 80013D7C 0000FBBC FC 01 00 32 */ fmul f0, f1, f0
/* 80013D80 0000FBC0 FC 21 00 28 */ fsub f1, f1, f0
/* 80013D84 0000FBC4 48 00 00 38 */ b lbl_80013DBC
.global lbl_80013D88
lbl_80013D88:
/* 80013D88 0000FBC8 FC 00 20 2A */ fadd f0, f0, f4
/* 80013D8C 0000FBCC 54 00 18 38 */ slwi r0, r0, 3
/* 80013D90 0000FBD0 38 65 00 20 */ addi r3, r5, 0x20
/* 80013D94 0000FBD4 38 85 00 00 */ addi r4, r5, 0x0
/* 80013D94 0000FBD4 38 85 00 00 */ addi r4, r5, 0
/* 80013D98 0000FBD8 7C 43 04 AE */ lfdx f2, r3, r0
/* 80013D9C 0000FBDC 2C 06 00 00 */ cmpwi r6, 0x0
/* 80013D9C 0000FBDC 2C 06 00 00 */ cmpwi r6, 0
/* 80013DA0 0000FBE0 FC 61 00 32 */ fmul f3, f1, f0
/* 80013DA4 0000FBE4 7C 04 04 AE */ lfdx f0, r4, r0
/* 80013DA8 0000FBE8 FC 43 10 28 */ fsub f2, f3, f2
@ -167,16 +154,13 @@ lbl_80013D88:
/* 80013DB0 0000FBF0 FC 20 08 28 */ fsub f1, f0, f1
/* 80013DB4 0000FBF4 40 80 00 08 */ bge lbl_80013DBC
/* 80013DB8 0000FBF8 FC 20 08 50 */ fneg f1, f1
.global lbl_80013DBC
lbl_80013DBC:
/* 80013DBC 0000FBFC 38 21 00 10 */ addi r1, r1, 0x10
/* 80013DC0 0000FC00 4E 80 00 20 */ blr
.include "macros.inc"
/* 80013DC0 0000FC00 4E 80 00 20 */ blr
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global atanhi
atanhi:
.4byte 0x3FDDAC67
.4byte 0x0561BB4F
.4byte 0x3FE921FB
@ -185,6 +169,8 @@ atanhi:
.4byte 0xD281F69B
.4byte 0x3FF921FB
.4byte 0x54442D18
.global atanlo
atanlo:
.4byte 0x3C7A2B7F
.4byte 0x222F65E2
.4byte 0x3C81A626
@ -193,6 +179,8 @@ atanhi:
.4byte 0x7AF0CBBD
.4byte 0x3C91A626
.4byte 0x33145C07
.global aT
aT:
.4byte 0x3FD55555
.4byte 0x5555550D
.4byte 0xBFC99999
@ -215,35 +203,25 @@ atanhi:
.4byte 0x2C6A6C2F
.4byte 0x3F90AD3A
.4byte 0xE322DA11
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@532"
"@532":
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2532
$$2532:
.4byte 0x7E37E43C
.4byte 0x8800759C
.global "@533"
"@533":
.global $$2533
$$2533:
.4byte 0x3FF00000
.4byte 0
.global "@534"
"@534":
.global $$2534
$$2534:
.4byte 0x40000000
.4byte 0
.global "@535"
"@535":
.global $$2535
$$2535:
.4byte 0x3FF80000
.4byte 0
.global "@536_8055E448"
"@536_8055E448":
.global $$2536
$$2536:
.4byte 0xBFF00000
.4byte 0

View file

@ -1,130 +1,112 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global ceil
ceil:
/* 80013DC4 0000FC04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80013DC8 0000FC08 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80013DCC 0000FC0C 80 A1 00 08 */ lwz r5, 0x8(r1)
/* 80013DC8 0000FC08 D8 21 00 08 */ stfd f1, 8(r1)
/* 80013DCC 0000FC0C 80 A1 00 08 */ lwz r5, 8(r1)
/* 80013DD0 0000FC10 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 80013DD4 0000FC14 54 A3 65 7E */ extrwi r3, r5, 11, 1
/* 80013DD8 0000FC18 38 E3 FC 01 */ addi r7, r3, -0x3ff
/* 80013DD4 0000FC14 54 A3 65 7E */ rlwinm r3, r5, 0xc, 0x15, 0x1f
/* 80013DD8 0000FC18 38 E3 FC 01 */ addi r7, r3, -1023
/* 80013DDC 0000FC1C 2C 07 00 34 */ cmpwi r7, 0x34
/* 80013DE0 0000FC20 40 80 00 18 */ bge lbl_80013DF8
/* 80013DE4 0000FC24 2C 87 00 14 */ cmpwi cr1, r7, 0x14
/* 80013DE8 0000FC28 40 84 00 B0 */ bge cr1, lbl_80013E98
/* 80013DEC 0000FC2C 2C 07 00 00 */ cmpwi r7, 0x0
/* 80013DEC 0000FC2C 2C 07 00 00 */ cmpwi r7, 0
/* 80013DF0 0000FC30 40 80 00 50 */ bge lbl_80013E40
/* 80013DF4 0000FC34 48 00 00 10 */ b lbl_80013E04
.global lbl_80013DF8
lbl_80013DF8:
/* 80013DF8 0000FC38 2C 07 04 00 */ cmpwi r7, 0x400
/* 80013DFC 0000FC3C 41 82 00 90 */ beq lbl_80013E8C
/* 80013E00 0000FC40 48 00 01 08 */ b lbl_80013F08
.global lbl_80013E04
lbl_80013E04:
/* 80013E04 0000FC44 C8 42 84 D0 */ lfd f2, "@515_8055E450"@sda21(r2)
/* 80013E08 0000FC48 C8 02 84 D8 */ lfd f0, "@516_8055E458"@sda21(r2)
/* 80013E04 0000FC44 C8 42 84 D0 */ lfd f2, $$2515-_SDA2_BASE_(r2)
/* 80013E08 0000FC48 C8 02 84 D8 */ lfd f0, $$2516-_SDA2_BASE_(r2)
/* 80013E0C 0000FC4C FC 22 08 2A */ fadd f1, f2, f1
/* 80013E10 0000FC50 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80013E14 0000FC54 40 81 00 E8 */ ble lbl_80013EFC
/* 80013E18 0000FC58 2C 05 00 00 */ cmpwi r5, 0x0
/* 80013E18 0000FC58 2C 05 00 00 */ cmpwi r5, 0
/* 80013E1C 0000FC5C 40 80 00 10 */ bge lbl_80013E2C
/* 80013E20 0000FC60 3C A0 80 00 */ lis r5, 0x8000
/* 80013E24 0000FC64 38 C0 00 00 */ li r6, 0x0
/* 80013E24 0000FC64 38 C0 00 00 */ li r6, 0
/* 80013E28 0000FC68 48 00 00 D4 */ b lbl_80013EFC
.global lbl_80013E2C
lbl_80013E2C:
/* 80013E2C 0000FC6C 7C A0 33 79 */ or. r0, r5, r6
/* 80013E30 0000FC70 41 82 00 CC */ beq lbl_80013EFC
/* 80013E34 0000FC74 3C A0 3F F0 */ lis r5, 0x3ff0
/* 80013E38 0000FC78 38 C0 00 00 */ li r6, 0x0
/* 80013E38 0000FC78 38 C0 00 00 */ li r6, 0
/* 80013E3C 0000FC7C 48 00 00 C0 */ b lbl_80013EFC
.global lbl_80013E40
lbl_80013E40:
/* 80013E40 0000FC80 3C 60 00 10 */ lis r3, 0x10
/* 80013E44 0000FC84 38 03 FF FF */ addi r0, r3, -0x1
/* 80013E40 0000FC80 3C 60 00 10 */ lis r3, 0x000FFFFF@ha
/* 80013E44 0000FC84 38 03 FF FF */ addi r0, r3, 0x000FFFFF@l
/* 80013E48 0000FC88 7C 04 3E 30 */ sraw r4, r0, r7
/* 80013E4C 0000FC8C 7C A0 20 38 */ and r0, r5, r4
/* 80013E50 0000FC90 7C C0 03 79 */ or. r0, r6, r0
/* 80013E54 0000FC94 40 82 00 08 */ bne lbl_80013E5C
/* 80013E58 0000FC98 48 00 00 B0 */ b lbl_80013F08
.global lbl_80013E5C
lbl_80013E5C:
/* 80013E5C 0000FC9C C8 42 84 D0 */ lfd f2, "@515_8055E450"@sda21(r2)
/* 80013E60 0000FCA0 C8 02 84 D8 */ lfd f0, "@516_8055E458"@sda21(r2)
/* 80013E5C 0000FC9C C8 42 84 D0 */ lfd f2, $$2515-_SDA2_BASE_(r2)
/* 80013E60 0000FCA0 C8 02 84 D8 */ lfd f0, $$2516-_SDA2_BASE_(r2)
/* 80013E64 0000FCA4 FC 22 08 2A */ fadd f1, f2, f1
/* 80013E68 0000FCA8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80013E6C 0000FCAC 40 81 00 90 */ ble lbl_80013EFC
/* 80013E70 0000FCB0 2C 05 00 00 */ cmpwi r5, 0x0
/* 80013E70 0000FCB0 2C 05 00 00 */ cmpwi r5, 0
/* 80013E74 0000FCB4 40 81 00 0C */ ble lbl_80013E80
/* 80013E78 0000FCB8 7C 60 3E 30 */ sraw r0, r3, r7
/* 80013E7C 0000FCBC 7C A5 02 14 */ add r5, r5, r0
.global lbl_80013E80
lbl_80013E80:
/* 80013E80 0000FCC0 7C A5 20 78 */ andc r5, r5, r4
/* 80013E84 0000FCC4 38 C0 00 00 */ li r6, 0x0
/* 80013E84 0000FCC4 38 C0 00 00 */ li r6, 0
/* 80013E88 0000FCC8 48 00 00 74 */ b lbl_80013EFC
.global lbl_80013E8C
lbl_80013E8C:
/* 80013E8C 0000FCCC FC 21 08 2A */ fadd f1, f1, f1
/* 80013E90 0000FCD0 48 00 00 78 */ b lbl_80013F08
/* 80013E94 0000FCD4 48 00 00 74 */ b lbl_80013F08
.global lbl_80013E98
lbl_80013E98:
/* 80013E98 0000FCD8 38 07 FF EC */ addi r0, r7, -0x14
/* 80013E9C 0000FCDC 38 60 FF FF */ li r3, -0x1
/* 80013E98 0000FCD8 38 07 FF EC */ addi r0, r7, -20
/* 80013E9C 0000FCDC 38 60 FF FF */ li r3, -1
/* 80013EA0 0000FCE0 7C 64 04 30 */ srw r4, r3, r0
/* 80013EA4 0000FCE4 7C C0 20 39 */ and. r0, r6, r4
/* 80013EA8 0000FCE8 40 82 00 08 */ bne lbl_80013EB0
/* 80013EAC 0000FCEC 48 00 00 5C */ b lbl_80013F08
.global lbl_80013EB0
lbl_80013EB0:
/* 80013EB0 0000FCF0 C8 42 84 D0 */ lfd f2, "@515_8055E450"@sda21(r2)
/* 80013EB4 0000FCF4 C8 02 84 D8 */ lfd f0, "@516_8055E458"@sda21(r2)
/* 80013EB0 0000FCF0 C8 42 84 D0 */ lfd f2, $$2515-_SDA2_BASE_(r2)
/* 80013EB4 0000FCF4 C8 02 84 D8 */ lfd f0, $$2516-_SDA2_BASE_(r2)
/* 80013EB8 0000FCF8 FC 22 08 2A */ fadd f1, f2, f1
/* 80013EBC 0000FCFC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80013EC0 0000FD00 40 81 00 3C */ ble lbl_80013EFC
/* 80013EC4 0000FD04 2C 05 00 00 */ cmpwi r5, 0x0
/* 80013EC4 0000FD04 2C 05 00 00 */ cmpwi r5, 0
/* 80013EC8 0000FD08 40 81 00 30 */ ble lbl_80013EF8
/* 80013ECC 0000FD0C 40 86 00 0C */ bne cr1, lbl_80013ED8
/* 80013ED0 0000FD10 38 A5 00 01 */ addi r5, r5, 0x1
/* 80013ED0 0000FD10 38 A5 00 01 */ addi r5, r5, 1
/* 80013ED4 0000FD14 48 00 00 24 */ b lbl_80013EF8
.global lbl_80013ED8
lbl_80013ED8:
/* 80013ED8 0000FD18 20 07 00 34 */ subfic r0, r7, 0x34
/* 80013EDC 0000FD1C 38 60 00 01 */ li r3, 0x1
/* 80013EDC 0000FD1C 38 60 00 01 */ li r3, 1
/* 80013EE0 0000FD20 7C 60 00 30 */ slw r0, r3, r0
/* 80013EE4 0000FD24 7C 06 02 14 */ add r0, r6, r0
/* 80013EE8 0000FD28 7C 00 30 40 */ cmplw r0, r6
/* 80013EEC 0000FD2C 40 80 00 08 */ bge lbl_80013EF4
/* 80013EF0 0000FD30 38 A5 00 01 */ addi r5, r5, 0x1
.global lbl_80013EF4
/* 80013EF0 0000FD30 38 A5 00 01 */ addi r5, r5, 1
lbl_80013EF4:
/* 80013EF4 0000FD34 7C 06 03 78 */ mr r6, r0
.global lbl_80013EF8
lbl_80013EF8:
/* 80013EF8 0000FD38 7C C6 20 78 */ andc r6, r6, r4
.global lbl_80013EFC
lbl_80013EFC:
/* 80013EFC 0000FD3C 90 A1 00 08 */ stw r5, 0x8(r1)
/* 80013EFC 0000FD3C 90 A1 00 08 */ stw r5, 8(r1)
/* 80013F00 0000FD40 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80013F04 0000FD44 C8 21 00 08 */ lfd f1, 0x8(r1)
.global lbl_80013F08
/* 80013F04 0000FD44 C8 21 00 08 */ lfd f1, 8(r1)
lbl_80013F08:
/* 80013F08 0000FD48 38 21 00 10 */ addi r1, r1, 0x10
/* 80013F0C 0000FD4C 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@515_8055E450"
"@515_8055E450":
/* 80013F0C 0000FD4C 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2515
$$2515:
.4byte 0x7E37E43C
.4byte 0x8800759C
.global "@516_8055E458"
"@516_8055E458":
.global $$2516
$$2516:
.4byte 0
.4byte 0

View file

@ -1,16 +1,16 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global copysign
copysign:
/* 80013F10 0000FD50 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80013F14 0000FD54 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80013F14 0000FD54 D8 21 00 08 */ stfd f1, 8(r1)
/* 80013F18 0000FD58 D8 41 00 10 */ stfd f2, 0x10(r1)
/* 80013F1C 0000FD5C 80 61 00 08 */ lwz r3, 0x8(r1)
/* 80013F1C 0000FD5C 80 61 00 08 */ lwz r3, 8(r1)
/* 80013F20 0000FD60 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80013F24 0000FD64 54 00 00 00 */ clrrwi r0, r0, 31
/* 80013F28 0000FD68 50 60 00 7E */ rlwimi r0, r3, 0, 1, 31
/* 80013F2C 0000FD6C 90 01 00 08 */ stw r0, 0x8(r1)
/* 80013F30 0000FD70 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 80013F24 0000FD64 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0
/* 80013F28 0000FD68 50 60 00 7E */ rlwimi r0, r3, 0, 1, 0x1f
/* 80013F2C 0000FD6C 90 01 00 08 */ stw r0, 8(r1)
/* 80013F30 0000FD70 C8 21 00 08 */ lfd f1, 8(r1)
/* 80013F34 0000FD74 38 21 00 20 */ addi r1, r1, 0x20
/* 80013F38 0000FD78 4E 80 00 20 */ blr
/* 80013F38 0000FD78 4E 80 00 20 */ blr

View file

@ -1,77 +1,68 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global cos
cos:
/* 80013F3C 0000FD7C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80013F40 0000FD80 7C 08 02 A6 */ mflr r0
/* 80013F44 0000FD84 3C 60 3F E9 */ lis r3, 0x3fe9
/* 80013F48 0000FD88 C8 42 84 E0 */ lfd f2, "@477_8055E460"@sda21(r2)
/* 80013F4C 0000FD8C D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80013F44 0000FD84 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha
/* 80013F48 0000FD88 C8 42 84 E0 */ lfd f2, $$2477-_SDA2_BASE_(r2)
/* 80013F4C 0000FD8C D8 21 00 08 */ stfd f1, 8(r1)
/* 80013F50 0000FD90 90 01 00 24 */ stw r0, 0x24(r1)
/* 80013F54 0000FD94 38 03 21 FB */ addi r0, r3, 0x21fb
/* 80013F58 0000FD98 80 61 00 08 */ lwz r3, 0x8(r1)
/* 80013F54 0000FD94 38 03 21 FB */ addi r0, r3, 0x3FE921FB@l
/* 80013F58 0000FD98 80 61 00 08 */ lwz r3, 8(r1)
/* 80013F5C 0000FD9C 54 63 00 7E */ clrlwi r3, r3, 1
/* 80013F60 0000FDA0 7C 03 00 00 */ cmpw r3, r0
/* 80013F64 0000FDA4 41 81 00 0C */ bgt lbl_80013F70
/* 80013F68 0000FDA8 4B FF E1 55 */ bl __kernel_cos
/* 80013F6C 0000FDAC 48 00 00 88 */ b lbl_80013FF4
.global lbl_80013F70
lbl_80013F70:
/* 80013F70 0000FDB0 3C 00 7F F0 */ lis r0, 0x7ff0
/* 80013F74 0000FDB4 7C 03 00 00 */ cmpw r3, r0
/* 80013F78 0000FDB8 41 80 00 0C */ blt lbl_80013F84
/* 80013F7C 0000FDBC FC 21 08 28 */ fsub f1, f1, f1
/* 80013F80 0000FDC0 48 00 00 74 */ b lbl_80013FF4
.global lbl_80013F84
lbl_80013F84:
/* 80013F84 0000FDC4 38 61 00 10 */ addi r3, r1, 0x10
/* 80013F88 0000FDC8 4B FF DD B1 */ bl __ieee754_rem_pio2
/* 80013F8C 0000FDCC 54 60 07 BF */ clrlwi. r0, r3, 30
/* 80013F8C 0000FDCC 54 60 07 BF */ clrlwi. r0, r3, 0x1e
/* 80013F90 0000FDD0 41 82 00 18 */ beq lbl_80013FA8
/* 80013F94 0000FDD4 2C 00 00 01 */ cmpwi r0, 0x1
/* 80013F94 0000FDD4 2C 00 00 01 */ cmpwi r0, 1
/* 80013F98 0000FDD8 41 82 00 20 */ beq lbl_80013FB8
/* 80013F9C 0000FDDC 2C 00 00 02 */ cmpwi r0, 0x2
/* 80013F9C 0000FDDC 2C 00 00 02 */ cmpwi r0, 2
/* 80013FA0 0000FDE0 41 82 00 30 */ beq lbl_80013FD0
/* 80013FA4 0000FDE4 48 00 00 40 */ b lbl_80013FE4
.global lbl_80013FA8
lbl_80013FA8:
/* 80013FA8 0000FDE8 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 80013FAC 0000FDEC C8 41 00 18 */ lfd f2, 0x18(r1)
/* 80013FB0 0000FDF0 4B FF E1 0D */ bl __kernel_cos
/* 80013FB4 0000FDF4 48 00 00 40 */ b lbl_80013FF4
.global lbl_80013FB8
lbl_80013FB8:
/* 80013FB8 0000FDF8 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 80013FBC 0000FDFC 38 60 00 01 */ li r3, 0x1
/* 80013FBC 0000FDFC 38 60 00 01 */ li r3, 1
/* 80013FC0 0000FE00 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 80013FC4 0000FE04 4B FF F8 C1 */ bl __kernel_sin
/* 80013FC8 0000FE08 FC 20 08 50 */ fneg f1, f1
/* 80013FCC 0000FE0C 48 00 00 28 */ b lbl_80013FF4
.global lbl_80013FD0
lbl_80013FD0:
/* 80013FD0 0000FE10 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 80013FD4 0000FE14 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 80013FD8 0000FE18 4B FF E0 E5 */ bl __kernel_cos
/* 80013FDC 0000FE1C FC 20 08 50 */ fneg f1, f1
/* 80013FE0 0000FE20 48 00 00 14 */ b lbl_80013FF4
.global lbl_80013FE4
lbl_80013FE4:
/* 80013FE4 0000FE24 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 80013FE8 0000FE28 38 60 00 01 */ li r3, 0x1
/* 80013FE8 0000FE28 38 60 00 01 */ li r3, 1
/* 80013FEC 0000FE2C C8 41 00 18 */ lfd f2, 0x18(r1)
/* 80013FF0 0000FE30 4B FF F8 95 */ bl __kernel_sin
.global lbl_80013FF4
lbl_80013FF4:
/* 80013FF4 0000FE34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80013FF8 0000FE38 7C 08 03 A6 */ mtlr r0
/* 80013FFC 0000FE3C 38 21 00 20 */ addi r1, r1, 0x20
/* 80014000 0000FE40 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@477_8055E460"
"@477_8055E460":
/* 80014000 0000FE40 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2477
$$2477:
.4byte 0
.4byte 0

View file

@ -1,131 +1,113 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global floor
floor:
/* 80014004 0000FE44 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80014008 0000FE48 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 8001400C 0000FE4C 80 A1 00 08 */ lwz r5, 0x8(r1)
/* 80014008 0000FE48 D8 21 00 08 */ stfd f1, 8(r1)
/* 8001400C 0000FE4C 80 A1 00 08 */ lwz r5, 8(r1)
/* 80014010 0000FE50 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 80014014 0000FE54 54 A3 65 7E */ extrwi r3, r5, 11, 1
/* 80014018 0000FE58 38 E3 FC 01 */ addi r7, r3, -0x3ff
/* 80014014 0000FE54 54 A3 65 7E */ rlwinm r3, r5, 0xc, 0x15, 0x1f
/* 80014018 0000FE58 38 E3 FC 01 */ addi r7, r3, -1023
/* 8001401C 0000FE5C 2C 07 00 34 */ cmpwi r7, 0x34
/* 80014020 0000FE60 40 80 00 18 */ bge lbl_80014038
/* 80014024 0000FE64 2C 87 00 14 */ cmpwi cr1, r7, 0x14
/* 80014028 0000FE68 40 84 00 B4 */ bge cr1, lbl_800140DC
/* 8001402C 0000FE6C 2C 07 00 00 */ cmpwi r7, 0x0
/* 8001402C 0000FE6C 2C 07 00 00 */ cmpwi r7, 0
/* 80014030 0000FE70 40 80 00 54 */ bge lbl_80014084
/* 80014034 0000FE74 48 00 00 10 */ b lbl_80014044
.global lbl_80014038
lbl_80014038:
/* 80014038 0000FE78 2C 07 04 00 */ cmpwi r7, 0x400
/* 8001403C 0000FE7C 41 82 00 94 */ beq lbl_800140D0
/* 80014040 0000FE80 48 00 01 0C */ b lbl_8001414C
.global lbl_80014044
lbl_80014044:
/* 80014044 0000FE84 C8 42 84 E8 */ lfd f2, "@515_8055E468"@sda21(r2)
/* 80014048 0000FE88 C8 02 84 F0 */ lfd f0, "@516_8055E470"@sda21(r2)
/* 80014044 0000FE84 C8 42 84 E8 */ lfd f2, $$2515-_SDA2_BASE_(r2)
/* 80014048 0000FE88 C8 02 84 F0 */ lfd f0, $$2516-_SDA2_BASE_(r2)
/* 8001404C 0000FE8C FC 22 08 2A */ fadd f1, f2, f1
/* 80014050 0000FE90 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80014054 0000FE94 40 81 00 EC */ ble lbl_80014140
/* 80014058 0000FE98 2C 05 00 00 */ cmpwi r5, 0x0
/* 80014058 0000FE98 2C 05 00 00 */ cmpwi r5, 0
/* 8001405C 0000FE9C 41 80 00 10 */ blt lbl_8001406C
/* 80014060 0000FEA0 38 C0 00 00 */ li r6, 0x0
/* 80014064 0000FEA4 38 A0 00 00 */ li r5, 0x0
/* 80014060 0000FEA0 38 C0 00 00 */ li r6, 0
/* 80014064 0000FEA4 38 A0 00 00 */ li r5, 0
/* 80014068 0000FEA8 48 00 00 D8 */ b lbl_80014140
.global lbl_8001406C
lbl_8001406C:
/* 8001406C 0000FEAC 54 A0 00 7E */ clrlwi r0, r5, 1
/* 80014070 0000FEB0 7C 00 33 79 */ or. r0, r0, r6
/* 80014074 0000FEB4 41 82 00 CC */ beq lbl_80014140
/* 80014078 0000FEB8 3C A0 BF F0 */ lis r5, 0xbff0
/* 8001407C 0000FEBC 38 C0 00 00 */ li r6, 0x0
/* 8001407C 0000FEBC 38 C0 00 00 */ li r6, 0
/* 80014080 0000FEC0 48 00 00 C0 */ b lbl_80014140
.global lbl_80014084
lbl_80014084:
/* 80014084 0000FEC4 3C 60 00 10 */ lis r3, 0x10
/* 80014088 0000FEC8 38 03 FF FF */ addi r0, r3, -0x1
/* 80014084 0000FEC4 3C 60 00 10 */ lis r3, 0x000FFFFF@ha
/* 80014088 0000FEC8 38 03 FF FF */ addi r0, r3, 0x000FFFFF@l
/* 8001408C 0000FECC 7C 04 3E 30 */ sraw r4, r0, r7
/* 80014090 0000FED0 7C A0 20 38 */ and r0, r5, r4
/* 80014094 0000FED4 7C C0 03 79 */ or. r0, r6, r0
/* 80014098 0000FED8 40 82 00 08 */ bne lbl_800140A0
/* 8001409C 0000FEDC 48 00 00 B0 */ b lbl_8001414C
.global lbl_800140A0
lbl_800140A0:
/* 800140A0 0000FEE0 C8 42 84 E8 */ lfd f2, "@515_8055E468"@sda21(r2)
/* 800140A4 0000FEE4 C8 02 84 F0 */ lfd f0, "@516_8055E470"@sda21(r2)
/* 800140A0 0000FEE0 C8 42 84 E8 */ lfd f2, $$2515-_SDA2_BASE_(r2)
/* 800140A4 0000FEE4 C8 02 84 F0 */ lfd f0, $$2516-_SDA2_BASE_(r2)
/* 800140A8 0000FEE8 FC 22 08 2A */ fadd f1, f2, f1
/* 800140AC 0000FEEC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800140B0 0000FEF0 40 81 00 90 */ ble lbl_80014140
/* 800140B4 0000FEF4 2C 05 00 00 */ cmpwi r5, 0x0
/* 800140B4 0000FEF4 2C 05 00 00 */ cmpwi r5, 0
/* 800140B8 0000FEF8 40 80 00 0C */ bge lbl_800140C4
/* 800140BC 0000FEFC 7C 60 3E 30 */ sraw r0, r3, r7
/* 800140C0 0000FF00 7C A5 02 14 */ add r5, r5, r0
.global lbl_800140C4
lbl_800140C4:
/* 800140C4 0000FF04 7C A5 20 78 */ andc r5, r5, r4
/* 800140C8 0000FF08 38 C0 00 00 */ li r6, 0x0
/* 800140C8 0000FF08 38 C0 00 00 */ li r6, 0
/* 800140CC 0000FF0C 48 00 00 74 */ b lbl_80014140
.global lbl_800140D0
lbl_800140D0:
/* 800140D0 0000FF10 FC 21 08 2A */ fadd f1, f1, f1
/* 800140D4 0000FF14 48 00 00 78 */ b lbl_8001414C
/* 800140D8 0000FF18 48 00 00 74 */ b lbl_8001414C
.global lbl_800140DC
lbl_800140DC:
/* 800140DC 0000FF1C 38 07 FF EC */ addi r0, r7, -0x14
/* 800140E0 0000FF20 38 60 FF FF */ li r3, -0x1
/* 800140DC 0000FF1C 38 07 FF EC */ addi r0, r7, -20
/* 800140E0 0000FF20 38 60 FF FF */ li r3, -1
/* 800140E4 0000FF24 7C 64 04 30 */ srw r4, r3, r0
/* 800140E8 0000FF28 7C C0 20 39 */ and. r0, r6, r4
/* 800140EC 0000FF2C 40 82 00 08 */ bne lbl_800140F4
/* 800140F0 0000FF30 48 00 00 5C */ b lbl_8001414C
.global lbl_800140F4
lbl_800140F4:
/* 800140F4 0000FF34 C8 42 84 E8 */ lfd f2, "@515_8055E468"@sda21(r2)
/* 800140F8 0000FF38 C8 02 84 F0 */ lfd f0, "@516_8055E470"@sda21(r2)
/* 800140F4 0000FF34 C8 42 84 E8 */ lfd f2, $$2515-_SDA2_BASE_(r2)
/* 800140F8 0000FF38 C8 02 84 F0 */ lfd f0, $$2516-_SDA2_BASE_(r2)
/* 800140FC 0000FF3C FC 22 08 2A */ fadd f1, f2, f1
/* 80014100 0000FF40 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80014104 0000FF44 40 81 00 3C */ ble lbl_80014140
/* 80014108 0000FF48 2C 05 00 00 */ cmpwi r5, 0x0
/* 80014108 0000FF48 2C 05 00 00 */ cmpwi r5, 0
/* 8001410C 0000FF4C 40 80 00 30 */ bge lbl_8001413C
/* 80014110 0000FF50 40 86 00 0C */ bne cr1, lbl_8001411C
/* 80014114 0000FF54 38 A5 00 01 */ addi r5, r5, 0x1
/* 80014114 0000FF54 38 A5 00 01 */ addi r5, r5, 1
/* 80014118 0000FF58 48 00 00 24 */ b lbl_8001413C
.global lbl_8001411C
lbl_8001411C:
/* 8001411C 0000FF5C 20 07 00 34 */ subfic r0, r7, 0x34
/* 80014120 0000FF60 38 60 00 01 */ li r3, 0x1
/* 80014120 0000FF60 38 60 00 01 */ li r3, 1
/* 80014124 0000FF64 7C 60 00 30 */ slw r0, r3, r0
/* 80014128 0000FF68 7C 06 02 14 */ add r0, r6, r0
/* 8001412C 0000FF6C 7C 00 30 40 */ cmplw r0, r6
/* 80014130 0000FF70 40 80 00 08 */ bge lbl_80014138
/* 80014134 0000FF74 38 A5 00 01 */ addi r5, r5, 0x1
.global lbl_80014138
/* 80014134 0000FF74 38 A5 00 01 */ addi r5, r5, 1
lbl_80014138:
/* 80014138 0000FF78 7C 06 03 78 */ mr r6, r0
.global lbl_8001413C
lbl_8001413C:
/* 8001413C 0000FF7C 7C C6 20 78 */ andc r6, r6, r4
.global lbl_80014140
lbl_80014140:
/* 80014140 0000FF80 90 A1 00 08 */ stw r5, 0x8(r1)
/* 80014140 0000FF80 90 A1 00 08 */ stw r5, 8(r1)
/* 80014144 0000FF84 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80014148 0000FF88 C8 21 00 08 */ lfd f1, 0x8(r1)
.global lbl_8001414C
/* 80014148 0000FF88 C8 21 00 08 */ lfd f1, 8(r1)
lbl_8001414C:
/* 8001414C 0000FF8C 38 21 00 10 */ addi r1, r1, 0x10
/* 80014150 0000FF90 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@515_8055E468"
"@515_8055E468":
/* 80014150 0000FF90 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2515
$$2515:
.4byte 0x7E37E43C
.4byte 0x8800759C
.global "@516_8055E470"
"@516_8055E470":
.global $$2516
$$2516:
.4byte 0
.4byte 0

View file

@ -1,14 +1,14 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global frexp
frexp:
/* 80014154 0000FF94 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80014158 0000FF98 38 80 00 00 */ li r4, 0x0
/* 80014158 0000FF98 38 80 00 00 */ li r4, 0
/* 8001415C 0000FF9C 3C 00 7F F0 */ lis r0, 0x7ff0
/* 80014160 0000FFA0 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80014164 0000FFA4 80 A1 00 08 */ lwz r5, 0x8(r1)
/* 80014168 0000FFA8 90 83 00 00 */ stw r4, 0x0(r3)
/* 80014160 0000FFA0 D8 21 00 08 */ stfd f1, 8(r1)
/* 80014164 0000FFA4 80 A1 00 08 */ lwz r5, 8(r1)
/* 80014168 0000FFA8 90 83 00 00 */ stw r4, 0(r3)
/* 8001416C 0000FFAC 54 A4 00 7E */ clrlwi r4, r5, 1
/* 80014170 0000FFB0 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 80014174 0000FFB4 7C 04 00 00 */ cmpw r4, r0
@ -16,38 +16,33 @@ frexp:
/* 8001417C 0000FFBC 7C 80 33 79 */ or. r0, r4, r6
/* 80014180 0000FFC0 40 82 00 08 */ bne lbl_80014188
/* 80014184 0000FFC4 48 00 00 50 */ b lbl_800141D4
.global lbl_80014188
lbl_80014188:
/* 80014188 0000FFC8 3C 00 00 10 */ lis r0, 0x10
/* 8001418C 0000FFCC 7C 04 00 00 */ cmpw r4, r0
/* 80014190 0000FFD0 40 80 00 20 */ bge lbl_800141B0
/* 80014194 0000FFD4 C8 02 84 F8 */ lfd f0, "@468"@sda21(r2)
/* 80014198 0000FFD8 38 00 FF CA */ li r0, -0x36
/* 8001419C 0000FFDC 90 03 00 00 */ stw r0, 0x0(r3)
/* 80014194 0000FFD4 C8 02 84 F8 */ lfd f0, $$2468-_SDA2_BASE_(r2)
/* 80014198 0000FFD8 38 00 FF CA */ li r0, -54
/* 8001419C 0000FFDC 90 03 00 00 */ stw r0, 0(r3)
/* 800141A0 0000FFE0 FC 21 00 32 */ fmul f1, f1, f0
/* 800141A4 0000FFE4 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 800141A8 0000FFE8 80 A1 00 08 */ lwz r5, 0x8(r1)
/* 800141A4 0000FFE4 D8 21 00 08 */ stfd f1, 8(r1)
/* 800141A8 0000FFE8 80 A1 00 08 */ lwz r5, 8(r1)
/* 800141AC 0000FFEC 54 A4 00 7E */ clrlwi r4, r5, 1
.global lbl_800141B0
lbl_800141B0:
/* 800141B0 0000FFF0 54 A0 03 00 */ rlwinm r0, r5, 0, 12, 0
/* 800141B4 0000FFF4 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 800141B8 0000FFF8 7C 84 A6 70 */ srawi r4, r4, 20
/* 800141B0 0000FFF0 54 A0 03 00 */ rlwinm r0, r5, 0, 0xc, 0
/* 800141B4 0000FFF4 80 A3 00 00 */ lwz r5, 0(r3)
/* 800141B8 0000FFF8 7C 84 A6 70 */ srawi r4, r4, 0x14
/* 800141BC 0000FFFC 64 00 3F E0 */ oris r0, r0, 0x3fe0
/* 800141C0 00010000 90 01 00 08 */ stw r0, 0x8(r1)
/* 800141C0 00010000 90 01 00 08 */ stw r0, 8(r1)
/* 800141C4 00010004 7C 84 2A 14 */ add r4, r4, r5
/* 800141C8 00010008 38 04 FC 02 */ addi r0, r4, -0x3fe
/* 800141CC 0001000C 90 03 00 00 */ stw r0, 0x0(r3)
/* 800141D0 00010010 C8 21 00 08 */ lfd f1, 0x8(r1)
.global lbl_800141D4
/* 800141C8 00010008 38 04 FC 02 */ addi r0, r4, -1022
/* 800141CC 0001000C 90 03 00 00 */ stw r0, 0(r3)
/* 800141D0 00010010 C8 21 00 08 */ lfd f1, 8(r1)
lbl_800141D4:
/* 800141D4 00010014 38 21 00 10 */ addi r1, r1, 0x10
/* 800141D8 00010018 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@468"
"@468":
/* 800141D8 00010018 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2468
$$2468:
.4byte 0x43500000
.4byte 0

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global ldexp
ldexp:
/* 800141DC 0001001C 94 21 FF E0 */ stwu r1, -0x20(r1)
@ -10,139 +10,119 @@ ldexp:
/* 800141EC 0001002C FF E0 08 90 */ fmr f31, f1
/* 800141F0 00010030 93 E1 00 14 */ stw r31, 0x14(r1)
/* 800141F4 00010034 7C 7F 1B 78 */ mr r31, r3
/* 800141F8 00010038 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 800141F8 00010038 D8 21 00 08 */ stfd f1, 8(r1)
/* 800141FC 0001003C 4B FF 70 09 */ bl __fpclassifyd
/* 80014200 00010040 2C 03 00 02 */ cmpwi r3, 0x2
/* 80014200 00010040 2C 03 00 02 */ cmpwi r3, 2
/* 80014204 00010044 40 81 00 10 */ ble lbl_80014214
/* 80014208 00010048 C8 02 85 00 */ lfd f0, "@488"@sda21(r2)
/* 80014208 00010048 C8 02 85 00 */ lfd f0, $$2488-_SDA2_BASE_(r2)
/* 8001420C 0001004C FC 00 F8 00 */ fcmpu cr0, f0, f31
/* 80014210 00010050 40 82 00 0C */ bne lbl_8001421C
.global lbl_80014214
lbl_80014214:
/* 80014214 00010054 FC 20 F8 90 */ fmr f1, f31
/* 80014218 00010058 48 00 01 18 */ b lbl_80014330
.global lbl_8001421C
lbl_8001421C:
/* 8001421C 0001005C 80 A1 00 08 */ lwz r5, 0x8(r1)
/* 8001421C 0001005C 80 A1 00 08 */ lwz r5, 8(r1)
/* 80014220 00010060 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80014224 00010064 54 A4 65 7F */ extrwi. r4, r5, 11, 1
/* 80014224 00010064 54 A4 65 7F */ rlwinm. r4, r5, 0xc, 0x15, 0x1f
/* 80014228 00010068 40 82 00 4C */ bne lbl_80014274
/* 8001422C 0001006C 54 A0 00 7E */ clrlwi r0, r5, 1
/* 80014230 00010070 7C 60 03 79 */ or. r0, r3, r0
/* 80014234 00010074 40 82 00 0C */ bne lbl_80014240
/* 80014238 00010078 FC 20 F8 90 */ fmr f1, f31
/* 8001423C 0001007C 48 00 00 F4 */ b lbl_80014330
.global lbl_80014240
lbl_80014240:
/* 80014240 00010080 C8 02 85 08 */ lfd f0, "@489"@sda21(r2)
/* 80014240 00010080 C8 02 85 08 */ lfd f0, $$2489-_SDA2_BASE_(r2)
/* 80014244 00010084 3C 60 FF FF */ lis r3, 0xFFFF3CB0@ha
/* 80014248 00010088 38 03 3C B0 */ addi r0, r3, 0xFFFF3CB0@l
/* 8001424C 0001008C FF FF 00 32 */ fmul f31, f31, f0
/* 80014250 00010090 7C 1F 00 00 */ cmpw r31, r0
/* 80014254 00010094 DB E1 00 08 */ stfd f31, 0x8(r1)
/* 80014258 00010098 80 A1 00 08 */ lwz r5, 0x8(r1)
/* 8001425C 0001009C 54 A3 65 7E */ extrwi r3, r5, 11, 1
/* 80014260 000100A0 38 83 FF CA */ addi r4, r3, -0x36
/* 80014254 00010094 DB E1 00 08 */ stfd f31, 8(r1)
/* 80014258 00010098 80 A1 00 08 */ lwz r5, 8(r1)
/* 8001425C 0001009C 54 A3 65 7E */ rlwinm r3, r5, 0xc, 0x15, 0x1f
/* 80014260 000100A0 38 83 FF CA */ addi r4, r3, -54
/* 80014264 000100A4 40 80 00 10 */ bge lbl_80014274
/* 80014268 000100A8 C8 02 85 10 */ lfd f0, "@490"@sda21(r2)
/* 80014268 000100A8 C8 02 85 10 */ lfd f0, $$2490-_SDA2_BASE_(r2)
/* 8001426C 000100AC FC 20 07 F2 */ fmul f1, f0, f31
/* 80014270 000100B0 48 00 00 C0 */ b lbl_80014330
.global lbl_80014274
lbl_80014274:
/* 80014274 000100B4 2C 04 07 FF */ cmpwi r4, 0x7ff
/* 80014278 000100B8 40 82 00 0C */ bne lbl_80014284
/* 8001427C 000100BC FC 3F F8 2A */ fadd f1, f31, f31
/* 80014280 000100C0 48 00 00 B0 */ b lbl_80014330
.global lbl_80014284
lbl_80014284:
/* 80014284 000100C4 7C 84 FA 14 */ add r4, r4, r31
/* 80014288 000100C8 2C 04 07 FE */ cmpwi r4, 0x7fe
/* 8001428C 000100CC 40 81 00 1C */ ble lbl_800142A8
/* 80014290 000100D0 FC 40 F8 90 */ fmr f2, f31
/* 80014294 000100D4 C8 22 85 18 */ lfd f1, "@491"@sda21(r2)
/* 80014294 000100D4 C8 22 85 18 */ lfd f1, $$2491-_SDA2_BASE_(r2)
/* 80014298 000100D8 4B FF FC 79 */ bl copysign
/* 8001429C 000100DC C8 02 85 18 */ lfd f0, "@491"@sda21(r2)
/* 8001429C 000100DC C8 02 85 18 */ lfd f0, $$2491-_SDA2_BASE_(r2)
/* 800142A0 000100E0 FC 20 00 72 */ fmul f1, f0, f1
/* 800142A4 000100E4 48 00 00 8C */ b lbl_80014330
.global lbl_800142A8
lbl_800142A8:
/* 800142A8 000100E8 2C 04 00 00 */ cmpwi r4, 0x0
/* 800142A8 000100E8 2C 04 00 00 */ cmpwi r4, 0
/* 800142AC 000100EC 40 81 00 1C */ ble lbl_800142C8
/* 800142B0 000100F0 54 A3 03 00 */ rlwinm r3, r5, 0, 12, 0
/* 800142B4 000100F4 54 80 A0 16 */ slwi r0, r4, 20
/* 800142B0 000100F0 54 A3 03 00 */ rlwinm r3, r5, 0, 0xc, 0
/* 800142B4 000100F4 54 80 A0 16 */ slwi r0, r4, 0x14
/* 800142B8 000100F8 7C 60 03 78 */ or r0, r3, r0
/* 800142BC 000100FC 90 01 00 08 */ stw r0, 0x8(r1)
/* 800142C0 00010100 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 800142BC 000100FC 90 01 00 08 */ stw r0, 8(r1)
/* 800142C0 00010100 C8 21 00 08 */ lfd f1, 8(r1)
/* 800142C4 00010104 48 00 00 6C */ b lbl_80014330
.global lbl_800142C8
lbl_800142C8:
/* 800142C8 00010108 2C 04 FF CA */ cmpwi r4, -0x36
/* 800142C8 00010108 2C 04 FF CA */ cmpwi r4, -54
/* 800142CC 0001010C 41 81 00 44 */ bgt lbl_80014310
/* 800142D0 00010110 3C 60 00 01 */ lis r3, 0x1
/* 800142D4 00010114 38 03 C3 50 */ addi r0, r3, -0x3cb0
/* 800142D0 00010110 3C 60 00 01 */ lis r3, 0x0000C350@ha
/* 800142D4 00010114 38 03 C3 50 */ addi r0, r3, 0x0000C350@l
/* 800142D8 00010118 7C 1F 00 00 */ cmpw r31, r0
/* 800142DC 0001011C 40 81 00 1C */ ble lbl_800142F8
/* 800142E0 00010120 FC 40 F8 90 */ fmr f2, f31
/* 800142E4 00010124 C8 22 85 18 */ lfd f1, "@491"@sda21(r2)
/* 800142E4 00010124 C8 22 85 18 */ lfd f1, $$2491-_SDA2_BASE_(r2)
/* 800142E8 00010128 4B FF FC 29 */ bl copysign
/* 800142EC 0001012C C8 02 85 18 */ lfd f0, "@491"@sda21(r2)
/* 800142EC 0001012C C8 02 85 18 */ lfd f0, $$2491-_SDA2_BASE_(r2)
/* 800142F0 00010130 FC 20 00 72 */ fmul f1, f0, f1
/* 800142F4 00010134 48 00 00 3C */ b lbl_80014330
.global lbl_800142F8
lbl_800142F8:
/* 800142F8 00010138 FC 40 F8 90 */ fmr f2, f31
/* 800142FC 0001013C C8 22 85 10 */ lfd f1, "@490"@sda21(r2)
/* 800142FC 0001013C C8 22 85 10 */ lfd f1, $$2490-_SDA2_BASE_(r2)
/* 80014300 00010140 4B FF FC 11 */ bl copysign
/* 80014304 00010144 C8 02 85 10 */ lfd f0, "@490"@sda21(r2)
/* 80014304 00010144 C8 02 85 10 */ lfd f0, $$2490-_SDA2_BASE_(r2)
/* 80014308 00010148 FC 20 00 72 */ fmul f1, f0, f1
/* 8001430C 0001014C 48 00 00 24 */ b lbl_80014330
.global lbl_80014310
lbl_80014310:
/* 80014310 00010150 38 04 00 36 */ addi r0, r4, 0x36
/* 80014314 00010154 54 A3 03 00 */ rlwinm r3, r5, 0, 12, 0
/* 80014318 00010158 54 00 A0 16 */ slwi r0, r0, 20
/* 8001431C 0001015C C8 22 85 20 */ lfd f1, "@492"@sda21(r2)
/* 80014314 00010154 54 A3 03 00 */ rlwinm r3, r5, 0, 0xc, 0
/* 80014318 00010158 54 00 A0 16 */ slwi r0, r0, 0x14
/* 8001431C 0001015C C8 22 85 20 */ lfd f1, $$2492-_SDA2_BASE_(r2)
/* 80014320 00010160 7C 60 03 78 */ or r0, r3, r0
/* 80014324 00010164 90 01 00 08 */ stw r0, 0x8(r1)
/* 80014328 00010168 C8 01 00 08 */ lfd f0, 0x8(r1)
/* 80014324 00010164 90 01 00 08 */ stw r0, 8(r1)
/* 80014328 00010168 C8 01 00 08 */ lfd f0, 8(r1)
/* 8001432C 0001016C FC 21 00 32 */ fmul f1, f1, f0
.global lbl_80014330
lbl_80014330:
/* 80014330 00010170 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80014334 00010174 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 80014338 00010178 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8001433C 0001017C 7C 08 03 A6 */ mtlr r0
/* 80014340 00010180 38 21 00 20 */ addi r1, r1, 0x20
/* 80014344 00010184 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@488"
"@488":
/* 80014344 00010184 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2488
$$2488:
.4byte 0
.4byte 0
.global "@489"
"@489":
.global $$2489
$$2489:
.4byte 0x43500000
.4byte 0
.global "@490"
"@490":
.global $$2490
$$2490:
.4byte 0x01A56E1F
.4byte 0xC2F8F359
.global "@491"
"@491":
.global $$2491
$$2491:
.4byte 0x7E37E43C
.4byte 0x8800759C
.global "@492"
"@492":
.global $$2492
$$2492:
.4byte 0x3C900000
.4byte 0

View file

@ -1,80 +1,74 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global modf
modf:
/* 80014348 00010188 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001434C 0001018C D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80014350 00010190 80 A1 00 08 */ lwz r5, 0x8(r1)
/* 8001434C 0001018C D8 21 00 08 */ stfd f1, 8(r1)
/* 80014350 00010190 80 A1 00 08 */ lwz r5, 8(r1)
/* 80014354 00010194 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 80014358 00010198 54 A4 65 7E */ extrwi r4, r5, 11, 1
/* 8001435C 0001019C 38 E4 FC 01 */ addi r7, r4, -0x3ff
/* 80014358 00010198 54 A4 65 7E */ rlwinm r4, r5, 0xc, 0x15, 0x1f
/* 8001435C 0001019C 38 E4 FC 01 */ addi r7, r4, -1023
/* 80014360 000101A0 2C 07 00 14 */ cmpwi r7, 0x14
/* 80014364 000101A4 40 80 00 70 */ bge lbl_800143D4
/* 80014368 000101A8 2C 07 00 00 */ cmpwi r7, 0x0
/* 80014368 000101A8 2C 07 00 00 */ cmpwi r7, 0
/* 8001436C 000101AC 40 80 00 18 */ bge lbl_80014384
/* 80014370 000101B0 54 A4 00 00 */ clrrwi r4, r5, 31
/* 80014374 000101B4 38 00 00 00 */ li r0, 0x0
/* 80014378 000101B8 90 83 00 00 */ stw r4, 0x0(r3)
/* 8001437C 000101BC 90 03 00 04 */ stw r0, 0x4(r3)
/* 80014370 000101B0 54 A4 00 00 */ rlwinm r4, r5, 0, 0, 0
/* 80014374 000101B4 38 00 00 00 */ li r0, 0
/* 80014378 000101B8 90 83 00 00 */ stw r4, 0(r3)
/* 8001437C 000101BC 90 03 00 04 */ stw r0, 4(r3)
/* 80014380 000101C0 48 00 00 BC */ b lbl_8001443C
.global lbl_80014384
lbl_80014384:
/* 80014384 000101C4 3C 80 00 10 */ lis r4, 0x10
/* 80014388 000101C8 38 04 FF FF */ addi r0, r4, -0x1
/* 80014384 000101C4 3C 80 00 10 */ lis r4, 0x000FFFFF@ha
/* 80014388 000101C8 38 04 FF FF */ addi r0, r4, 0x000FFFFF@l
/* 8001438C 000101CC 7C 04 3E 30 */ sraw r4, r0, r7
/* 80014390 000101D0 7C A0 20 38 */ and r0, r5, r4
/* 80014394 000101D4 7C C0 03 79 */ or. r0, r6, r0
/* 80014398 000101D8 40 82 00 20 */ bne lbl_800143B8
/* 8001439C 000101DC 54 A4 00 00 */ clrrwi r4, r5, 31
/* 800143A0 000101E0 38 00 00 00 */ li r0, 0x0
/* 800143A4 000101E4 90 81 00 08 */ stw r4, 0x8(r1)
/* 8001439C 000101DC 54 A4 00 00 */ rlwinm r4, r5, 0, 0, 0
/* 800143A0 000101E0 38 00 00 00 */ li r0, 0
/* 800143A4 000101E4 90 81 00 08 */ stw r4, 8(r1)
/* 800143A8 000101E8 90 01 00 0C */ stw r0, 0xc(r1)
/* 800143AC 000101EC D8 23 00 00 */ stfd f1, 0x0(r3)
/* 800143B0 000101F0 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 800143AC 000101EC D8 23 00 00 */ stfd f1, 0(r3)
/* 800143B0 000101F0 C8 21 00 08 */ lfd f1, 8(r1)
/* 800143B4 000101F4 48 00 00 88 */ b lbl_8001443C
.global lbl_800143B8
lbl_800143B8:
/* 800143B8 000101F8 7C A4 20 78 */ andc r4, r5, r4
/* 800143BC 000101FC 38 00 00 00 */ li r0, 0x0
/* 800143C0 00010200 90 83 00 00 */ stw r4, 0x0(r3)
/* 800143C4 00010204 90 03 00 04 */ stw r0, 0x4(r3)
/* 800143C8 00010208 C8 03 00 00 */ lfd f0, 0x0(r3)
/* 800143BC 000101FC 38 00 00 00 */ li r0, 0
/* 800143C0 00010200 90 83 00 00 */ stw r4, 0(r3)
/* 800143C4 00010204 90 03 00 04 */ stw r0, 4(r3)
/* 800143C8 00010208 C8 03 00 00 */ lfd f0, 0(r3)
/* 800143CC 0001020C FC 21 00 28 */ fsub f1, f1, f0
/* 800143D0 00010210 48 00 00 6C */ b lbl_8001443C
.global lbl_800143D4
lbl_800143D4:
/* 800143D4 00010214 2C 07 00 33 */ cmpwi r7, 0x33
/* 800143D8 00010218 40 81 00 20 */ ble lbl_800143F8
/* 800143DC 0001021C 54 A4 00 00 */ clrrwi r4, r5, 31
/* 800143E0 00010220 38 00 00 00 */ li r0, 0x0
/* 800143E4 00010224 90 81 00 08 */ stw r4, 0x8(r1)
/* 800143DC 0001021C 54 A4 00 00 */ rlwinm r4, r5, 0, 0, 0
/* 800143E0 00010220 38 00 00 00 */ li r0, 0
/* 800143E4 00010224 90 81 00 08 */ stw r4, 8(r1)
/* 800143E8 00010228 90 01 00 0C */ stw r0, 0xc(r1)
/* 800143EC 0001022C D8 23 00 00 */ stfd f1, 0x0(r3)
/* 800143F0 00010230 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 800143EC 0001022C D8 23 00 00 */ stfd f1, 0(r3)
/* 800143F0 00010230 C8 21 00 08 */ lfd f1, 8(r1)
/* 800143F4 00010234 48 00 00 48 */ b lbl_8001443C
.global lbl_800143F8
lbl_800143F8:
/* 800143F8 00010238 38 07 FF EC */ addi r0, r7, -0x14
/* 800143FC 0001023C 38 80 FF FF */ li r4, -0x1
/* 800143F8 00010238 38 07 FF EC */ addi r0, r7, -20
/* 800143FC 0001023C 38 80 FF FF */ li r4, -1
/* 80014400 00010240 7C 84 04 30 */ srw r4, r4, r0
/* 80014404 00010244 7C C0 20 39 */ and. r0, r6, r4
/* 80014408 00010248 40 82 00 20 */ bne lbl_80014428
/* 8001440C 0001024C 54 A4 00 00 */ clrrwi r4, r5, 31
/* 80014410 00010250 38 00 00 00 */ li r0, 0x0
/* 80014414 00010254 90 81 00 08 */ stw r4, 0x8(r1)
/* 8001440C 0001024C 54 A4 00 00 */ rlwinm r4, r5, 0, 0, 0
/* 80014410 00010250 38 00 00 00 */ li r0, 0
/* 80014414 00010254 90 81 00 08 */ stw r4, 8(r1)
/* 80014418 00010258 90 01 00 0C */ stw r0, 0xc(r1)
/* 8001441C 0001025C D8 23 00 00 */ stfd f1, 0x0(r3)
/* 80014420 00010260 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 8001441C 0001025C D8 23 00 00 */ stfd f1, 0(r3)
/* 80014420 00010260 C8 21 00 08 */ lfd f1, 8(r1)
/* 80014424 00010264 48 00 00 18 */ b lbl_8001443C
.global lbl_80014428
lbl_80014428:
/* 80014428 00010268 7C C0 20 78 */ andc r0, r6, r4
/* 8001442C 0001026C 90 A3 00 00 */ stw r5, 0x0(r3)
/* 80014430 00010270 90 03 00 04 */ stw r0, 0x4(r3)
/* 80014434 00010274 C8 03 00 00 */ lfd f0, 0x0(r3)
/* 8001442C 0001026C 90 A3 00 00 */ stw r5, 0(r3)
/* 80014430 00010270 90 03 00 04 */ stw r0, 4(r3)
/* 80014434 00010274 C8 03 00 00 */ lfd f0, 0(r3)
/* 80014438 00010278 FC 21 00 28 */ fsub f1, f1, f0
.global lbl_8001443C
lbl_8001443C:
/* 8001443C 0001027C 38 21 00 10 */ addi r1, r1, 0x10
/* 80014440 00010280 4E 80 00 20 */ blr
/* 80014440 00010280 4E 80 00 20 */ blr

View file

@ -1,78 +1,69 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global sin
sin:
/* 80014444 00010284 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80014448 00010288 7C 08 02 A6 */ mflr r0
/* 8001444C 0001028C 3C 60 3F E9 */ lis r3, 0x3fe9
/* 80014450 00010290 C8 42 85 28 */ lfd f2, "@477_8055E4A8"@sda21(r2)
/* 80014454 00010294 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 8001444C 0001028C 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha
/* 80014450 00010290 C8 42 85 28 */ lfd f2, $$2477-_SDA2_BASE_(r2)
/* 80014454 00010294 D8 21 00 08 */ stfd f1, 8(r1)
/* 80014458 00010298 90 01 00 24 */ stw r0, 0x24(r1)
/* 8001445C 0001029C 38 03 21 FB */ addi r0, r3, 0x21fb
/* 80014460 000102A0 80 61 00 08 */ lwz r3, 0x8(r1)
/* 8001445C 0001029C 38 03 21 FB */ addi r0, r3, 0x3FE921FB@l
/* 80014460 000102A0 80 61 00 08 */ lwz r3, 8(r1)
/* 80014464 000102A4 54 63 00 7E */ clrlwi r3, r3, 1
/* 80014468 000102A8 7C 03 00 00 */ cmpw r3, r0
/* 8001446C 000102AC 41 81 00 10 */ bgt lbl_8001447C
/* 80014470 000102B0 38 60 00 00 */ li r3, 0x0
/* 80014470 000102B0 38 60 00 00 */ li r3, 0
/* 80014474 000102B4 4B FF F4 11 */ bl __kernel_sin
/* 80014478 000102B8 48 00 00 88 */ b lbl_80014500
.global lbl_8001447C
lbl_8001447C:
/* 8001447C 000102BC 3C 00 7F F0 */ lis r0, 0x7ff0
/* 80014480 000102C0 7C 03 00 00 */ cmpw r3, r0
/* 80014484 000102C4 41 80 00 0C */ blt lbl_80014490
/* 80014488 000102C8 FC 21 08 28 */ fsub f1, f1, f1
/* 8001448C 000102CC 48 00 00 74 */ b lbl_80014500
.global lbl_80014490
lbl_80014490:
/* 80014490 000102D0 38 61 00 10 */ addi r3, r1, 0x10
/* 80014494 000102D4 4B FF D8 A5 */ bl __ieee754_rem_pio2
/* 80014498 000102D8 54 60 07 BF */ clrlwi. r0, r3, 30
/* 80014498 000102D8 54 60 07 BF */ clrlwi. r0, r3, 0x1e
/* 8001449C 000102DC 41 82 00 18 */ beq lbl_800144B4
/* 800144A0 000102E0 2C 00 00 01 */ cmpwi r0, 0x1
/* 800144A0 000102E0 2C 00 00 01 */ cmpwi r0, 1
/* 800144A4 000102E4 41 82 00 24 */ beq lbl_800144C8
/* 800144A8 000102E8 2C 00 00 02 */ cmpwi r0, 0x2
/* 800144A8 000102E8 2C 00 00 02 */ cmpwi r0, 2
/* 800144AC 000102EC 41 82 00 2C */ beq lbl_800144D8
/* 800144B0 000102F0 48 00 00 40 */ b lbl_800144F0
.global lbl_800144B4
lbl_800144B4:
/* 800144B4 000102F4 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 800144B8 000102F8 38 60 00 01 */ li r3, 0x1
/* 800144B8 000102F8 38 60 00 01 */ li r3, 1
/* 800144BC 000102FC C8 41 00 18 */ lfd f2, 0x18(r1)
/* 800144C0 00010300 4B FF F3 C5 */ bl __kernel_sin
/* 800144C4 00010304 48 00 00 3C */ b lbl_80014500
.global lbl_800144C8
lbl_800144C8:
/* 800144C8 00010308 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 800144CC 0001030C C8 41 00 18 */ lfd f2, 0x18(r1)
/* 800144D0 00010310 4B FF DB ED */ bl __kernel_cos
/* 800144D4 00010314 48 00 00 2C */ b lbl_80014500
.global lbl_800144D8
lbl_800144D8:
/* 800144D8 00010318 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 800144DC 0001031C 38 60 00 01 */ li r3, 0x1
/* 800144DC 0001031C 38 60 00 01 */ li r3, 1
/* 800144E0 00010320 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 800144E4 00010324 4B FF F3 A1 */ bl __kernel_sin
/* 800144E8 00010328 FC 20 08 50 */ fneg f1, f1
/* 800144EC 0001032C 48 00 00 14 */ b lbl_80014500
.global lbl_800144F0
lbl_800144F0:
/* 800144F0 00010330 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 800144F4 00010334 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 800144F8 00010338 4B FF DB C5 */ bl __kernel_cos
/* 800144FC 0001033C FC 20 08 50 */ fneg f1, f1
.global lbl_80014500
lbl_80014500:
/* 80014500 00010340 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80014504 00010344 7C 08 03 A6 */ mtlr r0
/* 80014508 00010348 38 21 00 20 */ addi r1, r1, 0x20
/* 8001450C 0001034C 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@477_8055E4A8"
"@477_8055E4A8":
/* 8001450C 0001034C 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2477
$$2477:
.4byte 0
.4byte 0

View file

@ -1,49 +1,44 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global tan
tan:
/* 80014510 00010350 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80014514 00010354 7C 08 02 A6 */ mflr r0
/* 80014518 00010358 3C 60 3F E9 */ lis r3, 0x3fe9
/* 8001451C 0001035C C8 42 85 30 */ lfd f2, "@466"@sda21(r2)
/* 80014520 00010360 D8 21 00 08 */ stfd f1, 0x8(r1)
/* 80014518 00010358 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha
/* 8001451C 0001035C C8 42 85 30 */ lfd f2, $$2466-_SDA2_BASE_(r2)
/* 80014520 00010360 D8 21 00 08 */ stfd f1, 8(r1)
/* 80014524 00010364 90 01 00 24 */ stw r0, 0x24(r1)
/* 80014528 00010368 38 03 21 FB */ addi r0, r3, 0x21fb
/* 8001452C 0001036C 80 61 00 08 */ lwz r3, 0x8(r1)
/* 80014528 00010368 38 03 21 FB */ addi r0, r3, 0x3FE921FB@l
/* 8001452C 0001036C 80 61 00 08 */ lwz r3, 8(r1)
/* 80014530 00010370 54 63 00 7E */ clrlwi r3, r3, 1
/* 80014534 00010374 7C 03 00 00 */ cmpw r3, r0
/* 80014538 00010378 41 81 00 10 */ bgt lbl_80014548
/* 8001453C 0001037C 38 60 00 01 */ li r3, 0x1
/* 8001453C 0001037C 38 60 00 01 */ li r3, 1
/* 80014540 00010380 4B FF F4 05 */ bl __kernel_tan
/* 80014544 00010384 48 00 00 34 */ b lbl_80014578
.global lbl_80014548
lbl_80014548:
/* 80014548 00010388 3C 00 7F F0 */ lis r0, 0x7ff0
/* 8001454C 0001038C 7C 03 00 00 */ cmpw r3, r0
/* 80014550 00010390 41 80 00 0C */ blt lbl_8001455C
/* 80014554 00010394 FC 21 08 28 */ fsub f1, f1, f1
/* 80014558 00010398 48 00 00 20 */ b lbl_80014578
.global lbl_8001455C
lbl_8001455C:
/* 8001455C 0001039C 38 61 00 10 */ addi r3, r1, 0x10
/* 80014560 000103A0 4B FF D7 D9 */ bl __ieee754_rem_pio2
/* 80014564 000103A4 54 60 0F BC */ rlwinm r0, r3, 1, 30, 30
/* 80014564 000103A4 54 60 0F BC */ rlwinm r0, r3, 1, 0x1e, 0x1e
/* 80014568 000103A8 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 8001456C 000103AC C8 41 00 18 */ lfd f2, 0x18(r1)
/* 80014570 000103B0 20 60 00 01 */ subfic r3, r0, 0x1
/* 80014570 000103B0 20 60 00 01 */ subfic r3, r0, 1
/* 80014574 000103B4 4B FF F3 D1 */ bl __kernel_tan
.global lbl_80014578
lbl_80014578:
/* 80014578 000103B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8001457C 000103BC 7C 08 03 A6 */ mtlr r0
/* 80014580 000103C0 38 21 00 20 */ addi r1, r1, 0x20
/* 80014584 000103C4 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@466"
"@466":
/* 80014584 000103C4 4E 80 00 20 */ blr
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$2466
$$2466:
.4byte 0
.4byte 0

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global acos
acos:
/* 80014588 000103C8 4B FF C0 98 */ b __ieee754_acos

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global asin
asin:
/* 8001458C 000103CC 4B FF C3 60 */ b __ieee754_asin

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global atan2
atan2:
/* 80014590 000103D0 4B FF C5 F4 */ b __ieee754_atan2

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global fmod
fmod:
/* 80014594 000103D4 4B FF C8 48 */ b __ieee754_fmod

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global log10
log10:
/* 80014598 000103D8 4B FF CE 78 */ b __ieee754_log10

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global pow
pow:
/* 8001459C 000103DC 4B FF CF 88 */ b __ieee754_pow

View file

@ -1,6 +1,6 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.section .text, "ax" # 0x80006A00 - 0x80406260
.global sqrt
sqrt:
/* 800147E8 00010628 4B FF FD B8 */ b __ieee754_sqrt

File diff suppressed because it is too large Load diff

View file

@ -1,21 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global scalbn
scalbn:
/* 800105E0 0000C420 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800105E4 0000C424 7C 08 02 A6 */ mflr r0
/* 800105E8 0000C428 90 01 00 24 */ stw r0, 0x24(r1)
/* 800105EC 0000C42C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800105F0 0000C430 7C 7F 1B 78 */ mr r31, r3
/* 800105F4 0000C434 38 61 00 08 */ addi r3, r1, 0x8
/* 800105F8 0000C438 48 00 3B 5D */ bl frexp
/* 800105FC 0000C43C 80 01 00 08 */ lwz r0, 0x8(r1)
/* 80010600 0000C440 7C 60 FA 14 */ add r3, r0, r31
/* 80010604 0000C444 90 61 00 08 */ stw r3, 0x8(r1)
/* 80010608 0000C448 48 00 3B D5 */ bl ldexp
/* 8001060C 0000C44C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80010610 0000C450 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80010614 0000C454 7C 08 03 A6 */ mtlr r0
/* 80010618 0000C458 38 21 00 20 */ addi r1, r1, 0x20
/* 8001061C 0000C45C 4E 80 00 20 */ blr

View file

@ -0,0 +1,860 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global __ull2dec
__ull2dec:
/* 80009858 00005698 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8000985C 0000569C 7C 08 02 A6 */ mflr r0
/* 80009860 000056A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80009864 000056A4 38 00 00 00 */ li r0, 0
/* 80009868 000056A8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8000986C 000056AC 7C BF 2B 78 */ mr r31, r5
/* 80009870 000056B0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80009874 000056B4 7C DE 33 78 */ mr r30, r6
/* 80009878 000056B8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8000987C 000056BC 7C 7D 1B 78 */ mr r29, r3
/* 80009880 000056C0 98 03 00 00 */ stb r0, 0(r3)
/* 80009884 000056C4 98 03 00 04 */ stb r0, 4(r3)
/* 80009888 000056C8 48 00 00 48 */ b lbl_800098D0
lbl_8000988C:
/* 8000988C 000056CC 7F E3 FB 78 */ mr r3, r31
/* 80009890 000056D0 7F C4 F3 78 */ mr r4, r30
/* 80009894 000056D4 38 C0 00 0A */ li r6, 0xa
/* 80009898 000056D8 38 A0 00 00 */ li r5, 0
/* 8000989C 000056DC 4B FF DD 29 */ bl __mod2u
/* 800098A0 000056E0 89 1D 00 04 */ lbz r8, 4(r29)
/* 800098A4 000056E4 7F E3 FB 78 */ mr r3, r31
/* 800098A8 000056E8 38 C0 00 0A */ li r6, 0xa
/* 800098AC 000056EC 38 A0 00 00 */ li r5, 0
/* 800098B0 000056F0 7C FD 42 14 */ add r7, r29, r8
/* 800098B4 000056F4 38 08 00 01 */ addi r0, r8, 1
/* 800098B8 000056F8 98 87 00 05 */ stb r4, 5(r7)
/* 800098BC 000056FC 7F C4 F3 78 */ mr r4, r30
/* 800098C0 00005700 98 1D 00 04 */ stb r0, 4(r29)
/* 800098C4 00005704 4B FF DA DD */ bl __div2u
/* 800098C8 00005708 7C 9E 23 78 */ mr r30, r4
/* 800098CC 0000570C 7C 7F 1B 78 */ mr r31, r3
lbl_800098D0:
/* 800098D0 00005710 7F C0 FB 79 */ or. r0, r30, r31
/* 800098D4 00005714 40 82 FF B8 */ bne lbl_8000988C
/* 800098D8 00005718 88 1D 00 04 */ lbz r0, 4(r29)
/* 800098DC 0000571C 38 9D 00 05 */ addi r4, r29, 5
/* 800098E0 00005720 7C 7D 02 14 */ add r3, r29, r0
/* 800098E4 00005724 38 63 00 05 */ addi r3, r3, 5
/* 800098E8 00005728 48 00 00 18 */ b lbl_80009900
lbl_800098EC:
/* 800098EC 0000572C 88 A4 00 00 */ lbz r5, 0(r4)
/* 800098F0 00005730 88 03 00 00 */ lbz r0, 0(r3)
/* 800098F4 00005734 98 04 00 00 */ stb r0, 0(r4)
/* 800098F8 00005738 38 84 00 01 */ addi r4, r4, 1
/* 800098FC 0000573C 98 A3 00 00 */ stb r5, 0(r3)
lbl_80009900:
/* 80009900 00005740 38 63 FF FF */ addi r3, r3, -1
/* 80009904 00005744 7C 04 18 40 */ cmplw r4, r3
/* 80009908 00005748 41 80 FF E4 */ blt lbl_800098EC
/* 8000990C 0000574C 88 7D 00 04 */ lbz r3, 4(r29)
/* 80009910 00005750 38 03 FF FF */ addi r0, r3, -1
/* 80009914 00005754 B0 1D 00 02 */ sth r0, 2(r29)
/* 80009918 00005758 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8000991C 0000575C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80009920 00005760 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80009924 00005764 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80009928 00005768 7C 08 03 A6 */ mtlr r0
/* 8000992C 0000576C 38 21 00 20 */ addi r1, r1, 0x20
/* 80009930 00005770 4E 80 00 20 */ blr
.global __timesdec
__timesdec:
/* 80009934 00005774 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80009938 00005778 3C C0 CC CD */ lis r6, 0xCCCCCCCD@ha
/* 8000993C 0000577C 89 04 00 04 */ lbz r8, 4(r4)
/* 80009940 00005780 39 26 CC CD */ addi r9, r6, 0xCCCCCCCD@l
/* 80009944 00005784 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80009948 00005788 38 01 00 08 */ addi r0, r1, 8
/* 8000994C 0000578C 88 E5 00 04 */ lbz r7, 4(r5)
/* 80009950 00005790 39 60 00 00 */ li r11, 0
/* 80009954 00005794 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80009958 00005798 7D 88 3A 14 */ add r12, r8, r7
/* 8000995C 0000579C 93 A1 00 54 */ stw r29, 0x54(r1)
/* 80009960 000057A0 39 8C FF FF */ addi r12, r12, -1
/* 80009964 000057A4 7C C0 62 14 */ add r6, r0, r12
/* 80009968 000057A8 38 C6 00 01 */ addi r6, r6, 1
/* 8000996C 000057AC 99 63 00 00 */ stb r11, 0(r3)
/* 80009970 000057B0 7C C0 33 78 */ mr r0, r6
/* 80009974 000057B4 48 00 01 30 */ b lbl_80009AA4
lbl_80009978:
/* 80009978 000057B8 88 E5 00 04 */ lbz r7, 4(r5)
/* 8000997C 000057BC 3B E7 FF FF */ addi r31, r7, -1
/* 80009980 000057C0 7C FF 60 50 */ subf r7, r31, r12
/* 80009984 000057C4 37 C7 FF FF */ addic. r30, r7, -1
/* 80009988 000057C8 40 80 00 0C */ bge lbl_80009994
/* 8000998C 000057CC 3B C0 00 00 */ li r30, 0
/* 80009990 000057D0 3B EC FF FF */ addi r31, r12, -1
lbl_80009994:
/* 80009994 000057D4 88 E4 00 04 */ lbz r7, 4(r4)
/* 80009998 000057D8 7D 05 FA 14 */ add r8, r5, r31
/* 8000999C 000057DC 3B FF 00 01 */ addi r31, r31, 1
/* 800099A0 000057E0 7D 44 F2 14 */ add r10, r4, r30
/* 800099A4 000057E4 7C FE 38 50 */ subf r7, r30, r7
/* 800099A8 000057E8 3B A8 00 05 */ addi r29, r8, 5
/* 800099AC 000057EC 7C 1F 38 00 */ cmpw r31, r7
/* 800099B0 000057F0 3B CA 00 05 */ addi r30, r10, 5
/* 800099B4 000057F4 40 81 00 08 */ ble lbl_800099BC
/* 800099B8 000057F8 7C FF 3B 78 */ mr r31, r7
lbl_800099BC:
/* 800099BC 000057FC 2C 1F 00 00 */ cmpwi r31, 0
/* 800099C0 00005800 40 81 00 C4 */ ble lbl_80009A84
/* 800099C4 00005804 57 E7 E8 FF */ rlwinm. r7, r31, 0x1d, 3, 0x1f
/* 800099C8 00005808 7C E9 03 A6 */ mtctr r7
/* 800099CC 0000580C 41 82 00 98 */ beq lbl_80009A64
lbl_800099D0:
/* 800099D0 00005810 89 5E 00 00 */ lbz r10, 0(r30)
/* 800099D4 00005814 89 1D 00 00 */ lbz r8, 0(r29)
/* 800099D8 00005818 7C EA 41 D6 */ mullw r7, r10, r8
/* 800099DC 0000581C 89 5E 00 01 */ lbz r10, 1(r30)
/* 800099E0 00005820 89 1D FF FF */ lbz r8, -1(r29)
/* 800099E4 00005824 7D 6B 3A 14 */ add r11, r11, r7
/* 800099E8 00005828 7C EA 41 D6 */ mullw r7, r10, r8
/* 800099EC 0000582C 89 5E 00 02 */ lbz r10, 2(r30)
/* 800099F0 00005830 89 1D FF FE */ lbz r8, -2(r29)
/* 800099F4 00005834 7D 6B 3A 14 */ add r11, r11, r7
/* 800099F8 00005838 7C EA 41 D6 */ mullw r7, r10, r8
/* 800099FC 0000583C 89 5E 00 03 */ lbz r10, 3(r30)
/* 80009A00 00005840 89 1D FF FD */ lbz r8, -3(r29)
/* 80009A04 00005844 7D 6B 3A 14 */ add r11, r11, r7
/* 80009A08 00005848 7C EA 41 D6 */ mullw r7, r10, r8
/* 80009A0C 0000584C 89 5E 00 04 */ lbz r10, 4(r30)
/* 80009A10 00005850 89 1D FF FC */ lbz r8, -4(r29)
/* 80009A14 00005854 7D 6B 3A 14 */ add r11, r11, r7
/* 80009A18 00005858 7C EA 41 D6 */ mullw r7, r10, r8
/* 80009A1C 0000585C 89 5E 00 05 */ lbz r10, 5(r30)
/* 80009A20 00005860 89 1D FF FB */ lbz r8, -5(r29)
/* 80009A24 00005864 7D 6B 3A 14 */ add r11, r11, r7
/* 80009A28 00005868 7C EA 41 D6 */ mullw r7, r10, r8
/* 80009A2C 0000586C 89 5E 00 06 */ lbz r10, 6(r30)
/* 80009A30 00005870 89 1D FF FA */ lbz r8, -6(r29)
/* 80009A34 00005874 7D 6B 3A 14 */ add r11, r11, r7
/* 80009A38 00005878 7C EA 41 D6 */ mullw r7, r10, r8
/* 80009A3C 0000587C 89 5E 00 07 */ lbz r10, 7(r30)
/* 80009A40 00005880 89 1D FF F9 */ lbz r8, -7(r29)
/* 80009A44 00005884 3B DE 00 08 */ addi r30, r30, 8
/* 80009A48 00005888 3B BD FF F8 */ addi r29, r29, -8
/* 80009A4C 0000588C 7D 6B 3A 14 */ add r11, r11, r7
/* 80009A50 00005890 7C EA 41 D6 */ mullw r7, r10, r8
/* 80009A54 00005894 7D 6B 3A 14 */ add r11, r11, r7
/* 80009A58 00005898 42 00 FF 78 */ bdnz lbl_800099D0
/* 80009A5C 0000589C 73 FF 00 07 */ andi. r31, r31, 7
/* 80009A60 000058A0 41 82 00 24 */ beq lbl_80009A84
lbl_80009A64:
/* 80009A64 000058A4 7F E9 03 A6 */ mtctr r31
lbl_80009A68:
/* 80009A68 000058A8 89 5E 00 00 */ lbz r10, 0(r30)
/* 80009A6C 000058AC 3B DE 00 01 */ addi r30, r30, 1
/* 80009A70 000058B0 89 1D 00 00 */ lbz r8, 0(r29)
/* 80009A74 000058B4 3B BD FF FF */ addi r29, r29, -1
/* 80009A78 000058B8 7C EA 41 D6 */ mullw r7, r10, r8
/* 80009A7C 000058BC 7D 6B 3A 14 */ add r11, r11, r7
/* 80009A80 000058C0 42 00 FF E8 */ bdnz lbl_80009A68
lbl_80009A84:
/* 80009A84 000058C4 7D 09 58 16 */ mulhwu r8, r9, r11
/* 80009A88 000058C8 39 8C FF FF */ addi r12, r12, -1
/* 80009A8C 000058CC 7D 07 43 78 */ mr r7, r8
/* 80009A90 000058D0 55 08 E8 FE */ srwi r8, r8, 3
/* 80009A94 000058D4 1D 08 00 0A */ mulli r8, r8, 0xa
/* 80009A98 000058D8 7D 08 58 50 */ subf r8, r8, r11
/* 80009A9C 000058DC 9D 06 FF FF */ stbu r8, -1(r6)
/* 80009AA0 000058E0 54 EB E8 FE */ srwi r11, r7, 3
lbl_80009AA4:
/* 80009AA4 000058E4 2C 0C 00 00 */ cmpwi r12, 0
/* 80009AA8 000058E8 41 81 FE D0 */ bgt lbl_80009978
/* 80009AAC 000058EC A8 E4 00 02 */ lha r7, 2(r4)
/* 80009AB0 000058F0 2C 0B 00 00 */ cmpwi r11, 0
/* 80009AB4 000058F4 A8 85 00 02 */ lha r4, 2(r5)
/* 80009AB8 000058F8 7C 87 22 14 */ add r4, r7, r4
/* 80009ABC 000058FC B0 83 00 02 */ sth r4, 2(r3)
/* 80009AC0 00005900 41 82 00 14 */ beq lbl_80009AD4
/* 80009AC4 00005904 9D 66 FF FF */ stbu r11, -1(r6)
/* 80009AC8 00005908 7C 84 07 34 */ extsh r4, r4
/* 80009ACC 0000590C 38 84 00 01 */ addi r4, r4, 1
/* 80009AD0 00005910 B0 83 00 02 */ sth r4, 2(r3)
lbl_80009AD4:
/* 80009AD4 00005914 38 E0 00 00 */ li r7, 0
/* 80009AD8 00005918 48 00 00 18 */ b lbl_80009AF0
lbl_80009ADC:
/* 80009ADC 0000591C 7C 83 3A 14 */ add r4, r3, r7
/* 80009AE0 00005920 88 A6 00 00 */ lbz r5, 0(r6)
/* 80009AE4 00005924 98 A4 00 05 */ stb r5, 5(r4)
/* 80009AE8 00005928 38 E7 00 01 */ addi r7, r7, 1
/* 80009AEC 0000592C 38 C6 00 01 */ addi r6, r6, 1
lbl_80009AF0:
/* 80009AF0 00005930 2C 07 00 24 */ cmpwi r7, 0x24
/* 80009AF4 00005934 40 80 00 0C */ bge lbl_80009B00
/* 80009AF8 00005938 7C 06 00 40 */ cmplw r6, r0
/* 80009AFC 0000593C 41 80 FF E0 */ blt lbl_80009ADC
lbl_80009B00:
/* 80009B00 00005940 7C 06 00 40 */ cmplw r6, r0
/* 80009B04 00005944 98 E3 00 04 */ stb r7, 4(r3)
/* 80009B08 00005948 40 80 00 A0 */ bge lbl_80009BA8
/* 80009B0C 0000594C 88 86 00 00 */ lbz r4, 0(r6)
/* 80009B10 00005950 28 04 00 05 */ cmplwi r4, 5
/* 80009B14 00005954 41 80 00 94 */ blt lbl_80009BA8
/* 80009B18 00005958 40 82 00 38 */ bne lbl_80009B50
/* 80009B1C 0000595C 38 A6 00 01 */ addi r5, r6, 1
/* 80009B20 00005960 7C 85 00 50 */ subf r4, r5, r0
/* 80009B24 00005964 7C 89 03 A6 */ mtctr r4
/* 80009B28 00005968 7C 05 00 40 */ cmplw r5, r0
/* 80009B2C 0000596C 40 80 00 18 */ bge lbl_80009B44
lbl_80009B30:
/* 80009B30 00005970 88 05 00 00 */ lbz r0, 0(r5)
/* 80009B34 00005974 2C 00 00 00 */ cmpwi r0, 0
/* 80009B38 00005978 40 82 00 18 */ bne lbl_80009B50
/* 80009B3C 0000597C 38 A5 00 01 */ addi r5, r5, 1
/* 80009B40 00005980 42 00 FF F0 */ bdnz lbl_80009B30
lbl_80009B44:
/* 80009B44 00005984 88 06 FF FF */ lbz r0, -1(r6)
/* 80009B48 00005988 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80009B4C 0000598C 41 82 00 5C */ beq lbl_80009BA8
lbl_80009B50:
/* 80009B50 00005990 88 83 00 04 */ lbz r4, 4(r3)
/* 80009B54 00005994 38 C3 00 05 */ addi r6, r3, 5
/* 80009B58 00005998 38 00 00 00 */ li r0, 0
/* 80009B5C 0000599C 7C A6 22 14 */ add r5, r6, r4
/* 80009B60 000059A0 38 A5 FF FF */ addi r5, r5, -1
lbl_80009B64:
/* 80009B64 000059A4 88 85 00 00 */ lbz r4, 0(r5)
/* 80009B68 000059A8 28 04 00 09 */ cmplwi r4, 9
/* 80009B6C 000059AC 40 80 00 10 */ bge lbl_80009B7C
/* 80009B70 000059B0 38 04 00 01 */ addi r0, r4, 1
/* 80009B74 000059B4 98 05 00 00 */ stb r0, 0(r5)
/* 80009B78 000059B8 48 00 00 30 */ b lbl_80009BA8
lbl_80009B7C:
/* 80009B7C 000059BC 7C 05 30 40 */ cmplw r5, r6
/* 80009B80 000059C0 40 82 00 1C */ bne lbl_80009B9C
/* 80009B84 000059C4 38 00 00 01 */ li r0, 1
/* 80009B88 000059C8 98 05 00 00 */ stb r0, 0(r5)
/* 80009B8C 000059CC A8 83 00 02 */ lha r4, 2(r3)
/* 80009B90 000059D0 38 04 00 01 */ addi r0, r4, 1
/* 80009B94 000059D4 B0 03 00 02 */ sth r0, 2(r3)
/* 80009B98 000059D8 48 00 00 10 */ b lbl_80009BA8
lbl_80009B9C:
/* 80009B9C 000059DC 98 05 00 00 */ stb r0, 0(r5)
/* 80009BA0 000059E0 38 A5 FF FF */ addi r5, r5, -1
/* 80009BA4 000059E4 4B FF FF C0 */ b lbl_80009B64
lbl_80009BA8:
/* 80009BA8 000059E8 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80009BAC 000059EC 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80009BB0 000059F0 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 80009BB4 000059F4 38 21 00 60 */ addi r1, r1, 0x60
/* 80009BB8 000059F8 4E 80 00 20 */ blr
.global __str2dec
__str2dec:
/* 80009BBC 000059FC 38 00 00 00 */ li r0, 0
/* 80009BC0 00005A00 B0 A3 00 02 */ sth r5, 2(r3)
/* 80009BC4 00005A04 38 E0 00 00 */ li r7, 0
/* 80009BC8 00005A08 98 03 00 00 */ stb r0, 0(r3)
/* 80009BCC 00005A0C 48 00 00 1C */ b lbl_80009BE8
lbl_80009BD0:
/* 80009BD0 00005A10 88 C4 00 00 */ lbz r6, 0(r4)
/* 80009BD4 00005A14 7C A3 3A 14 */ add r5, r3, r7
/* 80009BD8 00005A18 38 84 00 01 */ addi r4, r4, 1
/* 80009BDC 00005A1C 38 E7 00 01 */ addi r7, r7, 1
/* 80009BE0 00005A20 38 06 FF D0 */ addi r0, r6, -48
/* 80009BE4 00005A24 98 05 00 05 */ stb r0, 5(r5)
lbl_80009BE8:
/* 80009BE8 00005A28 2C 07 00 24 */ cmpwi r7, 0x24
/* 80009BEC 00005A2C 40 80 00 10 */ bge lbl_80009BFC
/* 80009BF0 00005A30 88 04 00 00 */ lbz r0, 0(r4)
/* 80009BF4 00005A34 7C 00 07 75 */ extsb. r0, r0
/* 80009BF8 00005A38 40 82 FF D8 */ bne lbl_80009BD0
lbl_80009BFC:
/* 80009BFC 00005A3C 88 04 00 00 */ lbz r0, 0(r4)
/* 80009C00 00005A40 98 E3 00 04 */ stb r7, 4(r3)
/* 80009C04 00005A44 7C 00 07 75 */ extsb. r0, r0
/* 80009C08 00005A48 4D 82 00 20 */ beqlr
/* 80009C0C 00005A4C 2C 00 00 05 */ cmpwi r0, 5
/* 80009C10 00005A50 4D 80 00 20 */ bltlr
/* 80009C14 00005A54 41 81 00 38 */ bgt lbl_80009C4C
/* 80009C18 00005A58 38 A4 00 01 */ addi r5, r4, 1
/* 80009C1C 00005A5C 48 00 00 14 */ b lbl_80009C30
lbl_80009C20:
/* 80009C20 00005A60 7C 80 07 74 */ extsb r0, r4
/* 80009C24 00005A64 2C 00 00 30 */ cmpwi r0, 0x30
/* 80009C28 00005A68 40 82 00 24 */ bne lbl_80009C4C
/* 80009C2C 00005A6C 38 A5 00 01 */ addi r5, r5, 1
lbl_80009C30:
/* 80009C30 00005A70 88 85 00 00 */ lbz r4, 0(r5)
/* 80009C34 00005A74 7C 80 07 75 */ extsb. r0, r4
/* 80009C38 00005A78 40 82 FF E8 */ bne lbl_80009C20
/* 80009C3C 00005A7C 7C 87 1A 14 */ add r4, r7, r3
/* 80009C40 00005A80 88 04 00 04 */ lbz r0, 4(r4)
/* 80009C44 00005A84 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80009C48 00005A88 4D 82 00 20 */ beqlr
lbl_80009C4C:
/* 80009C4C 00005A8C 88 83 00 04 */ lbz r4, 4(r3)
/* 80009C50 00005A90 38 C3 00 05 */ addi r6, r3, 5
/* 80009C54 00005A94 38 00 00 00 */ li r0, 0
/* 80009C58 00005A98 7C A6 22 14 */ add r5, r6, r4
/* 80009C5C 00005A9C 38 A5 FF FF */ addi r5, r5, -1
lbl_80009C60:
/* 80009C60 00005AA0 88 85 00 00 */ lbz r4, 0(r5)
/* 80009C64 00005AA4 28 04 00 09 */ cmplwi r4, 9
/* 80009C68 00005AA8 40 80 00 10 */ bge lbl_80009C78
/* 80009C6C 00005AAC 38 04 00 01 */ addi r0, r4, 1
/* 80009C70 00005AB0 98 05 00 00 */ stb r0, 0(r5)
/* 80009C74 00005AB4 4E 80 00 20 */ blr
lbl_80009C78:
/* 80009C78 00005AB8 7C 05 30 40 */ cmplw r5, r6
/* 80009C7C 00005ABC 40 82 00 1C */ bne lbl_80009C98
/* 80009C80 00005AC0 38 00 00 01 */ li r0, 1
/* 80009C84 00005AC4 98 05 00 00 */ stb r0, 0(r5)
/* 80009C88 00005AC8 A8 83 00 02 */ lha r4, 2(r3)
/* 80009C8C 00005ACC 38 04 00 01 */ addi r0, r4, 1
/* 80009C90 00005AD0 B0 03 00 02 */ sth r0, 2(r3)
/* 80009C94 00005AD4 4E 80 00 20 */ blr
lbl_80009C98:
/* 80009C98 00005AD8 98 05 00 00 */ stb r0, 0(r5)
/* 80009C9C 00005ADC 38 A5 FF FF */ addi r5, r5, -1
/* 80009CA0 00005AE0 4B FF FF C0 */ b lbl_80009C60
/* 80009CA4 00005AE4 4E 80 00 20 */ blr
.global __two_exp
__two_exp:
/* 80009CA8 00005AE8 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80009CAC 00005AEC 7C 08 02 A6 */ mflr r0
/* 80009CB0 00005AF0 90 01 00 74 */ stw r0, 0x74(r1)
/* 80009CB4 00005AF4 38 04 00 40 */ addi r0, r4, 0x40
/* 80009CB8 00005AF8 28 00 00 48 */ cmplwi r0, 0x48
/* 80009CBC 00005AFC 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 80009CC0 00005B00 7C 7F 1B 78 */ mr r31, r3
/* 80009CC4 00005B04 93 C1 00 68 */ stw r30, 0x68(r1)
/* 80009CC8 00005B08 7C 9E 23 78 */ mr r30, r4
/* 80009CCC 00005B0C 41 81 02 10 */ bgt lbl_80009EDC
/* 80009CD0 00005B10 3C A0 80 42 */ lis r5, $$21232@ha
/* 80009CD4 00005B14 54 00 10 3A */ slwi r0, r0, 2
/* 80009CD8 00005B18 38 A5 12 38 */ addi r5, r5, $$21232@l
/* 80009CDC 00005B1C 7C A5 00 2E */ lwzx r5, r5, r0
/* 80009CE0 00005B20 7C A9 03 A6 */ mtctr r5
/* 80009CE4 00005B24 4E 80 04 20 */ bctr
/* 80009CE8 00005B28 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009CEC 00005B2C 38 A0 FF EC */ li r5, -20
/* 80009CF0 00005B30 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009CF4 00005B34 4B FF FE C9 */ bl __str2dec
/* 80009CF8 00005B38 48 00 02 B4 */ b lbl_80009FAC
/* 80009CFC 00005B3C 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009D00 00005B40 38 A0 FF F0 */ li r5, -16
/* 80009D04 00005B44 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009D08 00005B48 38 84 00 2E */ addi r4, r4, 0x2e
/* 80009D0C 00005B4C 4B FF FE B1 */ bl __str2dec
/* 80009D10 00005B50 48 00 02 9C */ b lbl_80009FAC
/* 80009D14 00005B54 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009D18 00005B58 38 A0 FF F6 */ li r5, -10
/* 80009D1C 00005B5C 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009D20 00005B60 38 84 00 55 */ addi r4, r4, 0x55
/* 80009D24 00005B64 4B FF FE 99 */ bl __str2dec
/* 80009D28 00005B68 48 00 02 84 */ b lbl_80009FAC
/* 80009D2C 00005B6C 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009D30 00005B70 38 A0 FF FB */ li r5, -5
/* 80009D34 00005B74 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009D38 00005B78 38 84 00 6D */ addi r4, r4, 0x6d
/* 80009D3C 00005B7C 4B FF FE 81 */ bl __str2dec
/* 80009D40 00005B80 48 00 02 6C */ b lbl_80009FAC
/* 80009D44 00005B84 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009D48 00005B88 38 A0 FF FD */ li r5, -3
/* 80009D4C 00005B8C 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009D50 00005B90 38 84 00 7A */ addi r4, r4, 0x7a
/* 80009D54 00005B94 4B FF FE 69 */ bl __str2dec
/* 80009D58 00005B98 48 00 02 54 */ b lbl_80009FAC
/* 80009D5C 00005B9C 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009D60 00005BA0 38 A0 FF FD */ li r5, -3
/* 80009D64 00005BA4 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009D68 00005BA8 38 84 00 81 */ addi r4, r4, 0x81
/* 80009D6C 00005BAC 4B FF FE 51 */ bl __str2dec
/* 80009D70 00005BB0 48 00 02 3C */ b lbl_80009FAC
/* 80009D74 00005BB4 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009D78 00005BB8 38 A0 FF FE */ li r5, -2
/* 80009D7C 00005BBC 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009D80 00005BC0 38 84 00 87 */ addi r4, r4, 0x87
/* 80009D84 00005BC4 4B FF FE 39 */ bl __str2dec
/* 80009D88 00005BC8 48 00 02 24 */ b lbl_80009FAC
/* 80009D8C 00005BCC 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009D90 00005BD0 38 A0 FF FE */ li r5, -2
/* 80009D94 00005BD4 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009D98 00005BD8 38 84 00 8D */ addi r4, r4, 0x8d
/* 80009D9C 00005BDC 4B FF FE 21 */ bl __str2dec
/* 80009DA0 00005BE0 48 00 02 0C */ b lbl_80009FAC
/* 80009DA4 00005BE4 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009DA8 00005BE8 38 A0 FF FE */ li r5, -2
/* 80009DAC 00005BEC 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009DB0 00005BF0 38 84 00 92 */ addi r4, r4, 0x92
/* 80009DB4 00005BF4 4B FF FE 09 */ bl __str2dec
/* 80009DB8 00005BF8 48 00 01 F4 */ b lbl_80009FAC
/* 80009DBC 00005BFC 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009DC0 00005C00 38 A0 FF FF */ li r5, -1
/* 80009DC4 00005C04 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009DC8 00005C08 38 84 00 96 */ addi r4, r4, 0x96
/* 80009DCC 00005C0C 4B FF FD F1 */ bl __str2dec
/* 80009DD0 00005C10 48 00 01 DC */ b lbl_80009FAC
/* 80009DD4 00005C14 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009DD8 00005C18 38 A0 FF FF */ li r5, -1
/* 80009DDC 00005C1C 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009DE0 00005C20 38 84 00 9A */ addi r4, r4, 0x9a
/* 80009DE4 00005C24 4B FF FD D9 */ bl __str2dec
/* 80009DE8 00005C28 48 00 01 C4 */ b lbl_80009FAC
/* 80009DEC 00005C2C 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009DF0 00005C30 38 A0 FF FF */ li r5, -1
/* 80009DF4 00005C34 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009DF8 00005C38 38 84 00 9D */ addi r4, r4, 0x9d
/* 80009DFC 00005C3C 4B FF FD C1 */ bl __str2dec
/* 80009E00 00005C40 48 00 01 AC */ b lbl_80009FAC
/* 80009E04 00005C44 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009E08 00005C48 38 A0 00 00 */ li r5, 0
/* 80009E0C 00005C4C 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009E10 00005C50 38 84 00 9F */ addi r4, r4, 0x9f
/* 80009E14 00005C54 4B FF FD A9 */ bl __str2dec
/* 80009E18 00005C58 48 00 01 94 */ b lbl_80009FAC
/* 80009E1C 00005C5C 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009E20 00005C60 38 A0 00 00 */ li r5, 0
/* 80009E24 00005C64 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009E28 00005C68 38 84 00 A1 */ addi r4, r4, 0xa1
/* 80009E2C 00005C6C 4B FF FD 91 */ bl __str2dec
/* 80009E30 00005C70 48 00 01 7C */ b lbl_80009FAC
/* 80009E34 00005C74 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009E38 00005C78 38 A0 00 00 */ li r5, 0
/* 80009E3C 00005C7C 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009E40 00005C80 38 84 00 A3 */ addi r4, r4, 0xa3
/* 80009E44 00005C84 4B FF FD 79 */ bl __str2dec
/* 80009E48 00005C88 48 00 01 64 */ b lbl_80009FAC
/* 80009E4C 00005C8C 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009E50 00005C90 38 A0 00 00 */ li r5, 0
/* 80009E54 00005C94 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009E58 00005C98 38 84 00 A5 */ addi r4, r4, 0xa5
/* 80009E5C 00005C9C 4B FF FD 61 */ bl __str2dec
/* 80009E60 00005CA0 48 00 01 4C */ b lbl_80009FAC
/* 80009E64 00005CA4 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009E68 00005CA8 38 A0 00 01 */ li r5, 1
/* 80009E6C 00005CAC 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009E70 00005CB0 38 84 00 A7 */ addi r4, r4, 0xa7
/* 80009E74 00005CB4 4B FF FD 49 */ bl __str2dec
/* 80009E78 00005CB8 48 00 01 34 */ b lbl_80009FAC
/* 80009E7C 00005CBC 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009E80 00005CC0 38 A0 00 01 */ li r5, 1
/* 80009E84 00005CC4 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009E88 00005CC8 38 84 00 AA */ addi r4, r4, 0xaa
/* 80009E8C 00005CCC 4B FF FD 31 */ bl __str2dec
/* 80009E90 00005CD0 48 00 01 1C */ b lbl_80009FAC
/* 80009E94 00005CD4 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009E98 00005CD8 38 A0 00 01 */ li r5, 1
/* 80009E9C 00005CDC 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009EA0 00005CE0 38 84 00 AD */ addi r4, r4, 0xad
/* 80009EA4 00005CE4 4B FF FD 19 */ bl __str2dec
/* 80009EA8 00005CE8 48 00 01 04 */ b lbl_80009FAC
/* 80009EAC 00005CEC 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009EB0 00005CF0 38 A0 00 02 */ li r5, 2
/* 80009EB4 00005CF4 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009EB8 00005CF8 38 84 00 B0 */ addi r4, r4, 0xb0
/* 80009EBC 00005CFC 4B FF FD 01 */ bl __str2dec
/* 80009EC0 00005D00 48 00 00 EC */ b lbl_80009FAC
/* 80009EC4 00005D04 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009EC8 00005D08 38 A0 00 02 */ li r5, 2
/* 80009ECC 00005D0C 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009ED0 00005D10 38 84 00 B4 */ addi r4, r4, 0xb4
/* 80009ED4 00005D14 4B FF FC E9 */ bl __str2dec
/* 80009ED8 00005D18 48 00 00 D4 */ b lbl_80009FAC
lbl_80009EDC:
/* 80009EDC 00005D1C 54 80 0F FE */ srwi r0, r4, 0x1f
/* 80009EE0 00005D20 38 61 00 34 */ addi r3, r1, 0x34
/* 80009EE4 00005D24 7C 00 22 14 */ add r0, r0, r4
/* 80009EE8 00005D28 7C 04 0E 70 */ srawi r4, r0, 1
/* 80009EEC 00005D2C 4B FF FD BD */ bl __two_exp
/* 80009EF0 00005D30 38 81 00 34 */ addi r4, r1, 0x34
/* 80009EF4 00005D34 7F E3 FB 78 */ mr r3, r31
/* 80009EF8 00005D38 7C 85 23 78 */ mr r5, r4
/* 80009EFC 00005D3C 4B FF FA 39 */ bl __timesdec
/* 80009F00 00005D40 57 C0 07 FF */ clrlwi. r0, r30, 0x1f
/* 80009F04 00005D44 41 82 00 A8 */ beq lbl_80009FAC
/* 80009F08 00005D48 80 7F 00 00 */ lwz r3, 0(r31)
/* 80009F0C 00005D4C 2C 1E 00 00 */ cmpwi r30, 0
/* 80009F10 00005D50 80 1F 00 04 */ lwz r0, 4(r31)
/* 80009F14 00005D54 90 01 00 0C */ stw r0, 0xc(r1)
/* 80009F18 00005D58 90 61 00 08 */ stw r3, 8(r1)
/* 80009F1C 00005D5C 80 7F 00 08 */ lwz r3, 8(r31)
/* 80009F20 00005D60 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 80009F24 00005D64 90 01 00 14 */ stw r0, 0x14(r1)
/* 80009F28 00005D68 90 61 00 10 */ stw r3, 0x10(r1)
/* 80009F2C 00005D6C 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80009F30 00005D70 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 80009F34 00005D74 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80009F38 00005D78 90 61 00 18 */ stw r3, 0x18(r1)
/* 80009F3C 00005D7C 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 80009F40 00005D80 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 80009F44 00005D84 90 01 00 24 */ stw r0, 0x24(r1)
/* 80009F48 00005D88 90 61 00 20 */ stw r3, 0x20(r1)
/* 80009F4C 00005D8C 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 80009F50 00005D90 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80009F54 00005D94 90 01 00 2C */ stw r0, 0x2c(r1)
/* 80009F58 00005D98 90 61 00 28 */ stw r3, 0x28(r1)
/* 80009F5C 00005D9C A0 1F 00 28 */ lhz r0, 0x28(r31)
/* 80009F60 00005DA0 B0 01 00 30 */ sth r0, 0x30(r1)
/* 80009F64 00005DA4 40 81 00 20 */ ble lbl_80009F84
/* 80009F68 00005DA8 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009F6C 00005DAC 38 61 00 34 */ addi r3, r1, 0x34
/* 80009F70 00005DB0 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009F74 00005DB4 38 A0 00 00 */ li r5, 0
/* 80009F78 00005DB8 38 84 00 A1 */ addi r4, r4, 0xa1
/* 80009F7C 00005DBC 4B FF FC 41 */ bl __str2dec
/* 80009F80 00005DC0 48 00 00 1C */ b lbl_80009F9C
lbl_80009F84:
/* 80009F84 00005DC4 3C 80 80 40 */ lis r4, $$2stringBase0@ha
/* 80009F88 00005DC8 38 61 00 34 */ addi r3, r1, 0x34
/* 80009F8C 00005DCC 38 84 66 88 */ addi r4, r4, $$2stringBase0@l
/* 80009F90 00005DD0 38 A0 FF FF */ li r5, -1
/* 80009F94 00005DD4 38 84 00 9D */ addi r4, r4, 0x9d
/* 80009F98 00005DD8 4B FF FC 25 */ bl __str2dec
lbl_80009F9C:
/* 80009F9C 00005DDC 7F E3 FB 78 */ mr r3, r31
/* 80009FA0 00005DE0 38 81 00 08 */ addi r4, r1, 8
/* 80009FA4 00005DE4 38 A1 00 34 */ addi r5, r1, 0x34
/* 80009FA8 00005DE8 4B FF F9 8D */ bl __timesdec
lbl_80009FAC:
/* 80009FAC 00005DEC 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80009FB0 00005DF0 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 80009FB4 00005DF4 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 80009FB8 00005DF8 7C 08 03 A6 */ mtlr r0
/* 80009FBC 00005DFC 38 21 00 70 */ addi r1, r1, 0x70
/* 80009FC0 00005E00 4E 80 00 20 */ blr
.global __num2dec_internal
__num2dec_internal:
/* 80009FC4 00005E04 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 80009FC8 00005E08 7C 08 02 A6 */ mflr r0
/* 80009FCC 00005E0C 90 01 00 94 */ stw r0, 0x94(r1)
/* 80009FD0 00005E10 DB E1 00 88 */ stfd f31, 0x88(r1)
/* 80009FD4 00005E14 FF E0 08 90 */ fmr f31, f1
/* 80009FD8 00005E18 93 E1 00 84 */ stw r31, 0x84(r1)
/* 80009FDC 00005E1C 93 C1 00 80 */ stw r30, 0x80(r1)
/* 80009FE0 00005E20 7C 7E 1B 78 */ mr r30, r3
/* 80009FE4 00005E24 93 A1 00 7C */ stw r29, 0x7c(r1)
/* 80009FE8 00005E28 48 00 12 05 */ bl __signbitd
/* 80009FEC 00005E2C C8 02 80 00 */ lfd f0, $$21377-_SDA2_BASE_(r2)
/* 80009FF0 00005E30 7C 03 00 D0 */ neg r0, r3
/* 80009FF4 00005E34 7C 00 1B 78 */ or r0, r0, r3
/* 80009FF8 00005E38 FC 00 F8 00 */ fcmpu cr0, f0, f31
/* 80009FFC 00005E3C 54 00 0F FE */ srwi r0, r0, 0x1f
/* 8000A000 00005E40 7C 1F 07 74 */ extsb r31, r0
/* 8000A004 00005E44 40 82 00 20 */ bne lbl_8000A024
/* 8000A008 00005E48 38 60 00 00 */ li r3, 0
/* 8000A00C 00005E4C 38 00 00 01 */ li r0, 1
/* 8000A010 00005E50 9B FE 00 00 */ stb r31, 0(r30)
/* 8000A014 00005E54 B0 7E 00 02 */ sth r3, 2(r30)
/* 8000A018 00005E58 98 1E 00 04 */ stb r0, 4(r30)
/* 8000A01C 00005E5C 98 7E 00 05 */ stb r3, 5(r30)
/* 8000A020 00005E60 48 00 00 E8 */ b lbl_8000A108
lbl_8000A024:
/* 8000A024 00005E64 FC 20 F8 90 */ fmr f1, f31
/* 8000A028 00005E68 48 00 11 DD */ bl __fpclassifyd
/* 8000A02C 00005E6C 2C 03 00 02 */ cmpwi r3, 2
/* 8000A030 00005E70 41 81 00 38 */ bgt lbl_8000A068
/* 8000A034 00005E74 FC 20 F8 90 */ fmr f1, f31
/* 8000A038 00005E78 38 60 00 00 */ li r3, 0
/* 8000A03C 00005E7C 38 00 00 01 */ li r0, 1
/* 8000A040 00005E80 9B FE 00 00 */ stb r31, 0(r30)
/* 8000A044 00005E84 B0 7E 00 02 */ sth r3, 2(r30)
/* 8000A048 00005E88 98 1E 00 04 */ stb r0, 4(r30)
/* 8000A04C 00005E8C 48 00 11 B9 */ bl __fpclassifyd
/* 8000A050 00005E90 2C 03 00 01 */ cmpwi r3, 1
/* 8000A054 00005E94 38 00 00 49 */ li r0, 0x49
/* 8000A058 00005E98 40 82 00 08 */ bne lbl_8000A060
/* 8000A05C 00005E9C 38 00 00 4E */ li r0, 0x4e
lbl_8000A060:
/* 8000A060 00005EA0 98 1E 00 05 */ stb r0, 5(r30)
/* 8000A064 00005EA4 48 00 00 A4 */ b lbl_8000A108
lbl_8000A068:
/* 8000A068 00005EA8 2C 1F 00 00 */ cmpwi r31, 0
/* 8000A06C 00005EAC 41 82 00 08 */ beq lbl_8000A074
/* 8000A070 00005EB0 FF E0 F8 50 */ fneg f31, f31
lbl_8000A074:
/* 8000A074 00005EB4 FC 20 F8 90 */ fmr f1, f31
/* 8000A078 00005EB8 38 61 00 08 */ addi r3, r1, 8
/* 8000A07C 00005EBC 48 00 A0 D9 */ bl frexp
/* 8000A080 00005EC0 D8 21 00 10 */ stfd f1, 0x10(r1)
/* 8000A084 00005EC4 FF E0 08 90 */ fmr f31, f1
/* 8000A088 00005EC8 80 81 00 14 */ lwz r4, 0x14(r1)
/* 8000A08C 00005ECC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 8000A090 00005ED0 38 04 FF FF */ addi r0, r4, -1
/* 8000A094 00005ED4 2C 04 00 00 */ cmpwi r4, 0
/* 8000A098 00005ED8 7C 00 20 78 */ andc r0, r0, r4
/* 8000A09C 00005EDC 64 63 00 10 */ oris r3, r3, 0x10
/* 8000A0A0 00005EE0 7C 00 00 34 */ cntlzw r0, r0
/* 8000A0A4 00005EE4 20 80 00 20 */ subfic r4, r0, 0x20
/* 8000A0A8 00005EE8 40 82 00 18 */ bne lbl_8000A0C0
/* 8000A0AC 00005EEC 38 03 FF FF */ addi r0, r3, -1
/* 8000A0B0 00005EF0 7C 00 18 78 */ andc r0, r0, r3
/* 8000A0B4 00005EF4 7C 00 00 34 */ cntlzw r0, r0
/* 8000A0B8 00005EF8 20 60 00 20 */ subfic r3, r0, 0x20
/* 8000A0BC 00005EFC 38 83 00 20 */ addi r4, r3, 0x20
lbl_8000A0C0:
/* 8000A0C0 00005F00 80 01 00 08 */ lwz r0, 8(r1)
/* 8000A0C4 00005F04 23 A4 00 35 */ subfic r29, r4, 0x35
/* 8000A0C8 00005F08 38 61 00 18 */ addi r3, r1, 0x18
/* 8000A0CC 00005F0C 7C 9D 00 50 */ subf r4, r29, r0
/* 8000A0D0 00005F10 4B FF FB D9 */ bl __two_exp
/* 8000A0D4 00005F14 FC 20 F8 90 */ fmr f1, f31
/* 8000A0D8 00005F18 7F A3 EB 78 */ mr r3, r29
/* 8000A0DC 00005F1C 48 00 A1 01 */ bl ldexp
/* 8000A0E0 00005F20 4B FF D8 75 */ bl __cvt_dbl_ull
/* 8000A0E4 00005F24 7C 65 1B 78 */ mr r5, r3
/* 8000A0E8 00005F28 7C 86 23 78 */ mr r6, r4
/* 8000A0EC 00005F2C 38 61 00 44 */ addi r3, r1, 0x44
/* 8000A0F0 00005F30 4B FF F7 69 */ bl __ull2dec
/* 8000A0F4 00005F34 7F C3 F3 78 */ mr r3, r30
/* 8000A0F8 00005F38 38 81 00 44 */ addi r4, r1, 0x44
/* 8000A0FC 00005F3C 38 A1 00 18 */ addi r5, r1, 0x18
/* 8000A100 00005F40 4B FF F8 35 */ bl __timesdec
/* 8000A104 00005F44 9B FE 00 00 */ stb r31, 0(r30)
lbl_8000A108:
/* 8000A108 00005F48 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8000A10C 00005F4C CB E1 00 88 */ lfd f31, 0x88(r1)
/* 8000A110 00005F50 83 E1 00 84 */ lwz r31, 0x84(r1)
/* 8000A114 00005F54 83 C1 00 80 */ lwz r30, 0x80(r1)
/* 8000A118 00005F58 83 A1 00 7C */ lwz r29, 0x7c(r1)
/* 8000A11C 00005F5C 7C 08 03 A6 */ mtlr r0
/* 8000A120 00005F60 38 21 00 90 */ addi r1, r1, 0x90
/* 8000A124 00005F64 4E 80 00 20 */ blr
.global __num2dec
__num2dec:
/* 8000A128 00005F68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000A12C 00005F6C 7C 08 02 A6 */ mflr r0
/* 8000A130 00005F70 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000A134 00005F74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000A138 00005F78 AB E3 00 02 */ lha r31, 2(r3)
/* 8000A13C 00005F7C 93 C1 00 08 */ stw r30, 8(r1)
/* 8000A140 00005F80 7C 9E 23 78 */ mr r30, r4
/* 8000A144 00005F84 7F C3 F3 78 */ mr r3, r30
/* 8000A148 00005F88 4B FF FE 7D */ bl __num2dec_internal
/* 8000A14C 00005F8C 88 1E 00 05 */ lbz r0, 5(r30)
/* 8000A150 00005F90 28 00 00 09 */ cmplwi r0, 9
/* 8000A154 00005F94 41 81 01 60 */ bgt lbl_8000A2B4
/* 8000A158 00005F98 2C 1F 00 24 */ cmpwi r31, 0x24
/* 8000A15C 00005F9C 40 81 00 08 */ ble lbl_8000A164
/* 8000A160 00005FA0 3B E0 00 24 */ li r31, 0x24
lbl_8000A164:
/* 8000A164 00005FA4 2C 1F 00 00 */ cmpwi r31, 0
/* 8000A168 00005FA8 40 81 00 E8 */ ble lbl_8000A250
/* 8000A16C 00005FAC 88 1E 00 04 */ lbz r0, 4(r30)
/* 8000A170 00005FB0 7C 1F 00 00 */ cmpw r31, r0
/* 8000A174 00005FB4 40 80 00 DC */ bge lbl_8000A250
/* 8000A178 00005FB8 38 9E 00 05 */ addi r4, r30, 5
/* 8000A17C 00005FBC 7C 04 F8 AE */ lbzx r0, r4, r31
/* 8000A180 00005FC0 7C 64 FA 14 */ add r3, r4, r31
/* 8000A184 00005FC4 28 00 00 05 */ cmplwi r0, 5
/* 8000A188 00005FC8 40 81 00 0C */ ble lbl_8000A194
/* 8000A18C 00005FCC 38 80 00 01 */ li r4, 1
/* 8000A190 00005FD0 48 00 00 60 */ b lbl_8000A1F0
lbl_8000A194:
/* 8000A194 00005FD4 40 80 00 0C */ bge lbl_8000A1A0
/* 8000A198 00005FD8 38 80 FF FF */ li r4, -1
/* 8000A19C 00005FDC 48 00 00 54 */ b lbl_8000A1F0
lbl_8000A1A0:
/* 8000A1A0 00005FE0 88 1E 00 04 */ lbz r0, 4(r30)
/* 8000A1A4 00005FE4 38 63 00 01 */ addi r3, r3, 1
/* 8000A1A8 00005FE8 7C 84 02 14 */ add r4, r4, r0
/* 8000A1AC 00005FEC 7C 03 20 50 */ subf r0, r3, r4
/* 8000A1B0 00005FF0 7C 09 03 A6 */ mtctr r0
/* 8000A1B4 00005FF4 7C 03 20 40 */ cmplw r3, r4
/* 8000A1B8 00005FF8 40 80 00 20 */ bge lbl_8000A1D8
lbl_8000A1BC:
/* 8000A1BC 00005FFC 88 03 00 00 */ lbz r0, 0(r3)
/* 8000A1C0 00006000 2C 00 00 00 */ cmpwi r0, 0
/* 8000A1C4 00006004 41 82 00 0C */ beq lbl_8000A1D0
/* 8000A1C8 00006008 38 80 00 01 */ li r4, 1
/* 8000A1CC 0000600C 48 00 00 24 */ b lbl_8000A1F0
lbl_8000A1D0:
/* 8000A1D0 00006010 38 63 00 01 */ addi r3, r3, 1
/* 8000A1D4 00006014 42 00 FF E8 */ bdnz lbl_8000A1BC
lbl_8000A1D8:
/* 8000A1D8 00006018 7C 7F F2 14 */ add r3, r31, r30
/* 8000A1DC 0000601C 38 80 FF FF */ li r4, -1
/* 8000A1E0 00006020 88 03 00 04 */ lbz r0, 4(r3)
/* 8000A1E4 00006024 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8000A1E8 00006028 41 82 00 08 */ beq lbl_8000A1F0
/* 8000A1EC 0000602C 38 80 00 01 */ li r4, 1
lbl_8000A1F0:
/* 8000A1F0 00006030 2C 04 00 00 */ cmpwi r4, 0
/* 8000A1F4 00006034 9B FE 00 04 */ stb r31, 4(r30)
/* 8000A1F8 00006038 41 80 00 58 */ blt lbl_8000A250
/* 8000A1FC 0000603C 38 9E 00 05 */ addi r4, r30, 5
/* 8000A200 00006040 38 00 00 00 */ li r0, 0
/* 8000A204 00006044 7C A4 FA 14 */ add r5, r4, r31
/* 8000A208 00006048 38 A5 FF FF */ addi r5, r5, -1
lbl_8000A20C:
/* 8000A20C 0000604C 88 65 00 00 */ lbz r3, 0(r5)
/* 8000A210 00006050 28 03 00 09 */ cmplwi r3, 9
/* 8000A214 00006054 40 80 00 10 */ bge lbl_8000A224
/* 8000A218 00006058 38 03 00 01 */ addi r0, r3, 1
/* 8000A21C 0000605C 98 05 00 00 */ stb r0, 0(r5)
/* 8000A220 00006060 48 00 00 30 */ b lbl_8000A250
lbl_8000A224:
/* 8000A224 00006064 7C 05 20 40 */ cmplw r5, r4
/* 8000A228 00006068 40 82 00 1C */ bne lbl_8000A244
/* 8000A22C 0000606C 38 00 00 01 */ li r0, 1
/* 8000A230 00006070 98 05 00 00 */ stb r0, 0(r5)
/* 8000A234 00006074 A8 7E 00 02 */ lha r3, 2(r30)
/* 8000A238 00006078 38 03 00 01 */ addi r0, r3, 1
/* 8000A23C 0000607C B0 1E 00 02 */ sth r0, 2(r30)
/* 8000A240 00006080 48 00 00 10 */ b lbl_8000A250
lbl_8000A244:
/* 8000A244 00006084 98 05 00 00 */ stb r0, 0(r5)
/* 8000A248 00006088 38 A5 FF FF */ addi r5, r5, -1
/* 8000A24C 0000608C 4B FF FF C0 */ b lbl_8000A20C
lbl_8000A250:
/* 8000A250 00006090 38 A0 00 00 */ li r5, 0
/* 8000A254 00006094 48 00 00 18 */ b lbl_8000A26C
lbl_8000A258:
/* 8000A258 00006098 88 9E 00 04 */ lbz r4, 4(r30)
/* 8000A25C 0000609C 7C 7E 22 14 */ add r3, r30, r4
/* 8000A260 000060A0 38 04 00 01 */ addi r0, r4, 1
/* 8000A264 000060A4 98 A3 00 05 */ stb r5, 5(r3)
/* 8000A268 000060A8 98 1E 00 04 */ stb r0, 4(r30)
lbl_8000A26C:
/* 8000A26C 000060AC 88 7E 00 04 */ lbz r3, 4(r30)
/* 8000A270 000060B0 7C 03 F8 00 */ cmpw r3, r31
/* 8000A274 000060B4 41 80 FF E4 */ blt lbl_8000A258
/* 8000A278 000060B8 38 63 FF FF */ addi r3, r3, -1
/* 8000A27C 000060BC A8 1E 00 02 */ lha r0, 2(r30)
/* 8000A280 000060C0 7C 63 07 34 */ extsh r3, r3
/* 8000A284 000060C4 38 A0 00 00 */ li r5, 0
/* 8000A288 000060C8 7C 03 00 50 */ subf r0, r3, r0
/* 8000A28C 000060CC B0 1E 00 02 */ sth r0, 2(r30)
/* 8000A290 000060D0 48 00 00 18 */ b lbl_8000A2A8
lbl_8000A294:
/* 8000A294 000060D4 7C 9E 2A 14 */ add r4, r30, r5
/* 8000A298 000060D8 38 A5 00 01 */ addi r5, r5, 1
/* 8000A29C 000060DC 88 64 00 05 */ lbz r3, 5(r4)
/* 8000A2A0 000060E0 38 03 00 30 */ addi r0, r3, 0x30
/* 8000A2A4 000060E4 98 04 00 05 */ stb r0, 5(r4)
lbl_8000A2A8:
/* 8000A2A8 000060E8 88 1E 00 04 */ lbz r0, 4(r30)
/* 8000A2AC 000060EC 7C 05 00 00 */ cmpw r5, r0
/* 8000A2B0 000060F0 41 80 FF E4 */ blt lbl_8000A294
lbl_8000A2B4:
/* 8000A2B4 000060F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000A2B8 000060F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000A2BC 000060FC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8000A2C0 00006100 7C 08 03 A6 */ mtlr r0
/* 8000A2C4 00006104 38 21 00 10 */ addi r1, r1, 0x10
/* 8000A2C8 00006108 4E 80 00 20 */ blr
.section .rodata, "wa" # 0x80406560 - 0x80421040
.global $$2stringBase0
$$2stringBase0:
.asciz "542101086242752217003726400434970855712890625"
.byte 0x31, 0x31
.asciz "102230246251565404236316680908203125"
.byte 0x32, 0x33, 0x32
.asciz "83064365386962890625"
.byte 0x31, 0x35, 0x32
.asciz "587890625"
.byte 0x33, 0x39
.asciz "0625"
.byte 0x37, 0x38, 0x31
.4byte 0x32350031
.asciz "5625"
.byte 0x33, 0x31, 0x32
.4byte 0x35003632
.4byte 0x35003132
.4byte 0x35003235
.4byte 0x00350031
.4byte 0x00320034
.4byte 0x00380031
.4byte 0x36003332
.4byte 0x00363400
.4byte 0x31323800
.4byte 0x32353600
.asciz "179769313486231580793728714053034151"
.balign 4
.section .data, "wa" # 0x80421040 - 0x80496700
.global $$21232
$$21232:
.4byte 0x80009CE8 ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009CFC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009D14 ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009D2C ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009EDC ;# ptr
.4byte 0x80009D44 ;# ptr
.4byte 0x80009D5C ;# ptr
.4byte 0x80009D74 ;# ptr
.4byte 0x80009D8C ;# ptr
.4byte 0x80009DA4 ;# ptr
.4byte 0x80009DBC ;# ptr
.4byte 0x80009DD4 ;# ptr
.4byte 0x80009DEC ;# ptr
.4byte 0x80009E04 ;# ptr
.4byte 0x80009E1C ;# ptr
.4byte 0x80009E34 ;# ptr
.4byte 0x80009E4C ;# ptr
.4byte 0x80009E64 ;# ptr
.4byte 0x80009E7C ;# ptr
.4byte 0x80009E94 ;# ptr
.4byte 0x80009EAC ;# ptr
.4byte 0x80009EC4 ;# ptr
.4byte 0
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0
.global $$21377
$$21377:
.4byte 0
.4byte 0

View file

@ -0,0 +1,21 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260
.global scalbn
scalbn:
/* 800105E0 0000C420 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800105E4 0000C424 7C 08 02 A6 */ mflr r0
/* 800105E8 0000C428 90 01 00 24 */ stw r0, 0x24(r1)
/* 800105EC 0000C42C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800105F0 0000C430 7C 7F 1B 78 */ mr r31, r3
/* 800105F4 0000C434 38 61 00 08 */ addi r3, r1, 8
/* 800105F8 0000C438 48 00 3B 5D */ bl frexp
/* 800105FC 0000C43C 80 01 00 08 */ lwz r0, 8(r1)
/* 80010600 0000C440 7C 60 FA 14 */ add r3, r0, r31
/* 80010604 0000C444 90 61 00 08 */ stw r3, 8(r1)
/* 80010608 0000C448 48 00 3B D5 */ bl ldexp
/* 8001060C 0000C44C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80010610 0000C450 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80010614 0000C454 7C 08 03 A6 */ mtlr r0
/* 80010618 0000C458 38 21 00 20 */ addi r1, r1, 0x20
/* 8001061C 0000C45C 4E 80 00 20 */ blr

View file

@ -1,28 +0,0 @@
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global abort
abort:
/* 80010528 0000C368 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001052C 0000C36C 7C 08 02 A6 */ mflr r0
/* 80010530 0000C370 38 60 00 01 */ li r3, 0x1
/* 80010534 0000C374 90 01 00 14 */ stw r0, 0x14(r1)
/* 80010538 0000C378 4B FF D3 E1 */ bl raise
/* 8001053C 0000C37C 38 00 00 01 */ li r0, 0x1
/* 80010540 0000C380 90 0D E2 E0 */ stw r0, __aborting@sda21(r13)
/* 80010544 0000C384 38 60 00 01 */ li r3, 0x1
/* 80010548 0000C388 48 01 80 59 */ bl exit
/* 8001054C 0000C38C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80010550 0000C390 7C 08 03 A6 */ mtlr r0
/* 80010554 0000C394 38 21 00 10 */ addi r1, r1, 0x10
/* 80010558 0000C398 4E 80 00 20 */ blr
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global __aborting
__aborting:
.skip 0x4
.global __stdio_exit
__stdio_exit:
.skip 0x4

Some files were not shown because too many files have changed in this diff Show more