From 103ac1d87d2cf1a59ef3563b857ab039396cfb22 Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 9 Oct 2020 00:49:39 -0400 Subject: split WD library --- asm/SDK/WD/wd_request.s | 367 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 367 insertions(+) create mode 100644 asm/SDK/WD/wd_request.s (limited to 'asm/SDK/WD/wd_request.s') diff --git a/asm/SDK/WD/wd_request.s b/asm/SDK/WD/wd_request.s new file mode 100644 index 0000000..348e6f6 --- /dev/null +++ b/asm/SDK/WD/wd_request.s @@ -0,0 +1,367 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global WD_SetLinkState +WD_SetLinkState: +/* 802EDE50 002E9AB0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802EDE54 002E9AB4 7C 08 02 A6 */ mflr r0 +/* 802EDE58 002E9AB8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802EDE5C 002E9ABC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802EDE60 002E9AC0 7C 7F 1B 78 */ mr r31, r3 +/* 802EDE64 002E9AC4 93 C1 00 08 */ stw r30, 8(r1) +/* 802EDE68 002E9AC8 4B FF FE F5 */ bl WDi_GetWork +/* 802EDE6C 002E9ACC 80 63 00 08 */ lwz r3, 8(r3) +/* 802EDE70 002E9AD0 38 80 00 0C */ li r4, 0xc +/* 802EDE74 002E9AD4 38 A0 00 20 */ li r5, 0x20 +/* 802EDE78 002E9AD8 4B FB 64 C1 */ bl iosAllocAligned +/* 802EDE7C 002E9ADC 38 03 00 08 */ addi r0, r3, 8 +/* 802EDE80 002E9AE0 7C 7E 1B 78 */ mr r30, r3 +/* 802EDE84 002E9AE4 90 03 00 00 */ stw r0, 0(r3) +/* 802EDE88 002E9AE8 38 00 00 04 */ li r0, 4 +/* 802EDE8C 002E9AEC 7F C6 F3 78 */ mr r6, r30 +/* 802EDE90 002E9AF0 38 80 00 01 */ li r4, 1 +/* 802EDE94 002E9AF4 93 E3 00 08 */ stw r31, 8(r3) +/* 802EDE98 002E9AF8 38 A0 00 00 */ li r5, 0 +/* 802EDE9C 002E9AFC 90 03 00 04 */ stw r0, 4(r3) +/* 802EDEA0 002E9B00 38 60 10 02 */ li r3, 0x1002 +/* 802EDEA4 002E9B04 4B FF FE C5 */ bl WDi_Ioctlv +/* 802EDEA8 002E9B08 7C 7F 1B 78 */ mr r31, r3 +/* 802EDEAC 002E9B0C 4B FF FE B1 */ bl WDi_GetWork +/* 802EDEB0 002E9B10 80 63 00 08 */ lwz r3, 8(r3) +/* 802EDEB4 002E9B14 7F C4 F3 78 */ mr r4, r30 +/* 802EDEB8 002E9B18 4B FB 64 85 */ bl iosFree +/* 802EDEBC 002E9B1C 7F E3 FB 78 */ mr r3, r31 +/* 802EDEC0 002E9B20 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802EDEC4 002E9B24 83 C1 00 08 */ lwz r30, 8(r1) +/* 802EDEC8 002E9B28 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802EDECC 002E9B2C 7C 08 03 A6 */ mtlr r0 +/* 802EDED0 002E9B30 38 21 00 10 */ addi r1, r1, 0x10 +/* 802EDED4 002E9B34 4E 80 00 20 */ blr + +.global WD_GetLinkState +WD_GetLinkState: +/* 802EDED8 002E9B38 38 60 10 03 */ li r3, 0x1003 +/* 802EDEDC 002E9B3C 38 80 00 00 */ li r4, 0 +/* 802EDEE0 002E9B40 38 A0 00 00 */ li r5, 0 +/* 802EDEE4 002E9B44 38 C0 00 00 */ li r6, 0 +/* 802EDEE8 002E9B48 4B FF FE 80 */ b WDi_Ioctlv + +.global WD_SetConfig +WD_SetConfig: +/* 802EDEEC 002E9B4C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802EDEF0 002E9B50 7C 08 02 A6 */ mflr r0 +/* 802EDEF4 002E9B54 90 01 00 24 */ stw r0, 0x24(r1) +/* 802EDEF8 002E9B58 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802EDEFC 002E9B5C 7C BF 2B 78 */ mr r31, r5 +/* 802EDF00 002E9B60 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802EDF04 002E9B64 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802EDF08 002E9B68 7C DD 33 78 */ mr r29, r6 +/* 802EDF0C 002E9B6C 93 81 00 10 */ stw r28, 0x10(r1) +/* 802EDF10 002E9B70 7C 7C 1B 78 */ mr r28, r3 +/* 802EDF14 002E9B74 4B FF FE 49 */ bl WDi_GetWork +/* 802EDF18 002E9B78 80 63 00 08 */ lwz r3, 8(r3) +/* 802EDF1C 002E9B7C 38 80 01 98 */ li r4, 0x198 +/* 802EDF20 002E9B80 38 A0 00 20 */ li r5, 0x20 +/* 802EDF24 002E9B84 4B FB 64 15 */ bl iosAllocAligned +/* 802EDF28 002E9B88 38 03 00 10 */ addi r0, r3, 0x10 +/* 802EDF2C 002E9B8C 38 83 01 90 */ addi r4, r3, 0x190 +/* 802EDF30 002E9B90 90 03 00 00 */ stw r0, 0(r3) +/* 802EDF34 002E9B94 38 00 00 C0 */ li r0, 0xc0 +/* 802EDF38 002E9B98 7C 7E 1B 78 */ mr r30, r3 +/* 802EDF3C 002E9B9C 38 C3 00 0F */ addi r6, r3, 0xf +/* 802EDF40 002E9BA0 90 83 00 08 */ stw r4, 8(r3) +/* 802EDF44 002E9BA4 38 BC FF FF */ addi r5, r28, -1 +/* 802EDF48 002E9BA8 7C 09 03 A6 */ mtctr r0 +lbl_802EDF4C: +/* 802EDF4C 002E9BAC 88 85 00 01 */ lbz r4, 1(r5) +/* 802EDF50 002E9BB0 8C 05 00 02 */ lbzu r0, 2(r5) +/* 802EDF54 002E9BB4 98 86 00 01 */ stb r4, 1(r6) +/* 802EDF58 002E9BB8 9C 06 00 02 */ stbu r0, 2(r6) +/* 802EDF5C 002E9BBC 42 00 FF F0 */ bdnz lbl_802EDF4C +/* 802EDF60 002E9BC0 93 A3 01 94 */ stw r29, 0x194(r3) +/* 802EDF64 002E9BC4 38 E0 01 80 */ li r7, 0x180 +/* 802EDF68 002E9BC8 38 00 00 08 */ li r0, 8 +/* 802EDF6C 002E9BCC 7F C6 F3 78 */ mr r6, r30 +/* 802EDF70 002E9BD0 93 E3 01 90 */ stw r31, 0x190(r3) +/* 802EDF74 002E9BD4 38 80 00 02 */ li r4, 2 +/* 802EDF78 002E9BD8 38 A0 00 00 */ li r5, 0 +/* 802EDF7C 002E9BDC 90 E3 00 04 */ stw r7, 4(r3) +/* 802EDF80 002E9BE0 90 03 00 0C */ stw r0, 0xc(r3) +/* 802EDF84 002E9BE4 38 60 10 04 */ li r3, 0x1004 +/* 802EDF88 002E9BE8 4B FF FD E1 */ bl WDi_Ioctlv +/* 802EDF8C 002E9BEC 7C 7F 1B 78 */ mr r31, r3 +/* 802EDF90 002E9BF0 4B FF FD CD */ bl WDi_GetWork +/* 802EDF94 002E9BF4 80 63 00 08 */ lwz r3, 8(r3) +/* 802EDF98 002E9BF8 7F C4 F3 78 */ mr r4, r30 +/* 802EDF9C 002E9BFC 4B FB 63 A1 */ bl iosFree +/* 802EDFA0 002E9C00 7F E3 FB 78 */ mr r3, r31 +/* 802EDFA4 002E9C04 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802EDFA8 002E9C08 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802EDFAC 002E9C0C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802EDFB0 002E9C10 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802EDFB4 002E9C14 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802EDFB8 002E9C18 7C 08 03 A6 */ mtlr r0 +/* 802EDFBC 002E9C1C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802EDFC0 002E9C20 4E 80 00 20 */ blr + +.global WD_ChangeBeacon +WD_ChangeBeacon: +/* 802EDFC4 002E9C24 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802EDFC8 002E9C28 7C 08 02 A6 */ mflr r0 +/* 802EDFCC 002E9C2C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802EDFD0 002E9C30 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802EDFD4 002E9C34 7C 9F 23 78 */ mr r31, r4 +/* 802EDFD8 002E9C38 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802EDFDC 002E9C3C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802EDFE0 002E9C40 7C 7D 1B 78 */ mr r29, r3 +/* 802EDFE4 002E9C44 4B FF FD 79 */ bl WDi_GetWork +/* 802EDFE8 002E9C48 80 63 00 08 */ lwz r3, 8(r3) +/* 802EDFEC 002E9C4C 38 80 00 14 */ li r4, 0x14 +/* 802EDFF0 002E9C50 38 A0 00 20 */ li r5, 0x20 +/* 802EDFF4 002E9C54 4B FB 63 45 */ bl iosAllocAligned +/* 802EDFF8 002E9C58 38 03 00 10 */ addi r0, r3, 0x10 +/* 802EDFFC 002E9C5C 7C 7E 1B 78 */ mr r30, r3 +/* 802EE000 002E9C60 90 03 00 00 */ stw r0, 0(r3) +/* 802EE004 002E9C64 38 E0 00 02 */ li r7, 2 +/* 802EE008 002E9C68 38 00 00 80 */ li r0, 0x80 +/* 802EE00C 002E9C6C 7F C6 F3 78 */ mr r6, r30 +/* 802EE010 002E9C70 B3 A3 00 10 */ sth r29, 0x10(r3) +/* 802EE014 002E9C74 38 80 00 02 */ li r4, 2 +/* 802EE018 002E9C78 38 A0 00 00 */ li r5, 0 +/* 802EE01C 002E9C7C 93 E3 00 08 */ stw r31, 8(r3) +/* 802EE020 002E9C80 90 E3 00 04 */ stw r7, 4(r3) +/* 802EE024 002E9C84 90 03 00 0C */ stw r0, 0xc(r3) +/* 802EE028 002E9C88 38 60 10 06 */ li r3, 0x1006 +/* 802EE02C 002E9C8C 4B FF FD 3D */ bl WDi_Ioctlv +/* 802EE030 002E9C90 7C 7F 1B 78 */ mr r31, r3 +/* 802EE034 002E9C94 4B FF FD 29 */ bl WDi_GetWork +/* 802EE038 002E9C98 80 63 00 08 */ lwz r3, 8(r3) +/* 802EE03C 002E9C9C 7F C4 F3 78 */ mr r4, r30 +/* 802EE040 002E9CA0 4B FB 62 FD */ bl iosFree +/* 802EE044 002E9CA4 7F E3 FB 78 */ mr r3, r31 +/* 802EE048 002E9CA8 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802EE04C 002E9CAC 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802EE050 002E9CB0 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802EE054 002E9CB4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802EE058 002E9CB8 7C 08 03 A6 */ mtlr r0 +/* 802EE05C 002E9CBC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802EE060 002E9CC0 4E 80 00 20 */ blr + +.global WD_ChangeVTSF +WD_ChangeVTSF: +/* 802EE064 002E9CC4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802EE068 002E9CC8 7C 08 02 A6 */ mflr r0 +/* 802EE06C 002E9CCC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802EE070 002E9CD0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802EE074 002E9CD4 93 C1 00 08 */ stw r30, 8(r1) +/* 802EE078 002E9CD8 7C 7E 1B 78 */ mr r30, r3 +/* 802EE07C 002E9CDC 4B FF FC E1 */ bl WDi_GetWork +/* 802EE080 002E9CE0 80 63 00 08 */ lwz r3, 8(r3) +/* 802EE084 002E9CE4 38 80 00 0C */ li r4, 0xc +/* 802EE088 002E9CE8 38 A0 00 20 */ li r5, 0x20 +/* 802EE08C 002E9CEC 4B FB 62 AD */ bl iosAllocAligned +/* 802EE090 002E9CF0 B3 C3 00 08 */ sth r30, 8(r3) +/* 802EE094 002E9CF4 38 83 00 08 */ addi r4, r3, 8 +/* 802EE098 002E9CF8 7C 7E 1B 78 */ mr r30, r3 +/* 802EE09C 002E9CFC 38 00 00 02 */ li r0, 2 +/* 802EE0A0 002E9D00 90 83 00 00 */ stw r4, 0(r3) +/* 802EE0A4 002E9D04 7F C6 F3 78 */ mr r6, r30 +/* 802EE0A8 002E9D08 38 80 00 01 */ li r4, 1 +/* 802EE0AC 002E9D0C 38 A0 00 00 */ li r5, 0 +/* 802EE0B0 002E9D10 90 03 00 04 */ stw r0, 4(r3) +/* 802EE0B4 002E9D14 38 60 10 10 */ li r3, 0x1010 +/* 802EE0B8 002E9D18 4B FF FC B1 */ bl WDi_Ioctlv +/* 802EE0BC 002E9D1C 7C 7F 1B 78 */ mr r31, r3 +/* 802EE0C0 002E9D20 4B FF FC 9D */ bl WDi_GetWork +/* 802EE0C4 002E9D24 80 63 00 08 */ lwz r3, 8(r3) +/* 802EE0C8 002E9D28 7F C4 F3 78 */ mr r4, r30 +/* 802EE0CC 002E9D2C 4B FB 62 71 */ bl iosFree +/* 802EE0D0 002E9D30 7F E3 FB 78 */ mr r3, r31 +/* 802EE0D4 002E9D34 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802EE0D8 002E9D38 83 C1 00 08 */ lwz r30, 8(r1) +/* 802EE0DC 002E9D3C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802EE0E0 002E9D40 7C 08 03 A6 */ mtlr r0 +/* 802EE0E4 002E9D44 38 21 00 10 */ addi r1, r1, 0x10 +/* 802EE0E8 002E9D48 4E 80 00 20 */ blr + +.global WD_DisAssoc +WD_DisAssoc: +/* 802EE0EC 002E9D4C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802EE0F0 002E9D50 7C 08 02 A6 */ mflr r0 +/* 802EE0F4 002E9D54 90 01 00 14 */ stw r0, 0x14(r1) +/* 802EE0F8 002E9D58 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802EE0FC 002E9D5C 7C 7F 1B 78 */ mr r31, r3 +/* 802EE100 002E9D60 93 C1 00 08 */ stw r30, 8(r1) +/* 802EE104 002E9D64 4B FF FC 59 */ bl WDi_GetWork +/* 802EE108 002E9D68 80 63 00 08 */ lwz r3, 8(r3) +/* 802EE10C 002E9D6C 38 80 00 10 */ li r4, 0x10 +/* 802EE110 002E9D70 38 A0 00 20 */ li r5, 0x20 +/* 802EE114 002E9D74 4B FB 62 25 */ bl iosAllocAligned +/* 802EE118 002E9D78 38 03 00 08 */ addi r0, r3, 8 +/* 802EE11C 002E9D7C 7C 7E 1B 78 */ mr r30, r3 +/* 802EE120 002E9D80 90 03 00 00 */ stw r0, 0(r3) +/* 802EE124 002E9D84 7C 03 03 78 */ mr r3, r0 +/* 802EE128 002E9D88 7F E4 FB 78 */ mr r4, r31 +/* 802EE12C 002E9D8C 38 A0 00 06 */ li r5, 6 +/* 802EE130 002E9D90 4B D1 5E D1 */ bl memcpy +/* 802EE134 002E9D94 38 00 00 06 */ li r0, 6 +/* 802EE138 002E9D98 7F C6 F3 78 */ mr r6, r30 +/* 802EE13C 002E9D9C 90 1E 00 04 */ stw r0, 4(r30) +/* 802EE140 002E9DA0 38 60 10 07 */ li r3, 0x1007 +/* 802EE144 002E9DA4 38 80 00 01 */ li r4, 1 +/* 802EE148 002E9DA8 38 A0 00 00 */ li r5, 0 +/* 802EE14C 002E9DAC 4B FF FC 1D */ bl WDi_Ioctlv +/* 802EE150 002E9DB0 7C 7F 1B 78 */ mr r31, r3 +/* 802EE154 002E9DB4 4B FF FC 09 */ bl WDi_GetWork +/* 802EE158 002E9DB8 80 63 00 08 */ lwz r3, 8(r3) +/* 802EE15C 002E9DBC 7F C4 F3 78 */ mr r4, r30 +/* 802EE160 002E9DC0 4B FB 61 DD */ bl iosFree +/* 802EE164 002E9DC4 7F E3 FB 78 */ mr r3, r31 +/* 802EE168 002E9DC8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802EE16C 002E9DCC 83 C1 00 08 */ lwz r30, 8(r1) +/* 802EE170 002E9DD0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802EE174 002E9DD4 7C 08 03 A6 */ mtlr r0 +/* 802EE178 002E9DD8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802EE17C 002E9DDC 4E 80 00 20 */ blr + +.global WD_MpSendFrame +WD_MpSendFrame: +/* 802EE180 002E9DE0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802EE184 002E9DE4 7C 08 02 A6 */ mflr r0 +/* 802EE188 002E9DE8 28 04 02 02 */ cmplwi r4, 0x202 +/* 802EE18C 002E9DEC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802EE190 002E9DF0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802EE194 002E9DF4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802EE198 002E9DF8 7C BE 2B 78 */ mr r30, r5 +/* 802EE19C 002E9DFC 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802EE1A0 002E9E00 7C 9D 23 78 */ mr r29, r4 +/* 802EE1A4 002E9E04 93 81 00 10 */ stw r28, 0x10(r1) +/* 802EE1A8 002E9E08 7C 7C 1B 78 */ mr r28, r3 +/* 802EE1AC 002E9E0C 40 81 00 10 */ ble lbl_802EE1BC +/* 802EE1B0 002E9E10 3C 60 80 01 */ lis r3, 0x80008001@ha +/* 802EE1B4 002E9E14 38 63 80 01 */ addi r3, r3, 0x80008001@l +/* 802EE1B8 002E9E18 48 00 00 E0 */ b lbl_802EE298 +lbl_802EE1BC: +/* 802EE1BC 002E9E1C 4B FF FB A1 */ bl WDi_GetWork +/* 802EE1C0 002E9E20 80 63 00 08 */ lwz r3, 8(r3) +/* 802EE1C4 002E9E24 38 80 00 20 */ li r4, 0x20 +/* 802EE1C8 002E9E28 38 A0 00 20 */ li r5, 0x20 +/* 802EE1CC 002E9E2C 4B FB 61 6D */ bl iosAllocAligned +/* 802EE1D0 002E9E30 38 03 00 10 */ addi r0, r3, 0x10 +/* 802EE1D4 002E9E34 7C 7F 1B 78 */ mr r31, r3 +/* 802EE1D8 002E9E38 90 03 00 08 */ stw r0, 8(r3) +/* 802EE1DC 002E9E3C 38 00 00 10 */ li r0, 0x10 +/* 802EE1E0 002E9E40 88 BE 00 00 */ lbz r5, 0(r30) +/* 802EE1E4 002E9E44 7F E6 FB 78 */ mr r6, r31 +/* 802EE1E8 002E9E48 88 FE 00 01 */ lbz r7, 1(r30) +/* 802EE1EC 002E9E4C 38 80 00 02 */ li r4, 2 +/* 802EE1F0 002E9E50 98 A3 00 10 */ stb r5, 0x10(r3) +/* 802EE1F4 002E9E54 38 A0 00 00 */ li r5, 0 +/* 802EE1F8 002E9E58 89 1E 00 02 */ lbz r8, 2(r30) +/* 802EE1FC 002E9E5C 98 E3 00 11 */ stb r7, 0x11(r3) +/* 802EE200 002E9E60 88 FE 00 03 */ lbz r7, 3(r30) +/* 802EE204 002E9E64 99 03 00 12 */ stb r8, 0x12(r3) +/* 802EE208 002E9E68 89 1E 00 04 */ lbz r8, 4(r30) +/* 802EE20C 002E9E6C 98 E3 00 13 */ stb r7, 0x13(r3) +/* 802EE210 002E9E70 88 FE 00 05 */ lbz r7, 5(r30) +/* 802EE214 002E9E74 99 03 00 14 */ stb r8, 0x14(r3) +/* 802EE218 002E9E78 89 1E 00 06 */ lbz r8, 6(r30) +/* 802EE21C 002E9E7C 98 E3 00 15 */ stb r7, 0x15(r3) +/* 802EE220 002E9E80 88 FE 00 07 */ lbz r7, 7(r30) +/* 802EE224 002E9E84 99 03 00 16 */ stb r8, 0x16(r3) +/* 802EE228 002E9E88 89 1E 00 08 */ lbz r8, 8(r30) +/* 802EE22C 002E9E8C 98 E3 00 17 */ stb r7, 0x17(r3) +/* 802EE230 002E9E90 88 FE 00 09 */ lbz r7, 9(r30) +/* 802EE234 002E9E94 99 03 00 18 */ stb r8, 0x18(r3) +/* 802EE238 002E9E98 89 1E 00 0A */ lbz r8, 0xa(r30) +/* 802EE23C 002E9E9C 98 E3 00 19 */ stb r7, 0x19(r3) +/* 802EE240 002E9EA0 88 FE 00 0B */ lbz r7, 0xb(r30) +/* 802EE244 002E9EA4 99 03 00 1A */ stb r8, 0x1a(r3) +/* 802EE248 002E9EA8 89 1E 00 0C */ lbz r8, 0xc(r30) +/* 802EE24C 002E9EAC 98 E3 00 1B */ stb r7, 0x1b(r3) +/* 802EE250 002E9EB0 88 FE 00 0D */ lbz r7, 0xd(r30) +/* 802EE254 002E9EB4 99 03 00 1C */ stb r8, 0x1c(r3) +/* 802EE258 002E9EB8 89 1E 00 0E */ lbz r8, 0xe(r30) +/* 802EE25C 002E9EBC 98 E3 00 1D */ stb r7, 0x1d(r3) +/* 802EE260 002E9EC0 88 FE 00 0F */ lbz r7, 0xf(r30) +/* 802EE264 002E9EC4 99 03 00 1E */ stb r8, 0x1e(r3) +/* 802EE268 002E9EC8 98 E3 00 1F */ stb r7, 0x1f(r3) +/* 802EE26C 002E9ECC 93 83 00 00 */ stw r28, 0(r3) +/* 802EE270 002E9ED0 93 A3 00 04 */ stw r29, 4(r3) +/* 802EE274 002E9ED4 90 03 00 0C */ stw r0, 0xc(r3) +/* 802EE278 002E9ED8 38 60 10 08 */ li r3, 0x1008 +/* 802EE27C 002E9EDC 4B FF FA ED */ bl WDi_Ioctlv +/* 802EE280 002E9EE0 7C 7C 1B 78 */ mr r28, r3 +/* 802EE284 002E9EE4 4B FF FA D9 */ bl WDi_GetWork +/* 802EE288 002E9EE8 80 63 00 08 */ lwz r3, 8(r3) +/* 802EE28C 002E9EEC 7F E4 FB 78 */ mr r4, r31 +/* 802EE290 002E9EF0 4B FB 60 AD */ bl iosFree +/* 802EE294 002E9EF4 7F 83 E3 78 */ mr r3, r28 +lbl_802EE298: +/* 802EE298 002E9EF8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802EE29C 002E9EFC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802EE2A0 002E9F00 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802EE2A4 002E9F04 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802EE2A8 002E9F08 83 81 00 10 */ lwz r28, 0x10(r1) +/* 802EE2AC 002E9F0C 7C 08 03 A6 */ mtlr r0 +/* 802EE2B0 002E9F10 38 21 00 20 */ addi r1, r1, 0x20 +/* 802EE2B4 002E9F14 4E 80 00 20 */ blr + +.global WD_GetInfo +WD_GetInfo: +/* 802EE2B8 002E9F18 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802EE2BC 002E9F1C 7C 08 02 A6 */ mflr r0 +/* 802EE2C0 002E9F20 90 01 00 24 */ stw r0, 0x24(r1) +/* 802EE2C4 002E9F24 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802EE2C8 002E9F28 93 C1 00 18 */ stw r30, 0x18(r1) +/* 802EE2CC 002E9F2C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 802EE2D0 002E9F30 7C 7D 1B 78 */ mr r29, r3 +/* 802EE2D4 002E9F34 4B FF FA 89 */ bl WDi_GetWork +/* 802EE2D8 002E9F38 80 63 00 08 */ lwz r3, 8(r3) +/* 802EE2DC 002E9F3C 38 80 00 98 */ li r4, 0x98 +/* 802EE2E0 002E9F40 38 A0 00 20 */ li r5, 0x20 +/* 802EE2E4 002E9F44 4B FB 60 55 */ bl iosAllocAligned +/* 802EE2E8 002E9F48 38 83 00 08 */ addi r4, r3, 8 +/* 802EE2EC 002E9F4C 38 00 00 48 */ li r0, 0x48 +/* 802EE2F0 002E9F50 7C 7E 1B 78 */ mr r30, r3 +/* 802EE2F4 002E9F54 90 83 00 00 */ stw r4, 0(r3) +/* 802EE2F8 002E9F58 38 C3 00 07 */ addi r6, r3, 7 +/* 802EE2FC 002E9F5C 38 BD FF FF */ addi r5, r29, -1 +/* 802EE300 002E9F60 7C 09 03 A6 */ mtctr r0 +lbl_802EE304: +/* 802EE304 002E9F64 88 85 00 01 */ lbz r4, 1(r5) +/* 802EE308 002E9F68 8C 05 00 02 */ lbzu r0, 2(r5) +/* 802EE30C 002E9F6C 98 86 00 01 */ stb r4, 1(r6) +/* 802EE310 002E9F70 9C 06 00 02 */ stbu r0, 2(r6) +/* 802EE314 002E9F74 42 00 FF F0 */ bdnz lbl_802EE304 +/* 802EE318 002E9F78 38 00 00 90 */ li r0, 0x90 +/* 802EE31C 002E9F7C 7F C6 F3 78 */ mr r6, r30 +/* 802EE320 002E9F80 90 03 00 04 */ stw r0, 4(r3) +/* 802EE324 002E9F84 38 60 10 0E */ li r3, 0x100e +/* 802EE328 002E9F88 38 80 00 00 */ li r4, 0 +/* 802EE32C 002E9F8C 38 A0 00 01 */ li r5, 1 +/* 802EE330 002E9F90 4B FF FA 39 */ bl WDi_Ioctlv +/* 802EE334 002E9F94 38 00 00 48 */ li r0, 0x48 +/* 802EE338 002E9F98 7C 7F 1B 78 */ mr r31, r3 +/* 802EE33C 002E9F9C 38 BD FF FF */ addi r5, r29, -1 +/* 802EE340 002E9FA0 38 9E 00 07 */ addi r4, r30, 7 +/* 802EE344 002E9FA4 7C 09 03 A6 */ mtctr r0 +lbl_802EE348: +/* 802EE348 002E9FA8 88 64 00 01 */ lbz r3, 1(r4) +/* 802EE34C 002E9FAC 8C 04 00 02 */ lbzu r0, 2(r4) +/* 802EE350 002E9FB0 98 65 00 01 */ stb r3, 1(r5) +/* 802EE354 002E9FB4 9C 05 00 02 */ stbu r0, 2(r5) +/* 802EE358 002E9FB8 42 00 FF F0 */ bdnz lbl_802EE348 +/* 802EE35C 002E9FBC 4B FF FA 01 */ bl WDi_GetWork +/* 802EE360 002E9FC0 80 63 00 08 */ lwz r3, 8(r3) +/* 802EE364 002E9FC4 7F C4 F3 78 */ mr r4, r30 +/* 802EE368 002E9FC8 4B FB 5F D5 */ bl iosFree +/* 802EE36C 002E9FCC 7F E3 FB 78 */ mr r3, r31 +/* 802EE370 002E9FD0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802EE374 002E9FD4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 802EE378 002E9FD8 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 802EE37C 002E9FDC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802EE380 002E9FE0 7C 08 03 A6 */ mtlr r0 +/* 802EE384 002E9FE4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802EE388 002E9FE8 4E 80 00 20 */ blr -- cgit v1.2.3