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

659 lines
26 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global OSReport
OSReport:
/* 8001D990 000197D0 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8001D994 000197D4 7C 08 02 A6 */ mflr r0
/* 8001D998 000197D8 90 01 00 84 */ stw r0, 0x84(r1)
/* 8001D99C 000197DC 40 86 00 24 */ bne cr1, lbl_8001D9C0
/* 8001D9A0 000197E0 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 8001D9A4 000197E4 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 8001D9A8 000197E8 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8001D9AC 000197EC D8 81 00 40 */ stfd f4, 0x40(r1)
/* 8001D9B0 000197F0 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 8001D9B4 000197F4 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 8001D9B8 000197F8 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8001D9BC 000197FC D9 01 00 60 */ stfd f8, 0x60(r1)
.global lbl_8001D9C0
lbl_8001D9C0:
/* 8001D9C0 00019800 39 61 00 88 */ addi r11, r1, 0x88
/* 8001D9C4 00019804 38 01 00 08 */ addi r0, r1, 0x8
/* 8001D9C8 00019808 3D 80 01 00 */ lis r12, 0x100
/* 8001D9CC 0001980C 90 81 00 0C */ stw r4, 0xc(r1)
/* 8001D9D0 00019810 38 81 00 68 */ addi r4, r1, 0x68
/* 8001D9D4 00019814 90 61 00 08 */ stw r3, 0x8(r1)
/* 8001D9D8 00019818 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8001D9DC 0001981C 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8001D9E0 00019820 90 E1 00 18 */ stw r7, 0x18(r1)
/* 8001D9E4 00019824 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8001D9E8 00019828 91 21 00 20 */ stw r9, 0x20(r1)
/* 8001D9EC 0001982C 91 41 00 24 */ stw r10, 0x24(r1)
/* 8001D9F0 00019830 91 81 00 68 */ stw r12, 0x68(r1)
/* 8001D9F4 00019834 91 61 00 6C */ stw r11, 0x6c(r1)
/* 8001D9F8 00019838 90 01 00 70 */ stw r0, 0x70(r1)
/* 8001D9FC 0001983C 4B FE FA D1 */ bl vprintf
/* 8001DA00 00019840 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8001DA04 00019844 7C 08 03 A6 */ mtlr r0
/* 8001DA08 00019848 38 21 00 80 */ addi r1, r1, 0x80
/* 8001DA0C 0001984C 4E 80 00 20 */ blr
.global OSVReport
OSVReport:
/* 8001DA10 00019850 4B FE FA BC */ b vprintf
/* 8001DA14 00019854 00 00 00 00 */ .4byte 0x00000000
/* 8001DA18 00019858 00 00 00 00 */ .4byte 0x00000000
/* 8001DA1C 0001985C 00 00 00 00 */ .4byte 0x00000000
.global OSSetErrorHandler
OSSetErrorHandler:
/* 8001DA20 00019860 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8001DA24 00019864 7C 08 02 A6 */ mflr r0
/* 8001DA28 00019868 90 01 00 24 */ stw r0, 0x24(r1)
/* 8001DA2C 0001986C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8001DA30 00019870 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8001DA34 00019874 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8001DA38 00019878 7C 7D 1B 78 */ mr r29, r3
/* 8001DA3C 0001987C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8001DA40 00019880 7C 9C 23 78 */ mr r28, r4
/* 8001DA44 00019884 48 00 3D DD */ bl OSDisableInterrupts
/* 8001DA48 00019888 3C 80 80 4A */ lis r4, __OSErrorTable@ha
/* 8001DA4C 0001988C 57 A0 13 BA */ rlwinm r0, r29, 2, 14, 29
/* 8001DA50 00019890 38 84 91 10 */ addi r4, r4, __OSErrorTable@l
/* 8001DA54 00019894 28 1D 00 10 */ cmplwi r29, 0x10
/* 8001DA58 00019898 7F C4 00 2E */ lwzx r30, r4, r0
/* 8001DA5C 0001989C 7C 7D 1B 78 */ mr r29, r3
/* 8001DA60 000198A0 7F 84 01 2E */ stwx r28, r4, r0
/* 8001DA64 000198A4 40 82 02 1C */ bne lbl_8001DC80
/* 8001DA68 000198A8 4B FF C6 49 */ bl PPCMfmsr
/* 8001DA6C 000198AC 7C 7F 1B 78 */ mr r31, r3
/* 8001DA70 000198B0 60 63 20 00 */ ori r3, r3, 0x2000
/* 8001DA74 000198B4 4B FF C6 4D */ bl PPCMtmsr
/* 8001DA78 000198B8 4B FF C7 39 */ bl PPCMffpscr
/* 8001DA7C 000198BC 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8001DA80 000198C0 41 82 01 9C */ beq lbl_8001DC1C
/* 8001DA84 000198C4 3C A0 80 00 */ lis r5, 0x800000DC@ha
/* 8001DA88 000198C8 3C 80 60 06 */ lis r4, 0x6006
/* 8001DA8C 000198CC 81 25 00 DC */ lwz r9, 0x800000DC@l(r5)
/* 8001DA90 000198D0 38 A4 F8 FF */ addi r5, r4, -0x701
/* 8001DA94 000198D4 39 00 FF FF */ li r8, -0x1
/* 8001DA98 000198D8 38 E0 00 04 */ li r7, 0x4
/* 8001DA9C 000198DC 38 00 00 02 */ li r0, 0x2
/* 8001DAA0 000198E0 48 00 01 60 */ b lbl_8001DC00
/* 8001DAA4 000198E4 60 00 00 00 */ nop
.global lbl_8001DAA8
lbl_8001DAA8:
/* 8001DAA8 000198E8 80 89 01 9C */ lwz r4, 0x19c(r9)
/* 8001DAAC 000198EC 60 84 09 00 */ ori r4, r4, 0x900
/* 8001DAB0 000198F0 90 89 01 9C */ stw r4, 0x19c(r9)
/* 8001DAB4 000198F4 A0 C9 01 A2 */ lhz r6, 0x1a2(r9)
/* 8001DAB8 000198F8 54 C4 07 FF */ clrlwi. r4, r6, 31
/* 8001DABC 000198FC 40 82 01 28 */ bne lbl_8001DBE4
/* 8001DAC0 00019900 60 C4 00 01 */ ori r4, r6, 0x1
/* 8001DAC4 00019904 B0 89 01 A2 */ sth r4, 0x1a2(r9)
/* 8001DAC8 00019908 38 89 00 90 */ addi r4, r9, 0x90
/* 8001DACC 0001990C 38 C9 01 C8 */ addi r6, r9, 0x1c8
/* 8001DAD0 00019910 7C 09 03 A6 */ mtctr r0
.global lbl_8001DAD4
lbl_8001DAD4:
/* 8001DAD4 00019914 91 04 00 04 */ stw r8, 0x4(r4)
/* 8001DAD8 00019918 91 04 00 00 */ stw r8, 0x0(r4)
/* 8001DADC 0001991C 91 06 00 04 */ stw r8, 0x4(r6)
/* 8001DAE0 00019920 91 06 00 00 */ stw r8, 0x0(r6)
/* 8001DAE4 00019924 91 04 00 0C */ stw r8, 0xc(r4)
/* 8001DAE8 00019928 91 04 00 08 */ stw r8, 0x8(r4)
/* 8001DAEC 0001992C 91 06 00 0C */ stw r8, 0xc(r6)
/* 8001DAF0 00019930 91 06 00 08 */ stw r8, 0x8(r6)
/* 8001DAF4 00019934 91 04 00 14 */ stw r8, 0x14(r4)
/* 8001DAF8 00019938 91 04 00 10 */ stw r8, 0x10(r4)
/* 8001DAFC 0001993C 91 06 00 14 */ stw r8, 0x14(r6)
/* 8001DB00 00019940 91 06 00 10 */ stw r8, 0x10(r6)
/* 8001DB04 00019944 91 04 00 1C */ stw r8, 0x1c(r4)
/* 8001DB08 00019948 91 04 00 18 */ stw r8, 0x18(r4)
/* 8001DB0C 0001994C 91 06 00 1C */ stw r8, 0x1c(r6)
/* 8001DB10 00019950 91 06 00 18 */ stw r8, 0x18(r6)
/* 8001DB14 00019954 91 04 00 24 */ stw r8, 0x24(r4)
/* 8001DB18 00019958 91 04 00 20 */ stw r8, 0x20(r4)
/* 8001DB1C 0001995C 91 06 00 24 */ stw r8, 0x24(r6)
/* 8001DB20 00019960 91 06 00 20 */ stw r8, 0x20(r6)
/* 8001DB24 00019964 91 04 00 2C */ stw r8, 0x2c(r4)
/* 8001DB28 00019968 91 04 00 28 */ stw r8, 0x28(r4)
/* 8001DB2C 0001996C 91 06 00 2C */ stw r8, 0x2c(r6)
/* 8001DB30 00019970 91 06 00 28 */ stw r8, 0x28(r6)
/* 8001DB34 00019974 91 04 00 34 */ stw r8, 0x34(r4)
/* 8001DB38 00019978 91 04 00 30 */ stw r8, 0x30(r4)
/* 8001DB3C 0001997C 91 06 00 34 */ stw r8, 0x34(r6)
/* 8001DB40 00019980 91 06 00 30 */ stw r8, 0x30(r6)
/* 8001DB44 00019984 91 04 00 3C */ stw r8, 0x3c(r4)
/* 8001DB48 00019988 91 04 00 38 */ stw r8, 0x38(r4)
/* 8001DB4C 0001998C 91 06 00 3C */ stw r8, 0x3c(r6)
/* 8001DB50 00019990 91 06 00 38 */ stw r8, 0x38(r6)
/* 8001DB54 00019994 91 04 00 44 */ stw r8, 0x44(r4)
/* 8001DB58 00019998 91 04 00 40 */ stw r8, 0x40(r4)
/* 8001DB5C 0001999C 91 06 00 44 */ stw r8, 0x44(r6)
/* 8001DB60 000199A0 91 06 00 40 */ stw r8, 0x40(r6)
/* 8001DB64 000199A4 91 04 00 4C */ stw r8, 0x4c(r4)
/* 8001DB68 000199A8 91 04 00 48 */ stw r8, 0x48(r4)
/* 8001DB6C 000199AC 91 06 00 4C */ stw r8, 0x4c(r6)
/* 8001DB70 000199B0 91 06 00 48 */ stw r8, 0x48(r6)
/* 8001DB74 000199B4 91 04 00 54 */ stw r8, 0x54(r4)
/* 8001DB78 000199B8 91 04 00 50 */ stw r8, 0x50(r4)
/* 8001DB7C 000199BC 91 06 00 54 */ stw r8, 0x54(r6)
/* 8001DB80 000199C0 91 06 00 50 */ stw r8, 0x50(r6)
/* 8001DB84 000199C4 91 04 00 5C */ stw r8, 0x5c(r4)
/* 8001DB88 000199C8 91 04 00 58 */ stw r8, 0x58(r4)
/* 8001DB8C 000199CC 91 06 00 5C */ stw r8, 0x5c(r6)
/* 8001DB90 000199D0 91 06 00 58 */ stw r8, 0x58(r6)
/* 8001DB94 000199D4 91 04 00 64 */ stw r8, 0x64(r4)
/* 8001DB98 000199D8 91 04 00 60 */ stw r8, 0x60(r4)
/* 8001DB9C 000199DC 91 06 00 64 */ stw r8, 0x64(r6)
/* 8001DBA0 000199E0 91 06 00 60 */ stw r8, 0x60(r6)
/* 8001DBA4 000199E4 91 04 00 6C */ stw r8, 0x6c(r4)
/* 8001DBA8 000199E8 91 04 00 68 */ stw r8, 0x68(r4)
/* 8001DBAC 000199EC 91 06 00 6C */ stw r8, 0x6c(r6)
/* 8001DBB0 000199F0 91 06 00 68 */ stw r8, 0x68(r6)
/* 8001DBB4 000199F4 91 04 00 74 */ stw r8, 0x74(r4)
/* 8001DBB8 000199F8 91 04 00 70 */ stw r8, 0x70(r4)
/* 8001DBBC 000199FC 91 06 00 74 */ stw r8, 0x74(r6)
/* 8001DBC0 00019A00 91 06 00 70 */ stw r8, 0x70(r6)
/* 8001DBC4 00019A04 91 04 00 7C */ stw r8, 0x7c(r4)
/* 8001DBC8 00019A08 91 04 00 78 */ stw r8, 0x78(r4)
/* 8001DBCC 00019A0C 38 84 00 80 */ addi r4, r4, 0x80
/* 8001DBD0 00019A10 91 06 00 7C */ stw r8, 0x7c(r6)
/* 8001DBD4 00019A14 91 06 00 78 */ stw r8, 0x78(r6)
/* 8001DBD8 00019A18 38 C6 00 80 */ addi r6, r6, 0x80
/* 8001DBDC 00019A1C 42 00 FE F8 */ bdnz lbl_8001DAD4
/* 8001DBE0 00019A20 90 E9 01 94 */ stw r7, 0x194(r9)
.global lbl_8001DBE4
lbl_8001DBE4:
/* 8001DBE4 00019A24 80 8D 80 A8 */ lwz r4, __OSFpscrEnableBits@sda21(r13)
/* 8001DBE8 00019A28 80 C9 01 94 */ lwz r6, 0x194(r9)
/* 8001DBEC 00019A2C 54 84 06 38 */ rlwinm r4, r4, 0, 24, 28
/* 8001DBF0 00019A30 7C C4 23 78 */ or r4, r6, r4
/* 8001DBF4 00019A34 7C 84 28 38 */ and r4, r4, r5
/* 8001DBF8 00019A38 90 89 01 94 */ stw r4, 0x194(r9)
/* 8001DBFC 00019A3C 81 29 02 FC */ lwz r9, 0x2fc(r9)
.global lbl_8001DC00
lbl_8001DC00:
/* 8001DC00 00019A40 2C 09 00 00 */ cmpwi r9, 0x0
/* 8001DC04 00019A44 40 82 FE A4 */ bne lbl_8001DAA8
/* 8001DC08 00019A48 80 0D 80 A8 */ lwz r0, __OSFpscrEnableBits@sda21(r13)
/* 8001DC0C 00019A4C 63 FF 09 00 */ ori r31, r31, 0x900
/* 8001DC10 00019A50 54 00 06 38 */ rlwinm r0, r0, 0, 24, 28
/* 8001DC14 00019A54 7C 64 03 78 */ or r4, r3, r0
/* 8001DC18 00019A58 48 00 00 50 */ b lbl_8001DC68
.global lbl_8001DC1C
lbl_8001DC1C:
/* 8001DC1C 00019A5C 3C A0 80 00 */ lis r5, 0x800000DC@ha
/* 8001DC20 00019A60 3C 80 60 06 */ lis r4, 0x6006
/* 8001DC24 00019A64 80 C5 00 DC */ lwz r6, 0x800000DC@l(r5)
/* 8001DC28 00019A68 38 84 F8 FF */ addi r4, r4, -0x701
/* 8001DC2C 00019A6C 38 A0 F6 FF */ li r5, -0x901
/* 8001DC30 00019A70 48 00 00 24 */ b lbl_8001DC54
.global lbl_8001DC34
lbl_8001DC34:
/* 8001DC34 00019A74 80 06 01 9C */ lwz r0, 0x19c(r6)
/* 8001DC38 00019A78 7C 00 28 38 */ and r0, r0, r5
/* 8001DC3C 00019A7C 90 06 01 9C */ stw r0, 0x19c(r6)
/* 8001DC40 00019A80 80 06 01 94 */ lwz r0, 0x194(r6)
/* 8001DC44 00019A84 54 00 07 6E */ rlwinm r0, r0, 0, 29, 23
/* 8001DC48 00019A88 7C 00 20 38 */ and r0, r0, r4
/* 8001DC4C 00019A8C 90 06 01 94 */ stw r0, 0x194(r6)
/* 8001DC50 00019A90 80 C6 02 FC */ lwz r6, 0x2fc(r6)
.global lbl_8001DC54
lbl_8001DC54:
/* 8001DC54 00019A94 2C 06 00 00 */ cmpwi r6, 0x0
/* 8001DC58 00019A98 40 82 FF DC */ bne lbl_8001DC34
/* 8001DC5C 00019A9C 38 00 F6 FF */ li r0, -0x901
/* 8001DC60 00019AA0 54 64 07 6E */ rlwinm r4, r3, 0, 29, 23
/* 8001DC64 00019AA4 7F FF 00 38 */ and r31, r31, r0
.global lbl_8001DC68
lbl_8001DC68:
/* 8001DC68 00019AA8 3C 60 60 06 */ lis r3, 0x6006
/* 8001DC6C 00019AAC 38 03 F8 FF */ addi r0, r3, -0x701
/* 8001DC70 00019AB0 7C 83 00 38 */ and r3, r4, r0
/* 8001DC74 00019AB4 4B FF C5 5D */ bl PPCMtfpscr
/* 8001DC78 00019AB8 7F E3 FB 78 */ mr r3, r31
/* 8001DC7C 00019ABC 4B FF C4 45 */ bl PPCMtmsr
.global lbl_8001DC80
lbl_8001DC80:
/* 8001DC80 00019AC0 7F A3 EB 78 */ mr r3, r29
/* 8001DC84 00019AC4 48 00 3B DD */ bl OSRestoreInterrupts
/* 8001DC88 00019AC8 7F C3 F3 78 */ mr r3, r30
/* 8001DC8C 00019ACC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8001DC90 00019AD0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8001DC94 00019AD4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8001DC98 00019AD8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8001DC9C 00019ADC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8001DCA0 00019AE0 7C 08 03 A6 */ mtlr r0
/* 8001DCA4 00019AE4 38 21 00 20 */ addi r1, r1, 0x20
/* 8001DCA8 00019AE8 4E 80 00 20 */ blr
/* 8001DCAC 00019AEC 00 00 00 00 */ .4byte 0x00000000
.global __OSUnhandledException
__OSUnhandledException:
/* 8001DCB0 00019AF0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8001DCB4 00019AF4 7C 08 02 A6 */ mflr r0
/* 8001DCB8 00019AF8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8001DCBC 00019AFC 39 61 00 30 */ addi r11, r1, 0x30
/* 8001DCC0 00019B00 4B FE 96 6D */ bl lbl_8000732C
/* 8001DCC4 00019B04 3F E0 80 42 */ lis r31, "@641"@ha
/* 8001DCC8 00019B08 7C 79 1B 78 */ mr r25, r3
/* 8001DCCC 00019B0C 7C 9A 23 78 */ mr r26, r4
/* 8001DCD0 00019B10 7C BB 2B 78 */ mr r27, r5
/* 8001DCD4 00019B14 7C DC 33 78 */ mr r28, r6
/* 8001DCD8 00019B18 3B FF 25 B8 */ addi r31, r31, "@641"@l
/* 8001DCDC 00019B1C 48 00 7E 65 */ bl OSGetTime
/* 8001DCE0 00019B20 80 BA 01 9C */ lwz r5, 0x19c(r26)
/* 8001DCE4 00019B24 7C 9D 23 78 */ mr r29, r4
/* 8001DCE8 00019B28 7C 7E 1B 78 */ mr r30, r3
/* 8001DCEC 00019B2C 54 A0 07 BD */ rlwinm. r0, r5, 0, 30, 30
/* 8001DCF0 00019B30 40 82 00 18 */ bne lbl_8001DD08
/* 8001DCF4 00019B34 7F 24 CB 78 */ mr r4, r25
/* 8001DCF8 00019B38 38 7F 00 5C */ addi r3, r31, 0x5c
/* 8001DCFC 00019B3C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DD00 00019B40 4B FF FC 91 */ bl OSReport
/* 8001DD04 00019B44 48 00 01 60 */ b lbl_8001DE64
.global lbl_8001DD08
lbl_8001DD08:
/* 8001DD08 00019B48 28 19 00 06 */ cmplwi r25, 0x6
/* 8001DD0C 00019B4C 40 82 00 EC */ bne lbl_8001DDF8
/* 8001DD10 00019B50 54 A0 02 D7 */ rlwinm. r0, r5, 0, 11, 11
/* 8001DD14 00019B54 41 82 00 E4 */ beq lbl_8001DDF8
/* 8001DD18 00019B58 3C 60 80 4A */ lis r3, __OSErrorTable@ha
/* 8001DD1C 00019B5C 38 63 91 10 */ addi r3, r3, __OSErrorTable@l
/* 8001DD20 00019B60 80 03 00 40 */ lwz r0, 0x40(r3)
/* 8001DD24 00019B64 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001DD28 00019B68 41 82 00 D0 */ beq lbl_8001DDF8
/* 8001DD2C 00019B6C 3B 20 00 10 */ li r25, 0x10
/* 8001DD30 00019B70 4B FF C3 81 */ bl PPCMfmsr
/* 8001DD34 00019B74 7C 77 1B 78 */ mr r23, r3
/* 8001DD38 00019B78 60 63 20 00 */ ori r3, r3, 0x2000
/* 8001DD3C 00019B7C 4B FF C3 85 */ bl PPCMtmsr
/* 8001DD40 00019B80 3C 60 80 00 */ lis r3, 0x800000D8@ha
/* 8001DD44 00019B84 80 63 00 D8 */ lwz r3, 0x800000D8@l(r3)
/* 8001DD48 00019B88 2C 03 00 00 */ cmpwi r3, 0x0
/* 8001DD4C 00019B8C 41 82 00 08 */ beq lbl_8001DD54
/* 8001DD50 00019B90 4B FF F4 A1 */ bl OSSaveFPUContext
.global lbl_8001DD54
lbl_8001DD54:
/* 8001DD54 00019B94 4B FF C4 5D */ bl PPCMffpscr
/* 8001DD58 00019B98 3F 00 60 06 */ lis r24, 0x6006
/* 8001DD5C 00019B9C 38 18 F8 FF */ addi r0, r24, -0x701
/* 8001DD60 00019BA0 7C 63 00 38 */ and r3, r3, r0
/* 8001DD64 00019BA4 4B FF C4 6D */ bl PPCMtfpscr
/* 8001DD68 00019BA8 7E E3 BB 78 */ mr r3, r23
/* 8001DD6C 00019BAC 4B FF C3 55 */ bl PPCMtmsr
/* 8001DD70 00019BB0 3E E0 80 00 */ lis r23, 0x800000D8@ha
/* 8001DD74 00019BB4 80 17 00 D8 */ lwz r0, 0x800000D8@l(r23)
/* 8001DD78 00019BB8 7C 00 D0 40 */ cmplw r0, r26
/* 8001DD7C 00019BBC 40 82 00 60 */ bne lbl_8001DDDC
/* 8001DD80 00019BC0 48 00 6A 11 */ bl OSDisableScheduler
/* 8001DD84 00019BC4 7F 44 D3 78 */ mr r4, r26
/* 8001DD88 00019BC8 7F 65 DB 78 */ mr r5, r27
/* 8001DD8C 00019BCC 7F 86 E3 78 */ mr r6, r28
/* 8001DD90 00019BD0 38 60 00 10 */ li r3, 0x10
/* 8001DD94 00019BD4 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DD98 00019BD8 3C E0 80 4A */ lis r7, __OSErrorTable@ha
/* 8001DD9C 00019BDC 38 E7 91 10 */ addi r7, r7, __OSErrorTable@l
/* 8001DDA0 00019BE0 81 87 00 40 */ lwz r12, 0x40(r7)
/* 8001DDA4 00019BE4 7D 89 03 A6 */ mtctr r12
/* 8001DDA8 00019BE8 4E 80 04 21 */ bctrl
/* 8001DDAC 00019BEC 80 9A 01 9C */ lwz r4, 0x19c(r26)
/* 8001DDB0 00019BF0 38 60 00 00 */ li r3, 0x0
/* 8001DDB4 00019BF4 38 18 F8 FF */ addi r0, r24, -0x701
/* 8001DDB8 00019BF8 54 84 04 E2 */ rlwinm r4, r4, 0, 19, 17
/* 8001DDBC 00019BFC 90 9A 01 9C */ stw r4, 0x19c(r26)
/* 8001DDC0 00019C00 90 77 00 D8 */ stw r3, 0xd8(r23)
/* 8001DDC4 00019C04 80 7A 01 94 */ lwz r3, 0x194(r26)
/* 8001DDC8 00019C08 7C 60 00 38 */ and r0, r3, r0
/* 8001DDCC 00019C0C 90 1A 01 94 */ stw r0, 0x194(r26)
/* 8001DDD0 00019C10 48 00 6A 01 */ bl OSEnableScheduler
/* 8001DDD4 00019C14 48 00 6F 1D */ bl __OSReschedule
/* 8001DDD8 00019C18 48 00 00 18 */ b lbl_8001DDF0
.global lbl_8001DDDC
lbl_8001DDDC:
/* 8001DDDC 00019C1C 80 7A 01 9C */ lwz r3, 0x19c(r26)
/* 8001DDE0 00019C20 38 00 00 00 */ li r0, 0x0
/* 8001DDE4 00019C24 54 63 04 E2 */ rlwinm r3, r3, 0, 19, 17
/* 8001DDE8 00019C28 90 7A 01 9C */ stw r3, 0x19c(r26)
/* 8001DDEC 00019C2C 90 17 00 D8 */ stw r0, 0xd8(r23)
.global lbl_8001DDF0
lbl_8001DDF0:
/* 8001DDF0 00019C30 7F 43 D3 78 */ mr r3, r26
/* 8001DDF4 00019C34 4B FF F4 FD */ bl OSLoadContext
.global lbl_8001DDF8
lbl_8001DDF8:
/* 8001DDF8 00019C38 3F 00 80 4A */ lis r24, __OSErrorTable@ha
/* 8001DDFC 00019C3C 57 37 15 BA */ rlwinm r23, r25, 2, 22, 29
/* 8001DE00 00019C40 3B 18 91 10 */ addi r24, r24, __OSErrorTable@l
/* 8001DE04 00019C44 7C 18 B8 2E */ lwzx r0, r24, r23
/* 8001DE08 00019C48 2C 00 00 00 */ cmpwi r0, 0x0
/* 8001DE0C 00019C4C 41 82 00 38 */ beq lbl_8001DE44
/* 8001DE10 00019C50 48 00 69 81 */ bl OSDisableScheduler
/* 8001DE14 00019C54 7F 23 CB 78 */ mr r3, r25
/* 8001DE18 00019C58 7F 44 D3 78 */ mr r4, r26
/* 8001DE1C 00019C5C 7F 65 DB 78 */ mr r5, r27
/* 8001DE20 00019C60 7F 86 E3 78 */ mr r6, r28
/* 8001DE24 00019C64 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DE28 00019C68 7D 98 B8 2E */ lwzx r12, r24, r23
/* 8001DE2C 00019C6C 7D 89 03 A6 */ mtctr r12
/* 8001DE30 00019C70 4E 80 04 21 */ bctrl
/* 8001DE34 00019C74 48 00 69 9D */ bl OSEnableScheduler
/* 8001DE38 00019C78 48 00 6E B9 */ bl __OSReschedule
/* 8001DE3C 00019C7C 7F 43 D3 78 */ mr r3, r26
/* 8001DE40 00019C80 4B FF F4 B1 */ bl OSLoadContext
.global lbl_8001DE44
lbl_8001DE44:
/* 8001DE44 00019C84 28 19 00 08 */ cmplwi r25, 0x8
/* 8001DE48 00019C88 40 82 00 0C */ bne lbl_8001DE54
/* 8001DE4C 00019C8C 7F 43 D3 78 */ mr r3, r26
/* 8001DE50 00019C90 4B FF F4 A1 */ bl OSLoadContext
.global lbl_8001DE54
lbl_8001DE54:
/* 8001DE54 00019C94 7F 24 CB 78 */ mr r4, r25
/* 8001DE58 00019C98 38 7F 00 7C */ addi r3, r31, 0x7c
/* 8001DE5C 00019C9C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DE60 00019CA0 4B FF FB 31 */ bl OSReport
.global lbl_8001DE64
lbl_8001DE64:
/* 8001DE64 00019CA4 38 6D 80 AC */ addi r3, r13, "@703"@sda21
/* 8001DE68 00019CA8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DE6C 00019CAC 4B FF FB 25 */ bl OSReport
/* 8001DE70 00019CB0 7F 43 D3 78 */ mr r3, r26
/* 8001DE74 00019CB4 4B FF F6 BD */ bl OSDumpContext
/* 8001DE78 00019CB8 7F 64 DB 78 */ mr r4, r27
/* 8001DE7C 00019CBC 7F 85 E3 78 */ mr r5, r28
/* 8001DE80 00019CC0 38 7F 00 94 */ addi r3, r31, 0x94
/* 8001DE84 00019CC4 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DE88 00019CC8 4B FF FB 09 */ bl OSReport
/* 8001DE8C 00019CCC 7F A6 EB 78 */ mr r6, r29
/* 8001DE90 00019CD0 7F C5 F3 78 */ mr r5, r30
/* 8001DE94 00019CD4 38 7F 00 C8 */ addi r3, r31, 0xc8
/* 8001DE98 00019CD8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DE9C 00019CDC 4B FF FA F5 */ bl OSReport
/* 8001DEA0 00019CE0 2C 19 00 02 */ cmpwi r25, 0x2
/* 8001DEA4 00019CE4 41 82 00 28 */ beq lbl_8001DECC
/* 8001DEA8 00019CE8 2C 19 00 03 */ cmpwi r25, 0x3
/* 8001DEAC 00019CEC 41 82 00 38 */ beq lbl_8001DEE4
/* 8001DEB0 00019CF0 2C 19 00 05 */ cmpwi r25, 0x5
/* 8001DEB4 00019CF4 41 82 00 44 */ beq lbl_8001DEF8
/* 8001DEB8 00019CF8 2C 19 00 06 */ cmpwi r25, 0x6
/* 8001DEBC 00019CFC 41 82 00 54 */ beq lbl_8001DF10
/* 8001DEC0 00019D00 2C 19 00 0F */ cmpwi r25, 0xf
/* 8001DEC4 00019D04 41 82 00 64 */ beq lbl_8001DF28
/* 8001DEC8 00019D08 48 00 00 AC */ b lbl_8001DF74
.global lbl_8001DECC
lbl_8001DECC:
/* 8001DECC 00019D0C 80 9A 01 98 */ lwz r4, 0x198(r26)
/* 8001DED0 00019D10 7F 85 E3 78 */ mr r5, r28
/* 8001DED4 00019D14 38 7F 00 D8 */ addi r3, r31, 0xd8
/* 8001DED8 00019D18 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DEDC 00019D1C 4B FF FA B5 */ bl OSReport
/* 8001DEE0 00019D20 48 00 00 94 */ b lbl_8001DF74
.global lbl_8001DEE4
lbl_8001DEE4:
/* 8001DEE4 00019D24 80 9A 01 98 */ lwz r4, 0x198(r26)
/* 8001DEE8 00019D28 38 7F 01 38 */ addi r3, r31, 0x138
/* 8001DEEC 00019D2C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DEF0 00019D30 4B FF FA A1 */ bl OSReport
/* 8001DEF4 00019D34 48 00 00 80 */ b lbl_8001DF74
.global lbl_8001DEF8
lbl_8001DEF8:
/* 8001DEF8 00019D38 80 9A 01 98 */ lwz r4, 0x198(r26)
/* 8001DEFC 00019D3C 7F 85 E3 78 */ mr r5, r28
/* 8001DF00 00019D40 38 7F 01 84 */ addi r3, r31, 0x184
/* 8001DF04 00019D44 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DF08 00019D48 4B FF FA 89 */ bl OSReport
/* 8001DF0C 00019D4C 48 00 00 68 */ b lbl_8001DF74
.global lbl_8001DF10
lbl_8001DF10:
/* 8001DF10 00019D50 80 9A 01 98 */ lwz r4, 0x198(r26)
/* 8001DF14 00019D54 7F 85 E3 78 */ mr r5, r28
/* 8001DF18 00019D58 38 7F 01 E8 */ addi r3, r31, 0x1e8
/* 8001DF1C 00019D5C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DF20 00019D60 4B FF FA 71 */ bl OSReport
/* 8001DF24 00019D64 48 00 00 50 */ b lbl_8001DF74
.global lbl_8001DF28
lbl_8001DF28:
/* 8001DF28 00019D68 38 6D 80 AC */ addi r3, r13, "@703"@sda21
/* 8001DF2C 00019D6C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DF30 00019D70 4B FF FA 61 */ bl OSReport
/* 8001DF34 00019D74 3F 20 CC 00 */ lis r25, 0xCC005030@ha
/* 8001DF38 00019D78 38 7F 02 48 */ addi r3, r31, 0x248
/* 8001DF3C 00019D7C A0 99 50 30 */ lhz r4, 0xCC005030@l(r25)
/* 8001DF40 00019D80 A0 B9 50 32 */ lhz r5, 0x5032(r25)
/* 8001DF44 00019D84 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DF48 00019D88 4B FF FA 49 */ bl OSReport
/* 8001DF4C 00019D8C A0 99 50 20 */ lhz r4, 0x5020(r25)
/* 8001DF50 00019D90 38 7F 02 68 */ addi r3, r31, 0x268
/* 8001DF54 00019D94 A0 B9 50 22 */ lhz r5, 0x5022(r25)
/* 8001DF58 00019D98 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DF5C 00019D9C 4B FF FA 35 */ bl OSReport
/* 8001DF60 00019DA0 3C 80 CD 00 */ lis r4, 0xCD006014@ha
/* 8001DF64 00019DA4 38 7F 02 88 */ addi r3, r31, 0x288
/* 8001DF68 00019DA8 80 84 60 14 */ lwz r4, 0xCD006014@l(r4)
/* 8001DF6C 00019DAC 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DF70 00019DB0 4B FF FA 21 */ bl OSReport
.global lbl_8001DF74
lbl_8001DF74:
/* 8001DF74 00019DB4 A8 8D E3 EC */ lha r4, __OSLastInterrupt@sda21(r13)
/* 8001DF78 00019DB8 38 7F 02 A4 */ addi r3, r31, 0x2a4
/* 8001DF7C 00019DBC 80 AD E3 E8 */ lwz r5, __OSLastInterruptSrr0@sda21(r13)
/* 8001DF80 00019DC0 80 ED E3 F0 */ lwz r7, __OSLastInterruptTime@sda21(r13)
/* 8001DF84 00019DC4 81 0D E3 F4 */ lwz r8, lbl_8055C814@sda21(r13)
/* 8001DF88 00019DC8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8001DF8C 00019DCC 4B FF FA 05 */ bl OSReport
/* 8001DF90 00019DD0 4B FF C1 A1 */ bl PPCHalt
/* 8001DF94 00019DD4 39 61 00 30 */ addi r11, r1, 0x30
/* 8001DF98 00019DD8 4B FE 93 E1 */ bl lbl_80007378
/* 8001DF9C 00019DDC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8001DFA0 00019DE0 7C 08 03 A6 */ mtlr r0
/* 8001DFA4 00019DE4 38 21 00 30 */ addi r1, r1, 0x30
/* 8001DFA8 00019DE8 4E 80 00 20 */ blr
/* 8001DFAC 00019DEC 00 00 00 00 */ .4byte 0x00000000
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global "@641"
"@641":
.4byte 0x20696E20
.4byte 0x22257322
.4byte 0x206F6E20
.4byte 0x6C696E65
.4byte 0x2025642E
.4byte 0x0A000000
.4byte 0x0A416464
.4byte 0x72657373
.4byte 0x3A202020
.4byte 0x20202042
.4byte 0x61636B20
.4byte 0x43686169
.4byte 0x6E202020
.4byte 0x204C5220
.4byte 0x53617665
.4byte 0x0A000000
.4byte 0x30782530
.4byte 0x38783A20
.4byte 0x20203078
.4byte 0x25303878
.4byte 0x20202020
.4byte 0x30782530
.4byte 0x38780A00
.4byte 0x4E6F6E2D
.4byte 0x7265636F
.4byte 0x76657261
.4byte 0x626C6520
.4byte 0x45786365
.4byte 0x7074696F
.4byte 0x6E202564
.4byte 0
.4byte 0x556E6861
.4byte 0x6E646C65
.4byte 0x64204578
.4byte 0x63657074
.4byte 0x696F6E20
.4byte 0x25640000
.4byte 0x0A445349
.4byte 0x5352203D
.4byte 0x20307825
.4byte 0x30387820
.4byte 0x20202020
.4byte 0x20202020
.4byte 0x20202020
.4byte 0x20202020
.4byte 0x20204441
.4byte 0x5220203D
.4byte 0x20307825
.4byte 0x3038780A
.4byte 0
.4byte 0x5442203D
.4byte 0x20307825
.4byte 0x3031366C
.4byte 0x6C780A00
.4byte 0x0A496E73
.4byte 0x74727563
.4byte 0x74696F6E
.4byte 0x20617420
.4byte 0x30782578
.4byte 0x20287265
.4byte 0x61642066
.4byte 0x726F6D20
.4byte 0x53525230
.4byte 0x29206174
.4byte 0x74656D70
.4byte 0x74656420
.4byte 0x746F2061
.4byte 0x63636573
.4byte 0x7320696E
.4byte 0x76616C69
.4byte 0x64206164
.4byte 0x64726573
.4byte 0x73203078
.4byte 0x25782028
.4byte 0x72656164
.4byte 0x2066726F
.4byte 0x6D204441
.4byte 0x52290A00
.4byte 0x0A417474
.4byte 0x656D7074
.4byte 0x65642074
.4byte 0x6F206665
.4byte 0x74636820
.4byte 0x696E7374
.4byte 0x72756374
.4byte 0x696F6E20
.4byte 0x66726F6D
.4byte 0x20696E76
.4byte 0x616C6964
.4byte 0x20616464
.4byte 0x72657373
.4byte 0x20307825
.4byte 0x78202872
.4byte 0x65616420
.4byte 0x66726F6D
.4byte 0x20535252
.4byte 0x30290A00
.4byte 0x0A496E73
.4byte 0x74727563
.4byte 0x74696F6E
.4byte 0x20617420
.4byte 0x30782578
.4byte 0x20287265
.4byte 0x61642066
.4byte 0x726F6D20
.4byte 0x53525230
.4byte 0x29206174
.4byte 0x74656D70
.4byte 0x74656420
.4byte 0x746F2061
.4byte 0x63636573
.4byte 0x7320756E
.4byte 0x616C6967
.4byte 0x6E656420
.4byte 0x61646472
.4byte 0x65737320
.4byte 0x30782578
.4byte 0x20287265
.4byte 0x61642066
.4byte 0x726F6D20
.4byte 0x44415229
.4byte 0x0A000000
.4byte 0x0A50726F
.4byte 0x6772616D
.4byte 0x20657863
.4byte 0x65707469
.4byte 0x6F6E203A
.4byte 0x20506F73
.4byte 0x7369626C
.4byte 0x6520696C
.4byte 0x6C656761
.4byte 0x6C20696E
.4byte 0x73747275
.4byte 0x6374696F
.4byte 0x6E2F6F70
.4byte 0x65726174
.4byte 0x696F6E20
.4byte 0x6174206F
.4byte 0x72206172
.4byte 0x6F756E64
.4byte 0x20307825
.4byte 0x78202872
.4byte 0x65616420
.4byte 0x66726F6D
.4byte 0x20535252
.4byte 0x30290A00
.4byte 0x41492044
.4byte 0x4D412041
.4byte 0x64647265
.4byte 0x7373203D
.4byte 0x20202030
.4byte 0x78253034
.4byte 0x78253034
.4byte 0x780A0000
.4byte 0x4152414D
.4byte 0x20444D41
.4byte 0x20416464
.4byte 0x72657373
.4byte 0x203D2030
.4byte 0x78253034
.4byte 0x78253034
.4byte 0x780A0000
.4byte 0x44492044
.4byte 0x4D412041
.4byte 0x64647265
.4byte 0x7373203D
.4byte 0x20202030
.4byte 0x78253038
.4byte 0x780A0000
.4byte 0x0A4C6173
.4byte 0x7420696E
.4byte 0x74657272
.4byte 0x75707420
.4byte 0x28256429
.4byte 0x3A205352
.4byte 0x5230203D
.4byte 0x20307825
.4byte 0x30387820
.4byte 0x20544220
.4byte 0x3D203078
.4byte 0x25303136
.4byte 0x6C6C780A
.4byte 0
.4byte 0
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global __OSErrorTable
__OSErrorTable:
.skip 0x50
.include "macros.inc"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
.global __OSFpscrEnableBits
__OSFpscrEnableBits:
.4byte 0x000000F8
.global "@703"
"@703":
.4byte 0x0A000000