diff options
Diffstat (limited to 'asm/SDK/OS/OSNandbootInfo.s')
-rw-r--r-- | asm/SDK/OS/OSNandbootInfo.s | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/asm/SDK/OS/OSNandbootInfo.s b/asm/SDK/OS/OSNandbootInfo.s new file mode 100644 index 0000000..308da8c --- /dev/null +++ b/asm/SDK/OS/OSNandbootInfo.s @@ -0,0 +1,208 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __OSWriteNandbootInfo
+__OSWriteNandbootInfo:
+/* 802741B4 0026FE14 94 21 FF 60 */ stwu r1, -0xa0(r1)
+/* 802741B8 0026FE18 7C 08 02 A6 */ mflr r0
+/* 802741BC 0026FE1C 39 03 00 04 */ addi r8, r3, 4
+/* 802741C0 0026FE20 38 E0 00 00 */ li r7, 0
+/* 802741C4 0026FE24 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 802741C8 0026FE28 38 00 00 40 */ li r0, 0x40
+/* 802741CC 0026FE2C 93 E1 00 9C */ stw r31, 0x9c(r1)
+/* 802741D0 0026FE30 7C 7F 1B 78 */ mr r31, r3
+/* 802741D4 0026FE34 7C 09 03 A6 */ mtctr r0
+lbl_802741D8:
+/* 802741D8 0026FE38 80 88 00 00 */ lwz r4, 0(r8)
+/* 802741DC 0026FE3C 80 08 00 04 */ lwz r0, 4(r8)
+/* 802741E0 0026FE40 7C E7 22 14 */ add r7, r7, r4
+/* 802741E4 0026FE44 80 88 00 08 */ lwz r4, 8(r8)
+/* 802741E8 0026FE48 7C E7 02 14 */ add r7, r7, r0
+/* 802741EC 0026FE4C 80 08 00 0C */ lwz r0, 0xc(r8)
+/* 802741F0 0026FE50 7C E7 22 14 */ add r7, r7, r4
+/* 802741F4 0026FE54 80 88 00 10 */ lwz r4, 0x10(r8)
+/* 802741F8 0026FE58 7C E7 02 14 */ add r7, r7, r0
+/* 802741FC 0026FE5C 80 08 00 14 */ lwz r0, 0x14(r8)
+/* 80274200 0026FE60 7C E7 22 14 */ add r7, r7, r4
+/* 80274204 0026FE64 80 88 00 18 */ lwz r4, 0x18(r8)
+/* 80274208 0026FE68 7C E7 02 14 */ add r7, r7, r0
+/* 8027420C 0026FE6C 80 08 00 1C */ lwz r0, 0x1c(r8)
+/* 80274210 0026FE70 7C E7 22 14 */ add r7, r7, r4
+/* 80274214 0026FE74 80 88 00 20 */ lwz r4, 0x20(r8)
+/* 80274218 0026FE78 7C E7 02 14 */ add r7, r7, r0
+/* 8027421C 0026FE7C 80 08 00 24 */ lwz r0, 0x24(r8)
+/* 80274220 0026FE80 7C E7 22 14 */ add r7, r7, r4
+/* 80274224 0026FE84 80 88 00 28 */ lwz r4, 0x28(r8)
+/* 80274228 0026FE88 7C E7 02 14 */ add r7, r7, r0
+/* 8027422C 0026FE8C 80 08 00 2C */ lwz r0, 0x2c(r8)
+/* 80274230 0026FE90 7C E7 22 14 */ add r7, r7, r4
+/* 80274234 0026FE94 80 88 00 30 */ lwz r4, 0x30(r8)
+/* 80274238 0026FE98 7C E7 02 14 */ add r7, r7, r0
+/* 8027423C 0026FE9C 80 08 00 34 */ lwz r0, 0x34(r8)
+/* 80274240 0026FEA0 7C E7 22 14 */ add r7, r7, r4
+/* 80274244 0026FEA4 80 88 00 38 */ lwz r4, 0x38(r8)
+/* 80274248 0026FEA8 7C E7 02 14 */ add r7, r7, r0
+/* 8027424C 0026FEAC 80 08 00 3C */ lwz r0, 0x3c(r8)
+/* 80274250 0026FEB0 7C E7 22 14 */ add r7, r7, r4
+/* 80274254 0026FEB4 39 08 00 40 */ addi r8, r8, 0x40
+/* 80274258 0026FEB8 7C E7 02 14 */ add r7, r7, r0
+/* 8027425C 0026FEBC 42 00 FF 7C */ bdnz lbl_802741D8
+/* 80274260 0026FEC0 80 08 00 00 */ lwz r0, 0(r8)
+/* 80274264 0026FEC4 3C C0 80 43 */ lis r6, lbl_80433F08@ha
+/* 80274268 0026FEC8 80 A8 00 04 */ lwz r5, 4(r8)
+/* 8027426C 0026FECC 38 81 00 08 */ addi r4, r1, 8
+/* 80274270 0026FED0 7C E7 02 14 */ add r7, r7, r0
+/* 80274274 0026FED4 80 08 00 08 */ lwz r0, 8(r8)
+/* 80274278 0026FED8 7C E7 2A 14 */ add r7, r7, r5
+/* 8027427C 0026FEDC 80 A8 00 0C */ lwz r5, 0xc(r8)
+/* 80274280 0026FEE0 7C E7 02 14 */ add r7, r7, r0
+/* 80274284 0026FEE4 80 08 00 10 */ lwz r0, 0x10(r8)
+/* 80274288 0026FEE8 7C E7 2A 14 */ add r7, r7, r5
+/* 8027428C 0026FEEC 80 A8 00 14 */ lwz r5, 0x14(r8)
+/* 80274290 0026FEF0 7C E7 02 14 */ add r7, r7, r0
+/* 80274294 0026FEF4 80 08 00 18 */ lwz r0, 0x18(r8)
+/* 80274298 0026FEF8 7C E7 2A 14 */ add r7, r7, r5
+/* 8027429C 0026FEFC 38 A0 00 02 */ li r5, 2
+/* 802742A0 0026FF00 7C E7 02 14 */ add r7, r7, r0
+/* 802742A4 0026FF04 90 E3 00 00 */ stw r7, 0(r3)
+/* 802742A8 0026FF08 38 66 3F 08 */ addi r3, r6, lbl_80433F08@l
+/* 802742AC 0026FF0C 48 07 41 E9 */ bl func_802E8494
+/* 802742B0 0026FF10 2C 03 00 00 */ cmpwi r3, 0
+/* 802742B4 0026FF14 40 82 00 40 */ bne lbl_802742F4
+/* 802742B8 0026FF18 7F E4 FB 78 */ mr r4, r31
+/* 802742BC 0026FF1C 38 61 00 08 */ addi r3, r1, 8
+/* 802742C0 0026FF20 38 A0 10 20 */ li r5, 0x1020
+/* 802742C4 0026FF24 48 07 36 DD */ bl func_802E79A0
+/* 802742C8 0026FF28 28 03 10 20 */ cmplwi r3, 0x1020
+/* 802742CC 0026FF2C 41 82 00 14 */ beq lbl_802742E0
+/* 802742D0 0026FF30 38 61 00 08 */ addi r3, r1, 8
+/* 802742D4 0026FF34 48 07 43 B5 */ bl func_802E8688
+/* 802742D8 0026FF38 38 60 00 00 */ li r3, 0
+/* 802742DC 0026FF3C 48 00 00 1C */ b lbl_802742F8
+lbl_802742E0:
+/* 802742E0 0026FF40 38 61 00 08 */ addi r3, r1, 8
+/* 802742E4 0026FF44 48 07 43 A5 */ bl func_802E8688
+/* 802742E8 0026FF48 7C 60 00 34 */ cntlzw r0, r3
+/* 802742EC 0026FF4C 54 03 D9 7E */ srwi r3, r0, 5
+/* 802742F0 0026FF50 48 00 00 08 */ b lbl_802742F8
+lbl_802742F4:
+/* 802742F4 0026FF54 38 60 00 00 */ li r3, 0
+lbl_802742F8:
+/* 802742F8 0026FF58 80 01 00 A4 */ lwz r0, 0xa4(r1)
+/* 802742FC 0026FF5C 83 E1 00 9C */ lwz r31, 0x9c(r1)
+/* 80274300 0026FF60 7C 08 03 A6 */ mtlr r0
+/* 80274304 0026FF64 38 21 00 A0 */ addi r1, r1, 0xa0
+/* 80274308 0026FF68 4E 80 00 20 */ blr
+
+# Still unsure of label for this function
+# (not mentioned in BBA map and not found in Brawl)
+.global func_8027430C
+func_8027430C:
+/* 8027430C 0026FF6C 94 21 FF 60 */ stwu r1, -0xa0(r1)
+/* 80274310 0026FF70 7C 08 02 A6 */ mflr r0
+/* 80274314 0026FF74 3C 80 80 43 */ lis r4, lbl_80433F08@ha
+/* 80274318 0026FF78 38 A0 00 01 */ li r5, 1
+/* 8027431C 0026FF7C 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 80274320 0026FF80 93 E1 00 9C */ stw r31, 0x9c(r1)
+/* 80274324 0026FF84 7C 7F 1B 78 */ mr r31, r3
+/* 80274328 0026FF88 38 64 3F 08 */ addi r3, r4, lbl_80433F08@l
+/* 8027432C 0026FF8C 38 81 00 08 */ addi r4, r1, 8
+/* 80274330 0026FF90 93 C1 00 98 */ stw r30, 0x98(r1)
+/* 80274334 0026FF94 48 07 41 61 */ bl func_802E8494
+/* 80274338 0026FF98 2C 03 00 00 */ cmpwi r3, 0
+/* 8027433C 0026FF9C 40 82 00 40 */ bne lbl_8027437C
+/* 80274340 0026FFA0 7F E4 FB 78 */ mr r4, r31
+/* 80274344 0026FFA4 38 61 00 08 */ addi r3, r1, 8
+/* 80274348 0026FFA8 38 A0 10 20 */ li r5, 0x1020
+/* 8027434C 0026FFAC 48 07 35 75 */ bl func_802E78C0
+/* 80274350 0026FFB0 7C 7E 1B 78 */ mr r30, r3
+/* 80274354 0026FFB4 38 61 00 08 */ addi r3, r1, 8
+/* 80274358 0026FFB8 48 07 43 31 */ bl func_802E8688
+/* 8027435C 0026FFBC 28 1E 10 20 */ cmplwi r30, 0x1020
+/* 80274360 0026FFC0 41 82 00 34 */ beq lbl_80274394
+/* 80274364 0026FFC4 7F E3 FB 78 */ mr r3, r31
+/* 80274368 0026FFC8 38 80 00 00 */ li r4, 0
+/* 8027436C 0026FFCC 38 A0 10 20 */ li r5, 0x1020
+/* 80274370 0026FFD0 4B D8 FD 95 */ bl memset
+/* 80274374 0026FFD4 38 60 00 00 */ li r3, 0
+/* 80274378 0026FFD8 48 00 01 14 */ b lbl_8027448C
+lbl_8027437C:
+/* 8027437C 0026FFDC 7F E3 FB 78 */ mr r3, r31
+/* 80274380 0026FFE0 38 80 00 00 */ li r4, 0
+/* 80274384 0026FFE4 38 A0 10 20 */ li r5, 0x1020
+/* 80274388 0026FFE8 4B D8 FD 7D */ bl memset
+/* 8027438C 0026FFEC 38 60 00 00 */ li r3, 0
+/* 80274390 0026FFF0 48 00 00 FC */ b lbl_8027448C
+lbl_80274394:
+/* 80274394 0026FFF4 38 00 00 40 */ li r0, 0x40
+/* 80274398 0026FFF8 38 BF 00 04 */ addi r5, r31, 4
+/* 8027439C 0026FFFC 38 80 00 00 */ li r4, 0
+/* 802743A0 00270000 7C 09 03 A6 */ mtctr r0
+lbl_802743A4:
+/* 802743A4 00270004 80 65 00 00 */ lwz r3, 0(r5)
+/* 802743A8 00270008 80 05 00 04 */ lwz r0, 4(r5)
+/* 802743AC 0027000C 7C 84 1A 14 */ add r4, r4, r3
+/* 802743B0 00270010 80 65 00 08 */ lwz r3, 8(r5)
+/* 802743B4 00270014 7C 84 02 14 */ add r4, r4, r0
+/* 802743B8 00270018 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 802743BC 0027001C 7C 84 1A 14 */ add r4, r4, r3
+/* 802743C0 00270020 80 65 00 10 */ lwz r3, 0x10(r5)
+/* 802743C4 00270024 7C 84 02 14 */ add r4, r4, r0
+/* 802743C8 00270028 80 05 00 14 */ lwz r0, 0x14(r5)
+/* 802743CC 0027002C 7C 84 1A 14 */ add r4, r4, r3
+/* 802743D0 00270030 80 65 00 18 */ lwz r3, 0x18(r5)
+/* 802743D4 00270034 7C 84 02 14 */ add r4, r4, r0
+/* 802743D8 00270038 80 05 00 1C */ lwz r0, 0x1c(r5)
+/* 802743DC 0027003C 7C 84 1A 14 */ add r4, r4, r3
+/* 802743E0 00270040 80 65 00 20 */ lwz r3, 0x20(r5)
+/* 802743E4 00270044 7C 84 02 14 */ add r4, r4, r0
+/* 802743E8 00270048 80 05 00 24 */ lwz r0, 0x24(r5)
+/* 802743EC 0027004C 7C 84 1A 14 */ add r4, r4, r3
+/* 802743F0 00270050 80 65 00 28 */ lwz r3, 0x28(r5)
+/* 802743F4 00270054 7C 84 02 14 */ add r4, r4, r0
+/* 802743F8 00270058 80 05 00 2C */ lwz r0, 0x2c(r5)
+/* 802743FC 0027005C 7C 84 1A 14 */ add r4, r4, r3
+/* 80274400 00270060 80 65 00 30 */ lwz r3, 0x30(r5)
+/* 80274404 00270064 7C 84 02 14 */ add r4, r4, r0
+/* 80274408 00270068 80 05 00 34 */ lwz r0, 0x34(r5)
+/* 8027440C 0027006C 7C 84 1A 14 */ add r4, r4, r3
+/* 80274410 00270070 80 65 00 38 */ lwz r3, 0x38(r5)
+/* 80274414 00270074 7C 84 02 14 */ add r4, r4, r0
+/* 80274418 00270078 80 05 00 3C */ lwz r0, 0x3c(r5)
+/* 8027441C 0027007C 7C 84 1A 14 */ add r4, r4, r3
+/* 80274420 00270080 38 A5 00 40 */ addi r5, r5, 0x40
+/* 80274424 00270084 7C 84 02 14 */ add r4, r4, r0
+/* 80274428 00270088 42 00 FF 7C */ bdnz lbl_802743A4
+/* 8027442C 0027008C 80 65 00 00 */ lwz r3, 0(r5)
+/* 80274430 00270090 80 05 00 04 */ lwz r0, 4(r5)
+/* 80274434 00270094 7C 84 1A 14 */ add r4, r4, r3
+/* 80274438 00270098 80 65 00 08 */ lwz r3, 8(r5)
+/* 8027443C 0027009C 7C 84 02 14 */ add r4, r4, r0
+/* 80274440 002700A0 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 80274444 002700A4 7C 84 1A 14 */ add r4, r4, r3
+/* 80274448 002700A8 80 65 00 10 */ lwz r3, 0x10(r5)
+/* 8027444C 002700AC 7C 84 02 14 */ add r4, r4, r0
+/* 80274450 002700B0 80 05 00 14 */ lwz r0, 0x14(r5)
+/* 80274454 002700B4 7C 84 1A 14 */ add r4, r4, r3
+/* 80274458 002700B8 80 65 00 18 */ lwz r3, 0x18(r5)
+/* 8027445C 002700BC 7C 84 02 14 */ add r4, r4, r0
+/* 80274460 002700C0 80 1F 00 00 */ lwz r0, 0(r31)
+/* 80274464 002700C4 7C 84 1A 14 */ add r4, r4, r3
+/* 80274468 002700C8 7C 00 20 40 */ cmplw r0, r4
+/* 8027446C 002700CC 41 82 00 1C */ beq lbl_80274488
+/* 80274470 002700D0 7F E3 FB 78 */ mr r3, r31
+/* 80274474 002700D4 38 80 00 00 */ li r4, 0
+/* 80274478 002700D8 38 A0 10 20 */ li r5, 0x1020
+/* 8027447C 002700DC 4B D8 FC 89 */ bl memset
+/* 80274480 002700E0 38 60 00 00 */ li r3, 0
+/* 80274484 002700E4 48 00 00 08 */ b lbl_8027448C
+lbl_80274488:
+/* 80274488 002700E8 38 60 00 01 */ li r3, 1
+lbl_8027448C:
+/* 8027448C 002700EC 80 01 00 A4 */ lwz r0, 0xa4(r1)
+/* 80274490 002700F0 83 E1 00 9C */ lwz r31, 0x9c(r1)
+/* 80274494 002700F4 83 C1 00 98 */ lwz r30, 0x98(r1)
+/* 80274498 002700F8 7C 08 03 A6 */ mtlr r0
+/* 8027449C 002700FC 38 21 00 A0 */ addi r1, r1, 0xa0
+/* 802744A0 00270100 4E 80 00 20 */ blr
|