399 lines
18 KiB
ArmAsm
399 lines
18 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global nandOpen
|
|
nandOpen:
|
|
/* 800492A0 000450E0 94 21 FF A0 */ stwu r1, -0x60(r1)
|
|
/* 800492A4 000450E4 7C 08 02 A6 */ mflr r0
|
|
/* 800492A8 000450E8 90 01 00 64 */ stw r0, 0x64(r1)
|
|
/* 800492AC 000450EC 39 61 00 60 */ addi r11, r1, 0x60
|
|
/* 800492B0 000450F0 4B FB E0 8D */ bl lbl_8000733C
|
|
/* 800492B4 000450F4 38 00 00 00 */ li r0, 0x0
|
|
/* 800492B8 000450F8 90 01 00 08 */ stw r0, 0x8(r1)
|
|
/* 800492BC 000450FC 7C 9B 23 78 */ mr r27, r4
|
|
/* 800492C0 00045100 7C 64 1B 78 */ mr r4, r3
|
|
/* 800492C4 00045104 90 01 00 0C */ stw r0, 0xc(r1)
|
|
/* 800492C8 00045108 7C BC 2B 78 */ mr r28, r5
|
|
/* 800492CC 0004510C 7C DD 33 78 */ mr r29, r6
|
|
/* 800492D0 00045110 7C FE 3B 78 */ mr r30, r7
|
|
/* 800492D4 00045114 90 01 00 10 */ stw r0, 0x10(r1)
|
|
/* 800492D8 00045118 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 800492DC 0004511C 3B E0 00 00 */ li r31, 0x0
|
|
/* 800492E0 00045120 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 800492E4 00045124 90 01 00 18 */ stw r0, 0x18(r1)
|
|
/* 800492E8 00045128 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 800492EC 0004512C 90 01 00 20 */ stw r0, 0x20(r1)
|
|
/* 800492F0 00045130 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 800492F4 00045134 90 01 00 28 */ stw r0, 0x28(r1)
|
|
/* 800492F8 00045138 90 01 00 2C */ stw r0, 0x2c(r1)
|
|
/* 800492FC 0004513C 90 01 00 30 */ stw r0, 0x30(r1)
|
|
/* 80049300 00045140 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 80049304 00045144 90 01 00 38 */ stw r0, 0x38(r1)
|
|
/* 80049308 00045148 90 01 00 3C */ stw r0, 0x3c(r1)
|
|
/* 8004930C 0004514C 90 01 00 40 */ stw r0, 0x40(r1)
|
|
/* 80049310 00045150 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 80049314 00045154 48 00 0A ED */ bl nandGenerateAbsPath
|
|
/* 80049318 00045158 2C 1E 00 00 */ cmpwi r30, 0x0
|
|
/* 8004931C 0004515C 40 82 00 1C */ bne lbl_80049338
|
|
/* 80049320 00045160 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 80049324 00045164 48 00 08 4D */ bl nandIsPrivatePath
|
|
/* 80049328 00045168 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8004932C 0004516C 41 82 00 0C */ beq lbl_80049338
|
|
/* 80049330 00045170 38 60 FF 9A */ li r3, -0x66
|
|
/* 80049334 00045174 48 00 00 64 */ b lbl_80049398
|
|
.global lbl_80049338
|
|
lbl_80049338:
|
|
/* 80049338 00045178 2C 1B 00 03 */ cmpwi r27, 0x3
|
|
/* 8004933C 0004517C 41 82 00 18 */ beq lbl_80049354
|
|
/* 80049340 00045180 2C 1B 00 01 */ cmpwi r27, 0x1
|
|
/* 80049344 00045184 41 82 00 18 */ beq lbl_8004935C
|
|
/* 80049348 00045188 2C 1B 00 02 */ cmpwi r27, 0x2
|
|
/* 8004934C 0004518C 41 82 00 18 */ beq lbl_80049364
|
|
/* 80049350 00045190 48 00 00 18 */ b lbl_80049368
|
|
.global lbl_80049354
|
|
lbl_80049354:
|
|
/* 80049354 00045194 3B E0 00 03 */ li r31, 0x3
|
|
/* 80049358 00045198 48 00 00 10 */ b lbl_80049368
|
|
.global lbl_8004935C
|
|
lbl_8004935C:
|
|
/* 8004935C 0004519C 3B E0 00 01 */ li r31, 0x1
|
|
/* 80049360 000451A0 48 00 00 08 */ b lbl_80049368
|
|
.global lbl_80049364
|
|
lbl_80049364:
|
|
/* 80049364 000451A4 3B E0 00 02 */ li r31, 0x2
|
|
.global lbl_80049368
|
|
lbl_80049368:
|
|
/* 80049368 000451A8 2C 1D 00 00 */ cmpwi r29, 0x0
|
|
/* 8004936C 000451AC 41 82 00 20 */ beq lbl_8004938C
|
|
/* 80049370 000451B0 3C A0 80 05 */ lis r5, nandOpenCallback@ha
|
|
/* 80049374 000451B4 7F E4 FB 78 */ mr r4, r31
|
|
/* 80049378 000451B8 7F 86 E3 78 */ mr r6, r28
|
|
/* 8004937C 000451BC 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 80049380 000451C0 38 A5 95 D0 */ addi r5, r5, nandOpenCallback@l
|
|
/* 80049384 000451C4 48 00 8A 1D */ bl ISFS_OpenAsync
|
|
/* 80049388 000451C8 48 00 00 10 */ b lbl_80049398
|
|
.global lbl_8004938C
|
|
lbl_8004938C:
|
|
/* 8004938C 000451CC 7F E4 FB 78 */ mr r4, r31
|
|
/* 80049390 000451D0 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 80049394 000451D4 48 00 89 3D */ bl ISFS_Open
|
|
.global lbl_80049398
|
|
lbl_80049398:
|
|
/* 80049398 000451D8 39 61 00 60 */ addi r11, r1, 0x60
|
|
/* 8004939C 000451DC 4B FB DF ED */ bl lbl_80007388
|
|
/* 800493A0 000451E0 80 01 00 64 */ lwz r0, 0x64(r1)
|
|
/* 800493A4 000451E4 7C 08 03 A6 */ mtlr r0
|
|
/* 800493A8 000451E8 38 21 00 60 */ addi r1, r1, 0x60
|
|
/* 800493AC 000451EC 4E 80 00 20 */ blr
|
|
.global NANDOpen
|
|
NANDOpen:
|
|
/* 800493B0 000451F0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 800493B4 000451F4 7C 08 02 A6 */ mflr r0
|
|
/* 800493B8 000451F8 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 800493BC 000451FC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 800493C0 00045200 7C BF 2B 78 */ mr r31, r5
|
|
/* 800493C4 00045204 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 800493C8 00045208 7C 9E 23 78 */ mr r30, r4
|
|
/* 800493CC 0004520C 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 800493D0 00045210 7C 7D 1B 78 */ mr r29, r3
|
|
/* 800493D4 00045214 48 00 08 3D */ bl nandIsInitialized
|
|
/* 800493D8 00045218 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800493DC 0004521C 40 82 00 0C */ bne lbl_800493E8
|
|
/* 800493E0 00045220 38 60 FF 80 */ li r3, -0x80
|
|
/* 800493E4 00045224 48 00 00 3C */ b lbl_80049420
|
|
.global lbl_800493E8
|
|
lbl_800493E8:
|
|
/* 800493E8 00045228 7F A3 EB 78 */ mr r3, r29
|
|
/* 800493EC 0004522C 7F E4 FB 78 */ mr r4, r31
|
|
/* 800493F0 00045230 38 A0 00 00 */ li r5, 0x0
|
|
/* 800493F4 00045234 38 C0 00 00 */ li r6, 0x0
|
|
/* 800493F8 00045238 38 E0 00 00 */ li r7, 0x0
|
|
/* 800493FC 0004523C 4B FF FE A5 */ bl nandOpen
|
|
/* 80049400 00045240 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80049404 00045244 41 80 00 18 */ blt lbl_8004941C
|
|
/* 80049408 00045248 90 7E 00 00 */ stw r3, 0x0(r30)
|
|
/* 8004940C 0004524C 38 00 00 01 */ li r0, 0x1
|
|
/* 80049410 00045250 38 60 00 00 */ li r3, 0x0
|
|
/* 80049414 00045254 98 1E 00 8A */ stb r0, 0x8a(r30)
|
|
/* 80049418 00045258 48 00 00 08 */ b lbl_80049420
|
|
.global lbl_8004941C
|
|
lbl_8004941C:
|
|
/* 8004941C 0004525C 48 00 08 35 */ bl nandConvertErrorCode
|
|
.global lbl_80049420
|
|
lbl_80049420:
|
|
/* 80049420 00045260 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80049424 00045264 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80049428 00045268 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 8004942C 0004526C 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 80049430 00045270 7C 08 03 A6 */ mtlr r0
|
|
/* 80049434 00045274 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80049438 00045278 4E 80 00 20 */ blr
|
|
/* 8004943C 0004527C 00 00 00 00 */ .4byte 0x00000000
|
|
.global NANDPrivateOpen
|
|
NANDPrivateOpen:
|
|
/* 80049440 00045280 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80049444 00045284 7C 08 02 A6 */ mflr r0
|
|
/* 80049448 00045288 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8004944C 0004528C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 80049450 00045290 7C BF 2B 78 */ mr r31, r5
|
|
/* 80049454 00045294 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80049458 00045298 7C 9E 23 78 */ mr r30, r4
|
|
/* 8004945C 0004529C 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 80049460 000452A0 7C 7D 1B 78 */ mr r29, r3
|
|
/* 80049464 000452A4 48 00 07 AD */ bl nandIsInitialized
|
|
/* 80049468 000452A8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8004946C 000452AC 40 82 00 0C */ bne lbl_80049478
|
|
/* 80049470 000452B0 38 60 FF 80 */ li r3, -0x80
|
|
/* 80049474 000452B4 48 00 00 3C */ b lbl_800494B0
|
|
.global lbl_80049478
|
|
lbl_80049478:
|
|
/* 80049478 000452B8 7F A3 EB 78 */ mr r3, r29
|
|
/* 8004947C 000452BC 7F E4 FB 78 */ mr r4, r31
|
|
/* 80049480 000452C0 38 A0 00 00 */ li r5, 0x0
|
|
/* 80049484 000452C4 38 C0 00 00 */ li r6, 0x0
|
|
/* 80049488 000452C8 38 E0 00 01 */ li r7, 0x1
|
|
/* 8004948C 000452CC 4B FF FE 15 */ bl nandOpen
|
|
/* 80049490 000452D0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80049494 000452D4 41 80 00 18 */ blt lbl_800494AC
|
|
/* 80049498 000452D8 90 7E 00 00 */ stw r3, 0x0(r30)
|
|
/* 8004949C 000452DC 38 00 00 01 */ li r0, 0x1
|
|
/* 800494A0 000452E0 38 60 00 00 */ li r3, 0x0
|
|
/* 800494A4 000452E4 98 1E 00 8A */ stb r0, 0x8a(r30)
|
|
/* 800494A8 000452E8 48 00 00 08 */ b lbl_800494B0
|
|
.global lbl_800494AC
|
|
lbl_800494AC:
|
|
/* 800494AC 000452EC 48 00 07 A5 */ bl nandConvertErrorCode
|
|
.global lbl_800494B0
|
|
lbl_800494B0:
|
|
/* 800494B0 000452F0 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 800494B4 000452F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 800494B8 000452F8 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 800494BC 000452FC 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 800494C0 00045300 7C 08 03 A6 */ mtlr r0
|
|
/* 800494C4 00045304 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 800494C8 00045308 4E 80 00 20 */ blr
|
|
/* 800494CC 0004530C 00 00 00 00 */ .4byte 0x00000000
|
|
.global NANDOpenAsync
|
|
NANDOpenAsync:
|
|
/* 800494D0 00045310 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 800494D4 00045314 7C 08 02 A6 */ mflr r0
|
|
/* 800494D8 00045318 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 800494DC 0004531C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 800494E0 00045320 4B FB DE 5D */ bl lbl_8000733C
|
|
/* 800494E4 00045324 7C 7B 1B 78 */ mr r27, r3
|
|
/* 800494E8 00045328 7C 9C 23 78 */ mr r28, r4
|
|
/* 800494EC 0004532C 7C BD 2B 78 */ mr r29, r5
|
|
/* 800494F0 00045330 7C DE 33 78 */ mr r30, r6
|
|
/* 800494F4 00045334 7C FF 3B 78 */ mr r31, r7
|
|
/* 800494F8 00045338 48 00 07 19 */ bl nandIsInitialized
|
|
/* 800494FC 0004533C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80049500 00045340 40 82 00 0C */ bne lbl_8004950C
|
|
/* 80049504 00045344 38 60 FF 80 */ li r3, -0x80
|
|
/* 80049508 00045348 48 00 00 28 */ b lbl_80049530
|
|
.global lbl_8004950C
|
|
lbl_8004950C:
|
|
/* 8004950C 0004534C 93 DF 00 04 */ stw r30, 0x4(r31)
|
|
/* 80049510 00045350 7F 63 DB 78 */ mr r3, r27
|
|
/* 80049514 00045354 7F A4 EB 78 */ mr r4, r29
|
|
/* 80049518 00045358 7F E5 FB 78 */ mr r5, r31
|
|
/* 8004951C 0004535C 93 9F 00 08 */ stw r28, 0x8(r31)
|
|
/* 80049520 00045360 38 C0 00 01 */ li r6, 0x1
|
|
/* 80049524 00045364 38 E0 00 00 */ li r7, 0x0
|
|
/* 80049528 00045368 4B FF FD 79 */ bl nandOpen
|
|
/* 8004952C 0004536C 48 00 07 25 */ bl nandConvertErrorCode
|
|
.global lbl_80049530
|
|
lbl_80049530:
|
|
/* 80049530 00045370 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80049534 00045374 4B FB DE 55 */ bl lbl_80007388
|
|
/* 80049538 00045378 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8004953C 0004537C 7C 08 03 A6 */ mtlr r0
|
|
/* 80049540 00045380 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80049544 00045384 4E 80 00 20 */ blr
|
|
/* 80049548 00045388 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8004954C 0004538C 00 00 00 00 */ .4byte 0x00000000
|
|
.global NANDPrivateOpenAsync
|
|
NANDPrivateOpenAsync:
|
|
/* 80049550 00045390 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80049554 00045394 7C 08 02 A6 */ mflr r0
|
|
/* 80049558 00045398 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8004955C 0004539C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80049560 000453A0 4B FB DD DD */ bl lbl_8000733C
|
|
/* 80049564 000453A4 7C 7B 1B 78 */ mr r27, r3
|
|
/* 80049568 000453A8 7C 9C 23 78 */ mr r28, r4
|
|
/* 8004956C 000453AC 7C BD 2B 78 */ mr r29, r5
|
|
/* 80049570 000453B0 7C DE 33 78 */ mr r30, r6
|
|
/* 80049574 000453B4 7C FF 3B 78 */ mr r31, r7
|
|
/* 80049578 000453B8 48 00 06 99 */ bl nandIsInitialized
|
|
/* 8004957C 000453BC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80049580 000453C0 40 82 00 0C */ bne lbl_8004958C
|
|
/* 80049584 000453C4 38 60 FF 80 */ li r3, -0x80
|
|
/* 80049588 000453C8 48 00 00 28 */ b lbl_800495B0
|
|
.global lbl_8004958C
|
|
lbl_8004958C:
|
|
/* 8004958C 000453CC 93 DF 00 04 */ stw r30, 0x4(r31)
|
|
/* 80049590 000453D0 7F 63 DB 78 */ mr r3, r27
|
|
/* 80049594 000453D4 7F A4 EB 78 */ mr r4, r29
|
|
/* 80049598 000453D8 7F E5 FB 78 */ mr r5, r31
|
|
/* 8004959C 000453DC 93 9F 00 08 */ stw r28, 0x8(r31)
|
|
/* 800495A0 000453E0 38 C0 00 01 */ li r6, 0x1
|
|
/* 800495A4 000453E4 38 E0 00 01 */ li r7, 0x1
|
|
/* 800495A8 000453E8 4B FF FC F9 */ bl nandOpen
|
|
/* 800495AC 000453EC 48 00 06 A5 */ bl nandConvertErrorCode
|
|
.global lbl_800495B0
|
|
lbl_800495B0:
|
|
/* 800495B0 000453F0 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 800495B4 000453F4 4B FB DD D5 */ bl lbl_80007388
|
|
/* 800495B8 000453F8 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 800495BC 000453FC 7C 08 03 A6 */ mtlr r0
|
|
/* 800495C0 00045400 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 800495C4 00045404 4E 80 00 20 */ blr
|
|
/* 800495C8 00045408 00 00 00 00 */ .4byte 0x00000000
|
|
/* 800495CC 0004540C 00 00 00 00 */ .4byte 0x00000000
|
|
.global nandOpenCallback
|
|
nandOpenCallback:
|
|
/* 800495D0 00045410 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 800495D4 00045414 7C 08 02 A6 */ mflr r0
|
|
/* 800495D8 00045418 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800495DC 0004541C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 800495E0 00045420 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 800495E4 00045424 7C 9F 23 78 */ mr r31, r4
|
|
/* 800495E8 00045428 41 80 00 38 */ blt lbl_80049620
|
|
/* 800495EC 0004542C 80 A4 00 08 */ lwz r5, 0x8(r4)
|
|
/* 800495F0 00045430 38 C0 00 02 */ li r6, 0x2
|
|
/* 800495F4 00045434 38 00 00 01 */ li r0, 0x1
|
|
/* 800495F8 00045438 90 65 00 00 */ stw r3, 0x0(r5)
|
|
/* 800495FC 0004543C 38 60 00 00 */ li r3, 0x0
|
|
/* 80049600 00045440 80 A4 00 08 */ lwz r5, 0x8(r4)
|
|
/* 80049604 00045444 98 C5 00 89 */ stb r6, 0x89(r5)
|
|
/* 80049608 00045448 80 A4 00 08 */ lwz r5, 0x8(r4)
|
|
/* 8004960C 0004544C 98 05 00 8A */ stb r0, 0x8a(r5)
|
|
/* 80049610 00045450 81 84 00 04 */ lwz r12, 0x4(r4)
|
|
/* 80049614 00045454 7D 89 03 A6 */ mtctr r12
|
|
/* 80049618 00045458 4E 80 04 21 */ bctrl
|
|
/* 8004961C 0004545C 48 00 00 18 */ b lbl_80049634
|
|
.global lbl_80049620
|
|
lbl_80049620:
|
|
/* 80049620 00045460 48 00 06 31 */ bl nandConvertErrorCode
|
|
/* 80049624 00045464 81 9F 00 04 */ lwz r12, 0x4(r31)
|
|
/* 80049628 00045468 7F E4 FB 78 */ mr r4, r31
|
|
/* 8004962C 0004546C 7D 89 03 A6 */ mtctr r12
|
|
/* 80049630 00045470 4E 80 04 21 */ bctrl
|
|
.global lbl_80049634
|
|
lbl_80049634:
|
|
/* 80049634 00045474 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80049638 00045478 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8004963C 0004547C 7C 08 03 A6 */ mtlr r0
|
|
/* 80049640 00045480 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80049644 00045484 4E 80 00 20 */ blr
|
|
/* 80049648 00045488 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8004964C 0004548C 00 00 00 00 */ .4byte 0x00000000
|
|
.global NANDClose
|
|
NANDClose:
|
|
/* 80049650 00045490 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 80049654 00045494 7C 08 02 A6 */ mflr r0
|
|
/* 80049658 00045498 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8004965C 0004549C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 80049660 000454A0 7C 7F 1B 78 */ mr r31, r3
|
|
/* 80049664 000454A4 48 00 05 AD */ bl nandIsInitialized
|
|
/* 80049668 000454A8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8004966C 000454AC 40 82 00 0C */ bne lbl_80049678
|
|
/* 80049670 000454B0 38 60 FF 80 */ li r3, -0x80
|
|
/* 80049674 000454B4 48 00 00 34 */ b lbl_800496A8
|
|
.global lbl_80049678
|
|
lbl_80049678:
|
|
/* 80049678 000454B8 88 1F 00 8A */ lbz r0, 0x8a(r31)
|
|
/* 8004967C 000454BC 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 80049680 000454C0 41 82 00 0C */ beq lbl_8004968C
|
|
/* 80049684 000454C4 38 60 FF F8 */ li r3, -0x8
|
|
/* 80049688 000454C8 48 00 00 20 */ b lbl_800496A8
|
|
.global lbl_8004968C
|
|
lbl_8004968C:
|
|
/* 8004968C 000454CC 80 7F 00 00 */ lwz r3, 0x0(r31)
|
|
/* 80049690 000454D0 48 00 8A E1 */ bl ISFS_Close
|
|
/* 80049694 000454D4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80049698 000454D8 40 82 00 0C */ bne lbl_800496A4
|
|
/* 8004969C 000454DC 38 00 00 02 */ li r0, 0x2
|
|
/* 800496A0 000454E0 98 1F 00 8A */ stb r0, 0x8a(r31)
|
|
.global lbl_800496A4
|
|
lbl_800496A4:
|
|
/* 800496A4 000454E4 48 00 05 AD */ bl nandConvertErrorCode
|
|
.global lbl_800496A8
|
|
lbl_800496A8:
|
|
/* 800496A8 000454E8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 800496AC 000454EC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 800496B0 000454F0 7C 08 03 A6 */ mtlr r0
|
|
/* 800496B4 000454F4 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 800496B8 000454F8 4E 80 00 20 */ blr
|
|
/* 800496BC 000454FC 00 00 00 00 */ .4byte 0x00000000
|
|
.global NANDCloseAsync
|
|
NANDCloseAsync:
|
|
/* 800496C0 00045500 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 800496C4 00045504 7C 08 02 A6 */ mflr r0
|
|
/* 800496C8 00045508 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 800496CC 0004550C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 800496D0 00045510 7C BF 2B 78 */ mr r31, r5
|
|
/* 800496D4 00045514 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 800496D8 00045518 7C 9E 23 78 */ mr r30, r4
|
|
/* 800496DC 0004551C 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 800496E0 00045520 7C 7D 1B 78 */ mr r29, r3
|
|
/* 800496E4 00045524 48 00 05 2D */ bl nandIsInitialized
|
|
/* 800496E8 00045528 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800496EC 0004552C 40 82 00 0C */ bne lbl_800496F8
|
|
/* 800496F0 00045530 38 60 FF 80 */ li r3, -0x80
|
|
/* 800496F4 00045534 48 00 00 38 */ b lbl_8004972C
|
|
.global lbl_800496F8
|
|
lbl_800496F8:
|
|
/* 800496F8 00045538 88 1D 00 8A */ lbz r0, 0x8a(r29)
|
|
/* 800496FC 0004553C 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 80049700 00045540 41 82 00 0C */ beq lbl_8004970C
|
|
/* 80049704 00045544 38 60 FF F8 */ li r3, -0x8
|
|
/* 80049708 00045548 48 00 00 24 */ b lbl_8004972C
|
|
.global lbl_8004970C
|
|
lbl_8004970C:
|
|
/* 8004970C 0004554C 93 DF 00 04 */ stw r30, 0x4(r31)
|
|
/* 80049710 00045550 3C 80 80 05 */ lis r4, nandCloseCallback@ha
|
|
/* 80049714 00045554 7F E5 FB 78 */ mr r5, r31
|
|
/* 80049718 00045558 93 BF 00 08 */ stw r29, 0x8(r31)
|
|
/* 8004971C 0004555C 38 84 97 50 */ addi r4, r4, nandCloseCallback@l
|
|
/* 80049720 00045560 80 7D 00 00 */ lwz r3, 0x0(r29)
|
|
/* 80049724 00045564 48 00 8A 5D */ bl ISFS_CloseAsync
|
|
/* 80049728 00045568 48 00 05 29 */ bl nandConvertErrorCode
|
|
.global lbl_8004972C
|
|
lbl_8004972C:
|
|
/* 8004972C 0004556C 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80049730 00045570 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80049734 00045574 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80049738 00045578 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 8004973C 0004557C 7C 08 03 A6 */ mtlr r0
|
|
/* 80049740 00045580 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80049744 00045584 4E 80 00 20 */ blr
|
|
/* 80049748 00045588 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8004974C 0004558C 00 00 00 00 */ .4byte 0x00000000
|
|
.global nandCloseCallback
|
|
nandCloseCallback:
|
|
/* 80049750 00045590 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 80049754 00045594 7C 08 02 A6 */ mflr r0
|
|
/* 80049758 00045598 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8004975C 0004559C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80049760 000455A0 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 80049764 000455A4 7C 9F 23 78 */ mr r31, r4
|
|
/* 80049768 000455A8 40 82 00 1C */ bne lbl_80049784
|
|
/* 8004976C 000455AC 80 A4 00 08 */ lwz r5, 0x8(r4)
|
|
/* 80049770 000455B0 38 C0 00 07 */ li r6, 0x7
|
|
/* 80049774 000455B4 38 00 00 02 */ li r0, 0x2
|
|
/* 80049778 000455B8 98 C5 00 89 */ stb r6, 0x89(r5)
|
|
/* 8004977C 000455BC 80 84 00 08 */ lwz r4, 0x8(r4)
|
|
/* 80049780 000455C0 98 04 00 8A */ stb r0, 0x8a(r4)
|
|
.global lbl_80049784
|
|
lbl_80049784:
|
|
/* 80049784 000455C4 48 00 04 CD */ bl nandConvertErrorCode
|
|
/* 80049788 000455C8 81 9F 00 04 */ lwz r12, 0x4(r31)
|
|
/* 8004978C 000455CC 7F E4 FB 78 */ mr r4, r31
|
|
/* 80049790 000455D0 7D 89 03 A6 */ mtctr r12
|
|
/* 80049794 000455D4 4E 80 04 21 */ bctrl
|
|
/* 80049798 000455D8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8004979C 000455DC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 800497A0 000455E0 7C 08 03 A6 */ mtlr r0
|
|
/* 800497A4 000455E4 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 800497A8 000455E8 4E 80 00 20 */ blr
|
|
/* 800497AC 000455EC 00 00 00 00 */ .4byte 0x00000000
|