mirror of
https://github.com/encounter/oot-gc.git
synced 2026-07-10 12:18:42 -07:00
Populate
This commit is contained in:
+6
-46
@@ -1,52 +1,12 @@
|
||||
# Prerequisites
|
||||
*.d
|
||||
# Compiler binaries
|
||||
mwcc_compiler/
|
||||
|
||||
# Object files
|
||||
# Build artifacts
|
||||
build/
|
||||
*.o
|
||||
*.ko
|
||||
*.obj
|
||||
*.elf
|
||||
|
||||
# Linker output
|
||||
*.ilk
|
||||
*.map
|
||||
*.exp
|
||||
|
||||
# Precompiled Headers
|
||||
*.gch
|
||||
*.pch
|
||||
|
||||
# Libraries
|
||||
*.lib
|
||||
*.a
|
||||
*.la
|
||||
*.lo
|
||||
|
||||
# Shared objects (inc. Windows DLLs)
|
||||
*.dll
|
||||
*.so
|
||||
*.so.*
|
||||
*.dylib
|
||||
|
||||
# Executables
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
*.i*86
|
||||
*.x86_64
|
||||
*.hex
|
||||
|
||||
# Debug files
|
||||
*.dSYM/
|
||||
*.su
|
||||
*.idb
|
||||
*.pdb
|
||||
|
||||
# Kernel Module Compile Results
|
||||
*.mod*
|
||||
*.cmd
|
||||
.tmp_versions/
|
||||
modules.order
|
||||
Module.symvers
|
||||
Mkfile.old
|
||||
dkms.conf
|
||||
# IDE artifacts
|
||||
.vscode/
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
WINDOWS := $(shell which wine ; echo $$?)
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Files
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
TARGET_COL := gamecube
|
||||
|
||||
TARGET := SIM
|
||||
|
||||
BUILD_DIR := build/$(TARGET)
|
||||
|
||||
SRC_DIRS := $(shell find src/ -type f -name '*.c')
|
||||
ASM_DIRS := $(shell find asm/ -type f -name '*.s')
|
||||
|
||||
# Inputs
|
||||
LDSCRIPT := $(BUILD_DIR)/ldscript.lcf
|
||||
|
||||
# Outputs
|
||||
ELF := $(BUILD_DIR)/$(TARGET).elf
|
||||
MAP := $(BUILD_DIR)/$(TARGET).map
|
||||
COMPARE_TO := $(BUILD_DIR)/$(TARGET)_S.elf
|
||||
|
||||
# Object files in link order
|
||||
include obj_files.mk
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Tools
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
MWCC_VERSION := 1.1
|
||||
|
||||
# Programs
|
||||
ifeq ($(WINDOWS),1)
|
||||
WINE :=
|
||||
else
|
||||
WINE := wine
|
||||
endif
|
||||
|
||||
AS := $(DEVKITPPC)/bin/powerpc-eabi-as
|
||||
OBJCOPY := $(DEVKITPPC)/bin/powerpc-eabi-objcopy
|
||||
OBJDUMP := $(DEVKITPPC)/bin/powerpc-eabi-objdump
|
||||
CPP := cpp -P
|
||||
CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc.exe
|
||||
LD := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwldeppc.exe
|
||||
SHA1SUM := sha1sum
|
||||
PYTHON := python3
|
||||
|
||||
POSTPROC := tools/postprocess.py
|
||||
|
||||
# Options
|
||||
INCLUDES := -i include -i include/dolphin/ -i src
|
||||
|
||||
# Assembler Flags
|
||||
ASFLAGS := -mgekko -I include
|
||||
|
||||
# Linker Flags
|
||||
LDFLAGS := -map $(MAP) -fp hard -nodefaults -w off
|
||||
|
||||
# Compiler Flags
|
||||
CFLAGS := -Cpp_exceptions off -proc gekko -fp hard -O4,p -nodefaults -msgstyle gcc $(INCLUDES)
|
||||
|
||||
# postprocess
|
||||
PROCFLAGS := -fprologue-fixup=old_stack
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Recipes
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
### Default target ###
|
||||
|
||||
default: all
|
||||
|
||||
# Compare to the checksum of a stripped original
|
||||
all: $(ELF)
|
||||
@md5sum $(COMPARE_TO)
|
||||
@md5sum -c checksum.md5
|
||||
|
||||
ALL_DIRS := build $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS))
|
||||
|
||||
# Make sure build directory exists before compiling anything
|
||||
DUMMY != mkdir -p $(ALL_DIRS)
|
||||
|
||||
.PHONY: tools
|
||||
|
||||
$(LDSCRIPT): ldscript.lcf
|
||||
$(CPP) -MMD -MP -MT $@ -MF $@.d -I include/ -I . -DBUILD_DIR=$(BUILD_DIR) -o $@ $<
|
||||
|
||||
$(ELF): $(O_FILES) $(LDSCRIPT)
|
||||
$(LD) $(LDFLAGS) -o $@ -lcf $(LDSCRIPT) $(O_FILES)
|
||||
$(OBJCOPY) $(ELF) $(COMPARE_TO) -S
|
||||
|
||||
# Strip debugging sections and .mwcats.text section so only the important sections remain
|
||||
# Tested to ensure it doesn't crash at least on Dolphin
|
||||
# Also copy again to strip symbols since we don't want to diff those
|
||||
setup:
|
||||
$(OBJCOPY) SIM_original.elf SIM.elf -R .mwcats.text -g
|
||||
$(OBJCOPY) SIM.elf SIM_S.elf -S
|
||||
|
||||
clean:
|
||||
rm -f -d -r build
|
||||
#$(MAKE) -C tools clean
|
||||
|
||||
#tools:
|
||||
# $(MAKE) -C tools
|
||||
|
||||
$(BUILD_DIR)/%.o: %.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
$(BUILD_DIR)/%.o: %.cpp
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
@@ -1,2 +1,26 @@
|
||||
# homeboy-emu
|
||||
The N64 emulator for Ocarina of Time found on the Japanese Zelda Collector's Edition disk
|
||||
|
||||
This repo contains a disassembly of the N64 Emulator ELF executable intended for use with the Gamecube releases of The Legend of Zelda Ocarina of Time, specifically the version shipped with the Japanese Zelda Collector's Edition disk as symbols and other debugging information was left unstripped.
|
||||
The repo's name derives from file paths found in the debugging symbols such as
|
||||
`C:\HOMEBOY\STEPHEN\Japanese Ocarina\Fire\simGCN.c:837`
|
||||
|
||||
It builds the following ELF executables:
|
||||
|
||||
SIM.elf : `md5: 64428C7350B31E0AAD3DDE221C5B18A5`
|
||||
SIM_S.elf : `md5: EDDD2DED9906AD2312F7EC585B3D72CE`
|
||||
|
||||
SIM_S is a version of the build with stripped symbols which when diffed against a similarly stripped original matches byte for byte if assembled and linked, which is the most realistic goal for verifying the accuracy of this disassembly.
|
||||
|
||||
## Building
|
||||
|
||||
### Required tools
|
||||
|
||||
* [devkitPro](https://devkitpro.org/wiki/Getting_Started)
|
||||
* python3
|
||||
|
||||
### Instructions
|
||||
|
||||
1. Obtain the original ELF executable found in the `120903_zelda.tgc` file on the Japanese Collector's Edition disk and place it in the base working directory and name it `SIM_original.elf`
|
||||
2. Obtain a copy of the MWCC for embedded PowerPC and place it in the `tools/mwcc_compiler/1.1/` folder.
|
||||
(NOTE: This compiler's executables [mwcceppc.exe mwasmeppc.exe and mwldeppc.exe] can be installed with Codewarrior 1.1 for Gamecube, but no license or crack is provided with this project. Please obtain access to the compiler on your own.)
|
||||
3. Run make setup and make
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# AmcExi2Stubs.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
glabel EXI2_Init
|
||||
/* 0CCF34 800D24D4 4E800020 */ blr
|
||||
|
||||
glabel EXI2_EnableInterrupts
|
||||
/* 0CCF38 800D24D8 4E800020 */ blr
|
||||
|
||||
glabel EXI2_Poll
|
||||
/* 0CCF3C 800D24DC 38600000 */ li r3, 0
|
||||
/* 0CCF40 800D24E0 4E800020 */ blr
|
||||
|
||||
glabel EXI2_ReadN
|
||||
/* 0CCF44 800D24E4 38600000 */ li r3, 0
|
||||
/* 0CCF48 800D24E8 4E800020 */ blr
|
||||
|
||||
glabel EXI2_WriteN
|
||||
/* 0CCF4C 800D24EC 38600000 */ li r3, 0
|
||||
/* 0CCF50 800D24F0 4E800020 */ blr
|
||||
|
||||
glabel EXI2_Reserve
|
||||
/* 0CCF54 800D24F4 4E800020 */ blr
|
||||
|
||||
glabel EXI2_Unreserve
|
||||
/* 0CCF58 800D24F8 4E800020 */ blr
|
||||
|
||||
glabel AMC_IsStub
|
||||
/* 0CCF5C 800D24FC 38600001 */ li r3, 1
|
||||
/* 0CCF60 800D2500 4E800020 */ blr
|
||||
|
||||
|
||||
+1422
File diff suppressed because it is too large
Load Diff
+300
@@ -0,0 +1,300 @@
|
||||
# CARDBlock.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
glabel __CARDGetFatBlock
|
||||
/* 0B7F98 800BD538 80630088 */ lwz r3, 0x88(r3)
|
||||
/* 0B7F9C 800BD53C 4E800020 */ blr
|
||||
|
||||
WriteCallback:
|
||||
/* 0B7FA0 800BD540 7C0802A6 */ mflr r0
|
||||
/* 0B7FA4 800BD544 90010004 */ stw r0, 4(r1)
|
||||
/* 0B7FA8 800BD548 9421FFE0 */ stwu r1, -0x20(r1)
|
||||
/* 0B7FAC 800BD54C 93E1001C */ stw r31, 0x1c(r1)
|
||||
/* 0B7FB0 800BD550 93C10018 */ stw r30, 0x18(r1)
|
||||
/* 0B7FB4 800BD554 7C9E2379 */ or. r30, r4, r4
|
||||
/* 0B7FB8 800BD558 93A10014 */ stw r29, 0x14(r1)
|
||||
/* 0B7FBC 800BD55C 3BA30000 */ addi r29, r3, 0
|
||||
/* 0B7FC0 800BD560 1CBD0110 */ mulli r5, r29, 0x110
|
||||
/* 0B7FC4 800BD564 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0B7FC8 800BD568 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0B7FCC 800BD56C 7FE02A14 */ add r31, r0, r5
|
||||
/* 0B7FD0 800BD570 41800048 */ blt lbl_800BD5B8
|
||||
/* 0B7FD4 800BD574 807F0080 */ lwz r3, 0x80(r31)
|
||||
/* 0B7FD8 800BD578 801F0088 */ lwz r0, 0x88(r31)
|
||||
/* 0B7FDC 800BD57C 38836000 */ addi r4, r3, 0x6000
|
||||
/* 0B7FE0 800BD580 7C002040 */ cmplw r0, r4
|
||||
/* 0B7FE4 800BD584 3CA30001 */ addis r5, r3, 1
|
||||
/* 0B7FE8 800BD588 38A58000 */ addi r5, r5, -32768
|
||||
/* 0B7FEC 800BD58C 40820018 */ bne lbl_800BD5A4
|
||||
/* 0B7FF0 800BD590 90BF0088 */ stw r5, 0x88(r31)
|
||||
/* 0B7FF4 800BD594 38650000 */ addi r3, r5, 0
|
||||
/* 0B7FF8 800BD598 38A02000 */ li r5, 0x2000
|
||||
/* 0B7FFC 800BD59C 4BF47F29 */ bl memcpy
|
||||
/* 0B8000 800BD5A0 48000018 */ b lbl_800BD5B8
|
||||
lbl_800BD5A4:
|
||||
/* 0B8004 800BD5A4 909F0088 */ stw r4, 0x88(r31)
|
||||
/* 0B8008 800BD5A8 38640000 */ addi r3, r4, 0
|
||||
/* 0B800C 800BD5AC 38850000 */ addi r4, r5, 0
|
||||
/* 0B8010 800BD5B0 38A02000 */ li r5, 0x2000
|
||||
/* 0B8014 800BD5B4 4BF47F11 */ bl memcpy
|
||||
lbl_800BD5B8:
|
||||
/* 0B8018 800BD5B8 801F00D0 */ lwz r0, 0xd0(r31)
|
||||
/* 0B801C 800BD5BC 28000000 */ cmplwi r0, 0
|
||||
/* 0B8020 800BD5C0 40820010 */ bne lbl_800BD5D0
|
||||
/* 0B8024 800BD5C4 387F0000 */ addi r3, r31, 0
|
||||
/* 0B8028 800BD5C8 389E0000 */ addi r4, r30, 0
|
||||
/* 0B802C 800BD5CC 4BFFE7A9 */ bl __CARDPutControlBlock
|
||||
lbl_800BD5D0:
|
||||
/* 0B8030 800BD5D0 801F00D8 */ lwz r0, 0xd8(r31)
|
||||
/* 0B8034 800BD5D4 28000000 */ cmplwi r0, 0
|
||||
/* 0B8038 800BD5D8 7C0C0378 */ mr r12, r0
|
||||
/* 0B803C 800BD5DC 4182001C */ beq lbl_800BD5F8
|
||||
/* 0B8040 800BD5E0 38000000 */ li r0, 0
|
||||
/* 0B8044 800BD5E4 7D8803A6 */ mtlr r12
|
||||
/* 0B8048 800BD5E8 901F00D8 */ stw r0, 0xd8(r31)
|
||||
/* 0B804C 800BD5EC 387D0000 */ addi r3, r29, 0
|
||||
/* 0B8050 800BD5F0 389E0000 */ addi r4, r30, 0
|
||||
/* 0B8054 800BD5F4 4E800021 */ blrl
|
||||
lbl_800BD5F8:
|
||||
/* 0B8058 800BD5F8 80010024 */ lwz r0, 0x24(r1)
|
||||
/* 0B805C 800BD5FC 83E1001C */ lwz r31, 0x1c(r1)
|
||||
/* 0B8060 800BD600 83C10018 */ lwz r30, 0x18(r1)
|
||||
/* 0B8064 800BD604 83A10014 */ lwz r29, 0x14(r1)
|
||||
/* 0B8068 800BD608 38210020 */ addi r1, r1, 0x20
|
||||
/* 0B806C 800BD60C 7C0803A6 */ mtlr r0
|
||||
/* 0B8070 800BD610 4E800020 */ blr
|
||||
|
||||
EraseCallback:
|
||||
/* 0B8074 800BD614 7C0802A6 */ mflr r0
|
||||
/* 0B8078 800BD618 90010004 */ stw r0, 4(r1)
|
||||
/* 0B807C 800BD61C 9421FFD8 */ stwu r1, -0x28(r1)
|
||||
/* 0B8080 800BD620 93E10024 */ stw r31, 0x24(r1)
|
||||
/* 0B8084 800BD624 3BE30000 */ addi r31, r3, 0
|
||||
/* 0B8088 800BD628 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0B808C 800BD62C 93C10020 */ stw r30, 0x20(r1)
|
||||
/* 0B8090 800BD630 1CBF0110 */ mulli r5, r31, 0x110
|
||||
/* 0B8094 800BD634 93A1001C */ stw r29, 0x1c(r1)
|
||||
/* 0B8098 800BD638 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0B809C 800BD63C 7C9D2379 */ or. r29, r4, r4
|
||||
/* 0B80A0 800BD640 7FC02A14 */ add r30, r0, r5
|
||||
/* 0B80A4 800BD644 4180003C */ blt lbl_800BD680
|
||||
/* 0B80A8 800BD648 80BE0088 */ lwz r5, 0x88(r30)
|
||||
/* 0B80AC 800BD64C 3C60800C */ lis r3, WriteCallback@ha
|
||||
/* 0B80B0 800BD650 801E0080 */ lwz r0, 0x80(r30)
|
||||
/* 0B80B4 800BD654 38E3D540 */ addi r7, r3, WriteCallback@l
|
||||
/* 0B80B8 800BD658 807E000C */ lwz r3, 0xc(r30)
|
||||
/* 0B80BC 800BD65C 7C002850 */ subf r0, r0, r5
|
||||
/* 0B80C0 800BD660 54009B7E */ srwi r0, r0, 0xd
|
||||
/* 0B80C4 800BD664 7C8301D6 */ mullw r4, r3, r0
|
||||
/* 0B80C8 800BD668 38C50000 */ addi r6, r5, 0
|
||||
/* 0B80CC 800BD66C 387F0000 */ addi r3, r31, 0
|
||||
/* 0B80D0 800BD670 38A02000 */ li r5, 0x2000
|
||||
/* 0B80D4 800BD674 4BFFFE49 */ bl __CARDWrite
|
||||
/* 0B80D8 800BD678 7C7D1B79 */ or. r29, r3, r3
|
||||
/* 0B80DC 800BD67C 40800044 */ bge lbl_800BD6C0
|
||||
lbl_800BD680:
|
||||
/* 0B80E0 800BD680 801E00D0 */ lwz r0, 0xd0(r30)
|
||||
/* 0B80E4 800BD684 28000000 */ cmplwi r0, 0
|
||||
/* 0B80E8 800BD688 40820010 */ bne lbl_800BD698
|
||||
/* 0B80EC 800BD68C 387E0000 */ addi r3, r30, 0
|
||||
/* 0B80F0 800BD690 389D0000 */ addi r4, r29, 0
|
||||
/* 0B80F4 800BD694 4BFFE6E1 */ bl __CARDPutControlBlock
|
||||
lbl_800BD698:
|
||||
/* 0B80F8 800BD698 801E00D8 */ lwz r0, 0xd8(r30)
|
||||
/* 0B80FC 800BD69C 28000000 */ cmplwi r0, 0
|
||||
/* 0B8100 800BD6A0 7C0C0378 */ mr r12, r0
|
||||
/* 0B8104 800BD6A4 4182001C */ beq lbl_800BD6C0
|
||||
/* 0B8108 800BD6A8 38000000 */ li r0, 0
|
||||
/* 0B810C 800BD6AC 7D8803A6 */ mtlr r12
|
||||
/* 0B8110 800BD6B0 901E00D8 */ stw r0, 0xd8(r30)
|
||||
/* 0B8114 800BD6B4 387F0000 */ addi r3, r31, 0
|
||||
/* 0B8118 800BD6B8 389D0000 */ addi r4, r29, 0
|
||||
/* 0B811C 800BD6BC 4E800021 */ blrl
|
||||
lbl_800BD6C0:
|
||||
/* 0B8120 800BD6C0 8001002C */ lwz r0, 0x2c(r1)
|
||||
/* 0B8124 800BD6C4 83E10024 */ lwz r31, 0x24(r1)
|
||||
/* 0B8128 800BD6C8 83C10020 */ lwz r30, 0x20(r1)
|
||||
/* 0B812C 800BD6CC 83A1001C */ lwz r29, 0x1c(r1)
|
||||
/* 0B8130 800BD6D0 38210028 */ addi r1, r1, 0x28
|
||||
/* 0B8134 800BD6D4 7C0803A6 */ mtlr r0
|
||||
/* 0B8138 800BD6D8 4E800020 */ blr
|
||||
|
||||
glabel __CARDAllocBlock
|
||||
/* 0B813C 800BD6DC 7C0802A6 */ mflr r0
|
||||
/* 0B8140 800BD6E0 1CE30110 */ mulli r7, r3, 0x110
|
||||
/* 0B8144 800BD6E4 90010004 */ stw r0, 4(r1)
|
||||
/* 0B8148 800BD6E8 9421FFE0 */ stwu r1, -0x20(r1)
|
||||
/* 0B814C 800BD6EC 3CC08013 */ lis r6, __CARDBlock@ha
|
||||
/* 0B8150 800BD6F0 380627D0 */ addi r0, r6, __CARDBlock@l
|
||||
/* 0B8154 800BD6F4 93E1001C */ stw r31, 0x1c(r1)
|
||||
/* 0B8158 800BD6F8 7D203A14 */ add r9, r0, r7
|
||||
/* 0B815C 800BD6FC 93C10018 */ stw r30, 0x18(r1)
|
||||
/* 0B8160 800BD700 80090000 */ lwz r0, 0(r9)
|
||||
/* 0B8164 800BD704 2C000000 */ cmpwi r0, 0
|
||||
/* 0B8168 800BD708 4082000C */ bne lbl_800BD714
|
||||
/* 0B816C 800BD70C 3860FFFD */ li r3, -3
|
||||
/* 0B8170 800BD710 480000CC */ b lbl_800BD7DC
|
||||
lbl_800BD714:
|
||||
/* 0B8174 800BD714 81090088 */ lwz r8, 0x88(r9)
|
||||
/* 0B8178 800BD718 A0080006 */ lhz r0, 6(r8)
|
||||
/* 0B817C 800BD71C 7C002040 */ cmplw r0, r4
|
||||
/* 0B8180 800BD720 4080000C */ bge lbl_800BD72C
|
||||
/* 0B8184 800BD724 3860FFF7 */ li r3, -9
|
||||
/* 0B8188 800BD728 480000B4 */ b lbl_800BD7DC
|
||||
lbl_800BD72C:
|
||||
/* 0B818C 800BD72C 7C040050 */ subf r0, r4, r0
|
||||
/* 0B8190 800BD730 B0080006 */ sth r0, 6(r8)
|
||||
/* 0B8194 800BD734 3CC00001 */ lis r6, 1
|
||||
/* 0B8198 800BD738 3986FFFF */ addi r12, r6, -1
|
||||
/* 0B819C 800BD73C A1680008 */ lhz r11, 8(r8)
|
||||
/* 0B81A0 800BD740 380C0000 */ addi r0, r12, 0
|
||||
/* 0B81A4 800BD744 3BC00000 */ li r30, 0
|
||||
/* 0B81A8 800BD748 4800007C */ b lbl_800BD7C4
|
||||
lbl_800BD74C:
|
||||
/* 0B81AC 800BD74C A1490010 */ lhz r10, 0x10(r9)
|
||||
/* 0B81B0 800BD750 3BDE0001 */ addi r30, r30, 1
|
||||
/* 0B81B4 800BD754 57C6043E */ clrlwi r6, r30, 0x10
|
||||
/* 0B81B8 800BD758 38EAFFFB */ addi r7, r10, -5
|
||||
/* 0B81BC 800BD75C 7C073000 */ cmpw r7, r6
|
||||
/* 0B81C0 800BD760 4080000C */ bge lbl_800BD76C
|
||||
/* 0B81C4 800BD764 3860FFFA */ li r3, -6
|
||||
/* 0B81C8 800BD768 48000074 */ b lbl_800BD7DC
|
||||
lbl_800BD76C:
|
||||
/* 0B81CC 800BD76C 396B0001 */ addi r11, r11, 1
|
||||
/* 0B81D0 800BD770 5566043E */ clrlwi r6, r11, 0x10
|
||||
/* 0B81D4 800BD774 28060005 */ cmplwi r6, 5
|
||||
/* 0B81D8 800BD778 4180000C */ blt lbl_800BD784
|
||||
/* 0B81DC 800BD77C 7C065040 */ cmplw r6, r10
|
||||
/* 0B81E0 800BD780 41800008 */ blt lbl_800BD788
|
||||
lbl_800BD784:
|
||||
/* 0B81E4 800BD784 39600005 */ li r11, 5
|
||||
lbl_800BD788:
|
||||
/* 0B81E8 800BD788 55660BFC */ rlwinm r6, r11, 1, 0xf, 0x1e
|
||||
/* 0B81EC 800BD78C 7CE83214 */ add r7, r8, r6
|
||||
/* 0B81F0 800BD790 A0C70000 */ lhz r6, 0(r7)
|
||||
/* 0B81F4 800BD794 28060000 */ cmplwi r6, 0
|
||||
/* 0B81F8 800BD798 4082002C */ bne lbl_800BD7C4
|
||||
/* 0B81FC 800BD79C 5586043E */ clrlwi r6, r12, 0x10
|
||||
/* 0B8200 800BD7A0 2806FFFF */ cmplwi r6, 0xffff
|
||||
/* 0B8204 800BD7A4 4082000C */ bne lbl_800BD7B0
|
||||
/* 0B8208 800BD7A8 7D6C5B78 */ mr r12, r11
|
||||
/* 0B820C 800BD7AC 4800000C */ b lbl_800BD7B8
|
||||
lbl_800BD7B0:
|
||||
/* 0B8210 800BD7B0 57E60BFC */ rlwinm r6, r31, 1, 0xf, 0x1e
|
||||
/* 0B8214 800BD7B4 7D68332E */ sthx r11, r8, r6
|
||||
lbl_800BD7B8:
|
||||
/* 0B8218 800BD7B8 B0070000 */ sth r0, 0(r7)
|
||||
/* 0B821C 800BD7BC 3BEB0000 */ addi r31, r11, 0
|
||||
/* 0B8220 800BD7C0 3884FFFF */ addi r4, r4, -1
|
||||
lbl_800BD7C4:
|
||||
/* 0B8224 800BD7C4 28040000 */ cmplwi r4, 0
|
||||
/* 0B8228 800BD7C8 4082FF84 */ bne lbl_800BD74C
|
||||
/* 0B822C 800BD7CC B1680008 */ sth r11, 8(r8)
|
||||
/* 0B8230 800BD7D0 7D044378 */ mr r4, r8
|
||||
/* 0B8234 800BD7D4 B18900BE */ sth r12, 0xbe(r9)
|
||||
/* 0B8238 800BD7D8 480000B9 */ bl __CARDUpdateFatBlock
|
||||
lbl_800BD7DC:
|
||||
/* 0B823C 800BD7DC 80010024 */ lwz r0, 0x24(r1)
|
||||
/* 0B8240 800BD7E0 83E1001C */ lwz r31, 0x1c(r1)
|
||||
/* 0B8244 800BD7E4 83C10018 */ lwz r30, 0x18(r1)
|
||||
/* 0B8248 800BD7E8 38210020 */ addi r1, r1, 0x20
|
||||
/* 0B824C 800BD7EC 7C0803A6 */ mtlr r0
|
||||
/* 0B8250 800BD7F0 4E800020 */ blr
|
||||
|
||||
glabel __CARDFreeBlock
|
||||
/* 0B8254 800BD7F4 7C0802A6 */ mflr r0
|
||||
/* 0B8258 800BD7F8 1CE30110 */ mulli r7, r3, 0x110
|
||||
/* 0B825C 800BD7FC 90010004 */ stw r0, 4(r1)
|
||||
/* 0B8260 800BD800 3CC08013 */ lis r6, __CARDBlock@ha
|
||||
/* 0B8264 800BD804 9421FFF8 */ stwu r1, -8(r1)
|
||||
/* 0B8268 800BD808 380627D0 */ addi r0, r6, __CARDBlock@l
|
||||
/* 0B826C 800BD80C 7D203A14 */ add r9, r0, r7
|
||||
/* 0B8270 800BD810 80090000 */ lwz r0, 0(r9)
|
||||
/* 0B8274 800BD814 2C000000 */ cmpwi r0, 0
|
||||
/* 0B8278 800BD818 4082000C */ bne lbl_800BD824
|
||||
/* 0B827C 800BD81C 3860FFFD */ li r3, -3
|
||||
/* 0B8280 800BD820 48000060 */ b lbl_800BD880
|
||||
lbl_800BD824:
|
||||
/* 0B8284 800BD824 81090088 */ lwz r8, 0x88(r9)
|
||||
/* 0B8288 800BD828 38E00000 */ li r7, 0
|
||||
/* 0B828C 800BD82C 48000040 */ b lbl_800BD86C
|
||||
lbl_800BD830:
|
||||
/* 0B8290 800BD830 5484043E */ clrlwi r4, r4, 0x10
|
||||
/* 0B8294 800BD834 28040005 */ cmplwi r4, 5
|
||||
/* 0B8298 800BD838 41800010 */ blt lbl_800BD848
|
||||
/* 0B829C 800BD83C A0090010 */ lhz r0, 0x10(r9)
|
||||
/* 0B82A0 800BD840 7C040040 */ cmplw r4, r0
|
||||
/* 0B82A4 800BD844 4180000C */ blt lbl_800BD850
|
||||
lbl_800BD848:
|
||||
/* 0B82A8 800BD848 3860FFFA */ li r3, -6
|
||||
/* 0B82AC 800BD84C 48000034 */ b lbl_800BD880
|
||||
lbl_800BD850:
|
||||
/* 0B82B0 800BD850 5480083C */ slwi r0, r4, 1
|
||||
/* 0B82B4 800BD854 7CC80214 */ add r6, r8, r0
|
||||
/* 0B82B8 800BD858 A0860000 */ lhz r4, 0(r6)
|
||||
/* 0B82BC 800BD85C B0E60000 */ sth r7, 0(r6)
|
||||
/* 0B82C0 800BD860 A0C80006 */ lhz r6, 6(r8)
|
||||
/* 0B82C4 800BD864 38060001 */ addi r0, r6, 1
|
||||
/* 0B82C8 800BD868 B0080006 */ sth r0, 6(r8)
|
||||
lbl_800BD86C:
|
||||
/* 0B82CC 800BD86C 5480043E */ clrlwi r0, r4, 0x10
|
||||
/* 0B82D0 800BD870 2800FFFF */ cmplwi r0, 0xffff
|
||||
/* 0B82D4 800BD874 4082FFBC */ bne lbl_800BD830
|
||||
/* 0B82D8 800BD878 7D044378 */ mr r4, r8
|
||||
/* 0B82DC 800BD87C 48000015 */ bl __CARDUpdateFatBlock
|
||||
lbl_800BD880:
|
||||
/* 0B82E0 800BD880 8001000C */ lwz r0, 0xc(r1)
|
||||
/* 0B82E4 800BD884 38210008 */ addi r1, r1, 8
|
||||
/* 0B82E8 800BD888 7C0803A6 */ mtlr r0
|
||||
/* 0B82EC 800BD88C 4E800020 */ blr
|
||||
|
||||
glabel __CARDUpdateFatBlock
|
||||
/* 0B82F0 800BD890 7C0802A6 */ mflr r0
|
||||
/* 0B82F4 800BD894 90010004 */ stw r0, 4(r1)
|
||||
/* 0B82F8 800BD898 9421FFD8 */ stwu r1, -0x28(r1)
|
||||
/* 0B82FC 800BD89C 93E10024 */ stw r31, 0x24(r1)
|
||||
/* 0B8300 800BD8A0 93C10020 */ stw r30, 0x20(r1)
|
||||
/* 0B8304 800BD8A4 3BC50000 */ addi r30, r5, 0
|
||||
/* 0B8308 800BD8A8 93A1001C */ stw r29, 0x1c(r1)
|
||||
/* 0B830C 800BD8AC 3BA40000 */ addi r29, r4, 0
|
||||
/* 0B8310 800BD8B0 38BD0000 */ addi r5, r29, 0
|
||||
/* 0B8314 800BD8B4 93810018 */ stw r28, 0x18(r1)
|
||||
/* 0B8318 800BD8B8 3B830000 */ addi r28, r3, 0
|
||||
/* 0B831C 800BD8BC 38DD0002 */ addi r6, r29, 2
|
||||
/* 0B8320 800BD8C0 A0640004 */ lhz r3, 4(r4)
|
||||
/* 0B8324 800BD8C4 1C9C0110 */ mulli r4, r28, 0x110
|
||||
/* 0B8328 800BD8C8 38030001 */ addi r0, r3, 1
|
||||
/* 0B832C 800BD8CC 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0B8330 800BD8D0 B01D0004 */ sth r0, 4(r29)
|
||||
/* 0B8334 800BD8D4 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0B8338 800BD8D8 7FE02214 */ add r31, r0, r4
|
||||
/* 0B833C 800BD8DC 387D0004 */ addi r3, r29, 4
|
||||
/* 0B8340 800BD8E0 38801FFC */ li r4, 0x1ffc
|
||||
/* 0B8344 800BD8E4 480002BD */ bl __CARDCheckSum
|
||||
/* 0B8348 800BD8E8 387D0000 */ addi r3, r29, 0
|
||||
/* 0B834C 800BD8EC 38802000 */ li r4, 0x2000
|
||||
/* 0B8350 800BD8F0 4BFDFEBD */ bl DCStoreRange
|
||||
/* 0B8354 800BD8F4 93DF00D8 */ stw r30, 0xd8(r31)
|
||||
/* 0B8358 800BD8F8 3C60800C */ lis r3, EraseCallback@ha
|
||||
/* 0B835C 800BD8FC 38A3D614 */ addi r5, r3, EraseCallback@l
|
||||
/* 0B8360 800BD900 801F0080 */ lwz r0, 0x80(r31)
|
||||
/* 0B8364 800BD904 7F83E378 */ mr r3, r28
|
||||
/* 0B8368 800BD908 809F000C */ lwz r4, 0xc(r31)
|
||||
/* 0B836C 800BD90C 7C00E850 */ subf r0, r0, r29
|
||||
/* 0B8370 800BD910 54009B7E */ srwi r0, r0, 0xd
|
||||
/* 0B8374 800BD914 7C8401D6 */ mullw r4, r4, r0
|
||||
/* 0B8378 800BD918 4BFFE1D9 */ bl __CARDEraseSector
|
||||
/* 0B837C 800BD91C 8001002C */ lwz r0, 0x2c(r1)
|
||||
/* 0B8380 800BD920 83E10024 */ lwz r31, 0x24(r1)
|
||||
/* 0B8384 800BD924 83C10020 */ lwz r30, 0x20(r1)
|
||||
/* 0B8388 800BD928 83A1001C */ lwz r29, 0x1c(r1)
|
||||
/* 0B838C 800BD92C 83810018 */ lwz r28, 0x18(r1)
|
||||
/* 0B8390 800BD930 38210028 */ addi r1, r1, 0x28
|
||||
/* 0B8394 800BD934 7C0803A6 */ mtlr r0
|
||||
/* 0B8398 800BD938 4E800020 */ blr
|
||||
|
||||
|
||||
+1104
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,240 @@
|
||||
# CARDCreate.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
CreateCallbackFat:
|
||||
/* 0BADF8 800C0398 7C0802A6 */ mflr r0
|
||||
/* 0BADFC 800C039C 90010004 */ stw r0, 4(r1)
|
||||
/* 0BAE00 800C03A0 9421FFD8 */ stwu r1, -0x28(r1)
|
||||
/* 0BAE04 800C03A4 BF610014 */ stmw r27, 0x14(r1)
|
||||
/* 0BAE08 800C03A8 3B830000 */ addi r28, r3, 0
|
||||
/* 0BAE0C 800C03AC 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0BAE10 800C03B0 1CBC0110 */ mulli r5, r28, 0x110
|
||||
/* 0BAE14 800C03B4 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0BAE18 800C03B8 7FE02A14 */ add r31, r0, r5
|
||||
/* 0BAE1C 800C03BC 83BF00D0 */ lwz r29, 0xd0(r31)
|
||||
/* 0BAE20 800C03C0 3B600000 */ li r27, 0
|
||||
/* 0BAE24 800C03C4 7C9E2379 */ or. r30, r4, r4
|
||||
/* 0BAE28 800C03C8 937F00D0 */ stw r27, 0xd0(r31)
|
||||
/* 0BAE2C 800C03CC 418000C0 */ blt lbl_800C048C
|
||||
/* 0BAE30 800C03D0 7FE3FB78 */ mr r3, r31
|
||||
/* 0BAE34 800C03D4 4BFFD569 */ bl __CARDGetDirBlock
|
||||
/* 0BAE38 800C03D8 A01F00BC */ lhz r0, 0xbc(r31)
|
||||
/* 0BAE3C 800C03DC 38A00004 */ li r5, 4
|
||||
/* 0BAE40 800C03E0 809F010C */ lwz r4, 0x10c(r31)
|
||||
/* 0BAE44 800C03E4 54003032 */ slwi r0, r0, 6
|
||||
/* 0BAE48 800C03E8 7FC30214 */ add r30, r3, r0
|
||||
/* 0BAE4C 800C03EC 387E0000 */ addi r3, r30, 0
|
||||
/* 0BAE50 800C03F0 4BF450D5 */ bl memcpy
|
||||
/* 0BAE54 800C03F4 809F010C */ lwz r4, 0x10c(r31)
|
||||
/* 0BAE58 800C03F8 387E0004 */ addi r3, r30, 4
|
||||
/* 0BAE5C 800C03FC 38A00002 */ li r5, 2
|
||||
/* 0BAE60 800C0400 38840004 */ addi r4, r4, 4
|
||||
/* 0BAE64 800C0404 4BF450C1 */ bl memcpy
|
||||
/* 0BAE68 800C0408 38000004 */ li r0, 4
|
||||
/* 0BAE6C 800C040C 981E0034 */ stb r0, 0x34(r30)
|
||||
/* 0BAE70 800C0410 3800FFFF */ li r0, -1
|
||||
/* 0BAE74 800C0414 3C608000 */ lis r3, 0x8000
|
||||
/* 0BAE78 800C0418 9B7E0035 */ stb r27, 0x35(r30)
|
||||
/* 0BAE7C 800C041C A09F00BE */ lhz r4, 0xbe(r31)
|
||||
/* 0BAE80 800C0420 B09E0036 */ sth r4, 0x36(r30)
|
||||
/* 0BAE84 800C0424 9B7E0007 */ stb r27, 7(r30)
|
||||
/* 0BAE88 800C0428 901E002C */ stw r0, 0x2c(r30)
|
||||
/* 0BAE8C 800C042C B37E0030 */ sth r27, 0x30(r30)
|
||||
/* 0BAE90 800C0430 B37E0032 */ sth r27, 0x32(r30)
|
||||
/* 0BAE94 800C0434 901E003C */ stw r0, 0x3c(r30)
|
||||
/* 0BAE98 800C0438 A01E0032 */ lhz r0, 0x32(r30)
|
||||
/* 0BAE9C 800C043C 5400003A */ rlwinm r0, r0, 0, 0, 0x1d
|
||||
/* 0BAEA0 800C0440 60000001 */ ori r0, r0, 1
|
||||
/* 0BAEA4 800C0444 B01E0032 */ sth r0, 0x32(r30)
|
||||
/* 0BAEA8 800C0448 809F00C0 */ lwz r4, 0xc0(r31)
|
||||
/* 0BAEAC 800C044C 93640008 */ stw r27, 8(r4)
|
||||
/* 0BAEB0 800C0450 A01E0036 */ lhz r0, 0x36(r30)
|
||||
/* 0BAEB4 800C0454 809F00C0 */ lwz r4, 0xc0(r31)
|
||||
/* 0BAEB8 800C0458 B0040010 */ sth r0, 0x10(r4)
|
||||
/* 0BAEBC 800C045C 800300F8 */ lwz r0, 0xf8(r3)
|
||||
/* 0BAEC0 800C0460 541BF0BE */ srwi r27, r0, 2
|
||||
/* 0BAEC4 800C0464 4BFE1E45 */ bl OSGetTime
|
||||
/* 0BAEC8 800C0468 38DB0000 */ addi r6, r27, 0
|
||||
/* 0BAECC 800C046C 38A00000 */ li r5, 0
|
||||
/* 0BAED0 800C0470 4800D5AD */ bl __div2i
|
||||
/* 0BAED4 800C0474 909E0028 */ stw r4, 0x28(r30)
|
||||
/* 0BAED8 800C0478 387C0000 */ addi r3, r28, 0
|
||||
/* 0BAEDC 800C047C 389D0000 */ addi r4, r29, 0
|
||||
/* 0BAEE0 800C0480 4BFFD65D */ bl __CARDUpdateDir
|
||||
/* 0BAEE4 800C0484 7C7E1B79 */ or. r30, r3, r3
|
||||
/* 0BAEE8 800C0488 4080002C */ bge lbl_800C04B4
|
||||
lbl_800C048C:
|
||||
/* 0BAEEC 800C048C 387F0000 */ addi r3, r31, 0
|
||||
/* 0BAEF0 800C0490 389E0000 */ addi r4, r30, 0
|
||||
/* 0BAEF4 800C0494 4BFFB8E1 */ bl __CARDPutControlBlock
|
||||
/* 0BAEF8 800C0498 281D0000 */ cmplwi r29, 0
|
||||
/* 0BAEFC 800C049C 41820018 */ beq lbl_800C04B4
|
||||
/* 0BAF00 800C04A0 399D0000 */ addi r12, r29, 0
|
||||
/* 0BAF04 800C04A4 7D8803A6 */ mtlr r12
|
||||
/* 0BAF08 800C04A8 387C0000 */ addi r3, r28, 0
|
||||
/* 0BAF0C 800C04AC 389E0000 */ addi r4, r30, 0
|
||||
/* 0BAF10 800C04B0 4E800021 */ blrl
|
||||
lbl_800C04B4:
|
||||
/* 0BAF14 800C04B4 BB610014 */ lmw r27, 0x14(r1)
|
||||
/* 0BAF18 800C04B8 8001002C */ lwz r0, 0x2c(r1)
|
||||
/* 0BAF1C 800C04BC 38210028 */ addi r1, r1, 0x28
|
||||
/* 0BAF20 800C04C0 7C0803A6 */ mtlr r0
|
||||
/* 0BAF24 800C04C4 4E800020 */ blr
|
||||
|
||||
glabel CARDCreateAsync
|
||||
/* 0BAF28 800C04C8 7C0802A6 */ mflr r0
|
||||
/* 0BAF2C 800C04CC 90010004 */ stw r0, 4(r1)
|
||||
/* 0BAF30 800C04D0 9421FFB8 */ stwu r1, -0x48(r1)
|
||||
/* 0BAF34 800C04D4 BEE10024 */ stmw r23, 0x24(r1)
|
||||
/* 0BAF38 800C04D8 3B440000 */ addi r26, r4, 0
|
||||
/* 0BAF3C 800C04DC 3B230000 */ addi r25, r3, 0
|
||||
/* 0BAF40 800C04E0 3B650000 */ addi r27, r5, 0
|
||||
/* 0BAF44 800C04E4 3B860000 */ addi r28, r6, 0
|
||||
/* 0BAF48 800C04E8 3BA70000 */ addi r29, r7, 0
|
||||
/* 0BAF4C 800C04EC 387A0000 */ addi r3, r26, 0
|
||||
/* 0BAF50 800C04F0 4801056D */ bl strlen
|
||||
/* 0BAF54 800C04F4 28030020 */ cmplwi r3, 0x20
|
||||
/* 0BAF58 800C04F8 4081000C */ ble lbl_800C0504
|
||||
/* 0BAF5C 800C04FC 3860FFF4 */ li r3, -12
|
||||
/* 0BAF60 800C0500 480001D4 */ b lbl_800C06D4
|
||||
lbl_800C0504:
|
||||
/* 0BAF64 800C0504 38790000 */ addi r3, r25, 0
|
||||
/* 0BAF68 800C0508 3881001C */ addi r4, r1, 0x1c
|
||||
/* 0BAF6C 800C050C 4BFFB7B1 */ bl __CARDGetControlBlock
|
||||
/* 0BAF70 800C0510 2C030000 */ cmpwi r3, 0
|
||||
/* 0BAF74 800C0514 40800008 */ bge lbl_800C051C
|
||||
/* 0BAF78 800C0518 480001BC */ b lbl_800C06D4
|
||||
lbl_800C051C:
|
||||
/* 0BAF7C 800C051C 281B0000 */ cmplwi r27, 0
|
||||
/* 0BAF80 800C0520 4182001C */ beq lbl_800C053C
|
||||
/* 0BAF84 800C0524 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BAF88 800C0528 8083000C */ lwz r4, 0xc(r3)
|
||||
/* 0BAF8C 800C052C 7C1B2396 */ divwu r0, r27, r4
|
||||
/* 0BAF90 800C0530 7C0021D6 */ mullw r0, r0, r4
|
||||
/* 0BAF94 800C0534 7C00D851 */ subf. r0, r0, r27
|
||||
/* 0BAF98 800C0538 4182000C */ beq lbl_800C0544
|
||||
lbl_800C053C:
|
||||
/* 0BAF9C 800C053C 3860FF80 */ li r3, -128
|
||||
/* 0BAFA0 800C0540 48000194 */ b lbl_800C06D4
|
||||
lbl_800C0544:
|
||||
/* 0BAFA4 800C0544 3C800001 */ lis r4, 1
|
||||
/* 0BAFA8 800C0548 3BC4FFFF */ addi r30, r4, -1
|
||||
/* 0BAFAC 800C054C 4BFFD3F1 */ bl __CARDGetDirBlock
|
||||
/* 0BAFB0 800C0550 3BE30000 */ addi r31, r3, 0
|
||||
/* 0BAFB4 800C0554 3B1F0000 */ addi r24, r31, 0
|
||||
/* 0BAFB8 800C0558 3AE00000 */ li r23, 0
|
||||
/* 0BAFBC 800C055C 4800008C */ b lbl_800C05E8
|
||||
lbl_800C0560:
|
||||
/* 0BAFC0 800C0560 88180000 */ lbz r0, 0(r24)
|
||||
/* 0BAFC4 800C0564 280000FF */ cmplwi r0, 0xff
|
||||
/* 0BAFC8 800C0568 40820018 */ bne lbl_800C0580
|
||||
/* 0BAFCC 800C056C 57C0043E */ clrlwi r0, r30, 0x10
|
||||
/* 0BAFD0 800C0570 2800FFFF */ cmplwi r0, 0xffff
|
||||
/* 0BAFD4 800C0574 4082006C */ bne lbl_800C05E0
|
||||
/* 0BAFD8 800C0578 7EFEBB78 */ mr r30, r23
|
||||
/* 0BAFDC 800C057C 48000064 */ b lbl_800C05E0
|
||||
lbl_800C0580:
|
||||
/* 0BAFE0 800C0580 8081001C */ lwz r4, 0x1c(r1)
|
||||
/* 0BAFE4 800C0584 38780000 */ addi r3, r24, 0
|
||||
/* 0BAFE8 800C0588 38A00004 */ li r5, 4
|
||||
/* 0BAFEC 800C058C 8084010C */ lwz r4, 0x10c(r4)
|
||||
/* 0BAFF0 800C0590 4800E381 */ bl memcmp
|
||||
/* 0BAFF4 800C0594 2C030000 */ cmpwi r3, 0
|
||||
/* 0BAFF8 800C0598 40820048 */ bne lbl_800C05E0
|
||||
/* 0BAFFC 800C059C 8081001C */ lwz r4, 0x1c(r1)
|
||||
/* 0BB000 800C05A0 38780004 */ addi r3, r24, 4
|
||||
/* 0BB004 800C05A4 38A00002 */ li r5, 2
|
||||
/* 0BB008 800C05A8 8084010C */ lwz r4, 0x10c(r4)
|
||||
/* 0BB00C 800C05AC 38840004 */ addi r4, r4, 4
|
||||
/* 0BB010 800C05B0 4800E361 */ bl memcmp
|
||||
/* 0BB014 800C05B4 2C030000 */ cmpwi r3, 0
|
||||
/* 0BB018 800C05B8 40820028 */ bne lbl_800C05E0
|
||||
/* 0BB01C 800C05BC 38780000 */ addi r3, r24, 0
|
||||
/* 0BB020 800C05C0 389A0000 */ addi r4, r26, 0
|
||||
/* 0BB024 800C05C4 4BFFF7E9 */ bl __CARDCompareFileName
|
||||
/* 0BB028 800C05C8 2C030000 */ cmpwi r3, 0
|
||||
/* 0BB02C 800C05CC 41820014 */ beq lbl_800C05E0
|
||||
/* 0BB030 800C05D0 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB034 800C05D4 3880FFF9 */ li r4, -7
|
||||
/* 0BB038 800C05D8 4BFFB79D */ bl __CARDPutControlBlock
|
||||
/* 0BB03C 800C05DC 480000F8 */ b lbl_800C06D4
|
||||
lbl_800C05E0:
|
||||
/* 0BB040 800C05E0 3B180040 */ addi r24, r24, 0x40
|
||||
/* 0BB044 800C05E4 3AF70001 */ addi r23, r23, 1
|
||||
lbl_800C05E8:
|
||||
/* 0BB048 800C05E8 56E0043E */ clrlwi r0, r23, 0x10
|
||||
/* 0BB04C 800C05EC 2800007F */ cmplwi r0, 0x7f
|
||||
/* 0BB050 800C05F0 4180FF70 */ blt lbl_800C0560
|
||||
/* 0BB054 800C05F4 57C0043E */ clrlwi r0, r30, 0x10
|
||||
/* 0BB058 800C05F8 2800FFFF */ cmplwi r0, 0xffff
|
||||
/* 0BB05C 800C05FC 40820014 */ bne lbl_800C0610
|
||||
/* 0BB060 800C0600 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB064 800C0604 3880FFF8 */ li r4, -8
|
||||
/* 0BB068 800C0608 4BFFB76D */ bl __CARDPutControlBlock
|
||||
/* 0BB06C 800C060C 480000C8 */ b lbl_800C06D4
|
||||
lbl_800C0610:
|
||||
/* 0BB070 800C0610 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB074 800C0614 4BFFCF25 */ bl __CARDGetFatBlock
|
||||
/* 0BB078 800C0618 8081001C */ lwz r4, 0x1c(r1)
|
||||
/* 0BB07C 800C061C A0030006 */ lhz r0, 6(r3)
|
||||
/* 0BB080 800C0620 8064000C */ lwz r3, 0xc(r4)
|
||||
/* 0BB084 800C0624 7C0301D6 */ mullw r0, r3, r0
|
||||
/* 0BB088 800C0628 7C00D840 */ cmplw r0, r27
|
||||
/* 0BB08C 800C062C 40800014 */ bge lbl_800C0640
|
||||
/* 0BB090 800C0630 38640000 */ addi r3, r4, 0
|
||||
/* 0BB094 800C0634 3880FFF7 */ li r4, -9
|
||||
/* 0BB098 800C0638 4BFFB73D */ bl __CARDPutControlBlock
|
||||
/* 0BB09C 800C063C 48000098 */ b lbl_800C06D4
|
||||
lbl_800C0640:
|
||||
/* 0BB0A0 800C0640 281D0000 */ cmplwi r29, 0
|
||||
/* 0BB0A4 800C0644 4182000C */ beq lbl_800C0650
|
||||
/* 0BB0A8 800C0648 7FA0EB78 */ mr r0, r29
|
||||
/* 0BB0AC 800C064C 4800000C */ b lbl_800C0658
|
||||
lbl_800C0650:
|
||||
/* 0BB0B0 800C0650 3C60800C */ lis r3, __CARDDefaultApiCallback@ha
|
||||
/* 0BB0B4 800C0654 3803AD5C */ addi r0, r3, __CARDDefaultApiCallback@l
|
||||
lbl_800C0658:
|
||||
/* 0BB0B8 800C0658 900400D0 */ stw r0, 0xd0(r4)
|
||||
/* 0BB0BC 800C065C 57C032B2 */ rlwinm r0, r30, 6, 0xa, 0x19
|
||||
/* 0BB0C0 800C0660 7CFF0214 */ add r7, r31, r0
|
||||
/* 0BB0C4 800C0664 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB0C8 800C0668 57DD043E */ clrlwi r29, r30, 0x10
|
||||
/* 0BB0CC 800C066C 389A0000 */ addi r4, r26, 0
|
||||
/* 0BB0D0 800C0670 B3C300BC */ sth r30, 0xbc(r3)
|
||||
/* 0BB0D4 800C0674 38670008 */ addi r3, r7, 8
|
||||
/* 0BB0D8 800C0678 38A00020 */ li r5, 0x20
|
||||
/* 0BB0DC 800C067C 80C1001C */ lwz r6, 0x1c(r1)
|
||||
/* 0BB0E0 800C0680 8006000C */ lwz r0, 0xc(r6)
|
||||
/* 0BB0E4 800C0684 7C1B0396 */ divwu r0, r27, r0
|
||||
/* 0BB0E8 800C0688 B0070038 */ sth r0, 0x38(r7)
|
||||
/* 0BB0EC 800C068C 480102D9 */ bl strncpy
|
||||
/* 0BB0F0 800C0690 8081001C */ lwz r4, 0x1c(r1)
|
||||
/* 0BB0F4 800C0694 3C60800C */ lis r3, CreateCallbackFat@ha
|
||||
/* 0BB0F8 800C0698 38A30398 */ addi r5, r3, CreateCallbackFat@l
|
||||
/* 0BB0FC 800C069C 938400C0 */ stw r28, 0xc0(r4)
|
||||
/* 0BB100 800C06A0 7F23CB78 */ mr r3, r25
|
||||
/* 0BB104 800C06A4 933C0000 */ stw r25, 0(r28)
|
||||
/* 0BB108 800C06A8 93BC0004 */ stw r29, 4(r28)
|
||||
/* 0BB10C 800C06AC 8081001C */ lwz r4, 0x1c(r1)
|
||||
/* 0BB110 800C06B0 8004000C */ lwz r0, 0xc(r4)
|
||||
/* 0BB114 800C06B4 7C9B0396 */ divwu r4, r27, r0
|
||||
/* 0BB118 800C06B8 4BFFD025 */ bl __CARDAllocBlock
|
||||
/* 0BB11C 800C06BC 7C641B79 */ or. r4, r3, r3
|
||||
/* 0BB120 800C06C0 40800010 */ bge lbl_800C06D0
|
||||
/* 0BB124 800C06C4 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB128 800C06C8 4BFFB6AD */ bl __CARDPutControlBlock
|
||||
/* 0BB12C 800C06CC 48000008 */ b lbl_800C06D4
|
||||
lbl_800C06D0:
|
||||
/* 0BB130 800C06D0 7C832378 */ mr r3, r4
|
||||
lbl_800C06D4:
|
||||
/* 0BB134 800C06D4 BAE10024 */ lmw r23, 0x24(r1)
|
||||
/* 0BB138 800C06D8 8001004C */ lwz r0, 0x4c(r1)
|
||||
/* 0BB13C 800C06DC 38210048 */ addi r1, r1, 0x48
|
||||
/* 0BB140 800C06E0 7C0803A6 */ mtlr r0
|
||||
/* 0BB144 800C06E4 4E800020 */ blr
|
||||
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
# CARDDelete.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
DeleteCallback:
|
||||
/* 0BB8F0 800C0E90 7C0802A6 */ mflr r0
|
||||
/* 0BB8F4 800C0E94 90010004 */ stw r0, 4(r1)
|
||||
/* 0BB8F8 800C0E98 9421FFE0 */ stwu r1, -0x20(r1)
|
||||
/* 0BB8FC 800C0E9C 93E1001C */ stw r31, 0x1c(r1)
|
||||
/* 0BB900 800C0EA0 93C10018 */ stw r30, 0x18(r1)
|
||||
/* 0BB904 800C0EA4 93A10014 */ stw r29, 0x14(r1)
|
||||
/* 0BB908 800C0EA8 7C9D2379 */ or. r29, r4, r4
|
||||
/* 0BB90C 800C0EAC 93810010 */ stw r28, 0x10(r1)
|
||||
/* 0BB910 800C0EB0 3B830000 */ addi r28, r3, 0
|
||||
/* 0BB914 800C0EB4 1CBC0110 */ mulli r5, r28, 0x110
|
||||
/* 0BB918 800C0EB8 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0BB91C 800C0EBC 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0BB920 800C0EC0 7FE02A14 */ add r31, r0, r5
|
||||
/* 0BB924 800C0EC4 83DF00D0 */ lwz r30, 0xd0(r31)
|
||||
/* 0BB928 800C0EC8 38000000 */ li r0, 0
|
||||
/* 0BB92C 800C0ECC 901F00D0 */ stw r0, 0xd0(r31)
|
||||
/* 0BB930 800C0ED0 4180001C */ blt lbl_800C0EEC
|
||||
/* 0BB934 800C0ED4 A09F00BE */ lhz r4, 0xbe(r31)
|
||||
/* 0BB938 800C0ED8 387C0000 */ addi r3, r28, 0
|
||||
/* 0BB93C 800C0EDC 38BE0000 */ addi r5, r30, 0
|
||||
/* 0BB940 800C0EE0 4BFFC915 */ bl __CARDFreeBlock
|
||||
/* 0BB944 800C0EE4 7C7D1B79 */ or. r29, r3, r3
|
||||
/* 0BB948 800C0EE8 4080002C */ bge lbl_800C0F14
|
||||
lbl_800C0EEC:
|
||||
/* 0BB94C 800C0EEC 387F0000 */ addi r3, r31, 0
|
||||
/* 0BB950 800C0EF0 389D0000 */ addi r4, r29, 0
|
||||
/* 0BB954 800C0EF4 4BFFAE81 */ bl __CARDPutControlBlock
|
||||
/* 0BB958 800C0EF8 281E0000 */ cmplwi r30, 0
|
||||
/* 0BB95C 800C0EFC 41820018 */ beq lbl_800C0F14
|
||||
/* 0BB960 800C0F00 399E0000 */ addi r12, r30, 0
|
||||
/* 0BB964 800C0F04 7D8803A6 */ mtlr r12
|
||||
/* 0BB968 800C0F08 387C0000 */ addi r3, r28, 0
|
||||
/* 0BB96C 800C0F0C 389D0000 */ addi r4, r29, 0
|
||||
/* 0BB970 800C0F10 4E800021 */ blrl
|
||||
lbl_800C0F14:
|
||||
/* 0BB974 800C0F14 80010024 */ lwz r0, 0x24(r1)
|
||||
/* 0BB978 800C0F18 83E1001C */ lwz r31, 0x1c(r1)
|
||||
/* 0BB97C 800C0F1C 83C10018 */ lwz r30, 0x18(r1)
|
||||
/* 0BB980 800C0F20 83A10014 */ lwz r29, 0x14(r1)
|
||||
/* 0BB984 800C0F24 83810010 */ lwz r28, 0x10(r1)
|
||||
/* 0BB988 800C0F28 38210020 */ addi r1, r1, 0x20
|
||||
/* 0BB98C 800C0F2C 7C0803A6 */ mtlr r0
|
||||
/* 0BB990 800C0F30 4E800020 */ blr
|
||||
|
||||
glabel CARDDeleteAsync
|
||||
/* 0BB994 800C0F34 7C0802A6 */ mflr r0
|
||||
/* 0BB998 800C0F38 90010004 */ stw r0, 4(r1)
|
||||
/* 0BB99C 800C0F3C 9421FFD0 */ stwu r1, -0x30(r1)
|
||||
/* 0BB9A0 800C0F40 93E1002C */ stw r31, 0x2c(r1)
|
||||
/* 0BB9A4 800C0F44 3BE30000 */ addi r31, r3, 0
|
||||
/* 0BB9A8 800C0F48 93C10028 */ stw r30, 0x28(r1)
|
||||
/* 0BB9AC 800C0F4C 3BC50000 */ addi r30, r5, 0
|
||||
/* 0BB9B0 800C0F50 93A10024 */ stw r29, 0x24(r1)
|
||||
/* 0BB9B4 800C0F54 3BA40000 */ addi r29, r4, 0
|
||||
/* 0BB9B8 800C0F58 38810018 */ addi r4, r1, 0x18
|
||||
/* 0BB9BC 800C0F5C 4BFFAD61 */ bl __CARDGetControlBlock
|
||||
/* 0BB9C0 800C0F60 2C030000 */ cmpwi r3, 0
|
||||
/* 0BB9C4 800C0F64 40800008 */ bge lbl_800C0F6C
|
||||
/* 0BB9C8 800C0F68 480000C0 */ b lbl_800C1028
|
||||
lbl_800C0F6C:
|
||||
/* 0BB9CC 800C0F6C 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BB9D0 800C0F70 389D0000 */ addi r4, r29, 0
|
||||
/* 0BB9D4 800C0F74 38A10014 */ addi r5, r1, 0x14
|
||||
/* 0BB9D8 800C0F78 4BFFF159 */ bl __CARDGetFileNo
|
||||
/* 0BB9DC 800C0F7C 7C641B79 */ or. r4, r3, r3
|
||||
/* 0BB9E0 800C0F80 40800010 */ bge lbl_800C0F90
|
||||
/* 0BB9E4 800C0F84 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BB9E8 800C0F88 4BFFADED */ bl __CARDPutControlBlock
|
||||
/* 0BB9EC 800C0F8C 4800009C */ b lbl_800C1028
|
||||
lbl_800C0F90:
|
||||
/* 0BB9F0 800C0F90 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BB9F4 800C0F94 80810014 */ lwz r4, 0x14(r1)
|
||||
/* 0BB9F8 800C0F98 4BFFF3F9 */ bl __CARDIsOpened
|
||||
/* 0BB9FC 800C0F9C 2C030000 */ cmpwi r3, 0
|
||||
/* 0BBA00 800C0FA0 41820014 */ beq lbl_800C0FB4
|
||||
/* 0BBA04 800C0FA4 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BBA08 800C0FA8 3880FFFF */ li r4, -1
|
||||
/* 0BBA0C 800C0FAC 4BFFADC9 */ bl __CARDPutControlBlock
|
||||
/* 0BBA10 800C0FB0 48000078 */ b lbl_800C1028
|
||||
lbl_800C0FB4:
|
||||
/* 0BBA14 800C0FB4 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BBA18 800C0FB8 4BFFC985 */ bl __CARDGetDirBlock
|
||||
/* 0BBA1C 800C0FBC 80010014 */ lwz r0, 0x14(r1)
|
||||
/* 0BBA20 800C0FC0 388000FF */ li r4, 0xff
|
||||
/* 0BBA24 800C0FC4 80C10018 */ lwz r6, 0x18(r1)
|
||||
/* 0BBA28 800C0FC8 38A00040 */ li r5, 0x40
|
||||
/* 0BBA2C 800C0FCC 54003032 */ slwi r0, r0, 6
|
||||
/* 0BBA30 800C0FD0 7C630214 */ add r3, r3, r0
|
||||
/* 0BBA34 800C0FD4 A0030036 */ lhz r0, 0x36(r3)
|
||||
/* 0BBA38 800C0FD8 B00600BE */ sth r0, 0xbe(r6)
|
||||
/* 0BBA3C 800C0FDC 4BF443F5 */ bl memset
|
||||
/* 0BBA40 800C0FE0 281E0000 */ cmplwi r30, 0
|
||||
/* 0BBA44 800C0FE4 4182000C */ beq lbl_800C0FF0
|
||||
/* 0BBA48 800C0FE8 7FC0F378 */ mr r0, r30
|
||||
/* 0BBA4C 800C0FEC 4800000C */ b lbl_800C0FF8
|
||||
lbl_800C0FF0:
|
||||
/* 0BBA50 800C0FF0 3C60800C */ lis r3, __CARDDefaultApiCallback@ha
|
||||
/* 0BBA54 800C0FF4 3803AD5C */ addi r0, r3, __CARDDefaultApiCallback@l
|
||||
lbl_800C0FF8:
|
||||
/* 0BBA58 800C0FF8 80A10018 */ lwz r5, 0x18(r1)
|
||||
/* 0BBA5C 800C0FFC 3C60800C */ lis r3, DeleteCallback@ha
|
||||
/* 0BBA60 800C1000 38830E90 */ addi r4, r3, DeleteCallback@l
|
||||
/* 0BBA64 800C1004 900500D0 */ stw r0, 0xd0(r5)
|
||||
/* 0BBA68 800C1008 7FE3FB78 */ mr r3, r31
|
||||
/* 0BBA6C 800C100C 4BFFCAD1 */ bl __CARDUpdateDir
|
||||
/* 0BBA70 800C1010 7C7F1B79 */ or. r31, r3, r3
|
||||
/* 0BBA74 800C1014 40800010 */ bge lbl_800C1024
|
||||
/* 0BBA78 800C1018 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BBA7C 800C101C 7FE4FB78 */ mr r4, r31
|
||||
/* 0BBA80 800C1020 4BFFAD55 */ bl __CARDPutControlBlock
|
||||
lbl_800C1024:
|
||||
/* 0BBA84 800C1024 7FE3FB78 */ mr r3, r31
|
||||
lbl_800C1028:
|
||||
/* 0BBA88 800C1028 80010034 */ lwz r0, 0x34(r1)
|
||||
/* 0BBA8C 800C102C 83E1002C */ lwz r31, 0x2c(r1)
|
||||
/* 0BBA90 800C1030 83C10028 */ lwz r30, 0x28(r1)
|
||||
/* 0BBA94 800C1034 83A10024 */ lwz r29, 0x24(r1)
|
||||
/* 0BBA98 800C1038 38210030 */ addi r1, r1, 0x30
|
||||
/* 0BBA9C 800C103C 7C0803A6 */ mtlr r0
|
||||
/* 0BBAA0 800C1040 4E800020 */ blr
|
||||
|
||||
|
||||
+178
@@ -0,0 +1,178 @@
|
||||
# CARDDir.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
glabel __CARDGetDirBlock
|
||||
/* 0B839C 800BD93C 80630084 */ lwz r3, 0x84(r3)
|
||||
/* 0B83A0 800BD940 4E800020 */ blr
|
||||
|
||||
WriteCallback:
|
||||
/* 0B83A4 800BD944 7C0802A6 */ mflr r0
|
||||
/* 0B83A8 800BD948 90010004 */ stw r0, 4(r1)
|
||||
/* 0B83AC 800BD94C 9421FFE0 */ stwu r1, -0x20(r1)
|
||||
/* 0B83B0 800BD950 93E1001C */ stw r31, 0x1c(r1)
|
||||
/* 0B83B4 800BD954 93C10018 */ stw r30, 0x18(r1)
|
||||
/* 0B83B8 800BD958 7C9E2379 */ or. r30, r4, r4
|
||||
/* 0B83BC 800BD95C 93A10014 */ stw r29, 0x14(r1)
|
||||
/* 0B83C0 800BD960 3BA30000 */ addi r29, r3, 0
|
||||
/* 0B83C4 800BD964 1CBD0110 */ mulli r5, r29, 0x110
|
||||
/* 0B83C8 800BD968 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0B83CC 800BD96C 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0B83D0 800BD970 7FE02A14 */ add r31, r0, r5
|
||||
/* 0B83D4 800BD974 41800044 */ blt lbl_800BD9B8
|
||||
/* 0B83D8 800BD978 807F0080 */ lwz r3, 0x80(r31)
|
||||
/* 0B83DC 800BD97C 801F0084 */ lwz r0, 0x84(r31)
|
||||
/* 0B83E0 800BD980 38832000 */ addi r4, r3, 0x2000
|
||||
/* 0B83E4 800BD984 7C002040 */ cmplw r0, r4
|
||||
/* 0B83E8 800BD988 38034000 */ addi r0, r3, 0x4000
|
||||
/* 0B83EC 800BD98C 40820018 */ bne lbl_800BD9A4
|
||||
/* 0B83F0 800BD990 901F0084 */ stw r0, 0x84(r31)
|
||||
/* 0B83F4 800BD994 7C030378 */ mr r3, r0
|
||||
/* 0B83F8 800BD998 38A02000 */ li r5, 0x2000
|
||||
/* 0B83FC 800BD99C 4BF47B29 */ bl memcpy
|
||||
/* 0B8400 800BD9A0 48000018 */ b lbl_800BD9B8
|
||||
lbl_800BD9A4:
|
||||
/* 0B8404 800BD9A4 909F0084 */ stw r4, 0x84(r31)
|
||||
/* 0B8408 800BD9A8 38640000 */ addi r3, r4, 0
|
||||
/* 0B840C 800BD9AC 7C040378 */ mr r4, r0
|
||||
/* 0B8410 800BD9B0 38A02000 */ li r5, 0x2000
|
||||
/* 0B8414 800BD9B4 4BF47B11 */ bl memcpy
|
||||
lbl_800BD9B8:
|
||||
/* 0B8418 800BD9B8 801F00D0 */ lwz r0, 0xd0(r31)
|
||||
/* 0B841C 800BD9BC 28000000 */ cmplwi r0, 0
|
||||
/* 0B8420 800BD9C0 40820010 */ bne lbl_800BD9D0
|
||||
/* 0B8424 800BD9C4 387F0000 */ addi r3, r31, 0
|
||||
/* 0B8428 800BD9C8 389E0000 */ addi r4, r30, 0
|
||||
/* 0B842C 800BD9CC 4BFFE3A9 */ bl __CARDPutControlBlock
|
||||
lbl_800BD9D0:
|
||||
/* 0B8430 800BD9D0 801F00D8 */ lwz r0, 0xd8(r31)
|
||||
/* 0B8434 800BD9D4 28000000 */ cmplwi r0, 0
|
||||
/* 0B8438 800BD9D8 7C0C0378 */ mr r12, r0
|
||||
/* 0B843C 800BD9DC 4182001C */ beq lbl_800BD9F8
|
||||
/* 0B8440 800BD9E0 38000000 */ li r0, 0
|
||||
/* 0B8444 800BD9E4 7D8803A6 */ mtlr r12
|
||||
/* 0B8448 800BD9E8 901F00D8 */ stw r0, 0xd8(r31)
|
||||
/* 0B844C 800BD9EC 387D0000 */ addi r3, r29, 0
|
||||
/* 0B8450 800BD9F0 389E0000 */ addi r4, r30, 0
|
||||
/* 0B8454 800BD9F4 4E800021 */ blrl
|
||||
lbl_800BD9F8:
|
||||
/* 0B8458 800BD9F8 80010024 */ lwz r0, 0x24(r1)
|
||||
/* 0B845C 800BD9FC 83E1001C */ lwz r31, 0x1c(r1)
|
||||
/* 0B8460 800BDA00 83C10018 */ lwz r30, 0x18(r1)
|
||||
/* 0B8464 800BDA04 83A10014 */ lwz r29, 0x14(r1)
|
||||
/* 0B8468 800BDA08 38210020 */ addi r1, r1, 0x20
|
||||
/* 0B846C 800BDA0C 7C0803A6 */ mtlr r0
|
||||
/* 0B8470 800BDA10 4E800020 */ blr
|
||||
|
||||
EraseCallback:
|
||||
/* 0B8474 800BDA14 7C0802A6 */ mflr r0
|
||||
/* 0B8478 800BDA18 90010004 */ stw r0, 4(r1)
|
||||
/* 0B847C 800BDA1C 9421FFD8 */ stwu r1, -0x28(r1)
|
||||
/* 0B8480 800BDA20 93E10024 */ stw r31, 0x24(r1)
|
||||
/* 0B8484 800BDA24 3BE30000 */ addi r31, r3, 0
|
||||
/* 0B8488 800BDA28 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0B848C 800BDA2C 93C10020 */ stw r30, 0x20(r1)
|
||||
/* 0B8490 800BDA30 1CBF0110 */ mulli r5, r31, 0x110
|
||||
/* 0B8494 800BDA34 93A1001C */ stw r29, 0x1c(r1)
|
||||
/* 0B8498 800BDA38 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0B849C 800BDA3C 7C9D2379 */ or. r29, r4, r4
|
||||
/* 0B84A0 800BDA40 7FC02A14 */ add r30, r0, r5
|
||||
/* 0B84A4 800BDA44 4180003C */ blt lbl_800BDA80
|
||||
/* 0B84A8 800BDA48 80BE0084 */ lwz r5, 0x84(r30)
|
||||
/* 0B84AC 800BDA4C 3C60800C */ lis r3, WriteCallback@ha
|
||||
/* 0B84B0 800BDA50 801E0080 */ lwz r0, 0x80(r30)
|
||||
/* 0B84B4 800BDA54 38E3D944 */ addi r7, r3, WriteCallback@l
|
||||
/* 0B84B8 800BDA58 807E000C */ lwz r3, 0xc(r30)
|
||||
/* 0B84BC 800BDA5C 7C002850 */ subf r0, r0, r5
|
||||
/* 0B84C0 800BDA60 54009B7E */ srwi r0, r0, 0xd
|
||||
/* 0B84C4 800BDA64 7C8301D6 */ mullw r4, r3, r0
|
||||
/* 0B84C8 800BDA68 38C50000 */ addi r6, r5, 0
|
||||
/* 0B84CC 800BDA6C 387F0000 */ addi r3, r31, 0
|
||||
/* 0B84D0 800BDA70 38A02000 */ li r5, 0x2000
|
||||
/* 0B84D4 800BDA74 4BFFFA49 */ bl __CARDWrite
|
||||
/* 0B84D8 800BDA78 7C7D1B79 */ or. r29, r3, r3
|
||||
/* 0B84DC 800BDA7C 40800044 */ bge lbl_800BDAC0
|
||||
lbl_800BDA80:
|
||||
/* 0B84E0 800BDA80 801E00D0 */ lwz r0, 0xd0(r30)
|
||||
/* 0B84E4 800BDA84 28000000 */ cmplwi r0, 0
|
||||
/* 0B84E8 800BDA88 40820010 */ bne lbl_800BDA98
|
||||
/* 0B84EC 800BDA8C 387E0000 */ addi r3, r30, 0
|
||||
/* 0B84F0 800BDA90 389D0000 */ addi r4, r29, 0
|
||||
/* 0B84F4 800BDA94 4BFFE2E1 */ bl __CARDPutControlBlock
|
||||
lbl_800BDA98:
|
||||
/* 0B84F8 800BDA98 801E00D8 */ lwz r0, 0xd8(r30)
|
||||
/* 0B84FC 800BDA9C 28000000 */ cmplwi r0, 0
|
||||
/* 0B8500 800BDAA0 7C0C0378 */ mr r12, r0
|
||||
/* 0B8504 800BDAA4 4182001C */ beq lbl_800BDAC0
|
||||
/* 0B8508 800BDAA8 38000000 */ li r0, 0
|
||||
/* 0B850C 800BDAAC 7D8803A6 */ mtlr r12
|
||||
/* 0B8510 800BDAB0 901E00D8 */ stw r0, 0xd8(r30)
|
||||
/* 0B8514 800BDAB4 387F0000 */ addi r3, r31, 0
|
||||
/* 0B8518 800BDAB8 389D0000 */ addi r4, r29, 0
|
||||
/* 0B851C 800BDABC 4E800021 */ blrl
|
||||
lbl_800BDAC0:
|
||||
/* 0B8520 800BDAC0 8001002C */ lwz r0, 0x2c(r1)
|
||||
/* 0B8524 800BDAC4 83E10024 */ lwz r31, 0x24(r1)
|
||||
/* 0B8528 800BDAC8 83C10020 */ lwz r30, 0x20(r1)
|
||||
/* 0B852C 800BDACC 83A1001C */ lwz r29, 0x1c(r1)
|
||||
/* 0B8530 800BDAD0 38210028 */ addi r1, r1, 0x28
|
||||
/* 0B8534 800BDAD4 7C0803A6 */ mtlr r0
|
||||
/* 0B8538 800BDAD8 4E800020 */ blr
|
||||
|
||||
glabel __CARDUpdateDir
|
||||
/* 0B853C 800BDADC 7C0802A6 */ mflr r0
|
||||
/* 0B8540 800BDAE0 90010004 */ stw r0, 4(r1)
|
||||
/* 0B8544 800BDAE4 9421FFD8 */ stwu r1, -0x28(r1)
|
||||
/* 0B8548 800BDAE8 93E10024 */ stw r31, 0x24(r1)
|
||||
/* 0B854C 800BDAEC 93C10020 */ stw r30, 0x20(r1)
|
||||
/* 0B8550 800BDAF0 93A1001C */ stw r29, 0x1c(r1)
|
||||
/* 0B8554 800BDAF4 3BA40000 */ addi r29, r4, 0
|
||||
/* 0B8558 800BDAF8 93810018 */ stw r28, 0x18(r1)
|
||||
/* 0B855C 800BDAFC 3B830000 */ addi r28, r3, 0
|
||||
/* 0B8560 800BDB00 1CBC0110 */ mulli r5, r28, 0x110
|
||||
/* 0B8564 800BDB04 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0B8568 800BDB08 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0B856C 800BDB0C 7FC02A14 */ add r30, r0, r5
|
||||
/* 0B8570 800BDB10 801E0000 */ lwz r0, 0(r30)
|
||||
/* 0B8574 800BDB14 2C000000 */ cmpwi r0, 0
|
||||
/* 0B8578 800BDB18 4082000C */ bne lbl_800BDB24
|
||||
/* 0B857C 800BDB1C 3860FFFD */ li r3, -3
|
||||
/* 0B8580 800BDB20 48000060 */ b lbl_800BDB80
|
||||
lbl_800BDB24:
|
||||
/* 0B8584 800BDB24 83FE0084 */ lwz r31, 0x84(r30)
|
||||
/* 0B8588 800BDB28 38801FFC */ li r4, 0x1ffc
|
||||
/* 0B858C 800BDB2C A8BF1FFA */ lha r5, 0x1ffa(r31)
|
||||
/* 0B8590 800BDB30 38DF1FC0 */ addi r6, r31, 0x1fc0
|
||||
/* 0B8594 800BDB34 387F0000 */ addi r3, r31, 0
|
||||
/* 0B8598 800BDB38 38050001 */ addi r0, r5, 1
|
||||
/* 0B859C 800BDB3C B01F1FFA */ sth r0, 0x1ffa(r31)
|
||||
/* 0B85A0 800BDB40 38A6003C */ addi r5, r6, 0x3c
|
||||
/* 0B85A4 800BDB44 38C6003E */ addi r6, r6, 0x3e
|
||||
/* 0B85A8 800BDB48 48000059 */ bl __CARDCheckSum
|
||||
/* 0B85AC 800BDB4C 387F0000 */ addi r3, r31, 0
|
||||
/* 0B85B0 800BDB50 38802000 */ li r4, 0x2000
|
||||
/* 0B85B4 800BDB54 4BFDFC59 */ bl DCStoreRange
|
||||
/* 0B85B8 800BDB58 93BE00D8 */ stw r29, 0xd8(r30)
|
||||
/* 0B85BC 800BDB5C 3C60800C */ lis r3, EraseCallback@ha
|
||||
/* 0B85C0 800BDB60 38A3DA14 */ addi r5, r3, EraseCallback@l
|
||||
/* 0B85C4 800BDB64 801E0080 */ lwz r0, 0x80(r30)
|
||||
/* 0B85C8 800BDB68 7F83E378 */ mr r3, r28
|
||||
/* 0B85CC 800BDB6C 809E000C */ lwz r4, 0xc(r30)
|
||||
/* 0B85D0 800BDB70 7C00F850 */ subf r0, r0, r31
|
||||
/* 0B85D4 800BDB74 54009B7E */ srwi r0, r0, 0xd
|
||||
/* 0B85D8 800BDB78 7C8401D6 */ mullw r4, r4, r0
|
||||
/* 0B85DC 800BDB7C 4BFFDF75 */ bl __CARDEraseSector
|
||||
lbl_800BDB80:
|
||||
/* 0B85E0 800BDB80 8001002C */ lwz r0, 0x2c(r1)
|
||||
/* 0B85E4 800BDB84 83E10024 */ lwz r31, 0x24(r1)
|
||||
/* 0B85E8 800BDB88 83C10020 */ lwz r30, 0x20(r1)
|
||||
/* 0B85EC 800BDB8C 83A1001C */ lwz r29, 0x1c(r1)
|
||||
/* 0B85F0 800BDB90 83810018 */ lwz r28, 0x18(r1)
|
||||
/* 0B85F4 800BDB94 38210028 */ addi r1, r1, 0x28
|
||||
/* 0B85F8 800BDB98 7C0803A6 */ mtlr r0
|
||||
/* 0B85FC 800BDB9C 4E800020 */ blr
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+795
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,16 @@
|
||||
# CARDNet.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .sdata, "wa"
|
||||
|
||||
.balign 8
|
||||
|
||||
/* 000F17D8 80135558 0002 */
|
||||
glabel __CARDVendorID
|
||||
.short 0xFFFF
|
||||
|
||||
/* 000F17DA 8013555A 0001 */
|
||||
glabel __CARDPermMask
|
||||
.byte 0x1C
|
||||
|
||||
|
||||
+446
@@ -0,0 +1,446 @@
|
||||
# CARDOpen.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
glabel __CARDCompareFileName
|
||||
/* 0BA80C 800BFDAC 38A30008 */ addi r5, r3, 8
|
||||
/* 0BA810 800BFDB0 38E00020 */ li r7, 0x20
|
||||
/* 0BA814 800BFDB4 4800003C */ b lbl_800BFDF0
|
||||
lbl_800BFDB8:
|
||||
/* 0BA818 800BFDB8 88050000 */ lbz r0, 0(r5)
|
||||
/* 0BA81C 800BFDBC 38A50001 */ addi r5, r5, 1
|
||||
/* 0BA820 800BFDC0 88C40000 */ lbz r6, 0(r4)
|
||||
/* 0BA824 800BFDC4 38840001 */ addi r4, r4, 1
|
||||
/* 0BA828 800BFDC8 7C030774 */ extsb r3, r0
|
||||
/* 0BA82C 800BFDCC 7CC00774 */ extsb r0, r6
|
||||
/* 0BA830 800BFDD0 7C030000 */ cmpw r3, r0
|
||||
/* 0BA834 800BFDD4 4182000C */ beq lbl_800BFDE0
|
||||
/* 0BA838 800BFDD8 38600000 */ li r3, 0
|
||||
/* 0BA83C 800BFDDC 4E800020 */ blr
|
||||
lbl_800BFDE0:
|
||||
/* 0BA840 800BFDE0 7CC00775 */ extsb. r0, r6
|
||||
/* 0BA844 800BFDE4 4082000C */ bne lbl_800BFDF0
|
||||
/* 0BA848 800BFDE8 38600001 */ li r3, 1
|
||||
/* 0BA84C 800BFDEC 4E800020 */ blr
|
||||
lbl_800BFDF0:
|
||||
/* 0BA850 800BFDF0 34E7FFFF */ addic. r7, r7, -1
|
||||
/* 0BA854 800BFDF4 4080FFC4 */ bge lbl_800BFDB8
|
||||
/* 0BA858 800BFDF8 88040000 */ lbz r0, 0(r4)
|
||||
/* 0BA85C 800BFDFC 7C000775 */ extsb. r0, r0
|
||||
/* 0BA860 800BFE00 4082000C */ bne lbl_800BFE0C
|
||||
/* 0BA864 800BFE04 38600001 */ li r3, 1
|
||||
/* 0BA868 800BFE08 4E800020 */ blr
|
||||
lbl_800BFE0C:
|
||||
/* 0BA86C 800BFE0C 38600000 */ li r3, 0
|
||||
/* 0BA870 800BFE10 4E800020 */ blr
|
||||
|
||||
glabel __CARDAccess
|
||||
/* 0BA874 800BFE14 7C0802A6 */ mflr r0
|
||||
/* 0BA878 800BFE18 90010004 */ stw r0, 4(r1)
|
||||
/* 0BA87C 800BFE1C 9421FFE8 */ stwu r1, -0x18(r1)
|
||||
/* 0BA880 800BFE20 93E10014 */ stw r31, 0x14(r1)
|
||||
/* 0BA884 800BFE24 93C10010 */ stw r30, 0x10(r1)
|
||||
/* 0BA888 800BFE28 7C9E2378 */ mr r30, r4
|
||||
/* 0BA88C 800BFE2C 88040000 */ lbz r0, 0(r4)
|
||||
/* 0BA890 800BFE30 83E3010C */ lwz r31, 0x10c(r3)
|
||||
/* 0BA894 800BFE34 280000FF */ cmplwi r0, 0xff
|
||||
/* 0BA898 800BFE38 4082000C */ bne lbl_800BFE44
|
||||
/* 0BA89C 800BFE3C 3860FFFC */ li r3, -4
|
||||
/* 0BA8A0 800BFE40 48000050 */ b lbl_800BFE90
|
||||
lbl_800BFE44:
|
||||
/* 0BA8A4 800BFE44 3C608013 */ lis r3, __CARDDiskNone@ha
|
||||
/* 0BA8A8 800BFE48 380329F0 */ addi r0, r3, __CARDDiskNone@l
|
||||
/* 0BA8AC 800BFE4C 7C1F0040 */ cmplw r31, r0
|
||||
/* 0BA8B0 800BFE50 41820034 */ beq lbl_800BFE84
|
||||
/* 0BA8B4 800BFE54 387E0000 */ addi r3, r30, 0
|
||||
/* 0BA8B8 800BFE58 389F0000 */ addi r4, r31, 0
|
||||
/* 0BA8BC 800BFE5C 38A00004 */ li r5, 4
|
||||
/* 0BA8C0 800BFE60 4800EAB1 */ bl memcmp
|
||||
/* 0BA8C4 800BFE64 2C030000 */ cmpwi r3, 0
|
||||
/* 0BA8C8 800BFE68 40820024 */ bne lbl_800BFE8C
|
||||
/* 0BA8CC 800BFE6C 387E0004 */ addi r3, r30, 4
|
||||
/* 0BA8D0 800BFE70 389F0004 */ addi r4, r31, 4
|
||||
/* 0BA8D4 800BFE74 38A00002 */ li r5, 2
|
||||
/* 0BA8D8 800BFE78 4800EA99 */ bl memcmp
|
||||
/* 0BA8DC 800BFE7C 2C030000 */ cmpwi r3, 0
|
||||
/* 0BA8E0 800BFE80 4082000C */ bne lbl_800BFE8C
|
||||
lbl_800BFE84:
|
||||
/* 0BA8E4 800BFE84 38600000 */ li r3, 0
|
||||
/* 0BA8E8 800BFE88 48000008 */ b lbl_800BFE90
|
||||
lbl_800BFE8C:
|
||||
/* 0BA8EC 800BFE8C 3860FFF6 */ li r3, -10
|
||||
lbl_800BFE90:
|
||||
/* 0BA8F0 800BFE90 8001001C */ lwz r0, 0x1c(r1)
|
||||
/* 0BA8F4 800BFE94 83E10014 */ lwz r31, 0x14(r1)
|
||||
/* 0BA8F8 800BFE98 83C10010 */ lwz r30, 0x10(r1)
|
||||
/* 0BA8FC 800BFE9C 38210018 */ addi r1, r1, 0x18
|
||||
/* 0BA900 800BFEA0 7C0803A6 */ mtlr r0
|
||||
/* 0BA904 800BFEA4 4E800020 */ blr
|
||||
|
||||
glabel __CARDIsWritable
|
||||
/* 0BA908 800BFEA8 7C0802A6 */ mflr r0
|
||||
/* 0BA90C 800BFEAC 90010004 */ stw r0, 4(r1)
|
||||
/* 0BA910 800BFEB0 9421FFD8 */ stwu r1, -0x28(r1)
|
||||
/* 0BA914 800BFEB4 BF610014 */ stmw r27, 0x14(r1)
|
||||
/* 0BA918 800BFEB8 7C9B2378 */ mr r27, r4
|
||||
/* 0BA91C 800BFEBC 88040000 */ lbz r0, 0(r4)
|
||||
/* 0BA920 800BFEC0 83A3010C */ lwz r29, 0x10c(r3)
|
||||
/* 0BA924 800BFEC4 280000FF */ cmplwi r0, 0xff
|
||||
/* 0BA928 800BFEC8 4082000C */ bne lbl_800BFED4
|
||||
/* 0BA92C 800BFECC 3BC0FFFC */ li r30, -4
|
||||
/* 0BA930 800BFED0 48000050 */ b lbl_800BFF20
|
||||
lbl_800BFED4:
|
||||
/* 0BA934 800BFED4 3C608013 */ lis r3, __CARDDiskNone@ha
|
||||
/* 0BA938 800BFED8 380329F0 */ addi r0, r3, __CARDDiskNone@l
|
||||
/* 0BA93C 800BFEDC 7C1D0040 */ cmplw r29, r0
|
||||
/* 0BA940 800BFEE0 41820034 */ beq lbl_800BFF14
|
||||
/* 0BA944 800BFEE4 387B0000 */ addi r3, r27, 0
|
||||
/* 0BA948 800BFEE8 389D0000 */ addi r4, r29, 0
|
||||
/* 0BA94C 800BFEEC 38A00004 */ li r5, 4
|
||||
/* 0BA950 800BFEF0 4800EA21 */ bl memcmp
|
||||
/* 0BA954 800BFEF4 2C030000 */ cmpwi r3, 0
|
||||
/* 0BA958 800BFEF8 40820024 */ bne lbl_800BFF1C
|
||||
/* 0BA95C 800BFEFC 387B0004 */ addi r3, r27, 4
|
||||
/* 0BA960 800BFF00 389D0004 */ addi r4, r29, 4
|
||||
/* 0BA964 800BFF04 38A00002 */ li r5, 2
|
||||
/* 0BA968 800BFF08 4800EA09 */ bl memcmp
|
||||
/* 0BA96C 800BFF0C 2C030000 */ cmpwi r3, 0
|
||||
/* 0BA970 800BFF10 4082000C */ bne lbl_800BFF1C
|
||||
lbl_800BFF14:
|
||||
/* 0BA974 800BFF14 3BC00000 */ li r30, 0
|
||||
/* 0BA978 800BFF18 48000008 */ b lbl_800BFF20
|
||||
lbl_800BFF1C:
|
||||
/* 0BA97C 800BFF1C 3BC0FFF6 */ li r30, -10
|
||||
lbl_800BFF20:
|
||||
/* 0BA980 800BFF20 2C1EFFF6 */ cmpwi r30, -10
|
||||
/* 0BA984 800BFF24 408200A0 */ bne lbl_800BFFC4
|
||||
/* 0BA988 800BFF28 887B0034 */ lbz r3, 0x34(r27)
|
||||
/* 0BA98C 800BFF2C 880D887A */ lbz r0, __CARDPermMask-_SDA_BASE_(r13)
|
||||
/* 0BA990 800BFF30 7C600038 */ and r0, r3, r0
|
||||
/* 0BA994 800BFF34 541C063E */ clrlwi r28, r0, 0x18
|
||||
/* 0BA998 800BFF38 540006B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
|
||||
/* 0BA99C 800BFF3C 41820044 */ beq lbl_800BFF80
|
||||
/* 0BA9A0 800BFF40 3C608013 */ lis r3, __CARDDiskNone@ha
|
||||
/* 0BA9A4 800BFF44 3BE329F0 */ addi r31, r3, __CARDDiskNone@l
|
||||
/* 0BA9A8 800BFF48 387B0000 */ addi r3, r27, 0
|
||||
/* 0BA9AC 800BFF4C 389F0000 */ addi r4, r31, 0
|
||||
/* 0BA9B0 800BFF50 38A00004 */ li r5, 4
|
||||
/* 0BA9B4 800BFF54 4800E9BD */ bl memcmp
|
||||
/* 0BA9B8 800BFF58 2C030000 */ cmpwi r3, 0
|
||||
/* 0BA9BC 800BFF5C 40820024 */ bne lbl_800BFF80
|
||||
/* 0BA9C0 800BFF60 387B0004 */ addi r3, r27, 4
|
||||
/* 0BA9C4 800BFF64 389F0004 */ addi r4, r31, 4
|
||||
/* 0BA9C8 800BFF68 38A00002 */ li r5, 2
|
||||
/* 0BA9CC 800BFF6C 4800E9A5 */ bl memcmp
|
||||
/* 0BA9D0 800BFF70 2C030000 */ cmpwi r3, 0
|
||||
/* 0BA9D4 800BFF74 4082000C */ bne lbl_800BFF80
|
||||
/* 0BA9D8 800BFF78 38600000 */ li r3, 0
|
||||
/* 0BA9DC 800BFF7C 4800004C */ b lbl_800BFFC8
|
||||
lbl_800BFF80:
|
||||
/* 0BA9E0 800BFF80 57800673 */ rlwinm. r0, r28, 0, 0x19, 0x19
|
||||
/* 0BA9E4 800BFF84 41820040 */ beq lbl_800BFFC4
|
||||
/* 0BA9E8 800BFF88 3C608013 */ lis r3, __CARDDiskNone@ha
|
||||
/* 0BA9EC 800BFF8C 388329F0 */ addi r4, r3, __CARDDiskNone@l
|
||||
/* 0BA9F0 800BFF90 387B0000 */ addi r3, r27, 0
|
||||
/* 0BA9F4 800BFF94 38A00004 */ li r5, 4
|
||||
/* 0BA9F8 800BFF98 4800E979 */ bl memcmp
|
||||
/* 0BA9FC 800BFF9C 2C030000 */ cmpwi r3, 0
|
||||
/* 0BAA00 800BFFA0 40820024 */ bne lbl_800BFFC4
|
||||
/* 0BAA04 800BFFA4 387B0004 */ addi r3, r27, 4
|
||||
/* 0BAA08 800BFFA8 389D0004 */ addi r4, r29, 4
|
||||
/* 0BAA0C 800BFFAC 38A00002 */ li r5, 2
|
||||
/* 0BAA10 800BFFB0 4800E961 */ bl memcmp
|
||||
/* 0BAA14 800BFFB4 2C030000 */ cmpwi r3, 0
|
||||
/* 0BAA18 800BFFB8 4082000C */ bne lbl_800BFFC4
|
||||
/* 0BAA1C 800BFFBC 38600000 */ li r3, 0
|
||||
/* 0BAA20 800BFFC0 48000008 */ b lbl_800BFFC8
|
||||
lbl_800BFFC4:
|
||||
/* 0BAA24 800BFFC4 7FC3F378 */ mr r3, r30
|
||||
lbl_800BFFC8:
|
||||
/* 0BAA28 800BFFC8 BB610014 */ lmw r27, 0x14(r1)
|
||||
/* 0BAA2C 800BFFCC 8001002C */ lwz r0, 0x2c(r1)
|
||||
/* 0BAA30 800BFFD0 38210028 */ addi r1, r1, 0x28
|
||||
/* 0BAA34 800BFFD4 7C0803A6 */ mtlr r0
|
||||
/* 0BAA38 800BFFD8 4E800020 */ blr
|
||||
|
||||
glabel __CARDIsReadable
|
||||
/* 0BAA3C 800BFFDC 7C0802A6 */ mflr r0
|
||||
/* 0BAA40 800BFFE0 90010004 */ stw r0, 4(r1)
|
||||
/* 0BAA44 800BFFE4 9421FFD8 */ stwu r1, -0x28(r1)
|
||||
/* 0BAA48 800BFFE8 BF610014 */ stmw r27, 0x14(r1)
|
||||
/* 0BAA4C 800BFFEC 7C9B2378 */ mr r27, r4
|
||||
/* 0BAA50 800BFFF0 8383010C */ lwz r28, 0x10c(r3)
|
||||
/* 0BAA54 800BFFF4 4BFFFE21 */ bl __CARDAccess
|
||||
/* 0BAA58 800BFFF8 3BA30000 */ addi r29, r3, 0
|
||||
/* 0BAA5C 800BFFFC 2C1DFFF6 */ cmpwi r29, -10
|
||||
/* 0BAA60 800C0000 4082009C */ bne lbl_800C009C
|
||||
/* 0BAA64 800C0004 887B0034 */ lbz r3, 0x34(r27)
|
||||
/* 0BAA68 800C0008 880D887A */ lbz r0, __CARDPermMask-_SDA_BASE_(r13)
|
||||
/* 0BAA6C 800C000C 7C600038 */ and r0, r3, r0
|
||||
/* 0BAA70 800C0010 541E063E */ clrlwi r30, r0, 0x18
|
||||
/* 0BAA74 800C0014 540006B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
|
||||
/* 0BAA78 800C0018 41820044 */ beq lbl_800C005C
|
||||
/* 0BAA7C 800C001C 3C608013 */ lis r3, __CARDDiskNone@ha
|
||||
/* 0BAA80 800C0020 3BE329F0 */ addi r31, r3, __CARDDiskNone@l
|
||||
/* 0BAA84 800C0024 387B0000 */ addi r3, r27, 0
|
||||
/* 0BAA88 800C0028 389F0000 */ addi r4, r31, 0
|
||||
/* 0BAA8C 800C002C 38A00004 */ li r5, 4
|
||||
/* 0BAA90 800C0030 4800E8E1 */ bl memcmp
|
||||
/* 0BAA94 800C0034 2C030000 */ cmpwi r3, 0
|
||||
/* 0BAA98 800C0038 40820024 */ bne lbl_800C005C
|
||||
/* 0BAA9C 800C003C 387B0004 */ addi r3, r27, 4
|
||||
/* 0BAAA0 800C0040 389F0004 */ addi r4, r31, 4
|
||||
/* 0BAAA4 800C0044 38A00002 */ li r5, 2
|
||||
/* 0BAAA8 800C0048 4800E8C9 */ bl memcmp
|
||||
/* 0BAAAC 800C004C 2C030000 */ cmpwi r3, 0
|
||||
/* 0BAAB0 800C0050 4082000C */ bne lbl_800C005C
|
||||
/* 0BAAB4 800C0054 3BA00000 */ li r29, 0
|
||||
/* 0BAAB8 800C0058 48000044 */ b lbl_800C009C
|
||||
lbl_800C005C:
|
||||
/* 0BAABC 800C005C 57C00673 */ rlwinm. r0, r30, 0, 0x19, 0x19
|
||||
/* 0BAAC0 800C0060 4182003C */ beq lbl_800C009C
|
||||
/* 0BAAC4 800C0064 3C608013 */ lis r3, __CARDDiskNone@ha
|
||||
/* 0BAAC8 800C0068 388329F0 */ addi r4, r3, __CARDDiskNone@l
|
||||
/* 0BAACC 800C006C 387B0000 */ addi r3, r27, 0
|
||||
/* 0BAAD0 800C0070 38A00004 */ li r5, 4
|
||||
/* 0BAAD4 800C0074 4800E89D */ bl memcmp
|
||||
/* 0BAAD8 800C0078 2C030000 */ cmpwi r3, 0
|
||||
/* 0BAADC 800C007C 40820020 */ bne lbl_800C009C
|
||||
/* 0BAAE0 800C0080 387B0004 */ addi r3, r27, 4
|
||||
/* 0BAAE4 800C0084 389C0004 */ addi r4, r28, 4
|
||||
/* 0BAAE8 800C0088 38A00002 */ li r5, 2
|
||||
/* 0BAAEC 800C008C 4800E885 */ bl memcmp
|
||||
/* 0BAAF0 800C0090 2C030000 */ cmpwi r3, 0
|
||||
/* 0BAAF4 800C0094 40820008 */ bne lbl_800C009C
|
||||
/* 0BAAF8 800C0098 3BA00000 */ li r29, 0
|
||||
lbl_800C009C:
|
||||
/* 0BAAFC 800C009C 2C1DFFF6 */ cmpwi r29, -10
|
||||
/* 0BAB00 800C00A0 40820018 */ bne lbl_800C00B8
|
||||
/* 0BAB04 800C00A4 881B0034 */ lbz r0, 0x34(r27)
|
||||
/* 0BAB08 800C00A8 5400077B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
|
||||
/* 0BAB0C 800C00AC 4182000C */ beq lbl_800C00B8
|
||||
/* 0BAB10 800C00B0 38600000 */ li r3, 0
|
||||
/* 0BAB14 800C00B4 48000008 */ b lbl_800C00BC
|
||||
lbl_800C00B8:
|
||||
/* 0BAB18 800C00B8 7FA3EB78 */ mr r3, r29
|
||||
lbl_800C00BC:
|
||||
/* 0BAB1C 800C00BC BB610014 */ lmw r27, 0x14(r1)
|
||||
/* 0BAB20 800C00C0 8001002C */ lwz r0, 0x2c(r1)
|
||||
/* 0BAB24 800C00C4 38210028 */ addi r1, r1, 0x28
|
||||
/* 0BAB28 800C00C8 7C0803A6 */ mtlr r0
|
||||
/* 0BAB2C 800C00CC 4E800020 */ blr
|
||||
|
||||
glabel __CARDGetFileNo
|
||||
/* 0BAB30 800C00D0 7C0802A6 */ mflr r0
|
||||
/* 0BAB34 800C00D4 90010004 */ stw r0, 4(r1)
|
||||
/* 0BAB38 800C00D8 9421FFC8 */ stwu r1, -0x38(r1)
|
||||
/* 0BAB3C 800C00DC BF21001C */ stmw r25, 0x1c(r1)
|
||||
/* 0BAB40 800C00E0 7C7B1B78 */ mr r27, r3
|
||||
/* 0BAB44 800C00E4 3B840000 */ addi r28, r4, 0
|
||||
/* 0BAB48 800C00E8 3BA50000 */ addi r29, r5, 0
|
||||
/* 0BAB4C 800C00EC 80030000 */ lwz r0, 0(r3)
|
||||
/* 0BAB50 800C00F0 2C000000 */ cmpwi r0, 0
|
||||
/* 0BAB54 800C00F4 4082000C */ bne lbl_800C0100
|
||||
/* 0BAB58 800C00F8 3860FFFD */ li r3, -3
|
||||
/* 0BAB5C 800C00FC 48000110 */ b lbl_800C020C
|
||||
lbl_800C0100:
|
||||
/* 0BAB60 800C0100 7F63DB78 */ mr r3, r27
|
||||
/* 0BAB64 800C0104 4BFFD839 */ bl __CARDGetDirBlock
|
||||
/* 0BAB68 800C0108 3C808013 */ lis r4, __CARDDiskNone@ha
|
||||
/* 0BAB6C 800C010C 3BE30000 */ addi r31, r3, 0
|
||||
/* 0BAB70 800C0110 3B4429F0 */ addi r26, r4, __CARDDiskNone@l
|
||||
/* 0BAB74 800C0114 3BC00000 */ li r30, 0
|
||||
lbl_800C0118:
|
||||
/* 0BAB78 800C0118 881F0000 */ lbz r0, 0(r31)
|
||||
/* 0BAB7C 800C011C 833B010C */ lwz r25, 0x10c(r27)
|
||||
/* 0BAB80 800C0120 280000FF */ cmplwi r0, 0xff
|
||||
/* 0BAB84 800C0124 4082000C */ bne lbl_800C0130
|
||||
/* 0BAB88 800C0128 3800FFFC */ li r0, -4
|
||||
/* 0BAB8C 800C012C 48000048 */ b lbl_800C0174
|
||||
lbl_800C0130:
|
||||
/* 0BAB90 800C0130 7C19D040 */ cmplw r25, r26
|
||||
/* 0BAB94 800C0134 41820034 */ beq lbl_800C0168
|
||||
/* 0BAB98 800C0138 387F0000 */ addi r3, r31, 0
|
||||
/* 0BAB9C 800C013C 38990000 */ addi r4, r25, 0
|
||||
/* 0BABA0 800C0140 38A00004 */ li r5, 4
|
||||
/* 0BABA4 800C0144 4800E7CD */ bl memcmp
|
||||
/* 0BABA8 800C0148 2C030000 */ cmpwi r3, 0
|
||||
/* 0BABAC 800C014C 40820024 */ bne lbl_800C0170
|
||||
/* 0BABB0 800C0150 387F0004 */ addi r3, r31, 4
|
||||
/* 0BABB4 800C0154 38990004 */ addi r4, r25, 4
|
||||
/* 0BABB8 800C0158 38A00002 */ li r5, 2
|
||||
/* 0BABBC 800C015C 4800E7B5 */ bl memcmp
|
||||
/* 0BABC0 800C0160 2C030000 */ cmpwi r3, 0
|
||||
/* 0BABC4 800C0164 4082000C */ bne lbl_800C0170
|
||||
lbl_800C0168:
|
||||
/* 0BABC8 800C0168 38000000 */ li r0, 0
|
||||
/* 0BABCC 800C016C 48000008 */ b lbl_800C0174
|
||||
lbl_800C0170:
|
||||
/* 0BABD0 800C0170 3800FFF6 */ li r0, -10
|
||||
lbl_800C0174:
|
||||
/* 0BABD4 800C0174 2C000000 */ cmpwi r0, 0
|
||||
/* 0BABD8 800C0178 41800080 */ blt lbl_800C01F8
|
||||
/* 0BABDC 800C017C 38FC0000 */ addi r7, r28, 0
|
||||
/* 0BABE0 800C0180 38DF0008 */ addi r6, r31, 8
|
||||
/* 0BABE4 800C0184 38800020 */ li r4, 0x20
|
||||
/* 0BABE8 800C0188 4800003C */ b lbl_800C01C4
|
||||
lbl_800C018C:
|
||||
/* 0BABEC 800C018C 88060000 */ lbz r0, 0(r6)
|
||||
/* 0BABF0 800C0190 38C60001 */ addi r6, r6, 1
|
||||
/* 0BABF4 800C0194 88A70000 */ lbz r5, 0(r7)
|
||||
/* 0BABF8 800C0198 38E70001 */ addi r7, r7, 1
|
||||
/* 0BABFC 800C019C 7C030774 */ extsb r3, r0
|
||||
/* 0BAC00 800C01A0 7CA00774 */ extsb r0, r5
|
||||
/* 0BAC04 800C01A4 7C030000 */ cmpw r3, r0
|
||||
/* 0BAC08 800C01A8 4182000C */ beq lbl_800C01B4
|
||||
/* 0BAC0C 800C01AC 38000000 */ li r0, 0
|
||||
/* 0BAC10 800C01B0 48000034 */ b lbl_800C01E4
|
||||
lbl_800C01B4:
|
||||
/* 0BAC14 800C01B4 7CA00775 */ extsb. r0, r5
|
||||
/* 0BAC18 800C01B8 4082000C */ bne lbl_800C01C4
|
||||
/* 0BAC1C 800C01BC 38000001 */ li r0, 1
|
||||
/* 0BAC20 800C01C0 48000024 */ b lbl_800C01E4
|
||||
lbl_800C01C4:
|
||||
/* 0BAC24 800C01C4 3484FFFF */ addic. r4, r4, -1
|
||||
/* 0BAC28 800C01C8 4080FFC4 */ bge lbl_800C018C
|
||||
/* 0BAC2C 800C01CC 88070000 */ lbz r0, 0(r7)
|
||||
/* 0BAC30 800C01D0 7C000775 */ extsb. r0, r0
|
||||
/* 0BAC34 800C01D4 4082000C */ bne lbl_800C01E0
|
||||
/* 0BAC38 800C01D8 38000001 */ li r0, 1
|
||||
/* 0BAC3C 800C01DC 48000008 */ b lbl_800C01E4
|
||||
lbl_800C01E0:
|
||||
/* 0BAC40 800C01E0 38000000 */ li r0, 0
|
||||
lbl_800C01E4:
|
||||
/* 0BAC44 800C01E4 2C000000 */ cmpwi r0, 0
|
||||
/* 0BAC48 800C01E8 41820010 */ beq lbl_800C01F8
|
||||
/* 0BAC4C 800C01EC 93DD0000 */ stw r30, 0(r29)
|
||||
/* 0BAC50 800C01F0 38600000 */ li r3, 0
|
||||
/* 0BAC54 800C01F4 48000018 */ b lbl_800C020C
|
||||
lbl_800C01F8:
|
||||
/* 0BAC58 800C01F8 3BDE0001 */ addi r30, r30, 1
|
||||
/* 0BAC5C 800C01FC 2C1E007F */ cmpwi r30, 0x7f
|
||||
/* 0BAC60 800C0200 3BFF0040 */ addi r31, r31, 0x40
|
||||
/* 0BAC64 800C0204 4180FF14 */ blt lbl_800C0118
|
||||
/* 0BAC68 800C0208 3860FFFC */ li r3, -4
|
||||
lbl_800C020C:
|
||||
/* 0BAC6C 800C020C BB21001C */ lmw r25, 0x1c(r1)
|
||||
/* 0BAC70 800C0210 8001003C */ lwz r0, 0x3c(r1)
|
||||
/* 0BAC74 800C0214 38210038 */ addi r1, r1, 0x38
|
||||
/* 0BAC78 800C0218 7C0803A6 */ mtlr r0
|
||||
/* 0BAC7C 800C021C 4E800020 */ blr
|
||||
|
||||
glabel CARDOpen
|
||||
/* 0BAC80 800C0220 7C0802A6 */ mflr r0
|
||||
/* 0BAC84 800C0224 90010004 */ stw r0, 4(r1)
|
||||
/* 0BAC88 800C0228 3800FFFF */ li r0, -1
|
||||
/* 0BAC8C 800C022C 9421FFC8 */ stwu r1, -0x38(r1)
|
||||
/* 0BAC90 800C0230 BF21001C */ stmw r25, 0x1c(r1)
|
||||
/* 0BAC94 800C0234 3B240000 */ addi r25, r4, 0
|
||||
/* 0BAC98 800C0238 3BC50000 */ addi r30, r5, 0
|
||||
/* 0BAC9C 800C023C 3BA30000 */ addi r29, r3, 0
|
||||
/* 0BACA0 800C0240 38810014 */ addi r4, r1, 0x14
|
||||
/* 0BACA4 800C0244 90050000 */ stw r0, 0(r5)
|
||||
/* 0BACA8 800C0248 4BFFBA75 */ bl __CARDGetControlBlock
|
||||
/* 0BACAC 800C024C 2C030000 */ cmpwi r3, 0
|
||||
/* 0BACB0 800C0250 40800008 */ bge lbl_800C0258
|
||||
/* 0BACB4 800C0254 480000D4 */ b lbl_800C0328
|
||||
lbl_800C0258:
|
||||
/* 0BACB8 800C0258 83410014 */ lwz r26, 0x14(r1)
|
||||
/* 0BACBC 800C025C 801A0000 */ lwz r0, 0(r26)
|
||||
/* 0BACC0 800C0260 2C000000 */ cmpwi r0, 0
|
||||
/* 0BACC4 800C0264 4082000C */ bne lbl_800C0270
|
||||
/* 0BACC8 800C0268 3B40FFFD */ li r26, -3
|
||||
/* 0BACCC 800C026C 4800005C */ b lbl_800C02C8
|
||||
lbl_800C0270:
|
||||
/* 0BACD0 800C0270 7F43D378 */ mr r3, r26
|
||||
/* 0BACD4 800C0274 4BFFD6C9 */ bl __CARDGetDirBlock
|
||||
/* 0BACD8 800C0278 3B630000 */ addi r27, r3, 0
|
||||
/* 0BACDC 800C027C 3B800000 */ li r28, 0
|
||||
lbl_800C0280:
|
||||
/* 0BACE0 800C0280 387A0000 */ addi r3, r26, 0
|
||||
/* 0BACE4 800C0284 389B0000 */ addi r4, r27, 0
|
||||
/* 0BACE8 800C0288 4BFFFB8D */ bl __CARDAccess
|
||||
/* 0BACEC 800C028C 2C030000 */ cmpwi r3, 0
|
||||
/* 0BACF0 800C0290 41800024 */ blt lbl_800C02B4
|
||||
/* 0BACF4 800C0294 387B0000 */ addi r3, r27, 0
|
||||
/* 0BACF8 800C0298 38990000 */ addi r4, r25, 0
|
||||
/* 0BACFC 800C029C 4BFFFB11 */ bl __CARDCompareFileName
|
||||
/* 0BAD00 800C02A0 2C030000 */ cmpwi r3, 0
|
||||
/* 0BAD04 800C02A4 41820010 */ beq lbl_800C02B4
|
||||
/* 0BAD08 800C02A8 3BFC0000 */ addi r31, r28, 0
|
||||
/* 0BAD0C 800C02AC 3B400000 */ li r26, 0
|
||||
/* 0BAD10 800C02B0 48000018 */ b lbl_800C02C8
|
||||
lbl_800C02B4:
|
||||
/* 0BAD14 800C02B4 3B9C0001 */ addi r28, r28, 1
|
||||
/* 0BAD18 800C02B8 2C1C007F */ cmpwi r28, 0x7f
|
||||
/* 0BAD1C 800C02BC 3B7B0040 */ addi r27, r27, 0x40
|
||||
/* 0BAD20 800C02C0 4180FFC0 */ blt lbl_800C0280
|
||||
/* 0BAD24 800C02C4 3B40FFFC */ li r26, -4
|
||||
lbl_800C02C8:
|
||||
/* 0BAD28 800C02C8 2C1A0000 */ cmpwi r26, 0
|
||||
/* 0BAD2C 800C02CC 41800050 */ blt lbl_800C031C
|
||||
/* 0BAD30 800C02D0 80610014 */ lwz r3, 0x14(r1)
|
||||
/* 0BAD34 800C02D4 4BFFD669 */ bl __CARDGetDirBlock
|
||||
/* 0BAD38 800C02D8 57E03032 */ slwi r0, r31, 6
|
||||
/* 0BAD3C 800C02DC 7CA30214 */ add r5, r3, r0
|
||||
/* 0BAD40 800C02E0 A0850036 */ lhz r4, 0x36(r5)
|
||||
/* 0BAD44 800C02E4 28040005 */ cmplwi r4, 5
|
||||
/* 0BAD48 800C02E8 41800014 */ blt lbl_800C02FC
|
||||
/* 0BAD4C 800C02EC 80610014 */ lwz r3, 0x14(r1)
|
||||
/* 0BAD50 800C02F0 A0030010 */ lhz r0, 0x10(r3)
|
||||
/* 0BAD54 800C02F4 7C040040 */ cmplw r4, r0
|
||||
/* 0BAD58 800C02F8 4180000C */ blt lbl_800C0304
|
||||
lbl_800C02FC:
|
||||
/* 0BAD5C 800C02FC 3B40FFFA */ li r26, -6
|
||||
/* 0BAD60 800C0300 4800001C */ b lbl_800C031C
|
||||
lbl_800C0304:
|
||||
/* 0BAD64 800C0304 93BE0000 */ stw r29, 0(r30)
|
||||
/* 0BAD68 800C0308 38000000 */ li r0, 0
|
||||
/* 0BAD6C 800C030C 93FE0004 */ stw r31, 4(r30)
|
||||
/* 0BAD70 800C0310 901E0008 */ stw r0, 8(r30)
|
||||
/* 0BAD74 800C0314 A0050036 */ lhz r0, 0x36(r5)
|
||||
/* 0BAD78 800C0318 B01E0010 */ sth r0, 0x10(r30)
|
||||
lbl_800C031C:
|
||||
/* 0BAD7C 800C031C 80610014 */ lwz r3, 0x14(r1)
|
||||
/* 0BAD80 800C0320 7F44D378 */ mr r4, r26
|
||||
/* 0BAD84 800C0324 4BFFBA51 */ bl __CARDPutControlBlock
|
||||
lbl_800C0328:
|
||||
/* 0BAD88 800C0328 BB21001C */ lmw r25, 0x1c(r1)
|
||||
/* 0BAD8C 800C032C 8001003C */ lwz r0, 0x3c(r1)
|
||||
/* 0BAD90 800C0330 38210038 */ addi r1, r1, 0x38
|
||||
/* 0BAD94 800C0334 7C0803A6 */ mtlr r0
|
||||
/* 0BAD98 800C0338 4E800020 */ blr
|
||||
|
||||
glabel CARDClose
|
||||
/* 0BAD9C 800C033C 7C0802A6 */ mflr r0
|
||||
/* 0BADA0 800C0340 90010004 */ stw r0, 4(r1)
|
||||
/* 0BADA4 800C0344 9421FFE8 */ stwu r1, -0x18(r1)
|
||||
/* 0BADA8 800C0348 93E10014 */ stw r31, 0x14(r1)
|
||||
/* 0BADAC 800C034C 7C7F1B78 */ mr r31, r3
|
||||
/* 0BADB0 800C0350 3881000C */ addi r4, r1, 0xc
|
||||
/* 0BADB4 800C0354 80630000 */ lwz r3, 0(r3)
|
||||
/* 0BADB8 800C0358 4BFFB965 */ bl __CARDGetControlBlock
|
||||
/* 0BADBC 800C035C 2C030000 */ cmpwi r3, 0
|
||||
/* 0BADC0 800C0360 40800008 */ bge lbl_800C0368
|
||||
/* 0BADC4 800C0364 48000018 */ b lbl_800C037C
|
||||
lbl_800C0368:
|
||||
/* 0BADC8 800C0368 3800FFFF */ li r0, -1
|
||||
/* 0BADCC 800C036C 901F0000 */ stw r0, 0(r31)
|
||||
/* 0BADD0 800C0370 38800000 */ li r4, 0
|
||||
/* 0BADD4 800C0374 8061000C */ lwz r3, 0xc(r1)
|
||||
/* 0BADD8 800C0378 4BFFB9FD */ bl __CARDPutControlBlock
|
||||
lbl_800C037C:
|
||||
/* 0BADDC 800C037C 8001001C */ lwz r0, 0x1c(r1)
|
||||
/* 0BADE0 800C0380 83E10014 */ lwz r31, 0x14(r1)
|
||||
/* 0BADE4 800C0384 38210018 */ addi r1, r1, 0x18
|
||||
/* 0BADE8 800C0388 7C0803A6 */ mtlr r0
|
||||
/* 0BADEC 800C038C 4E800020 */ blr
|
||||
|
||||
glabel __CARDIsOpened
|
||||
/* 0BADF0 800C0390 38600000 */ li r3, 0
|
||||
/* 0BADF4 800C0394 4E800020 */ blr
|
||||
|
||||
|
||||
+194
@@ -0,0 +1,194 @@
|
||||
# CARDRdwr.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
BlockReadCallback:
|
||||
/* 0B7D00 800BD2A0 7C0802A6 */ mflr r0
|
||||
/* 0B7D04 800BD2A4 90010004 */ stw r0, 4(r1)
|
||||
/* 0B7D08 800BD2A8 9421FFE0 */ stwu r1, -0x20(r1)
|
||||
/* 0B7D0C 800BD2AC 93E1001C */ stw r31, 0x1c(r1)
|
||||
/* 0B7D10 800BD2B0 3BE30000 */ addi r31, r3, 0
|
||||
/* 0B7D14 800BD2B4 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0B7D18 800BD2B8 93C10018 */ stw r30, 0x18(r1)
|
||||
/* 0B7D1C 800BD2BC 1CBF0110 */ mulli r5, r31, 0x110
|
||||
/* 0B7D20 800BD2C0 93A10014 */ stw r29, 0x14(r1)
|
||||
/* 0B7D24 800BD2C4 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0B7D28 800BD2C8 7C9D2379 */ or. r29, r4, r4
|
||||
/* 0B7D2C 800BD2CC 7FC02A14 */ add r30, r0, r5
|
||||
/* 0B7D30 800BD2D0 41800050 */ blt lbl_800BD320
|
||||
/* 0B7D34 800BD2D4 807E00B8 */ lwz r3, 0xb8(r30)
|
||||
/* 0B7D38 800BD2D8 38030200 */ addi r0, r3, 0x200
|
||||
/* 0B7D3C 800BD2DC 901E00B8 */ stw r0, 0xb8(r30)
|
||||
/* 0B7D40 800BD2E0 807E00B0 */ lwz r3, 0xb0(r30)
|
||||
/* 0B7D44 800BD2E4 38030200 */ addi r0, r3, 0x200
|
||||
/* 0B7D48 800BD2E8 901E00B0 */ stw r0, 0xb0(r30)
|
||||
/* 0B7D4C 800BD2EC 807E00B4 */ lwz r3, 0xb4(r30)
|
||||
/* 0B7D50 800BD2F0 38030200 */ addi r0, r3, 0x200
|
||||
/* 0B7D54 800BD2F4 901E00B4 */ stw r0, 0xb4(r30)
|
||||
/* 0B7D58 800BD2F8 807E00AC */ lwz r3, 0xac(r30)
|
||||
/* 0B7D5C 800BD2FC 3403FFFF */ addic. r0, r3, -1
|
||||
/* 0B7D60 800BD300 901E00AC */ stw r0, 0xac(r30)
|
||||
/* 0B7D64 800BD304 4081001C */ ble lbl_800BD320
|
||||
/* 0B7D68 800BD308 3C60800C */ lis r3, BlockReadCallback@ha
|
||||
/* 0B7D6C 800BD30C 3883D2A0 */ addi r4, r3, BlockReadCallback@l
|
||||
/* 0B7D70 800BD310 387F0000 */ addi r3, r31, 0
|
||||
/* 0B7D74 800BD314 4BFFE58D */ bl __CARDReadSegment
|
||||
/* 0B7D78 800BD318 7C7D1B79 */ or. r29, r3, r3
|
||||
/* 0B7D7C 800BD31C 40800044 */ bge lbl_800BD360
|
||||
lbl_800BD320:
|
||||
/* 0B7D80 800BD320 801E00D0 */ lwz r0, 0xd0(r30)
|
||||
/* 0B7D84 800BD324 28000000 */ cmplwi r0, 0
|
||||
/* 0B7D88 800BD328 40820010 */ bne lbl_800BD338
|
||||
/* 0B7D8C 800BD32C 387E0000 */ addi r3, r30, 0
|
||||
/* 0B7D90 800BD330 389D0000 */ addi r4, r29, 0
|
||||
/* 0B7D94 800BD334 4BFFEA41 */ bl __CARDPutControlBlock
|
||||
lbl_800BD338:
|
||||
/* 0B7D98 800BD338 801E00D4 */ lwz r0, 0xd4(r30)
|
||||
/* 0B7D9C 800BD33C 28000000 */ cmplwi r0, 0
|
||||
/* 0B7DA0 800BD340 7C0C0378 */ mr r12, r0
|
||||
/* 0B7DA4 800BD344 4182001C */ beq lbl_800BD360
|
||||
/* 0B7DA8 800BD348 38000000 */ li r0, 0
|
||||
/* 0B7DAC 800BD34C 7D8803A6 */ mtlr r12
|
||||
/* 0B7DB0 800BD350 901E00D4 */ stw r0, 0xd4(r30)
|
||||
/* 0B7DB4 800BD354 387F0000 */ addi r3, r31, 0
|
||||
/* 0B7DB8 800BD358 389D0000 */ addi r4, r29, 0
|
||||
/* 0B7DBC 800BD35C 4E800021 */ blrl
|
||||
lbl_800BD360:
|
||||
/* 0B7DC0 800BD360 80010024 */ lwz r0, 0x24(r1)
|
||||
/* 0B7DC4 800BD364 83E1001C */ lwz r31, 0x1c(r1)
|
||||
/* 0B7DC8 800BD368 83C10018 */ lwz r30, 0x18(r1)
|
||||
/* 0B7DCC 800BD36C 83A10014 */ lwz r29, 0x14(r1)
|
||||
/* 0B7DD0 800BD370 38210020 */ addi r1, r1, 0x20
|
||||
/* 0B7DD4 800BD374 7C0803A6 */ mtlr r0
|
||||
/* 0B7DD8 800BD378 4E800020 */ blr
|
||||
|
||||
glabel __CARDRead
|
||||
/* 0B7DDC 800BD37C 7C0802A6 */ mflr r0
|
||||
/* 0B7DE0 800BD380 1D230110 */ mulli r9, r3, 0x110
|
||||
/* 0B7DE4 800BD384 90010004 */ stw r0, 4(r1)
|
||||
/* 0B7DE8 800BD388 3D008013 */ lis r8, __CARDBlock@ha
|
||||
/* 0B7DEC 800BD38C 9421FFF8 */ stwu r1, -8(r1)
|
||||
/* 0B7DF0 800BD390 380827D0 */ addi r0, r8, __CARDBlock@l
|
||||
/* 0B7DF4 800BD394 7D004A14 */ add r8, r0, r9
|
||||
/* 0B7DF8 800BD398 80080000 */ lwz r0, 0(r8)
|
||||
/* 0B7DFC 800BD39C 2C000000 */ cmpwi r0, 0
|
||||
/* 0B7E00 800BD3A0 4082000C */ bne lbl_800BD3AC
|
||||
/* 0B7E04 800BD3A4 3860FFFD */ li r3, -3
|
||||
/* 0B7E08 800BD3A8 48000028 */ b lbl_800BD3D0
|
||||
lbl_800BD3AC:
|
||||
/* 0B7E0C 800BD3AC 90E800D4 */ stw r7, 0xd4(r8)
|
||||
/* 0B7E10 800BD3B0 54A0BA7E */ srwi r0, r5, 9
|
||||
/* 0B7E14 800BD3B4 3CA0800C */ lis r5, BlockReadCallback@ha
|
||||
/* 0B7E18 800BD3B8 900800AC */ stw r0, 0xac(r8)
|
||||
/* 0B7E1C 800BD3BC 3805D2A0 */ addi r0, r5, BlockReadCallback@l
|
||||
/* 0B7E20 800BD3C0 908800B0 */ stw r4, 0xb0(r8)
|
||||
/* 0B7E24 800BD3C4 7C040378 */ mr r4, r0
|
||||
/* 0B7E28 800BD3C8 90C800B4 */ stw r6, 0xb4(r8)
|
||||
/* 0B7E2C 800BD3CC 4BFFE4D5 */ bl __CARDReadSegment
|
||||
lbl_800BD3D0:
|
||||
/* 0B7E30 800BD3D0 8001000C */ lwz r0, 0xc(r1)
|
||||
/* 0B7E34 800BD3D4 38210008 */ addi r1, r1, 8
|
||||
/* 0B7E38 800BD3D8 7C0803A6 */ mtlr r0
|
||||
/* 0B7E3C 800BD3DC 4E800020 */ blr
|
||||
|
||||
BlockWriteCallback:
|
||||
/* 0B7E40 800BD3E0 7C0802A6 */ mflr r0
|
||||
/* 0B7E44 800BD3E4 90010004 */ stw r0, 4(r1)
|
||||
/* 0B7E48 800BD3E8 9421FFE0 */ stwu r1, -0x20(r1)
|
||||
/* 0B7E4C 800BD3EC 93E1001C */ stw r31, 0x1c(r1)
|
||||
/* 0B7E50 800BD3F0 3BE30000 */ addi r31, r3, 0
|
||||
/* 0B7E54 800BD3F4 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0B7E58 800BD3F8 93C10018 */ stw r30, 0x18(r1)
|
||||
/* 0B7E5C 800BD3FC 1CBF0110 */ mulli r5, r31, 0x110
|
||||
/* 0B7E60 800BD400 93A10014 */ stw r29, 0x14(r1)
|
||||
/* 0B7E64 800BD404 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0B7E68 800BD408 7C9D2379 */ or. r29, r4, r4
|
||||
/* 0B7E6C 800BD40C 7FC02A14 */ add r30, r0, r5
|
||||
/* 0B7E70 800BD410 41800050 */ blt lbl_800BD460
|
||||
/* 0B7E74 800BD414 807E00B8 */ lwz r3, 0xb8(r30)
|
||||
/* 0B7E78 800BD418 38030080 */ addi r0, r3, 0x80
|
||||
/* 0B7E7C 800BD41C 901E00B8 */ stw r0, 0xb8(r30)
|
||||
/* 0B7E80 800BD420 807E00B0 */ lwz r3, 0xb0(r30)
|
||||
/* 0B7E84 800BD424 38030080 */ addi r0, r3, 0x80
|
||||
/* 0B7E88 800BD428 901E00B0 */ stw r0, 0xb0(r30)
|
||||
/* 0B7E8C 800BD42C 807E00B4 */ lwz r3, 0xb4(r30)
|
||||
/* 0B7E90 800BD430 38030080 */ addi r0, r3, 0x80
|
||||
/* 0B7E94 800BD434 901E00B4 */ stw r0, 0xb4(r30)
|
||||
/* 0B7E98 800BD438 807E00AC */ lwz r3, 0xac(r30)
|
||||
/* 0B7E9C 800BD43C 3403FFFF */ addic. r0, r3, -1
|
||||
/* 0B7EA0 800BD440 901E00AC */ stw r0, 0xac(r30)
|
||||
/* 0B7EA4 800BD444 4081001C */ ble lbl_800BD460
|
||||
/* 0B7EA8 800BD448 3C60800C */ lis r3, BlockWriteCallback@ha
|
||||
/* 0B7EAC 800BD44C 3883D3E0 */ addi r4, r3, BlockWriteCallback@l
|
||||
/* 0B7EB0 800BD450 387F0000 */ addi r3, r31, 0
|
||||
/* 0B7EB4 800BD454 4BFFE581 */ bl __CARDWritePage
|
||||
/* 0B7EB8 800BD458 7C7D1B79 */ or. r29, r3, r3
|
||||
/* 0B7EBC 800BD45C 40800044 */ bge lbl_800BD4A0
|
||||
lbl_800BD460:
|
||||
/* 0B7EC0 800BD460 801E00D0 */ lwz r0, 0xd0(r30)
|
||||
/* 0B7EC4 800BD464 28000000 */ cmplwi r0, 0
|
||||
/* 0B7EC8 800BD468 40820010 */ bne lbl_800BD478
|
||||
/* 0B7ECC 800BD46C 387E0000 */ addi r3, r30, 0
|
||||
/* 0B7ED0 800BD470 389D0000 */ addi r4, r29, 0
|
||||
/* 0B7ED4 800BD474 4BFFE901 */ bl __CARDPutControlBlock
|
||||
lbl_800BD478:
|
||||
/* 0B7ED8 800BD478 801E00D4 */ lwz r0, 0xd4(r30)
|
||||
/* 0B7EDC 800BD47C 28000000 */ cmplwi r0, 0
|
||||
/* 0B7EE0 800BD480 7C0C0378 */ mr r12, r0
|
||||
/* 0B7EE4 800BD484 4182001C */ beq lbl_800BD4A0
|
||||
/* 0B7EE8 800BD488 38000000 */ li r0, 0
|
||||
/* 0B7EEC 800BD48C 7D8803A6 */ mtlr r12
|
||||
/* 0B7EF0 800BD490 901E00D4 */ stw r0, 0xd4(r30)
|
||||
/* 0B7EF4 800BD494 387F0000 */ addi r3, r31, 0
|
||||
/* 0B7EF8 800BD498 389D0000 */ addi r4, r29, 0
|
||||
/* 0B7EFC 800BD49C 4E800021 */ blrl
|
||||
lbl_800BD4A0:
|
||||
/* 0B7F00 800BD4A0 80010024 */ lwz r0, 0x24(r1)
|
||||
/* 0B7F04 800BD4A4 83E1001C */ lwz r31, 0x1c(r1)
|
||||
/* 0B7F08 800BD4A8 83C10018 */ lwz r30, 0x18(r1)
|
||||
/* 0B7F0C 800BD4AC 83A10014 */ lwz r29, 0x14(r1)
|
||||
/* 0B7F10 800BD4B0 38210020 */ addi r1, r1, 0x20
|
||||
/* 0B7F14 800BD4B4 7C0803A6 */ mtlr r0
|
||||
/* 0B7F18 800BD4B8 4E800020 */ blr
|
||||
|
||||
glabel __CARDWrite
|
||||
/* 0B7F1C 800BD4BC 7C0802A6 */ mflr r0
|
||||
/* 0B7F20 800BD4C0 1D230110 */ mulli r9, r3, 0x110
|
||||
/* 0B7F24 800BD4C4 90010004 */ stw r0, 4(r1)
|
||||
/* 0B7F28 800BD4C8 3D008013 */ lis r8, __CARDBlock@ha
|
||||
/* 0B7F2C 800BD4CC 9421FFF8 */ stwu r1, -8(r1)
|
||||
/* 0B7F30 800BD4D0 380827D0 */ addi r0, r8, __CARDBlock@l
|
||||
/* 0B7F34 800BD4D4 7D004A14 */ add r8, r0, r9
|
||||
/* 0B7F38 800BD4D8 80080000 */ lwz r0, 0(r8)
|
||||
/* 0B7F3C 800BD4DC 2C000000 */ cmpwi r0, 0
|
||||
/* 0B7F40 800BD4E0 4082000C */ bne lbl_800BD4EC
|
||||
/* 0B7F44 800BD4E4 3860FFFD */ li r3, -3
|
||||
/* 0B7F48 800BD4E8 48000028 */ b lbl_800BD510
|
||||
lbl_800BD4EC:
|
||||
/* 0B7F4C 800BD4EC 90E800D4 */ stw r7, 0xd4(r8)
|
||||
/* 0B7F50 800BD4F0 54A0C9FE */ srwi r0, r5, 7
|
||||
/* 0B7F54 800BD4F4 3CA0800C */ lis r5, BlockWriteCallback@ha
|
||||
/* 0B7F58 800BD4F8 900800AC */ stw r0, 0xac(r8)
|
||||
/* 0B7F5C 800BD4FC 3805D3E0 */ addi r0, r5, BlockWriteCallback@l
|
||||
/* 0B7F60 800BD500 908800B0 */ stw r4, 0xb0(r8)
|
||||
/* 0B7F64 800BD504 7C040378 */ mr r4, r0
|
||||
/* 0B7F68 800BD508 90C800B4 */ stw r6, 0xb4(r8)
|
||||
/* 0B7F6C 800BD50C 4BFFE4C9 */ bl __CARDWritePage
|
||||
lbl_800BD510:
|
||||
/* 0B7F70 800BD510 8001000C */ lwz r0, 0xc(r1)
|
||||
/* 0B7F74 800BD514 38210008 */ addi r1, r1, 8
|
||||
/* 0B7F78 800BD518 7C0803A6 */ mtlr r0
|
||||
/* 0B7F7C 800BD51C 4E800020 */ blr
|
||||
|
||||
glabel CARDGetXferredBytes
|
||||
/* 0B7F80 800BD520 1C030110 */ mulli r0, r3, 0x110
|
||||
/* 0B7F84 800BD524 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0B7F88 800BD528 386327D0 */ addi r3, r3, __CARDBlock@l
|
||||
/* 0B7F8C 800BD52C 7C630214 */ add r3, r3, r0
|
||||
/* 0B7F90 800BD530 806300B8 */ lwz r3, 0xb8(r3)
|
||||
/* 0B7F94 800BD534 4E800020 */ blr
|
||||
|
||||
|
||||
+330
@@ -0,0 +1,330 @@
|
||||
# CARDRead.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
glabel __CARDSeek
|
||||
/* 0BB148 800C06E8 7C0802A6 */ mflr r0
|
||||
/* 0BB14C 800C06EC 90010004 */ stw r0, 4(r1)
|
||||
/* 0BB150 800C06F0 9421FFD0 */ stwu r1, -0x30(r1)
|
||||
/* 0BB154 800C06F4 93E1002C */ stw r31, 0x2c(r1)
|
||||
/* 0BB158 800C06F8 3BE60000 */ addi r31, r6, 0
|
||||
/* 0BB15C 800C06FC 93C10028 */ stw r30, 0x28(r1)
|
||||
/* 0BB160 800C0700 3BC50000 */ addi r30, r5, 0
|
||||
/* 0BB164 800C0704 93A10024 */ stw r29, 0x24(r1)
|
||||
/* 0BB168 800C0708 3BA40000 */ addi r29, r4, 0
|
||||
/* 0BB16C 800C070C 38810018 */ addi r4, r1, 0x18
|
||||
/* 0BB170 800C0710 93810020 */ stw r28, 0x20(r1)
|
||||
/* 0BB174 800C0714 7C7C1B78 */ mr r28, r3
|
||||
/* 0BB178 800C0718 80630000 */ lwz r3, 0(r3)
|
||||
/* 0BB17C 800C071C 4BFFB5A1 */ bl __CARDGetControlBlock
|
||||
/* 0BB180 800C0720 2C030000 */ cmpwi r3, 0
|
||||
/* 0BB184 800C0724 40800008 */ bge lbl_800C072C
|
||||
/* 0BB188 800C0728 48000158 */ b lbl_800C0880
|
||||
lbl_800C072C:
|
||||
/* 0BB18C 800C072C A01C0010 */ lhz r0, 0x10(r28)
|
||||
/* 0BB190 800C0730 28000005 */ cmplwi r0, 5
|
||||
/* 0BB194 800C0734 41800028 */ blt lbl_800C075C
|
||||
/* 0BB198 800C0738 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BB19C 800C073C A0A30010 */ lhz r5, 0x10(r3)
|
||||
/* 0BB1A0 800C0740 7C002840 */ cmplw r0, r5
|
||||
/* 0BB1A4 800C0744 40800018 */ bge lbl_800C075C
|
||||
/* 0BB1A8 800C0748 8083000C */ lwz r4, 0xc(r3)
|
||||
/* 0BB1AC 800C074C 801C0008 */ lwz r0, 8(r28)
|
||||
/* 0BB1B0 800C0750 7C8521D6 */ mullw r4, r5, r4
|
||||
/* 0BB1B4 800C0754 7C040000 */ cmpw r4, r0
|
||||
/* 0BB1B8 800C0758 41810014 */ bgt lbl_800C076C
|
||||
lbl_800C075C:
|
||||
/* 0BB1BC 800C075C 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BB1C0 800C0760 3880FF80 */ li r4, -128
|
||||
/* 0BB1C4 800C0764 4BFFB611 */ bl __CARDPutControlBlock
|
||||
/* 0BB1C8 800C0768 48000118 */ b lbl_800C0880
|
||||
lbl_800C076C:
|
||||
/* 0BB1CC 800C076C 4BFFD1D1 */ bl __CARDGetDirBlock
|
||||
/* 0BB1D0 800C0770 801C0004 */ lwz r0, 4(r28)
|
||||
/* 0BB1D4 800C0774 80A10018 */ lwz r5, 0x18(r1)
|
||||
/* 0BB1D8 800C0778 54003032 */ slwi r0, r0, 6
|
||||
/* 0BB1DC 800C077C 7C830214 */ add r4, r3, r0
|
||||
/* 0BB1E0 800C0780 8065000C */ lwz r3, 0xc(r5)
|
||||
/* 0BB1E4 800C0784 A0040038 */ lhz r0, 0x38(r4)
|
||||
/* 0BB1E8 800C0788 7C6019D6 */ mullw r3, r0, r3
|
||||
/* 0BB1EC 800C078C 7C03F000 */ cmpw r3, r30
|
||||
/* 0BB1F0 800C0790 40810010 */ ble lbl_800C07A0
|
||||
/* 0BB1F4 800C0794 7C1EEA14 */ add r0, r30, r29
|
||||
/* 0BB1F8 800C0798 7C030000 */ cmpw r3, r0
|
||||
/* 0BB1FC 800C079C 40800014 */ bge lbl_800C07B0
|
||||
lbl_800C07A0:
|
||||
/* 0BB200 800C07A0 38650000 */ addi r3, r5, 0
|
||||
/* 0BB204 800C07A4 3880FFF5 */ li r4, -11
|
||||
/* 0BB208 800C07A8 4BFFB5CD */ bl __CARDPutControlBlock
|
||||
/* 0BB20C 800C07AC 480000D4 */ b lbl_800C0880
|
||||
lbl_800C07B0:
|
||||
/* 0BB210 800C07B0 938500C0 */ stw r28, 0xc0(r5)
|
||||
/* 0BB214 800C07B4 93BC000C */ stw r29, 0xc(r28)
|
||||
/* 0BB218 800C07B8 801C0008 */ lwz r0, 8(r28)
|
||||
/* 0BB21C 800C07BC 7C1E0000 */ cmpw r30, r0
|
||||
/* 0BB220 800C07C0 40800040 */ bge lbl_800C0800
|
||||
/* 0BB224 800C07C4 38000000 */ li r0, 0
|
||||
/* 0BB228 800C07C8 901C0008 */ stw r0, 8(r28)
|
||||
/* 0BB22C 800C07CC A0040036 */ lhz r0, 0x36(r4)
|
||||
/* 0BB230 800C07D0 B01C0010 */ sth r0, 0x10(r28)
|
||||
/* 0BB234 800C07D4 A09C0010 */ lhz r4, 0x10(r28)
|
||||
/* 0BB238 800C07D8 28040005 */ cmplwi r4, 5
|
||||
/* 0BB23C 800C07DC 41800014 */ blt lbl_800C07F0
|
||||
/* 0BB240 800C07E0 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BB244 800C07E4 A0030010 */ lhz r0, 0x10(r3)
|
||||
/* 0BB248 800C07E8 7C040040 */ cmplw r4, r0
|
||||
/* 0BB24C 800C07EC 41800014 */ blt lbl_800C0800
|
||||
lbl_800C07F0:
|
||||
/* 0BB250 800C07F0 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BB254 800C07F4 3880FFFA */ li r4, -6
|
||||
/* 0BB258 800C07F8 4BFFB57D */ bl __CARDPutControlBlock
|
||||
/* 0BB25C 800C07FC 48000084 */ b lbl_800C0880
|
||||
lbl_800C0800:
|
||||
/* 0BB260 800C0800 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BB264 800C0804 4BFFCD35 */ bl __CARDGetFatBlock
|
||||
/* 0BB268 800C0808 4800004C */ b lbl_800C0854
|
||||
lbl_800C080C:
|
||||
/* 0BB26C 800C080C 801C0008 */ lwz r0, 8(r28)
|
||||
/* 0BB270 800C0810 7C002214 */ add r0, r0, r4
|
||||
/* 0BB274 800C0814 901C0008 */ stw r0, 8(r28)
|
||||
/* 0BB278 800C0818 A01C0010 */ lhz r0, 0x10(r28)
|
||||
/* 0BB27C 800C081C 5400083C */ slwi r0, r0, 1
|
||||
/* 0BB280 800C0820 7C03022E */ lhzx r0, r3, r0
|
||||
/* 0BB284 800C0824 B01C0010 */ sth r0, 0x10(r28)
|
||||
/* 0BB288 800C0828 A0BC0010 */ lhz r5, 0x10(r28)
|
||||
/* 0BB28C 800C082C 28050005 */ cmplwi r5, 5
|
||||
/* 0BB290 800C0830 41800014 */ blt lbl_800C0844
|
||||
/* 0BB294 800C0834 80810018 */ lwz r4, 0x18(r1)
|
||||
/* 0BB298 800C0838 A0040010 */ lhz r0, 0x10(r4)
|
||||
/* 0BB29C 800C083C 7C050040 */ cmplw r5, r0
|
||||
/* 0BB2A0 800C0840 41800014 */ blt lbl_800C0854
|
||||
lbl_800C0844:
|
||||
/* 0BB2A4 800C0844 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BB2A8 800C0848 3880FFFA */ li r4, -6
|
||||
/* 0BB2AC 800C084C 4BFFB529 */ bl __CARDPutControlBlock
|
||||
/* 0BB2B0 800C0850 48000030 */ b lbl_800C0880
|
||||
lbl_800C0854:
|
||||
/* 0BB2B4 800C0854 80810018 */ lwz r4, 0x18(r1)
|
||||
/* 0BB2B8 800C0858 80BC0008 */ lwz r5, 8(r28)
|
||||
/* 0BB2BC 800C085C 8084000C */ lwz r4, 0xc(r4)
|
||||
/* 0BB2C0 800C0860 3804FFFF */ addi r0, r4, -1
|
||||
/* 0BB2C4 800C0864 7FC00078 */ andc r0, r30, r0
|
||||
/* 0BB2C8 800C0868 7C050040 */ cmplw r5, r0
|
||||
/* 0BB2CC 800C086C 4180FFA0 */ blt lbl_800C080C
|
||||
/* 0BB2D0 800C0870 93DC0008 */ stw r30, 8(r28)
|
||||
/* 0BB2D4 800C0874 38600000 */ li r3, 0
|
||||
/* 0BB2D8 800C0878 80010018 */ lwz r0, 0x18(r1)
|
||||
/* 0BB2DC 800C087C 901F0000 */ stw r0, 0(r31)
|
||||
lbl_800C0880:
|
||||
/* 0BB2E0 800C0880 80010034 */ lwz r0, 0x34(r1)
|
||||
/* 0BB2E4 800C0884 83E1002C */ lwz r31, 0x2c(r1)
|
||||
/* 0BB2E8 800C0888 83C10028 */ lwz r30, 0x28(r1)
|
||||
/* 0BB2EC 800C088C 83A10024 */ lwz r29, 0x24(r1)
|
||||
/* 0BB2F0 800C0890 83810020 */ lwz r28, 0x20(r1)
|
||||
/* 0BB2F4 800C0894 38210030 */ addi r1, r1, 0x30
|
||||
/* 0BB2F8 800C0898 7C0803A6 */ mtlr r0
|
||||
/* 0BB2FC 800C089C 4E800020 */ blr
|
||||
|
||||
ReadCallback:
|
||||
/* 0BB300 800C08A0 7C0802A6 */ mflr r0
|
||||
/* 0BB304 800C08A4 90010004 */ stw r0, 4(r1)
|
||||
/* 0BB308 800C08A8 9421FFD8 */ stwu r1, -0x28(r1)
|
||||
/* 0BB30C 800C08AC BF610014 */ stmw r27, 0x14(r1)
|
||||
/* 0BB310 800C08B0 3BA30000 */ addi r29, r3, 0
|
||||
/* 0BB314 800C08B4 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0BB318 800C08B8 1CBD0110 */ mulli r5, r29, 0x110
|
||||
/* 0BB31C 800C08BC 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0BB320 800C08C0 7C9E2379 */ or. r30, r4, r4
|
||||
/* 0BB324 800C08C4 7FE02A14 */ add r31, r0, r5
|
||||
/* 0BB328 800C08C8 418000C8 */ blt lbl_800C0990
|
||||
/* 0BB32C 800C08CC 839F00C0 */ lwz r28, 0xc0(r31)
|
||||
/* 0BB330 800C08D0 809C000C */ lwz r4, 0xc(r28)
|
||||
/* 0BB334 800C08D4 2C040000 */ cmpwi r4, 0
|
||||
/* 0BB338 800C08D8 4080000C */ bge lbl_800C08E4
|
||||
/* 0BB33C 800C08DC 3BC0FFF2 */ li r30, -14
|
||||
/* 0BB340 800C08E0 480000B0 */ b lbl_800C0990
|
||||
lbl_800C08E4:
|
||||
/* 0BB344 800C08E4 80BF000C */ lwz r5, 0xc(r31)
|
||||
/* 0BB348 800C08E8 80DC0008 */ lwz r6, 8(r28)
|
||||
/* 0BB34C 800C08EC 3805FFFF */ addi r0, r5, -1
|
||||
/* 0BB350 800C08F0 7C0300F8 */ nor r3, r0, r0
|
||||
/* 0BB354 800C08F4 7C062A14 */ add r0, r6, r5
|
||||
/* 0BB358 800C08F8 7C600038 */ and r0, r3, r0
|
||||
/* 0BB35C 800C08FC 7F660050 */ subf r27, r6, r0
|
||||
/* 0BB360 800C0900 7C1B2050 */ subf r0, r27, r4
|
||||
/* 0BB364 800C0904 901C000C */ stw r0, 0xc(r28)
|
||||
/* 0BB368 800C0908 801C000C */ lwz r0, 0xc(r28)
|
||||
/* 0BB36C 800C090C 2C000000 */ cmpwi r0, 0
|
||||
/* 0BB370 800C0910 40810080 */ ble lbl_800C0990
|
||||
/* 0BB374 800C0914 7FE3FB78 */ mr r3, r31
|
||||
/* 0BB378 800C0918 4BFFCC21 */ bl __CARDGetFatBlock
|
||||
/* 0BB37C 800C091C 801C0008 */ lwz r0, 8(r28)
|
||||
/* 0BB380 800C0920 7C00DA14 */ add r0, r0, r27
|
||||
/* 0BB384 800C0924 901C0008 */ stw r0, 8(r28)
|
||||
/* 0BB388 800C0928 A01C0010 */ lhz r0, 0x10(r28)
|
||||
/* 0BB38C 800C092C 5400083C */ slwi r0, r0, 1
|
||||
/* 0BB390 800C0930 7C03022E */ lhzx r0, r3, r0
|
||||
/* 0BB394 800C0934 B01C0010 */ sth r0, 0x10(r28)
|
||||
/* 0BB398 800C0938 A07C0010 */ lhz r3, 0x10(r28)
|
||||
/* 0BB39C 800C093C 28030005 */ cmplwi r3, 5
|
||||
/* 0BB3A0 800C0940 41800010 */ blt lbl_800C0950
|
||||
/* 0BB3A4 800C0944 A01F0010 */ lhz r0, 0x10(r31)
|
||||
/* 0BB3A8 800C0948 7C030040 */ cmplw r3, r0
|
||||
/* 0BB3AC 800C094C 4180000C */ blt lbl_800C0958
|
||||
lbl_800C0950:
|
||||
/* 0BB3B0 800C0950 3BC0FFFA */ li r30, -6
|
||||
/* 0BB3B4 800C0954 4800003C */ b lbl_800C0990
|
||||
lbl_800C0958:
|
||||
/* 0BB3B8 800C0958 80BC000C */ lwz r5, 0xc(r28)
|
||||
/* 0BB3BC 800C095C 801F000C */ lwz r0, 0xc(r31)
|
||||
/* 0BB3C0 800C0960 7C050000 */ cmpw r5, r0
|
||||
/* 0BB3C4 800C0964 40800008 */ bge lbl_800C096C
|
||||
/* 0BB3C8 800C0968 48000008 */ b lbl_800C0970
|
||||
lbl_800C096C:
|
||||
/* 0BB3CC 800C096C 7C050378 */ mr r5, r0
|
||||
lbl_800C0970:
|
||||
/* 0BB3D0 800C0970 7C8019D6 */ mullw r4, r0, r3
|
||||
/* 0BB3D4 800C0974 80DF00B4 */ lwz r6, 0xb4(r31)
|
||||
/* 0BB3D8 800C0978 3C60800C */ lis r3, ReadCallback@ha
|
||||
/* 0BB3DC 800C097C 38E308A0 */ addi r7, r3, ReadCallback@l
|
||||
/* 0BB3E0 800C0980 387D0000 */ addi r3, r29, 0
|
||||
/* 0BB3E4 800C0984 4BFFC9F9 */ bl __CARDRead
|
||||
/* 0BB3E8 800C0988 7C7E1B79 */ or. r30, r3, r3
|
||||
/* 0BB3EC 800C098C 40800030 */ bge lbl_800C09BC
|
||||
lbl_800C0990:
|
||||
/* 0BB3F0 800C0990 837F00D0 */ lwz r27, 0xd0(r31)
|
||||
/* 0BB3F4 800C0994 38000000 */ li r0, 0
|
||||
/* 0BB3F8 800C0998 387F0000 */ addi r3, r31, 0
|
||||
/* 0BB3FC 800C099C 901F00D0 */ stw r0, 0xd0(r31)
|
||||
/* 0BB400 800C09A0 7FC4F378 */ mr r4, r30
|
||||
/* 0BB404 800C09A4 4BFFB3D1 */ bl __CARDPutControlBlock
|
||||
/* 0BB408 800C09A8 399B0000 */ addi r12, r27, 0
|
||||
/* 0BB40C 800C09AC 7D8803A6 */ mtlr r12
|
||||
/* 0BB410 800C09B0 387D0000 */ addi r3, r29, 0
|
||||
/* 0BB414 800C09B4 389E0000 */ addi r4, r30, 0
|
||||
/* 0BB418 800C09B8 4E800021 */ blrl
|
||||
lbl_800C09BC:
|
||||
/* 0BB41C 800C09BC BB610014 */ lmw r27, 0x14(r1)
|
||||
/* 0BB420 800C09C0 8001002C */ lwz r0, 0x2c(r1)
|
||||
/* 0BB424 800C09C4 38210028 */ addi r1, r1, 0x28
|
||||
/* 0BB428 800C09C8 7C0803A6 */ mtlr r0
|
||||
/* 0BB42C 800C09CC 4E800020 */ blr
|
||||
|
||||
glabel CARDReadAsync
|
||||
/* 0BB430 800C09D0 7C0802A6 */ mflr r0
|
||||
/* 0BB434 800C09D4 90010004 */ stw r0, 4(r1)
|
||||
/* 0BB438 800C09D8 54C005FF */ clrlwi. r0, r6, 0x17
|
||||
/* 0BB43C 800C09DC 9421FFD0 */ stwu r1, -0x30(r1)
|
||||
/* 0BB440 800C09E0 93E1002C */ stw r31, 0x2c(r1)
|
||||
/* 0BB444 800C09E4 3BE50000 */ addi r31, r5, 0
|
||||
/* 0BB448 800C09E8 93C10028 */ stw r30, 0x28(r1)
|
||||
/* 0BB44C 800C09EC 3BC40000 */ addi r30, r4, 0
|
||||
/* 0BB450 800C09F0 93A10024 */ stw r29, 0x24(r1)
|
||||
/* 0BB454 800C09F4 3BA30000 */ addi r29, r3, 0
|
||||
/* 0BB458 800C09F8 93810020 */ stw r28, 0x20(r1)
|
||||
/* 0BB45C 800C09FC 3B870000 */ addi r28, r7, 0
|
||||
/* 0BB460 800C0A00 4082000C */ bne lbl_800C0A0C
|
||||
/* 0BB464 800C0A04 57E005FF */ clrlwi. r0, r31, 0x17
|
||||
/* 0BB468 800C0A08 4182000C */ beq lbl_800C0A14
|
||||
lbl_800C0A0C:
|
||||
/* 0BB46C 800C0A0C 3860FF80 */ li r3, -128
|
||||
/* 0BB470 800C0A10 480000E4 */ b lbl_800C0AF4
|
||||
lbl_800C0A14:
|
||||
/* 0BB474 800C0A14 387D0000 */ addi r3, r29, 0
|
||||
/* 0BB478 800C0A18 389F0000 */ addi r4, r31, 0
|
||||
/* 0BB47C 800C0A1C 38A60000 */ addi r5, r6, 0
|
||||
/* 0BB480 800C0A20 38C1001C */ addi r6, r1, 0x1c
|
||||
/* 0BB484 800C0A24 4BFFFCC5 */ bl __CARDSeek
|
||||
/* 0BB488 800C0A28 2C030000 */ cmpwi r3, 0
|
||||
/* 0BB48C 800C0A2C 40800008 */ bge lbl_800C0A34
|
||||
/* 0BB490 800C0A30 480000C4 */ b lbl_800C0AF4
|
||||
lbl_800C0A34:
|
||||
/* 0BB494 800C0A34 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB498 800C0A38 4BFFCF05 */ bl __CARDGetDirBlock
|
||||
/* 0BB49C 800C0A3C 801D0004 */ lwz r0, 4(r29)
|
||||
/* 0BB4A0 800C0A40 54003032 */ slwi r0, r0, 6
|
||||
/* 0BB4A4 800C0A44 7C830214 */ add r4, r3, r0
|
||||
/* 0BB4A8 800C0A48 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB4AC 800C0A4C 4BFFF591 */ bl __CARDIsReadable
|
||||
/* 0BB4B0 800C0A50 7C641B79 */ or. r4, r3, r3
|
||||
/* 0BB4B4 800C0A54 40800010 */ bge lbl_800C0A64
|
||||
/* 0BB4B8 800C0A58 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB4BC 800C0A5C 4BFFB319 */ bl __CARDPutControlBlock
|
||||
/* 0BB4C0 800C0A60 48000094 */ b lbl_800C0AF4
|
||||
lbl_800C0A64:
|
||||
/* 0BB4C4 800C0A64 387E0000 */ addi r3, r30, 0
|
||||
/* 0BB4C8 800C0A68 389F0000 */ addi r4, r31, 0
|
||||
/* 0BB4CC 800C0A6C 4BFDCCE5 */ bl DCInvalidateRange
|
||||
/* 0BB4D0 800C0A70 281C0000 */ cmplwi r28, 0
|
||||
/* 0BB4D4 800C0A74 4182000C */ beq lbl_800C0A80
|
||||
/* 0BB4D8 800C0A78 7F80E378 */ mr r0, r28
|
||||
/* 0BB4DC 800C0A7C 4800000C */ b lbl_800C0A88
|
||||
lbl_800C0A80:
|
||||
/* 0BB4E0 800C0A80 3C60800C */ lis r3, __CARDDefaultApiCallback@ha
|
||||
/* 0BB4E4 800C0A84 3803AD5C */ addi r0, r3, __CARDDefaultApiCallback@l
|
||||
lbl_800C0A88:
|
||||
/* 0BB4E8 800C0A88 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB4EC 800C0A8C 900300D0 */ stw r0, 0xd0(r3)
|
||||
/* 0BB4F0 800C0A90 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB4F4 800C0A94 809D0008 */ lwz r4, 8(r29)
|
||||
/* 0BB4F8 800C0A98 80A3000C */ lwz r5, 0xc(r3)
|
||||
/* 0BB4FC 800C0A9C 3805FFFF */ addi r0, r5, -1
|
||||
/* 0BB500 800C0AA0 7C880038 */ and r8, r4, r0
|
||||
/* 0BB504 800C0AA4 7C682850 */ subf r3, r8, r5
|
||||
/* 0BB508 800C0AA8 7C1F1800 */ cmpw r31, r3
|
||||
/* 0BB50C 800C0AAC 40800008 */ bge lbl_800C0AB4
|
||||
/* 0BB510 800C0AB0 7FE3FB78 */ mr r3, r31
|
||||
lbl_800C0AB4:
|
||||
/* 0BB514 800C0AB4 A01D0010 */ lhz r0, 0x10(r29)
|
||||
/* 0BB518 800C0AB8 3C80800C */ lis r4, ReadCallback@ha
|
||||
/* 0BB51C 800C0ABC 3BE30000 */ addi r31, r3, 0
|
||||
/* 0BB520 800C0AC0 807D0000 */ lwz r3, 0(r29)
|
||||
/* 0BB524 800C0AC4 7C0501D6 */ mullw r0, r5, r0
|
||||
/* 0BB528 800C0AC8 38E408A0 */ addi r7, r4, ReadCallback@l
|
||||
/* 0BB52C 800C0ACC 38BF0000 */ addi r5, r31, 0
|
||||
/* 0BB530 800C0AD0 38DE0000 */ addi r6, r30, 0
|
||||
/* 0BB534 800C0AD4 7C880214 */ add r4, r8, r0
|
||||
/* 0BB538 800C0AD8 4BFFC8A5 */ bl __CARDRead
|
||||
/* 0BB53C 800C0ADC 7C7D1B79 */ or. r29, r3, r3
|
||||
/* 0BB540 800C0AE0 40800010 */ bge lbl_800C0AF0
|
||||
/* 0BB544 800C0AE4 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB548 800C0AE8 7FA4EB78 */ mr r4, r29
|
||||
/* 0BB54C 800C0AEC 4BFFB289 */ bl __CARDPutControlBlock
|
||||
lbl_800C0AF0:
|
||||
/* 0BB550 800C0AF0 7FA3EB78 */ mr r3, r29
|
||||
lbl_800C0AF4:
|
||||
/* 0BB554 800C0AF4 80010034 */ lwz r0, 0x34(r1)
|
||||
/* 0BB558 800C0AF8 83E1002C */ lwz r31, 0x2c(r1)
|
||||
/* 0BB55C 800C0AFC 83C10028 */ lwz r30, 0x28(r1)
|
||||
/* 0BB560 800C0B00 83A10024 */ lwz r29, 0x24(r1)
|
||||
/* 0BB564 800C0B04 83810020 */ lwz r28, 0x20(r1)
|
||||
/* 0BB568 800C0B08 38210030 */ addi r1, r1, 0x30
|
||||
/* 0BB56C 800C0B0C 7C0803A6 */ mtlr r0
|
||||
/* 0BB570 800C0B10 4E800020 */ blr
|
||||
|
||||
glabel CARDRead
|
||||
/* 0BB574 800C0B14 7C0802A6 */ mflr r0
|
||||
/* 0BB578 800C0B18 3CE0800C */ lis r7, __CARDSyncCallback@ha
|
||||
/* 0BB57C 800C0B1C 90010004 */ stw r0, 4(r1)
|
||||
/* 0BB580 800C0B20 38E7AD60 */ addi r7, r7, __CARDSyncCallback@l
|
||||
/* 0BB584 800C0B24 9421FFE0 */ stwu r1, -0x20(r1)
|
||||
/* 0BB588 800C0B28 93E1001C */ stw r31, 0x1c(r1)
|
||||
/* 0BB58C 800C0B2C 3BE30000 */ addi r31, r3, 0
|
||||
/* 0BB590 800C0B30 4BFFFEA1 */ bl CARDReadAsync
|
||||
/* 0BB594 800C0B34 2C030000 */ cmpwi r3, 0
|
||||
/* 0BB598 800C0B38 40800008 */ bge lbl_800C0B40
|
||||
/* 0BB59C 800C0B3C 4800000C */ b lbl_800C0B48
|
||||
lbl_800C0B40:
|
||||
/* 0BB5A0 800C0B40 807F0000 */ lwz r3, 0(r31)
|
||||
/* 0BB5A4 800C0B44 4BFFB415 */ bl __CARDSync
|
||||
lbl_800C0B48:
|
||||
/* 0BB5A8 800C0B48 80010024 */ lwz r0, 0x24(r1)
|
||||
/* 0BB5AC 800C0B4C 83E1001C */ lwz r31, 0x1c(r1)
|
||||
/* 0BB5B0 800C0B50 38210020 */ addi r1, r1, 0x20
|
||||
/* 0BB5B4 800C0B54 7C0803A6 */ mtlr r0
|
||||
/* 0BB5B8 800C0B58 4E800020 */ blr
|
||||
|
||||
|
||||
+339
@@ -0,0 +1,339 @@
|
||||
# CARDStat.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
UpdateIconOffsets:
|
||||
/* 0BBAA4 800C1044 8103002C */ lwz r8, 0x2c(r3)
|
||||
/* 0BBAA8 800C1048 3C080001 */ addis r0, r8, 1
|
||||
/* 0BBAAC 800C104C 2800FFFF */ cmplwi r0, 0xffff
|
||||
/* 0BBAB0 800C1050 40820018 */ bne lbl_800C1068
|
||||
/* 0BBAB4 800C1054 38000000 */ li r0, 0
|
||||
/* 0BBAB8 800C1058 9804002E */ stb r0, 0x2e(r4)
|
||||
/* 0BBABC 800C105C 39000000 */ li r8, 0
|
||||
/* 0BBAC0 800C1060 B0040034 */ sth r0, 0x34(r4)
|
||||
/* 0BBAC4 800C1064 B0040036 */ sth r0, 0x36(r4)
|
||||
lbl_800C1068:
|
||||
/* 0BBAC8 800C1068 88030007 */ lbz r0, 7(r3)
|
||||
/* 0BBACC 800C106C 39200000 */ li r9, 0
|
||||
/* 0BBAD0 800C1070 540007BE */ clrlwi r0, r0, 0x1e
|
||||
/* 0BBAD4 800C1074 2C000002 */ cmpwi r0, 2
|
||||
/* 0BBAD8 800C1078 41820028 */ beq lbl_800C10A0
|
||||
/* 0BBADC 800C107C 40800038 */ bge lbl_800C10B4
|
||||
/* 0BBAE0 800C1080 2C000001 */ cmpwi r0, 1
|
||||
/* 0BBAE4 800C1084 40800008 */ bge lbl_800C108C
|
||||
/* 0BBAE8 800C1088 4800002C */ b lbl_800C10B4
|
||||
lbl_800C108C:
|
||||
/* 0BBAEC 800C108C 9104003C */ stw r8, 0x3c(r4)
|
||||
/* 0BBAF0 800C1090 38080C00 */ addi r0, r8, 0xc00
|
||||
/* 0BBAF4 800C1094 39080E00 */ addi r8, r8, 0xe00
|
||||
/* 0BBAF8 800C1098 90040040 */ stw r0, 0x40(r4)
|
||||
/* 0BBAFC 800C109C 48000024 */ b lbl_800C10C0
|
||||
lbl_800C10A0:
|
||||
/* 0BBB00 800C10A0 9104003C */ stw r8, 0x3c(r4)
|
||||
/* 0BBB04 800C10A4 3800FFFF */ li r0, -1
|
||||
/* 0BBB08 800C10A8 39081800 */ addi r8, r8, 0x1800
|
||||
/* 0BBB0C 800C10AC 90040040 */ stw r0, 0x40(r4)
|
||||
/* 0BBB10 800C10B0 48000010 */ b lbl_800C10C0
|
||||
lbl_800C10B4:
|
||||
/* 0BBB14 800C10B4 3800FFFF */ li r0, -1
|
||||
/* 0BBB18 800C10B8 9004003C */ stw r0, 0x3c(r4)
|
||||
/* 0BBB1C 800C10BC 90040040 */ stw r0, 0x40(r4)
|
||||
lbl_800C10C0:
|
||||
/* 0BBB20 800C10C0 38000002 */ li r0, 2
|
||||
/* 0BBB24 800C10C4 7C0903A6 */ mtctr r0
|
||||
/* 0BBB28 800C10C8 38E40000 */ addi r7, r4, 0
|
||||
/* 0BBB2C 800C10CC 39400000 */ li r10, 0
|
||||
/* 0BBB30 800C10D0 38C00000 */ li r6, 0
|
||||
/* 0BBB34 800C10D4 3800FFFF */ li r0, -1
|
||||
lbl_800C10D8:
|
||||
/* 0BBB38 800C10D8 A0A30030 */ lhz r5, 0x30(r3)
|
||||
/* 0BBB3C 800C10DC 7CA53630 */ sraw r5, r5, r6
|
||||
/* 0BBB40 800C10E0 54A507BE */ clrlwi r5, r5, 0x1e
|
||||
/* 0BBB44 800C10E4 2C050002 */ cmpwi r5, 2
|
||||
/* 0BBB48 800C10E8 41820024 */ beq lbl_800C110C
|
||||
/* 0BBB4C 800C10EC 4080002C */ bge lbl_800C1118
|
||||
/* 0BBB50 800C10F0 2C050001 */ cmpwi r5, 1
|
||||
/* 0BBB54 800C10F4 40800008 */ bge lbl_800C10FC
|
||||
/* 0BBB58 800C10F8 48000020 */ b lbl_800C1118
|
||||
lbl_800C10FC:
|
||||
/* 0BBB5C 800C10FC 91070044 */ stw r8, 0x44(r7)
|
||||
/* 0BBB60 800C1100 39200001 */ li r9, 1
|
||||
/* 0BBB64 800C1104 39080400 */ addi r8, r8, 0x400
|
||||
/* 0BBB68 800C1108 48000014 */ b lbl_800C111C
|
||||
lbl_800C110C:
|
||||
/* 0BBB6C 800C110C 91070044 */ stw r8, 0x44(r7)
|
||||
/* 0BBB70 800C1110 39080800 */ addi r8, r8, 0x800
|
||||
/* 0BBB74 800C1114 48000008 */ b lbl_800C111C
|
||||
lbl_800C1118:
|
||||
/* 0BBB78 800C1118 90070044 */ stw r0, 0x44(r7)
|
||||
lbl_800C111C:
|
||||
/* 0BBB7C 800C111C A0A30030 */ lhz r5, 0x30(r3)
|
||||
/* 0BBB80 800C1120 38C60002 */ addi r6, r6, 2
|
||||
/* 0BBB84 800C1124 38E70004 */ addi r7, r7, 4
|
||||
/* 0BBB88 800C1128 7CA53630 */ sraw r5, r5, r6
|
||||
/* 0BBB8C 800C112C 54A507BE */ clrlwi r5, r5, 0x1e
|
||||
/* 0BBB90 800C1130 2C050002 */ cmpwi r5, 2
|
||||
/* 0BBB94 800C1134 41820024 */ beq lbl_800C1158
|
||||
/* 0BBB98 800C1138 4080002C */ bge lbl_800C1164
|
||||
/* 0BBB9C 800C113C 2C050001 */ cmpwi r5, 1
|
||||
/* 0BBBA0 800C1140 40800008 */ bge lbl_800C1148
|
||||
/* 0BBBA4 800C1144 48000020 */ b lbl_800C1164
|
||||
lbl_800C1148:
|
||||
/* 0BBBA8 800C1148 91070044 */ stw r8, 0x44(r7)
|
||||
/* 0BBBAC 800C114C 39200001 */ li r9, 1
|
||||
/* 0BBBB0 800C1150 39080400 */ addi r8, r8, 0x400
|
||||
/* 0BBBB4 800C1154 48000014 */ b lbl_800C1168
|
||||
lbl_800C1158:
|
||||
/* 0BBBB8 800C1158 91070044 */ stw r8, 0x44(r7)
|
||||
/* 0BBBBC 800C115C 39080800 */ addi r8, r8, 0x800
|
||||
/* 0BBBC0 800C1160 48000008 */ b lbl_800C1168
|
||||
lbl_800C1164:
|
||||
/* 0BBBC4 800C1164 90070044 */ stw r0, 0x44(r7)
|
||||
lbl_800C1168:
|
||||
/* 0BBBC8 800C1168 A0A30030 */ lhz r5, 0x30(r3)
|
||||
/* 0BBBCC 800C116C 38C60002 */ addi r6, r6, 2
|
||||
/* 0BBBD0 800C1170 394A0001 */ addi r10, r10, 1
|
||||
/* 0BBBD4 800C1174 7CA53630 */ sraw r5, r5, r6
|
||||
/* 0BBBD8 800C1178 54A507BE */ clrlwi r5, r5, 0x1e
|
||||
/* 0BBBDC 800C117C 2C050002 */ cmpwi r5, 2
|
||||
/* 0BBBE0 800C1180 38E70004 */ addi r7, r7, 4
|
||||
/* 0BBBE4 800C1184 41820024 */ beq lbl_800C11A8
|
||||
/* 0BBBE8 800C1188 4080002C */ bge lbl_800C11B4
|
||||
/* 0BBBEC 800C118C 2C050001 */ cmpwi r5, 1
|
||||
/* 0BBBF0 800C1190 40800008 */ bge lbl_800C1198
|
||||
/* 0BBBF4 800C1194 48000020 */ b lbl_800C11B4
|
||||
lbl_800C1198:
|
||||
/* 0BBBF8 800C1198 91070044 */ stw r8, 0x44(r7)
|
||||
/* 0BBBFC 800C119C 39200001 */ li r9, 1
|
||||
/* 0BBC00 800C11A0 39080400 */ addi r8, r8, 0x400
|
||||
/* 0BBC04 800C11A4 48000014 */ b lbl_800C11B8
|
||||
lbl_800C11A8:
|
||||
/* 0BBC08 800C11A8 91070044 */ stw r8, 0x44(r7)
|
||||
/* 0BBC0C 800C11AC 39080800 */ addi r8, r8, 0x800
|
||||
/* 0BBC10 800C11B0 48000008 */ b lbl_800C11B8
|
||||
lbl_800C11B4:
|
||||
/* 0BBC14 800C11B4 90070044 */ stw r0, 0x44(r7)
|
||||
lbl_800C11B8:
|
||||
/* 0BBC18 800C11B8 A0A30030 */ lhz r5, 0x30(r3)
|
||||
/* 0BBC1C 800C11BC 38C60002 */ addi r6, r6, 2
|
||||
/* 0BBC20 800C11C0 394A0001 */ addi r10, r10, 1
|
||||
/* 0BBC24 800C11C4 7CA53630 */ sraw r5, r5, r6
|
||||
/* 0BBC28 800C11C8 54A507BE */ clrlwi r5, r5, 0x1e
|
||||
/* 0BBC2C 800C11CC 2C050002 */ cmpwi r5, 2
|
||||
/* 0BBC30 800C11D0 38E70004 */ addi r7, r7, 4
|
||||
/* 0BBC34 800C11D4 41820024 */ beq lbl_800C11F8
|
||||
/* 0BBC38 800C11D8 4080002C */ bge lbl_800C1204
|
||||
/* 0BBC3C 800C11DC 2C050001 */ cmpwi r5, 1
|
||||
/* 0BBC40 800C11E0 40800008 */ bge lbl_800C11E8
|
||||
/* 0BBC44 800C11E4 48000020 */ b lbl_800C1204
|
||||
lbl_800C11E8:
|
||||
/* 0BBC48 800C11E8 91070044 */ stw r8, 0x44(r7)
|
||||
/* 0BBC4C 800C11EC 39200001 */ li r9, 1
|
||||
/* 0BBC50 800C11F0 39080400 */ addi r8, r8, 0x400
|
||||
/* 0BBC54 800C11F4 48000014 */ b lbl_800C1208
|
||||
lbl_800C11F8:
|
||||
/* 0BBC58 800C11F8 91070044 */ stw r8, 0x44(r7)
|
||||
/* 0BBC5C 800C11FC 39080800 */ addi r8, r8, 0x800
|
||||
/* 0BBC60 800C1200 48000008 */ b lbl_800C1208
|
||||
lbl_800C1204:
|
||||
/* 0BBC64 800C1204 90070044 */ stw r0, 0x44(r7)
|
||||
lbl_800C1208:
|
||||
/* 0BBC68 800C1208 38C60002 */ addi r6, r6, 2
|
||||
/* 0BBC6C 800C120C 38E70004 */ addi r7, r7, 4
|
||||
/* 0BBC70 800C1210 394A0001 */ addi r10, r10, 1
|
||||
/* 0BBC74 800C1214 4200FEC4 */ bdnz lbl_800C10D8
|
||||
/* 0BBC78 800C1218 2C090000 */ cmpwi r9, 0
|
||||
/* 0BBC7C 800C121C 41820010 */ beq lbl_800C122C
|
||||
/* 0BBC80 800C1220 91040064 */ stw r8, 0x64(r4)
|
||||
/* 0BBC84 800C1224 39080200 */ addi r8, r8, 0x200
|
||||
/* 0BBC88 800C1228 4800000C */ b lbl_800C1234
|
||||
lbl_800C122C:
|
||||
/* 0BBC8C 800C122C 3800FFFF */ li r0, -1
|
||||
/* 0BBC90 800C1230 90040064 */ stw r0, 0x64(r4)
|
||||
lbl_800C1234:
|
||||
/* 0BBC94 800C1234 91040068 */ stw r8, 0x68(r4)
|
||||
/* 0BBC98 800C1238 4E800020 */ blr
|
||||
|
||||
glabel CARDGetStatus
|
||||
/* 0BBC9C 800C123C 7C0802A6 */ mflr r0
|
||||
/* 0BBCA0 800C1240 90010004 */ stw r0, 4(r1)
|
||||
/* 0BBCA4 800C1244 9421FFD8 */ stwu r1, -0x28(r1)
|
||||
/* 0BBCA8 800C1248 93E10024 */ stw r31, 0x24(r1)
|
||||
/* 0BBCAC 800C124C 3BE50000 */ addi r31, r5, 0
|
||||
/* 0BBCB0 800C1250 93C10020 */ stw r30, 0x20(r1)
|
||||
/* 0BBCB4 800C1254 93A1001C */ stw r29, 0x1c(r1)
|
||||
/* 0BBCB8 800C1258 7C9D2379 */ or. r29, r4, r4
|
||||
/* 0BBCBC 800C125C 4180000C */ blt lbl_800C1268
|
||||
/* 0BBCC0 800C1260 2C1D007F */ cmpwi r29, 0x7f
|
||||
/* 0BBCC4 800C1264 4180000C */ blt lbl_800C1270
|
||||
lbl_800C1268:
|
||||
/* 0BBCC8 800C1268 3860FF80 */ li r3, -128
|
||||
/* 0BBCCC 800C126C 480000C8 */ b lbl_800C1334
|
||||
lbl_800C1270:
|
||||
/* 0BBCD0 800C1270 38810014 */ addi r4, r1, 0x14
|
||||
/* 0BBCD4 800C1274 4BFFAA49 */ bl __CARDGetControlBlock
|
||||
/* 0BBCD8 800C1278 2C030000 */ cmpwi r3, 0
|
||||
/* 0BBCDC 800C127C 40800008 */ bge lbl_800C1284
|
||||
/* 0BBCE0 800C1280 480000B4 */ b lbl_800C1334
|
||||
lbl_800C1284:
|
||||
/* 0BBCE4 800C1284 80610014 */ lwz r3, 0x14(r1)
|
||||
/* 0BBCE8 800C1288 4BFFC6B5 */ bl __CARDGetDirBlock
|
||||
/* 0BBCEC 800C128C 57A03032 */ slwi r0, r29, 6
|
||||
/* 0BBCF0 800C1290 7FA30214 */ add r29, r3, r0
|
||||
/* 0BBCF4 800C1294 80610014 */ lwz r3, 0x14(r1)
|
||||
/* 0BBCF8 800C1298 7FA4EB78 */ mr r4, r29
|
||||
/* 0BBCFC 800C129C 4BFFED41 */ bl __CARDIsReadable
|
||||
/* 0BBD00 800C12A0 7C7E1B79 */ or. r30, r3, r3
|
||||
/* 0BBD04 800C12A4 41800084 */ blt lbl_800C1328
|
||||
/* 0BBD08 800C12A8 389D0000 */ addi r4, r29, 0
|
||||
/* 0BBD0C 800C12AC 387F0028 */ addi r3, r31, 0x28
|
||||
/* 0BBD10 800C12B0 38A00004 */ li r5, 4
|
||||
/* 0BBD14 800C12B4 4BF44211 */ bl memcpy
|
||||
/* 0BBD18 800C12B8 387F002C */ addi r3, r31, 0x2c
|
||||
/* 0BBD1C 800C12BC 389D0004 */ addi r4, r29, 4
|
||||
/* 0BBD20 800C12C0 38A00002 */ li r5, 2
|
||||
/* 0BBD24 800C12C4 4BF44201 */ bl memcpy
|
||||
/* 0BBD28 800C12C8 80A10014 */ lwz r5, 0x14(r1)
|
||||
/* 0BBD2C 800C12CC 7FE3FB78 */ mr r3, r31
|
||||
/* 0BBD30 800C12D0 A0DD0038 */ lhz r6, 0x38(r29)
|
||||
/* 0BBD34 800C12D4 389D0008 */ addi r4, r29, 8
|
||||
/* 0BBD38 800C12D8 8005000C */ lwz r0, 0xc(r5)
|
||||
/* 0BBD3C 800C12DC 38A00020 */ li r5, 0x20
|
||||
/* 0BBD40 800C12E0 7C0601D6 */ mullw r0, r6, r0
|
||||
/* 0BBD44 800C12E4 901F0020 */ stw r0, 0x20(r31)
|
||||
/* 0BBD48 800C12E8 4BF441DD */ bl memcpy
|
||||
/* 0BBD4C 800C12EC 801D0028 */ lwz r0, 0x28(r29)
|
||||
/* 0BBD50 800C12F0 387D0000 */ addi r3, r29, 0
|
||||
/* 0BBD54 800C12F4 389F0000 */ addi r4, r31, 0
|
||||
/* 0BBD58 800C12F8 901F0024 */ stw r0, 0x24(r31)
|
||||
/* 0BBD5C 800C12FC 881D0007 */ lbz r0, 7(r29)
|
||||
/* 0BBD60 800C1300 981F002E */ stb r0, 0x2e(r31)
|
||||
/* 0BBD64 800C1304 801D002C */ lwz r0, 0x2c(r29)
|
||||
/* 0BBD68 800C1308 901F0030 */ stw r0, 0x30(r31)
|
||||
/* 0BBD6C 800C130C A01D0030 */ lhz r0, 0x30(r29)
|
||||
/* 0BBD70 800C1310 B01F0034 */ sth r0, 0x34(r31)
|
||||
/* 0BBD74 800C1314 A01D0032 */ lhz r0, 0x32(r29)
|
||||
/* 0BBD78 800C1318 B01F0036 */ sth r0, 0x36(r31)
|
||||
/* 0BBD7C 800C131C 801D003C */ lwz r0, 0x3c(r29)
|
||||
/* 0BBD80 800C1320 901F0038 */ stw r0, 0x38(r31)
|
||||
/* 0BBD84 800C1324 4BFFFD21 */ bl UpdateIconOffsets
|
||||
lbl_800C1328:
|
||||
/* 0BBD88 800C1328 80610014 */ lwz r3, 0x14(r1)
|
||||
/* 0BBD8C 800C132C 7FC4F378 */ mr r4, r30
|
||||
/* 0BBD90 800C1330 4BFFAA45 */ bl __CARDPutControlBlock
|
||||
lbl_800C1334:
|
||||
/* 0BBD94 800C1334 8001002C */ lwz r0, 0x2c(r1)
|
||||
/* 0BBD98 800C1338 83E10024 */ lwz r31, 0x24(r1)
|
||||
/* 0BBD9C 800C133C 83C10020 */ lwz r30, 0x20(r1)
|
||||
/* 0BBDA0 800C1340 83A1001C */ lwz r29, 0x1c(r1)
|
||||
/* 0BBDA4 800C1344 38210028 */ addi r1, r1, 0x28
|
||||
/* 0BBDA8 800C1348 7C0803A6 */ mtlr r0
|
||||
/* 0BBDAC 800C134C 4E800020 */ blr
|
||||
|
||||
glabel CARDSetStatusAsync
|
||||
/* 0BBDB0 800C1350 7C0802A6 */ mflr r0
|
||||
/* 0BBDB4 800C1354 90010004 */ stw r0, 4(r1)
|
||||
/* 0BBDB8 800C1358 9421FFD0 */ stwu r1, -0x30(r1)
|
||||
/* 0BBDBC 800C135C 93E1002C */ stw r31, 0x2c(r1)
|
||||
/* 0BBDC0 800C1360 7C9F2379 */ or. r31, r4, r4
|
||||
/* 0BBDC4 800C1364 93C10028 */ stw r30, 0x28(r1)
|
||||
/* 0BBDC8 800C1368 3BC60000 */ addi r30, r6, 0
|
||||
/* 0BBDCC 800C136C 93A10024 */ stw r29, 0x24(r1)
|
||||
/* 0BBDD0 800C1370 3BA50000 */ addi r29, r5, 0
|
||||
/* 0BBDD4 800C1374 93810020 */ stw r28, 0x20(r1)
|
||||
/* 0BBDD8 800C1378 3B830000 */ addi r28, r3, 0
|
||||
/* 0BBDDC 800C137C 41800040 */ blt lbl_800C13BC
|
||||
/* 0BBDE0 800C1380 2C1F007F */ cmpwi r31, 0x7f
|
||||
/* 0BBDE4 800C1384 40800038 */ bge lbl_800C13BC
|
||||
/* 0BBDE8 800C1388 807D0030 */ lwz r3, 0x30(r29)
|
||||
/* 0BBDEC 800C138C 3C030001 */ addis r0, r3, 1
|
||||
/* 0BBDF0 800C1390 2800FFFF */ cmplwi r0, 0xffff
|
||||
/* 0BBDF4 800C1394 4182000C */ beq lbl_800C13A0
|
||||
/* 0BBDF8 800C1398 28030200 */ cmplwi r3, 0x200
|
||||
/* 0BBDFC 800C139C 40800020 */ bge lbl_800C13BC
|
||||
lbl_800C13A0:
|
||||
/* 0BBE00 800C13A0 807D0038 */ lwz r3, 0x38(r29)
|
||||
/* 0BBE04 800C13A4 3C030001 */ addis r0, r3, 1
|
||||
/* 0BBE08 800C13A8 2800FFFF */ cmplwi r0, 0xffff
|
||||
/* 0BBE0C 800C13AC 41820018 */ beq lbl_800C13C4
|
||||
/* 0BBE10 800C13B0 546004FE */ clrlwi r0, r3, 0x13
|
||||
/* 0BBE14 800C13B4 28001FC0 */ cmplwi r0, 0x1fc0
|
||||
/* 0BBE18 800C13B8 4081000C */ ble lbl_800C13C4
|
||||
lbl_800C13BC:
|
||||
/* 0BBE1C 800C13BC 3860FF80 */ li r3, -128
|
||||
/* 0BBE20 800C13C0 480000E4 */ b lbl_800C14A4
|
||||
lbl_800C13C4:
|
||||
/* 0BBE24 800C13C4 387C0000 */ addi r3, r28, 0
|
||||
/* 0BBE28 800C13C8 38810018 */ addi r4, r1, 0x18
|
||||
/* 0BBE2C 800C13CC 4BFFA8F1 */ bl __CARDGetControlBlock
|
||||
/* 0BBE30 800C13D0 2C030000 */ cmpwi r3, 0
|
||||
/* 0BBE34 800C13D4 40800008 */ bge lbl_800C13DC
|
||||
/* 0BBE38 800C13D8 480000CC */ b lbl_800C14A4
|
||||
lbl_800C13DC:
|
||||
/* 0BBE3C 800C13DC 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BBE40 800C13E0 4BFFC55D */ bl __CARDGetDirBlock
|
||||
/* 0BBE44 800C13E4 57E03032 */ slwi r0, r31, 6
|
||||
/* 0BBE48 800C13E8 7FE30214 */ add r31, r3, r0
|
||||
/* 0BBE4C 800C13EC 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BBE50 800C13F0 7FE4FB78 */ mr r4, r31
|
||||
/* 0BBE54 800C13F4 4BFFEAB5 */ bl __CARDIsWritable
|
||||
/* 0BBE58 800C13F8 7C641B79 */ or. r4, r3, r3
|
||||
/* 0BBE5C 800C13FC 40800010 */ bge lbl_800C140C
|
||||
/* 0BBE60 800C1400 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BBE64 800C1404 4BFFA971 */ bl __CARDPutControlBlock
|
||||
/* 0BBE68 800C1408 4800009C */ b lbl_800C14A4
|
||||
lbl_800C140C:
|
||||
/* 0BBE6C 800C140C 881D002E */ lbz r0, 0x2e(r29)
|
||||
/* 0BBE70 800C1410 387F0000 */ addi r3, r31, 0
|
||||
/* 0BBE74 800C1414 389D0000 */ addi r4, r29, 0
|
||||
/* 0BBE78 800C1418 981F0007 */ stb r0, 7(r31)
|
||||
/* 0BBE7C 800C141C 801D0030 */ lwz r0, 0x30(r29)
|
||||
/* 0BBE80 800C1420 901F002C */ stw r0, 0x2c(r31)
|
||||
/* 0BBE84 800C1424 A01D0034 */ lhz r0, 0x34(r29)
|
||||
/* 0BBE88 800C1428 B01F0030 */ sth r0, 0x30(r31)
|
||||
/* 0BBE8C 800C142C A01D0036 */ lhz r0, 0x36(r29)
|
||||
/* 0BBE90 800C1430 B01F0032 */ sth r0, 0x32(r31)
|
||||
/* 0BBE94 800C1434 801D0038 */ lwz r0, 0x38(r29)
|
||||
/* 0BBE98 800C1438 901F003C */ stw r0, 0x3c(r31)
|
||||
/* 0BBE9C 800C143C 4BFFFC09 */ bl UpdateIconOffsets
|
||||
/* 0BBEA0 800C1440 807F002C */ lwz r3, 0x2c(r31)
|
||||
/* 0BBEA4 800C1444 3C030001 */ addis r0, r3, 1
|
||||
/* 0BBEA8 800C1448 2800FFFF */ cmplwi r0, 0xffff
|
||||
/* 0BBEAC 800C144C 40820014 */ bne lbl_800C1460
|
||||
/* 0BBEB0 800C1450 A01F0032 */ lhz r0, 0x32(r31)
|
||||
/* 0BBEB4 800C1454 5400003A */ rlwinm r0, r0, 0, 0, 0x1d
|
||||
/* 0BBEB8 800C1458 60000001 */ ori r0, r0, 1
|
||||
/* 0BBEBC 800C145C B01F0032 */ sth r0, 0x32(r31)
|
||||
lbl_800C1460:
|
||||
/* 0BBEC0 800C1460 3C608000 */ lis r3, 0x8000
|
||||
/* 0BBEC4 800C1464 800300F8 */ lwz r0, 0xf8(r3)
|
||||
/* 0BBEC8 800C1468 541DF0BE */ srwi r29, r0, 2
|
||||
/* 0BBECC 800C146C 4BFE0E3D */ bl OSGetTime
|
||||
/* 0BBED0 800C1470 38DD0000 */ addi r6, r29, 0
|
||||
/* 0BBED4 800C1474 38A00000 */ li r5, 0
|
||||
/* 0BBED8 800C1478 4800C5A5 */ bl __div2i
|
||||
/* 0BBEDC 800C147C 909F0028 */ stw r4, 0x28(r31)
|
||||
/* 0BBEE0 800C1480 387C0000 */ addi r3, r28, 0
|
||||
/* 0BBEE4 800C1484 389E0000 */ addi r4, r30, 0
|
||||
/* 0BBEE8 800C1488 4BFFC655 */ bl __CARDUpdateDir
|
||||
/* 0BBEEC 800C148C 7C7C1B79 */ or. r28, r3, r3
|
||||
/* 0BBEF0 800C1490 40800010 */ bge lbl_800C14A0
|
||||
/* 0BBEF4 800C1494 80610018 */ lwz r3, 0x18(r1)
|
||||
/* 0BBEF8 800C1498 7F84E378 */ mr r4, r28
|
||||
/* 0BBEFC 800C149C 4BFFA8D9 */ bl __CARDPutControlBlock
|
||||
lbl_800C14A0:
|
||||
/* 0BBF00 800C14A0 7F83E378 */ mr r3, r28
|
||||
lbl_800C14A4:
|
||||
/* 0BBF04 800C14A4 80010034 */ lwz r0, 0x34(r1)
|
||||
/* 0BBF08 800C14A8 83E1002C */ lwz r31, 0x2c(r1)
|
||||
/* 0BBF0C 800C14AC 83C10028 */ lwz r30, 0x28(r1)
|
||||
/* 0BBF10 800C14B0 83A10024 */ lwz r29, 0x24(r1)
|
||||
/* 0BBF14 800C14B4 83810020 */ lwz r28, 0x20(r1)
|
||||
/* 0BBF18 800C14B8 38210030 */ addi r1, r1, 0x30
|
||||
/* 0BBF1C 800C14BC 7C0803A6 */ mtlr r0
|
||||
/* 0BBF20 800C14C0 4E800020 */ blr
|
||||
|
||||
|
||||
+1273
File diff suppressed because it is too large
Load Diff
+236
@@ -0,0 +1,236 @@
|
||||
# CARDWrite.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
WriteCallback:
|
||||
/* 0BB5BC 800C0B5C 7C0802A6 */ mflr r0
|
||||
/* 0BB5C0 800C0B60 90010004 */ stw r0, 4(r1)
|
||||
/* 0BB5C4 800C0B64 9421FFE0 */ stwu r1, -0x20(r1)
|
||||
/* 0BB5C8 800C0B68 93E1001C */ stw r31, 0x1c(r1)
|
||||
/* 0BB5CC 800C0B6C 93C10018 */ stw r30, 0x18(r1)
|
||||
/* 0BB5D0 800C0B70 3BC30000 */ addi r30, r3, 0
|
||||
/* 0BB5D4 800C0B74 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0BB5D8 800C0B78 93A10014 */ stw r29, 0x14(r1)
|
||||
/* 0BB5DC 800C0B7C 1CBE0110 */ mulli r5, r30, 0x110
|
||||
/* 0BB5E0 800C0B80 93810010 */ stw r28, 0x10(r1)
|
||||
/* 0BB5E4 800C0B84 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0BB5E8 800C0B88 7C9C2379 */ or. r28, r4, r4
|
||||
/* 0BB5EC 800C0B8C 7FE02A14 */ add r31, r0, r5
|
||||
/* 0BB5F0 800C0B90 418000F0 */ blt lbl_800C0C80
|
||||
/* 0BB5F4 800C0B94 83BF00C0 */ lwz r29, 0xc0(r31)
|
||||
/* 0BB5F8 800C0B98 807D000C */ lwz r3, 0xc(r29)
|
||||
/* 0BB5FC 800C0B9C 2C030000 */ cmpwi r3, 0
|
||||
/* 0BB600 800C0BA0 4080000C */ bge lbl_800C0BAC
|
||||
/* 0BB604 800C0BA4 3B80FFF2 */ li r28, -14
|
||||
/* 0BB608 800C0BA8 480000D8 */ b lbl_800C0C80
|
||||
lbl_800C0BAC:
|
||||
/* 0BB60C 800C0BAC 801F000C */ lwz r0, 0xc(r31)
|
||||
/* 0BB610 800C0BB0 7C001850 */ subf r0, r0, r3
|
||||
/* 0BB614 800C0BB4 901D000C */ stw r0, 0xc(r29)
|
||||
/* 0BB618 800C0BB8 801D000C */ lwz r0, 0xc(r29)
|
||||
/* 0BB61C 800C0BBC 2C000000 */ cmpwi r0, 0
|
||||
/* 0BB620 800C0BC0 41810054 */ bgt lbl_800C0C14
|
||||
/* 0BB624 800C0BC4 7FE3FB78 */ mr r3, r31
|
||||
/* 0BB628 800C0BC8 4BFFCD75 */ bl __CARDGetDirBlock
|
||||
/* 0BB62C 800C0BCC 80BD0004 */ lwz r5, 4(r29)
|
||||
/* 0BB630 800C0BD0 3C808000 */ lis r4, 0x8000
|
||||
/* 0BB634 800C0BD4 800400F8 */ lwz r0, 0xf8(r4)
|
||||
/* 0BB638 800C0BD8 54A43032 */ slwi r4, r5, 6
|
||||
/* 0BB63C 800C0BDC 7F832214 */ add r28, r3, r4
|
||||
/* 0BB640 800C0BE0 541DF0BE */ srwi r29, r0, 2
|
||||
/* 0BB644 800C0BE4 4BFE16C5 */ bl OSGetTime
|
||||
/* 0BB648 800C0BE8 38DD0000 */ addi r6, r29, 0
|
||||
/* 0BB64C 800C0BEC 38A00000 */ li r5, 0
|
||||
/* 0BB650 800C0BF0 4800CE2D */ bl __div2i
|
||||
/* 0BB654 800C0BF4 909C0028 */ stw r4, 0x28(r28)
|
||||
/* 0BB658 800C0BF8 38000000 */ li r0, 0
|
||||
/* 0BB65C 800C0BFC 387E0000 */ addi r3, r30, 0
|
||||
/* 0BB660 800C0C00 809F00D0 */ lwz r4, 0xd0(r31)
|
||||
/* 0BB664 800C0C04 901F00D0 */ stw r0, 0xd0(r31)
|
||||
/* 0BB668 800C0C08 4BFFCED5 */ bl __CARDUpdateDir
|
||||
/* 0BB66C 800C0C0C 7C7C1B78 */ mr r28, r3
|
||||
/* 0BB670 800C0C10 48000068 */ b lbl_800C0C78
|
||||
lbl_800C0C14:
|
||||
/* 0BB674 800C0C14 7FE3FB78 */ mr r3, r31
|
||||
/* 0BB678 800C0C18 4BFFC921 */ bl __CARDGetFatBlock
|
||||
/* 0BB67C 800C0C1C 809D0008 */ lwz r4, 8(r29)
|
||||
/* 0BB680 800C0C20 801F000C */ lwz r0, 0xc(r31)
|
||||
/* 0BB684 800C0C24 7C040214 */ add r0, r4, r0
|
||||
/* 0BB688 800C0C28 901D0008 */ stw r0, 8(r29)
|
||||
/* 0BB68C 800C0C2C A01D0010 */ lhz r0, 0x10(r29)
|
||||
/* 0BB690 800C0C30 5400083C */ slwi r0, r0, 1
|
||||
/* 0BB694 800C0C34 7C03022E */ lhzx r0, r3, r0
|
||||
/* 0BB698 800C0C38 B01D0010 */ sth r0, 0x10(r29)
|
||||
/* 0BB69C 800C0C3C A09D0010 */ lhz r4, 0x10(r29)
|
||||
/* 0BB6A0 800C0C40 28040005 */ cmplwi r4, 5
|
||||
/* 0BB6A4 800C0C44 41800010 */ blt lbl_800C0C54
|
||||
/* 0BB6A8 800C0C48 A01F0010 */ lhz r0, 0x10(r31)
|
||||
/* 0BB6AC 800C0C4C 7C040040 */ cmplw r4, r0
|
||||
/* 0BB6B0 800C0C50 4180000C */ blt lbl_800C0C5C
|
||||
lbl_800C0C54:
|
||||
/* 0BB6B4 800C0C54 3B80FFFA */ li r28, -6
|
||||
/* 0BB6B8 800C0C58 48000028 */ b lbl_800C0C80
|
||||
lbl_800C0C5C:
|
||||
/* 0BB6BC 800C0C5C 801F000C */ lwz r0, 0xc(r31)
|
||||
/* 0BB6C0 800C0C60 3C60800C */ lis r3, EraseCallback@ha
|
||||
/* 0BB6C4 800C0C64 38A30CCC */ addi r5, r3, EraseCallback@l
|
||||
/* 0BB6C8 800C0C68 7C8021D6 */ mullw r4, r0, r4
|
||||
/* 0BB6CC 800C0C6C 387E0000 */ addi r3, r30, 0
|
||||
/* 0BB6D0 800C0C70 4BFFAE81 */ bl __CARDEraseSector
|
||||
/* 0BB6D4 800C0C74 7C7C1B78 */ mr r28, r3
|
||||
lbl_800C0C78:
|
||||
/* 0BB6D8 800C0C78 2C1C0000 */ cmpwi r28, 0
|
||||
/* 0BB6DC 800C0C7C 40800030 */ bge lbl_800C0CAC
|
||||
lbl_800C0C80:
|
||||
/* 0BB6E0 800C0C80 83BF00D0 */ lwz r29, 0xd0(r31)
|
||||
/* 0BB6E4 800C0C84 38000000 */ li r0, 0
|
||||
/* 0BB6E8 800C0C88 387F0000 */ addi r3, r31, 0
|
||||
/* 0BB6EC 800C0C8C 901F00D0 */ stw r0, 0xd0(r31)
|
||||
/* 0BB6F0 800C0C90 7F84E378 */ mr r4, r28
|
||||
/* 0BB6F4 800C0C94 4BFFB0E1 */ bl __CARDPutControlBlock
|
||||
/* 0BB6F8 800C0C98 399D0000 */ addi r12, r29, 0
|
||||
/* 0BB6FC 800C0C9C 7D8803A6 */ mtlr r12
|
||||
/* 0BB700 800C0CA0 387E0000 */ addi r3, r30, 0
|
||||
/* 0BB704 800C0CA4 389C0000 */ addi r4, r28, 0
|
||||
/* 0BB708 800C0CA8 4E800021 */ blrl
|
||||
lbl_800C0CAC:
|
||||
/* 0BB70C 800C0CAC 80010024 */ lwz r0, 0x24(r1)
|
||||
/* 0BB710 800C0CB0 83E1001C */ lwz r31, 0x1c(r1)
|
||||
/* 0BB714 800C0CB4 83C10018 */ lwz r30, 0x18(r1)
|
||||
/* 0BB718 800C0CB8 83A10014 */ lwz r29, 0x14(r1)
|
||||
/* 0BB71C 800C0CBC 83810010 */ lwz r28, 0x10(r1)
|
||||
/* 0BB720 800C0CC0 38210020 */ addi r1, r1, 0x20
|
||||
/* 0BB724 800C0CC4 7C0803A6 */ mtlr r0
|
||||
/* 0BB728 800C0CC8 4E800020 */ blr
|
||||
|
||||
EraseCallback:
|
||||
/* 0BB72C 800C0CCC 7C0802A6 */ mflr r0
|
||||
/* 0BB730 800C0CD0 90010004 */ stw r0, 4(r1)
|
||||
/* 0BB734 800C0CD4 9421FFE0 */ stwu r1, -0x20(r1)
|
||||
/* 0BB738 800C0CD8 93E1001C */ stw r31, 0x1c(r1)
|
||||
/* 0BB73C 800C0CDC 93C10018 */ stw r30, 0x18(r1)
|
||||
/* 0BB740 800C0CE0 93A10014 */ stw r29, 0x14(r1)
|
||||
/* 0BB744 800C0CE4 7C9D2379 */ or. r29, r4, r4
|
||||
/* 0BB748 800C0CE8 93810010 */ stw r28, 0x10(r1)
|
||||
/* 0BB74C 800C0CEC 3B830000 */ addi r28, r3, 0
|
||||
/* 0BB750 800C0CF0 1CBC0110 */ mulli r5, r28, 0x110
|
||||
/* 0BB754 800C0CF4 3C608013 */ lis r3, __CARDBlock@ha
|
||||
/* 0BB758 800C0CF8 380327D0 */ addi r0, r3, __CARDBlock@l
|
||||
/* 0BB75C 800C0CFC 7FE02A14 */ add r31, r0, r5
|
||||
/* 0BB760 800C0D00 41800030 */ blt lbl_800C0D30
|
||||
/* 0BB764 800C0D04 809F00C0 */ lwz r4, 0xc0(r31)
|
||||
/* 0BB768 800C0D08 3C60800C */ lis r3, WriteCallback@ha
|
||||
/* 0BB76C 800C0D0C 38E30B5C */ addi r7, r3, WriteCallback@l
|
||||
/* 0BB770 800C0D10 80BF000C */ lwz r5, 0xc(r31)
|
||||
/* 0BB774 800C0D14 A0040010 */ lhz r0, 0x10(r4)
|
||||
/* 0BB778 800C0D18 80DF00B4 */ lwz r6, 0xb4(r31)
|
||||
/* 0BB77C 800C0D1C 387C0000 */ addi r3, r28, 0
|
||||
/* 0BB780 800C0D20 7C8501D6 */ mullw r4, r5, r0
|
||||
/* 0BB784 800C0D24 4BFFC799 */ bl __CARDWrite
|
||||
/* 0BB788 800C0D28 7C7D1B79 */ or. r29, r3, r3
|
||||
/* 0BB78C 800C0D2C 40800030 */ bge lbl_800C0D5C
|
||||
lbl_800C0D30:
|
||||
/* 0BB790 800C0D30 83DF00D0 */ lwz r30, 0xd0(r31)
|
||||
/* 0BB794 800C0D34 38000000 */ li r0, 0
|
||||
/* 0BB798 800C0D38 387F0000 */ addi r3, r31, 0
|
||||
/* 0BB79C 800C0D3C 901F00D0 */ stw r0, 0xd0(r31)
|
||||
/* 0BB7A0 800C0D40 7FA4EB78 */ mr r4, r29
|
||||
/* 0BB7A4 800C0D44 4BFFB031 */ bl __CARDPutControlBlock
|
||||
/* 0BB7A8 800C0D48 399E0000 */ addi r12, r30, 0
|
||||
/* 0BB7AC 800C0D4C 7D8803A6 */ mtlr r12
|
||||
/* 0BB7B0 800C0D50 387C0000 */ addi r3, r28, 0
|
||||
/* 0BB7B4 800C0D54 389D0000 */ addi r4, r29, 0
|
||||
/* 0BB7B8 800C0D58 4E800021 */ blrl
|
||||
lbl_800C0D5C:
|
||||
/* 0BB7BC 800C0D5C 80010024 */ lwz r0, 0x24(r1)
|
||||
/* 0BB7C0 800C0D60 83E1001C */ lwz r31, 0x1c(r1)
|
||||
/* 0BB7C4 800C0D64 83C10018 */ lwz r30, 0x18(r1)
|
||||
/* 0BB7C8 800C0D68 83A10014 */ lwz r29, 0x14(r1)
|
||||
/* 0BB7CC 800C0D6C 83810010 */ lwz r28, 0x10(r1)
|
||||
/* 0BB7D0 800C0D70 38210020 */ addi r1, r1, 0x20
|
||||
/* 0BB7D4 800C0D74 7C0803A6 */ mtlr r0
|
||||
/* 0BB7D8 800C0D78 4E800020 */ blr
|
||||
|
||||
glabel CARDWriteAsync
|
||||
/* 0BB7DC 800C0D7C 7C0802A6 */ mflr r0
|
||||
/* 0BB7E0 800C0D80 90010004 */ stw r0, 4(r1)
|
||||
/* 0BB7E4 800C0D84 9421FFC8 */ stwu r1, -0x38(r1)
|
||||
/* 0BB7E8 800C0D88 BF610024 */ stmw r27, 0x24(r1)
|
||||
/* 0BB7EC 800C0D8C 3B860000 */ addi r28, r6, 0
|
||||
/* 0BB7F0 800C0D90 3B650000 */ addi r27, r5, 0
|
||||
/* 0BB7F4 800C0D94 3BE40000 */ addi r31, r4, 0
|
||||
/* 0BB7F8 800C0D98 3BC30000 */ addi r30, r3, 0
|
||||
/* 0BB7FC 800C0D9C 3BA70000 */ addi r29, r7, 0
|
||||
/* 0BB800 800C0DA0 389B0000 */ addi r4, r27, 0
|
||||
/* 0BB804 800C0DA4 38BC0000 */ addi r5, r28, 0
|
||||
/* 0BB808 800C0DA8 38C1001C */ addi r6, r1, 0x1c
|
||||
/* 0BB80C 800C0DAC 4BFFF93D */ bl __CARDSeek
|
||||
/* 0BB810 800C0DB0 2C030000 */ cmpwi r3, 0
|
||||
/* 0BB814 800C0DB4 40800008 */ bge lbl_800C0DBC
|
||||
/* 0BB818 800C0DB8 480000C4 */ b lbl_800C0E7C
|
||||
lbl_800C0DBC:
|
||||
/* 0BB81C 800C0DBC 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB820 800C0DC0 8083000C */ lwz r4, 0xc(r3)
|
||||
/* 0BB824 800C0DC4 3884FFFF */ addi r4, r4, -1
|
||||
/* 0BB828 800C0DC8 7F802039 */ and. r0, r28, r4
|
||||
/* 0BB82C 800C0DCC 4082000C */ bne lbl_800C0DD8
|
||||
/* 0BB830 800C0DD0 7F602039 */ and. r0, r27, r4
|
||||
/* 0BB834 800C0DD4 41820010 */ beq lbl_800C0DE4
|
||||
lbl_800C0DD8:
|
||||
/* 0BB838 800C0DD8 3880FF80 */ li r4, -128
|
||||
/* 0BB83C 800C0DDC 4BFFAF99 */ bl __CARDPutControlBlock
|
||||
/* 0BB840 800C0DE0 4800009C */ b lbl_800C0E7C
|
||||
lbl_800C0DE4:
|
||||
/* 0BB844 800C0DE4 4BFFCB59 */ bl __CARDGetDirBlock
|
||||
/* 0BB848 800C0DE8 801E0004 */ lwz r0, 4(r30)
|
||||
/* 0BB84C 800C0DEC 54003032 */ slwi r0, r0, 6
|
||||
/* 0BB850 800C0DF0 7C830214 */ add r4, r3, r0
|
||||
/* 0BB854 800C0DF4 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB858 800C0DF8 4BFFF0B1 */ bl __CARDIsWritable
|
||||
/* 0BB85C 800C0DFC 7C641B79 */ or. r4, r3, r3
|
||||
/* 0BB860 800C0E00 40800010 */ bge lbl_800C0E10
|
||||
/* 0BB864 800C0E04 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB868 800C0E08 4BFFAF6D */ bl __CARDPutControlBlock
|
||||
/* 0BB86C 800C0E0C 48000070 */ b lbl_800C0E7C
|
||||
lbl_800C0E10:
|
||||
/* 0BB870 800C0E10 387F0000 */ addi r3, r31, 0
|
||||
/* 0BB874 800C0E14 389B0000 */ addi r4, r27, 0
|
||||
/* 0BB878 800C0E18 4BFDC995 */ bl DCStoreRange
|
||||
/* 0BB87C 800C0E1C 281D0000 */ cmplwi r29, 0
|
||||
/* 0BB880 800C0E20 4182000C */ beq lbl_800C0E2C
|
||||
/* 0BB884 800C0E24 7FA0EB78 */ mr r0, r29
|
||||
/* 0BB888 800C0E28 4800000C */ b lbl_800C0E34
|
||||
lbl_800C0E2C:
|
||||
/* 0BB88C 800C0E2C 3C60800C */ lis r3, __CARDDefaultApiCallback@ha
|
||||
/* 0BB890 800C0E30 3803AD5C */ addi r0, r3, __CARDDefaultApiCallback@l
|
||||
lbl_800C0E34:
|
||||
/* 0BB894 800C0E34 8081001C */ lwz r4, 0x1c(r1)
|
||||
/* 0BB898 800C0E38 3C60800C */ lis r3, EraseCallback@ha
|
||||
/* 0BB89C 800C0E3C 38A30CCC */ addi r5, r3, EraseCallback@l
|
||||
/* 0BB8A0 800C0E40 900400D0 */ stw r0, 0xd0(r4)
|
||||
/* 0BB8A4 800C0E44 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB8A8 800C0E48 93E300B4 */ stw r31, 0xb4(r3)
|
||||
/* 0BB8AC 800C0E4C 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB8B0 800C0E50 A01E0010 */ lhz r0, 0x10(r30)
|
||||
/* 0BB8B4 800C0E54 8083000C */ lwz r4, 0xc(r3)
|
||||
/* 0BB8B8 800C0E58 807E0000 */ lwz r3, 0(r30)
|
||||
/* 0BB8BC 800C0E5C 7C8401D6 */ mullw r4, r4, r0
|
||||
/* 0BB8C0 800C0E60 4BFFAC91 */ bl __CARDEraseSector
|
||||
/* 0BB8C4 800C0E64 7C7E1B79 */ or. r30, r3, r3
|
||||
/* 0BB8C8 800C0E68 40800010 */ bge lbl_800C0E78
|
||||
/* 0BB8CC 800C0E6C 8061001C */ lwz r3, 0x1c(r1)
|
||||
/* 0BB8D0 800C0E70 7FC4F378 */ mr r4, r30
|
||||
/* 0BB8D4 800C0E74 4BFFAF01 */ bl __CARDPutControlBlock
|
||||
lbl_800C0E78:
|
||||
/* 0BB8D8 800C0E78 7FC3F378 */ mr r3, r30
|
||||
lbl_800C0E7C:
|
||||
/* 0BB8DC 800C0E7C BB610024 */ lmw r27, 0x24(r1)
|
||||
/* 0BB8E0 800C0E80 8001003C */ lwz r0, 0x3c(r1)
|
||||
/* 0BB8E4 800C0E84 38210038 */ addi r1, r1, 0x38
|
||||
/* 0BB8E8 800C0E88 7C0803A6 */ mtlr r0
|
||||
/* 0BB8EC 800C0E8C 4E800020 */ blr
|
||||
|
||||
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
# DEMOFont.c
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
.balign 4
|
||||
|
||||
glabel DEMOPrintf
|
||||
/* 0B1890 800B6E30 7C0802A6 */ mflr r0
|
||||
/* 0B1894 800B6E34 90010004 */ stw r0, 4(r1)
|
||||
/* 0B1898 800B6E38 9421FE70 */ stwu r1, -0x190(r1)
|
||||
/* 0B189C 800B6E3C 93E1018C */ stw r31, 0x18c(r1)
|
||||
/* 0B18A0 800B6E40 93C10188 */ stw r30, 0x188(r1)
|
||||
/* 0B18A4 800B6E44 93A10184 */ stw r29, 0x184(r1)
|
||||
/* 0B18A8 800B6E48 40860024 */ bne cr1, lbl_800B6E6C
|
||||
/* 0B18AC 800B6E4C D8210028 */ stfd f1, 0x28(r1)
|
||||
/* 0B18B0 800B6E50 D8410030 */ stfd f2, 0x30(r1)
|
||||
/* 0B18B4 800B6E54 D8610038 */ stfd f3, 0x38(r1)
|
||||
/* 0B18B8 800B6E58 D8810040 */ stfd f4, 0x40(r1)
|
||||
/* 0B18BC 800B6E5C D8A10048 */ stfd f5, 0x48(r1)
|
||||
/* 0B18C0 800B6E60 D8C10050 */ stfd f6, 0x50(r1)
|
||||
/* 0B18C4 800B6E64 D8E10058 */ stfd f7, 0x58(r1)
|
||||
/* 0B18C8 800B6E68 D9010060 */ stfd f8, 0x60(r1)
|
||||
lbl_800B6E6C:
|
||||
/* 0B18CC 800B6E6C 90610008 */ stw r3, 8(r1)
|
||||
/* 0B18D0 800B6E70 3BA30000 */ addi r29, r3, 0
|
||||
/* 0B18D4 800B6E74 3C000400 */ lis r0, 0x400
|
||||
/* 0B18D8 800B6E78 9081000C */ stw r4, 0xc(r1)
|
||||
/* 0B18DC 800B6E7C 3BC40000 */ addi r30, r4, 0
|
||||
/* 0B18E0 800B6E80 3BE50000 */ addi r31, r5, 0
|
||||
/* 0B18E4 800B6E84 90A10010 */ stw r5, 0x10(r1)
|
||||
/* 0B18E8 800B6E88 38860000 */ addi r4, r6, 0
|
||||
/* 0B18EC 800B6E8C 38610074 */ addi r3, r1, 0x74
|
||||
/* 0B18F0 800B6E90 90C10014 */ stw r6, 0x14(r1)
|
||||
/* 0B18F4 800B6E94 90E10018 */ stw r7, 0x18(r1)
|
||||
/* 0B18F8 800B6E98 9101001C */ stw r8, 0x1c(r1)
|
||||
/* 0B18FC 800B6E9C 91210020 */ stw r9, 0x20(r1)
|
||||
/* 0B1900 800B6EA0 91410024 */ stw r10, 0x24(r1)
|
||||
/* 0B1904 800B6EA4 90010174 */ stw r0, 0x174(r1)
|
||||
/* 0B1908 800B6EA8 38010198 */ addi r0, r1, 0x198
|
||||
/* 0B190C 800B6EAC 90010178 */ stw r0, 0x178(r1)
|
||||
/* 0B1910 800B6EB0 38010008 */ addi r0, r1, 8
|
||||
/* 0B1914 800B6EB4 9001017C */ stw r0, 0x17c(r1)
|
||||
/* 0B1918 800B6EB8 38010174 */ addi r0, r1, 0x174
|
||||
/* 0B191C 800B6EBC 7C050378 */ mr r5, r0
|
||||
/* 0B1920 800B6EC0 48017F51 */ bl vsprintf
|
||||
/* 0B1924 800B6EC4 387D0000 */ addi r3, r29, 0
|
||||
/* 0B1928 800B6EC8 389E0000 */ addi r4, r30, 0
|
||||
/* 0B192C 800B6ECC 38BF0000 */ addi r5, r31, 0
|
||||
/* 0B1930 800B6ED0 38C10074 */ addi r6, r1, 0x74
|
||||
/* 0B1934 800B6ED4 4BFFFC4D */ bl DEMOPuts
|
||||
/* 0B1938 800B6ED8 80010194 */ lwz r0, 0x194(r1)
|
||||
/* 0B193C 800B6EDC 83E1018C */ lwz r31, 0x18c(r1)
|
||||
/* 0B1940 800B6EE0 83C10188 */ lwz r30, 0x188(r1)
|
||||
/* 0B1944 800B6EE4 83A10184 */ lwz r29, 0x184(r1)
|
||||
/* 0B1948 800B6EE8 38210190 */ addi r1, r1, 0x190
|
||||
/* 0B194C 800B6EEC 7C0803A6 */ mtlr r0
|
||||
/* 0B1950 800B6EF0 4E800020 */ blr
|
||||
|
||||
|
||||
.section .data, "wa"
|
||||
|
||||
.balign 32
|
||||
|
||||
/* 000EF8A0 800F2820 0C00 */
|
||||
glabel DEMOFontBitmap
|
||||
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000FF000, 0x000FF000, 0x000FF000, 0x000FF000, 0x000FF000, 0x00000000, 0x000FF000
|
||||
.long 0x00000000, 0x00F00F00, 0x00F00F00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00F00F00, 0x00F00F00, 0x0FFFFFF0, 0x00F00F00, 0x0FFFFFF0, 0x00F00F00, 0x00F00F00
|
||||
.long 0x00000000, 0x0000F000, 0x00FFFFF0, 0x0F00F000, 0x00FFFF00, 0x0000F0F0, 0x0FFFFF00, 0x0000F000, 0x00000000, 0x0FF000F0, 0x0FF00F00, 0x0000F000, 0x000F0000, 0x00F00FF0, 0x0F000FF0, 0x00000000
|
||||
.long 0x00000000, 0x000F0000, 0x00F0F000, 0x00F0F000, 0x00FF0000, 0x0F000FF0, 0x0F0000F0, 0x00FFFF00, 0x00000000, 0x000FF000, 0x000FF000, 0x0000F000, 0x000F0000, 0x00000000, 0x00000000, 0x00000000
|
||||
.long 0x00000000, 0x0000F000, 0x000F0000, 0x00F00000, 0x00F00000, 0x00F00000, 0x000F0000, 0x0000F000, 0x00000000, 0x000F0000, 0x0000F000, 0x00000F00, 0x00000F00, 0x00000F00, 0x0000F000, 0x000F0000
|
||||
.long 0x00000000, 0x00000000, 0x00F000F0, 0x000F0F00, 0x00FFFFF0, 0x000F0F00, 0x00F000F0, 0x00000000, 0x00000000, 0x00000000, 0x0000F000, 0x0000F000, 0x00FFFFF0, 0x0000F000, 0x0000F000, 0x00000000
|
||||
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000FF000, 0x000FF000, 0x0000F000, 0x000F0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00FFFFF0, 0x00000000, 0x00000000, 0x00000000
|
||||
.long 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000FF000, 0x000FF000, 0x00000000, 0x000000F0, 0x00000F00, 0x0000F000, 0x000F0000, 0x00F00000, 0x0F000000, 0x00000000
|
||||
.long 0x00000000, 0x000FF000, 0x00F00F00, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x00F00F00, 0x000FF000, 0x00000000, 0x0000F000, 0x000FF000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x000FFF00
|
||||
.long 0x00000000, 0x00FFFF00, 0x0F0000F0, 0x000000F0, 0x00000F00, 0x0000F000, 0x000F0000, 0x0FFFFFF0, 0x00000000, 0x00FFFF00, 0x0F0000F0, 0x000000F0, 0x0000FF00, 0x000000F0, 0x0F0000F0, 0x00FFFF00
|
||||
.long 0x00000000, 0x00000F00, 0x0000FF00, 0x000F0F00, 0x00F00F00, 0x0FFFFFF0, 0x00000F00, 0x00000F00, 0x00000000, 0x0FFFFFF0, 0x0F000000, 0x0F000000, 0x0FFFFF00, 0x000000F0, 0x0F0000F0, 0x00FFFF00
|
||||
.long 0x00000000, 0x000FFF00, 0x00F00000, 0x0F000000, 0x0FFFFF00, 0x0F0000F0, 0x0F0000F0, 0x00FFFF00, 0x00000000, 0x0FFFFFF0, 0x0F0000F0, 0x00000F00, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000
|
||||
.long 0x00000000, 0x00FFFF00, 0x0F0000F0, 0x0F0000F0, 0x00FFFF00, 0x0F0000F0, 0x0F0000F0, 0x00FFFF00, 0x00000000, 0x00FFFF00, 0x0F0000F0, 0x0F0000F0, 0x00FFFFF0, 0x000000F0, 0x000000F0, 0x00FFFF00
|
||||
.long 0x00000000, 0x00000000, 0x000FF000, 0x000FF000, 0x00000000, 0x000FF000, 0x000FF000, 0x00000000, 0x00000000, 0x000FF000, 0x000FF000, 0x00000000, 0x000FF000, 0x000FF000, 0x0000F000, 0x000F0000
|
||||
.long 0x00000000, 0x00000F00, 0x0000F000, 0x000F0000, 0x00F00000, 0x000F0000, 0x0000F000, 0x00000F00, 0x00000000, 0x00000000, 0x00000000, 0x0FFFFFF0, 0x00000000, 0x0FFFFFF0, 0x00000000, 0x00000000
|
||||
.long 0x00000000, 0x00F00000, 0x000F0000, 0x0000F000, 0x00000F00, 0x0000F000, 0x000F0000, 0x00F00000, 0x00000000, 0x00FFFF00, 0x0F0000F0, 0x0F0000F0, 0x0000FF00, 0x000FF000, 0x00000000, 0x000FF000
|
||||
.long 0x00000000, 0x00FFFF00, 0x0F0000F0, 0x0F000FF0, 0x0F00F0F0, 0x0F00FFF0, 0x0F000000, 0x00FFFFF0, 0x00000000, 0x000FF000, 0x00F00F00, 0x0F0000F0, 0x0F0000F0, 0x0FFFFFF0, 0x0F0000F0, 0x0F0000F0
|
||||
.long 0x00000000, 0x0FFFFF00, 0x0F0000F0, 0x0F0000F0, 0x0FFFFF00, 0x0F0000F0, 0x0F0000F0, 0x0FFFFF00, 0x00000000, 0x000FFF00, 0x00F000F0, 0x0F000000, 0x0F000000, 0x0F000000, 0x00F000F0, 0x000FFF00
|
||||
.long 0x00000000, 0x0FFFF000, 0x0F000F00, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x0F000F00, 0x0FFFF000, 0x00000000, 0x0FFFFFF0, 0x0F000000, 0x0F000000, 0x0FFFFF00, 0x0F000000, 0x0F000000, 0x0FFFFFF0
|
||||
.long 0x00000000, 0x0FFFFFF0, 0x0F000000, 0x0F000000, 0x0FFFFF00, 0x0F000000, 0x0F000000, 0x0F000000, 0x00000000, 0x000FFF00, 0x00F00000, 0x0F000000, 0x0F00FFF0, 0x0F0000F0, 0x00F000F0, 0x000FFF00
|
||||
.long 0x00000000, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x0FFFFFF0, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x00000000, 0x000FFF00, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x000FFF00
|
||||
.long 0x00000000, 0x0000FFF0, 0x00000F00, 0x00000F00, 0x00000F00, 0x00000F00, 0x0F000F00, 0x00FFF000, 0x00000000, 0x0F0000F0, 0x0F000F00, 0x0F00F000, 0x0FFF0000, 0x0F00F000, 0x0F000F00, 0x0F0000F0
|
||||
.long 0x00000000, 0x0F000000, 0x0F000000, 0x0F000000, 0x0F000000, 0x0F000000, 0x0F000000, 0x0FFFFFF0, 0x00000000, 0x0F00000F, 0x0FF000FF, 0x0F0F0F0F, 0x0F00F00F, 0x0F00F00F, 0x0F00000F, 0x0F00000F
|
||||
.long 0x00000000, 0x0F0000F0, 0x0FF000F0, 0x0F0F00F0, 0x0F00F0F0, 0x0F00F0F0, 0x0F000FF0, 0x0F0000F0, 0x00000000, 0x00FFFF00, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x00FFFF00
|
||||
.long 0x00000000, 0x0FFFFF00, 0x0F0000F0, 0x0F0000F0, 0x0FFFFF00, 0x0F000000, 0x0F000000, 0x0F000000, 0x00000000, 0x00FFFF00, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x0F00F0F0, 0x0F000F00, 0x00FFF0F0
|
||||
.long 0x00000000, 0x0FFFFF00, 0x0F0000F0, 0x0F0000F0, 0x0FFFFF00, 0x0F00F000, 0x0F000F00, 0x0F0000F0, 0x00000000, 0x00FFFF00, 0x0F0000F0, 0x0F000000, 0x00FFFF00, 0x000000F0, 0x0F0000F0, 0x00FFFF00
|
||||
.long 0x00000000, 0x0FFFFFFF, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x00000000, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x00FFFF00
|
||||
.long 0x00000000, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x0F0000F0, 0x00F00F00, 0x00F00F00, 0x000FF000, 0x00000000, 0x0F00000F, 0x0F00000F, 0x0F00000F, 0x0F00F00F, 0x0F00F00F, 0x0F00F00F, 0x00FF0FF0
|
||||
.long 0x00000000, 0x0F0000F0, 0x0F0000F0, 0x00F00F00, 0x000FF000, 0x00F00F00, 0x0F0000F0, 0x0F0000F0, 0x00000000, 0x0F00000F, 0x00F000F0, 0x000F0F00, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000
|
||||
.long 0x00000000, 0x0FFFFFF0, 0x000000F0, 0x00000F00, 0x000FF000, 0x00F00000, 0x0F000000, 0x0FFFFFF0, 0x00000000, 0x000FFF00, 0x000F0000, 0x000F0000, 0x000F0000, 0x000F0000, 0x000F0000, 0x000FFF00
|
||||
.long 0x00000000, 0x0F000000, 0x00F00000, 0x000F0000, 0x0000F000, 0x00000F00, 0x000000F0, 0x00000000, 0x00000000, 0x00FFF000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x00FFF000
|
||||
.long 0x00000000, 0x000FF000, 0x00F00F00, 0x0F0000F0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0FFFFFF0
|
||||
.long 0x00000000, 0x000FF000, 0x000FF000, 0x000F0000, 0x0000F000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00FFFF00, 0x0F000F00, 0x0F000F00, 0x0F000F00, 0x00FFFFF0
|
||||
.long 0x00000000, 0x00F00000, 0x00F00000, 0x00F00000, 0x00FFFF00, 0x00F000F0, 0x00F000F0, 0x00FFFF00, 0x00000000, 0x00000000, 0x00000000, 0x00FFFF00, 0x0F000000, 0x0F000000, 0x0F000000, 0x00FFFF00
|
||||
.long 0x00000000, 0x000000F0, 0x000000F0, 0x000000F0, 0x000FFFF0, 0x00F000F0, 0x00F000F0, 0x000FFFF0, 0x00000000, 0x00000000, 0x00000000, 0x00FFFF00, 0x0F0000F0, 0x0FFFFFF0, 0x0F000000, 0x00FFFF00
|
||||
.long 0x00000000, 0x0000FF00, 0x000F0000, 0x000F0000, 0x0FFFFF00, 0x000F0000, 0x000F0000, 0x000F0000, 0x00000000, 0x00000000, 0x000FFFF0, 0x00F000F0, 0x00F000F0, 0x000FFFF0, 0x000000F0, 0x000FFF00
|
||||
.long 0x00000000, 0x00F00000, 0x00F00000, 0x00F00000, 0x00F0FF00, 0x00FF00F0, 0x00F000F0, 0x00F000F0, 0x00000000, 0x00000000, 0x0000F000, 0x00000000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000
|
||||
.long 0x00000000, 0x00000F00, 0x00000000, 0x00000F00, 0x00000F00, 0x00000F00, 0x00F00F00, 0x000FF000, 0x00000000, 0x00000000, 0x00F00000, 0x00F00000, 0x00F00F00, 0x00F0F000, 0x00FFF000, 0x00F00F00
|
||||
.long 0x00000000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x00000F00, 0x00000000, 0x00000000, 0x00000000, 0x00F0FF00, 0x0F0F00F0, 0x0F0F00F0, 0x0F0F00F0, 0x0F0F00F0
|
||||
.long 0x00000000, 0x00000000, 0x00000000, 0x00F0FF00, 0x00FF00F0, 0x00F000F0, 0x00F000F0, 0x00F000F0, 0x00000000, 0x00000000, 0x00000000, 0x000FFF00, 0x00F000F0, 0x00F000F0, 0x00F000F0, 0x000FFF00
|
||||
.long 0x00000000, 0x00000000, 0x00FFF000, 0x00F00F00, 0x00F00F00, 0x00FFF000, 0x00F00000, 0x00F00000, 0x00000000, 0x00000000, 0x000FFF00, 0x00F00F00, 0x00F00F00, 0x000FFF00, 0x00000F00, 0x00000FF0
|
||||
.long 0x00000000, 0x00000000, 0x00000000, 0x00F0FFF0, 0x00FF0000, 0x00F00000, 0x00F00000, 0x00F00000, 0x00000000, 0x00000000, 0x00000000, 0x000FFFF0, 0x00F00000, 0x000FFF00, 0x000000F0, 0x00FFFF00
|
||||
.long 0x00000000, 0x00000000, 0x0000F000, 0x00FFFFF0, 0x0000F000, 0x0000F000, 0x0000F000, 0x00000FF0, 0x00000000, 0x00000000, 0x00000000, 0x00F000F0, 0x00F000F0, 0x00F000F0, 0x00F000F0, 0x000FFFF0
|
||||
.long 0x00000000, 0x00000000, 0x00000000, 0x00F000F0, 0x00F000F0, 0x00F000F0, 0x000F0F00, 0x0000F000, 0x00000000, 0x00000000, 0x00000000, 0x0F0000F0, 0x0F00F0F0, 0x0F00F0F0, 0x0F00F0F0, 0x00FF0F00
|
||||
.long 0x00000000, 0x00000000, 0x00000000, 0x00F000F0, 0x000F0F00, 0x0000F000, 0x000F0F00, 0x00F000F0, 0x00000000, 0x00000000, 0x0F000F00, 0x0F000F00, 0x00F00F00, 0x000FFF00, 0x00000F00, 0x00FFF000
|
||||
.long 0x00000000, 0x00000000, 0x00000000, 0x00FFFFF0, 0x00000F00, 0x0000F000, 0x000F0000, 0x00FFFFF0, 0x00000000, 0x00000F00, 0x0000F000, 0x0000F000, 0x00FF0000, 0x0000F000, 0x0000F000, 0x00000F00
|
||||
.long 0x00000000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x0000F000, 0x00000000, 0x000F0000, 0x0000F000, 0x0000F000, 0x00000FF0, 0x0000F000, 0x0000F000, 0x000F0000
|
||||
.long 0x00000000, 0x00FF00FF, 0x0F00FF00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00FF0000, 0x0FF00000, 0xFFFFFFFF, 0xFFFFF000, 0xFFFFF000, 0xFFF00000, 0x00000000
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user