prime/asm/Dolphin/os/OSFatal.s

872 lines
42 KiB
ArmAsm
Raw Normal View History

2022-04-02 21:03:04 +00:00
.include "macros.inc"
2022-04-08 05:17:01 +00:00
.section .bss
.global lbl_80541298
lbl_80541298:
.skip 0x2E8
.section .sdata
.global lbl_805A8B40
lbl_805A8B40:
.incbin "baserom.dol", 0x3F64E0, 0x8
.section .sdata2
.global lbl_805AEC18
lbl_805AEC18:
.incbin "baserom.dol", 0x3FB4B8, 0x4
.global lbl_805AEC1C
lbl_805AEC1C:
.incbin "baserom.dol", 0x3FB4BC, 0x4
.global lbl_805AEC20
lbl_805AEC20:
.incbin "baserom.dol", 0x3FB4C0, 0x4
.global lbl_805AEC24
lbl_805AEC24:
.incbin "baserom.dol", 0x3FB4C4, 0x4
.global lbl_805AEC28
lbl_805AEC28:
.incbin "baserom.dol", 0x3FB4C8, 0x4
.global lbl_805AEC2C
lbl_805AEC2C:
.incbin "baserom.dol", 0x3FB4CC, 0x4
.global lbl_805AEC30
lbl_805AEC30:
.incbin "baserom.dol", 0x3FB4D0, 0x4
.global lbl_805AEC34
lbl_805AEC34:
.incbin "baserom.dol", 0x3FB4D4, 0x4
.global lbl_805AEC38
lbl_805AEC38:
.incbin "baserom.dol", 0x3FB4D8, 0x4
.global lbl_805AEC3C
lbl_805AEC3C:
.incbin "baserom.dol", 0x3FB4DC, 0x4
.global lbl_805AEC40
lbl_805AEC40:
.incbin "baserom.dol", 0x3FB4E0, 0x4
.global lbl_805AEC44
lbl_805AEC44:
.incbin "baserom.dol", 0x3FB4E4, 0x4
2022-04-02 21:03:04 +00:00
.section .text, "ax"
.global ScreenReport
ScreenReport:
/* 80380058 0037CFB8 7C 08 02 A6 */ mflr r0
/* 8038005C 0037CFBC 54 AB 04 3E */ clrlwi r11, r5, 0x10
/* 80380060 0037CFC0 90 01 00 04 */ stw r0, 4(r1)
/* 80380064 0037CFC4 3C A0 80 81 */ lis r5, 0x80808081@ha
/* 80380068 0037CFC8 94 21 FE 60 */ stwu r1, -0x1a0(r1)
/* 8038006C 0037CFCC BE 01 01 60 */ stmw r16, 0x160(r1)
/* 80380070 0037CFD0 54 95 04 3E */ clrlwi r21, r4, 0x10
/* 80380074 0037CFD4 3C 80 88 89 */ lis r4, 0x88888889@ha
/* 80380078 0037CFD8 3B 43 00 00 */ addi r26, r3, 0
/* 8038007C 0037CFDC 3B 66 00 00 */ addi r27, r6, 0
/* 80380080 0037CFE0 3B 87 00 00 */ addi r28, r7, 0
/* 80380084 0037CFE4 3B A8 00 00 */ addi r29, r8, 0
/* 80380088 0037CFE8 3B C9 00 00 */ addi r30, r9, 0
/* 8038008C 0037CFEC 3A 0B FF E8 */ addi r16, r11, -24
/* 80380090 0037CFF0 3A D5 FF D0 */ addi r22, r21, -48
/* 80380094 0037CFF4 3B 25 80 81 */ addi r25, r5, 0x80808081@l
/* 80380098 0037CFF8 3B 04 88 89 */ addi r24, r4, 0x88888889@l
/* 8038009C 0037CFFC 3A E1 00 3C */ addi r23, r1, 0x3c
lbl_803800A0:
/* 803800A0 0037D000 7C 10 E8 00 */ cmpw r16, r29
/* 803800A4 0037D004 41 80 03 7C */ blt lbl_80380420
/* 803800A8 0037D008 7C 1D A9 D6 */ mullw r0, r29, r21
/* 803800AC 0037D00C 7C 1C 02 14 */ add r0, r28, r0
/* 803800B0 0037D010 54 00 08 3C */ slwi r0, r0, 1
/* 803800B4 0037D014 3B FC 00 00 */ addi r31, r28, 0
/* 803800B8 0037D018 7E 7A 02 14 */ add r19, r26, r0
/* 803800BC 0037D01C 48 00 03 58 */ b lbl_80380414
lbl_803800C0:
/* 803800C0 0037D020 7C 60 07 74 */ extsb r0, r3
/* 803800C4 0037D024 2C 00 00 0A */ cmpwi r0, 0xa
/* 803800C8 0037D028 40 82 00 10 */ bne lbl_803800D8
/* 803800CC 0037D02C 7F BD F2 14 */ add r29, r29, r30
/* 803800D0 0037D030 39 4A 00 01 */ addi r10, r10, 1
/* 803800D4 0037D034 4B FF FF CC */ b lbl_803800A0
lbl_803800D8:
/* 803800D8 0037D038 7C 16 F8 00 */ cmpw r22, r31
/* 803800DC 0037D03C 40 80 00 0C */ bge lbl_803800E8
/* 803800E0 0037D040 7F BD F2 14 */ add r29, r29, r30
/* 803800E4 0037D044 4B FF FF BC */ b lbl_803800A0
lbl_803800E8:
/* 803800E8 0037D048 38 00 00 03 */ li r0, 3
/* 803800EC 0037D04C 7C 09 03 A6 */ mtctr r0
/* 803800F0 0037D050 38 80 00 00 */ li r4, 0
/* 803800F4 0037D054 38 A0 00 00 */ li r5, 0
lbl_803800F8:
/* 803800F8 0037D058 54 80 07 7E */ clrlwi r0, r4, 0x1d
/* 803800FC 0037D05C 7C C0 2A 14 */ add r6, r0, r5
/* 80380100 0037D060 38 64 00 01 */ addi r3, r4, 1
/* 80380104 0037D064 54 60 E8 FE */ srwi r0, r3, 3
/* 80380108 0037D068 54 C6 10 3A */ slwi r6, r6, 2
/* 8038010C 0037D06C 39 21 00 3C */ addi r9, r1, 0x3c
/* 80380110 0037D070 7D 29 32 14 */ add r9, r9, r6
/* 80380114 0037D074 3A 80 00 00 */ li r20, 0
/* 80380118 0037D078 92 89 00 00 */ stw r20, 0(r9)
/* 8038011C 0037D07C 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80380120 0037D080 92 89 00 20 */ stw r20, 0x20(r9)
/* 80380124 0037D084 54 63 07 7E */ clrlwi r3, r3, 0x1d
/* 80380128 0037D088 39 04 00 02 */ addi r8, r4, 2
/* 8038012C 0037D08C 92 89 00 40 */ stw r20, 0x40(r9)
/* 80380130 0037D090 7C 63 02 14 */ add r3, r3, r0
/* 80380134 0037D094 54 69 10 3A */ slwi r9, r3, 2
/* 80380138 0037D098 38 61 00 3C */ addi r3, r1, 0x3c
/* 8038013C 0037D09C 7C 63 4A 14 */ add r3, r3, r9
/* 80380140 0037D0A0 92 83 00 00 */ stw r20, 0(r3)
/* 80380144 0037D0A4 55 07 E8 FE */ srwi r7, r8, 3
/* 80380148 0037D0A8 38 C4 00 03 */ addi r6, r4, 3
/* 8038014C 0037D0AC 92 83 00 20 */ stw r20, 0x20(r3)
/* 80380150 0037D0B0 54 C0 E8 FE */ srwi r0, r6, 3
/* 80380154 0037D0B4 1C E7 00 18 */ mulli r7, r7, 0x18
/* 80380158 0037D0B8 92 83 00 40 */ stw r20, 0x40(r3)
/* 8038015C 0037D0BC 55 03 07 7E */ clrlwi r3, r8, 0x1d
/* 80380160 0037D0C0 7C 63 3A 14 */ add r3, r3, r7
/* 80380164 0037D0C4 54 67 10 3A */ slwi r7, r3, 2
/* 80380168 0037D0C8 38 61 00 3C */ addi r3, r1, 0x3c
/* 8038016C 0037D0CC 7C 63 3A 14 */ add r3, r3, r7
/* 80380170 0037D0D0 92 83 00 00 */ stw r20, 0(r3)
/* 80380174 0037D0D4 3A 44 00 04 */ addi r18, r4, 4
/* 80380178 0037D0D8 56 4C E8 FE */ srwi r12, r18, 3
/* 8038017C 0037D0DC 92 83 00 20 */ stw r20, 0x20(r3)
/* 80380180 0037D0E0 39 64 00 05 */ addi r11, r4, 5
/* 80380184 0037D0E4 55 69 E8 FE */ srwi r9, r11, 3
/* 80380188 0037D0E8 92 83 00 40 */ stw r20, 0x40(r3)
/* 8038018C 0037D0EC 54 C3 07 7E */ clrlwi r3, r6, 0x1d
/* 80380190 0037D0F0 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80380194 0037D0F4 7C 63 02 14 */ add r3, r3, r0
/* 80380198 0037D0F8 54 71 10 3A */ slwi r17, r3, 2
/* 8038019C 0037D0FC 38 61 00 3C */ addi r3, r1, 0x3c
/* 803801A0 0037D100 7C 63 8A 14 */ add r3, r3, r17
/* 803801A4 0037D104 92 83 00 00 */ stw r20, 0(r3)
/* 803801A8 0037D108 39 04 00 06 */ addi r8, r4, 6
/* 803801AC 0037D10C 1D 8C 00 18 */ mulli r12, r12, 0x18
/* 803801B0 0037D110 92 83 00 20 */ stw r20, 0x20(r3)
/* 803801B4 0037D114 38 C4 00 07 */ addi r6, r4, 7
/* 803801B8 0037D118 92 83 00 40 */ stw r20, 0x40(r3)
/* 803801BC 0037D11C 56 51 07 7E */ clrlwi r17, r18, 0x1d
/* 803801C0 0037D120 7D 91 62 14 */ add r12, r17, r12
/* 803801C4 0037D124 54 C0 E8 FE */ srwi r0, r6, 3
/* 803801C8 0037D128 55 8C 10 3A */ slwi r12, r12, 2
/* 803801CC 0037D12C 38 61 00 3C */ addi r3, r1, 0x3c
/* 803801D0 0037D130 7C 63 62 14 */ add r3, r3, r12
/* 803801D4 0037D134 92 83 00 00 */ stw r20, 0(r3)
/* 803801D8 0037D138 1D 29 00 18 */ mulli r9, r9, 0x18
/* 803801DC 0037D13C 92 83 00 20 */ stw r20, 0x20(r3)
/* 803801E0 0037D140 55 6B 07 7E */ clrlwi r11, r11, 0x1d
/* 803801E4 0037D144 7D 2B 4A 14 */ add r9, r11, r9
/* 803801E8 0037D148 92 83 00 40 */ stw r20, 0x40(r3)
/* 803801EC 0037D14C 55 23 10 3A */ slwi r3, r9, 2
/* 803801F0 0037D150 39 21 00 3C */ addi r9, r1, 0x3c
/* 803801F4 0037D154 7D 29 1A 14 */ add r9, r9, r3
/* 803801F8 0037D158 55 07 E8 FE */ srwi r7, r8, 3
/* 803801FC 0037D15C 92 89 00 00 */ stw r20, 0(r9)
/* 80380200 0037D160 1C 67 00 18 */ mulli r3, r7, 0x18
/* 80380204 0037D164 92 89 00 20 */ stw r20, 0x20(r9)
/* 80380208 0037D168 55 07 07 7E */ clrlwi r7, r8, 0x1d
/* 8038020C 0037D16C 92 89 00 40 */ stw r20, 0x40(r9)
/* 80380210 0037D170 7C 67 1A 14 */ add r3, r7, r3
/* 80380214 0037D174 54 63 10 3A */ slwi r3, r3, 2
/* 80380218 0037D178 38 E1 00 3C */ addi r7, r1, 0x3c
/* 8038021C 0037D17C 7C E7 1A 14 */ add r7, r7, r3
/* 80380220 0037D180 92 87 00 00 */ stw r20, 0(r7)
/* 80380224 0037D184 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80380228 0037D188 92 87 00 20 */ stw r20, 0x20(r7)
/* 8038022C 0037D18C 54 C3 07 7E */ clrlwi r3, r6, 0x1d
/* 80380230 0037D190 7C 03 02 14 */ add r0, r3, r0
/* 80380234 0037D194 92 87 00 40 */ stw r20, 0x40(r7)
/* 80380238 0037D198 54 00 10 3A */ slwi r0, r0, 2
/* 8038023C 0037D19C 38 61 00 3C */ addi r3, r1, 0x3c
/* 80380240 0037D1A0 7C 63 02 14 */ add r3, r3, r0
/* 80380244 0037D1A4 92 83 00 00 */ stw r20, 0(r3)
/* 80380248 0037D1A8 38 A5 00 18 */ addi r5, r5, 0x18
/* 8038024C 0037D1AC 38 84 00 08 */ addi r4, r4, 8
/* 80380250 0037D1B0 92 83 00 20 */ stw r20, 0x20(r3)
/* 80380254 0037D1B4 92 83 00 40 */ stw r20, 0x40(r3)
/* 80380258 0037D1B8 42 00 FE A0 */ bdnz lbl_803800F8
/* 8038025C 0037D1BC 38 6A 00 00 */ addi r3, r10, 0
/* 80380260 0037D1C0 38 81 00 3C */ addi r4, r1, 0x3c
/* 80380264 0037D1C4 38 E1 01 5C */ addi r7, r1, 0x15c
/* 80380268 0037D1C8 38 A0 00 00 */ li r5, 0
/* 8038026C 0037D1CC 38 C0 00 06 */ li r6, 6
/* 80380270 0037D1D0 48 00 10 ED */ bl sub_8038135c
/* 80380274 0037D1D4 39 43 00 00 */ addi r10, r3, 0
/* 80380278 0037D1D8 38 14 00 00 */ addi r0, r20, 0
lbl_8038027C:
/* 8038027C 0037D1DC 56 83 E8 FE */ srwi r3, r20, 3
/* 80380280 0037D1E0 1C A3 00 18 */ mulli r5, r3, 0x18
/* 80380284 0037D1E4 38 80 00 0C */ li r4, 0xc
/* 80380288 0037D1E8 7C 03 03 78 */ mr r3, r0
/* 8038028C 0037D1EC 7C 89 03 A6 */ mtctr r4
/* 80380290 0037D1F0 56 86 07 7E */ clrlwi r6, r20, 0x1d
/* 80380294 0037D1F4 38 9F 00 00 */ addi r4, r31, 0
/* 80380298 0037D1F8 7C A6 2A 14 */ add r5, r6, r5
/* 8038029C 0037D1FC 54 07 08 3C */ slwi r7, r0, 1
/* 803802A0 0037D200 38 C0 00 00 */ li r6, 0
lbl_803802A4:
/* 803802A4 0037D204 54 C8 00 38 */ rlwinm r8, r6, 0, 0, 0x1c
/* 803802A8 0037D208 7D 05 42 14 */ add r8, r5, r8
/* 803802AC 0037D20C 55 09 10 3A */ slwi r9, r8, 2
/* 803802B0 0037D210 54 C8 07 7E */ clrlwi r8, r6, 0x1d
/* 803802B4 0037D214 7D 37 48 2E */ lwzx r9, r23, r9
/* 803802B8 0037D218 21 08 00 07 */ subfic r8, r8, 7
/* 803802BC 0037D21C 55 08 10 3A */ slwi r8, r8, 2
/* 803802C0 0037D220 7D 28 44 30 */ srw r8, r9, r8
/* 803802C4 0037D224 55 08 07 3F */ clrlwi. r8, r8, 0x1c
/* 803802C8 0037D228 41 82 00 74 */ beq lbl_8038033C
/* 803802CC 0037D22C 1D 08 00 EF */ mulli r8, r8, 0xef
/* 803802D0 0037D230 89 3B 00 00 */ lbz r9, 0(r27)
/* 803802D4 0037D234 7D 09 41 D6 */ mullw r8, r9, r8
/* 803802D8 0037D238 7D 39 40 96 */ mulhw r9, r25, r8
/* 803802DC 0037D23C 7D 09 42 14 */ add r8, r9, r8
/* 803802E0 0037D240 7D 08 3E 70 */ srawi r8, r8, 7
/* 803802E4 0037D244 55 09 0F FE */ srwi r9, r8, 0x1f
/* 803802E8 0037D248 7D 08 4A 14 */ add r8, r8, r9
/* 803802EC 0037D24C 7D 38 40 96 */ mulhw r9, r24, r8
/* 803802F0 0037D250 7D 09 42 14 */ add r8, r9, r8
/* 803802F4 0037D254 7D 08 1E 70 */ srawi r8, r8, 3
/* 803802F8 0037D258 55 09 0F FE */ srwi r9, r8, 0x1f
/* 803802FC 0037D25C 7D 28 4A 14 */ add r9, r8, r9
/* 80380300 0037D260 39 29 00 10 */ addi r9, r9, 0x10
/* 80380304 0037D264 54 88 07 FF */ clrlwi. r8, r4, 0x1f
/* 80380308 0037D268 7D 33 39 AE */ stbx r9, r19, r7
/* 8038030C 0037D26C 41 82 00 1C */ beq lbl_80380328
/* 80380310 0037D270 89 1B 00 01 */ lbz r8, 1(r27)
/* 80380314 0037D274 7D 33 3A 14 */ add r9, r19, r7
/* 80380318 0037D278 99 09 FF FF */ stb r8, -1(r9)
/* 8038031C 0037D27C 89 1B 00 02 */ lbz r8, 2(r27)
/* 80380320 0037D280 99 09 00 01 */ stb r8, 1(r9)
/* 80380324 0037D284 48 00 00 18 */ b lbl_8038033C
lbl_80380328:
/* 80380328 0037D288 89 1B 00 02 */ lbz r8, 2(r27)
/* 8038032C 0037D28C 7D 33 3A 14 */ add r9, r19, r7
/* 80380330 0037D290 99 09 FF FF */ stb r8, -1(r9)
/* 80380334 0037D294 89 1B 00 01 */ lbz r8, 1(r27)
/* 80380338 0037D298 99 09 00 01 */ stb r8, 1(r9)
lbl_8038033C:
/* 8038033C 0037D29C 38 C6 00 01 */ addi r6, r6, 1
/* 80380340 0037D2A0 54 C8 00 38 */ rlwinm r8, r6, 0, 0, 0x1c
/* 80380344 0037D2A4 7D 05 42 14 */ add r8, r5, r8
/* 80380348 0037D2A8 55 09 10 3A */ slwi r9, r8, 2
/* 8038034C 0037D2AC 54 C8 07 7E */ clrlwi r8, r6, 0x1d
/* 80380350 0037D2B0 7D 37 48 2E */ lwzx r9, r23, r9
/* 80380354 0037D2B4 21 08 00 07 */ subfic r8, r8, 7
/* 80380358 0037D2B8 55 08 10 3A */ slwi r8, r8, 2
/* 8038035C 0037D2BC 7D 28 44 30 */ srw r8, r9, r8
/* 80380360 0037D2C0 55 08 07 3F */ clrlwi. r8, r8, 0x1c
/* 80380364 0037D2C4 38 E7 00 02 */ addi r7, r7, 2
/* 80380368 0037D2C8 38 84 00 01 */ addi r4, r4, 1
/* 8038036C 0037D2CC 41 82 00 74 */ beq lbl_803803E0
/* 80380370 0037D2D0 1D 08 00 EF */ mulli r8, r8, 0xef
/* 80380374 0037D2D4 89 3B 00 00 */ lbz r9, 0(r27)
/* 80380378 0037D2D8 7D 09 41 D6 */ mullw r8, r9, r8
/* 8038037C 0037D2DC 7D 39 40 96 */ mulhw r9, r25, r8
/* 80380380 0037D2E0 7D 09 42 14 */ add r8, r9, r8
/* 80380384 0037D2E4 7D 08 3E 70 */ srawi r8, r8, 7
/* 80380388 0037D2E8 55 09 0F FE */ srwi r9, r8, 0x1f
/* 8038038C 0037D2EC 7D 08 4A 14 */ add r8, r8, r9
/* 80380390 0037D2F0 7D 38 40 96 */ mulhw r9, r24, r8
/* 80380394 0037D2F4 7D 09 42 14 */ add r8, r9, r8
/* 80380398 0037D2F8 7D 08 1E 70 */ srawi r8, r8, 3
/* 8038039C 0037D2FC 55 09 0F FE */ srwi r9, r8, 0x1f
/* 803803A0 0037D300 7D 28 4A 14 */ add r9, r8, r9
/* 803803A4 0037D304 39 29 00 10 */ addi r9, r9, 0x10
/* 803803A8 0037D308 54 88 07 FF */ clrlwi. r8, r4, 0x1f
/* 803803AC 0037D30C 7D 33 39 AE */ stbx r9, r19, r7
/* 803803B0 0037D310 41 82 00 1C */ beq lbl_803803CC
/* 803803B4 0037D314 89 1B 00 01 */ lbz r8, 1(r27)
/* 803803B8 0037D318 7D 33 3A 14 */ add r9, r19, r7
/* 803803BC 0037D31C 99 09 FF FF */ stb r8, -1(r9)
/* 803803C0 0037D320 89 1B 00 02 */ lbz r8, 2(r27)
/* 803803C4 0037D324 99 09 00 01 */ stb r8, 1(r9)
/* 803803C8 0037D328 48 00 00 18 */ b lbl_803803E0
lbl_803803CC:
/* 803803CC 0037D32C 89 1B 00 02 */ lbz r8, 2(r27)
/* 803803D0 0037D330 7D 33 3A 14 */ add r9, r19, r7
/* 803803D4 0037D334 99 09 FF FF */ stb r8, -1(r9)
/* 803803D8 0037D338 89 1B 00 01 */ lbz r8, 1(r27)
/* 803803DC 0037D33C 99 09 00 01 */ stb r8, 1(r9)
lbl_803803E0:
/* 803803E0 0037D340 38 63 00 01 */ addi r3, r3, 1
/* 803803E4 0037D344 38 E7 00 02 */ addi r7, r7, 2
/* 803803E8 0037D348 38 84 00 01 */ addi r4, r4, 1
/* 803803EC 0037D34C 38 C6 00 01 */ addi r6, r6, 1
/* 803803F0 0037D350 42 00 FE B4 */ bdnz lbl_803802A4
/* 803803F4 0037D354 3A 94 00 01 */ addi r20, r20, 1
/* 803803F8 0037D358 28 14 00 18 */ cmplwi r20, 0x18
/* 803803FC 0037D35C 7C 00 AA 14 */ add r0, r0, r21
/* 80380400 0037D360 41 80 FE 7C */ blt lbl_8038027C
/* 80380404 0037D364 80 61 01 5C */ lwz r3, 0x15c(r1)
/* 80380408 0037D368 54 60 08 3C */ slwi r0, r3, 1
/* 8038040C 0037D36C 7E 73 02 14 */ add r19, r19, r0
/* 80380410 0037D370 7F FF 1A 14 */ add r31, r31, r3
lbl_80380414:
/* 80380414 0037D374 88 6A 00 00 */ lbz r3, 0(r10)
/* 80380418 0037D378 7C 60 07 75 */ extsb. r0, r3
/* 8038041C 0037D37C 40 82 FC A4 */ bne lbl_803800C0
lbl_80380420:
/* 80380420 0037D380 BA 01 01 60 */ lmw r16, 0x160(r1)
/* 80380424 0037D384 80 01 01 A4 */ lwz r0, 0x1a4(r1)
/* 80380428 0037D388 38 21 01 A0 */ addi r1, r1, 0x1a0
/* 8038042C 0037D38C 7C 08 03 A6 */ mtlr r0
/* 80380430 0037D390 4E 80 00 20 */ blr
.global ConfigureVideo
ConfigureVideo:
/* 80380434 0037D394 7C 08 02 A6 */ mflr r0
/* 80380438 0037D398 90 01 00 04 */ stw r0, 4(r1)
/* 8038043C 0037D39C 38 00 01 E0 */ li r0, 0x1e0
/* 80380440 0037D3A0 94 21 FF B8 */ stwu r1, -0x48(r1)
/* 80380444 0037D3A4 B0 61 00 10 */ sth r3, 0x10(r1)
/* 80380448 0037D3A8 38 60 00 28 */ li r3, 0x28
/* 8038044C 0037D3AC B0 01 00 12 */ sth r0, 0x12(r1)
/* 80380450 0037D3B0 38 00 02 80 */ li r0, 0x280
/* 80380454 0037D3B4 B0 81 00 14 */ sth r4, 0x14(r1)
/* 80380458 0037D3B8 B0 61 00 16 */ sth r3, 0x16(r1)
/* 8038045C 0037D3BC B0 01 00 1A */ sth r0, 0x1a(r1)
/* 80380460 0037D3C0 B0 81 00 1C */ sth r4, 0x1c(r1)
/* 80380464 0037D3C4 48 00 90 75 */ bl VIGetTvFormat
/* 80380468 0037D3C8 2C 03 00 02 */ cmpwi r3, 2
/* 8038046C 0037D3CC 41 82 00 24 */ beq lbl_80380490
/* 80380470 0037D3D0 40 80 00 14 */ bge lbl_80380484
/* 80380474 0037D3D4 2C 03 00 00 */ cmpwi r3, 0
/* 80380478 0037D3D8 41 82 00 18 */ beq lbl_80380490
/* 8038047C 0037D3DC 40 80 00 70 */ bge lbl_803804EC
/* 80380480 0037D3E0 48 00 00 84 */ b lbl_80380504
lbl_80380484:
/* 80380484 0037D3E4 2C 03 00 05 */ cmpwi r3, 5
/* 80380488 0037D3E8 41 82 00 48 */ beq lbl_803804D0
/* 8038048C 0037D3EC 48 00 00 78 */ b lbl_80380504
lbl_80380490:
/* 80380490 0037D3F0 3C 60 CC 00 */ lis r3, 0xCC00206C@ha
/* 80380494 0037D3F4 A0 03 20 6C */ lhz r0, 0xCC00206C@l(r3)
/* 80380498 0037D3F8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8038049C 0037D3FC 41 82 00 1C */ beq lbl_803804B8
/* 803804A0 0037D400 38 00 00 02 */ li r0, 2
/* 803804A4 0037D404 90 01 00 0C */ stw r0, 0xc(r1)
/* 803804A8 0037D408 38 00 00 00 */ li r0, 0
/* 803804AC 0037D40C B0 01 00 18 */ sth r0, 0x18(r1)
/* 803804B0 0037D410 90 01 00 20 */ stw r0, 0x20(r1)
/* 803804B4 0037D414 48 00 00 50 */ b lbl_80380504
lbl_803804B8:
/* 803804B8 0037D418 38 60 00 00 */ li r3, 0
/* 803804BC 0037D41C 90 61 00 0C */ stw r3, 0xc(r1)
/* 803804C0 0037D420 38 00 00 01 */ li r0, 1
/* 803804C4 0037D424 B0 61 00 18 */ sth r3, 0x18(r1)
/* 803804C8 0037D428 90 01 00 20 */ stw r0, 0x20(r1)
/* 803804CC 0037D42C 48 00 00 38 */ b lbl_80380504
lbl_803804D0:
/* 803804D0 0037D430 38 00 00 14 */ li r0, 0x14
/* 803804D4 0037D434 90 01 00 0C */ stw r0, 0xc(r1)
/* 803804D8 0037D438 38 60 00 00 */ li r3, 0
/* 803804DC 0037D43C 38 00 00 01 */ li r0, 1
/* 803804E0 0037D440 B0 61 00 18 */ sth r3, 0x18(r1)
/* 803804E4 0037D444 90 01 00 20 */ stw r0, 0x20(r1)
/* 803804E8 0037D448 48 00 00 1C */ b lbl_80380504
lbl_803804EC:
/* 803804EC 0037D44C 38 00 00 04 */ li r0, 4
/* 803804F0 0037D450 90 01 00 0C */ stw r0, 0xc(r1)
/* 803804F4 0037D454 38 60 00 2F */ li r3, 0x2f
/* 803804F8 0037D458 38 00 00 01 */ li r0, 1
/* 803804FC 0037D45C B0 61 00 18 */ sth r3, 0x18(r1)
/* 80380500 0037D460 90 01 00 20 */ stw r0, 0x20(r1)
lbl_80380504:
/* 80380504 0037D464 38 61 00 0C */ addi r3, r1, 0xc
/* 80380508 0037D468 48 00 80 4D */ bl VIConfigure
/* 8038050C 0037D46C 38 60 00 00 */ li r3, 0
/* 80380510 0037D470 38 80 00 00 */ li r4, 0
/* 80380514 0037D474 38 A0 02 80 */ li r5, 0x280
/* 80380518 0037D478 38 C0 01 E0 */ li r6, 0x1e0
/* 8038051C 0037D47C 48 00 88 61 */ bl VIConfigurePan
/* 80380520 0037D480 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80380524 0037D484 38 21 00 48 */ addi r1, r1, 0x48
/* 80380528 0037D488 7C 08 03 A6 */ mtlr r0
/* 8038052C 0037D48C 4E 80 00 20 */ blr
.global OSFatal
OSFatal:
/* 80380530 0037D490 7C 08 02 A6 */ mflr r0
/* 80380534 0037D494 3C C0 80 54 */ lis r6, lbl_80541298@ha
/* 80380538 0037D498 90 01 00 04 */ stw r0, 4(r1)
/* 8038053C 0037D49C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80380540 0037D4A0 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 80380544 0037D4A4 3B 43 00 00 */ addi r26, r3, 0
/* 80380548 0037D4A8 3B 64 00 00 */ addi r27, r4, 0
/* 8038054C 0037D4AC 3B 85 00 00 */ addi r28, r5, 0
/* 80380550 0037D4B0 3B C6 12 98 */ addi r30, r6, lbl_80541298@l
/* 80380554 0037D4B4 3F A0 80 00 */ lis r29, 0x8000
/* 80380558 0037D4B8 48 00 11 09 */ bl OSDisableInterrupts
/* 8038055C 0037D4BC 48 00 40 85 */ bl OSDisableScheduler
/* 80380560 0037D4C0 38 7E 00 10 */ addi r3, r30, 0x10
/* 80380564 0037D4C4 4B FF F0 B1 */ bl OSClearContext
/* 80380568 0037D4C8 38 7E 00 10 */ addi r3, r30, 0x10
/* 8038056C 0037D4CC 4B FF EE B1 */ bl OSSetCurrentContext
/* 80380570 0037D4D0 4B FF E4 29 */ bl __OSStopAudioSystem
/* 80380574 0037D4D4 38 60 00 00 */ li r3, 0
/* 80380578 0037D4D8 4B FE CE 05 */ bl AISetStreamVolLeft
/* 8038057C 0037D4DC 38 60 00 00 */ li r3, 0
/* 80380580 0037D4E0 4B FE CE 29 */ bl AISetStreamVolRight
/* 80380584 0037D4E4 48 00 76 59 */ bl VIInit
/* 80380588 0037D4E8 38 60 00 01 */ li r3, 1
/* 8038058C 0037D4EC 48 00 8D 21 */ bl VISetBlack
/* 80380590 0037D4F0 48 00 8B 81 */ bl VIFlush
/* 80380594 0037D4F4 48 00 10 E1 */ bl OSEnableInterrupts
/* 80380598 0037D4F8 48 00 8D 91 */ bl VIGetRetraceCount
/* 8038059C 0037D4FC 7C 7F 1B 78 */ mr r31, r3
lbl_803805A0:
/* 803805A0 0037D500 48 00 8D 89 */ bl VIGetRetraceCount
/* 803805A4 0037D504 7C 1F 18 50 */ subf r0, r31, r3
/* 803805A8 0037D508 2C 00 00 01 */ cmpwi r0, 1
/* 803805AC 0037D50C 41 80 FF F4 */ blt lbl_803805A0
lbl_803805B0:
/* 803805B0 0037D510 38 60 00 00 */ li r3, 0
/* 803805B4 0037D514 48 00 2A FD */ bl __OSCallResetFunctions
/* 803805B8 0037D518 2C 03 00 00 */ cmpwi r3, 0
/* 803805BC 0037D51C 41 82 FF F4 */ beq lbl_803805B0
/* 803805C0 0037D520 48 00 10 A1 */ bl OSDisableInterrupts
/* 803805C4 0037D524 38 60 00 01 */ li r3, 1
/* 803805C8 0037D528 48 00 2A E9 */ bl __OSCallResetFunctions
/* 803805CC 0037D52C 3C 60 80 38 */ lis r3, OSDefaultExceptionHandler@ha
/* 803805D0 0037D530 38 83 DF 94 */ addi r4, r3, OSDefaultExceptionHandler@l
/* 803805D4 0037D534 38 60 00 08 */ li r3, 8
/* 803805D8 0037D538 4B FF D8 F1 */ bl __OSSetExceptionHandler
/* 803805DC 0037D53C 4B FF 7D 91 */ bl sub_8037836c
/* 803805E0 0037D540 3C 60 81 20 */ lis r3, 0x8120
/* 803805E4 0037D544 4B FF E1 C5 */ bl OSSetArenaLo
/* 803805E8 0037D548 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 803805EC 0037D54C 4B FF E1 B5 */ bl OSSetArenaHi
/* 803805F0 0037D550 80 1A 00 00 */ lwz r0, 0(r26)
/* 803805F4 0037D554 90 1E 00 00 */ stw r0, 0(r30)
/* 803805F8 0037D558 80 1B 00 00 */ lwz r0, 0(r27)
/* 803805FC 0037D55C 90 1E 00 04 */ stw r0, 4(r30)
/* 80380600 0037D560 93 9E 00 08 */ stw r28, 8(r30)
/* 80380604 0037D564 4B FF E1 8D */ bl OSGetArenaHi
/* 80380608 0037D568 3C A0 80 38 */ lis r5, Halt@ha
/* 8038060C 0037D56C 38 83 00 00 */ addi r4, r3, 0
/* 80380610 0037D570 38 65 06 2C */ addi r3, r5, Halt@l
/* 80380614 0037D574 4B FF EF D1 */ bl OSSwitchFiber
/* 80380618 0037D578 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 8038061C 0037D57C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80380620 0037D580 38 21 00 30 */ addi r1, r1, 0x30
/* 80380624 0037D584 7C 08 03 A6 */ mtlr r0
/* 80380628 0037D588 4E 80 00 20 */ blr
.global Halt
Halt:
/* 8038062C 0037D58C 7C 08 02 A6 */ mflr r0
/* 80380630 0037D590 90 01 00 04 */ stw r0, 4(r1)
/* 80380634 0037D594 94 21 FF 78 */ stwu r1, -0x88(r1)
/* 80380638 0037D598 93 E1 00 84 */ stw r31, 0x84(r1)
/* 8038063C 0037D59C 93 C1 00 80 */ stw r30, 0x80(r1)
/* 80380640 0037D5A0 93 A1 00 7C */ stw r29, 0x7c(r1)
/* 80380644 0037D5A4 93 81 00 78 */ stw r28, 0x78(r1)
/* 80380648 0037D5A8 48 00 10 2D */ bl OSEnableInterrupts
/* 8038064C 0037D5AC 3C 60 80 54 */ lis r3, lbl_80541298@ha
/* 80380650 0037D5B0 3B E3 12 98 */ addi r31, r3, lbl_80541298@l
/* 80380654 0037D5B4 80 7F 00 08 */ lwz r3, 8(r31)
/* 80380658 0037D5B8 48 00 FB 69 */ bl strlen
/* 8038065C 0037D5BC 3B 83 00 01 */ addi r28, r3, 1
/* 80380660 0037D5C0 38 7C 00 00 */ addi r3, r28, 0
/* 80380664 0037D5C4 38 80 00 20 */ li r4, 0x20
/* 80380668 0037D5C8 4B FF E1 49 */ bl OSAllocFromArenaLo
/* 8038066C 0037D5CC 80 9F 00 08 */ lwz r4, 8(r31)
/* 80380670 0037D5D0 7F 85 E3 78 */ mr r5, r28
/* 80380674 0037D5D4 48 00 D2 AD */ bl memmove
/* 80380678 0037D5D8 90 7F 00 08 */ stw r3, 8(r31)
/* 8038067C 0037D5DC 48 00 08 C9 */ bl OSGetFontEncode
/* 80380680 0037D5E0 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80380684 0037D5E4 28 00 00 01 */ cmplwi r0, 1
/* 80380688 0037D5E8 40 82 00 1C */ bne lbl_803806A4
/* 8038068C 0037D5EC 3C 60 00 09 */ lis r3, 0x00090EE4@ha
/* 80380690 0037D5F0 38 63 0E E4 */ addi r3, r3, 0x00090EE4@l
/* 80380694 0037D5F4 38 80 00 20 */ li r4, 0x20
/* 80380698 0037D5F8 4B FF E1 19 */ bl OSAllocFromArenaLo
/* 8038069C 0037D5FC 7C 7E 1B 78 */ mr r30, r3
/* 803806A0 0037D600 48 00 00 18 */ b lbl_803806B8
lbl_803806A4:
/* 803806A4 0037D604 3C 60 00 01 */ lis r3, 0x00010120@ha
/* 803806A8 0037D608 38 63 01 20 */ addi r3, r3, 0x00010120@l
/* 803806AC 0037D60C 38 80 00 20 */ li r4, 0x20
/* 803806B0 0037D610 4B FF E1 01 */ bl OSAllocFromArenaLo
/* 803806B4 0037D614 7C 7E 1B 78 */ mr r30, r3
lbl_803806B8:
/* 803806B8 0037D618 4B FF E0 E1 */ bl OSGetArenaLo
/* 803806BC 0037D61C 38 83 00 00 */ addi r4, r3, 0
/* 803806C0 0037D620 38 7E 00 00 */ addi r3, r30, 0
/* 803806C4 0037D624 48 00 09 65 */ bl sub_80381028
/* 803806C8 0037D628 3C 60 00 09 */ lis r3, 0x00096000@ha
/* 803806CC 0037D62C 38 63 60 00 */ addi r3, r3, 0x00096000@l
/* 803806D0 0037D630 38 80 00 20 */ li r4, 0x20
/* 803806D4 0037D634 4B FF E0 DD */ bl OSAllocFromArenaLo
/* 803806D8 0037D638 80 1F 00 04 */ lwz r0, 4(r31)
/* 803806DC 0037D63C 7C 7D 1B 78 */ mr r29, r3
/* 803806E0 0037D640 3C 80 43 30 */ lis r4, 0x4330
/* 803806E4 0037D644 C8 02 CF 30 */ lfd f0, lbl_805AEC50@sda21(r2)
/* 803806E8 0037D648 90 01 00 28 */ stw r0, 0x28(r1)
/* 803806EC 0037D64C C0 82 CF 04 */ lfs f4, lbl_805AEC24@sda21(r2)
/* 803806F0 0037D650 88 01 00 28 */ lbz r0, 0x28(r1)
/* 803806F4 0037D654 88 61 00 29 */ lbz r3, 0x29(r1)
/* 803806F8 0037D658 90 01 00 6C */ stw r0, 0x6c(r1)
/* 803806FC 0037D65C 88 A1 00 2A */ lbz r5, 0x2a(r1)
/* 80380700 0037D660 90 61 00 64 */ stw r3, 0x64(r1)
/* 80380704 0037D664 C0 42 CF 08 */ lfs f2, lbl_805AEC28@sda21(r2)
/* 80380708 0037D668 90 81 00 68 */ stw r4, 0x68(r1)
/* 8038070C 0037D66C C0 C2 CF 00 */ lfs f6, lbl_805AEC20@sda21(r2)
/* 80380710 0037D670 90 81 00 60 */ stw r4, 0x60(r1)
/* 80380714 0037D674 C8 61 00 68 */ lfd f3, 0x68(r1)
/* 80380718 0037D678 90 A1 00 74 */ stw r5, 0x74(r1)
/* 8038071C 0037D67C C8 21 00 60 */ lfd f1, 0x60(r1)
/* 80380720 0037D680 EC 63 00 28 */ fsubs f3, f3, f0
/* 80380724 0037D684 90 81 00 70 */ stw r4, 0x70(r1)
/* 80380728 0037D688 EC 21 00 28 */ fsubs f1, f1, f0
/* 8038072C 0037D68C C1 02 CF 18 */ lfs f8, lbl_805AEC38@sda21(r2)
/* 80380730 0037D690 90 61 00 4C */ stw r3, 0x4c(r1)
/* 80380734 0037D694 C8 A1 00 70 */ lfd f5, 0x70(r1)
/* 80380738 0037D698 EC 64 00 F2 */ fmuls f3, f4, f3
/* 8038073C 0037D69C EC 85 00 28 */ fsubs f4, f5, f0
/* 80380740 0037D6A0 90 01 00 54 */ stw r0, 0x54(r1)
/* 80380744 0037D6A4 EC 22 00 72 */ fmuls f1, f2, f1
/* 80380748 0037D6A8 C1 22 CF 14 */ lfs f9, lbl_805AEC34@sda21(r2)
/* 8038074C 0037D6AC 90 81 00 50 */ stw r4, 0x50(r1)
/* 80380750 0037D6B0 90 01 00 44 */ stw r0, 0x44(r1)
/* 80380754 0037D6B4 EC 86 01 32 */ fmuls f4, f6, f4
/* 80380758 0037D6B8 EC 23 08 2A */ fadds f1, f3, f1
/* 8038075C 0037D6BC C8 41 00 50 */ lfd f2, 0x50(r1)
/* 80380760 0037D6C0 90 61 00 3C */ stw r3, 0x3c(r1)
/* 80380764 0037D6C4 EC 62 00 28 */ fsubs f3, f2, f0
/* 80380768 0037D6C8 90 A1 00 5C */ stw r5, 0x5c(r1)
/* 8038076C 0037D6CC ED 64 08 2A */ fadds f11, f4, f1
/* 80380770 0037D6D0 C1 42 CF 10 */ lfs f10, lbl_805AEC30@sda21(r2)
/* 80380774 0037D6D4 90 81 00 48 */ stw r4, 0x48(r1)
/* 80380778 0037D6D8 ED 29 00 F2 */ fmuls f9, f9, f3
/* 8038077C 0037D6DC C0 A2 CF 1C */ lfs f5, lbl_805AEC3C@sda21(r2)
/* 80380780 0037D6E0 C8 21 00 48 */ lfd f1, 0x48(r1)
/* 80380784 0037D6E4 90 81 00 40 */ stw r4, 0x40(r1)
/* 80380788 0037D6E8 EC E1 00 28 */ fsubs f7, f1, f0
/* 8038078C 0037D6EC C0 62 CF 20 */ lfs f3, lbl_805AEC40@sda21(r2)
/* 80380790 0037D6F0 90 81 00 38 */ stw r4, 0x38(r1)
/* 80380794 0037D6F4 C8 41 00 40 */ lfd f2, 0x40(r1)
/* 80380798 0037D6F8 90 A1 00 34 */ stw r5, 0x34(r1)
/* 8038079C 0037D6FC C8 21 00 38 */ lfd f1, 0x38(r1)
/* 803807A0 0037D700 EC C2 00 28 */ fsubs f6, f2, f0
/* 803807A4 0037D704 90 81 00 30 */ stw r4, 0x30(r1)
/* 803807A8 0037D708 EC E8 01 F2 */ fmuls f7, f8, f7
/* 803807AC 0037D70C EC 81 00 28 */ fsubs f4, f1, f0
/* 803807B0 0037D710 90 81 00 58 */ stw r4, 0x58(r1)
/* 803807B4 0037D714 C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 803807B8 0037D718 EC CA 01 B2 */ fmuls f6, f10, f6
/* 803807BC 0037D71C C9 01 00 58 */ lfd f8, 0x58(r1)
/* 803807C0 0037D720 C8 41 00 30 */ lfd f2, 0x30(r1)
/* 803807C4 0037D724 EC 85 01 32 */ fmuls f4, f5, f4
/* 803807C8 0037D728 ED 08 00 28 */ fsubs f8, f8, f0
/* 803807CC 0037D72C EC 02 00 28 */ fsubs f0, f2, f0
/* 803807D0 0037D730 C1 82 CE F8 */ lfs f12, lbl_805AEC18@sda21(r2)
/* 803807D4 0037D734 EC 49 38 28 */ fsubs f2, f9, f7
/* 803807D8 0037D738 EC AA 02 32 */ fmuls f5, f10, f8
/* 803807DC 0037D73C ED 61 58 2A */ fadds f11, f1, f11
/* 803807E0 0037D740 EC 03 00 32 */ fmuls f0, f3, f0
/* 803807E4 0037D744 C0 E2 CF 0C */ lfs f7, lbl_805AEC2C@sda21(r2)
/* 803807E8 0037D748 EC A5 10 2A */ fadds f5, f5, f2
/* 803807EC 0037D74C EC 46 20 28 */ fsubs f2, f6, f4
/* 803807F0 0037D750 ED 2C 58 2A */ fadds f9, f12, f11
/* 803807F4 0037D754 C1 02 CF 24 */ lfs f8, lbl_805AEC44@sda21(r2)
/* 803807F8 0037D758 EC 67 28 2A */ fadds f3, f7, f5
/* 803807FC 0037D75C EC 02 00 28 */ fsubs f0, f2, f0
/* 80380800 0037D760 FC 09 40 40 */ fcmpo cr0, f9, f8
/* 80380804 0037D764 EC 6C 18 2A */ fadds f3, f12, f3
/* 80380808 0037D768 EC 07 00 2A */ fadds f0, f7, f0
/* 8038080C 0037D76C EC 4C 00 2A */ fadds f2, f12, f0
/* 80380810 0037D770 40 81 00 08 */ ble lbl_80380818
/* 80380814 0037D774 48 00 00 18 */ b lbl_8038082C
lbl_80380818:
/* 80380818 0037D778 FC 09 08 40 */ fcmpo cr0, f9, f1
/* 8038081C 0037D77C 40 80 00 08 */ bge lbl_80380824
/* 80380820 0037D780 48 00 00 08 */ b lbl_80380828
lbl_80380824:
/* 80380824 0037D784 FC 20 48 90 */ fmr f1, f9
lbl_80380828:
/* 80380828 0037D788 FD 00 08 90 */ fmr f8, f1
lbl_8038082C:
/* 8038082C 0037D78C FC 00 40 1E */ fctiwz f0, f8
/* 80380830 0037D790 C0 22 CF 28 */ lfs f1, lbl_805AEC48@sda21(r2)
/* 80380834 0037D794 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 80380838 0037D798 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 8038083C 0037D79C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80380840 0037D7A0 98 01 00 18 */ stb r0, 0x18(r1)
/* 80380844 0037D7A4 40 81 00 08 */ ble lbl_8038084C
/* 80380848 0037D7A8 48 00 00 18 */ b lbl_80380860
lbl_8038084C:
/* 8038084C 0037D7AC C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 80380850 0037D7B0 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 80380854 0037D7B4 40 80 00 08 */ bge lbl_8038085C
/* 80380858 0037D7B8 48 00 00 08 */ b lbl_80380860
lbl_8038085C:
/* 8038085C 0037D7BC FC 20 18 90 */ fmr f1, f3
lbl_80380860:
/* 80380860 0037D7C0 FC 00 08 1E */ fctiwz f0, f1
/* 80380864 0037D7C4 C0 22 CF 28 */ lfs f1, lbl_805AEC48@sda21(r2)
/* 80380868 0037D7C8 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8038086C 0037D7CC D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80380870 0037D7D0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80380874 0037D7D4 98 01 00 19 */ stb r0, 0x19(r1)
/* 80380878 0037D7D8 40 81 00 08 */ ble lbl_80380880
/* 8038087C 0037D7DC 48 00 00 18 */ b lbl_80380894
lbl_80380880:
/* 80380880 0037D7E0 C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 80380884 0037D7E4 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80380888 0037D7E8 40 80 00 08 */ bge lbl_80380890
/* 8038088C 0037D7EC 48 00 00 08 */ b lbl_80380894
lbl_80380890:
/* 80380890 0037D7F0 FC 20 10 90 */ fmr f1, f2
lbl_80380894:
/* 80380894 0037D7F4 FC 00 08 1E */ fctiwz f0, f1
/* 80380898 0037D7F8 38 80 00 00 */ li r4, 0
/* 8038089C 0037D7FC 38 7D 00 00 */ addi r3, r29, 0
/* 803808A0 0037D800 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 803808A4 0037D804 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803808A8 0037D808 98 01 00 1A */ stb r0, 0x1a(r1)
/* 803808AC 0037D80C 98 81 00 1B */ stb r4, 0x1b(r1)
/* 803808B0 0037D810 80 01 00 18 */ lwz r0, 0x18(r1)
/* 803808B4 0037D814 90 01 00 2C */ stw r0, 0x2c(r1)
/* 803808B8 0037D818 88 A1 00 2D */ lbz r5, 0x2d(r1)
/* 803808BC 0037D81C 88 C1 00 2E */ lbz r6, 0x2e(r1)
lbl_803808C0:
/* 803808C0 0037D820 38 00 00 28 */ li r0, 0x28
/* 803808C4 0037D824 7C 09 03 A6 */ mtctr r0
lbl_803808C8:
/* 803808C8 0037D828 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 803808CC 0037D82C 98 03 00 00 */ stb r0, 0(r3)
/* 803808D0 0037D830 98 A3 00 01 */ stb r5, 1(r3)
/* 803808D4 0037D834 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 803808D8 0037D838 98 03 00 02 */ stb r0, 2(r3)
/* 803808DC 0037D83C 98 C3 00 03 */ stb r6, 3(r3)
/* 803808E0 0037D840 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 803808E4 0037D844 98 03 00 04 */ stb r0, 4(r3)
/* 803808E8 0037D848 98 A3 00 05 */ stb r5, 5(r3)
/* 803808EC 0037D84C 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 803808F0 0037D850 98 03 00 06 */ stb r0, 6(r3)
/* 803808F4 0037D854 98 C3 00 07 */ stb r6, 7(r3)
/* 803808F8 0037D858 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 803808FC 0037D85C 98 03 00 08 */ stb r0, 8(r3)
/* 80380900 0037D860 98 A3 00 09 */ stb r5, 9(r3)
/* 80380904 0037D864 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380908 0037D868 98 03 00 0A */ stb r0, 0xa(r3)
/* 8038090C 0037D86C 98 C3 00 0B */ stb r6, 0xb(r3)
/* 80380910 0037D870 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380914 0037D874 98 03 00 0C */ stb r0, 0xc(r3)
/* 80380918 0037D878 98 A3 00 0D */ stb r5, 0xd(r3)
/* 8038091C 0037D87C 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380920 0037D880 98 03 00 0E */ stb r0, 0xe(r3)
/* 80380924 0037D884 98 C3 00 0F */ stb r6, 0xf(r3)
/* 80380928 0037D888 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 8038092C 0037D88C 98 03 00 10 */ stb r0, 0x10(r3)
/* 80380930 0037D890 98 A3 00 11 */ stb r5, 0x11(r3)
/* 80380934 0037D894 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380938 0037D898 98 03 00 12 */ stb r0, 0x12(r3)
/* 8038093C 0037D89C 98 C3 00 13 */ stb r6, 0x13(r3)
/* 80380940 0037D8A0 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380944 0037D8A4 98 03 00 14 */ stb r0, 0x14(r3)
/* 80380948 0037D8A8 98 A3 00 15 */ stb r5, 0x15(r3)
/* 8038094C 0037D8AC 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380950 0037D8B0 98 03 00 16 */ stb r0, 0x16(r3)
/* 80380954 0037D8B4 98 C3 00 17 */ stb r6, 0x17(r3)
/* 80380958 0037D8B8 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 8038095C 0037D8BC 98 03 00 18 */ stb r0, 0x18(r3)
/* 80380960 0037D8C0 98 A3 00 19 */ stb r5, 0x19(r3)
/* 80380964 0037D8C4 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380968 0037D8C8 98 03 00 1A */ stb r0, 0x1a(r3)
/* 8038096C 0037D8CC 98 C3 00 1B */ stb r6, 0x1b(r3)
/* 80380970 0037D8D0 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380974 0037D8D4 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80380978 0037D8D8 98 A3 00 1D */ stb r5, 0x1d(r3)
/* 8038097C 0037D8DC 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380980 0037D8E0 98 03 00 1E */ stb r0, 0x1e(r3)
/* 80380984 0037D8E4 98 C3 00 1F */ stb r6, 0x1f(r3)
/* 80380988 0037D8E8 38 63 00 20 */ addi r3, r3, 0x20
/* 8038098C 0037D8EC 42 00 FF 3C */ bdnz lbl_803808C8
/* 80380990 0037D8F0 38 84 00 01 */ addi r4, r4, 1
/* 80380994 0037D8F4 2C 04 01 E0 */ cmpwi r4, 0x1e0
/* 80380998 0037D8F8 41 80 FF 28 */ blt lbl_803808C0
/* 8038099C 0037D8FC 7F A3 EB 78 */ mr r3, r29
/* 803809A0 0037D900 48 00 88 A1 */ bl VISetNextFrameBuffer
/* 803809A4 0037D904 38 60 02 80 */ li r3, 0x280
/* 803809A8 0037D908 38 80 01 E0 */ li r4, 0x1e0
/* 803809AC 0037D90C 4B FF FA 89 */ bl ConfigureVideo
/* 803809B0 0037D910 48 00 87 61 */ bl VIFlush
/* 803809B4 0037D914 48 00 89 75 */ bl VIGetRetraceCount
/* 803809B8 0037D918 7C 7C 1B 78 */ mr r28, r3
lbl_803809BC:
/* 803809BC 0037D91C 48 00 89 6D */ bl VIGetRetraceCount
/* 803809C0 0037D920 7C 1C 18 50 */ subf r0, r28, r3
/* 803809C4 0037D924 2C 00 00 02 */ cmpwi r0, 2
/* 803809C8 0037D928 41 80 FF F4 */ blt lbl_803809BC
/* 803809CC 0037D92C 80 1F 00 00 */ lwz r0, 0(r31)
/* 803809D0 0037D930 3C 60 43 30 */ lis r3, 0x4330
/* 803809D4 0037D934 C8 02 CF 30 */ lfd f0, lbl_805AEC50@sda21(r2)
/* 803809D8 0037D938 90 01 00 20 */ stw r0, 0x20(r1)
/* 803809DC 0037D93C C0 82 CF 04 */ lfs f4, lbl_805AEC24@sda21(r2)
/* 803809E0 0037D940 88 01 00 20 */ lbz r0, 0x20(r1)
/* 803809E4 0037D944 88 81 00 21 */ lbz r4, 0x21(r1)
/* 803809E8 0037D948 90 01 00 3C */ stw r0, 0x3c(r1)
/* 803809EC 0037D94C 88 A1 00 22 */ lbz r5, 0x22(r1)
/* 803809F0 0037D950 90 81 00 44 */ stw r4, 0x44(r1)
/* 803809F4 0037D954 C0 42 CF 08 */ lfs f2, lbl_805AEC28@sda21(r2)
/* 803809F8 0037D958 90 61 00 38 */ stw r3, 0x38(r1)
/* 803809FC 0037D95C C0 C2 CF 00 */ lfs f6, lbl_805AEC20@sda21(r2)
/* 80380A00 0037D960 90 61 00 40 */ stw r3, 0x40(r1)
/* 80380A04 0037D964 C8 61 00 38 */ lfd f3, 0x38(r1)
/* 80380A08 0037D968 90 A1 00 34 */ stw r5, 0x34(r1)
/* 80380A0C 0037D96C C8 21 00 40 */ lfd f1, 0x40(r1)
/* 80380A10 0037D970 EC 63 00 28 */ fsubs f3, f3, f0
/* 80380A14 0037D974 90 61 00 30 */ stw r3, 0x30(r1)
/* 80380A18 0037D978 EC 21 00 28 */ fsubs f1, f1, f0
/* 80380A1C 0037D97C C1 02 CF 18 */ lfs f8, lbl_805AEC38@sda21(r2)
/* 80380A20 0037D980 90 81 00 5C */ stw r4, 0x5c(r1)
/* 80380A24 0037D984 C8 A1 00 30 */ lfd f5, 0x30(r1)
/* 80380A28 0037D988 EC 64 00 F2 */ fmuls f3, f4, f3
/* 80380A2C 0037D98C EC 85 00 28 */ fsubs f4, f5, f0
/* 80380A30 0037D990 90 01 00 54 */ stw r0, 0x54(r1)
/* 80380A34 0037D994 EC 22 00 72 */ fmuls f1, f2, f1
/* 80380A38 0037D998 C1 22 CF 14 */ lfs f9, lbl_805AEC34@sda21(r2)
/* 80380A3C 0037D99C 90 61 00 50 */ stw r3, 0x50(r1)
/* 80380A40 0037D9A0 90 01 00 64 */ stw r0, 0x64(r1)
/* 80380A44 0037D9A4 EC 86 01 32 */ fmuls f4, f6, f4
/* 80380A48 0037D9A8 EC 23 08 2A */ fadds f1, f3, f1
/* 80380A4C 0037D9AC C8 41 00 50 */ lfd f2, 0x50(r1)
/* 80380A50 0037D9B0 90 81 00 6C */ stw r4, 0x6c(r1)
/* 80380A54 0037D9B4 EC 62 00 28 */ fsubs f3, f2, f0
/* 80380A58 0037D9B8 90 A1 00 4C */ stw r5, 0x4c(r1)
/* 80380A5C 0037D9BC ED 64 08 2A */ fadds f11, f4, f1
/* 80380A60 0037D9C0 C1 42 CF 10 */ lfs f10, lbl_805AEC30@sda21(r2)
/* 80380A64 0037D9C4 90 61 00 58 */ stw r3, 0x58(r1)
/* 80380A68 0037D9C8 ED 29 00 F2 */ fmuls f9, f9, f3
/* 80380A6C 0037D9CC C0 A2 CF 1C */ lfs f5, lbl_805AEC3C@sda21(r2)
/* 80380A70 0037D9D0 C8 21 00 58 */ lfd f1, 0x58(r1)
/* 80380A74 0037D9D4 90 61 00 60 */ stw r3, 0x60(r1)
/* 80380A78 0037D9D8 EC E1 00 28 */ fsubs f7, f1, f0
/* 80380A7C 0037D9DC C0 62 CF 20 */ lfs f3, lbl_805AEC40@sda21(r2)
/* 80380A80 0037D9E0 90 61 00 68 */ stw r3, 0x68(r1)
/* 80380A84 0037D9E4 C8 41 00 60 */ lfd f2, 0x60(r1)
/* 80380A88 0037D9E8 90 A1 00 74 */ stw r5, 0x74(r1)
/* 80380A8C 0037D9EC C8 21 00 68 */ lfd f1, 0x68(r1)
/* 80380A90 0037D9F0 EC C2 00 28 */ fsubs f6, f2, f0
/* 80380A94 0037D9F4 90 61 00 70 */ stw r3, 0x70(r1)
/* 80380A98 0037D9F8 EC E8 01 F2 */ fmuls f7, f8, f7
/* 80380A9C 0037D9FC EC 81 00 28 */ fsubs f4, f1, f0
/* 80380AA0 0037DA00 90 61 00 48 */ stw r3, 0x48(r1)
/* 80380AA4 0037DA04 C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 80380AA8 0037DA08 EC CA 01 B2 */ fmuls f6, f10, f6
/* 80380AAC 0037DA0C C9 01 00 48 */ lfd f8, 0x48(r1)
/* 80380AB0 0037DA10 C8 41 00 70 */ lfd f2, 0x70(r1)
/* 80380AB4 0037DA14 EC 85 01 32 */ fmuls f4, f5, f4
/* 80380AB8 0037DA18 ED 08 00 28 */ fsubs f8, f8, f0
/* 80380ABC 0037DA1C EC 02 00 28 */ fsubs f0, f2, f0
/* 80380AC0 0037DA20 C1 82 CE F8 */ lfs f12, lbl_805AEC18@sda21(r2)
/* 80380AC4 0037DA24 EC 49 38 28 */ fsubs f2, f9, f7
/* 80380AC8 0037DA28 EC AA 02 32 */ fmuls f5, f10, f8
/* 80380ACC 0037DA2C ED 61 58 2A */ fadds f11, f1, f11
/* 80380AD0 0037DA30 EC 03 00 32 */ fmuls f0, f3, f0
/* 80380AD4 0037DA34 C0 E2 CF 0C */ lfs f7, lbl_805AEC2C@sda21(r2)
/* 80380AD8 0037DA38 EC A5 10 2A */ fadds f5, f5, f2
/* 80380ADC 0037DA3C EC 46 20 28 */ fsubs f2, f6, f4
/* 80380AE0 0037DA40 ED 2C 58 2A */ fadds f9, f12, f11
/* 80380AE4 0037DA44 C1 02 CF 24 */ lfs f8, lbl_805AEC44@sda21(r2)
/* 80380AE8 0037DA48 EC 67 28 2A */ fadds f3, f7, f5
/* 80380AEC 0037DA4C EC 02 00 28 */ fsubs f0, f2, f0
/* 80380AF0 0037DA50 FC 09 40 40 */ fcmpo cr0, f9, f8
/* 80380AF4 0037DA54 EC 6C 18 2A */ fadds f3, f12, f3
/* 80380AF8 0037DA58 EC 07 00 2A */ fadds f0, f7, f0
/* 80380AFC 0037DA5C EC 4C 00 2A */ fadds f2, f12, f0
/* 80380B00 0037DA60 40 81 00 08 */ ble lbl_80380B08
/* 80380B04 0037DA64 48 00 00 18 */ b lbl_80380B1C
lbl_80380B08:
/* 80380B08 0037DA68 FC 09 08 40 */ fcmpo cr0, f9, f1
/* 80380B0C 0037DA6C 40 80 00 08 */ bge lbl_80380B14
/* 80380B10 0037DA70 48 00 00 08 */ b lbl_80380B18
lbl_80380B14:
/* 80380B14 0037DA74 FC 20 48 90 */ fmr f1, f9
lbl_80380B18:
/* 80380B18 0037DA78 FD 00 08 90 */ fmr f8, f1
lbl_80380B1C:
/* 80380B1C 0037DA7C FC 00 40 1E */ fctiwz f0, f8
/* 80380B20 0037DA80 C0 22 CF 28 */ lfs f1, lbl_805AEC48@sda21(r2)
/* 80380B24 0037DA84 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 80380B28 0037DA88 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80380B2C 0037DA8C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80380B30 0037DA90 98 01 00 1C */ stb r0, 0x1c(r1)
/* 80380B34 0037DA94 40 81 00 08 */ ble lbl_80380B3C
/* 80380B38 0037DA98 48 00 00 18 */ b lbl_80380B50
lbl_80380B3C:
/* 80380B3C 0037DA9C C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 80380B40 0037DAA0 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 80380B44 0037DAA4 40 80 00 08 */ bge lbl_80380B4C
/* 80380B48 0037DAA8 48 00 00 08 */ b lbl_80380B50
lbl_80380B4C:
/* 80380B4C 0037DAAC FC 20 18 90 */ fmr f1, f3
lbl_80380B50:
/* 80380B50 0037DAB0 FC 00 08 1E */ fctiwz f0, f1
/* 80380B54 0037DAB4 C0 22 CF 28 */ lfs f1, lbl_805AEC48@sda21(r2)
/* 80380B58 0037DAB8 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80380B5C 0037DABC D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80380B60 0037DAC0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80380B64 0037DAC4 98 01 00 1D */ stb r0, 0x1d(r1)
/* 80380B68 0037DAC8 40 81 00 08 */ ble lbl_80380B70
/* 80380B6C 0037DACC 48 00 00 18 */ b lbl_80380B84
lbl_80380B70:
/* 80380B70 0037DAD0 C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 80380B74 0037DAD4 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80380B78 0037DAD8 40 80 00 08 */ bge lbl_80380B80
/* 80380B7C 0037DADC 48 00 00 08 */ b lbl_80380B84
lbl_80380B80:
/* 80380B80 0037DAE0 FC 20 10 90 */ fmr f1, f2
lbl_80380B84:
/* 80380B84 0037DAE4 FC 00 08 1E */ fctiwz f0, f1
/* 80380B88 0037DAE8 38 00 00 00 */ li r0, 0
/* 80380B8C 0037DAEC 38 C1 00 24 */ addi r6, r1, 0x24
/* 80380B90 0037DAF0 38 7D 00 00 */ addi r3, r29, 0
/* 80380B94 0037DAF4 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80380B98 0037DAF8 38 80 02 80 */ li r4, 0x280
/* 80380B9C 0037DAFC 80 E1 00 34 */ lwz r7, 0x34(r1)
/* 80380BA0 0037DB00 38 A0 01 E0 */ li r5, 0x1e0
/* 80380BA4 0037DB04 39 00 00 64 */ li r8, 0x64
/* 80380BA8 0037DB08 98 E1 00 1E */ stb r7, 0x1e(r1)
/* 80380BAC 0037DB0C 38 E0 00 30 */ li r7, 0x30
/* 80380BB0 0037DB10 98 01 00 1F */ stb r0, 0x1f(r1)
/* 80380BB4 0037DB14 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80380BB8 0037DB18 90 01 00 24 */ stw r0, 0x24(r1)
/* 80380BBC 0037DB1C A1 3E 00 0E */ lhz r9, 0xe(r30)
/* 80380BC0 0037DB20 81 5F 00 08 */ lwz r10, 8(r31)
/* 80380BC4 0037DB24 4B FF F4 95 */ bl ScreenReport
/* 80380BC8 0037DB28 3C 80 00 09 */ lis r4, 0x00096000@ha
/* 80380BCC 0037DB2C 38 7D 00 00 */ addi r3, r29, 0
/* 80380BD0 0037DB30 38 84 60 00 */ addi r4, r4, 0x00096000@l
/* 80380BD4 0037DB34 4B FF DE DD */ bl DCFlushRange
/* 80380BD8 0037DB38 38 60 00 00 */ li r3, 0
/* 80380BDC 0037DB3C 48 00 86 D1 */ bl VISetBlack
/* 80380BE0 0037DB40 48 00 85 31 */ bl VIFlush
/* 80380BE4 0037DB44 48 00 87 45 */ bl VIGetRetraceCount
/* 80380BE8 0037DB48 7C 7D 1B 78 */ mr r29, r3
lbl_80380BEC:
/* 80380BEC 0037DB4C 48 00 87 3D */ bl VIGetRetraceCount
/* 80380BF0 0037DB50 7C 1D 18 50 */ subf r0, r29, r3
/* 80380BF4 0037DB54 2C 00 00 01 */ cmpwi r0, 1
/* 80380BF8 0037DB58 41 80 FF F4 */ blt lbl_80380BEC
/* 80380BFC 0037DB5C 48 00 0A 65 */ bl OSDisableInterrupts
/* 80380C00 0037DB60 80 9F 00 08 */ lwz r4, 8(r31)
/* 80380C04 0037DB64 4C C6 31 82 */ crclr 6
/* 80380C08 0037DB68 38 6D 9F 80 */ addi r3, r13, lbl_805A8B40@sda21
/* 80380C0C 0037DB6C 4B FF ED A1 */ bl OSReport
/* 80380C10 0037DB70 4B FE EC 05 */ bl PPCHalt
/* 80380C14 0037DB74 80 01 00 8C */ lwz r0, 0x8c(r1)
/* 80380C18 0037DB78 83 E1 00 84 */ lwz r31, 0x84(r1)
/* 80380C1C 0037DB7C 83 C1 00 80 */ lwz r30, 0x80(r1)
/* 80380C20 0037DB80 83 A1 00 7C */ lwz r29, 0x7c(r1)
/* 80380C24 0037DB84 83 81 00 78 */ lwz r28, 0x78(r1)
/* 80380C28 0037DB88 38 21 00 88 */ addi r1, r1, 0x88
/* 80380C2C 0037DB8C 7C 08 03 A6 */ mtlr r0
/* 80380C30 0037DB90 4E 80 00 20 */ blr