donut-decomp/asm/os/OS.s
2022-10-17 09:03:07 +01:00

2019 lines
83 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __OSFPRInit
__OSFPRInit:
/* 8001A2C0 00016100 7C 60 00 A6 */ mfmsr r3
/* 8001A2C4 00016104 60 63 20 00 */ ori r3, r3, 0x2000
/* 8001A2C8 00016108 7C 60 01 24 */ mtmsr r3
/* 8001A2CC 0001610C 7C 78 E2 A6 */ mfspr r3, HID2
/* 8001A2D0 00016110 54 63 1F FF */ extrwi. r3, r3, 1, 2
/* 8001A2D4 00016114 41 82 00 8C */ beq lbl_8001A360
/* 8001A2D8 00016118 3C 60 80 56 */ lis r3, ZeroPS@ha
/* 8001A2DC 0001611C 38 63 C7 90 */ addi r3, r3, ZeroPS@l
/* 8001A2E0 00016120 E0 03 00 00 */ psq_l f0, 0x0(r3), 0, qr0
/* 8001A2E4 00016124 10 20 00 90 */ ps_mr f1, f0
/* 8001A2E8 00016128 10 40 00 90 */ ps_mr f2, f0
/* 8001A2EC 0001612C 10 60 00 90 */ ps_mr f3, f0
/* 8001A2F0 00016130 10 80 00 90 */ ps_mr f4, f0
/* 8001A2F4 00016134 10 A0 00 90 */ ps_mr f5, f0
/* 8001A2F8 00016138 10 C0 00 90 */ ps_mr f6, f0
/* 8001A2FC 0001613C 10 E0 00 90 */ ps_mr f7, f0
/* 8001A300 00016140 11 00 00 90 */ ps_mr f8, f0
/* 8001A304 00016144 11 20 00 90 */ ps_mr f9, f0
/* 8001A308 00016148 11 40 00 90 */ ps_mr f10, f0
/* 8001A30C 0001614C 11 60 00 90 */ ps_mr f11, f0
/* 8001A310 00016150 11 80 00 90 */ ps_mr f12, f0
/* 8001A314 00016154 11 A0 00 90 */ ps_mr f13, f0
/* 8001A318 00016158 11 C0 00 90 */ ps_mr f14, f0
/* 8001A31C 0001615C 11 E0 00 90 */ ps_mr f15, f0
/* 8001A320 00016160 12 00 00 90 */ ps_mr f16, f0
/* 8001A324 00016164 12 20 00 90 */ ps_mr f17, f0
/* 8001A328 00016168 12 40 00 90 */ ps_mr f18, f0
/* 8001A32C 0001616C 12 60 00 90 */ ps_mr f19, f0
/* 8001A330 00016170 12 80 00 90 */ ps_mr f20, f0
/* 8001A334 00016174 12 A0 00 90 */ ps_mr f21, f0
/* 8001A338 00016178 12 C0 00 90 */ ps_mr f22, f0
/* 8001A33C 0001617C 12 E0 00 90 */ ps_mr f23, f0
/* 8001A340 00016180 13 00 00 90 */ ps_mr f24, f0
/* 8001A344 00016184 13 20 00 90 */ ps_mr f25, f0
/* 8001A348 00016188 13 40 00 90 */ ps_mr f26, f0
/* 8001A34C 0001618C 13 60 00 90 */ ps_mr f27, f0
/* 8001A350 00016190 13 80 00 90 */ ps_mr f28, f0
/* 8001A354 00016194 13 A0 00 90 */ ps_mr f29, f0
/* 8001A358 00016198 13 C0 00 90 */ ps_mr f30, f0
/* 8001A35C 0001619C 13 E0 00 90 */ ps_mr f31, f0
.global lbl_8001A360
lbl_8001A360:
/* 8001A360 000161A0 C8 0D E3 68 */ lfd f0, ZeroF@sda21(r13)
/* 8001A364 000161A4 FC 20 00 90 */ fmr f1, f0
/* 8001A368 000161A8 FC 40 00 90 */ fmr f2, f0
/* 8001A36C 000161AC FC 60 00 90 */ fmr f3, f0
/* 8001A370 000161B0 FC 80 00 90 */ fmr f4, f0
/* 8001A374 000161B4 FC A0 00 90 */ fmr f5, f0
/* 8001A378 000161B8 FC C0 00 90 */ fmr f6, f0
/* 8001A37C 000161BC FC E0 00 90 */ fmr f7, f0
/* 8001A380 000161C0 FD 00 00 90 */ fmr f8, f0
/* 8001A384 000161C4 FD 20 00 90 */ fmr f9, f0
/* 8001A388 000161C8 FD 40 00 90 */ fmr f10, f0
/* 8001A38C 000161CC FD 60 00 90 */ fmr f11, f0
/* 8001A390 000161D0 FD 80 00 90 */ fmr f12, f0
/* 8001A394 000161D4 FD A0 00 90 */ fmr f13, f0
/* 8001A398 000161D8 FD C0 00 90 */ fmr f14, f0
/* 8001A39C 000161DC FD E0 00 90 */ fmr f15, f0
/* 8001A3A0 000161E0 FE 00 00 90 */ fmr f16, f0
/* 8001A3A4 000161E4 FE 20 00 90 */ fmr f17, f0
/* 8001A3A8 000161E8 FE 40 00 90 */ fmr f18, f0
/* 8001A3AC 000161EC FE 60 00 90 */ fmr f19, f0
/* 8001A3B0 000161F0 FE 80 00 90 */ fmr f20, f0
/* 8001A3B4 000161F4 FE A0 00 90 */ fmr f21, f0
/* 8001A3B8 000161F8 FE C0 00 90 */ fmr f22, f0
/* 8001A3BC 000161FC FE E0 00 90 */ fmr f23, f0
/* 8001A3C0 00016200 FF 00 00 90 */ fmr f24, f0
/* 8001A3C4 00016204 FF 20 00 90 */ fmr f25, f0
/* 8001A3C8 00016208 FF 40 00 90 */ fmr f26, f0
/* 8001A3CC 0001620C FF 60 00 90 */ fmr f27, f0
/* 8001A3D0 00016210 FF 80 00 90 */ fmr f28, f0
/* 8001A3D4 00016214 FF A0 00 90 */ fmr f29, f0
/* 8001A3D8 00016218 FF C0 00 90 */ fmr f30, f0
/* 8001A3DC 0001621C FF E0 00 90 */ fmr f31, f0
/* 8001A3E0 00016220 FD FE 05 8E */ mtfsf 255, f0
/* 8001A3E4 00016224 4E 80 00 20 */ blr
/* 8001A3E8 00016228 00 00 00 00 */ .4byte 0x00000000
/* 8001A3EC 0001622C 00 00 00 00 */ .4byte 0x00000000
.global __OSGetIOSRev
__OSGetIOSRev:
/* 8001A3F0 00016230 3C 80 C0 00 */ lis r4, 0xC0003144@ha
/* 8001A3F4 00016234 81 44 31 44 */ lwz r10, 0xC0003144@l(r4)
/* 8001A3F8 00016238 81 24 31 40 */ lwz r9, 0x3140(r4)
/* 8001A3FC 0001623C 55 40 E7 3E */ extrwi r0, r10, 4, 24
/* 8001A400 00016240 55 46 67 3E */ extrwi r6, r10, 4, 8
/* 8001A404 00016244 1C 80 00 0A */ mulli r4, r0, 0xa
/* 8001A408 00016248 55 27 46 3E */ srwi r7, r9, 24
/* 8001A40C 0001624C 55 40 07 3E */ clrlwi r0, r10, 28
/* 8001A410 00016250 98 E3 00 00 */ stb r7, 0x0(r3)
/* 8001A414 00016254 55 28 86 3E */ extrwi r8, r9, 8, 8
/* 8001A418 00016258 7C 80 22 14 */ add r4, r0, r4
/* 8001A41C 0001625C 38 04 07 D0 */ addi r0, r4, 0x7d0
/* 8001A420 00016260 55 45 A7 3E */ extrwi r5, r10, 4, 16
/* 8001A424 00016264 1C 85 00 0A */ mulli r4, r5, 0xa
/* 8001A428 00016268 99 03 00 01 */ stb r8, 0x1(r3)
/* 8001A42C 0001626C 55 45 C7 3E */ extrwi r5, r10, 4, 20
/* 8001A430 00016270 55 28 C6 3E */ extrwi r8, r9, 8, 16
/* 8001A434 00016274 99 03 00 02 */ stb r8, 0x2(r3)
/* 8001A438 00016278 7C 85 22 14 */ add r4, r5, r4
/* 8001A43C 0001627C 1C C6 00 0A */ mulli r6, r6, 0xa
/* 8001A440 00016280 55 47 87 3E */ extrwi r7, r10, 4, 12
/* 8001A444 00016284 99 23 00 03 */ stb r9, 0x3(r3)
/* 8001A448 00016288 7C C7 32 14 */ add r6, r7, r6
/* 8001A44C 0001628C 98 C3 00 04 */ stb r6, 0x4(r3)
/* 8001A450 00016290 98 83 00 05 */ stb r4, 0x5(r3)
/* 8001A454 00016294 B0 03 00 06 */ sth r0, 0x6(r3)
/* 8001A458 00016298 4E 80 00 20 */ blr
/* 8001A45C 0001629C 00 00 00 00 */ .4byte 0x00000000
.global OSGetConsoleType
OSGetConsoleType:
/* 8001A460 000162A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001A464 000162A4 7C 08 02 A6 */ mflr r0
/* 8001A468 000162A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001A46C 000162AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8001A470 000162B0 80 6D E3 90 */ lwz r3, BootInfo_8055C7B0@sda21(r13)
/* 8001A474 000162B4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001A478 000162B8 41 82 00 10 */ beq lbl_8001A488
/* 8001A47C 000162BC 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 8001A480 000162C0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001A484 000162C4 40 82 00 10 */ bne lbl_8001A494
.global lbl_8001A488
lbl_8001A488:
/* 8001A488 000162C8 3C 60 10 00 */ lis r3, 0x1000
/* 8001A48C 000162CC 38 63 00 02 */ addi r3, r3, 0x2
/* 8001A490 000162D0 48 00 02 10 */ b lbl_8001A6A0
.global lbl_8001A494
lbl_8001A494:
/* 8001A494 000162D4 3C 60 80 00 */ lis r3, 0x800030E6@ha
/* 8001A498 000162D8 A0 03 30 E6 */ lhz r0, 0x800030E6@l(r3)
/* 8001A49C 000162DC 83 E3 31 38 */ lwz r31, 0x3138(r3)
/* 8001A4A0 000162E0 54 00 04 21 */ rlwinm. r0, r0, 0, 16, 16
/* 8001A4A4 000162E4 41 82 01 18 */ beq lbl_8001A5BC
/* 8001A4A8 000162E8 A0 03 30 E6 */ lhz r0, 0x30e6(r3)
/* 8001A4AC 000162EC 54 03 04 5E */ rlwinm r3, r0, 0, 17, 15
/* 8001A4B0 000162F0 38 03 FF FE */ addi r0, r3, -0x2
/* 8001A4B4 000162F4 28 00 00 01 */ cmplwi r0, 0x1
/* 8001A4B8 000162F8 40 81 00 24 */ ble lbl_8001A4DC
/* 8001A4BC 000162FC 38 03 FD FF */ addi r0, r3, -0x201
/* 8001A4C0 00016300 28 00 00 01 */ cmplwi r0, 0x1
/* 8001A4C4 00016304 40 81 00 78 */ ble lbl_8001A53C
/* 8001A4C8 00016308 2C 03 02 03 */ cmpwi r3, 0x203
/* 8001A4CC 0001630C 41 82 00 10 */ beq lbl_8001A4DC
/* 8001A4D0 00016310 2C 03 03 00 */ cmpwi r3, 0x300
/* 8001A4D4 00016314 41 82 00 E0 */ beq lbl_8001A5B4
/* 8001A4D8 00016318 48 00 00 E4 */ b lbl_8001A5BC
.global lbl_8001A4DC
lbl_8001A4DC:
/* 8001A4DC 0001631C 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8001A4E0 00016320 41 82 00 28 */ beq lbl_8001A508
/* 8001A4E4 00016324 28 1F 00 01 */ cmplwi r31, 0x1
/* 8001A4E8 00016328 41 82 00 28 */ beq lbl_8001A510
/* 8001A4EC 0001632C 28 1F 00 02 */ cmplwi r31, 0x2
/* 8001A4F0 00016330 41 82 00 28 */ beq lbl_8001A518
/* 8001A4F4 00016334 28 1F 00 10 */ cmplwi r31, 0x10
/* 8001A4F8 00016338 41 82 00 28 */ beq lbl_8001A520
/* 8001A4FC 0001633C 28 1F 00 11 */ cmplwi r31, 0x11
/* 8001A500 00016340 41 82 00 28 */ beq lbl_8001A528
/* 8001A504 00016344 48 00 00 2C */ b lbl_8001A530
.global lbl_8001A508
lbl_8001A508:
/* 8001A508 00016348 38 60 00 10 */ li r3, 0x10
/* 8001A50C 0001634C 48 00 01 94 */ b lbl_8001A6A0
.global lbl_8001A510
lbl_8001A510:
/* 8001A510 00016350 38 60 00 11 */ li r3, 0x11
/* 8001A514 00016354 48 00 01 8C */ b lbl_8001A6A0
.global lbl_8001A518
lbl_8001A518:
/* 8001A518 00016358 38 60 00 12 */ li r3, 0x12
/* 8001A51C 0001635C 48 00 01 84 */ b lbl_8001A6A0
.global lbl_8001A520
lbl_8001A520:
/* 8001A520 00016360 38 60 00 20 */ li r3, 0x20
/* 8001A524 00016364 48 00 01 7C */ b lbl_8001A6A0
.global lbl_8001A528
lbl_8001A528:
/* 8001A528 00016368 38 60 00 21 */ li r3, 0x21
/* 8001A52C 0001636C 48 00 01 74 */ b lbl_8001A6A0
.global lbl_8001A530
lbl_8001A530:
/* 8001A530 00016370 40 81 00 0C */ ble lbl_8001A53C
/* 8001A534 00016374 38 60 00 21 */ li r3, 0x21
/* 8001A538 00016378 48 00 01 68 */ b lbl_8001A6A0
.global lbl_8001A53C
lbl_8001A53C:
/* 8001A53C 0001637C 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8001A540 00016380 41 82 00 28 */ beq lbl_8001A568
/* 8001A544 00016384 28 1F 00 01 */ cmplwi r31, 0x1
/* 8001A548 00016388 41 82 00 2C */ beq lbl_8001A574
/* 8001A54C 0001638C 28 1F 00 02 */ cmplwi r31, 0x2
/* 8001A550 00016390 41 82 00 30 */ beq lbl_8001A580
/* 8001A554 00016394 28 1F 00 10 */ cmplwi r31, 0x10
/* 8001A558 00016398 41 82 00 34 */ beq lbl_8001A58C
/* 8001A55C 0001639C 28 1F 00 11 */ cmplwi r31, 0x11
/* 8001A560 000163A0 41 82 00 38 */ beq lbl_8001A598
/* 8001A564 000163A4 48 00 00 40 */ b lbl_8001A5A4
.global lbl_8001A568
lbl_8001A568:
/* 8001A568 000163A8 3C 60 10 00 */ lis r3, 0x1000
/* 8001A56C 000163AC 38 63 00 10 */ addi r3, r3, 0x10
/* 8001A570 000163B0 48 00 01 30 */ b lbl_8001A6A0
.global lbl_8001A574
lbl_8001A574:
/* 8001A574 000163B4 3C 60 10 00 */ lis r3, 0x1000
/* 8001A578 000163B8 38 63 00 11 */ addi r3, r3, 0x11
/* 8001A57C 000163BC 48 00 01 24 */ b lbl_8001A6A0
.global lbl_8001A580
lbl_8001A580:
/* 8001A580 000163C0 3C 60 10 00 */ lis r3, 0x1000
/* 8001A584 000163C4 38 63 00 12 */ addi r3, r3, 0x12
/* 8001A588 000163C8 48 00 01 18 */ b lbl_8001A6A0
.global lbl_8001A58C
lbl_8001A58C:
/* 8001A58C 000163CC 3C 60 10 00 */ lis r3, 0x1000
/* 8001A590 000163D0 38 63 00 20 */ addi r3, r3, 0x20
/* 8001A594 000163D4 48 00 01 0C */ b lbl_8001A6A0
.global lbl_8001A598
lbl_8001A598:
/* 8001A598 000163D8 3C 60 10 00 */ lis r3, 0x1000
/* 8001A59C 000163DC 38 63 00 21 */ addi r3, r3, 0x21
/* 8001A5A0 000163E0 48 00 01 00 */ b lbl_8001A6A0
.global lbl_8001A5A4
lbl_8001A5A4:
/* 8001A5A4 000163E4 40 81 00 10 */ ble lbl_8001A5B4
/* 8001A5A8 000163E8 3C 60 10 00 */ lis r3, 0x1000
/* 8001A5AC 000163EC 38 63 00 21 */ addi r3, r3, 0x21
/* 8001A5B0 000163F0 48 00 00 F0 */ b lbl_8001A6A0
.global lbl_8001A5B4
lbl_8001A5B4:
/* 8001A5B4 000163F4 38 60 01 00 */ li r3, 0x100
/* 8001A5B8 000163F8 48 00 00 E8 */ b lbl_8001A6A0
.global lbl_8001A5BC
lbl_8001A5BC:
/* 8001A5BC 000163FC 48 00 7D 35 */ bl OSGetPhysicalMem2Size
/* 8001A5C0 00016400 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8001A5C4 00016404 41 82 00 28 */ beq lbl_8001A5EC
/* 8001A5C8 00016408 28 1F 00 01 */ cmplwi r31, 0x1
/* 8001A5CC 0001640C 41 82 00 3C */ beq lbl_8001A608
/* 8001A5D0 00016410 28 1F 00 02 */ cmplwi r31, 0x2
/* 8001A5D4 00016414 41 82 00 50 */ beq lbl_8001A624
/* 8001A5D8 00016418 28 1F 00 10 */ cmplwi r31, 0x10
/* 8001A5DC 0001641C 41 82 00 64 */ beq lbl_8001A640
/* 8001A5E0 00016420 28 1F 00 11 */ cmplwi r31, 0x11
/* 8001A5E4 00016424 41 82 00 78 */ beq lbl_8001A65C
/* 8001A5E8 00016428 48 00 00 90 */ b lbl_8001A678
.global lbl_8001A5EC
lbl_8001A5EC:
/* 8001A5EC 0001642C 3C 03 FC 00 */ addis r0, r3, 0xfc00
/* 8001A5F0 00016430 3C 60 10 00 */ lis r3, 0x1000
/* 8001A5F4 00016434 28 00 00 00 */ cmplwi r0, 0x0
/* 8001A5F8 00016438 38 63 00 10 */ addi r3, r3, 0x10
/* 8001A5FC 0001643C 40 82 00 A4 */ bne lbl_8001A6A0
/* 8001A600 00016440 38 60 00 10 */ li r3, 0x10
/* 8001A604 00016444 48 00 00 9C */ b lbl_8001A6A0
.global lbl_8001A608
lbl_8001A608:
/* 8001A608 00016448 3C 03 FC 00 */ addis r0, r3, 0xfc00
/* 8001A60C 0001644C 3C 60 10 00 */ lis r3, 0x1000
/* 8001A610 00016450 28 00 00 00 */ cmplwi r0, 0x0
/* 8001A614 00016454 38 63 00 11 */ addi r3, r3, 0x11
/* 8001A618 00016458 40 82 00 88 */ bne lbl_8001A6A0
/* 8001A61C 0001645C 38 60 00 11 */ li r3, 0x11
/* 8001A620 00016460 48 00 00 80 */ b lbl_8001A6A0
.global lbl_8001A624
lbl_8001A624:
/* 8001A624 00016464 3C 03 FC 00 */ addis r0, r3, 0xfc00
/* 8001A628 00016468 3C 60 10 00 */ lis r3, 0x1000
/* 8001A62C 0001646C 28 00 00 00 */ cmplwi r0, 0x0
/* 8001A630 00016470 38 63 00 12 */ addi r3, r3, 0x12
/* 8001A634 00016474 40 82 00 6C */ bne lbl_8001A6A0
/* 8001A638 00016478 38 60 00 12 */ li r3, 0x12
/* 8001A63C 0001647C 48 00 00 64 */ b lbl_8001A6A0
.global lbl_8001A640
lbl_8001A640:
/* 8001A640 00016480 3C 03 FC 00 */ addis r0, r3, 0xfc00
/* 8001A644 00016484 3C 60 10 00 */ lis r3, 0x1000
/* 8001A648 00016488 28 00 00 00 */ cmplwi r0, 0x0
/* 8001A64C 0001648C 38 63 00 20 */ addi r3, r3, 0x20
/* 8001A650 00016490 40 82 00 50 */ bne lbl_8001A6A0
/* 8001A654 00016494 38 60 00 20 */ li r3, 0x20
/* 8001A658 00016498 48 00 00 48 */ b lbl_8001A6A0
.global lbl_8001A65C
lbl_8001A65C:
/* 8001A65C 0001649C 3C 03 FC 00 */ addis r0, r3, 0xfc00
/* 8001A660 000164A0 3C 60 10 00 */ lis r3, 0x1000
/* 8001A664 000164A4 28 00 00 00 */ cmplwi r0, 0x0
/* 8001A668 000164A8 38 63 00 21 */ addi r3, r3, 0x21
/* 8001A66C 000164AC 40 82 00 34 */ bne lbl_8001A6A0
/* 8001A670 000164B0 38 60 00 21 */ li r3, 0x21
/* 8001A674 000164B4 48 00 00 2C */ b lbl_8001A6A0
.global lbl_8001A678
lbl_8001A678:
/* 8001A678 000164B8 40 81 00 20 */ ble lbl_8001A698
/* 8001A67C 000164BC 3C 03 FC 00 */ addis r0, r3, 0xfc00
/* 8001A680 000164C0 3C 60 10 00 */ lis r3, 0x1000
/* 8001A684 000164C4 28 00 00 00 */ cmplwi r0, 0x0
/* 8001A688 000164C8 38 63 00 21 */ addi r3, r3, 0x21
/* 8001A68C 000164CC 40 82 00 14 */ bne lbl_8001A6A0
/* 8001A690 000164D0 38 60 00 21 */ li r3, 0x21
/* 8001A694 000164D4 48 00 00 0C */ b lbl_8001A6A0
.global lbl_8001A698
lbl_8001A698:
/* 8001A698 000164D8 80 6D E3 90 */ lwz r3, BootInfo_8055C7B0@sda21(r13)
/* 8001A69C 000164DC 80 63 00 2C */ lwz r3, 0x2c(r3)
.global lbl_8001A6A0
lbl_8001A6A0:
/* 8001A6A0 000164E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001A6A4 000164E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001A6A8 000164E8 7C 08 03 A6 */ mtlr r0
/* 8001A6AC 000164EC 38 21 00 10 */ addi r1, r1, 0x10
/* 8001A6B0 000164F0 4E 80 00 20 */ blr
/* 8001A6B4 000164F4 00 00 00 00 */ .4byte 0x00000000
/* 8001A6B8 000164F8 00 00 00 00 */ .4byte 0x00000000
/* 8001A6BC 000164FC 00 00 00 00 */ .4byte 0x00000000
.global ClearArena
ClearArena:
/* 8001A6C0 00016500 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001A6C4 00016504 7C 08 02 A6 */ mflr r0
/* 8001A6C8 00016508 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001A6CC 0001650C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8001A6D0 00016510 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8001A6D4 00016514 48 00 91 1D */ bl OSGetResetCode
/* 8001A6D8 00016518 54 60 0F FF */ srwi. r0, r3, 31
/* 8001A6DC 0001651C 40 82 00 4C */ bne lbl_8001A728
/* 8001A6E0 00016520 48 00 1C 91 */ bl OSGetMEM1ArenaHi
/* 8001A6E4 00016524 7C 7F 1B 78 */ mr r31, r3
/* 8001A6E8 00016528 48 00 1C A9 */ bl OSGetMEM1ArenaLo
/* 8001A6EC 0001652C 7F E3 F8 50 */ subf r31, r3, r31
/* 8001A6F0 00016530 48 00 1C A1 */ bl OSGetMEM1ArenaLo
/* 8001A6F4 00016534 3C 00 00 04 */ lis r0, 0x4
/* 8001A6F8 00016538 7C 1F 00 40 */ cmplw r31, r0
/* 8001A6FC 0001653C 40 81 00 10 */ ble lbl_8001A70C
/* 8001A700 00016540 3F DF FF FC */ addis r30, r31, 0xfffc
/* 8001A704 00016544 7F C3 F2 14 */ add r30, r3, r30
/* 8001A708 00016548 48 00 00 08 */ b lbl_8001A710
.global lbl_8001A70C
lbl_8001A70C:
/* 8001A70C 0001654C 7C 7E 1B 78 */ mr r30, r3
.global lbl_8001A710
lbl_8001A710:
/* 8001A710 00016550 7F E4 FB 78 */ mr r4, r31
/* 8001A714 00016554 48 00 23 2D */ bl DCZeroRange
/* 8001A718 00016558 7F C3 F3 78 */ mr r3, r30
/* 8001A71C 0001655C 3C 80 00 04 */ lis r4, 0x4
/* 8001A720 00016560 48 00 22 61 */ bl DCFlushRange
/* 8001A724 00016564 48 00 01 60 */ b lbl_8001A884
.global lbl_8001A728
lbl_8001A728:
/* 8001A728 00016568 3F E0 80 4A */ lis r31, __OSRebootParams@ha
/* 8001A72C 0001656C 3B FF 90 A0 */ addi r31, r31, __OSRebootParams@l
/* 8001A730 00016570 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8001A734 00016574 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001A738 00016578 41 82 00 0C */ beq lbl_8001A744
/* 8001A73C 0001657C 54 00 00 87 */ rlwinm. r0, r0, 0, 2, 3
/* 8001A740 00016580 41 82 00 4C */ beq lbl_8001A78C
.global lbl_8001A744
lbl_8001A744:
/* 8001A744 00016584 48 00 1C 2D */ bl OSGetMEM1ArenaHi
/* 8001A748 00016588 7C 7F 1B 78 */ mr r31, r3
/* 8001A74C 0001658C 48 00 1C 45 */ bl OSGetMEM1ArenaLo
/* 8001A750 00016590 7F E3 F8 50 */ subf r31, r3, r31
/* 8001A754 00016594 48 00 1C 3D */ bl OSGetMEM1ArenaLo
/* 8001A758 00016598 3C 00 00 04 */ lis r0, 0x4
/* 8001A75C 0001659C 7C 1F 00 40 */ cmplw r31, r0
/* 8001A760 000165A0 40 81 00 10 */ ble lbl_8001A770
/* 8001A764 000165A4 3F DF FF FC */ addis r30, r31, 0xfffc
/* 8001A768 000165A8 7F C3 F2 14 */ add r30, r3, r30
/* 8001A76C 000165AC 48 00 00 08 */ b lbl_8001A774
.global lbl_8001A770
lbl_8001A770:
/* 8001A770 000165B0 7C 7E 1B 78 */ mr r30, r3
.global lbl_8001A774
lbl_8001A774:
/* 8001A774 000165B4 7F E4 FB 78 */ mr r4, r31
/* 8001A778 000165B8 48 00 22 C9 */ bl DCZeroRange
/* 8001A77C 000165BC 7F C3 F3 78 */ mr r3, r30
/* 8001A780 000165C0 3C 80 00 04 */ lis r4, 0x4
/* 8001A784 000165C4 48 00 21 FD */ bl DCFlushRange
/* 8001A788 000165C8 48 00 00 FC */ b lbl_8001A884
.global lbl_8001A78C
lbl_8001A78C:
/* 8001A78C 000165CC 48 00 1C 05 */ bl OSGetMEM1ArenaLo
/* 8001A790 000165D0 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8001A794 000165D4 7C 03 00 40 */ cmplw r3, r0
/* 8001A798 000165D8 40 80 00 EC */ bge lbl_8001A884
/* 8001A79C 000165DC 48 00 1B D5 */ bl OSGetMEM1ArenaHi
/* 8001A7A0 000165E0 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8001A7A4 000165E4 7C 03 00 40 */ cmplw r3, r0
/* 8001A7A8 000165E8 41 81 00 4C */ bgt lbl_8001A7F4
/* 8001A7AC 000165EC 48 00 1B C5 */ bl OSGetMEM1ArenaHi
/* 8001A7B0 000165F0 7C 7F 1B 78 */ mr r31, r3
/* 8001A7B4 000165F4 48 00 1B DD */ bl OSGetMEM1ArenaLo
/* 8001A7B8 000165F8 7F E3 F8 50 */ subf r31, r3, r31
/* 8001A7BC 000165FC 48 00 1B D5 */ bl OSGetMEM1ArenaLo
/* 8001A7C0 00016600 3C 00 00 04 */ lis r0, 0x4
/* 8001A7C4 00016604 7C 1F 00 40 */ cmplw r31, r0
/* 8001A7C8 00016608 40 81 00 10 */ ble lbl_8001A7D8
/* 8001A7CC 0001660C 3F DF FF FC */ addis r30, r31, 0xfffc
/* 8001A7D0 00016610 7F C3 F2 14 */ add r30, r3, r30
/* 8001A7D4 00016614 48 00 00 08 */ b lbl_8001A7DC
.global lbl_8001A7D8
lbl_8001A7D8:
/* 8001A7D8 00016618 7C 7E 1B 78 */ mr r30, r3
.global lbl_8001A7DC
lbl_8001A7DC:
/* 8001A7DC 0001661C 7F E4 FB 78 */ mr r4, r31
/* 8001A7E0 00016620 48 00 22 61 */ bl DCZeroRange
/* 8001A7E4 00016624 7F C3 F3 78 */ mr r3, r30
/* 8001A7E8 00016628 3C 80 00 04 */ lis r4, 0x4
/* 8001A7EC 0001662C 48 00 21 95 */ bl DCFlushRange
/* 8001A7F0 00016630 48 00 00 94 */ b lbl_8001A884
.global lbl_8001A7F4
lbl_8001A7F4:
/* 8001A7F4 00016634 48 00 1B 9D */ bl OSGetMEM1ArenaLo
/* 8001A7F8 00016638 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8001A7FC 0001663C 7F E3 00 50 */ subf r31, r3, r0
/* 8001A800 00016640 48 00 1B 91 */ bl OSGetMEM1ArenaLo
/* 8001A804 00016644 3C 00 00 04 */ lis r0, 0x4
/* 8001A808 00016648 7C 1F 00 40 */ cmplw r31, r0
/* 8001A80C 0001664C 40 81 00 10 */ ble lbl_8001A81C
/* 8001A810 00016650 3F DF FF FC */ addis r30, r31, 0xfffc
/* 8001A814 00016654 7F C3 F2 14 */ add r30, r3, r30
/* 8001A818 00016658 48 00 00 08 */ b lbl_8001A820
.global lbl_8001A81C
lbl_8001A81C:
/* 8001A81C 0001665C 7C 7E 1B 78 */ mr r30, r3
.global lbl_8001A820
lbl_8001A820:
/* 8001A820 00016660 7F E4 FB 78 */ mr r4, r31
/* 8001A824 00016664 48 00 22 1D */ bl DCZeroRange
/* 8001A828 00016668 7F C3 F3 78 */ mr r3, r30
/* 8001A82C 0001666C 3C 80 00 04 */ lis r4, 0x4
/* 8001A830 00016670 48 00 21 51 */ bl DCFlushRange
/* 8001A834 00016674 3C 60 80 4A */ lis r3, __OSRebootParams@ha
/* 8001A838 00016678 38 63 90 A0 */ addi r3, r3, __OSRebootParams@l
/* 8001A83C 0001667C 83 E3 00 10 */ lwz r31, 0x10(r3)
/* 8001A840 00016680 48 00 1B 31 */ bl OSGetMEM1ArenaHi
/* 8001A844 00016684 7C 03 F8 40 */ cmplw r3, r31
/* 8001A848 00016688 40 81 00 3C */ ble lbl_8001A884
/* 8001A84C 0001668C 48 00 1B 25 */ bl OSGetMEM1ArenaHi
/* 8001A850 00016690 7C 9F 18 50 */ subf r4, r31, r3
/* 8001A854 00016694 3C 00 00 04 */ lis r0, 0x4
/* 8001A858 00016698 7C 04 00 40 */ cmplw r4, r0
/* 8001A85C 0001669C 40 81 00 10 */ ble lbl_8001A86C
/* 8001A860 000166A0 3F C4 FF FC */ addis r30, r4, 0xfffc
/* 8001A864 000166A4 7F DF F2 14 */ add r30, r31, r30
/* 8001A868 000166A8 48 00 00 08 */ b lbl_8001A870
.global lbl_8001A86C
lbl_8001A86C:
/* 8001A86C 000166AC 7F FE FB 78 */ mr r30, r31
.global lbl_8001A870
lbl_8001A870:
/* 8001A870 000166B0 7F E3 FB 78 */ mr r3, r31
/* 8001A874 000166B4 48 00 21 CD */ bl DCZeroRange
/* 8001A878 000166B8 7F C3 F3 78 */ mr r3, r30
/* 8001A87C 000166BC 3C 80 00 04 */ lis r4, 0x4
/* 8001A880 000166C0 48 00 21 01 */ bl DCFlushRange
.global lbl_8001A884
lbl_8001A884:
/* 8001A884 000166C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001A888 000166C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001A88C 000166CC 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8001A890 000166D0 7C 08 03 A6 */ mtlr r0
/* 8001A894 000166D4 38 21 00 10 */ addi r1, r1, 0x10
/* 8001A898 000166D8 4E 80 00 20 */ blr
/* 8001A89C 000166DC 00 00 00 00 */ .4byte 0x00000000
.global ClearMEM2Arena
ClearMEM2Arena:
/* 8001A8A0 000166E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001A8A4 000166E4 7C 08 02 A6 */ mflr r0
/* 8001A8A8 000166E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001A8AC 000166EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8001A8B0 000166F0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8001A8B4 000166F4 48 00 8F 3D */ bl OSGetResetCode
/* 8001A8B8 000166F8 54 60 0F FF */ srwi. r0, r3, 31
/* 8001A8BC 000166FC 40 82 00 4C */ bne lbl_8001A908
/* 8001A8C0 00016700 48 00 1A C1 */ bl OSGetMEM2ArenaHi
/* 8001A8C4 00016704 7C 7F 1B 78 */ mr r31, r3
/* 8001A8C8 00016708 48 00 1A D9 */ bl OSGetMEM2ArenaLo
/* 8001A8CC 0001670C 7F E3 F8 50 */ subf r31, r3, r31
/* 8001A8D0 00016710 48 00 1A D1 */ bl OSGetMEM2ArenaLo
/* 8001A8D4 00016714 3C 00 00 04 */ lis r0, 0x4
/* 8001A8D8 00016718 7C 1F 00 40 */ cmplw r31, r0
/* 8001A8DC 0001671C 40 81 00 10 */ ble lbl_8001A8EC
/* 8001A8E0 00016720 3F DF FF FC */ addis r30, r31, 0xfffc
/* 8001A8E4 00016724 7F C3 F2 14 */ add r30, r3, r30
/* 8001A8E8 00016728 48 00 00 08 */ b lbl_8001A8F0
.global lbl_8001A8EC
lbl_8001A8EC:
/* 8001A8EC 0001672C 7C 7E 1B 78 */ mr r30, r3
.global lbl_8001A8F0
lbl_8001A8F0:
/* 8001A8F0 00016730 7F E4 FB 78 */ mr r4, r31
/* 8001A8F4 00016734 48 00 21 4D */ bl DCZeroRange
/* 8001A8F8 00016738 7F C3 F3 78 */ mr r3, r30
/* 8001A8FC 0001673C 3C 80 00 04 */ lis r4, 0x4
/* 8001A900 00016740 48 00 20 81 */ bl DCFlushRange
/* 8001A904 00016744 48 00 01 68 */ b lbl_8001AA6C
.global lbl_8001A908
lbl_8001A908:
/* 8001A908 00016748 3F E0 80 4A */ lis r31, __OSRebootParams@ha
/* 8001A90C 0001674C 3B FF 90 A0 */ addi r31, r31, __OSRebootParams@l
/* 8001A910 00016750 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8001A914 00016754 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001A918 00016758 41 82 00 14 */ beq lbl_8001A92C
/* 8001A91C 0001675C 54 03 00 86 */ rlwinm r3, r0, 0, 2, 3
/* 8001A920 00016760 3C 03 F0 00 */ addis r0, r3, 0xf000
/* 8001A924 00016764 28 00 00 00 */ cmplwi r0, 0x0
/* 8001A928 00016768 41 82 00 4C */ beq lbl_8001A974
.global lbl_8001A92C
lbl_8001A92C:
/* 8001A92C 0001676C 48 00 1A 55 */ bl OSGetMEM2ArenaHi
/* 8001A930 00016770 7C 7F 1B 78 */ mr r31, r3
/* 8001A934 00016774 48 00 1A 6D */ bl OSGetMEM2ArenaLo
/* 8001A938 00016778 7F E3 F8 50 */ subf r31, r3, r31
/* 8001A93C 0001677C 48 00 1A 65 */ bl OSGetMEM2ArenaLo
/* 8001A940 00016780 3C 00 00 04 */ lis r0, 0x4
/* 8001A944 00016784 7C 1F 00 40 */ cmplw r31, r0
/* 8001A948 00016788 40 81 00 10 */ ble lbl_8001A958
/* 8001A94C 0001678C 3F DF FF FC */ addis r30, r31, 0xfffc
/* 8001A950 00016790 7F C3 F2 14 */ add r30, r3, r30
/* 8001A954 00016794 48 00 00 08 */ b lbl_8001A95C
.global lbl_8001A958
lbl_8001A958:
/* 8001A958 00016798 7C 7E 1B 78 */ mr r30, r3
.global lbl_8001A95C
lbl_8001A95C:
/* 8001A95C 0001679C 7F E4 FB 78 */ mr r4, r31
/* 8001A960 000167A0 48 00 20 E1 */ bl DCZeroRange
/* 8001A964 000167A4 7F C3 F3 78 */ mr r3, r30
/* 8001A968 000167A8 3C 80 00 04 */ lis r4, 0x4
/* 8001A96C 000167AC 48 00 20 15 */ bl DCFlushRange
/* 8001A970 000167B0 48 00 00 FC */ b lbl_8001AA6C
.global lbl_8001A974
lbl_8001A974:
/* 8001A974 000167B4 48 00 1A 2D */ bl OSGetMEM2ArenaLo
/* 8001A978 000167B8 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8001A97C 000167BC 7C 03 00 40 */ cmplw r3, r0
/* 8001A980 000167C0 40 80 00 EC */ bge lbl_8001AA6C
/* 8001A984 000167C4 48 00 19 FD */ bl OSGetMEM2ArenaHi
/* 8001A988 000167C8 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8001A98C 000167CC 7C 03 00 40 */ cmplw r3, r0
/* 8001A990 000167D0 41 81 00 4C */ bgt lbl_8001A9DC
/* 8001A994 000167D4 48 00 19 ED */ bl OSGetMEM2ArenaHi
/* 8001A998 000167D8 7C 7F 1B 78 */ mr r31, r3
/* 8001A99C 000167DC 48 00 1A 05 */ bl OSGetMEM2ArenaLo
/* 8001A9A0 000167E0 7F E3 F8 50 */ subf r31, r3, r31
/* 8001A9A4 000167E4 48 00 19 FD */ bl OSGetMEM2ArenaLo
/* 8001A9A8 000167E8 3C 00 00 04 */ lis r0, 0x4
/* 8001A9AC 000167EC 7C 1F 00 40 */ cmplw r31, r0
/* 8001A9B0 000167F0 40 81 00 10 */ ble lbl_8001A9C0
/* 8001A9B4 000167F4 3F DF FF FC */ addis r30, r31, 0xfffc
/* 8001A9B8 000167F8 7F C3 F2 14 */ add r30, r3, r30
/* 8001A9BC 000167FC 48 00 00 08 */ b lbl_8001A9C4
.global lbl_8001A9C0
lbl_8001A9C0:
/* 8001A9C0 00016800 7C 7E 1B 78 */ mr r30, r3
.global lbl_8001A9C4
lbl_8001A9C4:
/* 8001A9C4 00016804 7F E4 FB 78 */ mr r4, r31
/* 8001A9C8 00016808 48 00 20 79 */ bl DCZeroRange
/* 8001A9CC 0001680C 7F C3 F3 78 */ mr r3, r30
/* 8001A9D0 00016810 3C 80 00 04 */ lis r4, 0x4
/* 8001A9D4 00016814 48 00 1F AD */ bl DCFlushRange
/* 8001A9D8 00016818 48 00 00 94 */ b lbl_8001AA6C
.global lbl_8001A9DC
lbl_8001A9DC:
/* 8001A9DC 0001681C 48 00 19 C5 */ bl OSGetMEM2ArenaLo
/* 8001A9E0 00016820 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8001A9E4 00016824 7F E3 00 50 */ subf r31, r3, r0
/* 8001A9E8 00016828 48 00 19 B9 */ bl OSGetMEM2ArenaLo
/* 8001A9EC 0001682C 3C 00 00 04 */ lis r0, 0x4
/* 8001A9F0 00016830 7C 1F 00 40 */ cmplw r31, r0
/* 8001A9F4 00016834 40 81 00 10 */ ble lbl_8001AA04
/* 8001A9F8 00016838 3F DF FF FC */ addis r30, r31, 0xfffc
/* 8001A9FC 0001683C 7F C3 F2 14 */ add r30, r3, r30
/* 8001AA00 00016840 48 00 00 08 */ b lbl_8001AA08
.global lbl_8001AA04
lbl_8001AA04:
/* 8001AA04 00016844 7C 7E 1B 78 */ mr r30, r3
.global lbl_8001AA08
lbl_8001AA08:
/* 8001AA08 00016848 7F E4 FB 78 */ mr r4, r31
/* 8001AA0C 0001684C 48 00 20 35 */ bl DCZeroRange
/* 8001AA10 00016850 7F C3 F3 78 */ mr r3, r30
/* 8001AA14 00016854 3C 80 00 04 */ lis r4, 0x4
/* 8001AA18 00016858 48 00 1F 69 */ bl DCFlushRange
/* 8001AA1C 0001685C 3C 60 80 4A */ lis r3, __OSRebootParams@ha
/* 8001AA20 00016860 38 63 90 A0 */ addi r3, r3, __OSRebootParams@l
/* 8001AA24 00016864 83 E3 00 10 */ lwz r31, 0x10(r3)
/* 8001AA28 00016868 48 00 19 59 */ bl OSGetMEM2ArenaHi
/* 8001AA2C 0001686C 7C 03 F8 40 */ cmplw r3, r31
/* 8001AA30 00016870 40 81 00 3C */ ble lbl_8001AA6C
/* 8001AA34 00016874 48 00 19 4D */ bl OSGetMEM2ArenaHi
/* 8001AA38 00016878 7C 9F 18 50 */ subf r4, r31, r3
/* 8001AA3C 0001687C 3C 00 00 04 */ lis r0, 0x4
/* 8001AA40 00016880 7C 04 00 40 */ cmplw r4, r0
/* 8001AA44 00016884 40 81 00 10 */ ble lbl_8001AA54
/* 8001AA48 00016888 3F C4 FF FC */ addis r30, r4, 0xfffc
/* 8001AA4C 0001688C 7F DF F2 14 */ add r30, r31, r30
/* 8001AA50 00016890 48 00 00 08 */ b lbl_8001AA58
.global lbl_8001AA54
lbl_8001AA54:
/* 8001AA54 00016894 7F FE FB 78 */ mr r30, r31
.global lbl_8001AA58
lbl_8001AA58:
/* 8001AA58 00016898 7F E3 FB 78 */ mr r3, r31
/* 8001AA5C 0001689C 48 00 1F E5 */ bl DCZeroRange
/* 8001AA60 000168A0 7F C3 F3 78 */ mr r3, r30
/* 8001AA64 000168A4 3C 80 00 04 */ lis r4, 0x4
/* 8001AA68 000168A8 48 00 1F 19 */ bl DCFlushRange
.global lbl_8001AA6C
lbl_8001AA6C:
/* 8001AA6C 000168AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001AA70 000168B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001AA74 000168B4 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8001AA78 000168B8 7C 08 03 A6 */ mtlr r0
/* 8001AA7C 000168BC 38 21 00 10 */ addi r1, r1, 0x10
/* 8001AA80 000168C0 4E 80 00 20 */ blr
/* 8001AA84 000168C4 00 00 00 00 */ .4byte 0x00000000
/* 8001AA88 000168C8 00 00 00 00 */ .4byte 0x00000000
/* 8001AA8C 000168CC 00 00 00 00 */ .4byte 0x00000000
.global InquiryCallback
InquiryCallback:
/* 8001AA90 000168D0 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8001AA94 000168D4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001AA98 000168D8 41 82 00 08 */ beq lbl_8001AAA0
/* 8001AA9C 000168DC 48 00 00 20 */ b lbl_8001AABC
.global lbl_8001AAA0
lbl_8001AAA0:
/* 8001AAA0 000168E0 3C 80 80 4A */ lis r4, DriveInfo@ha
/* 8001AAA4 000168E4 3C 60 80 00 */ lis r3, 0x800030E6@ha
/* 8001AAA8 000168E8 38 84 90 C0 */ addi r4, r4, DriveInfo@l
/* 8001AAAC 000168EC A0 04 00 02 */ lhz r0, 0x2(r4)
/* 8001AAB0 000168F0 60 00 80 00 */ ori r0, r0, 0x8000
/* 8001AAB4 000168F4 B0 03 30 E6 */ sth r0, 0x800030E6@l(r3)
/* 8001AAB8 000168F8 4E 80 00 20 */ blr
.global lbl_8001AABC
lbl_8001AABC:
/* 8001AABC 000168FC 3C 60 80 00 */ lis r3, 0x800030E6@ha
/* 8001AAC0 00016900 38 00 00 01 */ li r0, 0x1
/* 8001AAC4 00016904 B0 03 30 E6 */ sth r0, 0x800030E6@l(r3)
/* 8001AAC8 00016908 4E 80 00 20 */ blr
/* 8001AACC 0001690C 00 00 00 00 */ .4byte 0x00000000
.global ReportOSInfo
ReportOSInfo:
/* 8001AAD0 00016910 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001AAD4 00016914 7C 08 02 A6 */ mflr r0
/* 8001AAD8 00016918 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001AADC 0001691C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8001AAE0 00016920 3F E0 80 42 */ lis r31, "@1_80421DD8"@ha
/* 8001AAE4 00016924 3B FF 1D D8 */ addi r31, r31, "@1_80421DD8"@l
/* 8001AAE8 00016928 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8001AAEC 0001692C 38 7F 00 48 */ addi r3, r31, 0x48
/* 8001AAF0 00016930 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AAF4 00016934 48 00 2E 9D */ bl OSReport
/* 8001AAF8 00016938 38 7F 00 58 */ addi r3, r31, 0x58
/* 8001AAFC 0001693C 38 9F 00 70 */ addi r4, r31, 0x70
/* 8001AB00 00016940 38 BF 00 7C */ addi r5, r31, 0x7c
/* 8001AB04 00016944 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AB08 00016948 48 00 2E 89 */ bl OSReport
/* 8001AB0C 0001694C 38 7F 00 88 */ addi r3, r31, 0x88
/* 8001AB10 00016950 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AB14 00016954 48 00 2E 7D */ bl OSReport
/* 8001AB18 00016958 4B FF F9 49 */ bl OSGetConsoleType
/* 8001AB1C 0001695C 54 64 00 07 */ clrrwi. r4, r3, 28
/* 8001AB20 00016960 41 82 00 20 */ beq lbl_8001AB40
/* 8001AB24 00016964 3C 04 F0 00 */ addis r0, r4, 0xf000
/* 8001AB28 00016968 28 00 00 00 */ cmplwi r0, 0x0
/* 8001AB2C 0001696C 41 82 00 8C */ beq lbl_8001ABB8
/* 8001AB30 00016970 3C 04 E0 00 */ addis r0, r4, 0xe000
/* 8001AB34 00016974 28 00 00 00 */ cmplwi r0, 0x0
/* 8001AB38 00016978 41 82 01 2C */ beq lbl_8001AC64
/* 8001AB3C 0001697C 48 00 01 40 */ b lbl_8001AC7C
.global lbl_8001AB40
lbl_8001AB40:
/* 8001AB40 00016980 28 03 00 11 */ cmplwi r3, 0x11
/* 8001AB44 00016984 41 82 00 20 */ beq lbl_8001AB64
/* 8001AB48 00016988 28 03 00 12 */ cmplwi r3, 0x12
/* 8001AB4C 0001698C 41 82 00 28 */ beq lbl_8001AB74
/* 8001AB50 00016990 28 03 00 20 */ cmplwi r3, 0x20
/* 8001AB54 00016994 41 82 00 30 */ beq lbl_8001AB84
/* 8001AB58 00016998 28 03 01 00 */ cmplwi r3, 0x100
/* 8001AB5C 0001699C 41 82 00 38 */ beq lbl_8001AB94
/* 8001AB60 000169A0 48 00 00 44 */ b lbl_8001ABA4
.global lbl_8001AB64
lbl_8001AB64:
/* 8001AB64 000169A4 38 7F 00 98 */ addi r3, r31, 0x98
/* 8001AB68 000169A8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AB6C 000169AC 48 00 2E 25 */ bl OSReport
/* 8001AB70 000169B0 48 00 01 1C */ b lbl_8001AC8C
.global lbl_8001AB74
lbl_8001AB74:
/* 8001AB74 000169B4 38 7F 00 B0 */ addi r3, r31, 0xb0
/* 8001AB78 000169B8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AB7C 000169BC 48 00 2E 15 */ bl OSReport
/* 8001AB80 000169C0 48 00 01 0C */ b lbl_8001AC8C
.global lbl_8001AB84
lbl_8001AB84:
/* 8001AB84 000169C4 38 7F 00 CC */ addi r3, r31, 0xcc
/* 8001AB88 000169C8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AB8C 000169CC 48 00 2E 05 */ bl OSReport
/* 8001AB90 000169D0 48 00 00 FC */ b lbl_8001AC8C
.global lbl_8001AB94
lbl_8001AB94:
/* 8001AB94 000169D4 38 6D 80 6C */ addi r3, r13, "@1784"@sda21
/* 8001AB98 000169D8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AB9C 000169DC 48 00 2D F5 */ bl OSReport
/* 8001ABA0 000169E0 48 00 00 EC */ b lbl_8001AC8C
.global lbl_8001ABA4
lbl_8001ABA4:
/* 8001ABA4 000169E4 7C 64 1B 78 */ mr r4, r3
/* 8001ABA8 000169E8 38 7F 00 E8 */ addi r3, r31, 0xe8
/* 8001ABAC 000169EC 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001ABB0 000169F0 48 00 2D E1 */ bl OSReport
/* 8001ABB4 000169F4 48 00 00 D8 */ b lbl_8001AC8C
.global lbl_8001ABB8
lbl_8001ABB8:
/* 8001ABB8 000169F8 3C 03 F0 00 */ addis r0, r3, 0xf000
/* 8001ABBC 000169FC 28 00 00 21 */ cmplwi r0, 0x21
/* 8001ABC0 00016A00 41 82 00 30 */ beq lbl_8001ABF0
/* 8001ABC4 00016A04 28 00 00 20 */ cmplwi r0, 0x20
/* 8001ABC8 00016A08 41 82 00 38 */ beq lbl_8001AC00
/* 8001ABCC 00016A0C 28 00 00 12 */ cmplwi r0, 0x12
/* 8001ABD0 00016A10 41 82 00 40 */ beq lbl_8001AC10
/* 8001ABD4 00016A14 28 00 00 11 */ cmplwi r0, 0x11
/* 8001ABD8 00016A18 41 82 00 48 */ beq lbl_8001AC20
/* 8001ABDC 00016A1C 28 00 00 10 */ cmplwi r0, 0x10
/* 8001ABE0 00016A20 41 82 00 50 */ beq lbl_8001AC30
/* 8001ABE4 00016A24 28 00 00 08 */ cmplwi r0, 0x8
/* 8001ABE8 00016A28 41 82 00 58 */ beq lbl_8001AC40
/* 8001ABEC 00016A2C 48 00 00 64 */ b lbl_8001AC50
.global lbl_8001ABF0
lbl_8001ABF0:
/* 8001ABF0 00016A30 38 7F 00 F4 */ addi r3, r31, 0xf4
/* 8001ABF4 00016A34 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001ABF8 00016A38 48 00 2D 99 */ bl OSReport
/* 8001ABFC 00016A3C 48 00 00 90 */ b lbl_8001AC8C
.global lbl_8001AC00
lbl_8001AC00:
/* 8001AC00 00016A40 38 7F 01 00 */ addi r3, r31, 0x100
/* 8001AC04 00016A44 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AC08 00016A48 48 00 2D 89 */ bl OSReport
/* 8001AC0C 00016A4C 48 00 00 80 */ b lbl_8001AC8C
.global lbl_8001AC10
lbl_8001AC10:
/* 8001AC10 00016A50 38 7F 01 0C */ addi r3, r31, 0x10c
/* 8001AC14 00016A54 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AC18 00016A58 48 00 2D 79 */ bl OSReport
/* 8001AC1C 00016A5C 48 00 00 70 */ b lbl_8001AC8C
.global lbl_8001AC20
lbl_8001AC20:
/* 8001AC20 00016A60 38 7F 01 18 */ addi r3, r31, 0x118
/* 8001AC24 00016A64 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AC28 00016A68 48 00 2D 69 */ bl OSReport
/* 8001AC2C 00016A6C 48 00 00 60 */ b lbl_8001AC8C
.global lbl_8001AC30
lbl_8001AC30:
/* 8001AC30 00016A70 38 7F 01 24 */ addi r3, r31, 0x124
/* 8001AC34 00016A74 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AC38 00016A78 48 00 2D 59 */ bl OSReport
/* 8001AC3C 00016A7C 48 00 00 50 */ b lbl_8001AC8C
.global lbl_8001AC40
lbl_8001AC40:
/* 8001AC40 00016A80 38 7F 01 30 */ addi r3, r31, 0x130
/* 8001AC44 00016A84 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AC48 00016A88 48 00 2D 49 */ bl OSReport
/* 8001AC4C 00016A8C 48 00 00 40 */ b lbl_8001AC8C
.global lbl_8001AC50
lbl_8001AC50:
/* 8001AC50 00016A90 7C 64 1B 78 */ mr r4, r3
/* 8001AC54 00016A94 38 7F 01 48 */ addi r3, r31, 0x148
/* 8001AC58 00016A98 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AC5C 00016A9C 48 00 2D 35 */ bl OSReport
/* 8001AC60 00016AA0 48 00 00 2C */ b lbl_8001AC8C
.global lbl_8001AC64
lbl_8001AC64:
/* 8001AC64 00016AA4 54 64 01 3E */ clrlwi r4, r3, 4
/* 8001AC68 00016AA8 38 7F 01 64 */ addi r3, r31, 0x164
/* 8001AC6C 00016AAC 38 84 FF FD */ addi r4, r4, -0x3
/* 8001AC70 00016AB0 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AC74 00016AB4 48 00 2D 1D */ bl OSReport
/* 8001AC78 00016AB8 48 00 00 14 */ b lbl_8001AC8C
.global lbl_8001AC7C
lbl_8001AC7C:
/* 8001AC7C 00016ABC 7C 64 1B 78 */ mr r4, r3
/* 8001AC80 00016AC0 38 6D 80 74 */ addi r3, r13, "@1794_80556494"@sda21
/* 8001AC84 00016AC4 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AC88 00016AC8 48 00 2D 09 */ bl OSReport
.global lbl_8001AC8C
lbl_8001AC8C:
/* 8001AC8C 00016ACC 3C 80 C0 00 */ lis r4, 0xC0003140@ha
/* 8001AC90 00016AD0 38 7F 01 80 */ addi r3, r31, 0x180
/* 8001AC94 00016AD4 80 04 31 40 */ lwz r0, 0xC0003140@l(r4)
/* 8001AC98 00016AD8 83 C4 31 44 */ lwz r30, 0x3144(r4)
/* 8001AC9C 00016ADC 54 04 86 3E */ extrwi r4, r0, 8, 8
/* 8001ACA0 00016AE0 54 05 C6 3E */ extrwi r5, r0, 8, 16
/* 8001ACA4 00016AE4 54 06 06 3E */ clrlwi r6, r0, 24
/* 8001ACA8 00016AE8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001ACAC 00016AEC 48 00 2C E5 */ bl OSReport
/* 8001ACB0 00016AF0 57 C3 E7 3E */ extrwi r3, r30, 4, 24
/* 8001ACB4 00016AF4 57 C6 67 3E */ extrwi r6, r30, 4, 8
/* 8001ACB8 00016AF8 1C 83 00 0A */ mulli r4, r3, 0xa
/* 8001ACBC 00016AFC 57 C5 A7 3E */ extrwi r5, r30, 4, 16
/* 8001ACC0 00016B00 57 C0 07 3E */ clrlwi r0, r30, 28
/* 8001ACC4 00016B04 57 C8 87 3E */ extrwi r8, r30, 4, 12
/* 8001ACC8 00016B08 7C 80 22 14 */ add r4, r0, r4
/* 8001ACCC 00016B0C 57 C7 C7 3E */ extrwi r7, r30, 4, 20
/* 8001ACD0 00016B10 1C C6 00 0A */ mulli r6, r6, 0xa
/* 8001ACD4 00016B14 38 7F 01 9C */ addi r3, r31, 0x19c
/* 8001ACD8 00016B18 38 04 07 D0 */ addi r0, r4, 0x7d0
/* 8001ACDC 00016B1C 7C 88 32 14 */ add r4, r8, r6
/* 8001ACE0 00016B20 1C A5 00 0A */ mulli r5, r5, 0xa
/* 8001ACE4 00016B24 54 06 04 3E */ clrlwi r6, r0, 16
/* 8001ACE8 00016B28 54 84 06 3E */ clrlwi r4, r4, 24
/* 8001ACEC 00016B2C 7C 07 2A 14 */ add r0, r7, r5
/* 8001ACF0 00016B30 54 05 06 3E */ clrlwi r5, r0, 24
/* 8001ACF4 00016B34 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001ACF8 00016B38 48 00 2C 99 */ bl OSReport
/* 8001ACFC 00016B3C 48 00 76 15 */ bl OSGetConsoleSimulatedMem2Size
/* 8001AD00 00016B40 7C 7E 1B 78 */ mr r30, r3
/* 8001AD04 00016B44 48 00 75 FD */ bl OSGetConsoleSimulatedMem1Size
/* 8001AD08 00016B48 7C 03 F2 14 */ add r0, r3, r30
/* 8001AD0C 00016B4C 38 7F 01 A8 */ addi r3, r31, 0x1a8
/* 8001AD10 00016B50 54 04 65 3E */ srwi r4, r0, 20
/* 8001AD14 00016B54 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AD18 00016B58 48 00 2C 79 */ bl OSReport
/* 8001AD1C 00016B5C 48 00 16 55 */ bl OSGetMEM1ArenaHi
/* 8001AD20 00016B60 7C 7E 1B 78 */ mr r30, r3
/* 8001AD24 00016B64 48 00 16 6D */ bl OSGetMEM1ArenaLo
/* 8001AD28 00016B68 7C 64 1B 78 */ mr r4, r3
/* 8001AD2C 00016B6C 7F C5 F3 78 */ mr r5, r30
/* 8001AD30 00016B70 38 7F 01 B8 */ addi r3, r31, 0x1b8
/* 8001AD34 00016B74 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AD38 00016B78 48 00 2C 59 */ bl OSReport
/* 8001AD3C 00016B7C 48 00 16 45 */ bl OSGetMEM2ArenaHi
/* 8001AD40 00016B80 7C 7E 1B 78 */ mr r30, r3
/* 8001AD44 00016B84 48 00 16 5D */ bl OSGetMEM2ArenaLo
/* 8001AD48 00016B88 7C 64 1B 78 */ mr r4, r3
/* 8001AD4C 00016B8C 7F C5 F3 78 */ mr r5, r30
/* 8001AD50 00016B90 38 7F 01 D4 */ addi r3, r31, 0x1d4
/* 8001AD54 00016B94 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001AD58 00016B98 48 00 2C 39 */ bl OSReport
/* 8001AD5C 00016B9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001AD60 00016BA0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001AD64 00016BA4 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8001AD68 00016BA8 7C 08 03 A6 */ mtlr r0
/* 8001AD6C 00016BAC 38 21 00 10 */ addi r1, r1, 0x10
/* 8001AD70 00016BB0 4E 80 00 20 */ blr
/* 8001AD74 00016BB4 00 00 00 00 */ .4byte 0x00000000
/* 8001AD78 00016BB8 00 00 00 00 */ .4byte 0x00000000
/* 8001AD7C 00016BBC 00 00 00 00 */ .4byte 0x00000000
.global OSInit
OSInit:
/* 8001AD80 00016BC0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8001AD84 00016BC4 7C 08 02 A6 */ mflr r0
/* 8001AD88 00016BC8 3C 60 80 58 */ lis r3, 0x80587000@ha
/* 8001AD8C 00016BCC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8001AD90 00016BD0 38 63 70 00 */ addi r3, r3, 0x80587000@l
/* 8001AD94 00016BD4 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8001AD98 00016BD8 3F E0 80 42 */ lis r31, "@1_80421DD8"@ha
/* 8001AD9C 00016BDC 3B FF 1D D8 */ addi r31, r31, "@1_80421DD8"@l
/* 8001ADA0 00016BE0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8001ADA4 00016BE4 3F C0 80 4A */ lis r30, __OSRebootParams@ha
/* 8001ADA8 00016BE8 3B DE 90 A0 */ addi r30, r30, __OSRebootParams@l
/* 8001ADAC 00016BEC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8001ADB0 00016BF0 93 81 00 20 */ stw r28, 0x20(r1)
/* 8001ADB4 00016BF4 3F 80 81 73 */ lis r28, 0x8173
/* 8001ADB8 00016BF8 80 0D E3 78 */ lwz r0, AreWeInitialized@sda21(r13)
/* 8001ADBC 00016BFC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001ADC0 00016C00 38 03 00 1F */ addi r0, r3, 0x1f
/* 8001ADC4 00016C04 54 1D 00 34 */ clrrwi r29, r0, 5
/* 8001ADC8 00016C08 40 82 04 F0 */ bne lbl_8001B2B8
/* 8001ADCC 00016C0C 38 00 00 01 */ li r0, 0x1
/* 8001ADD0 00016C10 90 0D E3 78 */ stw r0, AreWeInitialized@sda21(r13)
/* 8001ADD4 00016C14 48 00 AD 9D */ bl __OSGetSystemTime
/* 8001ADD8 00016C18 90 8D E3 9C */ stw r4, lbl_8055C7BC@sda21(r13)
/* 8001ADDC 00016C1C 90 6D E3 98 */ stw r3, __OSStartTime@sda21(r13)
/* 8001ADE0 00016C20 48 00 6A 41 */ bl OSDisableInterrupts
/* 8001ADE4 00016C24 38 7E 00 00 */ addi r3, r30, 0x0
/* 8001ADE8 00016C28 48 00 36 C9 */ bl __OSGetExecParams
/* 8001ADEC 00016C2C 38 60 00 00 */ li r3, 0x0
/* 8001ADF0 00016C30 4B FF F3 61 */ bl PPCMtmmcr0
/* 8001ADF4 00016C34 38 60 00 00 */ li r3, 0x0
/* 8001ADF8 00016C38 4B FF F3 69 */ bl PPCMtmmcr1
/* 8001ADFC 00016C3C 38 60 00 00 */ li r3, 0x0
/* 8001AE00 00016C40 4B FF F3 71 */ bl PPCMtpmc1
/* 8001AE04 00016C44 38 60 00 00 */ li r3, 0x0
/* 8001AE08 00016C48 4B FF F3 79 */ bl PPCMtpmc2
/* 8001AE0C 00016C4C 38 60 00 00 */ li r3, 0x0
/* 8001AE10 00016C50 4B FF F3 81 */ bl PPCMtpmc3
/* 8001AE14 00016C54 38 60 00 00 */ li r3, 0x0
/* 8001AE18 00016C58 4B FF F3 89 */ bl PPCMtpmc4
/* 8001AE1C 00016C5C 3C 60 83 90 */ lis r3, 0x8390
/* 8001AE20 00016C60 4B FF F4 51 */ bl PPCMthid4
/* 8001AE24 00016C64 4B FF F4 0D */ bl PPCDisableSpeculation
/* 8001AE28 00016C68 4B FF F4 39 */ bl PPCSetFpNonIEEEMode
/* 8001AE2C 00016C6C 38 00 00 00 */ li r0, 0x0
/* 8001AE30 00016C70 3C 80 80 00 */ lis r4, 0x800000F4@ha
/* 8001AE34 00016C74 90 8D E3 90 */ stw r4, BootInfo_8055C7B0@sda21(r13)
/* 8001AE38 00016C78 90 0D E3 8C */ stw r0, BI2DebugFlag@sda21(r13)
/* 8001AE3C 00016C7C 90 0D 81 A8 */ stw r0, __DVDLongFileNameFlag@sda21(r13)
/* 8001AE40 00016C80 80 A4 00 F4 */ lwz r5, 0x800000F4@l(r4)
/* 8001AE44 00016C84 2C 05 00 00 */ cmpwi r5, 0x0
/* 8001AE48 00016C88 41 82 00 28 */ beq lbl_8001AE70
/* 8001AE4C 00016C8C 38 65 00 0C */ addi r3, r5, 0xc
/* 8001AE50 00016C90 90 6D E3 8C */ stw r3, BI2DebugFlag@sda21(r13)
/* 8001AE54 00016C94 80 05 00 24 */ lwz r0, 0x24(r5)
/* 8001AE58 00016C98 90 0D E9 48 */ stw r0, __PADSpec@sda21(r13)
/* 8001AE5C 00016C9C 80 05 00 0C */ lwz r0, 0xc(r5)
/* 8001AE60 00016CA0 98 04 30 E8 */ stb r0, 0x30e8(r4)
/* 8001AE64 00016CA4 80 0D E9 48 */ lwz r0, __PADSpec@sda21(r13)
/* 8001AE68 00016CA8 98 04 30 E9 */ stb r0, 0x30e9(r4)
/* 8001AE6C 00016CAC 48 00 00 28 */ b lbl_8001AE94
.global lbl_8001AE70
lbl_8001AE70:
/* 8001AE70 00016CB0 80 04 00 34 */ lwz r0, 0x34(r4)
/* 8001AE74 00016CB4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001AE78 00016CB8 41 82 00 1C */ beq lbl_8001AE94
/* 8001AE7C 00016CBC 88 64 30 E8 */ lbz r3, 0x30e8(r4)
/* 8001AE80 00016CC0 38 0D E3 88 */ addi r0, r13, BI2DebugFlagHolder@sda21
/* 8001AE84 00016CC4 90 6D E3 88 */ stw r3, BI2DebugFlagHolder@sda21(r13)
/* 8001AE88 00016CC8 90 0D E3 8C */ stw r0, BI2DebugFlag@sda21(r13)
/* 8001AE8C 00016CCC 88 04 30 E9 */ lbz r0, 0x30e9(r4)
/* 8001AE90 00016CD0 90 0D E9 48 */ stw r0, __PADSpec@sda21(r13)
.global lbl_8001AE94
lbl_8001AE94:
/* 8001AE94 00016CD4 38 00 00 01 */ li r0, 0x1
/* 8001AE98 00016CD8 90 0D 81 A8 */ stw r0, __DVDLongFileNameFlag@sda21(r13)
/* 8001AE9C 00016CDC 3C 80 80 00 */ lis r4, 0x8000310C@ha
/* 8001AEA0 00016CE0 80 64 31 0C */ lwz r3, 0x8000310C@l(r4)
/* 8001AEA4 00016CE4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001AEA8 00016CE8 40 82 00 60 */ bne lbl_8001AF08
/* 8001AEAC 00016CEC 57 A0 00 87 */ rlwinm. r0, r29, 0, 2, 3
/* 8001AEB0 00016CF0 40 82 00 54 */ bne lbl_8001AF04
/* 8001AEB4 00016CF4 80 6D E3 90 */ lwz r3, BootInfo_8055C7B0@sda21(r13)
/* 8001AEB8 00016CF8 80 63 00 30 */ lwz r3, 0x30(r3)
/* 8001AEBC 00016CFC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001AEC0 00016D00 40 82 00 08 */ bne lbl_8001AEC8
/* 8001AEC4 00016D04 7F A3 EB 78 */ mr r3, r29
.global lbl_8001AEC8
lbl_8001AEC8:
/* 8001AEC8 00016D08 80 8D E3 90 */ lwz r4, BootInfo_8055C7B0@sda21(r13)
/* 8001AECC 00016D0C 80 04 00 30 */ lwz r0, 0x30(r4)
/* 8001AED0 00016D10 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001AED4 00016D14 40 82 00 34 */ bne lbl_8001AF08
/* 8001AED8 00016D18 80 8D E3 8C */ lwz r4, BI2DebugFlag@sda21(r13)
/* 8001AEDC 00016D1C 2C 04 00 00 */ cmpwi r4, 0x0
/* 8001AEE0 00016D20 41 82 00 28 */ beq lbl_8001AF08
/* 8001AEE4 00016D24 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8001AEE8 00016D28 28 00 00 02 */ cmplwi r0, 0x2
/* 8001AEEC 00016D2C 40 80 00 1C */ bge lbl_8001AF08
/* 8001AEF0 00016D30 3C 60 80 58 */ lis r3, 0x80585000@ha
/* 8001AEF4 00016D34 38 63 50 00 */ addi r3, r3, 0x80585000@l
/* 8001AEF8 00016D38 38 03 00 1F */ addi r0, r3, 0x1f
/* 8001AEFC 00016D3C 54 03 00 34 */ clrrwi r3, r0, 5
/* 8001AF00 00016D40 48 00 00 08 */ b lbl_8001AF08
.global lbl_8001AF04
lbl_8001AF04:
/* 8001AF04 00016D44 38 64 40 00 */ addi r3, r4, 0x4000
.global lbl_8001AF08
lbl_8001AF08:
/* 8001AF08 00016D48 48 00 14 C9 */ bl OSSetMEM1ArenaLo
/* 8001AF0C 00016D4C 3C 60 80 00 */ lis r3, 0x80003110@ha
/* 8001AF10 00016D50 80 63 31 10 */ lwz r3, 0x80003110@l(r3)
/* 8001AF14 00016D54 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001AF18 00016D58 40 82 00 20 */ bne lbl_8001AF38
/* 8001AF1C 00016D5C 80 6D E3 90 */ lwz r3, BootInfo_8055C7B0@sda21(r13)
/* 8001AF20 00016D60 80 03 00 34 */ lwz r0, 0x34(r3)
/* 8001AF24 00016D64 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001AF28 00016D68 40 82 00 08 */ bne lbl_8001AF30
/* 8001AF2C 00016D6C 48 00 00 08 */ b lbl_8001AF34
.global lbl_8001AF30
lbl_8001AF30:
/* 8001AF30 00016D70 7C 1C 03 78 */ mr r28, r0
.global lbl_8001AF34
lbl_8001AF34:
/* 8001AF34 00016D74 7F 83 E3 78 */ mr r3, r28
.global lbl_8001AF38
lbl_8001AF38:
/* 8001AF38 00016D78 48 00 14 79 */ bl OSSetMEM1ArenaHi
/* 8001AF3C 00016D7C 3C 60 80 00 */ lis r3, 0x80003124@ha
/* 8001AF40 00016D80 80 63 31 24 */ lwz r3, 0x80003124@l(r3)
/* 8001AF44 00016D84 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001AF48 00016D88 41 82 00 64 */ beq lbl_8001AFAC
/* 8001AF4C 00016D8C 57 A4 00 86 */ rlwinm r4, r29, 0, 2, 3
/* 8001AF50 00016D90 3C 04 F0 00 */ addis r0, r4, 0xf000
/* 8001AF54 00016D94 28 00 00 00 */ cmplwi r0, 0x0
/* 8001AF58 00016D98 40 82 00 34 */ bne lbl_8001AF8C
/* 8001AF5C 00016D9C 80 8D E3 8C */ lwz r4, BI2DebugFlag@sda21(r13)
/* 8001AF60 00016DA0 7F A3 EB 78 */ mr r3, r29
/* 8001AF64 00016DA4 2C 04 00 00 */ cmpwi r4, 0x0
/* 8001AF68 00016DA8 41 82 00 40 */ beq lbl_8001AFA8
/* 8001AF6C 00016DAC 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8001AF70 00016DB0 28 00 00 02 */ cmplwi r0, 0x2
/* 8001AF74 00016DB4 40 80 00 34 */ bge lbl_8001AFA8
/* 8001AF78 00016DB8 3C 60 80 58 */ lis r3, 0x80585000@ha
/* 8001AF7C 00016DBC 38 63 50 00 */ addi r3, r3, 0x80585000@l
/* 8001AF80 00016DC0 38 03 00 1F */ addi r0, r3, 0x1f
/* 8001AF84 00016DC4 54 03 00 34 */ clrrwi r3, r0, 5
/* 8001AF88 00016DC8 48 00 00 20 */ b lbl_8001AFA8
.global lbl_8001AF8C
lbl_8001AF8C:
/* 8001AF8C 00016DCC 3C 80 90 00 */ lis r4, 0x90000800@ha
/* 8001AF90 00016DD0 7C 03 20 40 */ cmplw r3, r4
/* 8001AF94 00016DD4 41 80 00 14 */ blt lbl_8001AFA8
/* 8001AF98 00016DD8 38 04 08 00 */ addi r0, r4, 0x90000800@l
/* 8001AF9C 00016DDC 7C 03 00 40 */ cmplw r3, r0
/* 8001AFA0 00016DE0 40 80 00 08 */ bge lbl_8001AFA8
/* 8001AFA4 00016DE4 7C 03 03 78 */ mr r3, r0
.global lbl_8001AFA8
lbl_8001AFA8:
/* 8001AFA8 00016DE8 48 00 14 39 */ bl OSSetMEM2ArenaLo
.global lbl_8001AFAC
lbl_8001AFAC:
/* 8001AFAC 00016DEC 3C 60 80 00 */ lis r3, 0x80003128@ha
/* 8001AFB0 00016DF0 80 63 31 28 */ lwz r3, 0x80003128@l(r3)
/* 8001AFB4 00016DF4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001AFB8 00016DF8 41 82 00 08 */ beq lbl_8001AFC0
/* 8001AFBC 00016DFC 48 00 14 05 */ bl OSSetMEM2ArenaHi
.global lbl_8001AFC0
lbl_8001AFC0:
/* 8001AFC0 00016E00 48 00 B2 21 */ bl __OSInitIPCBuffer
/* 8001AFC4 00016E04 48 00 03 1D */ bl OSExceptionInit
/* 8001AFC8 00016E08 48 00 94 79 */ bl __OSInitSystemCall
/* 8001AFCC 00016E0C 48 00 07 D5 */ bl __OSInitAlarm
/* 8001AFD0 00016E10 48 00 70 21 */ bl __OSModuleInit
/* 8001AFD4 00016E14 48 00 68 ED */ bl __OSInterruptInit
/* 8001AFD8 00016E18 48 00 28 49 */ bl __OSContextInit
/* 8001AFDC 00016E1C 48 00 1E C5 */ bl __OSCacheInit
/* 8001AFE0 00016E20 48 00 E7 81 */ bl EXIInit
/* 8001AFE4 00016E24 48 00 FC 9D */ bl SIInit
/* 8001AFE8 00016E28 48 00 89 99 */ bl __OSInitSram
/* 8001AFEC 00016E2C 48 00 94 C5 */ bl __OSThreadInit
/* 8001AFF0 00016E30 48 00 16 A1 */ bl __OSInitAudioSystem
/* 8001AFF4 00016E34 4B FF F2 0D */ bl PPCMfhid2
/* 8001AFF8 00016E38 54 63 00 80 */ rlwinm r3, r3, 0, 2, 0
/* 8001AFFC 00016E3C 4B FF F2 15 */ bl PPCMthid2
/* 8001B000 00016E40 80 0D E3 58 */ lwz r0, __OSInIPL@sda21(r13)
/* 8001B004 00016E44 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B008 00016E48 40 82 00 08 */ bne lbl_8001B010
/* 8001B00C 00016E4C 48 00 7A 85 */ bl __OSInitMemoryProtection
.global lbl_8001B010
lbl_8001B010:
/* 8001B010 00016E50 4B FF FA C1 */ bl ReportOSInfo
/* 8001B014 00016E54 80 8D 80 68 */ lwz r4, __OSVersion@sda21(r13)
/* 8001B018 00016E58 38 6D 80 7C */ addi r3, r13, "@1847_8055649C"@sda21
/* 8001B01C 00016E5C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001B020 00016E60 48 00 29 71 */ bl OSReport
/* 8001B024 00016E64 80 6D E3 8C */ lwz r3, BI2DebugFlag@sda21(r13)
/* 8001B028 00016E68 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001B02C 00016E6C 41 82 00 14 */ beq lbl_8001B040
/* 8001B030 00016E70 80 03 00 00 */ lwz r0, 0x0(r3)
/* 8001B034 00016E74 28 00 00 02 */ cmplwi r0, 0x2
/* 8001B038 00016E78 41 80 00 08 */ blt lbl_8001B040
/* 8001B03C 00016E7C 4B FF AB 05 */ bl EnableMetroTRKInterrupts
.global lbl_8001B040
lbl_8001B040:
/* 8001B040 00016E80 80 0D E3 5C */ lwz r0, __OSInNandBoot@sda21(r13)
/* 8001B044 00016E84 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B048 00016E88 40 82 00 18 */ bne lbl_8001B060
/* 8001B04C 00016E8C 80 0D E3 CC */ lwz r0, __OSInReboot@sda21(r13)
/* 8001B050 00016E90 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B054 00016E94 40 82 00 0C */ bne lbl_8001B060
/* 8001B058 00016E98 4B FF F6 69 */ bl ClearArena
/* 8001B05C 00016E9C 4B FF F8 45 */ bl ClearMEM2Arena
.global lbl_8001B060
lbl_8001B060:
/* 8001B060 00016EA0 48 00 67 E1 */ bl OSEnableInterrupts
/* 8001B064 00016EA4 48 03 3C 0D */ bl IPCCltInit
/* 8001B068 00016EA8 80 0D E3 5C */ lwz r0, __OSInNandBoot@sda21(r13)
/* 8001B06C 00016EAC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B070 00016EB0 40 82 00 28 */ bne lbl_8001B098
/* 8001B074 00016EB4 80 0D E3 CC */ lwz r0, __OSInReboot@sda21(r13)
/* 8001B078 00016EB8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B07C 00016EBC 40 82 00 1C */ bne lbl_8001B098
/* 8001B080 00016EC0 48 00 B3 61 */ bl __OSInitSTM
/* 8001B084 00016EC4 48 03 03 AD */ bl SCInit
.global lbl_8001B088
lbl_8001B088:
/* 8001B088 00016EC8 48 03 04 49 */ bl SCCheckStatus
/* 8001B08C 00016ECC 28 03 00 01 */ cmplwi r3, 0x1
/* 8001B090 00016ED0 41 82 FF F8 */ beq lbl_8001B088
/* 8001B094 00016ED4 48 00 C1 BD */ bl __OSInitNet
.global lbl_8001B098
lbl_8001B098:
/* 8001B098 00016ED8 80 0D E3 58 */ lwz r0, __OSInIPL@sda21(r13)
/* 8001B09C 00016EDC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B0A0 00016EE0 40 82 01 D4 */ bne lbl_8001B274
/* 8001B0A4 00016EE4 3C 60 80 00 */ lis r3, 0x8000315C@ha
/* 8001B0A8 00016EE8 88 03 31 5C */ lbz r0, 0x8000315C@l(r3)
/* 8001B0AC 00016EEC 2C 00 00 81 */ cmpwi r0, 0x81
/* 8001B0B0 00016EF0 41 82 00 0C */ beq lbl_8001B0BC
/* 8001B0B4 00016EF4 40 80 00 28 */ bge lbl_8001B0DC
/* 8001B0B8 00016EF8 48 00 00 24 */ b lbl_8001B0DC
.global lbl_8001B0BC
lbl_8001B0BC:
/* 8001B0BC 00016EFC 38 7F 01 F0 */ addi r3, r31, 0x1f0
/* 8001B0C0 00016F00 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001B0C4 00016F04 48 00 28 CD */ bl OSReport
/* 8001B0C8 00016F08 38 BF 02 40 */ addi r5, r31, 0x240
/* 8001B0CC 00016F0C 38 6D 80 80 */ addi r3, r13, "@1849_805564A0"@sda21
/* 8001B0D0 00016F10 38 80 04 88 */ li r4, 0x488
/* 8001B0D4 00016F14 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001B0D8 00016F18 48 16 F7 19 */ bl OSPanic
.global lbl_8001B0DC
lbl_8001B0DC:
/* 8001B0DC 00016F1C 3C 60 80 00 */ lis r3, 0x8000315D@ha
/* 8001B0E0 00016F20 88 03 31 5D */ lbz r0, 0x8000315D@l(r3)
/* 8001B0E4 00016F24 2C 00 00 81 */ cmpwi r0, 0x81
/* 8001B0E8 00016F28 41 82 00 0C */ beq lbl_8001B0F4
/* 8001B0EC 00016F2C 40 80 00 28 */ bge lbl_8001B114
/* 8001B0F0 00016F30 48 00 00 24 */ b lbl_8001B114
.global lbl_8001B0F4
lbl_8001B0F4:
/* 8001B0F4 00016F34 38 7F 02 58 */ addi r3, r31, 0x258
/* 8001B0F8 00016F38 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001B0FC 00016F3C 48 00 28 95 */ bl OSReport
/* 8001B100 00016F40 38 BF 02 40 */ addi r5, r31, 0x240
/* 8001B104 00016F44 38 6D 80 80 */ addi r3, r13, "@1849_805564A0"@sda21
/* 8001B108 00016F48 38 80 04 9A */ li r4, 0x49a
/* 8001B10C 00016F4C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001B110 00016F50 48 16 F6 E1 */ bl OSPanic
.global lbl_8001B114
lbl_8001B114:
/* 8001B114 00016F54 3C 80 C0 00 */ lis r4, 0xC0003144@ha
/* 8001B118 00016F58 3C 60 80 00 */ lis r3, 0x80003188@ha
/* 8001B11C 00016F5C 81 84 31 44 */ lwz r12, 0xC0003144@l(r4)
/* 8001B120 00016F60 81 64 31 40 */ lwz r11, 0x3140(r4)
/* 8001B124 00016F64 55 80 E7 3E */ extrwi r0, r12, 4, 24
/* 8001B128 00016F68 55 87 67 3E */ extrwi r7, r12, 4, 8
/* 8001B12C 00016F6C 1C A0 00 0A */ mulli r5, r0, 0xa
/* 8001B130 00016F70 80 63 31 88 */ lwz r3, 0x80003188@l(r3)
/* 8001B134 00016F74 55 84 07 3E */ clrlwi r4, r12, 28
/* 8001B138 00016F78 83 82 85 48 */ lwz r28, "@1010"@sda21(r2)
/* 8001B13C 00016F7C 55 68 86 3E */ extrwi r8, r11, 8, 8
/* 8001B140 00016F80 99 01 00 11 */ stb r8, 0x11(r1)
/* 8001B144 00016F84 54 60 84 3E */ srwi r0, r3, 16
/* 8001B148 00016F88 7C 84 2A 14 */ add r4, r4, r5
/* 8001B14C 00016F8C 7C 08 00 40 */ cmplw r8, r0
/* 8001B150 00016F90 55 86 A7 3E */ extrwi r6, r12, 4, 16
/* 8001B154 00016F94 38 04 07 D0 */ addi r0, r4, 0x7d0
/* 8001B158 00016F98 55 88 87 3E */ extrwi r8, r12, 4, 12
/* 8001B15C 00016F9C 55 6A 46 3E */ srwi r10, r11, 24
/* 8001B160 00016FA0 55 69 C6 3E */ extrwi r9, r11, 8, 16
/* 8001B164 00016FA4 99 41 00 10 */ stb r10, 0x10(r1)
/* 8001B168 00016FA8 1C E7 00 0A */ mulli r7, r7, 0xa
/* 8001B16C 00016FAC 55 85 C7 3E */ extrwi r5, r12, 4, 20
/* 8001B170 00016FB0 83 A2 85 4C */ lwz r29, "@1012"@sda21(r2)
/* 8001B174 00016FB4 99 21 00 12 */ stb r9, 0x12(r1)
/* 8001B178 00016FB8 55 6A 02 3E */ clrlwi r10, r11, 8
/* 8001B17C 00016FBC 1C 86 00 0A */ mulli r4, r6, 0xa
/* 8001B180 00016FC0 7C C8 3A 14 */ add r6, r8, r7
/* 8001B184 00016FC4 99 61 00 13 */ stb r11, 0x13(r1)
/* 8001B188 00016FC8 7C 85 22 14 */ add r4, r5, r4
/* 8001B18C 00016FCC 98 C1 00 14 */ stb r6, 0x14(r1)
/* 8001B190 00016FD0 98 81 00 15 */ stb r4, 0x15(r1)
/* 8001B194 00016FD4 B0 01 00 16 */ sth r0, 0x16(r1)
/* 8001B198 00016FD8 40 82 00 10 */ bne lbl_8001B1A8
/* 8001B19C 00016FDC 40 82 00 44 */ bne lbl_8001B1E0
/* 8001B1A0 00016FE0 7C 0A 18 40 */ cmplw r10, r3
/* 8001B1A4 00016FE4 40 80 00 3C */ bge lbl_8001B1E0
.global lbl_8001B1A8
lbl_8001B1A8:
/* 8001B1A8 00016FE8 38 7F 02 B0 */ addi r3, r31, 0x2b0
/* 8001B1AC 00016FEC 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001B1B0 00016FF0 48 00 27 E1 */ bl OSReport
/* 8001B1B4 00016FF4 93 81 00 0C */ stw r28, 0xc(r1)
/* 8001B1B8 00016FF8 38 81 00 0C */ addi r4, r1, 0xc
/* 8001B1BC 00016FFC 38 61 00 08 */ addi r3, r1, 0x8
/* 8001B1C0 00017000 38 BF 03 10 */ addi r5, r31, 0x310
/* 8001B1C4 00017004 93 A1 00 08 */ stw r29, 0x8(r1)
/* 8001B1C8 00017008 48 00 4A E9 */ bl OSFatal
/* 8001B1CC 0001700C 38 BF 02 40 */ addi r5, r31, 0x240
/* 8001B1D0 00017010 38 6D 80 80 */ addi r3, r13, "@1849_805564A0"@sda21
/* 8001B1D4 00017014 38 80 04 DB */ li r4, 0x4db
/* 8001B1D8 00017018 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001B1DC 0001701C 48 16 F6 15 */ bl OSPanic
.global lbl_8001B1E0
lbl_8001B1E0:
/* 8001B1E0 00017020 48 01 F0 31 */ bl DVDInit
/* 8001B1E4 00017024 80 0D E3 60 */ lwz r0, __OSIsGcam@sda21(r13)
/* 8001B1E8 00017028 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B1EC 0001702C 41 82 00 18 */ beq lbl_8001B204
/* 8001B1F0 00017030 3C 80 00 01 */ lis r4, 0x1
/* 8001B1F4 00017034 3C 60 80 00 */ lis r3, 0x800030E6@ha
/* 8001B1F8 00017038 38 04 90 00 */ addi r0, r4, -0x7000
/* 8001B1FC 0001703C B0 03 30 E6 */ sth r0, 0x800030E6@l(r3)
/* 8001B200 00017040 48 00 00 34 */ b lbl_8001B234
.global lbl_8001B204
lbl_8001B204:
/* 8001B204 00017044 3C 60 80 00 */ lis r3, 0x800030E6@ha
/* 8001B208 00017048 A0 03 30 E6 */ lhz r0, 0x800030E6@l(r3)
/* 8001B20C 0001704C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B210 00017050 40 82 00 24 */ bne lbl_8001B234
/* 8001B214 00017054 38 7E 00 20 */ addi r3, r30, 0x20
/* 8001B218 00017058 38 80 00 20 */ li r4, 0x20
/* 8001B21C 0001705C 48 00 17 35 */ bl DCInvalidateRange
/* 8001B220 00017060 3C A0 80 02 */ lis r5, InquiryCallback@ha
/* 8001B224 00017064 38 7E 00 40 */ addi r3, r30, 0x40
/* 8001B228 00017068 38 9E 00 20 */ addi r4, r30, 0x20
/* 8001B22C 0001706C 38 A5 AA 90 */ addi r5, r5, InquiryCallback@l
/* 8001B230 00017070 48 02 30 61 */ bl DVDInquiryAsync
.global lbl_8001B234
lbl_8001B234:
/* 8001B234 00017074 80 0D E3 58 */ lwz r0, __OSInIPL@sda21(r13)
/* 8001B238 00017078 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B23C 0001707C 41 82 00 0C */ beq lbl_8001B248
/* 8001B240 00017080 38 00 00 40 */ li r0, 0x40
/* 8001B244 00017084 48 00 00 0C */ b lbl_8001B250
.global lbl_8001B248
lbl_8001B248:
/* 8001B248 00017088 3C 60 80 00 */ lis r3, 0x80003184@ha
/* 8001B24C 0001708C 88 03 31 84 */ lbz r0, 0x80003184@l(r3)
.global lbl_8001B250
lbl_8001B250:
/* 8001B250 00017090 28 00 00 80 */ cmplwi r0, 0x80
/* 8001B254 00017094 40 82 00 20 */ bne lbl_8001B274
/* 8001B258 00017098 80 0D E3 CC */ lwz r0, __OSInReboot@sda21(r13)
/* 8001B25C 0001709C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B260 000170A0 40 82 00 14 */ bne lbl_8001B274
/* 8001B264 000170A4 48 02 4C FD */ bl __DVDCheckDevice
/* 8001B268 000170A8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001B26C 000170AC 40 82 00 08 */ bne lbl_8001B274
/* 8001B270 000170B0 48 00 83 F1 */ bl OSReturnToMenu
.global lbl_8001B274
lbl_8001B274:
/* 8001B274 000170B4 80 0D E3 58 */ lwz r0, __OSInIPL@sda21(r13)
/* 8001B278 000170B8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B27C 000170BC 40 82 00 14 */ bne lbl_8001B290
/* 8001B280 000170C0 80 0D E3 5C */ lwz r0, __OSInNandBoot@sda21(r13)
/* 8001B284 000170C4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B288 000170C8 40 82 00 08 */ bne lbl_8001B290
/* 8001B28C 000170CC 48 00 CD F5 */ bl __OSInitPlayTime
.global lbl_8001B290
lbl_8001B290:
/* 8001B290 000170D0 80 0D E3 58 */ lwz r0, __OSInIPL@sda21(r13)
/* 8001B294 000170D4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B298 000170D8 40 82 00 20 */ bne lbl_8001B2B8
/* 8001B29C 000170DC 80 0D E3 5C */ lwz r0, __OSInNandBoot@sda21(r13)
/* 8001B2A0 000170E0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B2A4 000170E4 40 82 00 14 */ bne lbl_8001B2B8
/* 8001B2A8 000170E8 80 0D E3 CC */ lwz r0, __OSInReboot@sda21(r13)
/* 8001B2AC 000170EC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B2B0 000170F0 40 82 00 08 */ bne lbl_8001B2B8
/* 8001B2B4 000170F4 48 00 BB 2D */ bl __OSStartPlayRecord
.global lbl_8001B2B8
lbl_8001B2B8:
/* 8001B2B8 000170F8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8001B2BC 000170FC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8001B2C0 00017100 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8001B2C4 00017104 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8001B2C8 00017108 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8001B2CC 0001710C 7C 08 03 A6 */ mtlr r0
/* 8001B2D0 00017110 38 21 00 30 */ addi r1, r1, 0x30
/* 8001B2D4 00017114 4E 80 00 20 */ blr
/* 8001B2D8 00017118 00 00 00 00 */ .4byte 0x00000000
/* 8001B2DC 0001711C 00 00 00 00 */ .4byte 0x00000000
.global OSExceptionInit
OSExceptionInit:
/* 8001B2E0 00017120 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8001B2E4 00017124 7C 08 02 A6 */ mflr r0
/* 8001B2E8 00017128 90 01 00 34 */ stw r0, 0x34(r1)
/* 8001B2EC 0001712C 39 61 00 30 */ addi r11, r1, 0x30
/* 8001B2F0 00017130 4B FE C0 39 */ bl lbl_80007328
/* 8001B2F4 00017134 3F 00 80 00 */ lis r24, 0x80000060@ha
/* 8001B2F8 00017138 3F 80 80 02 */ lis r28, OSExceptionVector@ha
/* 8001B2FC 0001713C 80 18 00 60 */ lwz r0, 0x80000060@l(r24)
/* 8001B300 00017140 3C 60 80 02 */ lis r3, lbl_8001B608@ha
/* 8001B304 00017144 3F C0 80 02 */ lis r30, lbl_8001B5D8@ha
/* 8001B308 00017148 87 BE B5 D8 */ lwzu r29, lbl_8001B5D8@l(r30)
/* 8001B30C 0001714C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B310 00017150 3B 9C B5 70 */ addi r28, r28, OSExceptionVector@l
/* 8001B314 00017154 38 63 B6 08 */ addi r3, r3, lbl_8001B608@l
/* 8001B318 00017158 7F 7C 18 50 */ subf r27, r28, r3
/* 8001B31C 0001715C 40 82 00 40 */ bne lbl_8001B35C
/* 8001B320 00017160 3C 80 80 02 */ lis r4, __OSDBIntegrator@ha
/* 8001B324 00017164 3C A0 80 02 */ lis r5, lbl_8001B524@ha
/* 8001B328 00017168 38 84 B5 00 */ addi r4, r4, __OSDBIntegrator@l
/* 8001B32C 0001716C 38 78 00 60 */ addi r3, r24, 0x60
/* 8001B330 00017170 38 A5 B5 24 */ addi r5, r5, lbl_8001B524@l
/* 8001B334 00017174 7E E4 28 50 */ subf r23, r4, r5
/* 8001B338 00017178 7E E5 BB 78 */ mr r5, r23
/* 8001B33C 0001717C 4B FE 8C C5 */ bl memcpy
/* 8001B340 00017180 7E E4 BB 78 */ mr r4, r23
/* 8001B344 00017184 38 78 00 60 */ addi r3, r24, 0x60
/* 8001B348 00017188 48 00 16 99 */ bl DCFlushRangeNoSync
/* 8001B34C 0001718C 7C 00 04 AC */ sync
/* 8001B350 00017190 7E E4 BB 78 */ mr r4, r23
/* 8001B354 00017194 38 78 00 60 */ addi r3, r24, 0x60
/* 8001B358 00017198 48 00 17 19 */ bl ICInvalidateRange
.global lbl_8001B35C
lbl_8001B35C:
/* 8001B35C 0001719C 3C 80 80 02 */ lis r4, __OSDBJump@ha
/* 8001B360 000171A0 3C 60 80 02 */ lis r3, lbl_8001B534@ha
/* 8001B364 000171A4 3F 40 80 42 */ lis r26, __OSExceptionLocations@ha
/* 8001B368 000171A8 3B E0 00 00 */ li r31, 0x0
/* 8001B36C 000171AC 38 84 B5 30 */ addi r4, r4, __OSDBJump@l
/* 8001B370 000171B0 38 63 B5 34 */ addi r3, r3, lbl_8001B534@l
/* 8001B374 000171B4 7E E4 18 50 */ subf r23, r4, r3
/* 8001B378 000171B8 3B 5A 21 A8 */ addi r26, r26, __OSExceptionLocations@l
/* 8001B37C 000171BC 3F 20 60 00 */ lis r25, 0x6000
/* 8001B380 000171C0 3F 00 80 02 */ lis r24, lbl_8001B5C8@ha
.global lbl_8001B384
lbl_8001B384:
/* 8001B384 000171C4 80 6D E3 8C */ lwz r3, BI2DebugFlag@sda21(r13)
/* 8001B388 000171C8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001B38C 000171CC 41 82 00 10 */ beq lbl_8001B39C
/* 8001B390 000171D0 80 03 00 00 */ lwz r0, 0x0(r3)
/* 8001B394 000171D4 28 00 00 02 */ cmplwi r0, 0x2
/* 8001B398 000171D8 40 80 00 AC */ bge lbl_8001B444
.global lbl_8001B39C
lbl_8001B39C:
/* 8001B39C 000171DC 57 E0 06 3E */ clrlwi r0, r31, 24
/* 8001B3A0 000171E0 28 17 00 00 */ cmplwi r23, 0x0
/* 8001B3A4 000171E4 7F A0 03 78 */ or r0, r29, r0
/* 8001B3A8 000171E8 38 77 00 03 */ addi r3, r23, 0x3
/* 8001B3AC 000171EC 90 1E 00 00 */ stw r0, 0x0(r30)
/* 8001B3B0 000171F0 38 98 B5 C8 */ addi r4, r24, lbl_8001B5C8@l
/* 8001B3B4 000171F4 54 63 F0 BE */ srwi r3, r3, 2
/* 8001B3B8 000171F8 40 81 00 54 */ ble lbl_8001B40C
/* 8001B3BC 000171FC 54 60 E8 FF */ srwi. r0, r3, 3
/* 8001B3C0 00017200 7C 09 03 A6 */ mtctr r0
/* 8001B3C4 00017204 41 82 00 34 */ beq lbl_8001B3F8
.global lbl_8001B3C8
lbl_8001B3C8:
/* 8001B3C8 00017208 93 24 00 00 */ stw r25, 0x0(r4)
/* 8001B3CC 0001720C 93 24 00 04 */ stw r25, 0x4(r4)
/* 8001B3D0 00017210 93 24 00 08 */ stw r25, 0x8(r4)
/* 8001B3D4 00017214 93 24 00 0C */ stw r25, 0xc(r4)
/* 8001B3D8 00017218 93 24 00 10 */ stw r25, 0x10(r4)
/* 8001B3DC 0001721C 93 24 00 14 */ stw r25, 0x14(r4)
/* 8001B3E0 00017220 93 24 00 18 */ stw r25, 0x18(r4)
/* 8001B3E4 00017224 93 24 00 1C */ stw r25, 0x1c(r4)
/* 8001B3E8 00017228 38 84 00 20 */ addi r4, r4, 0x20
/* 8001B3EC 0001722C 42 00 FF DC */ bdnz lbl_8001B3C8
/* 8001B3F0 00017230 70 63 00 07 */ andi. r3, r3, 0x7
/* 8001B3F4 00017234 41 82 00 18 */ beq lbl_8001B40C
.global lbl_8001B3F8
lbl_8001B3F8:
/* 8001B3F8 00017238 7C 69 03 A6 */ mtctr r3
/* 8001B3FC 0001723C 60 00 00 00 */ nop
.global lbl_8001B400
lbl_8001B400:
/* 8001B400 00017240 93 24 00 00 */ stw r25, 0x0(r4)
/* 8001B404 00017244 38 84 00 04 */ addi r4, r4, 0x4
/* 8001B408 00017248 42 00 FF F8 */ bdnz lbl_8001B400
.global lbl_8001B40C
lbl_8001B40C:
/* 8001B40C 0001724C 57 E0 15 BA */ rlwinm r0, r31, 2, 22, 29
/* 8001B410 00017250 7F 84 E3 78 */ mr r4, r28
/* 8001B414 00017254 7C 7A 00 2E */ lwzx r3, r26, r0
/* 8001B418 00017258 7F 65 DB 78 */ mr r5, r27
/* 8001B41C 0001725C 3E C3 80 00 */ addis r22, r3, 0x8000
/* 8001B420 00017260 7E C3 B3 78 */ mr r3, r22
/* 8001B424 00017264 4B FE 8B DD */ bl memcpy
/* 8001B428 00017268 7E C3 B3 78 */ mr r3, r22
/* 8001B42C 0001726C 7F 64 DB 78 */ mr r4, r27
/* 8001B430 00017270 48 00 15 B1 */ bl DCFlushRangeNoSync
/* 8001B434 00017274 7C 00 04 AC */ sync
/* 8001B438 00017278 7E C3 B3 78 */ mr r3, r22
/* 8001B43C 0001727C 7F 64 DB 78 */ mr r4, r27
/* 8001B440 00017280 48 00 16 31 */ bl ICInvalidateRange
.global lbl_8001B444
lbl_8001B444:
/* 8001B444 00017284 3B FF 00 01 */ addi r31, r31, 0x1
/* 8001B448 00017288 28 1F 00 0F */ cmplwi r31, 0xf
/* 8001B44C 0001728C 41 80 FF 38 */ blt lbl_8001B384
/* 8001B450 00017290 3C 60 80 00 */ lis r3, 0x80003000@ha
/* 8001B454 00017294 3C 80 80 02 */ lis r4, OSDefaultExceptionHandler@ha
/* 8001B458 00017298 38 63 30 00 */ addi r3, r3, 0x80003000@l
/* 8001B45C 0001729C 90 6D E3 7C */ stw r3, OSExceptionTable@sda21(r13)
/* 8001B460 000172A0 38 84 B6 10 */ addi r4, r4, OSDefaultExceptionHandler@l
/* 8001B464 000172A4 39 61 00 30 */ addi r11, r1, 0x30
/* 8001B468 000172A8 90 83 00 00 */ stw r4, 0x0(r3)
/* 8001B46C 000172AC 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B470 000172B0 90 83 00 04 */ stw r4, 0x4(r3)
/* 8001B474 000172B4 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B478 000172B8 90 83 00 08 */ stw r4, 0x8(r3)
/* 8001B47C 000172BC 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B480 000172C0 90 83 00 0C */ stw r4, 0xc(r3)
/* 8001B484 000172C4 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B488 000172C8 90 83 00 10 */ stw r4, 0x10(r3)
/* 8001B48C 000172CC 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B490 000172D0 90 83 00 14 */ stw r4, 0x14(r3)
/* 8001B494 000172D4 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B498 000172D8 90 83 00 18 */ stw r4, 0x18(r3)
/* 8001B49C 000172DC 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B4A0 000172E0 90 83 00 1C */ stw r4, 0x1c(r3)
/* 8001B4A4 000172E4 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B4A8 000172E8 90 83 00 20 */ stw r4, 0x20(r3)
/* 8001B4AC 000172EC 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B4B0 000172F0 90 83 00 24 */ stw r4, 0x24(r3)
/* 8001B4B4 000172F4 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B4B8 000172F8 90 83 00 28 */ stw r4, 0x28(r3)
/* 8001B4BC 000172FC 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B4C0 00017300 90 83 00 2C */ stw r4, 0x2c(r3)
/* 8001B4C4 00017304 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B4C8 00017308 90 83 00 30 */ stw r4, 0x30(r3)
/* 8001B4CC 0001730C 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B4D0 00017310 90 83 00 34 */ stw r4, 0x34(r3)
/* 8001B4D4 00017314 80 6D E3 7C */ lwz r3, OSExceptionTable@sda21(r13)
/* 8001B4D8 00017318 90 83 00 38 */ stw r4, 0x38(r3)
/* 8001B4DC 0001731C 93 BE 00 00 */ stw r29, 0x0(r30)
/* 8001B4E0 00017320 4B FE BE 95 */ bl lbl_80007374
/* 8001B4E4 00017324 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8001B4E8 00017328 7C 08 03 A6 */ mtlr r0
/* 8001B4EC 0001732C 38 21 00 30 */ addi r1, r1, 0x30
/* 8001B4F0 00017330 4E 80 00 20 */ blr
/* 8001B4F4 00017334 00 00 00 00 */ .4byte 0x00000000
/* 8001B4F8 00017338 00 00 00 00 */ .4byte 0x00000000
/* 8001B4FC 0001733C 00 00 00 00 */ .4byte 0x00000000
.global __OSDBIntegrator
__OSDBIntegrator:
/* 8001B500 00017340 38 A0 00 40 */ li r5, 0x40
/* 8001B504 00017344 7C 68 02 A6 */ mflr r3
/* 8001B508 00017348 90 65 00 0C */ stw r3, 0xc(r5)
/* 8001B50C 0001734C 80 65 00 08 */ lwz r3, 0x8(r5)
/* 8001B510 00017350 64 63 80 00 */ oris r3, r3, 0x8000
/* 8001B514 00017354 7C 68 03 A6 */ mtlr r3
/* 8001B518 00017358 38 60 00 30 */ li r3, 0x30
/* 8001B51C 0001735C 7C 60 01 24 */ mtmsr r3
/* 8001B520 00017360 4E 80 00 20 */ blr
.global lbl_8001B524
lbl_8001B524:
/* 8001B524 00017364 00 00 00 00 */ .4byte 0x00000000
/* 8001B528 00017368 00 00 00 00 */ .4byte 0x00000000
/* 8001B52C 0001736C 00 00 00 00 */ .4byte 0x00000000
.global __OSDBJump
__OSDBJump:
/* 8001B530 00017370 48 00 00 63 */ bla 0x60
.global lbl_8001B534
lbl_8001B534:
/* 8001B534 00017374 00 00 00 00 */ .4byte 0x00000000
/* 8001B538 00017378 00 00 00 00 */ .4byte 0x00000000
/* 8001B53C 0001737C 00 00 00 00 */ .4byte 0x00000000
.global __OSSetExceptionHandler
__OSSetExceptionHandler:
/* 8001B540 00017380 80 AD E3 7C */ lwz r5, OSExceptionTable@sda21(r13)
/* 8001B544 00017384 54 60 15 BA */ rlwinm r0, r3, 2, 22, 29
/* 8001B548 00017388 7C 65 00 2E */ lwzx r3, r5, r0
/* 8001B54C 0001738C 7C 85 01 2E */ stwx r4, r5, r0
/* 8001B550 00017390 4E 80 00 20 */ blr
/* 8001B554 00017394 00 00 00 00 */ .4byte 0x00000000
/* 8001B558 00017398 00 00 00 00 */ .4byte 0x00000000
/* 8001B55C 0001739C 00 00 00 00 */ .4byte 0x00000000
.global __OSGetExceptionHandler
__OSGetExceptionHandler:
/* 8001B560 000173A0 80 8D E3 7C */ lwz r4, OSExceptionTable@sda21(r13)
/* 8001B564 000173A4 54 60 15 BA */ rlwinm r0, r3, 2, 22, 29
/* 8001B568 000173A8 7C 64 00 2E */ lwzx r3, r4, r0
/* 8001B56C 000173AC 4E 80 00 20 */ blr
.global OSExceptionVector
OSExceptionVector:
/* 8001B570 000173B0 7C 90 43 A6 */ mtsprg 0, r4
/* 8001B574 000173B4 80 80 00 C0 */ lwz r4, 0xc0(r0)
/* 8001B578 000173B8 90 64 00 0C */ stw r3, 0xc(r4)
/* 8001B57C 000173BC 7C 70 42 A6 */ mfsprg r3, 0
/* 8001B580 000173C0 90 64 00 10 */ stw r3, 0x10(r4)
/* 8001B584 000173C4 90 A4 00 14 */ stw r5, 0x14(r4)
/* 8001B588 000173C8 A0 64 01 A2 */ lhz r3, 0x1a2(r4)
/* 8001B58C 000173CC 60 63 00 02 */ ori r3, r3, 0x2
/* 8001B590 000173D0 B0 64 01 A2 */ sth r3, 0x1a2(r4)
/* 8001B594 000173D4 7C 60 00 26 */ mfcr r3
/* 8001B598 000173D8 90 64 00 80 */ stw r3, 0x80(r4)
/* 8001B59C 000173DC 7C 68 02 A6 */ mflr r3
/* 8001B5A0 000173E0 90 64 00 84 */ stw r3, 0x84(r4)
/* 8001B5A4 000173E4 7C 69 02 A6 */ mfctr r3
/* 8001B5A8 000173E8 90 64 00 88 */ stw r3, 0x88(r4)
/* 8001B5AC 000173EC 7C 61 02 A6 */ mfxer r3
/* 8001B5B0 000173F0 90 64 00 8C */ stw r3, 0x8c(r4)
/* 8001B5B4 000173F4 7C 7A 02 A6 */ mfsrr0 r3
/* 8001B5B8 000173F8 90 64 01 98 */ stw r3, 0x198(r4)
/* 8001B5BC 000173FC 7C 7B 02 A6 */ mfsrr1 r3
/* 8001B5C0 00017400 90 64 01 9C */ stw r3, 0x19c(r4)
/* 8001B5C4 00017404 7C 65 1B 78 */ mr r5, r3
.global lbl_8001B5C8
lbl_8001B5C8:
/* 8001B5C8 00017408 60 00 00 00 */ nop
/* 8001B5CC 0001740C 7C 60 00 A6 */ mfmsr r3
/* 8001B5D0 00017410 60 63 00 30 */ ori r3, r3, 0x30
/* 8001B5D4 00017414 7C 7B 03 A6 */ mtsrr1 r3
.global lbl_8001B5D8
lbl_8001B5D8:
/* 8001B5D8 00017418 38 60 00 00 */ li r3, 0x0
/* 8001B5DC 0001741C 80 80 00 D4 */ lwz r4, 0xd4(r0)
/* 8001B5E0 00017420 54 A5 07 BD */ rlwinm. r5, r5, 0, 30, 30
/* 8001B5E4 00017424 40 82 00 14 */ bne lbl_8001B5F8
/* 8001B5E8 00017428 3C A0 80 02 */ lis r5, OSDefaultExceptionHandler@ha
/* 8001B5EC 0001742C 38 A5 B6 10 */ addi r5, r5, OSDefaultExceptionHandler@l
/* 8001B5F0 00017430 7C BA 03 A6 */ mtsrr0 r5
/* 8001B5F4 00017434 4C 00 00 64 */ rfi
.global lbl_8001B5F8
lbl_8001B5F8:
/* 8001B5F8 00017438 54 65 15 BA */ rlwinm r5, r3, 2, 22, 29
/* 8001B5FC 0001743C 80 A5 30 00 */ lwz r5, 0x3000(r5)
/* 8001B600 00017440 7C BA 03 A6 */ mtsrr0 r5
/* 8001B604 00017444 4C 00 00 64 */ rfi
.global lbl_8001B608
lbl_8001B608:
/* 8001B608 00017448 60 00 00 00 */ nop
/* 8001B60C 0001744C 00 00 00 00 */ .4byte 0x00000000
.global OSDefaultExceptionHandler
OSDefaultExceptionHandler:
/* 8001B610 00017450 90 04 00 00 */ stw r0, 0x0(r4)
/* 8001B614 00017454 90 24 00 04 */ stw r1, 0x4(r4)
/* 8001B618 00017458 90 44 00 08 */ stw r2, 0x8(r4)
/* 8001B61C 0001745C BC C4 00 18 */ stmw r6, 0x18(r4)
/* 8001B620 00017460 7C 11 E2 A6 */ mfspr r0, GQR1
/* 8001B624 00017464 90 04 01 A8 */ stw r0, 0x1a8(r4)
/* 8001B628 00017468 7C 12 E2 A6 */ mfspr r0, GQR2
/* 8001B62C 0001746C 90 04 01 AC */ stw r0, 0x1ac(r4)
/* 8001B630 00017470 7C 13 E2 A6 */ mfspr r0, GQR3
/* 8001B634 00017474 90 04 01 B0 */ stw r0, 0x1b0(r4)
/* 8001B638 00017478 7C 14 E2 A6 */ mfspr r0, GQR4
/* 8001B63C 0001747C 90 04 01 B4 */ stw r0, 0x1b4(r4)
/* 8001B640 00017480 7C 15 E2 A6 */ mfspr r0, GQR5
/* 8001B644 00017484 90 04 01 B8 */ stw r0, 0x1b8(r4)
/* 8001B648 00017488 7C 16 E2 A6 */ mfspr r0, GQR6
/* 8001B64C 0001748C 90 04 01 BC */ stw r0, 0x1bc(r4)
/* 8001B650 00017490 7C 17 E2 A6 */ mfspr r0, GQR7
/* 8001B654 00017494 90 04 01 C0 */ stw r0, 0x1c0(r4)
/* 8001B658 00017498 7C B2 02 A6 */ mfdsisr r5
/* 8001B65C 0001749C 7C D3 02 A6 */ mfdar r6
/* 8001B660 000174A0 94 21 FF F8 */ stwu r1, -0x8(r1)
/* 8001B664 000174A4 48 00 26 4C */ b __OSUnhandledException
/* 8001B668 000174A8 00 00 00 00 */ .4byte 0x00000000
/* 8001B66C 000174AC 00 00 00 00 */ .4byte 0x00000000
.global __OSPSInit
__OSPSInit:
/* 8001B670 000174B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001B674 000174B4 7C 08 02 A6 */ mflr r0
/* 8001B678 000174B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001B67C 000174BC 4B FF EB 85 */ bl PPCMfhid2
/* 8001B680 000174C0 64 63 A0 00 */ oris r3, r3, 0xa000
/* 8001B684 000174C4 4B FF EB 8D */ bl PPCMthid2
/* 8001B688 000174C8 48 00 14 29 */ bl ICFlashInvalidate
/* 8001B68C 000174CC 7C 00 04 AC */ sync
/* 8001B690 000174D0 38 60 00 00 */ li r3, 0x0
/* 8001B694 000174D4 7C 70 E3 A6 */ mtspr GQR0, r3
/* 8001B698 000174D8 7C 71 E3 A6 */ mtspr GQR1, r3
/* 8001B69C 000174DC 7C 72 E3 A6 */ mtspr GQR2, r3
/* 8001B6A0 000174E0 7C 73 E3 A6 */ mtspr GQR3, r3
/* 8001B6A4 000174E4 7C 74 E3 A6 */ mtspr GQR4, r3
/* 8001B6A8 000174E8 7C 75 E3 A6 */ mtspr GQR5, r3
/* 8001B6AC 000174EC 7C 76 E3 A6 */ mtspr GQR6, r3
/* 8001B6B0 000174F0 7C 77 E3 A6 */ mtspr GQR7, r3
/* 8001B6B4 000174F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001B6B8 000174F8 7C 08 03 A6 */ mtlr r0
/* 8001B6BC 000174FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8001B6C0 00017500 4E 80 00 20 */ blr
/* 8001B6C4 00017504 00 00 00 00 */ .4byte 0x00000000
/* 8001B6C8 00017508 00 00 00 00 */ .4byte 0x00000000
/* 8001B6CC 0001750C 00 00 00 00 */ .4byte 0x00000000
.global __OSGetDIConfig
__OSGetDIConfig:
/* 8001B6D0 00017510 3C 60 CD 00 */ lis r3, 0xCD006024@ha
/* 8001B6D4 00017514 80 03 60 24 */ lwz r0, 0xCD006024@l(r3)
/* 8001B6D8 00017518 54 03 06 3E */ clrlwi r3, r0, 24
/* 8001B6DC 0001751C 4E 80 00 20 */ blr
.global OSRegisterVersion
OSRegisterVersion:
/* 8001B6E0 00017520 7C 64 1B 78 */ mr r4, r3
/* 8001B6E4 00017524 38 6D 80 7C */ addi r3, r13, "@1847_8055649C"@sda21
/* 8001B6E8 00017528 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001B6EC 0001752C 48 00 22 A4 */ b OSReport
.global OSGetAppGamename
OSGetAppGamename:
/* 8001B6F0 00017530 80 0D E3 58 */ lwz r0, __OSInIPL@sda21(r13)
/* 8001B6F4 00017534 3C 60 80 00 */ lis r3, 0x80003194@ha
/* 8001B6F8 00017538 38 C3 31 94 */ addi r6, r3, 0x80003194@l
/* 8001B6FC 0001753C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B700 00017540 41 82 00 0C */ beq lbl_8001B70C
/* 8001B704 00017544 80 CD 80 90 */ lwz r6, AppGameNameForSysMenu@sda21(r13)
/* 8001B708 00017548 48 00 00 38 */ b lbl_8001B740
.global lbl_8001B70C
lbl_8001B70C:
/* 8001B70C 0001754C 88 63 31 94 */ lbz r3, 0x3194(r3)
/* 8001B710 00017550 7C 60 07 74 */ extsb r0, r3
/* 8001B714 00017554 2C 00 00 30 */ cmpwi r0, 0x30
/* 8001B718 00017558 41 80 00 20 */ blt lbl_8001B738
/* 8001B71C 0001755C 2C 00 00 39 */ cmpwi r0, 0x39
/* 8001B720 00017560 40 81 00 0C */ ble lbl_8001B72C
/* 8001B724 00017564 2C 00 00 41 */ cmpwi r0, 0x41
/* 8001B728 00017568 41 80 00 10 */ blt lbl_8001B738
.global lbl_8001B72C
lbl_8001B72C:
/* 8001B72C 0001756C 7C 60 07 74 */ extsb r0, r3
/* 8001B730 00017570 2C 00 00 5A */ cmpwi r0, 0x5a
/* 8001B734 00017574 40 81 00 0C */ ble lbl_8001B740
.global lbl_8001B738
lbl_8001B738:
/* 8001B738 00017578 3C 60 80 00 */ lis r3, 0x80003180@ha
/* 8001B73C 0001757C 38 C3 31 80 */ addi r6, r3, 0x80003180@l
.global lbl_8001B740
lbl_8001B740:
/* 8001B740 00017580 88 06 00 00 */ lbz r0, 0x0(r6)
/* 8001B744 00017584 38 AD E3 80 */ addi r5, r13, GameNameBuffer@sda21
/* 8001B748 00017588 98 0D E3 80 */ stb r0, GameNameBuffer@sda21(r13)
/* 8001B74C 0001758C 38 00 00 00 */ li r0, 0x0
/* 8001B750 00017590 88 66 00 01 */ lbz r3, 0x1(r6)
/* 8001B754 00017594 98 65 00 01 */ stb r3, 0x1(r5)
/* 8001B758 00017598 38 6D E3 80 */ addi r3, r13, GameNameBuffer@sda21
/* 8001B75C 0001759C 88 86 00 02 */ lbz r4, 0x2(r6)
/* 8001B760 000175A0 98 85 00 02 */ stb r4, 0x2(r5)
/* 8001B764 000175A4 88 86 00 03 */ lbz r4, 0x3(r6)
/* 8001B768 000175A8 98 85 00 03 */ stb r4, 0x3(r5)
/* 8001B76C 000175AC 98 05 00 04 */ stb r0, 0x4(r5)
/* 8001B770 000175B0 4E 80 00 20 */ blr
/* 8001B774 000175B4 00 00 00 00 */ .4byte 0x00000000
/* 8001B778 000175B8 00 00 00 00 */ .4byte 0x00000000
/* 8001B77C 000175BC 00 00 00 00 */ .4byte 0x00000000
.global OSGetAppType
OSGetAppType:
/* 8001B780 000175C0 80 0D E3 58 */ lwz r0, __OSInIPL@sda21(r13)
/* 8001B784 000175C4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001B788 000175C8 41 82 00 0C */ beq lbl_8001B794
/* 8001B78C 000175CC 38 60 00 40 */ li r3, 0x40
/* 8001B790 000175D0 4E 80 00 20 */ blr
.global lbl_8001B794
lbl_8001B794:
/* 8001B794 000175D4 3C 60 80 00 */ lis r3, 0x80003184@ha
/* 8001B798 000175D8 88 63 31 84 */ lbz r3, 0x80003184@l(r3)
/* 8001B79C 000175DC 4E 80 00 20 */ blr
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global "@1_80421DD8"
"@1_80421DD8":
.4byte 0x3C3C2052
.4byte 0x564C5F53
.4byte 0x444B202D
.4byte 0x204F5320
.4byte 0x0972656C
.4byte 0x65617365
.4byte 0x20627569
.4byte 0x6C643A20
.4byte 0x41756720
.4byte 0x32332032
.4byte 0x30313020
.4byte 0x31373A33
.4byte 0x333A3036
.4byte 0x20283078
.4byte 0x34333032
.4byte 0x5F313435
.4byte 0x29203E3E
.4byte 0
.4byte 0x0A526576
.4byte 0x6F6C7574
.4byte 0x696F6E20
.4byte 0x4F530A00
.4byte 0x4B65726E
.4byte 0x656C2062
.4byte 0x75696C74
.4byte 0x203A2025
.4byte 0x73202573
.4byte 0x0A000000
.4byte 0x41756720
.4byte 0x32332032
.4byte 0x30313000
.4byte 0x31373A33
.4byte 0x333A3036
.4byte 0
.4byte 0x436F6E73
.4byte 0x6F6C6520
.4byte 0x54797065
.4byte 0x203A2000
.4byte 0x5072652D
.4byte 0x70726F64
.4byte 0x75637469
.4byte 0x6F6E2062
.4byte 0x6F617264
.4byte 0x20310A00
.4byte 0x5072652D
.4byte 0x70726F64
.4byte 0x75637469
.4byte 0x6F6E2062
.4byte 0x6F617264
.4byte 0x20322D31
.4byte 0x0A000000
.4byte 0x5072652D
.4byte 0x70726F64
.4byte 0x75637469
.4byte 0x6F6E2062
.4byte 0x6F617264
.4byte 0x20322D32
.4byte 0x0A000000
.4byte 0x52657461
.4byte 0x696C2025
.4byte 0x640A0000
.4byte 0x4E444556
.4byte 0x20322E31
.4byte 0x0A000000
.4byte 0x4E444556
.4byte 0x20322E30
.4byte 0x0A000000
.4byte 0x4E444556
.4byte 0x20312E32
.4byte 0x0A000000
.4byte 0x4E444556
.4byte 0x20312E31
.4byte 0x0A000000
.4byte 0x4E444556
.4byte 0x20312E30
.4byte 0x0A000000
.4byte 0x5265766F
.4byte 0x6C757469
.4byte 0x6F6E2045
.4byte 0x6D756C61
.4byte 0x746F720A
.4byte 0
.4byte 0x456D756C
.4byte 0x6174696F
.4byte 0x6E20706C
.4byte 0x6174666F
.4byte 0x726D2028
.4byte 0x25303878
.4byte 0x290A0000
.4byte 0x54444556
.4byte 0x2D626173
.4byte 0x65642065
.4byte 0x6D756C61
.4byte 0x74696F6E
.4byte 0x20485725
.4byte 0x640A0000
.4byte 0x4669726D
.4byte 0x77617265
.4byte 0x20202020
.4byte 0x203A2025
.4byte 0x642E2564
.4byte 0x2E256420
.4byte 0
.4byte 0x2825642F
.4byte 0x25642F25
.4byte 0x64290A00
.4byte 0x4D656D6F
.4byte 0x72792025
.4byte 0x64204D42
.4byte 0x0A000000
.4byte 0x4D454D31
.4byte 0x20417265
.4byte 0x6E61203A
.4byte 0x20307825
.4byte 0x78202D20
.4byte 0x30782578
.4byte 0x0A000000
.4byte 0x4D454D32
.4byte 0x20417265
.4byte 0x6E61203A
.4byte 0x20307825
.4byte 0x78202D20
.4byte 0x30782578
.4byte 0x0A000000
.4byte 0x4F532045
.4byte 0x52524F52
.4byte 0x3A20626F
.4byte 0x6F742070
.4byte 0x726F6772
.4byte 0x616D2069
.4byte 0x73206E6F
.4byte 0x7420666F
.4byte 0x72205256
.4byte 0x4C207461
.4byte 0x72676574
.4byte 0x2E20506C
.4byte 0x65617365
.4byte 0x20757365
.4byte 0x20636F72
.4byte 0x72656374
.4byte 0x20626F6F
.4byte 0x74207072
.4byte 0x6F677261
.4byte 0x6D2E0A00
.4byte 0x4661696C
.4byte 0x65642074
.4byte 0x6F207275
.4byte 0x6E206170
.4byte 0x70000000
.4byte 0
.4byte 0x4F532045
.4byte 0x52524F52
.4byte 0x3A206170
.4byte 0x706C6F61
.4byte 0x6465725B
.4byte 0x445D2E69
.4byte 0x6D672069
.4byte 0x73206E6F
.4byte 0x7420666F
.4byte 0x72205256
.4byte 0x4C207461
.4byte 0x72676574
.4byte 0x2E20506C
.4byte 0x65617365
.4byte 0x20757365
.4byte 0x20636F72
.4byte 0x72656374
.4byte 0x20617070
.4byte 0x6C6F6164
.4byte 0x65725B44
.4byte 0x5D2E696D
.4byte 0x672E0A00
.4byte 0x4F532045
.4byte 0x52524F52
.4byte 0x3A205468
.4byte 0x69732066
.4byte 0x69726D77
.4byte 0x61726520
.4byte 0x69732061
.4byte 0x6E20696D
.4byte 0x70726F70
.4byte 0x65722076
.4byte 0x65727369
.4byte 0x6F6E2066
.4byte 0x6F722074
.4byte 0x68697320
.4byte 0x53444B2E
.4byte 0x20506C65
.4byte 0x61736520
.4byte 0x75736520
.4byte 0x6120636F
.4byte 0x72726563
.4byte 0x74204669
.4byte 0x726D7761
.4byte 0x72652E0A
.4byte 0
.4byte 0x0A0A4552
.4byte 0x524F5220
.4byte 0x23303032
.4byte 0x0A416E20
.4byte 0x6572726F
.4byte 0x72206861
.4byte 0x73206F63
.4byte 0x63757272
.4byte 0x65642E0A
.4byte 0x50726573
.4byte 0x73207468
.4byte 0x6520456A
.4byte 0x65637420
.4byte 0x42757474
.4byte 0x6F6E2C20
.4byte 0x72656D6F
.4byte 0x76652074
.4byte 0x68650A47
.4byte 0x616D6520
.4byte 0x44697363
.4byte 0x2C20616E
.4byte 0x64207475
.4byte 0x726E206F
.4byte 0x66662074
.4byte 0x68652070
.4byte 0x6F776572
.4byte 0x20746F20
.4byte 0x0A746865
.4byte 0x20636F6E
.4byte 0x736F6C65
.4byte 0x2E200A50
.4byte 0x6C656173
.4byte 0x65207265
.4byte 0x61642074
.4byte 0x68652057
.4byte 0x6969204F
.4byte 0x70657261
.4byte 0x74696F6E
.4byte 0x73204D61
.4byte 0x6E75616C
.4byte 0x200A666F
.4byte 0x72206675
.4byte 0x72746865
.4byte 0x7220696E
.4byte 0x73747275
.4byte 0x6374696F
.4byte 0x6E732E0A
.4byte 0
.global __OSExceptionLocations
__OSExceptionLocations:
.4byte 0x00000100
.4byte 0x00000200
.4byte 0x00000300
.4byte 0x00000400
.4byte 0x00000500
.4byte 0x00000600
.4byte 0x00000700
.4byte 0x00000800
.4byte 0x00000900
.4byte 0x00000C00
.4byte 0x00000D00
.4byte 0x00000F00
.4byte 0x00001300
.4byte 0x00001400
.4byte 0x00001700
.4byte 0
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global __OSRebootParams
__OSRebootParams:
.skip 0x20
.global DriveInfo
DriveInfo:
.skip 0x50
.include "macros.inc"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
.global __OSVersion
__OSVersion:
.4byte "@1_80421DD8"
.global "@1784"
"@1784":
.4byte 0x52564120
.4byte 0x310A0000
.global "@1794_80556494"
"@1794_80556494":
.4byte 0x25303878
.4byte 0x0A000000
.global "@1847_8055649C"
"@1847_8055649C":
.4byte 0x25730A00
.global "@1849_805564A0"
"@1849_805564A0":
.4byte 0x4F532E63
.4byte 0
.global "@1187"
"@1187":
.4byte 0x48414541
.4byte 0
.global AppGameNameForSysMenu
AppGameNameForSysMenu:
.4byte "@1187"
.4byte 0
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global __OSInIPL
__OSInIPL:
.skip 0x4
.global __OSInNandBoot
__OSInNandBoot:
.skip 0x4
.global __OSIsGcam
__OSIsGcam:
.skip 0x8
.global ZeroF
ZeroF:
.skip 0x8
.global ZeroPS
ZeroPS:
.skip 0x8
.global AreWeInitialized
AreWeInitialized:
.skip 0x4
.global OSExceptionTable
OSExceptionTable:
.skip 0x4
.global GameNameBuffer
GameNameBuffer:
.skip 0x8
.global BI2DebugFlagHolder
BI2DebugFlagHolder:
.skip 0x4
.global BI2DebugFlag
BI2DebugFlag:
.skip 0x4
.global BootInfo_8055C7B0
BootInfo_8055C7B0:
.skip 0x8
.global __OSStartTime
__OSStartTime:
.skip 0x4
.global lbl_8055C7BC
lbl_8055C7BC:
.skip 0x4
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@1010"
"@1010":
.4byte 0x0000FF00
.global "@1012"
"@1012":
.4byte 0xFFFFFF00