diff options
Diffstat (limited to 'asm/SDK/OS')
-rw-r--r-- | asm/SDK/OS/OS.s | 26 | ||||
-rw-r--r-- | asm/SDK/OS/OSAlarm.s | 30 | ||||
-rw-r--r-- | asm/SDK/OS/OSCache.s | 40 | ||||
-rw-r--r-- | asm/SDK/OS/OSError.s | 20 | ||||
-rw-r--r-- | asm/SDK/OS/OSFatal.s | 839 | ||||
-rw-r--r-- | asm/SDK/OS/OSFont.s | 928 |
6 files changed, 1825 insertions, 58 deletions
diff --git a/asm/SDK/OS/OS.s b/asm/SDK/OS/OS.s index 7958cf4..623dfb7 100644 --- a/asm/SDK/OS/OS.s +++ b/asm/SDK/OS/OS.s @@ -796,21 +796,21 @@ OSInit: /* 80268E70 00264AD0 38 7E 00 00 */ addi r3, r30, 0 /* 80268E74 00264AD4 48 00 2E 95 */ bl __OSGetExecParams /* 80268E78 00264AD8 38 60 00 00 */ li r3, 0 -/* 80268E7C 00264ADC 4B FF F4 01 */ bl func_8026827C +/* 80268E7C 00264ADC 4B FF F4 01 */ bl PPCMtmmcr0 /* 80268E80 00264AE0 38 60 00 00 */ li r3, 0 -/* 80268E84 00264AE4 4B FF F4 01 */ bl func_80268284 +/* 80268E84 00264AE4 4B FF F4 01 */ bl PPCMtmmcr1 /* 80268E88 00264AE8 38 60 00 00 */ li r3, 0 -/* 80268E8C 00264AEC 4B FF F4 01 */ bl func_8026828C +/* 80268E8C 00264AEC 4B FF F4 01 */ bl PPCMtpmc1 /* 80268E90 00264AF0 38 60 00 00 */ li r3, 0 -/* 80268E94 00264AF4 4B FF F4 01 */ bl func_80268294 +/* 80268E94 00264AF4 4B FF F4 01 */ bl PPCMtpmc2 /* 80268E98 00264AF8 38 60 00 00 */ li r3, 0 -/* 80268E9C 00264AFC 4B FF F4 01 */ bl func_8026829C +/* 80268E9C 00264AFC 4B FF F4 01 */ bl PPCMtpmc3 /* 80268EA0 00264B00 38 60 00 00 */ li r3, 0 -/* 80268EA4 00264B04 4B FF F4 01 */ bl func_802682A4 +/* 80268EA4 00264B04 4B FF F4 01 */ bl PPCMtpmc4 /* 80268EA8 00264B08 3C 60 83 90 */ lis r3, 0x8390 -/* 80268EAC 00264B0C 4B FF F4 9D */ bl func_80268348 -/* 80268EB0 00264B10 4B FF F4 69 */ bl func_80268318 -/* 80268EB4 00264B14 4B FF F4 8D */ bl func_80268340 +/* 80268EAC 00264B0C 4B FF F4 9D */ bl PPCMthid4 +/* 80268EB0 00264B10 4B FF F4 69 */ bl PPCDisableSpeculation +/* 80268EB4 00264B14 4B FF F4 8D */ bl PPCSetFpNonIEEEMode /* 80268EB8 00264B18 38 00 00 00 */ li r0, 0 /* 80268EBC 00264B1C 3C 80 80 00 */ lis r4, 0x800000F4@ha /* 80268EC0 00264B20 90 8D A7 A0 */ stw r4, lbl_8063FA60-_SDA_BASE_(r13) @@ -940,9 +940,9 @@ lbl_8026905C: /* 80269084 00264CE4 48 00 74 91 */ bl func_80270514 /* 80269088 00264CE8 48 00 7F DD */ bl func_80271064 /* 8026908C 00264CEC 48 00 12 F5 */ bl __OSInitAudioSystem -/* 80269090 00264CF0 4B FF F2 65 */ bl func_802682F4 +/* 80269090 00264CF0 4B FF F2 65 */ bl PPCMfhid2 /* 80269094 00264CF4 54 63 00 80 */ rlwinm r3, r3, 0, 2, 0 -/* 80269098 00264CF8 4B FF F2 65 */ bl func_802682FC +/* 80269098 00264CF8 4B FF F2 65 */ bl PPCMthid2 /* 8026909C 00264CFC 80 0D A7 68 */ lwz r0, lbl_8063FA28-_SDA_BASE_(r13) /* 802690A0 00264D00 2C 00 00 00 */ cmpwi r0, 0 /* 802690A4 00264D04 40 82 00 08 */ bne lbl_802690AC @@ -1333,9 +1333,9 @@ __OSPSInit: /* 802695EC 0026524C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802695F0 00265250 7C 08 02 A6 */ mflr r0 /* 802695F4 00265254 90 01 00 14 */ stw r0, 0x14(r1) -/* 802695F8 00265258 4B FF EC FD */ bl func_802682F4 +/* 802695F8 00265258 4B FF EC FD */ bl PPCMfhid2 /* 802695FC 0026525C 64 63 A0 00 */ oris r3, r3, 0xa000 -/* 80269600 00265260 4B FF EC FD */ bl func_802682FC +/* 80269600 00265260 4B FF EC FD */ bl PPCMthid2 /* 80269604 00265264 48 00 11 69 */ bl ICFlashInvalidate /* 80269608 00265268 7C 00 04 AC */ sync 0 /* 8026960C 0026526C 38 60 00 00 */ li r3, 0 diff --git a/asm/SDK/OS/OSAlarm.s b/asm/SDK/OS/OSAlarm.s index 5359257..b5112aa 100644 --- a/asm/SDK/OS/OSAlarm.s +++ b/asm/SDK/OS/OSAlarm.s @@ -125,7 +125,7 @@ lbl_8026984C: /* 8026987C 002654DC 7C C6 00 D1 */ neg. r6, r6 /* 80269880 002654E0 41 82 00 10 */ beq lbl_80269890 /* 80269884 002654E4 38 60 00 00 */ li r3, 0 -/* 80269888 002654E8 4B FF E9 D1 */ bl func_80268258 +/* 80269888 002654E8 4B FF E9 D1 */ bl PPCMtdec /* 8026988C 002654EC 48 00 00 E0 */ b lbl_8026996C lbl_80269890: /* 80269890 002654F0 3C 80 80 00 */ lis r4, 0x8000 @@ -136,11 +136,11 @@ lbl_80269890: /* 802698A4 00265504 7C 63 00 D1 */ neg. r3, r3 /* 802698A8 00265508 41 82 00 10 */ beq lbl_802698B8 /* 802698AC 0026550C 7D 03 43 78 */ mr r3, r8 -/* 802698B0 00265510 4B FF E9 A9 */ bl func_80268258 +/* 802698B0 00265510 4B FF E9 A9 */ bl PPCMtdec /* 802698B4 00265514 48 00 00 B8 */ b lbl_8026996C lbl_802698B8: /* 802698B8 00265518 38 64 FF FF */ addi r3, r4, -1 -/* 802698BC 0026551C 4B FF E9 9D */ bl func_80268258 +/* 802698BC 0026551C 4B FF E9 9D */ bl PPCMtdec /* 802698C0 00265520 48 00 00 AC */ b lbl_8026996C lbl_802698C4: /* 802698C4 00265524 80 E7 00 14 */ lwz r7, 0x14(r7) @@ -173,7 +173,7 @@ lbl_802698F8: /* 80269928 00265588 7C C6 00 D1 */ neg. r6, r6 /* 8026992C 0026558C 41 82 00 10 */ beq lbl_8026993C /* 80269930 00265590 38 60 00 00 */ li r3, 0 -/* 80269934 00265594 4B FF E9 25 */ bl func_80268258 +/* 80269934 00265594 4B FF E9 25 */ bl PPCMtdec /* 80269938 00265598 48 00 00 34 */ b lbl_8026996C lbl_8026993C: /* 8026993C 0026559C 3C 80 80 00 */ lis r4, 0x8000 @@ -184,11 +184,11 @@ lbl_8026993C: /* 80269950 002655B0 7C 63 00 D1 */ neg. r3, r3 /* 80269954 002655B4 41 82 00 10 */ beq lbl_80269964 /* 80269958 002655B8 7C E3 3B 78 */ mr r3, r7 -/* 8026995C 002655BC 4B FF E8 FD */ bl func_80268258 +/* 8026995C 002655BC 4B FF E8 FD */ bl PPCMtdec /* 80269960 002655C0 48 00 00 0C */ b lbl_8026996C lbl_80269964: /* 80269964 002655C4 38 64 FF FF */ addi r3, r4, -1 -/* 80269968 002655C8 4B FF E8 F1 */ bl func_80268258 +/* 80269968 002655C8 4B FF E8 F1 */ bl PPCMtdec lbl_8026996C: /* 8026996C 002655CC 39 61 00 30 */ addi r11, r1, 0x30 /* 80269970 002655D0 4B F5 D7 FD */ bl _restgpr_25 @@ -315,7 +315,7 @@ lbl_80269AE8: /* 80269B20 00265780 7C C6 00 D1 */ neg. r6, r6 /* 80269B24 00265784 41 82 00 10 */ beq lbl_80269B34 /* 80269B28 00265788 38 60 00 00 */ li r3, 0 -/* 80269B2C 0026578C 4B FF E7 2D */ bl func_80268258 +/* 80269B2C 0026578C 4B FF E7 2D */ bl PPCMtdec /* 80269B30 00265790 48 00 00 34 */ b lbl_80269B64 lbl_80269B34: /* 80269B34 00265794 3C 80 80 00 */ lis r4, 0x8000 @@ -326,11 +326,11 @@ lbl_80269B34: /* 80269B48 002657A8 7C 63 00 D1 */ neg. r3, r3 /* 80269B4C 002657AC 41 82 00 10 */ beq lbl_80269B5C /* 80269B50 002657B0 7D 03 43 78 */ mr r3, r8 -/* 80269B54 002657B4 4B FF E7 05 */ bl func_80268258 +/* 80269B54 002657B4 4B FF E7 05 */ bl PPCMtdec /* 80269B58 002657B8 48 00 00 0C */ b lbl_80269B64 lbl_80269B5C: /* 80269B5C 002657BC 38 64 FF FF */ addi r3, r4, -1 -/* 80269B60 002657C0 4B FF E6 F9 */ bl func_80268258 +/* 80269B60 002657C0 4B FF E6 F9 */ bl PPCMtdec lbl_80269B64: /* 80269B64 002657C4 38 00 00 00 */ li r0, 0 /* 80269B68 002657C8 7F E3 FB 78 */ mr r3, r31 @@ -387,7 +387,7 @@ lbl_80269BD0: /* 80269C20 00265880 7C C6 00 D1 */ neg. r6, r6 /* 80269C24 00265884 41 82 00 10 */ beq lbl_80269C34 /* 80269C28 00265888 38 60 00 00 */ li r3, 0 -/* 80269C2C 0026588C 4B FF E6 2D */ bl func_80268258 +/* 80269C2C 0026588C 4B FF E6 2D */ bl PPCMtdec /* 80269C30 00265890 48 00 00 34 */ b lbl_80269C64 lbl_80269C34: /* 80269C34 00265894 3C 80 80 00 */ lis r4, 0x8000 @@ -398,11 +398,11 @@ lbl_80269C34: /* 80269C48 002658A8 7C 63 00 D1 */ neg. r3, r3 /* 80269C4C 002658AC 41 82 00 10 */ beq lbl_80269C5C /* 80269C50 002658B0 7D 03 43 78 */ mr r3, r8 -/* 80269C54 002658B4 4B FF E6 05 */ bl func_80268258 +/* 80269C54 002658B4 4B FF E6 05 */ bl PPCMtdec /* 80269C58 002658B8 48 00 00 0C */ b lbl_80269C64 lbl_80269C5C: /* 80269C5C 002658BC 38 64 FF FF */ addi r3, r4, -1 -/* 80269C60 002658C0 4B FF E5 F9 */ bl func_80268258 +/* 80269C60 002658C0 4B FF E5 F9 */ bl PPCMtdec lbl_80269C64: /* 80269C64 002658C4 7F A3 EB 78 */ mr r3, r29 /* 80269C68 002658C8 48 00 12 E9 */ bl OSLoadContext @@ -454,7 +454,7 @@ lbl_80269CD8: /* 80269D10 00265970 7C C6 00 D1 */ neg. r6, r6 /* 80269D14 00265974 41 82 00 10 */ beq lbl_80269D24 /* 80269D18 00265978 38 60 00 00 */ li r3, 0 -/* 80269D1C 0026597C 4B FF E5 3D */ bl func_80268258 +/* 80269D1C 0026597C 4B FF E5 3D */ bl PPCMtdec /* 80269D20 00265980 48 00 00 34 */ b lbl_80269D54 lbl_80269D24: /* 80269D24 00265984 3C 80 80 00 */ lis r4, 0x8000 @@ -465,11 +465,11 @@ lbl_80269D24: /* 80269D38 00265998 7C 63 00 D1 */ neg. r3, r3 /* 80269D3C 0026599C 41 82 00 10 */ beq lbl_80269D4C /* 80269D40 002659A0 7D 03 43 78 */ mr r3, r8 -/* 80269D44 002659A4 4B FF E5 15 */ bl func_80268258 +/* 80269D44 002659A4 4B FF E5 15 */ bl PPCMtdec /* 80269D48 002659A8 48 00 00 0C */ b lbl_80269D54 lbl_80269D4C: /* 80269D4C 002659AC 38 64 FF FF */ addi r3, r4, -1 -/* 80269D50 002659B0 4B FF E5 09 */ bl func_80268258 +/* 80269D50 002659B0 4B FF E5 09 */ bl PPCMtdec lbl_80269D54: /* 80269D54 002659B4 48 00 75 F1 */ bl func_80271344 /* 80269D58 002659B8 38 61 00 08 */ addi r3, r1, 8 diff --git a/asm/SDK/OS/OSCache.s b/asm/SDK/OS/OSCache.s index 93a194b..f06183c 100644 --- a/asm/SDK/OS/OSCache.s +++ b/asm/SDK/OS/OSCache.s @@ -316,7 +316,7 @@ lbl_8026A9D4: /* 8026A9F0 00266650 91 01 00 1C */ stw r8, 0x1c(r1) /* 8026A9F4 00266654 91 21 00 20 */ stw r9, 0x20(r1) /* 8026A9F8 00266658 91 41 00 24 */ stw r10, 0x24(r1) -/* 8026A9FC 0026665C 4B FF D8 F9 */ bl func_802682F4 +/* 8026A9FC 0026665C 4B FF D8 F9 */ bl PPCMfhid2 /* 8026AA00 00266660 7C 7E 1B 78 */ mr r30, r3 /* 8026AA04 00266664 38 7F 00 30 */ addi r3, r31, 0x30 /* 8026AA08 00266668 4C C6 31 82 */ crclr 6 @@ -370,7 +370,7 @@ lbl_8026AAA4: /* 8026AAB4 00266714 4B D9 D0 11 */ bl func_80007AC4 lbl_8026AAB8: /* 8026AAB8 00266718 7F C3 F3 78 */ mr r3, r30 -/* 8026AABC 0026671C 4B FF D8 41 */ bl func_802682FC +/* 8026AABC 0026671C 4B FF D8 41 */ bl PPCMthid2 /* 8026AAC0 00266720 80 01 00 84 */ lwz r0, 0x84(r1) /* 8026AAC4 00266724 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 8026AAC8 00266728 83 C1 00 78 */ lwz r30, 0x78(r1) @@ -388,7 +388,7 @@ __OSCacheInit: /* 8026AAEC 0026674C 3F E0 80 42 */ lis r31, lbl_80426A60@ha /* 8026AAF0 00266750 3B FF 6A 60 */ addi r31, r31, lbl_80426A60@l /* 8026AAF4 00266754 93 C1 00 08 */ stw r30, 8(r1) -/* 8026AAF8 00266758 4B FF D7 41 */ bl func_80268238 +/* 8026AAF8 00266758 4B FF D7 41 */ bl PPCMfhid0 /* 8026AAFC 0026675C 54 60 04 21 */ rlwinm. r0, r3, 0, 0x10, 0x10 /* 8026AB00 00266760 40 82 00 14 */ bne lbl_8026AB14 /* 8026AB04 00266764 4B FF FC 79 */ bl ICEnable @@ -396,7 +396,7 @@ __OSCacheInit: /* 8026AB0C 0026676C 4C C6 31 82 */ crclr 6 /* 8026AB10 00266770 48 00 C9 39 */ bl func_80277448 lbl_8026AB14: -/* 8026AB14 00266774 4B FF D7 25 */ bl func_80268238 +/* 8026AB14 00266774 4B FF D7 25 */ bl PPCMfhid0 /* 8026AB18 00266778 54 60 04 63 */ rlwinm. r0, r3, 0, 0x11, 0x11 /* 8026AB1C 0026677C 40 82 00 14 */ bne lbl_8026AB30 /* 8026AB20 00266780 4B FF FA F5 */ bl DCEnable @@ -404,50 +404,50 @@ lbl_8026AB14: /* 8026AB28 00266788 4C C6 31 82 */ crclr 6 /* 8026AB2C 0026678C 48 00 C9 1D */ bl func_80277448 lbl_8026AB30: -/* 8026AB30 00266790 4B FF D7 19 */ bl func_80268248 +/* 8026AB30 00266790 4B FF D7 19 */ bl PPCMfl2cr /* 8026AB34 00266794 54 60 00 01 */ rlwinm. r0, r3, 0, 0, 0 /* 8026AB38 00266798 40 82 00 A8 */ bne lbl_8026ABE0 -/* 8026AB3C 0026679C 4B FF D6 ED */ bl func_80268228 +/* 8026AB3C 0026679C 4B FF D6 ED */ bl PPCMfmsr /* 8026AB40 002667A0 7C 7E 1B 78 */ mr r30, r3 /* 8026AB44 002667A4 7C 00 04 AC */ sync 0 /* 8026AB48 002667A8 38 60 00 30 */ li r3, 0x30 -/* 8026AB4C 002667AC 4B FF D6 E5 */ bl func_80268230 +/* 8026AB4C 002667AC 4B FF D6 E5 */ bl PPCMtmsr /* 8026AB50 002667B0 7C 00 04 AC */ sync 0 /* 8026AB54 002667B4 7C 00 04 AC */ sync 0 -/* 8026AB58 002667B8 4B FF D6 F1 */ bl func_80268248 +/* 8026AB58 002667B8 4B FF D6 F1 */ bl PPCMfl2cr /* 8026AB5C 002667BC 54 63 00 7E */ clrlwi r3, r3, 1 -/* 8026AB60 002667C0 4B FF D6 F1 */ bl func_80268250 +/* 8026AB60 002667C0 4B FF D6 F1 */ bl PPCMtl2cr /* 8026AB64 002667C4 7C 00 04 AC */ sync 0 /* 8026AB68 002667C8 7C 00 04 AC */ sync 0 -/* 8026AB6C 002667CC 4B FF D6 DD */ bl func_80268248 +/* 8026AB6C 002667CC 4B FF D6 DD */ bl PPCMfl2cr /* 8026AB70 002667D0 54 63 00 7E */ clrlwi r3, r3, 1 -/* 8026AB74 002667D4 4B FF D6 DD */ bl func_80268250 +/* 8026AB74 002667D4 4B FF D6 DD */ bl PPCMtl2cr /* 8026AB78 002667D8 7C 00 04 AC */ sync 0 -/* 8026AB7C 002667DC 4B FF D6 CD */ bl func_80268248 +/* 8026AB7C 002667DC 4B FF D6 CD */ bl PPCMfl2cr /* 8026AB80 002667E0 64 63 00 20 */ oris r3, r3, 0x20 -/* 8026AB84 002667E4 4B FF D6 CD */ bl func_80268250 +/* 8026AB84 002667E4 4B FF D6 CD */ bl PPCMtl2cr lbl_8026AB88: -/* 8026AB88 002667E8 4B FF D6 C1 */ bl func_80268248 +/* 8026AB88 002667E8 4B FF D6 C1 */ bl PPCMfl2cr /* 8026AB8C 002667EC 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 8026AB90 002667F0 40 82 FF F8 */ bne lbl_8026AB88 -/* 8026AB94 002667F4 4B FF D6 B5 */ bl func_80268248 +/* 8026AB94 002667F4 4B FF D6 B5 */ bl PPCMfl2cr /* 8026AB98 002667F8 54 63 02 D2 */ rlwinm r3, r3, 0, 0xb, 9 -/* 8026AB9C 002667FC 4B FF D6 B5 */ bl func_80268250 +/* 8026AB9C 002667FC 4B FF D6 B5 */ bl PPCMtl2cr /* 8026ABA0 00266800 48 00 00 10 */ b lbl_8026ABB0 lbl_8026ABA4: /* 8026ABA4 00266804 38 7F 00 00 */ addi r3, r31, 0 /* 8026ABA8 00266808 4C C6 31 82 */ crclr 6 /* 8026ABAC 0026680C 48 00 C8 9D */ bl func_80277448 lbl_8026ABB0: -/* 8026ABB0 00266810 4B FF D6 99 */ bl func_80268248 +/* 8026ABB0 00266810 4B FF D6 99 */ bl PPCMfl2cr /* 8026ABB4 00266814 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 8026ABB8 00266818 40 82 FF EC */ bne lbl_8026ABA4 /* 8026ABBC 0026681C 7F C3 F3 78 */ mr r3, r30 -/* 8026ABC0 00266820 4B FF D6 71 */ bl func_80268230 -/* 8026ABC4 00266824 4B FF D6 85 */ bl func_80268248 +/* 8026ABC0 00266820 4B FF D6 71 */ bl PPCMtmsr +/* 8026ABC4 00266824 4B FF D6 85 */ bl PPCMfl2cr /* 8026ABC8 00266828 64 60 80 00 */ oris r0, r3, 0x8000 /* 8026ABCC 0026682C 54 03 02 D2 */ rlwinm r3, r0, 0, 0xb, 9 -/* 8026ABD0 00266830 4B FF D6 81 */ bl func_80268250 +/* 8026ABD0 00266830 4B FF D6 81 */ bl PPCMtl2cr /* 8026ABD4 00266834 38 7F 01 EC */ addi r3, r31, 0x1ec /* 8026ABD8 00266838 4C C6 31 82 */ crclr 6 /* 8026ABDC 0026683C 48 00 C8 6D */ bl func_80277448 diff --git a/asm/SDK/OS/OSError.s b/asm/SDK/OS/OSError.s index f6d1b5e..a8a8453 100644 --- a/asm/SDK/OS/OSError.s +++ b/asm/SDK/OS/OSError.s @@ -104,11 +104,11 @@ OSSetErrorHandler: /* 8026B604 00267264 7C 7D 1B 78 */ mr r29, r3 /* 8026B608 00267268 7F 84 01 2E */ stwx r28, r4, r0 /* 8026B60C 0026726C 40 82 02 18 */ bne lbl_8026B824 -/* 8026B610 00267270 4B FF CC 19 */ bl func_80268228 +/* 8026B610 00267270 4B FF CC 19 */ bl PPCMfmsr /* 8026B614 00267274 7C 7F 1B 78 */ mr r31, r3 /* 8026B618 00267278 60 63 20 00 */ ori r3, r3, 0x2000 -/* 8026B61C 0026727C 4B FF CC 15 */ bl func_80268230 -/* 8026B620 00267280 4B FF CC 8D */ bl func_802682AC +/* 8026B61C 0026727C 4B FF CC 15 */ bl PPCMtmsr +/* 8026B620 00267280 4B FF CC 8D */ bl PPCMffpscr /* 8026B624 00267284 2C 1C 00 00 */ cmpwi r28, 0 /* 8026B628 00267288 41 82 01 98 */ beq lbl_8026B7C0 /* 8026B62C 0026728C 3C A0 80 00 */ lis r5, 0x800000DC@ha @@ -242,9 +242,9 @@ lbl_8026B80C: /* 8026B80C 0026746C 3C 60 60 06 */ lis r3, 0x6005F8FF@ha /* 8026B810 00267470 38 03 F8 FF */ addi r0, r3, 0x6005F8FF@l /* 8026B814 00267474 7C 83 00 38 */ and r3, r4, r0 -/* 8026B818 00267478 4B FF CA B5 */ bl func_802682CC +/* 8026B818 00267478 4B FF CA B5 */ bl PPCMtfpscr /* 8026B81C 0026747C 7F E3 FB 78 */ mr r3, r31 -/* 8026B820 00267480 4B FF CA 11 */ bl func_80268230 +/* 8026B820 00267480 4B FF CA 11 */ bl PPCMtmsr lbl_8026B824: /* 8026B824 00267484 7F A3 EB 78 */ mr r3, r29 /* 8026B828 00267488 48 00 2F 5D */ bl OSRestoreInterrupts @@ -293,23 +293,23 @@ lbl_8026B8A8: /* 8026B8C4 00267524 2C 00 00 00 */ cmpwi r0, 0 /* 8026B8C8 00267528 41 82 00 D0 */ beq lbl_8026B998 /* 8026B8CC 0026752C 3B 20 00 10 */ li r25, 0x10 -/* 8026B8D0 00267530 4B FF C9 59 */ bl func_80268228 +/* 8026B8D0 00267530 4B FF C9 59 */ bl PPCMfmsr /* 8026B8D4 00267534 7C 77 1B 78 */ mr r23, r3 /* 8026B8D8 00267538 60 63 20 00 */ ori r3, r3, 0x2000 -/* 8026B8DC 0026753C 4B FF C9 55 */ bl func_80268230 +/* 8026B8DC 0026753C 4B FF C9 55 */ bl PPCMtmsr /* 8026B8E0 00267540 3C 60 80 00 */ lis r3, 0x800000D8@ha /* 8026B8E4 00267544 80 63 00 D8 */ lwz r3, 0x800000D8@l(r3) /* 8026B8E8 00267548 2C 03 00 00 */ cmpwi r3, 0 /* 8026B8EC 0026754C 41 82 00 08 */ beq lbl_8026B8F4 /* 8026B8F0 00267550 4B FF F5 71 */ bl OSSaveFPUContext lbl_8026B8F4: -/* 8026B8F4 00267554 4B FF C9 B9 */ bl func_802682AC +/* 8026B8F4 00267554 4B FF C9 B9 */ bl PPCMffpscr /* 8026B8F8 00267558 3F 00 60 06 */ lis r24, 0x6005F8FF@ha /* 8026B8FC 0026755C 38 18 F8 FF */ addi r0, r24, 0x6005F8FF@l /* 8026B900 00267560 7C 63 00 38 */ and r3, r3, r0 -/* 8026B904 00267564 4B FF C9 C9 */ bl func_802682CC +/* 8026B904 00267564 4B FF C9 C9 */ bl PPCMtfpscr /* 8026B908 00267568 7E E3 BB 78 */ mr r3, r23 -/* 8026B90C 0026756C 4B FF C9 25 */ bl func_80268230 +/* 8026B90C 0026756C 4B FF C9 25 */ bl PPCMtmsr /* 8026B910 00267570 3E E0 80 00 */ lis r23, 0x800000D8@ha /* 8026B914 00267574 80 17 00 D8 */ lwz r0, 0x800000D8@l(r23) /* 8026B918 00267578 7C 00 D0 40 */ cmplw r0, r26 diff --git a/asm/SDK/OS/OSFatal.s b/asm/SDK/OS/OSFatal.s new file mode 100644 index 0000000..611f14c --- /dev/null +++ b/asm/SDK/OS/OSFatal.s @@ -0,0 +1,839 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global ScreenReport
+ScreenReport:
+/* 8026CE70 00268AD0 94 21 FE 90 */ stwu r1, -0x170(r1)
+/* 8026CE74 00268AD4 7C 08 02 A6 */ mflr r0
+/* 8026CE78 00268AD8 90 01 01 74 */ stw r0, 0x174(r1)
+/* 8026CE7C 00268ADC 39 61 01 70 */ addi r11, r1, 0x170
+/* 8026CE80 00268AE0 4B F5 A2 81 */ bl _savegpr_17
+/* 8026CE84 00268AE4 7C 76 1B 78 */ mr r22, r3
+/* 8026CE88 00268AE8 7C 97 23 78 */ mr r23, r4
+/* 8026CE8C 00268AEC 7C D8 33 78 */ mr r24, r6
+/* 8026CE90 00268AF0 7C F9 3B 78 */ mr r25, r7
+/* 8026CE94 00268AF4 7D 1A 43 78 */ mr r26, r8
+/* 8026CE98 00268AF8 7D 3B 4B 78 */ mr r27, r9
+/* 8026CE9C 00268AFC 3B E5 FF E8 */ addi r31, r5, -24
+/* 8026CEA0 00268B00 3B C4 FF D0 */ addi r30, r4, -48
+/* 8026CEA4 00268B04 3E 40 80 81 */ lis r18, 0x8081
+/* 8026CEA8 00268B08 3E 60 88 89 */ lis r19, 0x8889
+/* 8026CEAC 00268B0C 3A 20 00 00 */ li r17, 0
+/* 8026CEB0 00268B10 3A A0 00 18 */ li r21, 0x18
+/* 8026CEB4 00268B14 3A 80 00 03 */ li r20, 3
+lbl_8026CEB8:
+/* 8026CEB8 00268B18 7C 1F D0 00 */ cmpw r31, r26
+/* 8026CEBC 00268B1C 41 80 02 C0 */ blt lbl_8026D17C
+/* 8026CEC0 00268B20 7C 1A B9 D6 */ mullw r0, r26, r23
+/* 8026CEC4 00268B24 7F 3C CB 78 */ mr r28, r25
+/* 8026CEC8 00268B28 7C 19 02 14 */ add r0, r25, r0
+/* 8026CECC 00268B2C 54 00 08 3C */ slwi r0, r0, 1
+/* 8026CED0 00268B30 7F B6 02 14 */ add r29, r22, r0
+/* 8026CED4 00268B34 48 00 02 9C */ b lbl_8026D170
+lbl_8026CED8:
+/* 8026CED8 00268B38 7C 60 07 74 */ extsb r0, r3
+/* 8026CEDC 00268B3C 2C 00 00 0A */ cmpwi r0, 0xa
+/* 8026CEE0 00268B40 40 82 00 10 */ bne lbl_8026CEF0
+/* 8026CEE4 00268B44 7F 5A DA 14 */ add r26, r26, r27
+/* 8026CEE8 00268B48 39 4A 00 01 */ addi r10, r10, 1
+/* 8026CEEC 00268B4C 4B FF FF CC */ b lbl_8026CEB8
+lbl_8026CEF0:
+/* 8026CEF0 00268B50 7C 1E E0 00 */ cmpw r30, r28
+/* 8026CEF4 00268B54 40 80 00 0C */ bge lbl_8026CF00
+/* 8026CEF8 00268B58 7F 5A DA 14 */ add r26, r26, r27
+/* 8026CEFC 00268B5C 4B FF FF BC */ b lbl_8026CEB8
+lbl_8026CF00:
+/* 8026CF00 00268B60 38 C0 00 00 */ li r6, 0
+/* 8026CF04 00268B64 38 E0 00 00 */ li r7, 0
+/* 8026CF08 00268B68 7E 89 03 A6 */ mtctr r20
+lbl_8026CF0C:
+/* 8026CF0C 00268B6C 54 C0 07 7E */ clrlwi r0, r6, 0x1d
+/* 8026CF10 00268B70 38 66 00 01 */ addi r3, r6, 1
+/* 8026CF14 00268B74 7C 00 3A 14 */ add r0, r0, r7
+/* 8026CF18 00268B78 38 81 00 10 */ addi r4, r1, 0x10
+/* 8026CF1C 00268B7C 54 00 10 3A */ slwi r0, r0, 2
+/* 8026CF20 00268B80 38 A6 00 02 */ addi r5, r6, 2
+/* 8026CF24 00268B84 7C 84 02 14 */ add r4, r4, r0
+/* 8026CF28 00268B88 39 06 00 03 */ addi r8, r6, 3
+/* 8026CF2C 00268B8C 54 60 E8 FE */ srwi r0, r3, 3
+/* 8026CF30 00268B90 92 24 00 00 */ stw r17, 0(r4)
+/* 8026CF34 00268B94 1C 00 00 18 */ mulli r0, r0, 0x18
+/* 8026CF38 00268B98 54 63 07 7E */ clrlwi r3, r3, 0x1d
+/* 8026CF3C 00268B9C 92 24 00 20 */ stw r17, 0x20(r4)
+/* 8026CF40 00268BA0 39 26 00 04 */ addi r9, r6, 4
+/* 8026CF44 00268BA4 39 66 00 06 */ addi r11, r6, 6
+/* 8026CF48 00268BA8 7C 03 02 14 */ add r0, r3, r0
+/* 8026CF4C 00268BAC 92 24 00 40 */ stw r17, 0x40(r4)
+/* 8026CF50 00268BB0 54 00 10 3A */ slwi r0, r0, 2
+/* 8026CF54 00268BB4 54 A4 E8 FE */ srwi r4, r5, 3
+/* 8026CF58 00268BB8 38 61 00 10 */ addi r3, r1, 0x10
+/* 8026CF5C 00268BBC 7C 63 02 14 */ add r3, r3, r0
+/* 8026CF60 00268BC0 54 A5 07 7E */ clrlwi r5, r5, 0x1d
+/* 8026CF64 00268BC4 92 23 00 00 */ stw r17, 0(r3)
+/* 8026CF68 00268BC8 1C 84 00 18 */ mulli r4, r4, 0x18
+/* 8026CF6C 00268BCC 38 06 00 05 */ addi r0, r6, 5
+/* 8026CF70 00268BD0 92 23 00 20 */ stw r17, 0x20(r3)
+/* 8026CF74 00268BD4 38 E7 00 18 */ addi r7, r7, 0x18
+/* 8026CF78 00268BD8 7C A5 22 14 */ add r5, r5, r4
+/* 8026CF7C 00268BDC 54 AC 10 3A */ slwi r12, r5, 2
+/* 8026CF80 00268BE0 92 23 00 40 */ stw r17, 0x40(r3)
+/* 8026CF84 00268BE4 55 05 E8 FE */ srwi r5, r8, 3
+/* 8026CF88 00268BE8 38 81 00 10 */ addi r4, r1, 0x10
+/* 8026CF8C 00268BEC 7E 24 61 6E */ stwux r17, r4, r12
+/* 8026CF90 00268BF0 1C 65 00 18 */ mulli r3, r5, 0x18
+/* 8026CF94 00268BF4 55 0C 07 7E */ clrlwi r12, r8, 0x1d
+/* 8026CF98 00268BF8 92 24 00 20 */ stw r17, 0x20(r4)
+/* 8026CF9C 00268BFC 55 28 E8 FE */ srwi r8, r9, 3
+/* 8026CFA0 00268C00 7D 8C 1A 14 */ add r12, r12, r3
+/* 8026CFA4 00268C04 38 A6 00 07 */ addi r5, r6, 7
+/* 8026CFA8 00268C08 92 24 00 40 */ stw r17, 0x40(r4)
+/* 8026CFAC 00268C0C 38 61 00 10 */ addi r3, r1, 0x10
+/* 8026CFB0 00268C10 55 8C 10 3A */ slwi r12, r12, 2
+/* 8026CFB4 00268C14 55 29 07 7E */ clrlwi r9, r9, 0x1d
+/* 8026CFB8 00268C18 7C 63 62 14 */ add r3, r3, r12
+/* 8026CFBC 00268C1C 38 81 00 10 */ addi r4, r1, 0x10
+/* 8026CFC0 00268C20 92 23 00 00 */ stw r17, 0(r3)
+/* 8026CFC4 00268C24 1D 08 00 18 */ mulli r8, r8, 0x18
+/* 8026CFC8 00268C28 54 0C E8 FE */ srwi r12, r0, 3
+/* 8026CFCC 00268C2C 92 23 00 20 */ stw r17, 0x20(r3)
+/* 8026CFD0 00268C30 54 00 07 7E */ clrlwi r0, r0, 0x1d
+/* 8026CFD4 00268C34 7D 09 42 14 */ add r8, r9, r8
+/* 8026CFD8 00268C38 55 69 E8 FE */ srwi r9, r11, 3
+/* 8026CFDC 00268C3C 55 08 10 3A */ slwi r8, r8, 2
+/* 8026CFE0 00268C40 92 23 00 40 */ stw r17, 0x40(r3)
+/* 8026CFE4 00268C44 7C 84 42 14 */ add r4, r4, r8
+/* 8026CFE8 00268C48 38 61 00 10 */ addi r3, r1, 0x10
+/* 8026CFEC 00268C4C 92 24 00 00 */ stw r17, 0(r4)
+/* 8026CFF0 00268C50 1D 8C 00 18 */ mulli r12, r12, 0x18
+/* 8026CFF4 00268C54 55 6B 07 7E */ clrlwi r11, r11, 0x1d
+/* 8026CFF8 00268C58 92 24 00 20 */ stw r17, 0x20(r4)
+/* 8026CFFC 00268C5C 54 A8 E8 FE */ srwi r8, r5, 3
+/* 8026D000 00268C60 7C 00 62 14 */ add r0, r0, r12
+/* 8026D004 00268C64 38 C6 00 08 */ addi r6, r6, 8
+/* 8026D008 00268C68 92 24 00 40 */ stw r17, 0x40(r4)
+/* 8026D00C 00268C6C 54 00 10 3A */ slwi r0, r0, 2
+/* 8026D010 00268C70 38 81 00 10 */ addi r4, r1, 0x10
+/* 8026D014 00268C74 7E 23 01 6E */ stwux r17, r3, r0
+/* 8026D018 00268C78 1C 09 00 18 */ mulli r0, r9, 0x18
+/* 8026D01C 00268C7C 54 A9 07 7E */ clrlwi r9, r5, 0x1d
+/* 8026D020 00268C80 92 23 00 20 */ stw r17, 0x20(r3)
+/* 8026D024 00268C84 7C 85 23 78 */ mr r5, r4
+/* 8026D028 00268C88 7C 0B 02 14 */ add r0, r11, r0
+/* 8026D02C 00268C8C 92 23 00 40 */ stw r17, 0x40(r3)
+/* 8026D030 00268C90 54 00 10 3A */ slwi r0, r0, 2
+/* 8026D034 00268C94 7E 24 01 6E */ stwux r17, r4, r0
+/* 8026D038 00268C98 1C 08 00 18 */ mulli r0, r8, 0x18
+/* 8026D03C 00268C9C 92 24 00 20 */ stw r17, 0x20(r4)
+/* 8026D040 00268CA0 7C 09 02 14 */ add r0, r9, r0
+/* 8026D044 00268CA4 92 24 00 40 */ stw r17, 0x40(r4)
+/* 8026D048 00268CA8 54 00 10 3A */ slwi r0, r0, 2
+/* 8026D04C 00268CAC 7E 25 01 6E */ stwux r17, r5, r0
+/* 8026D050 00268CB0 92 25 00 20 */ stw r17, 0x20(r5)
+/* 8026D054 00268CB4 92 25 00 40 */ stw r17, 0x40(r5)
+/* 8026D058 00268CB8 42 00 FE B4 */ bdnz lbl_8026CF0C
+/* 8026D05C 00268CBC 7D 43 53 78 */ mr r3, r10
+/* 8026D060 00268CC0 38 81 00 10 */ addi r4, r1, 0x10
+/* 8026D064 00268CC4 38 E1 00 08 */ addi r7, r1, 8
+/* 8026D068 00268CC8 38 A0 00 00 */ li r5, 0
+/* 8026D06C 00268CCC 38 C0 00 06 */ li r6, 6
+/* 8026D070 00268CD0 48 00 14 5D */ bl OSGetFontTexel
+/* 8026D074 00268CD4 7C 6A 1B 78 */ mr r10, r3
+/* 8026D078 00268CD8 38 E0 00 00 */ li r7, 0
+/* 8026D07C 00268CDC 38 60 00 00 */ li r3, 0
+lbl_8026D080:
+/* 8026D080 00268CE0 54 E0 E8 FE */ srwi r0, r7, 3
+/* 8026D084 00268CE4 54 E6 07 7E */ clrlwi r6, r7, 0x1d
+/* 8026D088 00268CE8 1C 00 00 18 */ mulli r0, r0, 0x18
+/* 8026D08C 00268CEC 38 A1 00 10 */ addi r5, r1, 0x10
+/* 8026D090 00268CF0 7F 84 E3 78 */ mr r4, r28
+/* 8026D094 00268CF4 39 00 00 00 */ li r8, 0
+/* 8026D098 00268CF8 7C 06 02 14 */ add r0, r6, r0
+/* 8026D09C 00268CFC 54 00 10 3A */ slwi r0, r0, 2
+/* 8026D0A0 00268D00 7C A5 02 14 */ add r5, r5, r0
+/* 8026D0A4 00268D04 7E A9 03 A6 */ mtctr r21
+lbl_8026D0A8:
+/* 8026D0A8 00268D08 55 06 10 34 */ rlwinm r6, r8, 2, 0, 0x1a
+/* 8026D0AC 00268D0C 55 00 07 7E */ clrlwi r0, r8, 0x1d
+/* 8026D0B0 00268D10 20 00 00 07 */ subfic r0, r0, 7
+/* 8026D0B4 00268D14 7C C5 30 2E */ lwzx r6, r5, r6
+/* 8026D0B8 00268D18 54 00 10 3A */ slwi r0, r0, 2
+/* 8026D0BC 00268D1C 7C C0 04 30 */ srw r0, r6, r0
+/* 8026D0C0 00268D20 54 09 07 3F */ clrlwi. r9, r0, 0x1c
+/* 8026D0C4 00268D24 41 82 00 80 */ beq lbl_8026D144
+/* 8026D0C8 00268D28 88 D8 00 00 */ lbz r6, 0(r24)
+/* 8026D0CC 00268D2C 7C 08 1A 14 */ add r0, r8, r3
+/* 8026D0D0 00268D30 54 0C 08 3C */ slwi r12, r0, 1
+/* 8026D0D4 00268D34 39 72 80 81 */ addi r11, r18, -32639
+/* 8026D0D8 00268D38 7D 26 49 D6 */ mullw r9, r6, r9
+/* 8026D0DC 00268D3C 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 8026D0E0 00268D40 7C DD 62 14 */ add r6, r29, r12
+/* 8026D0E4 00268D44 38 13 88 89 */ addi r0, r19, -30583
+/* 8026D0E8 00268D48 1D 29 00 EF */ mulli r9, r9, 0xef
+/* 8026D0EC 00268D4C 7D 6B 48 96 */ mulhw r11, r11, r9
+/* 8026D0F0 00268D50 7D 2B 4A 14 */ add r9, r11, r9
+/* 8026D0F4 00268D54 7D 29 3E 70 */ srawi r9, r9, 7
+/* 8026D0F8 00268D58 55 2B 0F FE */ srwi r11, r9, 0x1f
+/* 8026D0FC 00268D5C 7D 29 5A 14 */ add r9, r9, r11
+/* 8026D100 00268D60 7C 00 48 96 */ mulhw r0, r0, r9
+/* 8026D104 00268D64 7C 00 4A 14 */ add r0, r0, r9
+/* 8026D108 00268D68 7C 00 1E 70 */ srawi r0, r0, 3
+/* 8026D10C 00268D6C 54 09 0F FE */ srwi r9, r0, 0x1f
+/* 8026D110 00268D70 7D 20 4A 14 */ add r9, r0, r9
+/* 8026D114 00268D74 38 09 00 10 */ addi r0, r9, 0x10
+/* 8026D118 00268D78 7C 1D 61 AE */ stbx r0, r29, r12
+/* 8026D11C 00268D7C 41 82 00 18 */ beq lbl_8026D134
+/* 8026D120 00268D80 89 38 00 01 */ lbz r9, 1(r24)
+/* 8026D124 00268D84 88 18 00 02 */ lbz r0, 2(r24)
+/* 8026D128 00268D88 99 26 FF FF */ stb r9, -1(r6)
+/* 8026D12C 00268D8C 98 06 00 01 */ stb r0, 1(r6)
+/* 8026D130 00268D90 48 00 00 14 */ b lbl_8026D144
+lbl_8026D134:
+/* 8026D134 00268D94 89 38 00 02 */ lbz r9, 2(r24)
+/* 8026D138 00268D98 88 18 00 01 */ lbz r0, 1(r24)
+/* 8026D13C 00268D9C 99 26 FF FF */ stb r9, -1(r6)
+/* 8026D140 00268DA0 98 06 00 01 */ stb r0, 1(r6)
+lbl_8026D144:
+/* 8026D144 00268DA4 38 84 00 01 */ addi r4, r4, 1
+/* 8026D148 00268DA8 39 08 00 01 */ addi r8, r8, 1
+/* 8026D14C 00268DAC 42 00 FF 5C */ bdnz lbl_8026D0A8
+/* 8026D150 00268DB0 38 E7 00 01 */ addi r7, r7, 1
+/* 8026D154 00268DB4 7C 63 BA 14 */ add r3, r3, r23
+/* 8026D158 00268DB8 28 07 00 18 */ cmplwi r7, 0x18
+/* 8026D15C 00268DBC 41 80 FF 24 */ blt lbl_8026D080
+/* 8026D160 00268DC0 80 61 00 08 */ lwz r3, 8(r1)
+/* 8026D164 00268DC4 54 60 08 3C */ slwi r0, r3, 1
+/* 8026D168 00268DC8 7F 9C 1A 14 */ add r28, r28, r3
+/* 8026D16C 00268DCC 7F BD 02 14 */ add r29, r29, r0
+lbl_8026D170:
+/* 8026D170 00268DD0 88 6A 00 00 */ lbz r3, 0(r10)
+/* 8026D174 00268DD4 7C 60 07 75 */ extsb. r0, r3
+/* 8026D178 00268DD8 40 82 FD 60 */ bne lbl_8026CED8
+lbl_8026D17C:
+/* 8026D17C 00268DDC 39 61 01 70 */ addi r11, r1, 0x170
+/* 8026D180 00268DE0 4B F5 9F CD */ bl _restgpr_17
+/* 8026D184 00268DE4 80 01 01 74 */ lwz r0, 0x174(r1)
+/* 8026D188 00268DE8 7C 08 03 A6 */ mtlr r0
+/* 8026D18C 00268DEC 38 21 01 70 */ addi r1, r1, 0x170
+/* 8026D190 00268DF0 4E 80 00 20 */ blr
+
+.global ConfigureVideo
+ConfigureVideo:
+/* 8026D194 00268DF4 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 8026D198 00268DF8 7C 08 02 A6 */ mflr r0
+/* 8026D19C 00268DFC 38 C0 01 E0 */ li r6, 0x1e0
+/* 8026D1A0 00268E00 38 A0 00 28 */ li r5, 0x28
+/* 8026D1A4 00268E04 90 01 00 54 */ stw r0, 0x54(r1)
+/* 8026D1A8 00268E08 38 00 02 80 */ li r0, 0x280
+/* 8026D1AC 00268E0C B0 61 00 0C */ sth r3, 0xc(r1)
+/* 8026D1B0 00268E10 B0 C1 00 0E */ sth r6, 0xe(r1)
+/* 8026D1B4 00268E14 B0 81 00 10 */ sth r4, 0x10(r1)
+/* 8026D1B8 00268E18 B0 A1 00 12 */ sth r5, 0x12(r1)
+/* 8026D1BC 00268E1C B0 01 00 16 */ sth r0, 0x16(r1)
+/* 8026D1C0 00268E20 B0 81 00 18 */ sth r4, 0x18(r1)
+/* 8026D1C4 00268E24 48 00 C8 11 */ bl func_802799D4
+/* 8026D1C8 00268E28 2C 03 00 02 */ cmpwi r3, 2
+/* 8026D1CC 00268E2C 41 82 00 24 */ beq lbl_8026D1F0
+/* 8026D1D0 00268E30 40 80 00 14 */ bge lbl_8026D1E4
+/* 8026D1D4 00268E34 2C 03 00 00 */ cmpwi r3, 0
+/* 8026D1D8 00268E38 41 82 00 18 */ beq lbl_8026D1F0
+/* 8026D1DC 00268E3C 40 80 00 70 */ bge lbl_8026D24C
+/* 8026D1E0 00268E40 48 00 00 84 */ b lbl_8026D264
+lbl_8026D1E4:
+/* 8026D1E4 00268E44 2C 03 00 05 */ cmpwi r3, 5
+/* 8026D1E8 00268E48 41 82 00 48 */ beq lbl_8026D230
+/* 8026D1EC 00268E4C 48 00 00 78 */ b lbl_8026D264
+lbl_8026D1F0:
+/* 8026D1F0 00268E50 3C 60 CC 00 */ lis r3, 0xCC00206C@ha
+/* 8026D1F4 00268E54 A0 03 20 6C */ lhz r0, 0xCC00206C@l(r3)
+/* 8026D1F8 00268E58 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8026D1FC 00268E5C 41 82 00 1C */ beq lbl_8026D218
+/* 8026D200 00268E60 38 00 00 00 */ li r0, 0
+/* 8026D204 00268E64 38 60 00 02 */ li r3, 2
+/* 8026D208 00268E68 90 61 00 08 */ stw r3, 8(r1)
+/* 8026D20C 00268E6C B0 01 00 14 */ sth r0, 0x14(r1)
+/* 8026D210 00268E70 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 8026D214 00268E74 48 00 00 50 */ b lbl_8026D264
+lbl_8026D218:
+/* 8026D218 00268E78 38 60 00 00 */ li r3, 0
+/* 8026D21C 00268E7C 38 00 00 01 */ li r0, 1
+/* 8026D220 00268E80 90 61 00 08 */ stw r3, 8(r1)
+/* 8026D224 00268E84 B0 61 00 14 */ sth r3, 0x14(r1)
+/* 8026D228 00268E88 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 8026D22C 00268E8C 48 00 00 38 */ b lbl_8026D264
+lbl_8026D230:
+/* 8026D230 00268E90 38 80 00 14 */ li r4, 0x14
+/* 8026D234 00268E94 38 60 00 00 */ li r3, 0
+/* 8026D238 00268E98 38 00 00 01 */ li r0, 1
+/* 8026D23C 00268E9C 90 81 00 08 */ stw r4, 8(r1)
+/* 8026D240 00268EA0 B0 61 00 14 */ sth r3, 0x14(r1)
+/* 8026D244 00268EA4 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 8026D248 00268EA8 48 00 00 1C */ b lbl_8026D264
+lbl_8026D24C:
+/* 8026D24C 00268EAC 38 80 00 04 */ li r4, 4
+/* 8026D250 00268EB0 38 60 00 2F */ li r3, 0x2f
+/* 8026D254 00268EB4 38 00 00 01 */ li r0, 1
+/* 8026D258 00268EB8 90 81 00 08 */ stw r4, 8(r1)
+/* 8026D25C 00268EBC B0 61 00 14 */ sth r3, 0x14(r1)
+/* 8026D260 00268EC0 90 01 00 1C */ stw r0, 0x1c(r1)
+lbl_8026D264:
+/* 8026D264 00268EC4 38 61 00 08 */ addi r3, r1, 8
+/* 8026D268 00268EC8 48 00 B9 59 */ bl func_80278BC0
+/* 8026D26C 00268ECC 38 60 00 00 */ li r3, 0
+/* 8026D270 00268ED0 38 80 00 00 */ li r4, 0
+/* 8026D274 00268ED4 38 A0 02 80 */ li r5, 0x280
+/* 8026D278 00268ED8 38 C0 01 E0 */ li r6, 0x1e0
+/* 8026D27C 00268EDC 48 00 C0 D9 */ bl func_80279354
+/* 8026D280 00268EE0 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 8026D284 00268EE4 7C 08 03 A6 */ mtlr r0
+/* 8026D288 00268EE8 38 21 00 50 */ addi r1, r1, 0x50
+/* 8026D28C 00268EEC 4E 80 00 20 */ blr
+
+.global OSFatal
+OSFatal:
+/* 8026D290 00268EF0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8026D294 00268EF4 7C 08 02 A6 */ mflr r0
+/* 8026D298 00268EF8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8026D29C 00268EFC 39 61 00 30 */ addi r11, r1, 0x30
+/* 8026D2A0 00268F00 4B F5 9E 7D */ bl _savegpr_24
+/* 8026D2A4 00268F04 7C 7B 1B 78 */ mr r27, r3
+/* 8026D2A8 00268F08 7C 9C 23 78 */ mr r28, r4
+/* 8026D2AC 00268F0C 7C BD 2B 78 */ mr r29, r5
+/* 8026D2B0 00268F10 48 00 14 AD */ bl OSDisableInterrupts
+/* 8026D2B4 00268F14 48 00 40 91 */ bl func_80271344
+/* 8026D2B8 00268F18 3F 00 80 51 */ lis r24, lbl_805144A0@ha
+/* 8026D2BC 00268F1C 38 78 44 A0 */ addi r3, r24, lbl_805144A0@l
+/* 8026D2C0 00268F20 4B FF DD D1 */ bl OSClearContext
+/* 8026D2C4 00268F24 38 78 44 A0 */ addi r3, r24, 0x44a0
+/* 8026D2C8 00268F28 4B FF DB A1 */ bl OSSetCurrentContext
+/* 8026D2CC 00268F2C 4B FF D2 7D */ bl __OSStopAudioSystem
+/* 8026D2D0 00268F30 48 00 AF 0D */ bl func_802781DC
+/* 8026D2D4 00268F34 38 60 00 80 */ li r3, 0x80
+/* 8026D2D8 00268F38 48 00 18 95 */ bl func_8026EB6C
+/* 8026D2DC 00268F3C 38 60 00 01 */ li r3, 1
+/* 8026D2E0 00268F40 48 00 C5 49 */ bl func_80279828
+/* 8026D2E4 00268F44 48 00 C3 C5 */ bl func_802796A8
+/* 8026D2E8 00268F48 38 60 00 00 */ li r3, 0
+/* 8026D2EC 00268F4C 48 00 AB 51 */ bl func_80277E3C
+/* 8026D2F0 00268F50 38 60 00 00 */ li r3, 0
+/* 8026D2F4 00268F54 48 00 AB 8D */ bl func_80277E80
+/* 8026D2F8 00268F58 48 00 14 79 */ bl OSEnableInterrupts
+/* 8026D2FC 00268F5C 48 00 C5 A5 */ bl func_802798A0
+/* 8026D300 00268F60 7C 78 1B 78 */ mr r24, r3
+lbl_8026D304:
+/* 8026D304 00268F64 48 00 C5 9D */ bl func_802798A0
+/* 8026D308 00268F68 7C 18 18 50 */ subf r0, r24, r3
+/* 8026D30C 00268F6C 2C 00 00 01 */ cmpwi r0, 1
+/* 8026D310 00268F70 41 80 FF F4 */ blt lbl_8026D304
+/* 8026D314 00268F74 48 00 54 A5 */ bl OSGetTime
+/* 8026D318 00268F78 3C A0 10 62 */ lis r5, 0x10624DD3@ha
+/* 8026D31C 00268F7C 7C 9E 23 78 */ mr r30, r4
+/* 8026D320 00268F80 7C 7F 1B 78 */ mr r31, r3
+/* 8026D324 00268F84 3F 20 80 00 */ lis r25, 0x8000
+/* 8026D328 00268F88 3B 05 4D D3 */ addi r24, r5, 0x10624DD3@l
+/* 8026D32C 00268F8C 3B 40 00 00 */ li r26, 0
+lbl_8026D330:
+/* 8026D330 00268F90 38 60 00 00 */ li r3, 0
+/* 8026D334 00268F94 38 80 00 00 */ li r4, 0
+/* 8026D338 00268F98 48 00 29 E1 */ bl func_8026FD18
+/* 8026D33C 00268F9C 2C 03 00 00 */ cmpwi r3, 0
+/* 8026D340 00268FA0 40 82 00 40 */ bne lbl_8026D380
+/* 8026D344 00268FA4 48 00 54 75 */ bl OSGetTime
+/* 8026D348 00268FA8 80 19 00 F8 */ lwz r0, 0xf8(r25)
+/* 8026D34C 00268FAC 7C DE 20 10 */ subfc r6, r30, r4
+/* 8026D350 00268FB0 7C BF 19 10 */ subfe r5, r31, r3
+/* 8026D354 00268FB4 6F 44 80 00 */ xoris r4, r26, 0x8000
+/* 8026D358 00268FB8 54 00 F0 BE */ srwi r0, r0, 2
+/* 8026D35C 00268FBC 7C 78 00 16 */ mulhwu r3, r24, r0
+/* 8026D360 00268FC0 6C A0 80 00 */ xoris r0, r5, 0x8000
+/* 8026D364 00268FC4 54 63 D1 BE */ srwi r3, r3, 6
+/* 8026D368 00268FC8 1C 63 03 E8 */ mulli r3, r3, 0x3e8
+/* 8026D36C 00268FCC 7C 63 30 10 */ subfc r3, r3, r6
+/* 8026D370 00268FD0 7C 84 01 10 */ subfe r4, r4, r0
+/* 8026D374 00268FD4 7C 80 01 10 */ subfe r4, r0, r0
+/* 8026D378 00268FD8 7C 84 00 D1 */ neg. r4, r4
+/* 8026D37C 00268FDC 40 82 FF B4 */ bne lbl_8026D330
+lbl_8026D380:
+/* 8026D380 00268FE0 48 00 13 DD */ bl OSDisableInterrupts
+/* 8026D384 00268FE4 38 60 00 01 */ li r3, 1
+/* 8026D388 00268FE8 38 80 00 00 */ li r4, 0
+/* 8026D38C 00268FEC 48 00 29 8D */ bl func_8026FD18
+/* 8026D390 00268FF0 38 60 00 00 */ li r3, 0
+/* 8026D394 00268FF4 38 80 00 00 */ li r4, 0
+/* 8026D398 00268FF8 48 00 79 45 */ bl func_80274CDC
+/* 8026D39C 00268FFC 38 60 00 02 */ li r3, 2
+/* 8026D3A0 00269000 38 80 00 00 */ li r4, 0
+/* 8026D3A4 00269004 48 00 79 39 */ bl func_80274CDC
+/* 8026D3A8 00269008 48 00 00 1C */ b lbl_8026D3C4
+lbl_8026D3AC:
+/* 8026D3AC 0026900C 38 60 00 00 */ li r3, 0
+/* 8026D3B0 00269010 48 00 76 B1 */ bl func_80274A60
+/* 8026D3B4 00269014 38 60 00 00 */ li r3, 0
+/* 8026D3B8 00269018 48 00 7E 29 */ bl func_802751E0
+/* 8026D3BC 0026901C 38 60 00 00 */ li r3, 0
+/* 8026D3C0 00269020 48 00 85 81 */ bl func_80275940
+lbl_8026D3C4:
+/* 8026D3C4 00269024 38 60 00 00 */ li r3, 0
+/* 8026D3C8 00269028 38 80 00 01 */ li r4, 1
+/* 8026D3CC 0026902C 38 A0 00 00 */ li r5, 0
+/* 8026D3D0 00269030 48 00 84 75 */ bl func_80275844
+/* 8026D3D4 00269034 2C 03 00 00 */ cmpwi r3, 0
+/* 8026D3D8 00269038 41 82 FF D4 */ beq lbl_8026D3AC
+/* 8026D3DC 0026903C 38 60 00 00 */ li r3, 0
+/* 8026D3E0 00269040 48 00 85 61 */ bl func_80275940
+/* 8026D3E4 00269044 3C 60 CD 00 */ lis r3, 0xCD00680C@ha
+lbl_8026D3E8:
+/* 8026D3E8 00269048 80 03 68 0C */ lwz r0, 0xCD00680C@l(r3)
+/* 8026D3EC 0026904C 54 00 07 FE */ clrlwi r0, r0, 0x1f
+/* 8026D3F0 00269050 28 00 00 01 */ cmplwi r0, 1
+/* 8026D3F4 00269054 41 82 FF F4 */ beq lbl_8026D3E8
+/* 8026D3F8 00269058 3C 80 80 27 */ lis r4, OSDefaultExceptionHandler@ha
+/* 8026D3FC 0026905C 38 60 00 08 */ li r3, 8
+/* 8026D400 00269060 38 84 95 94 */ addi r4, r4, OSDefaultExceptionHandler@l
+/* 8026D404 00269064 4B FF C0 D1 */ bl __OSSetExceptionHandler
+/* 8026D408 00269068 48 01 34 91 */ bl func_80280898
+/* 8026D40C 0026906C 3C 60 81 40 */ lis r3, 0x8140
+/* 8026D410 00269070 4B FF CD 15 */ bl OSSetArenaLo
+/* 8026D414 00269074 3C 60 80 00 */ lis r3, 0x80000038@ha
+/* 8026D418 00269078 80 63 00 38 */ lwz r3, 0x80000038@l(r3)
+/* 8026D41C 0026907C 4B FF CC F1 */ bl OSSetArenaHi
+/* 8026D420 00269080 89 3B 00 00 */ lbz r9, 0(r27)
+/* 8026D424 00269084 3D 40 80 51 */ lis r10, lbl_80514768@ha
+/* 8026D428 00269088 89 1B 00 01 */ lbz r8, 1(r27)
+/* 8026D42C 0026908C 9D 2A 47 68 */ stbu r9, lbl_80514768@l(r10)
+/* 8026D430 00269090 88 FB 00 02 */ lbz r7, 2(r27)
+/* 8026D434 00269094 88 DB 00 03 */ lbz r6, 3(r27)
+/* 8026D438 00269098 88 BC 00 00 */ lbz r5, 0(r28)
+/* 8026D43C 0026909C 88 9C 00 01 */ lbz r4, 1(r28)
+/* 8026D440 002690A0 88 7C 00 02 */ lbz r3, 2(r28)
+/* 8026D444 002690A4 88 1C 00 03 */ lbz r0, 3(r28)
+/* 8026D448 002690A8 99 0A 00 01 */ stb r8, 1(r10)
+/* 8026D44C 002690AC 98 EA 00 02 */ stb r7, 2(r10)
+/* 8026D450 002690B0 98 CA 00 03 */ stb r6, 3(r10)
+/* 8026D454 002690B4 98 AA 00 04 */ stb r5, 4(r10)
+/* 8026D458 002690B8 98 8A 00 05 */ stb r4, 5(r10)
+/* 8026D45C 002690BC 98 6A 00 06 */ stb r3, 6(r10)
+/* 8026D460 002690C0 98 0A 00 07 */ stb r0, 7(r10)
+/* 8026D464 002690C4 93 AA 00 08 */ stw r29, 8(r10)
+/* 8026D468 002690C8 4B FF CC 75 */ bl OSGetArenaHi
+/* 8026D46C 002690CC 3C A0 80 27 */ lis r5, Halt@ha
+/* 8026D470 002690D0 7C 64 1B 78 */ mr r4, r3
+/* 8026D474 002690D4 38 65 D4 94 */ addi r3, r5, Halt@l
+/* 8026D478 002690D8 4B FF DB B9 */ bl OSSwitchFiber
+/* 8026D47C 002690DC 39 61 00 30 */ addi r11, r1, 0x30
+/* 8026D480 002690E0 4B F5 9C E9 */ bl _restgpr_24
+/* 8026D484 002690E4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8026D488 002690E8 7C 08 03 A6 */ mtlr r0
+/* 8026D48C 002690EC 38 21 00 30 */ addi r1, r1, 0x30
+/* 8026D490 002690F0 4E 80 00 20 */ blr
+
+.global Halt
+Halt:
+/* 8026D494 002690F4 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 8026D498 002690F8 7C 08 02 A6 */ mflr r0
+/* 8026D49C 002690FC 90 01 00 54 */ stw r0, 0x54(r1)
+/* 8026D4A0 00269100 3C 00 43 30 */ lis r0, 0x4330
+/* 8026D4A4 00269104 93 E1 00 4C */ stw r31, 0x4c(r1)
+/* 8026D4A8 00269108 93 C1 00 48 */ stw r30, 0x48(r1)
+/* 8026D4AC 0026910C 93 A1 00 44 */ stw r29, 0x44(r1)
+/* 8026D4B0 00269110 93 81 00 40 */ stw r28, 0x40(r1)
+/* 8026D4B4 00269114 90 01 00 20 */ stw r0, 0x20(r1)
+/* 8026D4B8 00269118 90 01 00 28 */ stw r0, 0x28(r1)
+/* 8026D4BC 0026911C 48 00 12 B5 */ bl OSEnableInterrupts
+/* 8026D4C0 00269120 3F A0 80 51 */ lis r29, lbl_80514768@ha
+/* 8026D4C4 00269124 3B BD 47 68 */ addi r29, r29, lbl_80514768@l
+/* 8026D4C8 00269128 83 9D 00 08 */ lwz r28, 8(r29)
+/* 8026D4CC 0026912C 7F 83 E3 78 */ mr r3, r28
+/* 8026D4D0 00269130 4B F5 96 95 */ bl strlen
+/* 8026D4D4 00269134 3B C3 00 01 */ addi r30, r3, 1
+/* 8026D4D8 00269138 38 80 00 20 */ li r4, 0x20
+/* 8026D4DC 0026913C 7F C3 F3 78 */ mr r3, r30
+/* 8026D4E0 00269140 4B FF CC 4D */ bl OSAllocFromMEM1ArenaLo
+/* 8026D4E4 00269144 7F 84 E3 78 */ mr r4, r28
+/* 8026D4E8 00269148 7F C5 F3 78 */ mr r5, r30
+/* 8026D4EC 0026914C 4B F5 CD 89 */ bl memmove
+/* 8026D4F0 00269150 90 7D 00 08 */ stw r3, 8(r29)
+/* 8026D4F4 00269154 3C 60 00 0A */ lis r3, 0x000A1004@ha
+/* 8026D4F8 00269158 38 63 10 04 */ addi r3, r3, 0x000A1004@l
+/* 8026D4FC 0026915C 38 80 00 20 */ li r4, 0x20
+/* 8026D500 00269160 4B FF CC 2D */ bl OSAllocFromMEM1ArenaLo
+/* 8026D504 00269164 7C 7F 1B 78 */ mr r31, r3
+/* 8026D508 00269168 4B FF CB ED */ bl OSGetArenaLo
+/* 8026D50C 0026916C 7C 64 1B 78 */ mr r4, r3
+/* 8026D510 00269170 7F E3 FB 78 */ mr r3, r31
+/* 8026D514 00269174 48 00 0B D9 */ bl OSLoadFont
+/* 8026D518 00269178 3C 60 00 09 */ lis r3, 0x00096000@ha
+/* 8026D51C 0026917C 38 80 00 20 */ li r4, 0x20
+/* 8026D520 00269180 38 63 60 00 */ addi r3, r3, 0x00096000@l
+/* 8026D524 00269184 4B FF CC 09 */ bl OSAllocFromMEM1ArenaLo
+/* 8026D528 00269188 88 9D 00 06 */ lbz r4, 6(r29)
+/* 8026D52C 0026918C 7C 7E 1B 78 */ mr r30, r3
+/* 8026D530 00269190 88 BD 00 04 */ lbz r5, 4(r29)
+/* 8026D534 00269194 90 81 00 24 */ stw r4, 0x24(r1)
+/* 8026D538 00269198 88 7D 00 05 */ lbz r3, 5(r29)
+/* 8026D53C 0026919C 90 A1 00 2C */ stw r5, 0x2c(r1)
+/* 8026D540 002691A0 C8 81 00 20 */ lfd f4, 0x20(r1)
+/* 8026D544 002691A4 C8 41 00 28 */ lfd f2, 0x28(r1)
+/* 8026D548 002691A8 C8 02 A0 58 */ lfd f0, lbl_80642658-_SDA2_BASE_(r2)
+/* 8026D54C 002691AC 90 61 00 24 */ stw r3, 0x24(r1)
+/* 8026D550 002691B0 EC 62 00 28 */ fsubs f3, f2, f0
+/* 8026D554 002691B4 C0 42 A0 2C */ lfs f2, lbl_8064262C-_SDA2_BASE_(r2)
+/* 8026D558 002691B8 C8 21 00 20 */ lfd f1, 0x20(r1)
+/* 8026D55C 002691BC EC E4 00 28 */ fsubs f7, f4, f0
+/* 8026D560 002691C0 90 81 00 2C */ stw r4, 0x2c(r1)
+/* 8026D564 002691C4 EC A1 00 28 */ fsubs f5, f1, f0
+/* 8026D568 002691C8 C8 21 00 28 */ lfd f1, 0x28(r1)
+/* 8026D56C 002691CC EC C2 00 F2 */ fmuls f6, f2, f3
+/* 8026D570 002691D0 90 A1 00 24 */ stw r5, 0x24(r1)
+/* 8026D574 002691D4 C0 82 A0 30 */ lfs f4, lbl_80642630-_SDA2_BASE_(r2)
+/* 8026D578 002691D8 EC 61 00 28 */ fsubs f3, f1, f0
+/* 8026D57C 002691DC C8 41 00 20 */ lfd f2, 0x20(r1)
+/* 8026D580 002691E0 EC 84 01 72 */ fmuls f4, f4, f5
+/* 8026D584 002691E4 90 61 00 2C */ stw r3, 0x2c(r1)
+/* 8026D588 002691E8 C0 A2 A0 28 */ lfs f5, lbl_80642628-_SDA2_BASE_(r2)
+/* 8026D58C 002691EC ED 22 00 28 */ fsubs f9, f2, f0
+/* 8026D590 002691F0 C8 21 00 28 */ lfd f1, 0x28(r1)
+/* 8026D594 002691F4 ED A5 01 F2 */ fmuls f13, f5, f7
+/* 8026D598 002691F8 C1 62 A0 38 */ lfs f11, lbl_80642638-_SDA2_BASE_(r2)
+/* 8026D59C 002691FC ED 86 20 2A */ fadds f12, f6, f4
+/* 8026D5A0 00269200 C1 02 A0 3C */ lfs f8, lbl_8064263C-_SDA2_BASE_(r2)
+/* 8026D5A4 00269204 EC E1 00 28 */ fsubs f7, f1, f0
+/* 8026D5A8 00269208 90 A1 00 24 */ stw r5, 0x24(r1)
+/* 8026D5AC 0026920C ED 4B 00 F2 */ fmuls f10, f11, f3
+/* 8026D5B0 00269210 C0 C2 A0 40 */ lfs f6, lbl_80642640-_SDA2_BASE_(r2)
+/* 8026D5B4 00269214 C8 21 00 20 */ lfd f1, 0x20(r1)
+/* 8026D5B8 00269218 ED 08 02 72 */ fmuls f8, f8, f9
+/* 8026D5BC 0026921C EC C6 01 F2 */ fmuls f6, f6, f7
+/* 8026D5C0 00269220 90 61 00 2C */ stw r3, 0x2c(r1)
+/* 8026D5C4 00269224 EC A1 00 28 */ fsubs f5, f1, f0
+/* 8026D5C8 00269228 C8 21 00 28 */ lfd f1, 0x28(r1)
+/* 8026D5CC 0026922C 90 81 00 24 */ stw r4, 0x24(r1)
+/* 8026D5D0 00269230 EC 81 00 28 */ fsubs f4, f1, f0
+/* 8026D5D4 00269234 C0 62 A0 44 */ lfs f3, lbl_80642644-_SDA2_BASE_(r2)
+/* 8026D5D8 00269238 C8 41 00 20 */ lfd f2, 0x20(r1)
+/* 8026D5DC 0026923C EC AB 01 72 */ fmuls f5, f11, f5
+/* 8026D5E0 00269240 C0 22 A0 48 */ lfs f1, lbl_80642648-_SDA2_BASE_(r2)
+/* 8026D5E4 00269244 EC 02 00 28 */ fsubs f0, f2, f0
+/* 8026D5E8 00269248 EC 43 01 32 */ fmuls f2, f3, f4
+/* 8026D5EC 0026924C 88 1D 00 07 */ lbz r0, 7(r29)
+/* 8026D5F0 00269250 EC 6D 60 2A */ fadds f3, f13, f12
+/* 8026D5F4 00269254 EC 88 30 28 */ fsubs f4, f8, f6
+/* 8026D5F8 00269258 C1 22 A0 24 */ lfs f9, lbl_80642624-_SDA2_BASE_(r2)
+/* 8026D5FC 0026925C EC 45 10 28 */ fsubs f2, f5, f2
+/* 8026D600 00269260 EC 01 00 32 */ fmuls f0, f1, f0
+/* 8026D604 00269264 C0 A2 A0 20 */ lfs f5, lbl_80642620-_SDA2_BASE_(r2)
+/* 8026D608 00269268 EC C9 18 2A */ fadds f6, f9, f3
+/* 8026D60C 0026926C EC 2A 20 2A */ fadds f1, f10, f4
+/* 8026D610 00269270 C0 62 A0 34 */ lfs f3, lbl_80642634-_SDA2_BASE_(r2)
+/* 8026D614 00269274 EC 02 00 28 */ fsubs f0, f2, f0
+/* 8026D618 00269278 EC 85 30 2A */ fadds f4, f5, f6
+/* 8026D61C 0026927C C0 E2 A0 4C */ lfs f7, lbl_8064264C-_SDA2_BASE_(r2)
+/* 8026D620 00269280 EC 23 08 2A */ fadds f1, f3, f1
+/* 8026D624 00269284 EC 03 00 2A */ fadds f0, f3, f0
+/* 8026D628 00269288 98 A1 00 18 */ stb r5, 0x18(r1)
+/* 8026D62C 0026928C FC 04 38 40 */ fcmpo cr0, f4, f7
+/* 8026D630 00269290 EC 45 08 2A */ fadds f2, f5, f1
+/* 8026D634 00269294 98 61 00 19 */ stb r3, 0x19(r1)
+/* 8026D638 00269298 EC 25 00 2A */ fadds f1, f5, f0
+/* 8026D63C 0026929C 98 81 00 1A */ stb r4, 0x1a(r1)
+/* 8026D640 002692A0 98 01 00 1B */ stb r0, 0x1b(r1)
+/* 8026D644 002692A4 40 81 00 08 */ ble lbl_8026D64C
+/* 8026D648 002692A8 48 00 00 18 */ b lbl_8026D660
+lbl_8026D64C:
+/* 8026D64C 002692AC FC 04 48 40 */ fcmpo cr0, f4, f9
+/* 8026D650 002692B0 40 80 00 08 */ bge lbl_8026D658
+/* 8026D654 002692B4 48 00 00 08 */ b lbl_8026D65C
+lbl_8026D658:
+/* 8026D658 002692B8 FD 20 20 90 */ fmr f9, f4
+lbl_8026D65C:
+/* 8026D65C 002692BC FC E0 48 90 */ fmr f7, f9
+lbl_8026D660:
+/* 8026D660 002692C0 FC 00 38 1E */ fctiwz f0, f7
+/* 8026D664 002692C4 C0 62 A0 50 */ lfs f3, lbl_80642650-_SDA2_BASE_(r2)
+/* 8026D668 002692C8 FC 02 18 40 */ fcmpo cr0, f2, f3
+/* 8026D66C 002692CC D8 01 00 30 */ stfd f0, 0x30(r1)
+/* 8026D670 002692D0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8026D674 002692D4 98 01 00 0C */ stb r0, 0xc(r1)
+/* 8026D678 002692D8 40 81 00 08 */ ble lbl_8026D680
+/* 8026D67C 002692DC 48 00 00 18 */ b lbl_8026D694
+lbl_8026D680:
+/* 8026D680 002692E0 C0 62 A0 24 */ lfs f3, lbl_80642624-_SDA2_BASE_(r2)
+/* 8026D684 002692E4 FC 02 18 40 */ fcmpo cr0, f2, f3
+/* 8026D688 002692E8 40 80 00 08 */ bge lbl_8026D690
+/* 8026D68C 002692EC 48 00 00 08 */ b lbl_8026D694
+lbl_8026D690:
+/* 8026D690 002692F0 FC 60 10 90 */ fmr f3, f2
+lbl_8026D694:
+/* 8026D694 002692F4 FC 00 18 1E */ fctiwz f0, f3
+/* 8026D698 002692F8 C0 42 A0 50 */ lfs f2, lbl_80642650-_SDA2_BASE_(r2)
+/* 8026D69C 002692FC FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 8026D6A0 00269300 D8 01 00 30 */ stfd f0, 0x30(r1)
+/* 8026D6A4 00269304 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8026D6A8 00269308 98 01 00 0D */ stb r0, 0xd(r1)
+/* 8026D6AC 0026930C 40 81 00 08 */ ble lbl_8026D6B4
+/* 8026D6B0 00269310 48 00 00 18 */ b lbl_8026D6C8
+lbl_8026D6B4:
+/* 8026D6B4 00269314 C0 42 A0 24 */ lfs f2, lbl_80642624-_SDA2_BASE_(r2)
+/* 8026D6B8 00269318 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 8026D6BC 0026931C 40 80 00 08 */ bge lbl_8026D6C4
+/* 8026D6C0 00269320 48 00 00 08 */ b lbl_8026D6C8
+lbl_8026D6C4:
+/* 8026D6C4 00269324 FC 40 08 90 */ fmr f2, f1
+lbl_8026D6C8:
+/* 8026D6C8 00269328 FC 00 10 1E */ fctiwz f0, f2
+/* 8026D6CC 0026932C 38 00 00 00 */ li r0, 0
+/* 8026D6D0 00269330 98 01 00 0F */ stb r0, 0xf(r1)
+/* 8026D6D4 00269334 7F C4 F3 78 */ mr r4, r30
+/* 8026D6D8 00269338 38 A0 00 00 */ li r5, 0
+/* 8026D6DC 0026933C 38 00 00 14 */ li r0, 0x14
+/* 8026D6E0 00269340 D8 01 00 30 */ stfd f0, 0x30(r1)
+/* 8026D6E4 00269344 80 61 00 34 */ lwz r3, 0x34(r1)
+/* 8026D6E8 00269348 98 61 00 0E */ stb r3, 0xe(r1)
+/* 8026D6EC 0026934C 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 8026D6F0 00269350 90 61 00 1C */ stw r3, 0x1c(r1)
+/* 8026D6F4 00269354 88 C1 00 1D */ lbz r6, 0x1d(r1)
+/* 8026D6F8 00269358 88 E1 00 1E */ lbz r7, 0x1e(r1)
+/* 8026D6FC 0026935C 88 61 00 1C */ lbz r3, 0x1c(r1)
+lbl_8026D700:
+/* 8026D700 00269360 7C 09 03 A6 */ mtctr r0
+lbl_8026D704:
+/* 8026D704 00269364 98 64 00 00 */ stb r3, 0(r4)
+/* 8026D708 00269368 98 C4 00 01 */ stb r6, 1(r4)
+/* 8026D70C 0026936C 98 64 00 02 */ stb r3, 2(r4)
+/* 8026D710 00269370 98 E4 00 03 */ stb r7, 3(r4)
+/* 8026D714 00269374 98 64 00 04 */ stb r3, 4(r4)
+/* 8026D718 00269378 98 C4 00 05 */ stb r6, 5(r4)
+/* 8026D71C 0026937C 98 64 00 06 */ stb r3, 6(r4)
+/* 8026D720 00269380 98 E4 00 07 */ stb r7, 7(r4)
+/* 8026D724 00269384 98 64 00 08 */ stb r3, 8(r4)
+/* 8026D728 00269388 98 C4 00 09 */ stb r6, 9(r4)
+/* 8026D72C 0026938C 98 64 00 0A */ stb r3, 0xa(r4)
+/* 8026D730 00269390 98 E4 00 0B */ stb r7, 0xb(r4)
+/* 8026D734 00269394 98 64 00 0C */ stb r3, 0xc(r4)
+/* 8026D738 00269398 98 C4 00 0D */ stb r6, 0xd(r4)
+/* 8026D73C 0026939C 98 64 00 0E */ stb r3, 0xe(r4)
+/* 8026D740 002693A0 98 E4 00 0F */ stb r7, 0xf(r4)
+/* 8026D744 002693A4 98 64 00 10 */ stb r3, 0x10(r4)
+/* 8026D748 002693A8 98 C4 00 11 */ stb r6, 0x11(r4)
+/* 8026D74C 002693AC 98 64 00 12 */ stb r3, 0x12(r4)
+/* 8026D750 002693B0 98 E4 00 13 */ stb r7, 0x13(r4)
+/* 8026D754 002693B4 98 64 00 14 */ stb r3, 0x14(r4)
+/* 8026D758 002693B8 98 C4 00 15 */ stb r6, 0x15(r4)
+/* 8026D75C 002693BC 98 64 00 16 */ stb r3, 0x16(r4)
+/* 8026D760 002693C0 98 E4 00 17 */ stb r7, 0x17(r4)
+/* 8026D764 002693C4 98 64 00 18 */ stb r3, 0x18(r4)
+/* 8026D768 002693C8 98 C4 00 19 */ stb r6, 0x19(r4)
+/* 8026D76C 002693CC 98 64 00 1A */ stb r3, 0x1a(r4)
+/* 8026D770 002693D0 98 E4 00 1B */ stb r7, 0x1b(r4)
+/* 8026D774 002693D4 98 64 00 1C */ stb r3, 0x1c(r4)
+/* 8026D778 002693D8 98 C4 00 1D */ stb r6, 0x1d(r4)
+/* 8026D77C 002693DC 98 64 00 1E */ stb r3, 0x1e(r4)
+/* 8026D780 002693E0 98 E4 00 1F */ stb r7, 0x1f(r4)
+/* 8026D784 002693E4 98 64 00 20 */ stb r3, 0x20(r4)
+/* 8026D788 002693E8 98 C4 00 21 */ stb r6, 0x21(r4)
+/* 8026D78C 002693EC 98 64 00 22 */ stb r3, 0x22(r4)
+/* 8026D790 002693F0 98 E4 00 23 */ stb r7, 0x23(r4)
+/* 8026D794 002693F4 98 64 00 24 */ stb r3, 0x24(r4)
+/* 8026D798 002693F8 98 C4 00 25 */ stb r6, 0x25(r4)
+/* 8026D79C 002693FC 98 64 00 26 */ stb r3, 0x26(r4)
+/* 8026D7A0 00269400 98 E4 00 27 */ stb r7, 0x27(r4)
+/* 8026D7A4 00269404 98 64 00 28 */ stb r3, 0x28(r4)
+/* 8026D7A8 00269408 98 C4 00 29 */ stb r6, 0x29(r4)
+/* 8026D7AC 0026940C 98 64 00 2A */ stb r3, 0x2a(r4)
+/* 8026D7B0 00269410 98 E4 00 2B */ stb r7, 0x2b(r4)
+/* 8026D7B4 00269414 98 64 00 2C */ stb r3, 0x2c(r4)
+/* 8026D7B8 00269418 98 C4 00 2D */ stb r6, 0x2d(r4)
+/* 8026D7BC 0026941C 98 64 00 2E */ stb r3, 0x2e(r4)
+/* 8026D7C0 00269420 98 E4 00 2F */ stb r7, 0x2f(r4)
+/* 8026D7C4 00269424 98 64 00 30 */ stb r3, 0x30(r4)
+/* 8026D7C8 00269428 98 C4 00 31 */ stb r6, 0x31(r4)
+/* 8026D7CC 0026942C 98 64 00 32 */ stb r3, 0x32(r4)
+/* 8026D7D0 00269430 98 E4 00 33 */ stb r7, 0x33(r4)
+/* 8026D7D4 00269434 98 64 00 34 */ stb r3, 0x34(r4)
+/* 8026D7D8 00269438 98 C4 00 35 */ stb r6, 0x35(r4)
+/* 8026D7DC 0026943C 98 64 00 36 */ stb r3, 0x36(r4)
+/* 8026D7E0 00269440 98 E4 00 37 */ stb r7, 0x37(r4)
+/* 8026D7E4 00269444 98 64 00 38 */ stb r3, 0x38(r4)
+/* 8026D7E8 00269448 98 C4 00 39 */ stb r6, 0x39(r4)
+/* 8026D7EC 0026944C 98 64 00 3A */ stb r3, 0x3a(r4)
+/* 8026D7F0 00269450 98 E4 00 3B */ stb r7, 0x3b(r4)
+/* 8026D7F4 00269454 98 64 00 3C */ stb r3, 0x3c(r4)
+/* 8026D7F8 00269458 98 C4 00 3D */ stb r6, 0x3d(r4)
+/* 8026D7FC 0026945C 98 64 00 3E */ stb r3, 0x3e(r4)
+/* 8026D800 00269460 98 E4 00 3F */ stb r7, 0x3f(r4)
+/* 8026D804 00269464 38 84 00 40 */ addi r4, r4, 0x40
+/* 8026D808 00269468 42 00 FE FC */ bdnz lbl_8026D704
+/* 8026D80C 0026946C 38 A5 00 01 */ addi r5, r5, 1
+/* 8026D810 00269470 2C 05 01 E0 */ cmpwi r5, 0x1e0
+/* 8026D814 00269474 41 80 FE EC */ blt lbl_8026D700
+/* 8026D818 00269478 7F C3 F3 78 */ mr r3, r30
+/* 8026D81C 0026947C 48 00 BF A1 */ bl func_802797BC
+/* 8026D820 00269480 38 60 02 80 */ li r3, 0x280
+/* 8026D824 00269484 38 80 01 E0 */ li r4, 0x1e0
+/* 8026D828 00269488 4B FF F9 6D */ bl ConfigureVideo
+/* 8026D82C 0026948C 48 00 BE 7D */ bl func_802796A8
+/* 8026D830 00269490 48 00 C0 71 */ bl func_802798A0
+/* 8026D834 00269494 7C 7C 1B 78 */ mr r28, r3
+lbl_8026D838:
+/* 8026D838 00269498 48 00 C0 69 */ bl func_802798A0
+/* 8026D83C 0026949C 7C 1C 18 50 */ subf r0, r28, r3
+/* 8026D840 002694A0 2C 00 00 02 */ cmpwi r0, 2
+/* 8026D844 002694A4 41 80 FF F4 */ blt lbl_8026D838
+/* 8026D848 002694A8 88 7D 00 02 */ lbz r3, 2(r29)
+/* 8026D84C 002694AC 88 BD 00 00 */ lbz r5, 0(r29)
+/* 8026D850 002694B0 90 61 00 2C */ stw r3, 0x2c(r1)
+/* 8026D854 002694B4 88 9D 00 01 */ lbz r4, 1(r29)
+/* 8026D858 002694B8 90 A1 00 24 */ stw r5, 0x24(r1)
+/* 8026D85C 002694BC C8 81 00 28 */ lfd f4, 0x28(r1)
+/* 8026D860 002694C0 C8 41 00 20 */ lfd f2, 0x20(r1)
+/* 8026D864 002694C4 C8 02 A0 58 */ lfd f0, lbl_80642658-_SDA2_BASE_(r2)
+/* 8026D868 002694C8 90 81 00 2C */ stw r4, 0x2c(r1)
+/* 8026D86C 002694CC EC 62 00 28 */ fsubs f3, f2, f0
+/* 8026D870 002694D0 C0 42 A0 2C */ lfs f2, lbl_8064262C-_SDA2_BASE_(r2)
+/* 8026D874 002694D4 C8 21 00 28 */ lfd f1, 0x28(r1)
+/* 8026D878 002694D8 EC E4 00 28 */ fsubs f7, f4, f0
+/* 8026D87C 002694DC 90 61 00 24 */ stw r3, 0x24(r1)
+/* 8026D880 002694E0 EC A1 00 28 */ fsubs f5, f1, f0
+/* 8026D884 002694E4 C8 21 00 20 */ lfd f1, 0x20(r1)
+/* 8026D888 002694E8 EC C2 00 F2 */ fmuls f6, f2, f3
+/* 8026D88C 002694EC 90 A1 00 2C */ stw r5, 0x2c(r1)
+/* 8026D890 002694F0 C0 82 A0 30 */ lfs f4, lbl_80642630-_SDA2_BASE_(r2)
+/* 8026D894 002694F4 EC 61 00 28 */ fsubs f3, f1, f0
+/* 8026D898 002694F8 C8 41 00 28 */ lfd f2, 0x28(r1)
+/* 8026D89C 002694FC EC 84 01 72 */ fmuls f4, f4, f5
+/* 8026D8A0 00269500 90 81 00 24 */ stw r4, 0x24(r1)
+/* 8026D8A4 00269504 C0 A2 A0 28 */ lfs f5, lbl_80642628-_SDA2_BASE_(r2)
+/* 8026D8A8 00269508 ED 22 00 28 */ fsubs f9, f2, f0
+/* 8026D8AC 0026950C C8 21 00 20 */ lfd f1, 0x20(r1)
+/* 8026D8B0 00269510 ED A5 01 F2 */ fmuls f13, f5, f7
+/* 8026D8B4 00269514 C1 62 A0 38 */ lfs f11, lbl_80642638-_SDA2_BASE_(r2)
+/* 8026D8B8 00269518 ED 86 20 2A */ fadds f12, f6, f4
+/* 8026D8BC 0026951C C1 02 A0 3C */ lfs f8, lbl_8064263C-_SDA2_BASE_(r2)
+/* 8026D8C0 00269520 EC E1 00 28 */ fsubs f7, f1, f0
+/* 8026D8C4 00269524 90 A1 00 2C */ stw r5, 0x2c(r1)
+/* 8026D8C8 00269528 ED 4B 00 F2 */ fmuls f10, f11, f3
+/* 8026D8CC 0026952C C0 C2 A0 40 */ lfs f6, lbl_80642640-_SDA2_BASE_(r2)
+/* 8026D8D0 00269530 C8 21 00 28 */ lfd f1, 0x28(r1)
+/* 8026D8D4 00269534 ED 08 02 72 */ fmuls f8, f8, f9
+/* 8026D8D8 00269538 EC C6 01 F2 */ fmuls f6, f6, f7
+/* 8026D8DC 0026953C 90 81 00 24 */ stw r4, 0x24(r1)
+/* 8026D8E0 00269540 EC A1 00 28 */ fsubs f5, f1, f0
+/* 8026D8E4 00269544 C8 21 00 20 */ lfd f1, 0x20(r1)
+/* 8026D8E8 00269548 90 61 00 2C */ stw r3, 0x2c(r1)
+/* 8026D8EC 0026954C EC 81 00 28 */ fsubs f4, f1, f0
+/* 8026D8F0 00269550 C0 62 A0 44 */ lfs f3, lbl_80642644-_SDA2_BASE_(r2)
+/* 8026D8F4 00269554 C8 41 00 28 */ lfd f2, 0x28(r1)
+/* 8026D8F8 00269558 EC AB 01 72 */ fmuls f5, f11, f5
+/* 8026D8FC 0026955C C0 22 A0 48 */ lfs f1, lbl_80642648-_SDA2_BASE_(r2)
+/* 8026D900 00269560 EC 02 00 28 */ fsubs f0, f2, f0
+/* 8026D904 00269564 EC 43 01 32 */ fmuls f2, f3, f4
+/* 8026D908 00269568 88 1D 00 03 */ lbz r0, 3(r29)
+/* 8026D90C 0026956C EC 6D 60 2A */ fadds f3, f13, f12
+/* 8026D910 00269570 EC 88 30 28 */ fsubs f4, f8, f6
+/* 8026D914 00269574 C1 22 A0 24 */ lfs f9, lbl_80642624-_SDA2_BASE_(r2)
+/* 8026D918 00269578 EC 45 10 28 */ fsubs f2, f5, f2
+/* 8026D91C 0026957C EC 01 00 32 */ fmuls f0, f1, f0
+/* 8026D920 00269580 C0 A2 A0 20 */ lfs f5, lbl_80642620-_SDA2_BASE_(r2)
+/* 8026D924 00269584 EC C9 18 2A */ fadds f6, f9, f3
+/* 8026D928 00269588 EC 2A 20 2A */ fadds f1, f10, f4
+/* 8026D92C 0026958C C0 62 A0 34 */ lfs f3, lbl_80642634-_SDA2_BASE_(r2)
+/* 8026D930 00269590 EC 02 00 28 */ fsubs f0, f2, f0
+/* 8026D934 00269594 EC 85 30 2A */ fadds f4, f5, f6
+/* 8026D938 00269598 C0 E2 A0 4C */ lfs f7, lbl_8064264C-_SDA2_BASE_(r2)
+/* 8026D93C 0026959C EC 23 08 2A */ fadds f1, f3, f1
+/* 8026D940 002695A0 EC 03 00 2A */ fadds f0, f3, f0
+/* 8026D944 002695A4 98 A1 00 10 */ stb r5, 0x10(r1)
+/* 8026D948 002695A8 FC 04 38 40 */ fcmpo cr0, f4, f7
+/* 8026D94C 002695AC EC 45 08 2A */ fadds f2, f5, f1
+/* 8026D950 002695B0 98 81 00 11 */ stb r4, 0x11(r1)
+/* 8026D954 002695B4 EC 25 00 2A */ fadds f1, f5, f0
+/* 8026D958 002695B8 98 61 00 12 */ stb r3, 0x12(r1)
+/* 8026D95C 002695BC 98 01 00 13 */ stb r0, 0x13(r1)
+/* 8026D960 002695C0 40 81 00 08 */ ble lbl_8026D968
+/* 8026D964 002695C4 48 00 00 18 */ b lbl_8026D97C
+lbl_8026D968:
+/* 8026D968 002695C8 FC 04 48 40 */ fcmpo cr0, f4, f9
+/* 8026D96C 002695CC 40 80 00 08 */ bge lbl_8026D974
+/* 8026D970 002695D0 48 00 00 08 */ b lbl_8026D978
+lbl_8026D974:
+/* 8026D974 002695D4 FD 20 20 90 */ fmr f9, f4
+lbl_8026D978:
+/* 8026D978 002695D8 FC E0 48 90 */ fmr f7, f9
+lbl_8026D97C:
+/* 8026D97C 002695DC FC 00 38 1E */ fctiwz f0, f7
+/* 8026D980 002695E0 C0 62 A0 50 */ lfs f3, lbl_80642650-_SDA2_BASE_(r2)
+/* 8026D984 002695E4 FC 02 18 40 */ fcmpo cr0, f2, f3
+/* 8026D988 002695E8 D8 01 00 30 */ stfd f0, 0x30(r1)
+/* 8026D98C 002695EC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8026D990 002695F0 98 01 00 08 */ stb r0, 8(r1)
+/* 8026D994 002695F4 40 81 00 08 */ ble lbl_8026D99C
+/* 8026D998 002695F8 48 00 00 18 */ b lbl_8026D9B0
+lbl_8026D99C:
+/* 8026D99C 002695FC C0 62 A0 24 */ lfs f3, lbl_80642624-_SDA2_BASE_(r2)
+/* 8026D9A0 00269600 FC 02 18 40 */ fcmpo cr0, f2, f3
+/* 8026D9A4 00269604 40 80 00 08 */ bge lbl_8026D9AC
+/* 8026D9A8 00269608 48 00 00 08 */ b lbl_8026D9B0
+lbl_8026D9AC:
+/* 8026D9AC 0026960C FC 60 10 90 */ fmr f3, f2
+lbl_8026D9B0:
+/* 8026D9B0 00269610 FC 00 18 1E */ fctiwz f0, f3
+/* 8026D9B4 00269614 C0 42 A0 50 */ lfs f2, lbl_80642650-_SDA2_BASE_(r2)
+/* 8026D9B8 00269618 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 8026D9BC 0026961C D8 01 00 30 */ stfd f0, 0x30(r1)
+/* 8026D9C0 00269620 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8026D9C4 00269624 98 01 00 09 */ stb r0, 9(r1)
+/* 8026D9C8 00269628 40 81 00 08 */ ble lbl_8026D9D0
+/* 8026D9CC 0026962C 48 00 00 18 */ b lbl_8026D9E4
+lbl_8026D9D0:
+/* 8026D9D0 00269630 C0 42 A0 24 */ lfs f2, lbl_80642624-_SDA2_BASE_(r2)
+/* 8026D9D4 00269634 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 8026D9D8 00269638 40 80 00 08 */ bge lbl_8026D9E0
+/* 8026D9DC 0026963C 48 00 00 08 */ b lbl_8026D9E4
+lbl_8026D9E0:
+/* 8026D9E0 00269640 FC 40 08 90 */ fmr f2, f1
+lbl_8026D9E4:
+/* 8026D9E4 00269644 FC 00 10 1E */ fctiwz f0, f2
+/* 8026D9E8 00269648 38 00 00 00 */ li r0, 0
+/* 8026D9EC 0026964C 98 01 00 0B */ stb r0, 0xb(r1)
+/* 8026D9F0 00269650 7F C3 F3 78 */ mr r3, r30
+/* 8026D9F4 00269654 81 5D 00 08 */ lwz r10, 8(r29)
+/* 8026D9F8 00269658 38 C1 00 14 */ addi r6, r1, 0x14
+/* 8026D9FC 0026965C D8 01 00 30 */ stfd f0, 0x30(r1)
+/* 8026DA00 00269660 38 80 02 80 */ li r4, 0x280
+/* 8026DA04 00269664 38 A0 01 E0 */ li r5, 0x1e0
+/* 8026DA08 00269668 38 E0 00 30 */ li r7, 0x30
+/* 8026DA0C 0026966C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8026DA10 00269670 39 00 00 64 */ li r8, 0x64
+/* 8026DA14 00269674 98 01 00 0A */ stb r0, 0xa(r1)
+/* 8026DA18 00269678 80 01 00 08 */ lwz r0, 8(r1)
+/* 8026DA1C 0026967C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8026DA20 00269680 A1 3F 00 0E */ lhz r9, 0xe(r31)
+/* 8026DA24 00269684 4B FF F4 4D */ bl ScreenReport
+/* 8026DA28 00269688 3C 80 00 09 */ lis r4, 0x00096000@ha
+/* 8026DA2C 0026968C 7F C3 F3 78 */ mr r3, r30
+/* 8026DA30 00269690 38 84 60 00 */ addi r4, r4, 0x00096000@l
+/* 8026DA34 00269694 4B FF CC 21 */ bl DCFlushRange
+/* 8026DA38 00269698 38 60 00 00 */ li r3, 0
+/* 8026DA3C 0026969C 48 00 BD ED */ bl func_80279828
+/* 8026DA40 002696A0 48 00 BC 69 */ bl func_802796A8
+/* 8026DA44 002696A4 48 00 BE 5D */ bl func_802798A0
+/* 8026DA48 002696A8 7C 7E 1B 78 */ mr r30, r3
+lbl_8026DA4C:
+/* 8026DA4C 002696AC 48 00 BE 55 */ bl func_802798A0
+/* 8026DA50 002696B0 7C 1E 18 50 */ subf r0, r30, r3
+/* 8026DA54 002696B4 2C 00 00 01 */ cmpwi r0, 1
+/* 8026DA58 002696B8 41 80 FF F4 */ blt lbl_8026DA4C
+/* 8026DA5C 002696BC 48 00 0D 01 */ bl OSDisableInterrupts
+/* 8026DA60 002696C0 80 9D 00 08 */ lwz r4, 8(r29)
+/* 8026DA64 002696C4 38 6D 87 D0 */ addi r3, r13, lbl_8063DA90-_SDA_BASE_
+/* 8026DA68 002696C8 4C C6 31 82 */ crclr 6
+/* 8026DA6C 002696CC 4B D9 A0 59 */ bl func_80007AC4
+/* 8026DA70 002696D0 4B FF A7 F9 */ bl PPCHalt
+/* 8026DA74 002696D4 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 8026DA78 002696D8 83 E1 00 4C */ lwz r31, 0x4c(r1)
+/* 8026DA7C 002696DC 83 C1 00 48 */ lwz r30, 0x48(r1)
+/* 8026DA80 002696E0 83 A1 00 44 */ lwz r29, 0x44(r1)
+/* 8026DA84 002696E4 83 81 00 40 */ lwz r28, 0x40(r1)
+/* 8026DA88 002696E8 7C 08 03 A6 */ mtlr r0
+/* 8026DA8C 002696EC 38 21 00 50 */ addi r1, r1, 0x50
+/* 8026DA90 002696F0 4E 80 00 20 */ blr
diff --git a/asm/SDK/OS/OSFont.s b/asm/SDK/OS/OSFont.s new file mode 100644 index 0000000..8b05f8b --- /dev/null +++ b/asm/SDK/OS/OSFont.s @@ -0,0 +1,928 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global GetFontCode
+GetFontCode:
+/* 8026DA94 002696F4 28 03 00 01 */ cmplwi r3, 1
+/* 8026DA98 002696F8 40 82 01 10 */ bne lbl_8026DBA8
+/* 8026DA9C 002696FC 28 04 00 20 */ cmplwi r4, 0x20
+/* 8026DAA0 00269700 41 80 00 24 */ blt lbl_8026DAC4
+/* 8026DAA4 00269704 28 04 00 DF */ cmplwi r4, 0xdf
+/* 8026DAA8 00269708 41 81 00 1C */ bgt lbl_8026DAC4
+/* 8026DAAC 0026970C 38 04 FF E0 */ addi r0, r4, -32
+/* 8026DAB0 00269710 3C 60 80 42 */ lis r3, lbl_804271C8@ha
+/* 8026DAB4 00269714 54 00 08 3C */ slwi r0, r0, 1
+/* 8026DAB8 00269718 38 63 71 C8 */ addi r3, r3, lbl_804271C8@l
+/* 8026DABC 0026971C 7C 63 02 2E */ lhzx r3, r3, r0
+/* 8026DAC0 00269720 4E 80 00 20 */ blr
+lbl_8026DAC4:
+/* 8026DAC4 00269724 28 04 88 9E */ cmplwi r4, 0x889e
+/* 8026DAC8 00269728 40 81 00 68 */ ble lbl_8026DB30
+/* 8026DACC 0026972C 28 04 98 72 */ cmplwi r4, 0x9872
+/* 8026DAD0 00269730 41 81 00 60 */ bgt lbl_8026DB30
+/* 8026DAD4 00269734 54 83 C6 3E */ rlwinm r3, r4, 0x18, 0x18, 0x1f
+/* 8026DAD8 00269738 54 84 06 3E */ clrlwi r4, r4, 0x18
+/* 8026DADC 0026973C 38 63 FF 78 */ addi r3, r3, -136
+/* 8026DAE0 00269740 38 00 00 00 */ li r0, 0
+/* 8026DAE4 00269744 28 04 00 40 */ cmplwi r4, 0x40
+/* 8026DAE8 00269748 1C 63 00 BC */ mulli r3, r3, 0xbc
+/* 8026DAEC 0026974C 41 80 00 18 */ blt lbl_8026DB04
+/* 8026DAF0 00269750 28 04 00 FC */ cmplwi r4, 0xfc
+/* 8026DAF4 00269754 41 81 00 10 */ bgt lbl_8026DB04
+/* 8026DAF8 00269758 28 04 00 7F */ cmplwi r4, 0x7f
+/* 8026DAFC 0026975C 41 82 00 08 */ beq lbl_8026DB04
+/* 8026DB00 00269760 38 00 00 01 */ li r0, 1
+lbl_8026DB04:
+/* 8026DB04 00269764 2C 00 00 00 */ cmpwi r0, 0
+/* 8026DB08 00269768 40 82 00 0C */ bne lbl_8026DB14
+/* 8026DB0C 0026976C 38 60 00 00 */ li r3, 0
+/* 8026DB10 00269770 4E 80 00 20 */ blr
+lbl_8026DB14:
+/* 8026DB14 00269774 38 84 FF C0 */ addi r4, r4, -64
+/* 8026DB18 00269778 2C 04 00 40 */ cmpwi r4, 0x40
+/* 8026DB1C 0026977C 41 80 00 08 */ blt lbl_8026DB24
+/* 8026DB20 00269780 38 84 FF FF */ addi r4, r4, -1
+lbl_8026DB24:
+/* 8026DB24 00269784 7C 63 22 14 */ add r3, r3, r4
+/* 8026DB28 00269788 38 63 02 BE */ addi r3, r3, 0x2be
+/* 8026DB2C 0026978C 4E 80 00 20 */ blr
+lbl_8026DB30:
+/* 8026DB30 00269790 28 04 81 40 */ cmplwi r4, 0x8140
+/* 8026DB34 00269794 41 80 00 8C */ blt lbl_8026DBC0
+/* 8026DB38 00269798 28 04 87 9E */ cmplwi r4, 0x879e
+/* 8026DB3C 0026979C 40 80 00 84 */ bge lbl_8026DBC0
+/* 8026DB40 002697A0 54 83 C6 3E */ rlwinm r3, r4, 0x18, 0x18, 0x1f
+/* 8026DB44 002697A4 54 84 06 3E */ clrlwi r4, r4, 0x18
+/* 8026DB48 002697A8 38 63 FF 7F */ addi r3, r3, -129
+/* 8026DB4C 002697AC 38 00 00 00 */ li r0, 0
+/* 8026DB50 002697B0 28 04 00 40 */ cmplwi r4, 0x40
+/* 8026DB54 002697B4 1C 63 00 BC */ mulli r3, r3, 0xbc
+/* 8026DB58 002697B8 41 80 00 18 */ blt lbl_8026DB70
+/* 8026DB5C 002697BC 28 04 00 FC */ cmplwi r4, 0xfc
+/* 8026DB60 002697C0 41 81 00 10 */ bgt lbl_8026DB70
+/* 8026DB64 002697C4 28 04 00 7F */ cmplwi r4, 0x7f
+/* 8026DB68 002697C8 41 82 00 08 */ beq lbl_8026DB70
+/* 8026DB6C 002697CC 38 00 00 01 */ li r0, 1
+lbl_8026DB70:
+/* 8026DB70 002697D0 2C 00 00 00 */ cmpwi r0, 0
+/* 8026DB74 002697D4 40 82 00 0C */ bne lbl_8026DB80
+/* 8026DB78 002697D8 38 60 00 00 */ li r3, 0
+/* 8026DB7C 002697DC 4E 80 00 20 */ blr
+lbl_8026DB80:
+/* 8026DB80 002697E0 38 84 FF C0 */ addi r4, r4, -64
+/* 8026DB84 002697E4 2C 04 00 40 */ cmpwi r4, 0x40
+/* 8026DB88 002697E8 41 80 00 08 */ blt lbl_8026DB90
+/* 8026DB8C 002697EC 38 84 FF FF */ addi r4, r4, -1
+lbl_8026DB90:
+/* 8026DB90 002697F0 7C 03 22 14 */ add r0, r3, r4
+/* 8026DB94 002697F4 3C 60 80 42 */ lis r3, lbl_80427348@ha
+/* 8026DB98 002697F8 54 00 08 3C */ slwi r0, r0, 1
+/* 8026DB9C 002697FC 38 63 73 48 */ addi r3, r3, lbl_80427348@l
+/* 8026DBA0 00269800 7C 63 02 2E */ lhzx r3, r3, r0
+/* 8026DBA4 00269804 4E 80 00 20 */ blr
+lbl_8026DBA8:
+/* 8026DBA8 00269808 28 04 00 20 */ cmplwi r4, 0x20
+/* 8026DBAC 0026980C 40 81 00 14 */ ble lbl_8026DBC0
+/* 8026DBB0 00269810 28 04 00 FF */ cmplwi r4, 0xff
+/* 8026DBB4 00269814 41 81 00 0C */ bgt lbl_8026DBC0
+/* 8026DBB8 00269818 38 64 FF E0 */ addi r3, r4, -32
+/* 8026DBBC 0026981C 4E 80 00 20 */ blr
+lbl_8026DBC0:
+/* 8026DBC0 00269820 38 60 00 00 */ li r3, 0
+/* 8026DBC4 00269824 4E 80 00 20 */ blr
+
+.global Decode
+Decode:
+/* 8026DBC8 00269828 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8026DBCC 0026982C 7C 08 02 A6 */ mflr r0
+/* 8026DBD0 00269830 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8026DBD4 00269834 39 61 00 20 */ addi r11, r1, 0x20
+/* 8026DBD8 00269838 4B F5 95 4D */ bl _savegpr_26
+/* 8026DBDC 0026983C 80 A3 00 0C */ lwz r5, 0xc(r3)
+/* 8026DBE0 00269840 3B C3 00 10 */ addi r30, r3, 0x10
+/* 8026DBE4 00269844 80 03 00 04 */ lwz r0, 4(r3)
+/* 8026DBE8 00269848 39 00 00 00 */ li r8, 0
+/* 8026DBEC 0026984C 7F A3 2A 14 */ add r29, r3, r5
+/* 8026DBF0 00269850 81 23 00 08 */ lwz r9, 8(r3)
+/* 8026DBF4 00269854 39 60 00 00 */ li r11, 0
+/* 8026DBF8 00269858 3C A0 80 00 */ lis r5, 0x8000
+lbl_8026DBFC:
+/* 8026DBFC 0026985C 2C 0B 00 00 */ cmpwi r11, 0
+/* 8026DC00 00269860 40 82 00 10 */ bne lbl_8026DC10
+/* 8026DC04 00269864 81 9E 00 00 */ lwz r12, 0(r30)
+/* 8026DC08 00269868 39 60 00 20 */ li r11, 0x20
+/* 8026DC0C 0026986C 3B DE 00 04 */ addi r30, r30, 4
+lbl_8026DC10:
+/* 8026DC10 00269870 55 86 00 01 */ rlwinm. r6, r12, 0, 0, 0
+/* 8026DC14 00269874 41 82 00 18 */ beq lbl_8026DC2C
+/* 8026DC18 00269878 88 DD 00 00 */ lbz r6, 0(r29)
+/* 8026DC1C 0026987C 3B BD 00 01 */ addi r29, r29, 1
+/* 8026DC20 00269880 7C C4 41 AE */ stbx r6, r4, r8
+/* 8026DC24 00269884 39 08 00 01 */ addi r8, r8, 1
+/* 8026DC28 00269888 48 00 01 1C */ b lbl_8026DD44
+lbl_8026DC2C:
+/* 8026DC2C 0026988C 7C E3 4A 14 */ add r7, r3, r9
+/* 8026DC30 00269890 7C C3 48 AE */ lbzx r6, r3, r9
+/* 8026DC34 00269894 88 E7 00 01 */ lbz r7, 1(r7)
+/* 8026DC38 00269898 39 29 00 02 */ addi r9, r9, 2
+/* 8026DC3C 0026989C 50 C7 44 2E */ rlwimi r7, r6, 8, 0x10, 0x17
+/* 8026DC40 002698A0 7C EA 66 71 */ srawi. r10, r7, 0xc
+/* 8026DC44 002698A4 54 E6 05 3E */ clrlwi r6, r7, 0x14
+/* 8026DC48 002698A8 7C E6 40 50 */ subf r7, r6, r8
+/* 8026DC4C 002698AC 40 82 00 14 */ bne lbl_8026DC60
+/* 8026DC50 002698B0 88 DD 00 00 */ lbz r6, 0(r29)
+/* 8026DC54 002698B4 3B BD 00 01 */ addi r29, r29, 1
+/* 8026DC58 002698B8 39 46 00 12 */ addi r10, r6, 0x12
+/* 8026DC5C 002698BC 48 00 00 08 */ b lbl_8026DC64
+lbl_8026DC60:
+/* 8026DC60 002698C0 39 4A 00 02 */ addi r10, r10, 2
+lbl_8026DC64:
+/* 8026DC64 002698C4 2C 8A 00 00 */ cmpwi cr1, r10, 0
+/* 8026DC68 002698C8 38 C0 00 00 */ li r6, 0
+/* 8026DC6C 002698CC 40 85 00 D8 */ ble cr1, lbl_8026DD44
+/* 8026DC70 002698D0 2C 0A 00 08 */ cmpwi r10, 8
+/* 8026DC74 002698D4 3B 6A FF F8 */ addi r27, r10, -8
+/* 8026DC78 002698D8 40 81 00 98 */ ble lbl_8026DD10
+/* 8026DC7C 002698DC 3B 80 00 00 */ li r28, 0
+/* 8026DC80 002698E0 41 84 00 14 */ blt cr1, lbl_8026DC94
+/* 8026DC84 002698E4 3B 45 FF FE */ addi r26, r5, -2
+/* 8026DC88 002698E8 7C 0A D0 00 */ cmpw r10, r26
+/* 8026DC8C 002698EC 41 81 00 08 */ bgt lbl_8026DC94
+/* 8026DC90 002698F0 3B 80 00 01 */ li r28, 1
+lbl_8026DC94:
+/* 8026DC94 002698F4 2C 1C 00 00 */ cmpwi r28, 0
+/* 8026DC98 002698F8 41 82 00 78 */ beq lbl_8026DD10
+/* 8026DC9C 002698FC 3B FB 00 07 */ addi r31, r27, 7
+/* 8026DCA0 00269900 7F 84 42 14 */ add r28, r4, r8
+/* 8026DCA4 00269904 57 FF E8 FE */ srwi r31, r31, 3
+/* 8026DCA8 00269908 7F E9 03 A6 */ mtctr r31
+/* 8026DCAC 0026990C 2C 1B 00 00 */ cmpwi r27, 0
+/* 8026DCB0 00269910 40 81 00 60 */ ble lbl_8026DD10
+lbl_8026DCB4:
+/* 8026DCB4 00269914 7F 44 3A 14 */ add r26, r4, r7
+/* 8026DCB8 00269918 7F 68 22 14 */ add r27, r8, r4
+/* 8026DCBC 0026991C 8B FA FF FF */ lbz r31, -1(r26)
+/* 8026DCC0 00269920 39 08 00 08 */ addi r8, r8, 8
+/* 8026DCC4 00269924 38 C6 00 08 */ addi r6, r6, 8
+/* 8026DCC8 00269928 9B FC 00 00 */ stb r31, 0(r28)
+/* 8026DCCC 0026992C 3B 9C 00 08 */ addi r28, r28, 8
+/* 8026DCD0 00269930 7F E4 38 AE */ lbzx r31, r4, r7
+/* 8026DCD4 00269934 38 E7 00 08 */ addi r7, r7, 8
+/* 8026DCD8 00269938 9B FB 00 01 */ stb r31, 1(r27)
+/* 8026DCDC 0026993C 8B FA 00 01 */ lbz r31, 1(r26)
+/* 8026DCE0 00269940 9B FB 00 02 */ stb r31, 2(r27)
+/* 8026DCE4 00269944 8B FA 00 02 */ lbz r31, 2(r26)
+/* 8026DCE8 00269948 9B FB 00 03 */ stb r31, 3(r27)
+/* 8026DCEC 0026994C 8B FA 00 03 */ lbz r31, 3(r26)
+/* 8026DCF0 00269950 9B FB 00 04 */ stb r31, 4(r27)
+/* 8026DCF4 00269954 8B FA 00 04 */ lbz r31, 4(r26)
+/* 8026DCF8 00269958 9B FB 00 05 */ stb r31, 5(r27)
+/* 8026DCFC 0026995C 8B FA 00 05 */ lbz r31, 5(r26)
+/* 8026DD00 00269960 9B FB 00 06 */ stb r31, 6(r27)
+/* 8026DD04 00269964 8B FA 00 06 */ lbz r31, 6(r26)
+/* 8026DD08 00269968 9B FB 00 07 */ stb r31, 7(r27)
+/* 8026DD0C 0026996C 42 00 FF A8 */ bdnz lbl_8026DCB4
+lbl_8026DD10:
+/* 8026DD10 00269970 7F E6 50 50 */ subf r31, r6, r10
+/* 8026DD14 00269974 7F 84 42 14 */ add r28, r4, r8
+/* 8026DD18 00269978 7F E9 03 A6 */ mtctr r31
+/* 8026DD1C 0026997C 7C 06 50 00 */ cmpw r6, r10
+/* 8026DD20 00269980 40 80 00 24 */ bge lbl_8026DD44
+lbl_8026DD24:
+/* 8026DD24 00269984 7D 44 3A 14 */ add r10, r4, r7
+/* 8026DD28 00269988 38 C6 00 01 */ addi r6, r6, 1
+/* 8026DD2C 0026998C 89 4A FF FF */ lbz r10, -1(r10)
+/* 8026DD30 00269990 39 08 00 01 */ addi r8, r8, 1
+/* 8026DD34 00269994 38 E7 00 01 */ addi r7, r7, 1
+/* 8026DD38 00269998 99 5C 00 00 */ stb r10, 0(r28)
+/* 8026DD3C 0026999C 3B 9C 00 01 */ addi r28, r28, 1
+/* 8026DD40 002699A0 42 00 FF E4 */ bdnz lbl_8026DD24
+lbl_8026DD44:
+/* 8026DD44 002699A4 7C 08 00 00 */ cmpw r8, r0
+/* 8026DD48 002699A8 55 8C 08 3C */ slwi r12, r12, 1
+/* 8026DD4C 002699AC 39 6B FF FF */ addi r11, r11, -1
+/* 8026DD50 002699B0 41 80 FE AC */ blt lbl_8026DBFC
+/* 8026DD54 002699B4 39 61 00 20 */ addi r11, r1, 0x20
+/* 8026DD58 002699B8 4B F5 94 19 */ bl _restgpr_26
+/* 8026DD5C 002699BC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8026DD60 002699C0 7C 08 03 A6 */ mtlr r0
+/* 8026DD64 002699C4 38 21 00 20 */ addi r1, r1, 0x20
+/* 8026DD68 002699C8 4E 80 00 20 */ blr
+
+.global OSSetFontEncode
+OSSetFontEncode:
+/* 8026DD6C 002699CC A0 0D 87 D8 */ lhz r0, lbl_8063DA98-_SDA_BASE_(r13)
+/* 8026DD70 002699D0 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8026DD74 002699D4 41 82 00 08 */ beq lbl_8026DD7C
+/* 8026DD78 002699D8 48 00 00 48 */ b lbl_8026DDC0
+lbl_8026DD7C:
+/* 8026DD7C 002699DC 3C 80 80 00 */ lis r4, 0x800000CC@ha
+/* 8026DD80 002699E0 80 04 00 CC */ lwz r0, 0x800000CC@l(r4)
+/* 8026DD84 002699E4 2C 00 00 00 */ cmpwi r0, 0
+/* 8026DD88 002699E8 41 82 00 0C */ beq lbl_8026DD94
+/* 8026DD8C 002699EC 41 80 00 1C */ blt lbl_8026DDA8
+/* 8026DD90 002699F0 48 00 00 18 */ b lbl_8026DDA8
+lbl_8026DD94:
+/* 8026DD94 002699F4 3C 80 CC 00 */ lis r4, 0xCC00206E@ha
+/* 8026DD98 002699F8 A0 04 20 6E */ lhz r0, 0xCC00206E@l(r4)
+/* 8026DD9C 002699FC 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f
+/* 8026DDA0 00269A00 B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
+/* 8026DDA4 00269A04 48 00 00 0C */ b lbl_8026DDB0
+lbl_8026DDA8:
+/* 8026DDA8 00269A08 38 00 00 00 */ li r0, 0
+/* 8026DDAC 00269A0C B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
+lbl_8026DDB0:
+/* 8026DDB0 00269A10 3C 80 80 27 */ lis r4, ParseStringS@ha
+/* 8026DDB4 00269A14 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 8026DDB8 00269A18 38 84 E2 14 */ addi r4, r4, ParseStringS@l
+/* 8026DDBC 00269A1C 90 8D A7 E8 */ stw r4, lbl_8063FAA8-_SDA_BASE_(r13)
+lbl_8026DDC0:
+/* 8026DDC0 00269A20 28 83 00 05 */ cmplwi cr1, r3, 5
+/* 8026DDC4 00269A24 41 85 00 20 */ bgt cr1, lbl_8026DDE4
+/* 8026DDC8 00269A28 28 03 00 03 */ cmplwi r3, 3
+/* 8026DDCC 00269A2C B0 6D 87 D8 */ sth r3, lbl_8063DA98-_SDA_BASE_(r13)
+/* 8026DDD0 00269A30 41 80 00 14 */ blt lbl_8026DDE4
+/* 8026DDD4 00269A34 41 85 00 10 */ bgt cr1, lbl_8026DDE4
+/* 8026DDD8 00269A38 3C 60 80 27 */ lis r3, ParseStringW@ha
+/* 8026DDDC 00269A3C 38 63 E3 10 */ addi r3, r3, ParseStringW@l
+/* 8026DDE0 00269A40 90 6D A7 E8 */ stw r3, lbl_8063FAA8-_SDA_BASE_(r13)
+lbl_8026DDE4:
+/* 8026DDE4 00269A44 7C 03 03 78 */ mr r3, r0
+/* 8026DDE8 00269A48 4E 80 00 20 */ blr
+
+.global ReadFont
+ReadFont:
+/* 8026DDEC 00269A4C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8026DDF0 00269A50 7C 08 02 A6 */ mflr r0
+/* 8026DDF4 00269A54 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8026DDF8 00269A58 39 61 00 30 */ addi r11, r1, 0x30
+/* 8026DDFC 00269A5C 4B F5 93 25 */ bl _savegpr_25
+/* 8026DE00 00269A60 28 04 00 01 */ cmplwi r4, 1
+/* 8026DE04 00269A64 7C 7C 1B 78 */ mr r28, r3
+/* 8026DE08 00269A68 7C 9D 23 78 */ mr r29, r4
+/* 8026DE0C 00269A6C 7C BA 2B 78 */ mr r26, r5
+/* 8026DE10 00269A70 40 82 00 5C */ bne lbl_8026DE6C
+/* 8026DE14 00269A74 3C 80 00 1B */ lis r4, 0x001AFF00@ha
+/* 8026DE18 00269A78 3C 60 00 05 */ lis r3, 0x0004D000@ha
+/* 8026DE1C 00269A7C 7F 9B E3 78 */ mr r27, r28
+/* 8026DE20 00269A80 3B E4 FF 00 */ addi r31, r4, 0x001AFF00@l
+/* 8026DE24 00269A84 3B C3 D0 00 */ addi r30, r3, 0x0004D000@l
+/* 8026DE28 00269A88 48 00 00 38 */ b lbl_8026DE60
+lbl_8026DE2C:
+/* 8026DE2C 00269A8C 2C 1E 01 00 */ cmpwi r30, 0x100
+/* 8026DE30 00269A90 3B 20 01 00 */ li r25, 0x100
+/* 8026DE34 00269A94 41 81 00 08 */ bgt lbl_8026DE3C
+/* 8026DE38 00269A98 7F D9 F3 78 */ mr r25, r30
+lbl_8026DE3C:
+/* 8026DE3C 00269A9C 7F D9 F0 50 */ subf r30, r25, r30
+lbl_8026DE40:
+/* 8026DE40 00269AA0 7F 63 DB 78 */ mr r3, r27
+/* 8026DE44 00269AA4 7F 24 CB 78 */ mr r4, r25
+/* 8026DE48 00269AA8 7F E5 FB 78 */ mr r5, r31
+/* 8026DE4C 00269AAC 48 00 2B B9 */ bl func_80270A04
+/* 8026DE50 00269AB0 2C 03 00 00 */ cmpwi r3, 0
+/* 8026DE54 00269AB4 41 82 FF EC */ beq lbl_8026DE40
+/* 8026DE58 00269AB8 7F FF CA 14 */ add r31, r31, r25
+/* 8026DE5C 00269ABC 7F 7B CA 14 */ add r27, r27, r25
+lbl_8026DE60:
+/* 8026DE60 00269AC0 2C 1E 00 00 */ cmpwi r30, 0
+/* 8026DE64 00269AC4 41 81 FF C8 */ bgt lbl_8026DE2C
+/* 8026DE68 00269AC8 48 00 00 54 */ b lbl_8026DEBC
+lbl_8026DE6C:
+/* 8026DE6C 00269ACC 3C 60 00 20 */ lis r3, 0x001FCF00@ha
+/* 8026DE70 00269AD0 7F 9B E3 78 */ mr r27, r28
+/* 8026DE74 00269AD4 3B E3 CF 00 */ addi r31, r3, 0x001FCF00@l
+/* 8026DE78 00269AD8 3B C0 30 00 */ li r30, 0x3000
+/* 8026DE7C 00269ADC 48 00 00 38 */ b lbl_8026DEB4
+lbl_8026DE80:
+/* 8026DE80 00269AE0 2C 1E 01 00 */ cmpwi r30, 0x100
+/* 8026DE84 00269AE4 3B 20 01 00 */ li r25, 0x100
+/* 8026DE88 00269AE8 41 81 00 08 */ bgt lbl_8026DE90
+/* 8026DE8C 00269AEC 7F D9 F3 78 */ mr r25, r30
+lbl_8026DE90:
+/* 8026DE90 00269AF0 7F D9 F0 50 */ subf r30, r25, r30
+lbl_8026DE94:
+/* 8026DE94 00269AF4 7F 63 DB 78 */ mr r3, r27
+/* 8026DE98 00269AF8 7F 24 CB 78 */ mr r4, r25
+/* 8026DE9C 00269AFC 7F E5 FB 78 */ mr r5, r31
+/* 8026DEA0 00269B00 48 00 2B 65 */ bl func_80270A04
+/* 8026DEA4 00269B04 2C 03 00 00 */ cmpwi r3, 0
+/* 8026DEA8 00269B08 41 82 FF EC */ beq lbl_8026DE94
+/* 8026DEAC 00269B0C 7F FF CA 14 */ add r31, r31, r25
+/* 8026DEB0 00269B10 7F 7B CA 14 */ add r27, r27, r25
+lbl_8026DEB4:
+/* 8026DEB4 00269B14 2C 1E 00 00 */ cmpwi r30, 0
+/* 8026DEB8 00269B18 41 81 FF C8 */ bgt lbl_8026DE80
+lbl_8026DEBC:
+/* 8026DEBC 00269B1C 88 1C 00 00 */ lbz r0, 0(r28)
+/* 8026DEC0 00269B20 28 00 00 59 */ cmplwi r0, 0x59
+/* 8026DEC4 00269B24 40 82 00 24 */ bne lbl_8026DEE8
+/* 8026DEC8 00269B28 88 1C 00 01 */ lbz r0, 1(r28)
+/* 8026DECC 00269B2C 28 00 00 61 */ cmplwi r0, 0x61
+/* 8026DED0 00269B30 40 82 00 18 */ bne lbl_8026DEE8
+/* 8026DED4 00269B34 88 1C 00 02 */ lbz r0, 2(r28)
+/* 8026DED8 00269B38 28 00 00 79 */ cmplwi r0, 0x79
+/* 8026DEDC 00269B3C 40 82 00 0C */ bne lbl_8026DEE8
+/* 8026DEE0 00269B40 83 7C 00 04 */ lwz r27, 4(r28)
+/* 8026DEE4 00269B44 48 00 00 08 */ b lbl_8026DEEC
+lbl_8026DEE8:
+/* 8026DEE8 00269B48 3B 60 00 00 */ li r27, 0
+lbl_8026DEEC:
+/* 8026DEEC 00269B4C 2C 1B 00 00 */ cmpwi r27, 0
+/* 8026DEF0 00269B50 40 82 00 0C */ bne lbl_8026DEFC
+/* 8026DEF4 00269B54 38 60 00 00 */ li r3, 0
+/* 8026DEF8 00269B58 48 00 01 DC */ b lbl_8026E0D4
+lbl_8026DEFC:
+/* 8026DEFC 00269B5C 7F 83 E3 78 */ mr r3, r28
+/* 8026DF00 00269B60 7F 44 D3 78 */ mr r4, r26
+/* 8026DF04 00269B64 4B FF FC C5 */ bl Decode
+/* 8026DF08 00269B68 28 1D 00 01 */ cmplwi r29, 1
+/* 8026DF0C 00269B6C 40 82 01 C4 */ bne lbl_8026E0D0
+/* 8026DF10 00269B70 7F A3 EB 78 */ mr r3, r29
+/* 8026DF14 00269B74 A3 82 A0 60 */ lhz r28, lbl_80642660-_SDA2_BASE_(r2)
+/* 8026DF18 00269B78 A3 A2 A0 62 */ lhz r29, lbl_80642662-_SDA2_BASE_(r2)
+/* 8026DF1C 00269B7C 38 80 00 54 */ li r4, 0x54
+/* 8026DF20 00269B80 A3 C2 A0 64 */ lhz r30, lbl_80642664-_SDA2_BASE_(r2)
+/* 8026DF24 00269B84 A3 E2 A0 66 */ lhz r31, lbl_80642666-_SDA2_BASE_(r2)
+/* 8026DF28 00269B88 4B FF FB 6D */ bl GetFontCode
+/* 8026DF2C 00269B8C A1 3A 00 1A */ lhz r9, 0x1a(r26)
+/* 8026DF30 00269B90 A0 9A 00 1C */ lhz r4, 0x1c(r26)
+/* 8026DF34 00269B94 A0 1A 00 1E */ lhz r0, 0x1e(r26)
+/* 8026DF38 00269B98 7D 49 21 D6 */ mullw r10, r9, r4
+/* 8026DF3C 00269B9C 80 BA 00 24 */ lwz r5, 0x24(r26)
+/* 8026DF40 00269BA0 54 04 10 34 */ rlwinm r4, r0, 2, 0, 0x1a
+/* 8026DF44 00269BA4 A0 DA 00 12 */ lhz r6, 0x12(r26)
+/* 8026DF48 00269BA8 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f
+/* 8026DF4C 00269BAC A0 FA 00 10 */ lhz r7, 0x10(r26)
+/* 8026DF50 00269BB0 7D 83 53 D6 */ divw r12, r3, r10
+/* 8026DF54 00269BB4 7C 00 22 14 */ add r0, r0, r4
+/* 8026DF58 00269BB8 7C 9A 2A 14 */ add r4, r26, r5
+/* 8026DF5C 00269BBC 81 1A 00 14 */ lwz r8, 0x14(r26)
+/* 8026DF60 00269BC0 7C 0B 0E 70 */ srawi r11, r0, 1
+/* 8026DF64 00269BC4 7C 0C 51 D6 */ mullw r0, r12, r10
+/* 8026DF68 00269BC8 7C 60 18 50 */ subf r3, r0, r3
+/* 8026DF6C 00269BCC 7C A3 4B D6 */ divw r5, r3, r9
+/* 8026DF70 00269BD0 7C 05 49 D6 */ mullw r0, r5, r9
+/* 8026DF74 00269BD4 7C A5 31 D6 */ mullw r5, r5, r6
+/* 8026DF78 00269BD8 7F 20 18 50 */ subf r25, r0, r3
+/* 8026DF7C 00269BDC 38 C5 00 04 */ addi r6, r5, 4
+/* 8026DF80 00269BE0 7F 39 39 D6 */ mullw r25, r25, r7
+/* 8026DF84 00269BE4 39 45 00 05 */ addi r10, r5, 5
+/* 8026DF88 00269BE8 7C C3 1E 70 */ srawi r3, r6, 3
+/* 8026DF8C 00269BEC 54 C0 E8 04 */ slwi r0, r6, 0x1d
+/* 8026DF90 00269BF0 7D 23 01 94 */ addze r9, r3
+/* 8026DF94 00269BF4 54 C7 0F FE */ srwi r7, r6, 0x1f
+/* 8026DF98 00269BF8 7D 8C 41 D6 */ mullw r12, r12, r8
+/* 8026DF9C 00269BFC 7F 23 1E 70 */ srawi r3, r25, 3
+/* 8026DFA0 00269C00 7C 07 00 50 */ subf r0, r7, r0
+/* 8026DFA4 00269C04 7D 03 01 94 */ addze r8, r3
+/* 8026DFA8 00269C08 54 03 18 3E */ rotlwi r3, r0, 3
+/* 8026DFAC 00269C0C 57 20 E8 04 */ slwi r0, r25, 0x1d
+/* 8026DFB0 00269C10 57 26 0F FE */ srwi r6, r25, 0x1f
+/* 8026DFB4 00269C14 55 8C F8 7E */ srwi r12, r12, 1
+/* 8026DFB8 00269C18 7D 2B 49 D6 */ mullw r9, r11, r9
+/* 8026DFBC 00269C1C 7C E3 3A 14 */ add r7, r3, r7
+/* 8026DFC0 00269C20 7C 06 00 50 */ subf r0, r6, r0
+/* 8026DFC4 00269C24 7C 84 62 14 */ add r4, r4, r12
+/* 8026DFC8 00269C28 54 03 18 3E */ rotlwi r3, r0, 3
+/* 8026DFCC 00269C2C 55 00 20 36 */ slwi r0, r8, 4
+/* 8026DFD0 00269C30 7C 63 32 14 */ add r3, r3, r6
+/* 8026DFD4 00269C34 7D 24 4A 14 */ add r9, r4, r9
+/* 8026DFD8 00269C38 54 E8 08 3C */ slwi r8, r7, 1
+/* 8026DFDC 00269C3C 55 46 E8 04 */ slwi r6, r10, 0x1d
+/* 8026DFE0 00269C40 7C 63 16 70 */ srawi r3, r3, 2
+/* 8026DFE4 00269C44 7D 29 02 14 */ add r9, r9, r0
+/* 8026DFE8 00269C48 7D 29 42 14 */ add r9, r9, r8
+/* 8026DFEC 00269C4C 55 47 0F FE */ srwi r7, r10, 0x1f
+/* 8026DFF0 00269C50 7C 63 01 94 */ addze r3, r3
+/* 8026DFF4 00269C54 39 05 00 06 */ addi r8, r5, 6
+/* 8026DFF8 00269C58 7F 89 1B 2E */ sthx r28, r9, r3
+/* 8026DFFC 00269C5C 7C C7 30 50 */ subf r6, r7, r6
+/* 8026E000 00269C60 54 C6 18 3E */ rotlwi r6, r6, 3
+/* 8026E004 00269C64 7C C6 3A 14 */ add r6, r6, r7
+/* 8026E008 00269C68 A1 7A 00 1E */ lhz r11, 0x1e(r26)
+/* 8026E00C 00269C6C 54 C9 08 3C */ slwi r9, r6, 1
+/* 8026E010 00269C70 55 07 0F FE */ srwi r7, r8, 0x1f
+/* 8026E014 00269C74 55 6C 10 34 */ rlwinm r12, r11, 2, 0, 0x1a
+/* 8026E018 00269C78 55 6B 1F FE */ rlwinm r11, r11, 3, 0x1f, 0x1f
+/* 8026E01C 00269C7C 7D 6B 62 14 */ add r11, r11, r12
+/* 8026E020 00269C80 55 06 E8 04 */ slwi r6, r8, 0x1d
+/* 8026E024 00269C84 7D 6B 0E 70 */ srawi r11, r11, 1
+/* 8026E028 00269C88 7D 4A 1E 70 */ srawi r10, r10, 3
+/* 8026E02C 00269C8C 7C C7 30 50 */ subf r6, r7, r6
+/* 8026E030 00269C90 7D 4A 01 94 */ addze r10, r10
+/* 8026E034 00269C94 54 C6 18 3E */ rotlwi r6, r6, 3
+/* 8026E038 00269C98 7C C6 3A 14 */ add r6, r6, r7
+/* 8026E03C 00269C9C 7D 4B 51 D6 */ mullw r10, r11, r10
+/* 8026E040 00269CA0 54 C6 08 3C */ slwi r6, r6, 1
+/* 8026E044 00269CA4 7C E4 52 14 */ add r7, r4, r10
+/* 8026E048 00269CA8 7C E7 02 14 */ add r7, r7, r0
+/* 8026E04C 00269CAC 7C E7 4A 14 */ add r7, r7, r9
+/* 8026E050 00269CB0 7F A7 1B 2E */ sthx r29, r7, r3
+/* 8026E054 00269CB4 A0 FA 00 1E */ lhz r7, 0x1e(r26)
+/* 8026E058 00269CB8 54 E9 10 34 */ rlwinm r9, r7, 2, 0, 0x1a
+/* 8026E05C 00269CBC 54 E7 1F FE */ rlwinm r7, r7, 3, 0x1f, 0x1f
+/* 8026E060 00269CC0 7C E7 4A 14 */ add r7, r7, r9
+/* 8026E064 00269CC4 7C E9 0E 70 */ srawi r9, r7, 1
+/* 8026E068 00269CC8 7D 07 1E 70 */ srawi r7, r8, 3
+/* 8026E06C 00269CCC 7C E7 01 94 */ addze r7, r7
+/* 8026E070 00269CD0 7C E9 39 D6 */ mullw r7, r9, r7
+/* 8026E074 00269CD4 7C E4 3A 14 */ add r7, r4, r7
+/* 8026E078 00269CD8 7C E7 02 14 */ add r7, r7, r0
+/* 8026E07C 00269CDC 7C E7 32 14 */ add r7, r7, r6
+/* 8026E080 00269CE0 7F C7 1B 2E */ sthx r30, r7, r3
+/* 8026E084 00269CE4 38 E5 00 07 */ addi r7, r5, 7
+/* 8026E088 00269CE8 54 E5 E8 04 */ slwi r5, r7, 0x1d
+/* 8026E08C 00269CEC A1 1A 00 1E */ lhz r8, 0x1e(r26)
+/* 8026E090 00269CF0 54 E6 0F FE */ srwi r6, r7, 0x1f
+/* 8026E094 00269CF4 7C A6 28 50 */ subf r5, r6, r5
+/* 8026E098 00269CF8 55 09 10 34 */ rlwinm r9, r8, 2, 0, 0x1a
+/* 8026E09C 00269CFC 55 08 1F FE */ rlwinm r8, r8, 3, 0x1f, 0x1f
+/* 8026E0A0 00269D00 7D 08 4A 14 */ add r8, r8, r9
+/* 8026E0A4 00269D04 54 A5 18 3E */ rotlwi r5, r5, 3
+/* 8026E0A8 00269D08 7D 08 0E 70 */ srawi r8, r8, 1
+/* 8026E0AC 00269D0C 7C E7 1E 70 */ srawi r7, r7, 3
+/* 8026E0B0 00269D10 7C A5 32 14 */ add r5, r5, r6
+/* 8026E0B4 00269D14 7C C7 01 94 */ addze r6, r7
+/* 8026E0B8 00269D18 7C C8 31 D6 */ mullw r6, r8, r6
+/* 8026E0BC 00269D1C 54 A5 08 3C */ slwi r5, r5, 1
+/* 8026E0C0 00269D20 7C 84 32 14 */ add r4, r4, r6
+/* 8026E0C4 00269D24 7C 84 02 14 */ add r4, r4, r0
+/* 8026E0C8 00269D28 7C 84 2A 14 */ add r4, r4, r5
+/* 8026E0CC 00269D2C 7F E4 1B 2E */ sthx r31, r4, r3
+lbl_8026E0D0:
+/* 8026E0D0 00269D30 7F 63 DB 78 */ mr r3, r27
+lbl_8026E0D4:
+/* 8026E0D4 00269D34 39 61 00 30 */ addi r11, r1, 0x30
+/* 8026E0D8 00269D38 4B F5 90 95 */ bl _restgpr_25
+/* 8026E0DC 00269D3C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8026E0E0 00269D40 7C 08 03 A6 */ mtlr r0
+/* 8026E0E4 00269D44 38 21 00 30 */ addi r1, r1, 0x30
+/* 8026E0E8 00269D48 4E 80 00 20 */ blr
+
+.global OSLoadFont
+OSLoadFont:
+/* 8026E0EC 00269D4C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8026E0F0 00269D50 7C 08 02 A6 */ mflr r0
+/* 8026E0F4 00269D54 7C 65 1B 78 */ mr r5, r3
+/* 8026E0F8 00269D58 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8026E0FC 00269D5C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8026E100 00269D60 93 C1 00 08 */ stw r30, 8(r1)
+/* 8026E104 00269D64 7C 9E 23 78 */ mr r30, r4
+/* 8026E108 00269D68 A0 0D 87 D8 */ lhz r0, lbl_8063DA98-_SDA_BASE_(r13)
+/* 8026E10C 00269D6C 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8026E110 00269D70 41 82 00 08 */ beq lbl_8026E118
+/* 8026E114 00269D74 48 00 00 48 */ b lbl_8026E15C
+lbl_8026E118:
+/* 8026E118 00269D78 3C 80 80 00 */ lis r4, 0x800000CC@ha
+/* 8026E11C 00269D7C 80 04 00 CC */ lwz r0, 0x800000CC@l(r4)
+/* 8026E120 00269D80 2C 00 00 00 */ cmpwi r0, 0
+/* 8026E124 00269D84 41 82 00 0C */ beq lbl_8026E130
+/* 8026E128 00269D88 41 80 00 1C */ blt lbl_8026E144
+/* 8026E12C 00269D8C 48 00 00 18 */ b lbl_8026E144
+lbl_8026E130:
+/* 8026E130 00269D90 3C 80 CC 00 */ lis r4, 0xCC00206E@ha
+/* 8026E134 00269D94 A0 04 20 6E */ lhz r0, 0xCC00206E@l(r4)
+/* 8026E138 00269D98 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f
+/* 8026E13C 00269D9C B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
+/* 8026E140 00269DA0 48 00 00 0C */ b lbl_8026E14C
+lbl_8026E144:
+/* 8026E144 00269DA4 38 00 00 00 */ li r0, 0
+/* 8026E148 00269DA8 B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
+lbl_8026E14C:
+/* 8026E14C 00269DAC 3C 80 80 27 */ lis r4, ParseStringS@ha
+/* 8026E150 00269DB0 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 8026E154 00269DB4 38 84 E2 14 */ addi r4, r4, ParseStringS@l
+/* 8026E158 00269DB8 90 8D A7 E8 */ stw r4, lbl_8063FAA8-_SDA_BASE_(r13)
+lbl_8026E15C:
+/* 8026E15C 00269DBC 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 8026E160 00269DC0 2C 00 00 02 */ cmpwi r0, 2
+/* 8026E164 00269DC4 41 82 00 90 */ beq lbl_8026E1F4
+/* 8026E168 00269DC8 40 80 00 14 */ bge lbl_8026E17C
+/* 8026E16C 00269DCC 2C 00 00 00 */ cmpwi r0, 0
+/* 8026E170 00269DD0 41 82 00 18 */ beq lbl_8026E188
+/* 8026E174 00269DD4 40 80 00 2C */ bge lbl_8026E1A0
+/* 8026E178 00269DD8 48 00 00 7C */ b lbl_8026E1F4
+lbl_8026E17C:
+/* 8026E17C 00269DDC 2C 00 00 06 */ cmpwi r0, 6
+/* 8026E180 00269DE0 40 80 00 74 */ bge lbl_8026E1F4
+/* 8026E184 00269DE4 48 00 00 34 */ b lbl_8026E1B8
+lbl_8026E188:
+/* 8026E188 00269DE8 90 6D A7 F4 */ stw r3, lbl_8063FAB4-_SDA_BASE_(r13)
+/* 8026E18C 00269DEC 7F C3 F3 78 */ mr r3, r30
+/* 8026E190 00269DF0 38 80 00 00 */ li r4, 0
+/* 8026E194 00269DF4 4B FF FC 59 */ bl ReadFont
+/* 8026E198 00269DF8 7C 7F 1B 78 */ mr r31, r3
+/* 8026E19C 00269DFC 48 00 00 5C */ b lbl_8026E1F8
+lbl_8026E1A0:
+/* 8026E1A0 00269E00 90 6D A7 F0 */ stw r3, lbl_8063FAB0-_SDA_BASE_(r13)
+/* 8026E1A4 00269E04 7F C3 F3 78 */ mr r3, r30
+/* 8026E1A8 00269E08 38 80 00 01 */ li r4, 1
+/* 8026E1AC 00269E0C 4B FF FC 41 */ bl ReadFont
+/* 8026E1B0 00269E10 7C 7F 1B 78 */ mr r31, r3
+/* 8026E1B4 00269E14 48 00 00 44 */ b lbl_8026E1F8
+lbl_8026E1B8:
+/* 8026E1B8 00269E18 90 6D A7 F4 */ stw r3, lbl_8063FAB4-_SDA_BASE_(r13)
+/* 8026E1BC 00269E1C 7F C3 F3 78 */ mr r3, r30
+/* 8026E1C0 00269E20 38 80 00 00 */ li r4, 0
+/* 8026E1C4 00269E24 4B FF FC 29 */ bl ReadFont
+/* 8026E1C8 00269E28 2C 03 00 00 */ cmpwi r3, 0
+/* 8026E1CC 00269E2C 7C 7F 1B 78 */ mr r31, r3
+/* 8026E1D0 00269E30 41 82 00 28 */ beq lbl_8026E1F8
+/* 8026E1D4 00269E34 80 0D A7 F4 */ lwz r0, lbl_8063FAB4-_SDA_BASE_(r13)
+/* 8026E1D8 00269E38 38 80 00 01 */ li r4, 1
+/* 8026E1DC 00269E3C 7C A0 1A 14 */ add r5, r0, r3
+/* 8026E1E0 00269E40 7F C3 F3 78 */ mr r3, r30
+/* 8026E1E4 00269E44 90 AD A7 F0 */ stw r5, lbl_8063FAB0-_SDA_BASE_(r13)
+/* 8026E1E8 00269E48 4B FF FC 05 */ bl ReadFont
+/* 8026E1EC 00269E4C 7F FF 1A 14 */ add r31, r31, r3
+/* 8026E1F0 00269E50 48 00 00 08 */ b lbl_8026E1F8
+lbl_8026E1F4:
+/* 8026E1F4 00269E54 3B E0 00 00 */ li r31, 0
+lbl_8026E1F8:
+/* 8026E1F8 00269E58 7F E3 FB 78 */ mr r3, r31
+/* 8026E1FC 00269E5C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8026E200 00269E60 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8026E204 00269E64 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8026E208 00269E68 7C 08 03 A6 */ mtlr r0
+/* 8026E20C 00269E6C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8026E210 00269E70 4E 80 00 20 */ blr
+
+.global ParseStringS
+ParseStringS:
+/* 8026E214 00269E74 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8026E218 00269E78 7C 08 02 A6 */ mflr r0
+/* 8026E21C 00269E7C 2C 03 00 01 */ cmpwi r3, 1
+/* 8026E220 00269E80 38 E0 00 00 */ li r7, 0
+/* 8026E224 00269E84 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8026E228 00269E88 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8026E22C 00269E8C 7C DF 33 78 */ mr r31, r6
+/* 8026E230 00269E90 93 C1 00 08 */ stw r30, 8(r1)
+/* 8026E234 00269E94 7C 9E 23 78 */ mr r30, r4
+/* 8026E238 00269E98 41 82 00 2C */ beq lbl_8026E264
+/* 8026E23C 00269E9C 40 80 00 A8 */ bge lbl_8026E2E4
+/* 8026E240 00269EA0 2C 03 00 00 */ cmpwi r3, 0
+/* 8026E244 00269EA4 40 80 00 08 */ bge lbl_8026E24C
+/* 8026E248 00269EA8 48 00 00 9C */ b lbl_8026E2E4
+lbl_8026E24C:
+/* 8026E24C 00269EAC 88 E4 00 00 */ lbz r7, 0(r4)
+/* 8026E250 00269EB0 80 CD A7 F4 */ lwz r6, lbl_8063FAB4-_SDA_BASE_(r13)
+/* 8026E254 00269EB4 2C 07 00 00 */ cmpwi r7, 0
+/* 8026E258 00269EB8 41 82 00 8C */ beq lbl_8026E2E4
+/* 8026E25C 00269EBC 3B C4 00 01 */ addi r30, r4, 1
+/* 8026E260 00269EC0 48 00 00 84 */ b lbl_8026E2E4
+lbl_8026E264:
+/* 8026E264 00269EC4 88 E4 00 00 */ lbz r7, 0(r4)
+/* 8026E268 00269EC8 80 CD A7 F0 */ lwz r6, lbl_8063FAB0-_SDA_BASE_(r13)
+/* 8026E26C 00269ECC 2C 07 00 00 */ cmpwi r7, 0
+/* 8026E270 00269ED0 41 82 00 74 */ beq lbl_8026E2E4
+/* 8026E274 00269ED4 28 07 00 81 */ cmplwi r7, 0x81
+/* 8026E278 00269ED8 3B C4 00 01 */ addi r30, r4, 1
+/* 8026E27C 00269EDC 38 00 00 00 */ li r0, 0
+/* 8026E280 00269EE0 41 80 00 0C */ blt lbl_8026E28C
+/* 8026E284 00269EE4 28 07 00 9F */ cmplwi r7, 0x9f
+/* 8026E288 00269EE8 40 81 00 14 */ ble lbl_8026E29C
+lbl_8026E28C:
+/* 8026E28C 00269EEC 28 07 00 E0 */ cmplwi r7, 0xe0
+/* 8026E290 00269EF0 41 80 00 10 */ blt lbl_8026E2A0
+/* 8026E294 00269EF4 28 07 00 FC */ cmplwi r7, 0xfc
+/* 8026E298 00269EF8 41 81 00 08 */ bgt lbl_8026E2A0
+lbl_8026E29C:
+/* 8026E29C 00269EFC 38 00 00 01 */ li r0, 1
+lbl_8026E2A0:
+/* 8026E2A0 00269F00 2C 00 00 00 */ cmpwi r0, 0
+/* 8026E2A4 00269F04 41 82 00 40 */ beq lbl_8026E2E4
+/* 8026E2A8 00269F08 88 9E 00 00 */ lbz r4, 0(r30)
+/* 8026E2AC 00269F0C 38 00 00 00 */ li r0, 0
+/* 8026E2B0 00269F10 28 04 00 40 */ cmplwi r4, 0x40
+/* 8026E2B4 00269F14 41 80 00 18 */ blt lbl_8026E2CC
+/* 8026E2B8 00269F18 28 04 00 FC */ cmplwi r4, 0xfc
+/* 8026E2BC 00269F1C 41 81 00 10 */ bgt lbl_8026E2CC
+/* 8026E2C0 00269F20 28 04 00 7F */ cmplwi r4, 0x7f
+/* 8026E2C4 00269F24 41 82 00 08 */ beq lbl_8026E2CC
+/* 8026E2C8 00269F28 38 00 00 01 */ li r0, 1
+lbl_8026E2CC:
+/* 8026E2CC 00269F2C 2C 00 00 00 */ cmpwi r0, 0
+/* 8026E2D0 00269F30 41 82 00 14 */ beq lbl_8026E2E4
+/* 8026E2D4 00269F34 88 1E 00 00 */ lbz r0, 0(r30)
+/* 8026E2D8 00269F38 50 E0 42 2E */ rlwimi r0, r7, 8, 8, 0x17
+/* 8026E2DC 00269F3C 3B DE 00 01 */ addi r30, r30, 1
+/* 8026E2E0 00269F40 54 07 04 3E */ clrlwi r7, r0, 0x10
+lbl_8026E2E4:
+/* 8026E2E4 00269F44 90 C5 00 00 */ stw r6, 0(r5)
+/* 8026E2E8 00269F48 7C E4 3B 78 */ mr r4, r7
+/* 8026E2EC 00269F4C 4B FF F7 A9 */ bl GetFontCode
+/* 8026E2F0 00269F50 90 7F 00 00 */ stw r3, 0(r31)
+/* 8026E2F4 00269F54 7F C3 F3 78 */ mr r3, r30
+/* 8026E2F8 00269F58 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8026E2FC 00269F5C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8026E300 00269F60 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8026E304 00269F64 7C 08 03 A6 */ mtlr r0
+/* 8026E308 00269F68 38 21 00 10 */ addi r1, r1, 0x10
+/* 8026E30C 00269F6C 4E 80 00 20 */ blr
+
+.global ParseStringW
+ParseStringW:
+/* 8026E310 00269F70 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8026E314 00269F74 7C 08 02 A6 */ mflr r0
+/* 8026E318 00269F78 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8026E31C 00269F7C 39 61 00 30 */ addi r11, r1, 0x30
+/* 8026E320 00269F80 4B F5 8E 05 */ bl _savegpr_26
+/* 8026E324 00269F84 3B C0 00 00 */ li r30, 0
+/* 8026E328 00269F88 2C 03 00 03 */ cmpwi r3, 3
+/* 8026E32C 00269F8C 93 C1 00 08 */ stw r30, 8(r1)
+/* 8026E330 00269F90 7C 7A 1B 78 */ mr r26, r3
+/* 8026E334 00269F94 7C 9B 23 78 */ mr r27, r4
+/* 8026E338 00269F98 7C BC 2B 78 */ mr r28, r5
+/* 8026E33C 00269F9C 7C DD 33 78 */ mr r29, r6
+/* 8026E340 00269FA0 41 82 00 CC */ beq lbl_8026E40C
+/* 8026E344 00269FA4 40 80 00 1C */ bge lbl_8026E360
+/* 8026E348 00269FA8 2C 03 00 01 */ cmpwi r3, 1
+/* 8026E34C 00269FAC 41 82 00 3C */ beq lbl_8026E388
+/* 8026E350 00269FB0 40 80 00 F8 */ bge lbl_8026E448
+/* 8026E354 00269FB4 2C 03 00 00 */ cmpwi r3, 0
+/* 8026E358 00269FB8 40 80 00 18 */ bge lbl_8026E370
+/* 8026E35C 00269FBC 48 00 00 EC */ b lbl_8026E448
+lbl_8026E360:
+/* 8026E360 00269FC0 2C 03 00 05 */ cmpwi r3, 5
+/* 8026E364 00269FC4 41 82 00 D0 */ beq lbl_8026E434
+/* 8026E368 00269FC8 40 80 00 E0 */ bge lbl_8026E448
+/* 8026E36C 00269FCC 48 00 00 B4 */ b lbl_8026E420
+lbl_8026E370:
+/* 8026E370 00269FD0 8B C4 00 00 */ lbz r30, 0(r4)
+/* 8026E374 00269FD4 83 ED A7 F4 */ lwz r31, lbl_8063FAB4-_SDA_BASE_(r13)
+/* 8026E378 00269FD8 2C 1E 00 00 */ cmpwi r30, 0
+/* 8026E37C 00269FDC 41 82 00 CC */ beq lbl_8026E448
+/* 8026E380 00269FE0 3B 64 00 01 */ addi r27, r4, 1
+/* 8026E384 00269FE4 48 00 00 C4 */ b lbl_8026E448
+lbl_8026E388:
+/* 8026E388 00269FE8 8B C4 00 00 */ lbz r30, 0(r4)
+/* 8026E38C 00269FEC 83 ED A7 F0 */ lwz r31, lbl_8063FAB0-_SDA_BASE_(r13)
+/* 8026E390 00269FF0 2C 1E 00 00 */ cmpwi r30, 0
+/* 8026E394 00269FF4 41 82 00 B4 */ beq lbl_8026E448
+/* 8026E398 00269FF8 28 1E 00 81 */ cmplwi r30, 0x81
+/* 8026E39C 00269FFC 3B 64 00 01 */ addi r27, r4, 1
+/* 8026E3A0 0026A000 38 00 00 00 */ li r0, 0
+/* 8026E3A4 0026A004 41 80 00 0C */ blt lbl_8026E3B0
+/* 8026E3A8 0026A008 28 1E 00 9F */ cmplwi r30, 0x9f
+/* 8026E3AC 0026A00C 40 81 00 14 */ ble lbl_8026E3C0
+lbl_8026E3B0:
+/* 8026E3B0 0026A010 28 1E 00 E0 */ cmplwi r30, 0xe0
+/* 8026E3B4 0026A014 41 80 00 10 */ blt lbl_8026E3C4
+/* 8026E3B8 0026A018 28 1E 00 FC */ cmplwi r30, 0xfc
+/* 8026E3BC 0026A01C 41 81 00 08 */ bgt lbl_8026E3C4
+lbl_8026E3C0:
+/* 8026E3C0 0026A020 38 00 00 01 */ li r0, 1
+lbl_8026E3C4:
+/* 8026E3C4 0026A024 2C 00 00 00 */ cmpwi r0, 0
+/* 8026E3C8 0026A028 41 82 00 80 */ beq lbl_8026E448
+/* 8026E3CC 0026A02C 88 7B 00 00 */ lbz r3, 0(r27)
+/* 8026E3D0 0026A030 38 00 00 00 */ li r0, 0
+/* 8026E3D4 0026A034 28 03 00 40 */ cmplwi r3, 0x40
+/* 8026E3D8 0026A038 41 80 00 18 */ blt lbl_8026E3F0
+/* 8026E3DC 0026A03C 28 03 00 FC */ cmplwi r3, 0xfc
+/* 8026E3E0 0026A040 41 81 00 10 */ bgt lbl_8026E3F0
+/* 8026E3E4 0026A044 28 03 00 7F */ cmplwi r3, 0x7f
+/* 8026E3E8 0026A048 41 82 00 08 */ beq lbl_8026E3F0
+/* 8026E3EC 0026A04C 38 00 00 01 */ li r0, 1
+lbl_8026E3F0:
+/* 8026E3F0 0026A050 2C 00 00 00 */ cmpwi r0, 0
+/* 8026E3F4 0026A054 41 82 00 54 */ beq lbl_8026E448
+/* 8026E3F8 0026A058 88 1B 00 00 */ lbz r0, 0(r27)
+/* 8026E3FC 0026A05C 53 C0 42 2E */ rlwimi r0, r30, 8, 8, 0x17
+/* 8026E400 0026A060 3B 7B 00 01 */ addi r27, r27, 1
+/* 8026E404 0026A064 54 1E 04 3E */ clrlwi r30, r0, 0x10
+/* 8026E408 0026A068 48 00 00 40 */ b lbl_8026E448
+lbl_8026E40C:
+/* 8026E40C 0026A06C 7F 63 DB 78 */ mr r3, r27
+/* 8026E410 0026A070 38 81 00 08 */ addi r4, r1, 8
+/* 8026E414 0026A074 48 00 4A 59 */ bl func_80272E6C
+/* 8026E418 0026A078 7C 7B 1B 78 */ mr r27, r3
+/* 8026E41C 0026A07C 48 00 00 2C */ b lbl_8026E448
+lbl_8026E420:
+/* 8026E420 0026A080 7F 63 DB 78 */ mr r3, r27
+/* 8026E424 0026A084 38 81 00 08 */ addi r4, r1, 8
+/* 8026E428 0026A088 48 00 4B 55 */ bl func_80272F7C
+/* 8026E42C 0026A08C 7C 7B 1B 78 */ mr r27, r3
+/* 8026E430 0026A090 48 00 00 18 */ b lbl_8026E448
+lbl_8026E434:
+/* 8026E434 0026A094 80 04 00 00 */ lwz r0, 0(r4)
+/* 8026E438 0026A098 2C 00 00 00 */ cmpwi r0, 0
+/* 8026E43C 0026A09C 90 01 00 08 */ stw r0, 8(r1)
+/* 8026E440 0026A0A0 41 82 00 08 */ beq lbl_8026E448
+/* 8026E444 0026A0A4 3B 64 00 04 */ addi r27, r4, 4
+lbl_8026E448:
+/* 8026E448 0026A0A8 80 61 00 08 */ lwz r3, 8(r1)
+/* 8026E44C 0026A0AC 2C 03 00 00 */ cmpwi r3, 0
+/* 8026E450 0026A0B0 41 82 00 4C */ beq lbl_8026E49C
+/* 8026E454 0026A0B4 83 ED A7 F4 */ lwz r31, lbl_8063FAB4-_SDA_BASE_(r13)
+/* 8026E458 0026A0B8 3B 40 00 00 */ li r26, 0
+/* 8026E45C 0026A0BC 48 00 4B 91 */ bl func_80272FEC
+/* 8026E460 0026A0C0 54 7E 06 3F */ clrlwi. r30, r3, 0x18
+/* 8026E464 0026A0C4 41 82 00 1C */ beq lbl_8026E480
+/* 8026E468 0026A0C8 80 0D A7 EC */ lwz r0, lbl_8063FAAC-_SDA_BASE_(r13)
+/* 8026E46C 0026A0CC 2C 00 00 00 */ cmpwi r0, 0
+/* 8026E470 0026A0D0 41 82 00 2C */ beq lbl_8026E49C
+/* 8026E474 0026A0D4 80 01 00 08 */ lwz r0, 8(r1)
+/* 8026E478 0026A0D8 28 00 00 7F */ cmplwi r0, 0x7f
+/* 8026E47C 0026A0DC 41 81 00 20 */ bgt lbl_8026E49C
+lbl_8026E480:
+/* 8026E480 0026A0E0 80 61 00 08 */ lwz r3, 8(r1)
+/* 8026E484 0026A0E4 48 00 4B E1 */ bl func_80273064
+/* 8026E488 0026A0E8 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 8026E48C 0026A0EC 7C 7E 1B 78 */ mr r30, r3
+/* 8026E490 0026A0F0 41 82 00 0C */ beq lbl_8026E49C
+/* 8026E494 0026A0F4 3B 40 00 01 */ li r26, 1
+/* 8026E498 0026A0F8 83 ED A7 F0 */ lwz r31, lbl_8063FAB0-_SDA_BASE_(r13)
+lbl_8026E49C:
+/* 8026E49C 0026A0FC 93 FC 00 00 */ stw r31, 0(r28)
+/* 8026E4A0 0026A100 7F 43 D3 78 */ mr r3, r26
+/* 8026E4A4 0026A104 57 C4 04 3E */ clrlwi r4, r30, 0x10
+/* 8026E4A8 0026A108 4B FF F5 ED */ bl GetFontCode
+/* 8026E4AC 0026A10C 90 7D 00 00 */ stw r3, 0(r29)
+/* 8026E4B0 0026A110 39 61 00 30 */ addi r11, r1, 0x30
+/* 8026E4B4 0026A114 7F 63 DB 78 */ mr r3, r27
+/* 8026E4B8 0026A118 4B F5 8C B9 */ bl _restgpr_26
+/* 8026E4BC 0026A11C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8026E4C0 0026A120 7C 08 03 A6 */ mtlr r0
+/* 8026E4C4 0026A124 38 21 00 30 */ addi r1, r1, 0x30
+/* 8026E4C8 0026A128 4E 80 00 20 */ blr
+
+.global OSGetFontTexel
+OSGetFontTexel:
+/* 8026E4CC 0026A12C 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 8026E4D0 0026A130 7C 08 02 A6 */ mflr r0
+/* 8026E4D4 0026A134 90 01 00 54 */ stw r0, 0x54(r1)
+/* 8026E4D8 0026A138 39 61 00 50 */ addi r11, r1, 0x50
+/* 8026E4DC 0026A13C 4B F5 8C 25 */ bl _savegpr_17
+/* 8026E4E0 0026A140 A0 0D 87 D8 */ lhz r0, lbl_8063DA98-_SDA_BASE_(r13)
+/* 8026E4E4 0026A144 7C 9D 23 78 */ mr r29, r4
+/* 8026E4E8 0026A148 7C BE 2B 78 */ mr r30, r5
+/* 8026E4EC 0026A14C 7C D1 33 78 */ mr r17, r6
+/* 8026E4F0 0026A150 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8026E4F4 0026A154 7C FF 3B 78 */ mr r31, r7
+/* 8026E4F8 0026A158 41 82 00 08 */ beq lbl_8026E500
+/* 8026E4FC 0026A15C 48 00 00 48 */ b lbl_8026E544
+lbl_8026E500:
+/* 8026E500 0026A160 3C 80 80 00 */ lis r4, 0x800000CC@ha
+/* 8026E504 0026A164 80 04 00 CC */ lwz r0, 0x800000CC@l(r4)
+/* 8026E508 0026A168 2C 00 00 00 */ cmpwi r0, 0
+/* 8026E50C 0026A16C 41 82 00 0C */ beq lbl_8026E518
+/* 8026E510 0026A170 41 80 00 1C */ blt lbl_8026E52C
+/* 8026E514 0026A174 48 00 00 18 */ b lbl_8026E52C
+lbl_8026E518:
+/* 8026E518 0026A178 3C 80 CC 00 */ lis r4, 0xCC00206E@ha
+/* 8026E51C 0026A17C A0 04 20 6E */ lhz r0, 0xCC00206E@l(r4)
+/* 8026E520 0026A180 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f
+/* 8026E524 0026A184 B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
+/* 8026E528 0026A188 48 00 00 0C */ b lbl_8026E534
+lbl_8026E52C:
+/* 8026E52C 0026A18C 38 00 00 00 */ li r0, 0
+/* 8026E530 0026A190 B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
+lbl_8026E534:
+/* 8026E534 0026A194 3C 80 80 27 */ lis r4, ParseStringS@ha
+/* 8026E538 0026A198 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 8026E53C 0026A19C 38 84 E2 14 */ addi r4, r4, ParseStringS@l
+/* 8026E540 0026A1A0 90 8D A7 E8 */ stw r4, lbl_8063FAA8-_SDA_BASE_(r13)
+lbl_8026E544:
+/* 8026E544 0026A1A4 81 8D A7 E8 */ lwz r12, lbl_8063FAA8-_SDA_BASE_(r13)
+/* 8026E548 0026A1A8 7C 64 1B 78 */ mr r4, r3
+/* 8026E54C 0026A1AC 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 8026E550 0026A1B0 38 A1 00 0C */ addi r5, r1, 0xc
+/* 8026E554 0026A1B4 38 C1 00 08 */ addi r6, r1, 8
+/* 8026E558 0026A1B8 7D 89 03 A6 */ mtctr r12
+/* 8026E55C 0026A1BC 4E 80 04 21 */ bctrl
+/* 8026E560 0026A1C0 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 8026E564 0026A1C4 56 20 10 3A */ slwi r0, r17, 2
+/* 8026E568 0026A1C8 7C 00 1E 70 */ srawi r0, r0, 3
+/* 8026E56C 0026A1CC 81 61 00 08 */ lwz r11, 8(r1)
+/* 8026E570 0026A1D0 A1 24 00 1A */ lhz r9, 0x1a(r4)
+/* 8026E574 0026A1D4 7C 00 01 94 */ addze r0, r0
+/* 8026E578 0026A1D8 A0 A4 00 1C */ lhz r5, 0x1c(r4)
+/* 8026E57C 0026A1DC 54 08 28 34 */ slwi r8, r0, 5
+/* 8026E580 0026A1E0 80 C4 00 24 */ lwz r6, 0x24(r4)
+/* 8026E584 0026A1E4 3A E4 00 2C */ addi r23, r4, 0x2c
+/* 8026E588 0026A1E8 7D 49 29 D6 */ mullw r10, r9, r5
+/* 8026E58C 0026A1EC 80 A4 00 14 */ lwz r5, 0x14(r4)
+/* 8026E590 0026A1F0 7E C4 32 14 */ add r22, r4, r6
+/* 8026E594 0026A1F4 A0 E4 00 12 */ lhz r7, 0x12(r4)
+/* 8026E598 0026A1F8 A0 C4 00 10 */ lhz r6, 0x10(r4)
+/* 8026E59C 0026A1FC 3B 00 00 00 */ li r24, 0
+/* 8026E5A0 0026A200 7D 8B 53 D6 */ divw r12, r11, r10
+/* 8026E5A4 0026A204 7C 0C 51 D6 */ mullw r0, r12, r10
+/* 8026E5A8 0026A208 7D 60 58 50 */ subf r11, r0, r11
+/* 8026E5AC 0026A20C 7D 4B 4B D6 */ divw r10, r11, r9
+/* 8026E5B0 0026A210 7D 2A 49 D6 */ mullw r9, r10, r9
+/* 8026E5B4 0026A214 7C 0C 29 D6 */ mullw r0, r12, r5
+/* 8026E5B8 0026A218 7F 49 58 50 */ subf r26, r9, r11
+/* 8026E5BC 0026A21C 54 00 F8 7E */ srwi r0, r0, 1
+/* 8026E5C0 0026A220 7F 6A 39 D6 */ mullw r27, r10, r7
+/* 8026E5C4 0026A224 7E D6 02 14 */ add r22, r22, r0
+/* 8026E5C8 0026A228 7F 5A 31 D6 */ mullw r26, r26, r6
+/* 8026E5CC 0026A22C 48 00 01 4C */ b lbl_8026E718
+lbl_8026E5D0:
+/* 8026E5D0 0026A230 7C FB C2 14 */ add r7, r27, r24
+/* 8026E5D4 0026A234 57 00 E8 04 */ slwi r0, r24, 0x1d
+/* 8026E5D8 0026A238 7C E5 1E 70 */ srawi r5, r7, 3
+/* 8026E5DC 0026A23C 57 04 0F FE */ srwi r4, r24, 0x1f
+/* 8026E5E0 0026A240 7D 25 01 94 */ addze r9, r5
+/* 8026E5E4 0026A244 54 E6 E8 04 */ slwi r6, r7, 0x1d
+/* 8026E5E8 0026A248 7F 05 1E 70 */ srawi r5, r24, 3
+/* 8026E5EC 0026A24C 54 E7 0F FE */ srwi r7, r7, 0x1f
+/* 8026E5F0 0026A250 7C A5 01 94 */ addze r5, r5
+/* 8026E5F4 0026A254 7C 04 00 50 */ subf r0, r4, r0
+/* 8026E5F8 0026A258 7C A5 41 D6 */ mullw r5, r5, r8
+/* 8026E5FC 0026A25C 7C C7 30 50 */ subf r6, r7, r6
+/* 8026E600 0026A260 54 00 18 3E */ rotlwi r0, r0, 3
+/* 8026E604 0026A264 54 C6 18 3E */ rotlwi r6, r6, 3
+/* 8026E608 0026A268 7C 00 22 14 */ add r0, r0, r4
+/* 8026E60C 0026A26C 7C 86 3A 14 */ add r4, r6, r7
+/* 8026E610 0026A270 54 8A 08 3C */ slwi r10, r4, 1
+/* 8026E614 0026A274 7D 7D 2A 14 */ add r11, r29, r5
+/* 8026E618 0026A278 54 0C 10 3A */ slwi r12, r0, 2
+/* 8026E61C 0026A27C 3B 20 00 00 */ li r25, 0
+/* 8026E620 0026A280 48 00 00 E4 */ b lbl_8026E704
+lbl_8026E624:
+/* 8026E624 0026A284 A0 84 00 1E */ lhz r4, 0x1e(r4)
+/* 8026E628 0026A288 7F 9E CA 14 */ add r28, r30, r25
+/* 8026E62C 0026A28C 7C BA CA 14 */ add r5, r26, r25
+/* 8026E630 0026A290 38 00 00 F0 */ li r0, 0xf0
+/* 8026E634 0026A294 54 86 10 34 */ rlwinm r6, r4, 2, 0, 0x1a
+/* 8026E638 0026A298 54 84 1F FE */ rlwinm r4, r4, 3, 0x1f, 0x1f
+/* 8026E63C 0026A29C 7C 84 32 14 */ add r4, r4, r6
+/* 8026E640 0026A2A0 57 94 E8 04 */ slwi r20, r28, 0x1d
+/* 8026E644 0026A2A4 7C 87 0E 70 */ srawi r7, r4, 1
+/* 8026E648 0026A2A8 57 93 0F FE */ srwi r19, r28, 0x1f
+/* 8026E64C 0026A2AC 7C E7 49 D6 */ mullw r7, r7, r9
+/* 8026E650 0026A2B0 54 A6 E8 04 */ slwi r6, r5, 0x1d
+/* 8026E654 0026A2B4 54 A4 0F FE */ srwi r4, r5, 0x1f
+/* 8026E658 0026A2B8 7C B2 1E 70 */ srawi r18, r5, 3
+/* 8026E65C 0026A2BC 7C C4 30 50 */ subf r6, r4, r6
+/* 8026E660 0026A2C0 57 95 07 FE */ clrlwi r21, r28, 0x1f
+/* 8026E664 0026A2C4 54 D1 18 3E */ rotlwi r17, r6, 3
+/* 8026E668 0026A2C8 7C D2 01 94 */ addze r6, r18
+/* 8026E66C 0026A2CC 7E 31 22 14 */ add r17, r17, r4
+/* 8026E670 0026A2D0 7E 93 A0 50 */ subf r20, r19, r20
+/* 8026E674 0026A2D4 7E B5 9A 78 */ xor r21, r21, r19
+/* 8026E678 0026A2D8 54 A5 F0 02 */ slwi r5, r5, 0x1e
+/* 8026E67C 0026A2DC 7E 32 16 70 */ srawi r18, r17, 2
+/* 8026E680 0026A2E0 56 94 18 3E */ rotlwi r20, r20, 3
+/* 8026E684 0026A2E4 7E 24 28 50 */ subf r17, r4, r5
+/* 8026E688 0026A2E8 7E B3 A8 51 */ subf. r21, r19, r21
+/* 8026E68C 0026A2EC 7C B2 01 94 */ addze r5, r18
+/* 8026E690 0026A2F0 7E 94 9A 14 */ add r20, r20, r19
+/* 8026E694 0026A2F4 7F 92 1E 70 */ srawi r18, r28, 3
+/* 8026E698 0026A2F8 56 31 10 3E */ rotlwi r17, r17, 2
+/* 8026E69C 0026A2FC 7C F6 3A 14 */ add r7, r22, r7
+/* 8026E6A0 0026A300 54 C6 20 36 */ slwi r6, r6, 4
+/* 8026E6A4 0026A304 7C E7 32 14 */ add r7, r7, r6
+/* 8026E6A8 0026A308 7E 72 01 94 */ addze r19, r18
+/* 8026E6AC 0026A30C 7C E7 52 14 */ add r7, r7, r10
+/* 8026E6B0 0026A310 56 95 0F FE */ srwi r21, r20, 0x1f
+/* 8026E6B4 0026A314 7F 91 22 14 */ add r28, r17, r4
+/* 8026E6B8 0026A318 56 66 28 34 */ slwi r6, r19, 5
+/* 8026E6BC 0026A31C 7C 95 A2 14 */ add r4, r21, r20
+/* 8026E6C0 0026A320 7C E7 28 AE */ lbzx r7, r7, r5
+/* 8026E6C4 0026A324 7C CB 32 14 */ add r6, r11, r6
+/* 8026E6C8 0026A328 57 95 08 3C */ slwi r21, r28, 1
+/* 8026E6CC 0026A32C 7C 84 0E 70 */ srawi r4, r4, 1
+/* 8026E6D0 0026A330 20 B5 00 06 */ subfic r5, r21, 6
+/* 8026E6D4 0026A334 7C C6 62 14 */ add r6, r6, r12
+/* 8026E6D8 0026A338 7C E5 2E 30 */ sraw r5, r7, r5
+/* 8026E6DC 0026A33C 7C E6 20 AE */ lbzx r7, r6, r4
+/* 8026E6E0 0026A340 54 A5 07 BE */ clrlwi r5, r5, 0x1e
+/* 8026E6E4 0026A344 7C B7 28 AE */ lbzx r5, r23, r5
+/* 8026E6E8 0026A348 41 82 00 08 */ beq lbl_8026E6F0
+/* 8026E6EC 0026A34C 38 00 00 0F */ li r0, 0xf
+lbl_8026E6F0:
+/* 8026E6F0 0026A350 7C A0 00 38 */ and r0, r5, r0
+/* 8026E6F4 0026A354 3B 39 00 01 */ addi r25, r25, 1
+/* 8026E6F8 0026A358 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 8026E6FC 0026A35C 7C E0 03 78 */ or r0, r7, r0
+/* 8026E700 0026A360 7C 06 21 AE */ stbx r0, r6, r4
+lbl_8026E704:
+/* 8026E704 0026A364 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 8026E708 0026A368 A0 04 00 10 */ lhz r0, 0x10(r4)
+/* 8026E70C 0026A36C 7C 19 00 00 */ cmpw r25, r0
+/* 8026E710 0026A370 41 80 FF 14 */ blt lbl_8026E624
+/* 8026E714 0026A374 3B 18 00 01 */ addi r24, r24, 1
+lbl_8026E718:
+/* 8026E718 0026A378 A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 8026E71C 0026A37C 7C 18 00 00 */ cmpw r24, r0
+/* 8026E720 0026A380 41 80 FE B0 */ blt lbl_8026E5D0
+/* 8026E724 0026A384 2C 1F 00 00 */ cmpwi r31, 0
+/* 8026E728 0026A388 41 82 00 1C */ beq lbl_8026E744
+/* 8026E72C 0026A38C 80 A1 00 0C */ lwz r5, 0xc(r1)
+/* 8026E730 0026A390 80 81 00 08 */ lwz r4, 8(r1)
+/* 8026E734 0026A394 A0 05 00 22 */ lhz r0, 0x22(r5)
+/* 8026E738 0026A398 7C 05 02 14 */ add r0, r5, r0
+/* 8026E73C 0026A39C 7C 04 00 AE */ lbzx r0, r4, r0
+/* 8026E740 0026A3A0 90 1F 00 00 */ stw r0, 0(r31)
+lbl_8026E744:
+/* 8026E744 0026A3A4 39 61 00 50 */ addi r11, r1, 0x50
+/* 8026E748 0026A3A8 4B F5 8A 05 */ bl _restgpr_17
+/* 8026E74C 0026A3AC 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 8026E750 0026A3B0 7C 08 03 A6 */ mtlr r0
+/* 8026E754 0026A3B4 38 21 00 50 */ addi r1, r1, 0x50
+/* 8026E758 0026A3B8 4E 80 00 20 */ blr
|