diff options
-rw-r--r-- | asm/SDK/OS/OS.s | 2 | ||||
-rw-r--r-- | asm/SDK/OS/OSAlarm.s | 4 | ||||
-rw-r--r-- | asm/SDK/OS/OSCache.s | 2 | ||||
-rw-r--r-- | asm/SDK/OS/OSContext.s | 613 | ||||
-rw-r--r-- | asm/text_7_2.s | 663 | ||||
-rw-r--r-- | asm/text_8.s | 42 | ||||
-rw-r--r-- | obj_files.mk | 1 |
7 files changed, 667 insertions, 660 deletions
diff --git a/asm/SDK/OS/OS.s b/asm/SDK/OS/OS.s index 0d26ea7..78654ee 100644 --- a/asm/SDK/OS/OS.s +++ b/asm/SDK/OS/OS.s @@ -933,7 +933,7 @@ lbl_8026905C: /* 80269068 00264CC8 48 00 06 65 */ bl __OSInitAlarm /* 8026906C 00264CCC 48 00 5E 75 */ bl func_8026EEE0 /* 80269070 00264CD0 48 00 57 5D */ bl func_8026E7CC -/* 80269074 00264CD4 48 00 23 E1 */ bl func_8026B454 +/* 80269074 00264CD4 48 00 23 E1 */ bl __OSContextInit /* 80269078 00264CD8 48 00 1A 65 */ bl __OSCacheInit /* 8026907C 00264CDC 48 00 C6 05 */ bl func_80275680 /* 80269080 00264CE0 48 00 D9 0D */ bl func_8027698C diff --git a/asm/SDK/OS/OSAlarm.s b/asm/SDK/OS/OSAlarm.s index 5da4f86..c451f02 100644 --- a/asm/SDK/OS/OSAlarm.s +++ b/asm/SDK/OS/OSAlarm.s @@ -473,7 +473,7 @@ lbl_80269D4C: lbl_80269D54: /* 80269D54 002659B4 48 00 75 F1 */ bl func_80271344 /* 80269D58 002659B8 38 61 00 08 */ addi r3, r1, 8 -/* 80269D5C 002659BC 48 00 13 35 */ bl func_8026B090 +/* 80269D5C 002659BC 48 00 13 35 */ bl OSClearContext /* 80269D60 002659C0 38 61 00 08 */ addi r3, r1, 8 /* 80269D64 002659C4 48 00 11 05 */ bl OSSetCurrentContext /* 80269D68 002659C8 7F CC F3 78 */ mr r12, r30 @@ -482,7 +482,7 @@ lbl_80269D54: /* 80269D74 002659D4 7D 89 03 A6 */ mtctr r12 /* 80269D78 002659D8 4E 80 04 21 */ bctrl /* 80269D7C 002659DC 38 61 00 08 */ addi r3, r1, 8 -/* 80269D80 002659E0 48 00 13 11 */ bl func_8026B090 +/* 80269D80 002659E0 48 00 13 11 */ bl OSClearContext /* 80269D84 002659E4 7F A3 EB 78 */ mr r3, r29 /* 80269D88 002659E8 48 00 10 E1 */ bl OSSetCurrentContext /* 80269D8C 002659EC 48 00 75 F5 */ bl func_80271380 diff --git a/asm/SDK/OS/OSCache.s b/asm/SDK/OS/OSCache.s index a696ec9..532020b 100644 --- a/asm/SDK/OS/OSCache.s +++ b/asm/SDK/OS/OSCache.s @@ -336,7 +336,7 @@ lbl_8026AA38: /* 8026AA3C 0026669C 4C C6 31 82 */ crclr 6 /* 8026AA40 002666A0 4B D9 D0 85 */ bl func_80007AC4 /* 8026AA44 002666A4 7F A3 EB 78 */ mr r3, r29 -/* 8026AA48 002666A8 48 00 07 29 */ bl func_8026B170 +/* 8026AA48 002666A8 48 00 07 29 */ bl OSDumpContext /* 8026AA4C 002666AC 4B FF D8 1D */ bl PPCHalt lbl_8026AA50: /* 8026AA50 002666B0 38 7F 00 98 */ addi r3, r31, 0x98 diff --git a/asm/SDK/OS/OSContext.s b/asm/SDK/OS/OSContext.s new file mode 100644 index 0000000..617a2d8 --- /dev/null +++ b/asm/SDK/OS/OSContext.s @@ -0,0 +1,613 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __OSLoadFPUContext +__OSLoadFPUContext: +/* 8026AC14 00266874 A0 A4 01 A2 */ lhz r5, 0x1a2(r4) +/* 8026AC18 00266878 54 A5 07 FF */ clrlwi. r5, r5, 0x1f +/* 8026AC1C 0026687C 41 82 01 18 */ beq lbl_8026AD34 +/* 8026AC20 00266880 C8 04 01 90 */ lfd f0, 0x190(r4) +/* 8026AC24 00266884 FD FE 05 8E */ mtfsf 0xff, f0 +/* 8026AC28 00266888 7C B8 E2 A6 */ mfspr r5, 0x398 +/* 8026AC2C 0026688C 54 A5 1F FF */ rlwinm. r5, r5, 3, 0x1f, 0x1f +/* 8026AC30 00266890 41 82 00 84 */ beq lbl_8026ACB4 +/* 8026AC34 00266894 E0 04 01 C8 */ psq_l f0, 456(r4), 0, qr0 +/* 8026AC38 00266898 E0 24 01 D0 */ psq_l f1, 464(r4), 0, qr0 +/* 8026AC3C 0026689C E0 44 01 D8 */ psq_l f2, 472(r4), 0, qr0 +/* 8026AC40 002668A0 E0 64 01 E0 */ psq_l f3, 480(r4), 0, qr0 +/* 8026AC44 002668A4 E0 84 01 E8 */ psq_l f4, 488(r4), 0, qr0 +/* 8026AC48 002668A8 E0 A4 01 F0 */ psq_l f5, 496(r4), 0, qr0 +/* 8026AC4C 002668AC E0 C4 01 F8 */ psq_l f6, 504(r4), 0, qr0 +/* 8026AC50 002668B0 E0 E4 02 00 */ psq_l f7, 512(r4), 0, qr0 +/* 8026AC54 002668B4 E1 04 02 08 */ psq_l f8, 520(r4), 0, qr0 +/* 8026AC58 002668B8 E1 24 02 10 */ psq_l f9, 528(r4), 0, qr0 +/* 8026AC5C 002668BC E1 44 02 18 */ psq_l f10, 536(r4), 0, qr0 +/* 8026AC60 002668C0 E1 64 02 20 */ psq_l f11, 544(r4), 0, qr0 +/* 8026AC64 002668C4 E1 84 02 28 */ psq_l f12, 552(r4), 0, qr0 +/* 8026AC68 002668C8 E1 A4 02 30 */ psq_l f13, 560(r4), 0, qr0 +/* 8026AC6C 002668CC E1 C4 02 38 */ psq_l f14, 568(r4), 0, qr0 +/* 8026AC70 002668D0 E1 E4 02 40 */ psq_l f15, 576(r4), 0, qr0 +/* 8026AC74 002668D4 E2 04 02 48 */ psq_l f16, 584(r4), 0, qr0 +/* 8026AC78 002668D8 E2 24 02 50 */ psq_l f17, 592(r4), 0, qr0 +/* 8026AC7C 002668DC E2 44 02 58 */ psq_l f18, 600(r4), 0, qr0 +/* 8026AC80 002668E0 E2 64 02 60 */ psq_l f19, 608(r4), 0, qr0 +/* 8026AC84 002668E4 E2 84 02 68 */ psq_l f20, 616(r4), 0, qr0 +/* 8026AC88 002668E8 E2 A4 02 70 */ psq_l f21, 624(r4), 0, qr0 +/* 8026AC8C 002668EC E2 C4 02 78 */ psq_l f22, 632(r4), 0, qr0 +/* 8026AC90 002668F0 E2 E4 02 80 */ psq_l f23, 640(r4), 0, qr0 +/* 8026AC94 002668F4 E3 04 02 88 */ psq_l f24, 648(r4), 0, qr0 +/* 8026AC98 002668F8 E3 24 02 90 */ psq_l f25, 656(r4), 0, qr0 +/* 8026AC9C 002668FC E3 44 02 98 */ psq_l f26, 664(r4), 0, qr0 +/* 8026ACA0 00266900 E3 64 02 A0 */ psq_l f27, 672(r4), 0, qr0 +/* 8026ACA4 00266904 E3 84 02 A8 */ psq_l f28, 680(r4), 0, qr0 +/* 8026ACA8 00266908 E3 A4 02 B0 */ psq_l f29, 688(r4), 0, qr0 +/* 8026ACAC 0026690C E3 C4 02 B8 */ psq_l f30, 696(r4), 0, qr0 +/* 8026ACB0 00266910 E3 E4 02 C0 */ psq_l f31, 704(r4), 0, qr0 +lbl_8026ACB4: +/* 8026ACB4 00266914 C8 04 00 90 */ lfd f0, 0x90(r4) +/* 8026ACB8 00266918 C8 24 00 98 */ lfd f1, 0x98(r4) +/* 8026ACBC 0026691C C8 44 00 A0 */ lfd f2, 0xa0(r4) +/* 8026ACC0 00266920 C8 64 00 A8 */ lfd f3, 0xa8(r4) +/* 8026ACC4 00266924 C8 84 00 B0 */ lfd f4, 0xb0(r4) +/* 8026ACC8 00266928 C8 A4 00 B8 */ lfd f5, 0xb8(r4) +/* 8026ACCC 0026692C C8 C4 00 C0 */ lfd f6, 0xc0(r4) +/* 8026ACD0 00266930 C8 E4 00 C8 */ lfd f7, 0xc8(r4) +/* 8026ACD4 00266934 C9 04 00 D0 */ lfd f8, 0xd0(r4) +/* 8026ACD8 00266938 C9 24 00 D8 */ lfd f9, 0xd8(r4) +/* 8026ACDC 0026693C C9 44 00 E0 */ lfd f10, 0xe0(r4) +/* 8026ACE0 00266940 C9 64 00 E8 */ lfd f11, 0xe8(r4) +/* 8026ACE4 00266944 C9 84 00 F0 */ lfd f12, 0xf0(r4) +/* 8026ACE8 00266948 C9 A4 00 F8 */ lfd f13, 0xf8(r4) +/* 8026ACEC 0026694C C9 C4 01 00 */ lfd f14, 0x100(r4) +/* 8026ACF0 00266950 C9 E4 01 08 */ lfd f15, 0x108(r4) +/* 8026ACF4 00266954 CA 04 01 10 */ lfd f16, 0x110(r4) +/* 8026ACF8 00266958 CA 24 01 18 */ lfd f17, 0x118(r4) +/* 8026ACFC 0026695C CA 44 01 20 */ lfd f18, 0x120(r4) +/* 8026AD00 00266960 CA 64 01 28 */ lfd f19, 0x128(r4) +/* 8026AD04 00266964 CA 84 01 30 */ lfd f20, 0x130(r4) +/* 8026AD08 00266968 CA A4 01 38 */ lfd f21, 0x138(r4) +/* 8026AD0C 0026696C CA C4 01 40 */ lfd f22, 0x140(r4) +/* 8026AD10 00266970 CA E4 01 48 */ lfd f23, 0x148(r4) +/* 8026AD14 00266974 CB 04 01 50 */ lfd f24, 0x150(r4) +/* 8026AD18 00266978 CB 24 01 58 */ lfd f25, 0x158(r4) +/* 8026AD1C 0026697C CB 44 01 60 */ lfd f26, 0x160(r4) +/* 8026AD20 00266980 CB 64 01 68 */ lfd f27, 0x168(r4) +/* 8026AD24 00266984 CB 84 01 70 */ lfd f28, 0x170(r4) +/* 8026AD28 00266988 CB A4 01 78 */ lfd f29, 0x178(r4) +/* 8026AD2C 0026698C CB C4 01 80 */ lfd f30, 0x180(r4) +/* 8026AD30 00266990 CB E4 01 88 */ lfd f31, 0x188(r4) +lbl_8026AD34: +/* 8026AD34 00266994 4E 80 00 20 */ blr + +.global __OSSaveFPUContext +__OSSaveFPUContext: +/* 8026AD38 00266998 A0 65 01 A2 */ lhz r3, 0x1a2(r5) +/* 8026AD3C 0026699C 60 63 00 01 */ ori r3, r3, 1 +/* 8026AD40 002669A0 B0 65 01 A2 */ sth r3, 0x1a2(r5) +/* 8026AD44 002669A4 D8 05 00 90 */ stfd f0, 0x90(r5) +/* 8026AD48 002669A8 D8 25 00 98 */ stfd f1, 0x98(r5) +/* 8026AD4C 002669AC D8 45 00 A0 */ stfd f2, 0xa0(r5) +/* 8026AD50 002669B0 D8 65 00 A8 */ stfd f3, 0xa8(r5) +/* 8026AD54 002669B4 D8 85 00 B0 */ stfd f4, 0xb0(r5) +/* 8026AD58 002669B8 D8 A5 00 B8 */ stfd f5, 0xb8(r5) +/* 8026AD5C 002669BC D8 C5 00 C0 */ stfd f6, 0xc0(r5) +/* 8026AD60 002669C0 D8 E5 00 C8 */ stfd f7, 0xc8(r5) +/* 8026AD64 002669C4 D9 05 00 D0 */ stfd f8, 0xd0(r5) +/* 8026AD68 002669C8 D9 25 00 D8 */ stfd f9, 0xd8(r5) +/* 8026AD6C 002669CC D9 45 00 E0 */ stfd f10, 0xe0(r5) +/* 8026AD70 002669D0 D9 65 00 E8 */ stfd f11, 0xe8(r5) +/* 8026AD74 002669D4 D9 85 00 F0 */ stfd f12, 0xf0(r5) +/* 8026AD78 002669D8 D9 A5 00 F8 */ stfd f13, 0xf8(r5) +/* 8026AD7C 002669DC D9 C5 01 00 */ stfd f14, 0x100(r5) +/* 8026AD80 002669E0 D9 E5 01 08 */ stfd f15, 0x108(r5) +/* 8026AD84 002669E4 DA 05 01 10 */ stfd f16, 0x110(r5) +/* 8026AD88 002669E8 DA 25 01 18 */ stfd f17, 0x118(r5) +/* 8026AD8C 002669EC DA 45 01 20 */ stfd f18, 0x120(r5) +/* 8026AD90 002669F0 DA 65 01 28 */ stfd f19, 0x128(r5) +/* 8026AD94 002669F4 DA 85 01 30 */ stfd f20, 0x130(r5) +/* 8026AD98 002669F8 DA A5 01 38 */ stfd f21, 0x138(r5) +/* 8026AD9C 002669FC DA C5 01 40 */ stfd f22, 0x140(r5) +/* 8026ADA0 00266A00 DA E5 01 48 */ stfd f23, 0x148(r5) +/* 8026ADA4 00266A04 DB 05 01 50 */ stfd f24, 0x150(r5) +/* 8026ADA8 00266A08 DB 25 01 58 */ stfd f25, 0x158(r5) +/* 8026ADAC 00266A0C DB 45 01 60 */ stfd f26, 0x160(r5) +/* 8026ADB0 00266A10 DB 65 01 68 */ stfd f27, 0x168(r5) +/* 8026ADB4 00266A14 DB 85 01 70 */ stfd f28, 0x170(r5) +/* 8026ADB8 00266A18 DB A5 01 78 */ stfd f29, 0x178(r5) +/* 8026ADBC 00266A1C DB C5 01 80 */ stfd f30, 0x180(r5) +/* 8026ADC0 00266A20 DB E5 01 88 */ stfd f31, 0x188(r5) +/* 8026ADC4 00266A24 FC 00 04 8E */ mffs f0 +/* 8026ADC8 00266A28 D8 05 01 90 */ stfd f0, 0x190(r5) +/* 8026ADCC 00266A2C C8 05 00 90 */ lfd f0, 0x90(r5) +/* 8026ADD0 00266A30 7C 78 E2 A6 */ mfspr r3, 0x398 +/* 8026ADD4 00266A34 54 63 1F FF */ rlwinm. r3, r3, 3, 0x1f, 0x1f +/* 8026ADD8 00266A38 41 82 00 84 */ beq lbl_8026AE5C +/* 8026ADDC 00266A3C F0 05 01 C8 */ psq_st f0, 456(r5), 0, qr0 +/* 8026ADE0 00266A40 F0 25 01 D0 */ psq_st f1, 464(r5), 0, qr0 +/* 8026ADE4 00266A44 F0 45 01 D8 */ psq_st f2, 472(r5), 0, qr0 +/* 8026ADE8 00266A48 F0 65 01 E0 */ psq_st f3, 480(r5), 0, qr0 +/* 8026ADEC 00266A4C F0 85 01 E8 */ psq_st f4, 488(r5), 0, qr0 +/* 8026ADF0 00266A50 F0 A5 01 F0 */ psq_st f5, 496(r5), 0, qr0 +/* 8026ADF4 00266A54 F0 C5 01 F8 */ psq_st f6, 504(r5), 0, qr0 +/* 8026ADF8 00266A58 F0 E5 02 00 */ psq_st f7, 512(r5), 0, qr0 +/* 8026ADFC 00266A5C F1 05 02 08 */ psq_st f8, 520(r5), 0, qr0 +/* 8026AE00 00266A60 F1 25 02 10 */ psq_st f9, 528(r5), 0, qr0 +/* 8026AE04 00266A64 F1 45 02 18 */ psq_st f10, 536(r5), 0, qr0 +/* 8026AE08 00266A68 F1 65 02 20 */ psq_st f11, 544(r5), 0, qr0 +/* 8026AE0C 00266A6C F1 85 02 28 */ psq_st f12, 552(r5), 0, qr0 +/* 8026AE10 00266A70 F1 A5 02 30 */ psq_st f13, 560(r5), 0, qr0 +/* 8026AE14 00266A74 F1 C5 02 38 */ psq_st f14, 568(r5), 0, qr0 +/* 8026AE18 00266A78 F1 E5 02 40 */ psq_st f15, 576(r5), 0, qr0 +/* 8026AE1C 00266A7C F2 05 02 48 */ psq_st f16, 584(r5), 0, qr0 +/* 8026AE20 00266A80 F2 25 02 50 */ psq_st f17, 592(r5), 0, qr0 +/* 8026AE24 00266A84 F2 45 02 58 */ psq_st f18, 600(r5), 0, qr0 +/* 8026AE28 00266A88 F2 65 02 60 */ psq_st f19, 608(r5), 0, qr0 +/* 8026AE2C 00266A8C F2 85 02 68 */ psq_st f20, 616(r5), 0, qr0 +/* 8026AE30 00266A90 F2 A5 02 70 */ psq_st f21, 624(r5), 0, qr0 +/* 8026AE34 00266A94 F2 C5 02 78 */ psq_st f22, 632(r5), 0, qr0 +/* 8026AE38 00266A98 F2 E5 02 80 */ psq_st f23, 640(r5), 0, qr0 +/* 8026AE3C 00266A9C F3 05 02 88 */ psq_st f24, 648(r5), 0, qr0 +/* 8026AE40 00266AA0 F3 25 02 90 */ psq_st f25, 656(r5), 0, qr0 +/* 8026AE44 00266AA4 F3 45 02 98 */ psq_st f26, 664(r5), 0, qr0 +/* 8026AE48 00266AA8 F3 65 02 A0 */ psq_st f27, 672(r5), 0, qr0 +/* 8026AE4C 00266AAC F3 85 02 A8 */ psq_st f28, 680(r5), 0, qr0 +/* 8026AE50 00266AB0 F3 A5 02 B0 */ psq_st f29, 688(r5), 0, qr0 +/* 8026AE54 00266AB4 F3 C5 02 B8 */ psq_st f30, 696(r5), 0, qr0 +/* 8026AE58 00266AB8 F3 E5 02 C0 */ psq_st f31, 704(r5), 0, qr0 +lbl_8026AE5C: +/* 8026AE5C 00266ABC 4E 80 00 20 */ blr + +.global OSSaveFPUContext +OSSaveFPUContext: +/* 8026AE60 00266AC0 38 A3 00 00 */ addi r5, r3, 0 +/* 8026AE64 00266AC4 4B FF FE D4 */ b __OSSaveFPUContext + +.global OSSetCurrentContext +OSSetCurrentContext: +/* 8026AE68 00266AC8 3C 80 80 00 */ lis r4, 0x800000D4@ha +/* 8026AE6C 00266ACC 90 64 00 D4 */ stw r3, 0x800000D4@l(r4) +/* 8026AE70 00266AD0 54 65 00 BE */ clrlwi r5, r3, 2 +/* 8026AE74 00266AD4 90 A4 00 C0 */ stw r5, 0xc0(r4) +/* 8026AE78 00266AD8 80 A4 00 D8 */ lwz r5, 0xd8(r4) +/* 8026AE7C 00266ADC 7C 05 18 00 */ cmpw r5, r3 +/* 8026AE80 00266AE0 40 82 00 20 */ bne lbl_8026AEA0 +/* 8026AE84 00266AE4 80 C3 01 9C */ lwz r6, 0x19c(r3) +/* 8026AE88 00266AE8 60 C6 20 00 */ ori r6, r6, 0x2000 +/* 8026AE8C 00266AEC 90 C3 01 9C */ stw r6, 0x19c(r3) +/* 8026AE90 00266AF0 7C C0 00 A6 */ mfmsr r6 +/* 8026AE94 00266AF4 60 C6 00 02 */ ori r6, r6, 2 +/* 8026AE98 00266AF8 7C C0 01 24 */ mtmsr r6 +/* 8026AE9C 00266AFC 4E 80 00 20 */ blr +lbl_8026AEA0: +/* 8026AEA0 00266B00 80 C3 01 9C */ lwz r6, 0x19c(r3) +/* 8026AEA4 00266B04 54 C6 04 E2 */ rlwinm r6, r6, 0, 0x13, 0x11 +/* 8026AEA8 00266B08 90 C3 01 9C */ stw r6, 0x19c(r3) +/* 8026AEAC 00266B0C 7C C0 00 A6 */ mfmsr r6 +/* 8026AEB0 00266B10 54 C6 04 E2 */ rlwinm r6, r6, 0, 0x13, 0x11 +/* 8026AEB4 00266B14 60 C6 00 02 */ ori r6, r6, 2 +/* 8026AEB8 00266B18 7C C0 01 24 */ mtmsr r6 +/* 8026AEBC 00266B1C 4C 00 01 2C */ isync +/* 8026AEC0 00266B20 4E 80 00 20 */ blr + +.global OSGetCurrentContext +OSGetCurrentContext: +/* 8026AEC4 00266B24 3C 60 80 00 */ lis r3, 0x800000D4@ha +/* 8026AEC8 00266B28 80 63 00 D4 */ lwz r3, 0x800000D4@l(r3) +/* 8026AECC 00266B2C 4E 80 00 20 */ blr + +.global OSSaveContext +OSSaveContext: +/* 8026AED0 00266B30 BD A3 00 34 */ stmw r13, 0x34(r3) +/* 8026AED4 00266B34 7C 11 E2 A6 */ mfspr r0, 0x391 +/* 8026AED8 00266B38 90 03 01 A8 */ stw r0, 0x1a8(r3) +/* 8026AEDC 00266B3C 7C 12 E2 A6 */ mfspr r0, 0x392 +/* 8026AEE0 00266B40 90 03 01 AC */ stw r0, 0x1ac(r3) +/* 8026AEE4 00266B44 7C 13 E2 A6 */ mfspr r0, 0x393 +/* 8026AEE8 00266B48 90 03 01 B0 */ stw r0, 0x1b0(r3) +/* 8026AEEC 00266B4C 7C 14 E2 A6 */ mfspr r0, 0x394 +/* 8026AEF0 00266B50 90 03 01 B4 */ stw r0, 0x1b4(r3) +/* 8026AEF4 00266B54 7C 15 E2 A6 */ mfspr r0, 0x395 +/* 8026AEF8 00266B58 90 03 01 B8 */ stw r0, 0x1b8(r3) +/* 8026AEFC 00266B5C 7C 16 E2 A6 */ mfspr r0, 0x396 +/* 8026AF00 00266B60 90 03 01 BC */ stw r0, 0x1bc(r3) +/* 8026AF04 00266B64 7C 17 E2 A6 */ mfspr r0, 0x397 +/* 8026AF08 00266B68 90 03 01 C0 */ stw r0, 0x1c0(r3) +/* 8026AF0C 00266B6C 7C 00 00 26 */ mfcr r0 +/* 8026AF10 00266B70 90 03 00 80 */ stw r0, 0x80(r3) +/* 8026AF14 00266B74 7C 08 02 A6 */ mflr r0 +/* 8026AF18 00266B78 90 03 00 84 */ stw r0, 0x84(r3) +/* 8026AF1C 00266B7C 90 03 01 98 */ stw r0, 0x198(r3) +/* 8026AF20 00266B80 7C 00 00 A6 */ mfmsr r0 +/* 8026AF24 00266B84 90 03 01 9C */ stw r0, 0x19c(r3) +/* 8026AF28 00266B88 7C 09 02 A6 */ mfctr r0 +/* 8026AF2C 00266B8C 90 03 00 88 */ stw r0, 0x88(r3) +/* 8026AF30 00266B90 7C 01 02 A6 */ mfxer r0 +/* 8026AF34 00266B94 90 03 00 8C */ stw r0, 0x8c(r3) +/* 8026AF38 00266B98 90 23 00 04 */ stw r1, 4(r3) +/* 8026AF3C 00266B9C 90 43 00 08 */ stw r2, 8(r3) +/* 8026AF40 00266BA0 38 00 00 01 */ li r0, 1 +/* 8026AF44 00266BA4 90 03 00 0C */ stw r0, 0xc(r3) +/* 8026AF48 00266BA8 38 60 00 00 */ li r3, 0 +/* 8026AF4C 00266BAC 4E 80 00 20 */ blr + +.global OSLoadContext +OSLoadContext: +/* 8026AF50 00266BB0 3C 80 80 27 */ lis r4, OSDisableInterrupts@ha +/* 8026AF54 00266BB4 80 C3 01 98 */ lwz r6, 0x198(r3) +/* 8026AF58 00266BB8 38 A4 E7 5C */ addi r5, r4, OSDisableInterrupts@l +/* 8026AF5C 00266BBC 7C 06 28 40 */ cmplw r6, r5 +/* 8026AF60 00266BC0 40 81 00 18 */ ble lbl_8026AF78 +/* 8026AF64 00266BC4 3C 80 80 27 */ lis r4, lbl_8026E768@ha +/* 8026AF68 00266BC8 38 04 E7 68 */ addi r0, r4, lbl_8026E768@l +/* 8026AF6C 00266BCC 7C 06 00 40 */ cmplw r6, r0 +/* 8026AF70 00266BD0 40 80 00 08 */ bge lbl_8026AF78 +/* 8026AF74 00266BD4 90 A3 01 98 */ stw r5, 0x198(r3) +lbl_8026AF78: +/* 8026AF78 00266BD8 80 03 00 00 */ lwz r0, 0(r3) +/* 8026AF7C 00266BDC 80 23 00 04 */ lwz r1, 4(r3) +/* 8026AF80 00266BE0 80 43 00 08 */ lwz r2, 8(r3) +/* 8026AF84 00266BE4 A0 83 01 A2 */ lhz r4, 0x1a2(r3) +/* 8026AF88 00266BE8 54 85 07 BD */ rlwinm. r5, r4, 0, 0x1e, 0x1e +/* 8026AF8C 00266BEC 41 82 00 14 */ beq lbl_8026AFA0 +/* 8026AF90 00266BF0 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d +/* 8026AF94 00266BF4 B0 83 01 A2 */ sth r4, 0x1a2(r3) +/* 8026AF98 00266BF8 B8 A3 00 14 */ lmw r5, 0x14(r3) +/* 8026AF9C 00266BFC 48 00 00 08 */ b lbl_8026AFA4 +lbl_8026AFA0: +/* 8026AFA0 00266C00 B9 A3 00 34 */ lmw r13, 0x34(r3) +lbl_8026AFA4: +/* 8026AFA4 00266C04 80 83 01 A8 */ lwz r4, 0x1a8(r3) +/* 8026AFA8 00266C08 7C 91 E3 A6 */ mtspr 0x391, r4 +/* 8026AFAC 00266C0C 80 83 01 AC */ lwz r4, 0x1ac(r3) +/* 8026AFB0 00266C10 7C 92 E3 A6 */ mtspr 0x392, r4 +/* 8026AFB4 00266C14 80 83 01 B0 */ lwz r4, 0x1b0(r3) +/* 8026AFB8 00266C18 7C 93 E3 A6 */ mtspr 0x393, r4 +/* 8026AFBC 00266C1C 80 83 01 B4 */ lwz r4, 0x1b4(r3) +/* 8026AFC0 00266C20 7C 94 E3 A6 */ mtspr 0x394, r4 +/* 8026AFC4 00266C24 80 83 01 B8 */ lwz r4, 0x1b8(r3) +/* 8026AFC8 00266C28 7C 95 E3 A6 */ mtspr 0x395, r4 +/* 8026AFCC 00266C2C 80 83 01 BC */ lwz r4, 0x1bc(r3) +/* 8026AFD0 00266C30 7C 96 E3 A6 */ mtspr 0x396, r4 +/* 8026AFD4 00266C34 80 83 01 C0 */ lwz r4, 0x1c0(r3) +/* 8026AFD8 00266C38 7C 97 E3 A6 */ mtspr 0x397, r4 +/* 8026AFDC 00266C3C 80 83 00 80 */ lwz r4, 0x80(r3) +/* 8026AFE0 00266C40 7C 8F F1 20 */ mtcrf 0xff, r4 +/* 8026AFE4 00266C44 80 83 00 84 */ lwz r4, 0x84(r3) +/* 8026AFE8 00266C48 7C 88 03 A6 */ mtlr r4 +/* 8026AFEC 00266C4C 80 83 00 88 */ lwz r4, 0x88(r3) +/* 8026AFF0 00266C50 7C 89 03 A6 */ mtctr r4 +/* 8026AFF4 00266C54 80 83 00 8C */ lwz r4, 0x8c(r3) +/* 8026AFF8 00266C58 7C 81 03 A6 */ mtxer r4 +/* 8026AFFC 00266C5C 7C 80 00 A6 */ mfmsr r4 +/* 8026B000 00266C60 54 84 04 5E */ rlwinm r4, r4, 0, 0x11, 0xf +/* 8026B004 00266C64 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d +/* 8026B008 00266C68 7C 80 01 24 */ mtmsr r4 +/* 8026B00C 00266C6C 80 83 01 98 */ lwz r4, 0x198(r3) +/* 8026B010 00266C70 7C 9A 03 A6 */ mtspr 0x1a, r4 +/* 8026B014 00266C74 80 83 01 9C */ lwz r4, 0x19c(r3) +/* 8026B018 00266C78 7C 9B 03 A6 */ mtspr 0x1b, r4 +/* 8026B01C 00266C7C 80 83 00 10 */ lwz r4, 0x10(r3) +/* 8026B020 00266C80 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8026B024 00266C84 4C 00 00 64 */ rfi + +.global OSGetStackPointer +OSGetStackPointer: +/* 8026B028 00266C88 7C 23 0B 78 */ mr r3, r1 +/* 8026B02C 00266C8C 4E 80 00 20 */ blr + +.global OSSwitchFiber +OSSwitchFiber: +/* 8026B030 00266C90 7C 08 02 A6 */ mflr r0 +/* 8026B034 00266C94 7C 25 0B 78 */ mr r5, r1 +/* 8026B038 00266C98 94 A4 FF F8 */ stwu r5, -8(r4) +/* 8026B03C 00266C9C 7C 81 23 78 */ mr r1, r4 +/* 8026B040 00266CA0 90 05 00 04 */ stw r0, 4(r5) +/* 8026B044 00266CA4 7C 68 03 A6 */ mtlr r3 +/* 8026B048 00266CA8 4E 80 00 21 */ blrl +/* 8026B04C 00266CAC 80 A1 00 00 */ lwz r5, 0(r1) +/* 8026B050 00266CB0 80 05 00 04 */ lwz r0, 4(r5) +/* 8026B054 00266CB4 7C 08 03 A6 */ mtlr r0 +/* 8026B058 00266CB8 7C A1 2B 78 */ mr r1, r5 +/* 8026B05C 00266CBC 4E 80 00 20 */ blr + +.global OSSwitchFiberEx +OSSwitchFiberEx: +/* 8026B060 00266CC0 7C 08 02 A6 */ mflr r0 +/* 8026B064 00266CC4 7C 29 0B 78 */ mr r9, r1 +/* 8026B068 00266CC8 95 28 FF F8 */ stwu r9, -8(r8) +/* 8026B06C 00266CCC 7D 01 43 78 */ mr r1, r8 +/* 8026B070 00266CD0 90 09 00 04 */ stw r0, 4(r9) +/* 8026B074 00266CD4 7C E8 03 A6 */ mtlr r7 +/* 8026B078 00266CD8 4E 80 00 21 */ blrl +/* 8026B07C 00266CDC 80 A1 00 00 */ lwz r5, 0(r1) +/* 8026B080 00266CE0 80 05 00 04 */ lwz r0, 4(r5) +/* 8026B084 00266CE4 7C 08 03 A6 */ mtlr r0 +/* 8026B088 00266CE8 7C A1 2B 78 */ mr r1, r5 +/* 8026B08C 00266CEC 4E 80 00 20 */ blr + +.global OSClearContext +OSClearContext: +/* 8026B090 00266CF0 38 A0 00 00 */ li r5, 0 +/* 8026B094 00266CF4 3C 80 80 00 */ lis r4, 0x800000D8@ha +/* 8026B098 00266CF8 B0 A3 01 A0 */ sth r5, 0x1a0(r3) +/* 8026B09C 00266CFC B0 A3 01 A2 */ sth r5, 0x1a2(r3) +/* 8026B0A0 00266D00 80 04 00 D8 */ lwz r0, 0x800000D8@l(r4) +/* 8026B0A4 00266D04 7C 03 00 40 */ cmplw r3, r0 +/* 8026B0A8 00266D08 4C 82 00 20 */ bnelr +/* 8026B0AC 00266D0C 90 A4 00 D8 */ stw r5, 0xd8(r4) +/* 8026B0B0 00266D10 4E 80 00 20 */ blr + +.global OSInitContext +OSInitContext: +/* 8026B0B4 00266D14 90 83 01 98 */ stw r4, 0x198(r3) +/* 8026B0B8 00266D18 90 A3 00 04 */ stw r5, 4(r3) +/* 8026B0BC 00266D1C 39 60 00 00 */ li r11, 0 +/* 8026B0C0 00266D20 61 6B 90 32 */ ori r11, r11, 0x9032 +/* 8026B0C4 00266D24 91 63 01 9C */ stw r11, 0x19c(r3) +/* 8026B0C8 00266D28 38 00 00 00 */ li r0, 0 +/* 8026B0CC 00266D2C 90 03 00 80 */ stw r0, 0x80(r3) +/* 8026B0D0 00266D30 90 03 00 8C */ stw r0, 0x8c(r3) +/* 8026B0D4 00266D34 90 43 00 08 */ stw r2, 8(r3) +/* 8026B0D8 00266D38 91 A3 00 34 */ stw r13, 0x34(r3) +/* 8026B0DC 00266D3C 90 03 00 0C */ stw r0, 0xc(r3) +/* 8026B0E0 00266D40 90 03 00 10 */ stw r0, 0x10(r3) +/* 8026B0E4 00266D44 90 03 00 14 */ stw r0, 0x14(r3) +/* 8026B0E8 00266D48 90 03 00 18 */ stw r0, 0x18(r3) +/* 8026B0EC 00266D4C 90 03 00 1C */ stw r0, 0x1c(r3) +/* 8026B0F0 00266D50 90 03 00 20 */ stw r0, 0x20(r3) +/* 8026B0F4 00266D54 90 03 00 24 */ stw r0, 0x24(r3) +/* 8026B0F8 00266D58 90 03 00 28 */ stw r0, 0x28(r3) +/* 8026B0FC 00266D5C 90 03 00 2C */ stw r0, 0x2c(r3) +/* 8026B100 00266D60 90 03 00 30 */ stw r0, 0x30(r3) +/* 8026B104 00266D64 90 03 00 38 */ stw r0, 0x38(r3) +/* 8026B108 00266D68 90 03 00 3C */ stw r0, 0x3c(r3) +/* 8026B10C 00266D6C 90 03 00 40 */ stw r0, 0x40(r3) +/* 8026B110 00266D70 90 03 00 44 */ stw r0, 0x44(r3) +/* 8026B114 00266D74 90 03 00 48 */ stw r0, 0x48(r3) +/* 8026B118 00266D78 90 03 00 4C */ stw r0, 0x4c(r3) +/* 8026B11C 00266D7C 90 03 00 50 */ stw r0, 0x50(r3) +/* 8026B120 00266D80 90 03 00 54 */ stw r0, 0x54(r3) +/* 8026B124 00266D84 90 03 00 58 */ stw r0, 0x58(r3) +/* 8026B128 00266D88 90 03 00 5C */ stw r0, 0x5c(r3) +/* 8026B12C 00266D8C 90 03 00 60 */ stw r0, 0x60(r3) +/* 8026B130 00266D90 90 03 00 64 */ stw r0, 0x64(r3) +/* 8026B134 00266D94 90 03 00 68 */ stw r0, 0x68(r3) +/* 8026B138 00266D98 90 03 00 6C */ stw r0, 0x6c(r3) +/* 8026B13C 00266D9C 90 03 00 70 */ stw r0, 0x70(r3) +/* 8026B140 00266DA0 90 03 00 74 */ stw r0, 0x74(r3) +/* 8026B144 00266DA4 90 03 00 78 */ stw r0, 0x78(r3) +/* 8026B148 00266DA8 90 03 00 7C */ stw r0, 0x7c(r3) +/* 8026B14C 00266DAC 90 03 01 A4 */ stw r0, 0x1a4(r3) +/* 8026B150 00266DB0 90 03 01 A8 */ stw r0, 0x1a8(r3) +/* 8026B154 00266DB4 90 03 01 AC */ stw r0, 0x1ac(r3) +/* 8026B158 00266DB8 90 03 01 B0 */ stw r0, 0x1b0(r3) +/* 8026B15C 00266DBC 90 03 01 B4 */ stw r0, 0x1b4(r3) +/* 8026B160 00266DC0 90 03 01 B8 */ stw r0, 0x1b8(r3) +/* 8026B164 00266DC4 90 03 01 BC */ stw r0, 0x1bc(r3) +/* 8026B168 00266DC8 90 03 01 C0 */ stw r0, 0x1c0(r3) +/* 8026B16C 00266DCC 4B FF FF 24 */ b OSClearContext + +.global OSDumpContext +OSDumpContext: +/* 8026B170 00266DD0 94 21 FD 10 */ stwu r1, -0x2f0(r1) +/* 8026B174 00266DD4 7C 08 02 A6 */ mflr r0 +/* 8026B178 00266DD8 90 01 02 F4 */ stw r0, 0x2f4(r1) +/* 8026B17C 00266DDC 39 61 02 F0 */ addi r11, r1, 0x2f0 +/* 8026B180 00266DE0 4B F5 BF A1 */ bl func_801C7120 +/* 8026B184 00266DE4 3F 80 80 42 */ lis r28, lbl_80426C98@ha +/* 8026B188 00266DE8 7C 7E 1B 78 */ mr r30, r3 +/* 8026B18C 00266DEC 3B 9C 6C 98 */ addi r28, r28, lbl_80426C98@l +/* 8026B190 00266DF0 7F C4 F3 78 */ mr r4, r30 +/* 8026B194 00266DF4 38 7C 00 00 */ addi r3, r28, 0 +/* 8026B198 00266DF8 4C C6 31 82 */ crclr 6 +/* 8026B19C 00266DFC 4B D9 C9 29 */ bl func_80007AC4 +/* 8026B1A0 00266E00 7F DA F3 78 */ mr r26, r30 +/* 8026B1A4 00266E04 3B 20 00 00 */ li r25, 0 +lbl_8026B1A8: +/* 8026B1A8 00266E08 81 1A 00 40 */ lwz r8, 0x40(r26) +/* 8026B1AC 00266E0C 7F 24 CB 78 */ mr r4, r25 +/* 8026B1B0 00266E10 80 BA 00 00 */ lwz r5, 0(r26) +/* 8026B1B4 00266E14 38 7C 00 48 */ addi r3, r28, 0x48 +/* 8026B1B8 00266E18 7D 09 43 78 */ mr r9, r8 +/* 8026B1BC 00266E1C 38 F9 00 10 */ addi r7, r25, 0x10 +/* 8026B1C0 00266E20 7C A6 2B 78 */ mr r6, r5 +/* 8026B1C4 00266E24 4C C6 31 82 */ crclr 6 +/* 8026B1C8 00266E28 4B D9 C8 FD */ bl func_80007AC4 +/* 8026B1CC 00266E2C 3B 39 00 01 */ addi r25, r25, 1 +/* 8026B1D0 00266E30 3B 5A 00 04 */ addi r26, r26, 4 +/* 8026B1D4 00266E34 28 19 00 10 */ cmplwi r25, 0x10 +/* 8026B1D8 00266E38 41 80 FF D0 */ blt lbl_8026B1A8 +/* 8026B1DC 00266E3C 80 9E 00 84 */ lwz r4, 0x84(r30) +/* 8026B1E0 00266E40 38 7C 00 78 */ addi r3, r28, 0x78 +/* 8026B1E4 00266E44 80 BE 00 80 */ lwz r5, 0x80(r30) +/* 8026B1E8 00266E48 4C C6 31 82 */ crclr 6 +/* 8026B1EC 00266E4C 4B D9 C8 D9 */ bl func_80007AC4 +/* 8026B1F0 00266E50 80 9E 01 98 */ lwz r4, 0x198(r30) +/* 8026B1F4 00266E54 38 7C 00 A8 */ addi r3, r28, 0xa8 +/* 8026B1F8 00266E58 80 BE 01 9C */ lwz r5, 0x19c(r30) +/* 8026B1FC 00266E5C 4C C6 31 82 */ crclr 6 +/* 8026B200 00266E60 4B D9 C8 C5 */ bl func_80007AC4 +/* 8026B204 00266E64 38 7C 00 D8 */ addi r3, r28, 0xd8 +/* 8026B208 00266E68 4C C6 31 82 */ crclr 6 +/* 8026B20C 00266E6C 4B D9 C8 B9 */ bl func_80007AC4 +/* 8026B210 00266E70 7F DA F3 78 */ mr r26, r30 +/* 8026B214 00266E74 3B 20 00 00 */ li r25, 0 +lbl_8026B218: +/* 8026B218 00266E78 80 BA 01 A4 */ lwz r5, 0x1a4(r26) +/* 8026B21C 00266E7C 7F 24 CB 78 */ mr r4, r25 +/* 8026B220 00266E80 80 FA 01 B4 */ lwz r7, 0x1b4(r26) +/* 8026B224 00266E84 38 7C 00 EC */ addi r3, r28, 0xec +/* 8026B228 00266E88 38 D9 00 04 */ addi r6, r25, 4 +/* 8026B22C 00266E8C 4C C6 31 82 */ crclr 6 +/* 8026B230 00266E90 4B D9 C8 95 */ bl func_80007AC4 +/* 8026B234 00266E94 3B 39 00 01 */ addi r25, r25, 1 +/* 8026B238 00266E98 3B 5A 00 04 */ addi r26, r26, 4 +/* 8026B23C 00266E9C 28 19 00 04 */ cmplwi r25, 4 +/* 8026B240 00266EA0 41 80 FF D8 */ blt lbl_8026B218 +/* 8026B244 00266EA4 A0 1E 01 A2 */ lhz r0, 0x1a2(r30) +/* 8026B248 00266EA8 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8026B24C 00266EAC 41 82 01 18 */ beq lbl_8026B364 +/* 8026B250 00266EB0 48 00 35 0D */ bl OSDisableInterrupts +/* 8026B254 00266EB4 3C C0 80 00 */ lis r6, 0x800000D4@ha +/* 8026B258 00266EB8 38 A0 00 00 */ li r5, 0 +/* 8026B25C 00266EBC 83 66 00 D4 */ lwz r27, 0x800000D4@l(r6) +/* 8026B260 00266EC0 38 81 00 08 */ addi r4, r1, 8 +/* 8026B264 00266EC4 7C 7F 1B 78 */ mr r31, r3 +/* 8026B268 00266EC8 B0 A1 01 A8 */ sth r5, 0x1a8(r1) +/* 8026B26C 00266ECC B0 A1 01 AA */ sth r5, 0x1aa(r1) +/* 8026B270 00266ED0 80 06 00 D8 */ lwz r0, 0xd8(r6) +/* 8026B274 00266ED4 7C 04 00 40 */ cmplw r4, r0 +/* 8026B278 00266ED8 40 82 00 08 */ bne lbl_8026B280 +/* 8026B27C 00266EDC 90 A6 00 D8 */ stw r5, 0xd8(r6) +lbl_8026B280: +/* 8026B280 00266EE0 38 61 00 08 */ addi r3, r1, 8 +/* 8026B284 00266EE4 4B FF FB E5 */ bl OSSetCurrentContext +/* 8026B288 00266EE8 38 7C 01 10 */ addi r3, r28, 0x110 +/* 8026B28C 00266EEC 4C C6 31 82 */ crclr 6 +/* 8026B290 00266EF0 4B D9 C8 35 */ bl func_80007AC4 +/* 8026B294 00266EF4 7F DA F3 78 */ mr r26, r30 +/* 8026B298 00266EF8 3B 20 00 00 */ li r25, 0 +lbl_8026B29C: +/* 8026B29C 00266EFC C8 3A 00 98 */ lfd f1, 0x98(r26) +/* 8026B2A0 00266F00 4B F5 BD 61 */ bl func_801C7000 +/* 8026B2A4 00266F04 C8 3A 00 90 */ lfd f1, 0x90(r26) +/* 8026B2A8 00266F08 7C 7D 1B 78 */ mr r29, r3 +/* 8026B2AC 00266F0C 4B F5 BD 55 */ bl func_801C7000 +/* 8026B2B0 00266F10 7C 65 1B 78 */ mr r5, r3 +/* 8026B2B4 00266F14 7F 24 CB 78 */ mr r4, r25 +/* 8026B2B8 00266F18 7F A7 EB 78 */ mr r7, r29 +/* 8026B2BC 00266F1C 38 7C 01 24 */ addi r3, r28, 0x124 +/* 8026B2C0 00266F20 38 D9 00 01 */ addi r6, r25, 1 +/* 8026B2C4 00266F24 4C C6 31 82 */ crclr 6 +/* 8026B2C8 00266F28 4B D9 C7 FD */ bl func_80007AC4 +/* 8026B2CC 00266F2C 3B 39 00 02 */ addi r25, r25, 2 +/* 8026B2D0 00266F30 3B 5A 00 10 */ addi r26, r26, 0x10 +/* 8026B2D4 00266F34 28 19 00 20 */ cmplwi r25, 0x20 +/* 8026B2D8 00266F38 41 80 FF C4 */ blt lbl_8026B29C +/* 8026B2DC 00266F3C 38 7C 01 40 */ addi r3, r28, 0x140 +/* 8026B2E0 00266F40 4C C6 31 82 */ crclr 6 +/* 8026B2E4 00266F44 4B D9 C7 E1 */ bl func_80007AC4 +/* 8026B2E8 00266F48 7F DA F3 78 */ mr r26, r30 +/* 8026B2EC 00266F4C 3B 20 00 00 */ li r25, 0 +lbl_8026B2F0: +/* 8026B2F0 00266F50 C8 3A 01 D0 */ lfd f1, 0x1d0(r26) +/* 8026B2F4 00266F54 4B F5 BD 0D */ bl func_801C7000 +/* 8026B2F8 00266F58 C8 3A 01 C8 */ lfd f1, 0x1c8(r26) +/* 8026B2FC 00266F5C 7C 7D 1B 78 */ mr r29, r3 +/* 8026B300 00266F60 4B F5 BD 01 */ bl func_801C7000 +/* 8026B304 00266F64 7C 65 1B 78 */ mr r5, r3 +/* 8026B308 00266F68 7F 24 CB 78 */ mr r4, r25 +/* 8026B30C 00266F6C 7F A7 EB 78 */ mr r7, r29 +/* 8026B310 00266F70 38 7C 01 54 */ addi r3, r28, 0x154 +/* 8026B314 00266F74 38 D9 00 01 */ addi r6, r25, 1 +/* 8026B318 00266F78 4C C6 31 82 */ crclr 6 +/* 8026B31C 00266F7C 4B D9 C7 A9 */ bl func_80007AC4 +/* 8026B320 00266F80 3B 39 00 02 */ addi r25, r25, 2 +/* 8026B324 00266F84 3B 5A 00 10 */ addi r26, r26, 0x10 +/* 8026B328 00266F88 28 19 00 20 */ cmplwi r25, 0x20 +/* 8026B32C 00266F8C 41 80 FF C4 */ blt lbl_8026B2F0 +/* 8026B330 00266F90 38 A0 00 00 */ li r5, 0 +/* 8026B334 00266F94 3C 60 80 00 */ lis r3, 0x800000D8@ha +/* 8026B338 00266F98 B0 A1 01 A8 */ sth r5, 0x1a8(r1) +/* 8026B33C 00266F9C 38 81 00 08 */ addi r4, r1, 8 +/* 8026B340 00266FA0 B0 A1 01 AA */ sth r5, 0x1aa(r1) +/* 8026B344 00266FA4 80 03 00 D8 */ lwz r0, 0x800000D8@l(r3) +/* 8026B348 00266FA8 7C 04 00 40 */ cmplw r4, r0 +/* 8026B34C 00266FAC 40 82 00 08 */ bne lbl_8026B354 +/* 8026B350 00266FB0 90 A3 00 D8 */ stw r5, 0xd8(r3) +lbl_8026B354: +/* 8026B354 00266FB4 7F 63 DB 78 */ mr r3, r27 +/* 8026B358 00266FB8 4B FF FB 11 */ bl OSSetCurrentContext +/* 8026B35C 00266FBC 7F E3 FB 78 */ mr r3, r31 +/* 8026B360 00266FC0 48 00 34 25 */ bl OSRestoreInterrupts +lbl_8026B364: +/* 8026B364 00266FC4 38 7C 01 74 */ addi r3, r28, 0x174 +/* 8026B368 00266FC8 4C C6 31 82 */ crclr 6 +/* 8026B36C 00266FCC 4B D9 C7 59 */ bl func_80007AC4 +/* 8026B370 00266FD0 83 3E 00 04 */ lwz r25, 4(r30) +/* 8026B374 00266FD4 3B 40 00 00 */ li r26, 0 +/* 8026B378 00266FD8 48 00 00 20 */ b lbl_8026B398 +lbl_8026B37C: +/* 8026B37C 00266FDC 80 B9 00 00 */ lwz r5, 0(r25) +/* 8026B380 00266FE0 7F 24 CB 78 */ mr r4, r25 +/* 8026B384 00266FE4 80 D9 00 04 */ lwz r6, 4(r25) +/* 8026B388 00266FE8 38 7C 01 9C */ addi r3, r28, 0x19c +/* 8026B38C 00266FEC 4C C6 31 82 */ crclr 6 +/* 8026B390 00266FF0 4B D9 C7 35 */ bl func_80007AC4 +/* 8026B394 00266FF4 83 39 00 00 */ lwz r25, 0(r25) +lbl_8026B398: +/* 8026B398 00266FF8 2C 19 00 00 */ cmpwi r25, 0 +/* 8026B39C 00266FFC 41 82 00 1C */ beq lbl_8026B3B8 +/* 8026B3A0 00267000 3C 19 00 01 */ addis r0, r25, 1 +/* 8026B3A4 00267004 28 00 FF FF */ cmplwi r0, 0xffff +/* 8026B3A8 00267008 41 82 00 10 */ beq lbl_8026B3B8 +/* 8026B3AC 0026700C 28 1A 00 10 */ cmplwi r26, 0x10 +/* 8026B3B0 00267010 3B 5A 00 01 */ addi r26, r26, 1 +/* 8026B3B4 00267014 41 80 FF C8 */ blt lbl_8026B37C +lbl_8026B3B8: +/* 8026B3B8 00267018 39 61 02 F0 */ addi r11, r1, 0x2f0 +/* 8026B3BC 0026701C 4B F5 BD B1 */ bl func_801C716C +/* 8026B3C0 00267020 80 01 02 F4 */ lwz r0, 0x2f4(r1) +/* 8026B3C4 00267024 7C 08 03 A6 */ mtlr r0 +/* 8026B3C8 00267028 38 21 02 F0 */ addi r1, r1, 0x2f0 +/* 8026B3CC 0026702C 4E 80 00 20 */ blr + +.global OSSwitchFPUContext +OSSwitchFPUContext: +/* 8026B3D0 00267030 7C A0 00 A6 */ mfmsr r5 +/* 8026B3D4 00267034 60 A5 20 00 */ ori r5, r5, 0x2000 +/* 8026B3D8 00267038 7C A0 01 24 */ mtmsr r5 +/* 8026B3DC 0026703C 4C 00 01 2C */ isync +/* 8026B3E0 00267040 80 A4 01 9C */ lwz r5, 0x19c(r4) +/* 8026B3E4 00267044 60 A5 20 00 */ ori r5, r5, 0x2000 +/* 8026B3E8 00267048 7C BB 03 A6 */ mtspr 0x1b, r5 +/* 8026B3EC 0026704C 3C 60 80 00 */ lis r3, 0x800000D8@ha +/* 8026B3F0 00267050 80 A3 00 D8 */ lwz r5, 0x800000D8@l(r3) +/* 8026B3F4 00267054 90 83 00 D8 */ stw r4, 0xd8(r3) +/* 8026B3F8 00267058 7C 05 20 00 */ cmpw r5, r4 +/* 8026B3FC 0026705C 41 82 00 14 */ beq lbl_8026B410 +/* 8026B400 00267060 2C 05 00 00 */ cmpwi r5, 0 +/* 8026B404 00267064 41 82 00 08 */ beq lbl_8026B40C +/* 8026B408 00267068 4B FF F9 31 */ bl __OSSaveFPUContext +lbl_8026B40C: +/* 8026B40C 0026706C 4B FF F8 09 */ bl __OSLoadFPUContext +lbl_8026B410: +/* 8026B410 00267070 80 64 00 80 */ lwz r3, 0x80(r4) +/* 8026B414 00267074 7C 6F F1 20 */ mtcrf 0xff, r3 +/* 8026B418 00267078 80 64 00 84 */ lwz r3, 0x84(r4) +/* 8026B41C 0026707C 7C 68 03 A6 */ mtlr r3 +/* 8026B420 00267080 80 64 01 98 */ lwz r3, 0x198(r4) +/* 8026B424 00267084 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 8026B428 00267088 80 64 00 88 */ lwz r3, 0x88(r4) +/* 8026B42C 0026708C 7C 69 03 A6 */ mtctr r3 +/* 8026B430 00267090 80 64 00 8C */ lwz r3, 0x8c(r4) +/* 8026B434 00267094 7C 61 03 A6 */ mtxer r3 +/* 8026B438 00267098 A0 64 01 A2 */ lhz r3, 0x1a2(r4) +/* 8026B43C 0026709C 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d +/* 8026B440 002670A0 B0 64 01 A2 */ sth r3, 0x1a2(r4) +/* 8026B444 002670A4 80 A4 00 14 */ lwz r5, 0x14(r4) +/* 8026B448 002670A8 80 64 00 0C */ lwz r3, 0xc(r4) +/* 8026B44C 002670AC 80 84 00 10 */ lwz r4, 0x10(r4) +/* 8026B450 002670B0 4C 00 00 64 */ rfi + +.global __OSContextInit +__OSContextInit: +/* 8026B454 002670B4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8026B458 002670B8 7C 08 02 A6 */ mflr r0 +/* 8026B45C 002670BC 3C 80 80 27 */ lis r4, OSSwitchFPUContext@ha +/* 8026B460 002670C0 38 60 00 07 */ li r3, 7 +/* 8026B464 002670C4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8026B468 002670C8 38 84 B3 D0 */ addi r4, r4, OSSwitchFPUContext@l +/* 8026B46C 002670CC 4B FF E0 69 */ bl __OSSetExceptionHandler +/* 8026B470 002670D0 38 00 00 00 */ li r0, 0 +/* 8026B474 002670D4 3C 80 80 00 */ lis r4, 0x800000D8@ha +/* 8026B478 002670D8 3C 60 80 42 */ lis r3, lbl_80426E50@ha +/* 8026B47C 002670DC 90 04 00 D8 */ stw r0, 0x800000D8@l(r4) +/* 8026B480 002670E0 38 63 6E 50 */ addi r3, r3, lbl_80426E50@l +/* 8026B484 002670E4 4C C6 31 82 */ crclr 6 +/* 8026B488 002670E8 48 00 BF C1 */ bl func_80277448 +/* 8026B48C 002670EC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8026B490 002670F0 7C 08 03 A6 */ mtlr r0 +/* 8026B494 002670F4 38 21 00 10 */ addi r1, r1, 0x10 +/* 8026B498 002670F8 4E 80 00 20 */ blr diff --git a/asm/text_7_2.s b/asm/text_7_2.s index 859d341..b56100c 100644 --- a/asm/text_7_2.s +++ b/asm/text_7_2.s @@ -2,614 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global __OSLoadFPUContext -__OSLoadFPUContext: -/* 8026AC14 00266874 A0 A4 01 A2 */ lhz r5, 0x1a2(r4) -/* 8026AC18 00266878 54 A5 07 FF */ clrlwi. r5, r5, 0x1f -/* 8026AC1C 0026687C 41 82 01 18 */ beq lbl_8026AD34 -/* 8026AC20 00266880 C8 04 01 90 */ lfd f0, 0x190(r4) -/* 8026AC24 00266884 FD FE 05 8E */ mtfsf 0xff, f0 -/* 8026AC28 00266888 7C B8 E2 A6 */ mfspr r5, 0x398 -/* 8026AC2C 0026688C 54 A5 1F FF */ rlwinm. r5, r5, 3, 0x1f, 0x1f -/* 8026AC30 00266890 41 82 00 84 */ beq lbl_8026ACB4 -/* 8026AC34 00266894 E0 04 01 C8 */ psq_l f0, 456(r4), 0, qr0 -/* 8026AC38 00266898 E0 24 01 D0 */ psq_l f1, 464(r4), 0, qr0 -/* 8026AC3C 0026689C E0 44 01 D8 */ psq_l f2, 472(r4), 0, qr0 -/* 8026AC40 002668A0 E0 64 01 E0 */ psq_l f3, 480(r4), 0, qr0 -/* 8026AC44 002668A4 E0 84 01 E8 */ psq_l f4, 488(r4), 0, qr0 -/* 8026AC48 002668A8 E0 A4 01 F0 */ psq_l f5, 496(r4), 0, qr0 -/* 8026AC4C 002668AC E0 C4 01 F8 */ psq_l f6, 504(r4), 0, qr0 -/* 8026AC50 002668B0 E0 E4 02 00 */ psq_l f7, 512(r4), 0, qr0 -/* 8026AC54 002668B4 E1 04 02 08 */ psq_l f8, 520(r4), 0, qr0 -/* 8026AC58 002668B8 E1 24 02 10 */ psq_l f9, 528(r4), 0, qr0 -/* 8026AC5C 002668BC E1 44 02 18 */ psq_l f10, 536(r4), 0, qr0 -/* 8026AC60 002668C0 E1 64 02 20 */ psq_l f11, 544(r4), 0, qr0 -/* 8026AC64 002668C4 E1 84 02 28 */ psq_l f12, 552(r4), 0, qr0 -/* 8026AC68 002668C8 E1 A4 02 30 */ psq_l f13, 560(r4), 0, qr0 -/* 8026AC6C 002668CC E1 C4 02 38 */ psq_l f14, 568(r4), 0, qr0 -/* 8026AC70 002668D0 E1 E4 02 40 */ psq_l f15, 576(r4), 0, qr0 -/* 8026AC74 002668D4 E2 04 02 48 */ psq_l f16, 584(r4), 0, qr0 -/* 8026AC78 002668D8 E2 24 02 50 */ psq_l f17, 592(r4), 0, qr0 -/* 8026AC7C 002668DC E2 44 02 58 */ psq_l f18, 600(r4), 0, qr0 -/* 8026AC80 002668E0 E2 64 02 60 */ psq_l f19, 608(r4), 0, qr0 -/* 8026AC84 002668E4 E2 84 02 68 */ psq_l f20, 616(r4), 0, qr0 -/* 8026AC88 002668E8 E2 A4 02 70 */ psq_l f21, 624(r4), 0, qr0 -/* 8026AC8C 002668EC E2 C4 02 78 */ psq_l f22, 632(r4), 0, qr0 -/* 8026AC90 002668F0 E2 E4 02 80 */ psq_l f23, 640(r4), 0, qr0 -/* 8026AC94 002668F4 E3 04 02 88 */ psq_l f24, 648(r4), 0, qr0 -/* 8026AC98 002668F8 E3 24 02 90 */ psq_l f25, 656(r4), 0, qr0 -/* 8026AC9C 002668FC E3 44 02 98 */ psq_l f26, 664(r4), 0, qr0 -/* 8026ACA0 00266900 E3 64 02 A0 */ psq_l f27, 672(r4), 0, qr0 -/* 8026ACA4 00266904 E3 84 02 A8 */ psq_l f28, 680(r4), 0, qr0 -/* 8026ACA8 00266908 E3 A4 02 B0 */ psq_l f29, 688(r4), 0, qr0 -/* 8026ACAC 0026690C E3 C4 02 B8 */ psq_l f30, 696(r4), 0, qr0 -/* 8026ACB0 00266910 E3 E4 02 C0 */ psq_l f31, 704(r4), 0, qr0 -lbl_8026ACB4: -/* 8026ACB4 00266914 C8 04 00 90 */ lfd f0, 0x90(r4) -/* 8026ACB8 00266918 C8 24 00 98 */ lfd f1, 0x98(r4) -/* 8026ACBC 0026691C C8 44 00 A0 */ lfd f2, 0xa0(r4) -/* 8026ACC0 00266920 C8 64 00 A8 */ lfd f3, 0xa8(r4) -/* 8026ACC4 00266924 C8 84 00 B0 */ lfd f4, 0xb0(r4) -/* 8026ACC8 00266928 C8 A4 00 B8 */ lfd f5, 0xb8(r4) -/* 8026ACCC 0026692C C8 C4 00 C0 */ lfd f6, 0xc0(r4) -/* 8026ACD0 00266930 C8 E4 00 C8 */ lfd f7, 0xc8(r4) -/* 8026ACD4 00266934 C9 04 00 D0 */ lfd f8, 0xd0(r4) -/* 8026ACD8 00266938 C9 24 00 D8 */ lfd f9, 0xd8(r4) -/* 8026ACDC 0026693C C9 44 00 E0 */ lfd f10, 0xe0(r4) -/* 8026ACE0 00266940 C9 64 00 E8 */ lfd f11, 0xe8(r4) -/* 8026ACE4 00266944 C9 84 00 F0 */ lfd f12, 0xf0(r4) -/* 8026ACE8 00266948 C9 A4 00 F8 */ lfd f13, 0xf8(r4) -/* 8026ACEC 0026694C C9 C4 01 00 */ lfd f14, 0x100(r4) -/* 8026ACF0 00266950 C9 E4 01 08 */ lfd f15, 0x108(r4) -/* 8026ACF4 00266954 CA 04 01 10 */ lfd f16, 0x110(r4) -/* 8026ACF8 00266958 CA 24 01 18 */ lfd f17, 0x118(r4) -/* 8026ACFC 0026695C CA 44 01 20 */ lfd f18, 0x120(r4) -/* 8026AD00 00266960 CA 64 01 28 */ lfd f19, 0x128(r4) -/* 8026AD04 00266964 CA 84 01 30 */ lfd f20, 0x130(r4) -/* 8026AD08 00266968 CA A4 01 38 */ lfd f21, 0x138(r4) -/* 8026AD0C 0026696C CA C4 01 40 */ lfd f22, 0x140(r4) -/* 8026AD10 00266970 CA E4 01 48 */ lfd f23, 0x148(r4) -/* 8026AD14 00266974 CB 04 01 50 */ lfd f24, 0x150(r4) -/* 8026AD18 00266978 CB 24 01 58 */ lfd f25, 0x158(r4) -/* 8026AD1C 0026697C CB 44 01 60 */ lfd f26, 0x160(r4) -/* 8026AD20 00266980 CB 64 01 68 */ lfd f27, 0x168(r4) -/* 8026AD24 00266984 CB 84 01 70 */ lfd f28, 0x170(r4) -/* 8026AD28 00266988 CB A4 01 78 */ lfd f29, 0x178(r4) -/* 8026AD2C 0026698C CB C4 01 80 */ lfd f30, 0x180(r4) -/* 8026AD30 00266990 CB E4 01 88 */ lfd f31, 0x188(r4) -lbl_8026AD34: -/* 8026AD34 00266994 4E 80 00 20 */ blr - -.global __OSSaveFPUContext -__OSSaveFPUContext: -/* 8026AD38 00266998 A0 65 01 A2 */ lhz r3, 0x1a2(r5) -/* 8026AD3C 0026699C 60 63 00 01 */ ori r3, r3, 1 -/* 8026AD40 002669A0 B0 65 01 A2 */ sth r3, 0x1a2(r5) -/* 8026AD44 002669A4 D8 05 00 90 */ stfd f0, 0x90(r5) -/* 8026AD48 002669A8 D8 25 00 98 */ stfd f1, 0x98(r5) -/* 8026AD4C 002669AC D8 45 00 A0 */ stfd f2, 0xa0(r5) -/* 8026AD50 002669B0 D8 65 00 A8 */ stfd f3, 0xa8(r5) -/* 8026AD54 002669B4 D8 85 00 B0 */ stfd f4, 0xb0(r5) -/* 8026AD58 002669B8 D8 A5 00 B8 */ stfd f5, 0xb8(r5) -/* 8026AD5C 002669BC D8 C5 00 C0 */ stfd f6, 0xc0(r5) -/* 8026AD60 002669C0 D8 E5 00 C8 */ stfd f7, 0xc8(r5) -/* 8026AD64 002669C4 D9 05 00 D0 */ stfd f8, 0xd0(r5) -/* 8026AD68 002669C8 D9 25 00 D8 */ stfd f9, 0xd8(r5) -/* 8026AD6C 002669CC D9 45 00 E0 */ stfd f10, 0xe0(r5) -/* 8026AD70 002669D0 D9 65 00 E8 */ stfd f11, 0xe8(r5) -/* 8026AD74 002669D4 D9 85 00 F0 */ stfd f12, 0xf0(r5) -/* 8026AD78 002669D8 D9 A5 00 F8 */ stfd f13, 0xf8(r5) -/* 8026AD7C 002669DC D9 C5 01 00 */ stfd f14, 0x100(r5) -/* 8026AD80 002669E0 D9 E5 01 08 */ stfd f15, 0x108(r5) -/* 8026AD84 002669E4 DA 05 01 10 */ stfd f16, 0x110(r5) -/* 8026AD88 002669E8 DA 25 01 18 */ stfd f17, 0x118(r5) -/* 8026AD8C 002669EC DA 45 01 20 */ stfd f18, 0x120(r5) -/* 8026AD90 002669F0 DA 65 01 28 */ stfd f19, 0x128(r5) -/* 8026AD94 002669F4 DA 85 01 30 */ stfd f20, 0x130(r5) -/* 8026AD98 002669F8 DA A5 01 38 */ stfd f21, 0x138(r5) -/* 8026AD9C 002669FC DA C5 01 40 */ stfd f22, 0x140(r5) -/* 8026ADA0 00266A00 DA E5 01 48 */ stfd f23, 0x148(r5) -/* 8026ADA4 00266A04 DB 05 01 50 */ stfd f24, 0x150(r5) -/* 8026ADA8 00266A08 DB 25 01 58 */ stfd f25, 0x158(r5) -/* 8026ADAC 00266A0C DB 45 01 60 */ stfd f26, 0x160(r5) -/* 8026ADB0 00266A10 DB 65 01 68 */ stfd f27, 0x168(r5) -/* 8026ADB4 00266A14 DB 85 01 70 */ stfd f28, 0x170(r5) -/* 8026ADB8 00266A18 DB A5 01 78 */ stfd f29, 0x178(r5) -/* 8026ADBC 00266A1C DB C5 01 80 */ stfd f30, 0x180(r5) -/* 8026ADC0 00266A20 DB E5 01 88 */ stfd f31, 0x188(r5) -/* 8026ADC4 00266A24 FC 00 04 8E */ mffs f0 -/* 8026ADC8 00266A28 D8 05 01 90 */ stfd f0, 0x190(r5) -/* 8026ADCC 00266A2C C8 05 00 90 */ lfd f0, 0x90(r5) -/* 8026ADD0 00266A30 7C 78 E2 A6 */ mfspr r3, 0x398 -/* 8026ADD4 00266A34 54 63 1F FF */ rlwinm. r3, r3, 3, 0x1f, 0x1f -/* 8026ADD8 00266A38 41 82 00 84 */ beq lbl_8026AE5C -/* 8026ADDC 00266A3C F0 05 01 C8 */ psq_st f0, 456(r5), 0, qr0 -/* 8026ADE0 00266A40 F0 25 01 D0 */ psq_st f1, 464(r5), 0, qr0 -/* 8026ADE4 00266A44 F0 45 01 D8 */ psq_st f2, 472(r5), 0, qr0 -/* 8026ADE8 00266A48 F0 65 01 E0 */ psq_st f3, 480(r5), 0, qr0 -/* 8026ADEC 00266A4C F0 85 01 E8 */ psq_st f4, 488(r5), 0, qr0 -/* 8026ADF0 00266A50 F0 A5 01 F0 */ psq_st f5, 496(r5), 0, qr0 -/* 8026ADF4 00266A54 F0 C5 01 F8 */ psq_st f6, 504(r5), 0, qr0 -/* 8026ADF8 00266A58 F0 E5 02 00 */ psq_st f7, 512(r5), 0, qr0 -/* 8026ADFC 00266A5C F1 05 02 08 */ psq_st f8, 520(r5), 0, qr0 -/* 8026AE00 00266A60 F1 25 02 10 */ psq_st f9, 528(r5), 0, qr0 -/* 8026AE04 00266A64 F1 45 02 18 */ psq_st f10, 536(r5), 0, qr0 -/* 8026AE08 00266A68 F1 65 02 20 */ psq_st f11, 544(r5), 0, qr0 -/* 8026AE0C 00266A6C F1 85 02 28 */ psq_st f12, 552(r5), 0, qr0 -/* 8026AE10 00266A70 F1 A5 02 30 */ psq_st f13, 560(r5), 0, qr0 -/* 8026AE14 00266A74 F1 C5 02 38 */ psq_st f14, 568(r5), 0, qr0 -/* 8026AE18 00266A78 F1 E5 02 40 */ psq_st f15, 576(r5), 0, qr0 -/* 8026AE1C 00266A7C F2 05 02 48 */ psq_st f16, 584(r5), 0, qr0 -/* 8026AE20 00266A80 F2 25 02 50 */ psq_st f17, 592(r5), 0, qr0 -/* 8026AE24 00266A84 F2 45 02 58 */ psq_st f18, 600(r5), 0, qr0 -/* 8026AE28 00266A88 F2 65 02 60 */ psq_st f19, 608(r5), 0, qr0 -/* 8026AE2C 00266A8C F2 85 02 68 */ psq_st f20, 616(r5), 0, qr0 -/* 8026AE30 00266A90 F2 A5 02 70 */ psq_st f21, 624(r5), 0, qr0 -/* 8026AE34 00266A94 F2 C5 02 78 */ psq_st f22, 632(r5), 0, qr0 -/* 8026AE38 00266A98 F2 E5 02 80 */ psq_st f23, 640(r5), 0, qr0 -/* 8026AE3C 00266A9C F3 05 02 88 */ psq_st f24, 648(r5), 0, qr0 -/* 8026AE40 00266AA0 F3 25 02 90 */ psq_st f25, 656(r5), 0, qr0 -/* 8026AE44 00266AA4 F3 45 02 98 */ psq_st f26, 664(r5), 0, qr0 -/* 8026AE48 00266AA8 F3 65 02 A0 */ psq_st f27, 672(r5), 0, qr0 -/* 8026AE4C 00266AAC F3 85 02 A8 */ psq_st f28, 680(r5), 0, qr0 -/* 8026AE50 00266AB0 F3 A5 02 B0 */ psq_st f29, 688(r5), 0, qr0 -/* 8026AE54 00266AB4 F3 C5 02 B8 */ psq_st f30, 696(r5), 0, qr0 -/* 8026AE58 00266AB8 F3 E5 02 C0 */ psq_st f31, 704(r5), 0, qr0 -lbl_8026AE5C: -/* 8026AE5C 00266ABC 4E 80 00 20 */ blr - -.global func_8026AE60 -func_8026AE60: -/* 8026AE60 00266AC0 38 A3 00 00 */ addi r5, r3, 0 -/* 8026AE64 00266AC4 4B FF FE D4 */ b __OSSaveFPUContext - -.global OSSetCurrentContext -OSSetCurrentContext: -/* 8026AE68 00266AC8 3C 80 80 00 */ lis r4, 0x800000D4@ha -/* 8026AE6C 00266ACC 90 64 00 D4 */ stw r3, 0x800000D4@l(r4) -/* 8026AE70 00266AD0 54 65 00 BE */ clrlwi r5, r3, 2 -/* 8026AE74 00266AD4 90 A4 00 C0 */ stw r5, 0xc0(r4) -/* 8026AE78 00266AD8 80 A4 00 D8 */ lwz r5, 0xd8(r4) -/* 8026AE7C 00266ADC 7C 05 18 00 */ cmpw r5, r3 -/* 8026AE80 00266AE0 40 82 00 20 */ bne lbl_8026AEA0 -/* 8026AE84 00266AE4 80 C3 01 9C */ lwz r6, 0x19c(r3) -/* 8026AE88 00266AE8 60 C6 20 00 */ ori r6, r6, 0x2000 -/* 8026AE8C 00266AEC 90 C3 01 9C */ stw r6, 0x19c(r3) -/* 8026AE90 00266AF0 7C C0 00 A6 */ mfmsr r6 -/* 8026AE94 00266AF4 60 C6 00 02 */ ori r6, r6, 2 -/* 8026AE98 00266AF8 7C C0 01 24 */ mtmsr r6 -/* 8026AE9C 00266AFC 4E 80 00 20 */ blr -lbl_8026AEA0: -/* 8026AEA0 00266B00 80 C3 01 9C */ lwz r6, 0x19c(r3) -/* 8026AEA4 00266B04 54 C6 04 E2 */ rlwinm r6, r6, 0, 0x13, 0x11 -/* 8026AEA8 00266B08 90 C3 01 9C */ stw r6, 0x19c(r3) -/* 8026AEAC 00266B0C 7C C0 00 A6 */ mfmsr r6 -/* 8026AEB0 00266B10 54 C6 04 E2 */ rlwinm r6, r6, 0, 0x13, 0x11 -/* 8026AEB4 00266B14 60 C6 00 02 */ ori r6, r6, 2 -/* 8026AEB8 00266B18 7C C0 01 24 */ mtmsr r6 -/* 8026AEBC 00266B1C 4C 00 01 2C */ isync -/* 8026AEC0 00266B20 4E 80 00 20 */ blr - -.global func_8026AEC4 -func_8026AEC4: -/* 8026AEC4 00266B24 3C 60 80 00 */ lis r3, 0x800000D4@ha -/* 8026AEC8 00266B28 80 63 00 D4 */ lwz r3, 0x800000D4@l(r3) -/* 8026AECC 00266B2C 4E 80 00 20 */ blr - -.global OSSaveContext -OSSaveContext: -/* 8026AED0 00266B30 BD A3 00 34 */ stmw r13, 0x34(r3) -/* 8026AED4 00266B34 7C 11 E2 A6 */ mfspr r0, 0x391 -/* 8026AED8 00266B38 90 03 01 A8 */ stw r0, 0x1a8(r3) -/* 8026AEDC 00266B3C 7C 12 E2 A6 */ mfspr r0, 0x392 -/* 8026AEE0 00266B40 90 03 01 AC */ stw r0, 0x1ac(r3) -/* 8026AEE4 00266B44 7C 13 E2 A6 */ mfspr r0, 0x393 -/* 8026AEE8 00266B48 90 03 01 B0 */ stw r0, 0x1b0(r3) -/* 8026AEEC 00266B4C 7C 14 E2 A6 */ mfspr r0, 0x394 -/* 8026AEF0 00266B50 90 03 01 B4 */ stw r0, 0x1b4(r3) -/* 8026AEF4 00266B54 7C 15 E2 A6 */ mfspr r0, 0x395 -/* 8026AEF8 00266B58 90 03 01 B8 */ stw r0, 0x1b8(r3) -/* 8026AEFC 00266B5C 7C 16 E2 A6 */ mfspr r0, 0x396 -/* 8026AF00 00266B60 90 03 01 BC */ stw r0, 0x1bc(r3) -/* 8026AF04 00266B64 7C 17 E2 A6 */ mfspr r0, 0x397 -/* 8026AF08 00266B68 90 03 01 C0 */ stw r0, 0x1c0(r3) -/* 8026AF0C 00266B6C 7C 00 00 26 */ mfcr r0 -/* 8026AF10 00266B70 90 03 00 80 */ stw r0, 0x80(r3) -/* 8026AF14 00266B74 7C 08 02 A6 */ mflr r0 -/* 8026AF18 00266B78 90 03 00 84 */ stw r0, 0x84(r3) -/* 8026AF1C 00266B7C 90 03 01 98 */ stw r0, 0x198(r3) -/* 8026AF20 00266B80 7C 00 00 A6 */ mfmsr r0 -/* 8026AF24 00266B84 90 03 01 9C */ stw r0, 0x19c(r3) -/* 8026AF28 00266B88 7C 09 02 A6 */ mfctr r0 -/* 8026AF2C 00266B8C 90 03 00 88 */ stw r0, 0x88(r3) -/* 8026AF30 00266B90 7C 01 02 A6 */ mfxer r0 -/* 8026AF34 00266B94 90 03 00 8C */ stw r0, 0x8c(r3) -/* 8026AF38 00266B98 90 23 00 04 */ stw r1, 4(r3) -/* 8026AF3C 00266B9C 90 43 00 08 */ stw r2, 8(r3) -/* 8026AF40 00266BA0 38 00 00 01 */ li r0, 1 -/* 8026AF44 00266BA4 90 03 00 0C */ stw r0, 0xc(r3) -/* 8026AF48 00266BA8 38 60 00 00 */ li r3, 0 -/* 8026AF4C 00266BAC 4E 80 00 20 */ blr - -.global OSLoadContext -OSLoadContext: -/* 8026AF50 00266BB0 3C 80 80 27 */ lis r4, OSDisableInterrupts@ha -/* 8026AF54 00266BB4 80 C3 01 98 */ lwz r6, 0x198(r3) -/* 8026AF58 00266BB8 38 A4 E7 5C */ addi r5, r4, OSDisableInterrupts@l -/* 8026AF5C 00266BBC 7C 06 28 40 */ cmplw r6, r5 -/* 8026AF60 00266BC0 40 81 00 18 */ ble lbl_8026AF78 -/* 8026AF64 00266BC4 3C 80 80 27 */ lis r4, lbl_8026E768@ha -/* 8026AF68 00266BC8 38 04 E7 68 */ addi r0, r4, lbl_8026E768@l -/* 8026AF6C 00266BCC 7C 06 00 40 */ cmplw r6, r0 -/* 8026AF70 00266BD0 40 80 00 08 */ bge lbl_8026AF78 -/* 8026AF74 00266BD4 90 A3 01 98 */ stw r5, 0x198(r3) -lbl_8026AF78: -/* 8026AF78 00266BD8 80 03 00 00 */ lwz r0, 0(r3) -/* 8026AF7C 00266BDC 80 23 00 04 */ lwz r1, 4(r3) -/* 8026AF80 00266BE0 80 43 00 08 */ lwz r2, 8(r3) -/* 8026AF84 00266BE4 A0 83 01 A2 */ lhz r4, 0x1a2(r3) -/* 8026AF88 00266BE8 54 85 07 BD */ rlwinm. r5, r4, 0, 0x1e, 0x1e -/* 8026AF8C 00266BEC 41 82 00 14 */ beq lbl_8026AFA0 -/* 8026AF90 00266BF0 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d -/* 8026AF94 00266BF4 B0 83 01 A2 */ sth r4, 0x1a2(r3) -/* 8026AF98 00266BF8 B8 A3 00 14 */ lmw r5, 0x14(r3) -/* 8026AF9C 00266BFC 48 00 00 08 */ b lbl_8026AFA4 -lbl_8026AFA0: -/* 8026AFA0 00266C00 B9 A3 00 34 */ lmw r13, 0x34(r3) -lbl_8026AFA4: -/* 8026AFA4 00266C04 80 83 01 A8 */ lwz r4, 0x1a8(r3) -/* 8026AFA8 00266C08 7C 91 E3 A6 */ mtspr 0x391, r4 -/* 8026AFAC 00266C0C 80 83 01 AC */ lwz r4, 0x1ac(r3) -/* 8026AFB0 00266C10 7C 92 E3 A6 */ mtspr 0x392, r4 -/* 8026AFB4 00266C14 80 83 01 B0 */ lwz r4, 0x1b0(r3) -/* 8026AFB8 00266C18 7C 93 E3 A6 */ mtspr 0x393, r4 -/* 8026AFBC 00266C1C 80 83 01 B4 */ lwz r4, 0x1b4(r3) -/* 8026AFC0 00266C20 7C 94 E3 A6 */ mtspr 0x394, r4 -/* 8026AFC4 00266C24 80 83 01 B8 */ lwz r4, 0x1b8(r3) -/* 8026AFC8 00266C28 7C 95 E3 A6 */ mtspr 0x395, r4 -/* 8026AFCC 00266C2C 80 83 01 BC */ lwz r4, 0x1bc(r3) -/* 8026AFD0 00266C30 7C 96 E3 A6 */ mtspr 0x396, r4 -/* 8026AFD4 00266C34 80 83 01 C0 */ lwz r4, 0x1c0(r3) -/* 8026AFD8 00266C38 7C 97 E3 A6 */ mtspr 0x397, r4 -/* 8026AFDC 00266C3C 80 83 00 80 */ lwz r4, 0x80(r3) -/* 8026AFE0 00266C40 7C 8F F1 20 */ mtcrf 0xff, r4 -/* 8026AFE4 00266C44 80 83 00 84 */ lwz r4, 0x84(r3) -/* 8026AFE8 00266C48 7C 88 03 A6 */ mtlr r4 -/* 8026AFEC 00266C4C 80 83 00 88 */ lwz r4, 0x88(r3) -/* 8026AFF0 00266C50 7C 89 03 A6 */ mtctr r4 -/* 8026AFF4 00266C54 80 83 00 8C */ lwz r4, 0x8c(r3) -/* 8026AFF8 00266C58 7C 81 03 A6 */ mtxer r4 -/* 8026AFFC 00266C5C 7C 80 00 A6 */ mfmsr r4 -/* 8026B000 00266C60 54 84 04 5E */ rlwinm r4, r4, 0, 0x11, 0xf -/* 8026B004 00266C64 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d -/* 8026B008 00266C68 7C 80 01 24 */ mtmsr r4 -/* 8026B00C 00266C6C 80 83 01 98 */ lwz r4, 0x198(r3) -/* 8026B010 00266C70 7C 9A 03 A6 */ mtspr 0x1a, r4 -/* 8026B014 00266C74 80 83 01 9C */ lwz r4, 0x19c(r3) -/* 8026B018 00266C78 7C 9B 03 A6 */ mtspr 0x1b, r4 -/* 8026B01C 00266C7C 80 83 00 10 */ lwz r4, 0x10(r3) -/* 8026B020 00266C80 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8026B024 00266C84 4C 00 00 64 */ rfi - -.global func_8026B028 -func_8026B028: -/* 8026B028 00266C88 7C 23 0B 78 */ mr r3, r1 -/* 8026B02C 00266C8C 4E 80 00 20 */ blr - -.global func_8026B030 -func_8026B030: -/* 8026B030 00266C90 7C 08 02 A6 */ mflr r0 -/* 8026B034 00266C94 7C 25 0B 78 */ mr r5, r1 -/* 8026B038 00266C98 94 A4 FF F8 */ stwu r5, -8(r4) -/* 8026B03C 00266C9C 7C 81 23 78 */ mr r1, r4 -/* 8026B040 00266CA0 90 05 00 04 */ stw r0, 4(r5) -/* 8026B044 00266CA4 7C 68 03 A6 */ mtlr r3 -/* 8026B048 00266CA8 4E 80 00 21 */ blrl -/* 8026B04C 00266CAC 80 A1 00 00 */ lwz r5, 0(r1) -/* 8026B050 00266CB0 80 05 00 04 */ lwz r0, 4(r5) -/* 8026B054 00266CB4 7C 08 03 A6 */ mtlr r0 -/* 8026B058 00266CB8 7C A1 2B 78 */ mr r1, r5 -/* 8026B05C 00266CBC 4E 80 00 20 */ blr - -.global func_8026B060 -func_8026B060: -/* 8026B060 00266CC0 7C 08 02 A6 */ mflr r0 -/* 8026B064 00266CC4 7C 29 0B 78 */ mr r9, r1 -/* 8026B068 00266CC8 95 28 FF F8 */ stwu r9, -8(r8) -/* 8026B06C 00266CCC 7D 01 43 78 */ mr r1, r8 -/* 8026B070 00266CD0 90 09 00 04 */ stw r0, 4(r9) -/* 8026B074 00266CD4 7C E8 03 A6 */ mtlr r7 -/* 8026B078 00266CD8 4E 80 00 21 */ blrl -/* 8026B07C 00266CDC 80 A1 00 00 */ lwz r5, 0(r1) -/* 8026B080 00266CE0 80 05 00 04 */ lwz r0, 4(r5) -/* 8026B084 00266CE4 7C 08 03 A6 */ mtlr r0 -/* 8026B088 00266CE8 7C A1 2B 78 */ mr r1, r5 -/* 8026B08C 00266CEC 4E 80 00 20 */ blr - -.global func_8026B090 -func_8026B090: -/* 8026B090 00266CF0 38 A0 00 00 */ li r5, 0 -/* 8026B094 00266CF4 3C 80 80 00 */ lis r4, 0x800000D8@ha -/* 8026B098 00266CF8 B0 A3 01 A0 */ sth r5, 0x1a0(r3) -/* 8026B09C 00266CFC B0 A3 01 A2 */ sth r5, 0x1a2(r3) -/* 8026B0A0 00266D00 80 04 00 D8 */ lwz r0, 0x800000D8@l(r4) -/* 8026B0A4 00266D04 7C 03 00 40 */ cmplw r3, r0 -/* 8026B0A8 00266D08 4C 82 00 20 */ bnelr -/* 8026B0AC 00266D0C 90 A4 00 D8 */ stw r5, 0xd8(r4) -/* 8026B0B0 00266D10 4E 80 00 20 */ blr - -.global func_8026B0B4 -func_8026B0B4: -/* 8026B0B4 00266D14 90 83 01 98 */ stw r4, 0x198(r3) -/* 8026B0B8 00266D18 90 A3 00 04 */ stw r5, 4(r3) -/* 8026B0BC 00266D1C 39 60 00 00 */ li r11, 0 -/* 8026B0C0 00266D20 61 6B 90 32 */ ori r11, r11, 0x9032 -/* 8026B0C4 00266D24 91 63 01 9C */ stw r11, 0x19c(r3) -/* 8026B0C8 00266D28 38 00 00 00 */ li r0, 0 -/* 8026B0CC 00266D2C 90 03 00 80 */ stw r0, 0x80(r3) -/* 8026B0D0 00266D30 90 03 00 8C */ stw r0, 0x8c(r3) -/* 8026B0D4 00266D34 90 43 00 08 */ stw r2, 8(r3) -/* 8026B0D8 00266D38 91 A3 00 34 */ stw r13, 0x34(r3) -/* 8026B0DC 00266D3C 90 03 00 0C */ stw r0, 0xc(r3) -/* 8026B0E0 00266D40 90 03 00 10 */ stw r0, 0x10(r3) -/* 8026B0E4 00266D44 90 03 00 14 */ stw r0, 0x14(r3) -/* 8026B0E8 00266D48 90 03 00 18 */ stw r0, 0x18(r3) -/* 8026B0EC 00266D4C 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8026B0F0 00266D50 90 03 00 20 */ stw r0, 0x20(r3) -/* 8026B0F4 00266D54 90 03 00 24 */ stw r0, 0x24(r3) -/* 8026B0F8 00266D58 90 03 00 28 */ stw r0, 0x28(r3) -/* 8026B0FC 00266D5C 90 03 00 2C */ stw r0, 0x2c(r3) -/* 8026B100 00266D60 90 03 00 30 */ stw r0, 0x30(r3) -/* 8026B104 00266D64 90 03 00 38 */ stw r0, 0x38(r3) -/* 8026B108 00266D68 90 03 00 3C */ stw r0, 0x3c(r3) -/* 8026B10C 00266D6C 90 03 00 40 */ stw r0, 0x40(r3) -/* 8026B110 00266D70 90 03 00 44 */ stw r0, 0x44(r3) -/* 8026B114 00266D74 90 03 00 48 */ stw r0, 0x48(r3) -/* 8026B118 00266D78 90 03 00 4C */ stw r0, 0x4c(r3) -/* 8026B11C 00266D7C 90 03 00 50 */ stw r0, 0x50(r3) -/* 8026B120 00266D80 90 03 00 54 */ stw r0, 0x54(r3) -/* 8026B124 00266D84 90 03 00 58 */ stw r0, 0x58(r3) -/* 8026B128 00266D88 90 03 00 5C */ stw r0, 0x5c(r3) -/* 8026B12C 00266D8C 90 03 00 60 */ stw r0, 0x60(r3) -/* 8026B130 00266D90 90 03 00 64 */ stw r0, 0x64(r3) -/* 8026B134 00266D94 90 03 00 68 */ stw r0, 0x68(r3) -/* 8026B138 00266D98 90 03 00 6C */ stw r0, 0x6c(r3) -/* 8026B13C 00266D9C 90 03 00 70 */ stw r0, 0x70(r3) -/* 8026B140 00266DA0 90 03 00 74 */ stw r0, 0x74(r3) -/* 8026B144 00266DA4 90 03 00 78 */ stw r0, 0x78(r3) -/* 8026B148 00266DA8 90 03 00 7C */ stw r0, 0x7c(r3) -/* 8026B14C 00266DAC 90 03 01 A4 */ stw r0, 0x1a4(r3) -/* 8026B150 00266DB0 90 03 01 A8 */ stw r0, 0x1a8(r3) -/* 8026B154 00266DB4 90 03 01 AC */ stw r0, 0x1ac(r3) -/* 8026B158 00266DB8 90 03 01 B0 */ stw r0, 0x1b0(r3) -/* 8026B15C 00266DBC 90 03 01 B4 */ stw r0, 0x1b4(r3) -/* 8026B160 00266DC0 90 03 01 B8 */ stw r0, 0x1b8(r3) -/* 8026B164 00266DC4 90 03 01 BC */ stw r0, 0x1bc(r3) -/* 8026B168 00266DC8 90 03 01 C0 */ stw r0, 0x1c0(r3) -/* 8026B16C 00266DCC 4B FF FF 24 */ b func_8026B090 - -.global func_8026B170 -func_8026B170: -/* 8026B170 00266DD0 94 21 FD 10 */ stwu r1, -0x2f0(r1) -/* 8026B174 00266DD4 7C 08 02 A6 */ mflr r0 -/* 8026B178 00266DD8 90 01 02 F4 */ stw r0, 0x2f4(r1) -/* 8026B17C 00266DDC 39 61 02 F0 */ addi r11, r1, 0x2f0 -/* 8026B180 00266DE0 4B F5 BF A1 */ bl func_801C7120 -/* 8026B184 00266DE4 3F 80 80 42 */ lis r28, lbl_80426C98@ha -/* 8026B188 00266DE8 7C 7E 1B 78 */ mr r30, r3 -/* 8026B18C 00266DEC 3B 9C 6C 98 */ addi r28, r28, lbl_80426C98@l -/* 8026B190 00266DF0 7F C4 F3 78 */ mr r4, r30 -/* 8026B194 00266DF4 38 7C 00 00 */ addi r3, r28, 0 -/* 8026B198 00266DF8 4C C6 31 82 */ crclr 6 -/* 8026B19C 00266DFC 4B D9 C9 29 */ bl func_80007AC4 -/* 8026B1A0 00266E00 7F DA F3 78 */ mr r26, r30 -/* 8026B1A4 00266E04 3B 20 00 00 */ li r25, 0 -lbl_8026B1A8: -/* 8026B1A8 00266E08 81 1A 00 40 */ lwz r8, 0x40(r26) -/* 8026B1AC 00266E0C 7F 24 CB 78 */ mr r4, r25 -/* 8026B1B0 00266E10 80 BA 00 00 */ lwz r5, 0(r26) -/* 8026B1B4 00266E14 38 7C 00 48 */ addi r3, r28, 0x48 -/* 8026B1B8 00266E18 7D 09 43 78 */ mr r9, r8 -/* 8026B1BC 00266E1C 38 F9 00 10 */ addi r7, r25, 0x10 -/* 8026B1C0 00266E20 7C A6 2B 78 */ mr r6, r5 -/* 8026B1C4 00266E24 4C C6 31 82 */ crclr 6 -/* 8026B1C8 00266E28 4B D9 C8 FD */ bl func_80007AC4 -/* 8026B1CC 00266E2C 3B 39 00 01 */ addi r25, r25, 1 -/* 8026B1D0 00266E30 3B 5A 00 04 */ addi r26, r26, 4 -/* 8026B1D4 00266E34 28 19 00 10 */ cmplwi r25, 0x10 -/* 8026B1D8 00266E38 41 80 FF D0 */ blt lbl_8026B1A8 -/* 8026B1DC 00266E3C 80 9E 00 84 */ lwz r4, 0x84(r30) -/* 8026B1E0 00266E40 38 7C 00 78 */ addi r3, r28, 0x78 -/* 8026B1E4 00266E44 80 BE 00 80 */ lwz r5, 0x80(r30) -/* 8026B1E8 00266E48 4C C6 31 82 */ crclr 6 -/* 8026B1EC 00266E4C 4B D9 C8 D9 */ bl func_80007AC4 -/* 8026B1F0 00266E50 80 9E 01 98 */ lwz r4, 0x198(r30) -/* 8026B1F4 00266E54 38 7C 00 A8 */ addi r3, r28, 0xa8 -/* 8026B1F8 00266E58 80 BE 01 9C */ lwz r5, 0x19c(r30) -/* 8026B1FC 00266E5C 4C C6 31 82 */ crclr 6 -/* 8026B200 00266E60 4B D9 C8 C5 */ bl func_80007AC4 -/* 8026B204 00266E64 38 7C 00 D8 */ addi r3, r28, 0xd8 -/* 8026B208 00266E68 4C C6 31 82 */ crclr 6 -/* 8026B20C 00266E6C 4B D9 C8 B9 */ bl func_80007AC4 -/* 8026B210 00266E70 7F DA F3 78 */ mr r26, r30 -/* 8026B214 00266E74 3B 20 00 00 */ li r25, 0 -lbl_8026B218: -/* 8026B218 00266E78 80 BA 01 A4 */ lwz r5, 0x1a4(r26) -/* 8026B21C 00266E7C 7F 24 CB 78 */ mr r4, r25 -/* 8026B220 00266E80 80 FA 01 B4 */ lwz r7, 0x1b4(r26) -/* 8026B224 00266E84 38 7C 00 EC */ addi r3, r28, 0xec -/* 8026B228 00266E88 38 D9 00 04 */ addi r6, r25, 4 -/* 8026B22C 00266E8C 4C C6 31 82 */ crclr 6 -/* 8026B230 00266E90 4B D9 C8 95 */ bl func_80007AC4 -/* 8026B234 00266E94 3B 39 00 01 */ addi r25, r25, 1 -/* 8026B238 00266E98 3B 5A 00 04 */ addi r26, r26, 4 -/* 8026B23C 00266E9C 28 19 00 04 */ cmplwi r25, 4 -/* 8026B240 00266EA0 41 80 FF D8 */ blt lbl_8026B218 -/* 8026B244 00266EA4 A0 1E 01 A2 */ lhz r0, 0x1a2(r30) -/* 8026B248 00266EA8 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8026B24C 00266EAC 41 82 01 18 */ beq lbl_8026B364 -/* 8026B250 00266EB0 48 00 35 0D */ bl OSDisableInterrupts -/* 8026B254 00266EB4 3C C0 80 00 */ lis r6, 0x800000D4@ha -/* 8026B258 00266EB8 38 A0 00 00 */ li r5, 0 -/* 8026B25C 00266EBC 83 66 00 D4 */ lwz r27, 0x800000D4@l(r6) -/* 8026B260 00266EC0 38 81 00 08 */ addi r4, r1, 8 -/* 8026B264 00266EC4 7C 7F 1B 78 */ mr r31, r3 -/* 8026B268 00266EC8 B0 A1 01 A8 */ sth r5, 0x1a8(r1) -/* 8026B26C 00266ECC B0 A1 01 AA */ sth r5, 0x1aa(r1) -/* 8026B270 00266ED0 80 06 00 D8 */ lwz r0, 0xd8(r6) -/* 8026B274 00266ED4 7C 04 00 40 */ cmplw r4, r0 -/* 8026B278 00266ED8 40 82 00 08 */ bne lbl_8026B280 -/* 8026B27C 00266EDC 90 A6 00 D8 */ stw r5, 0xd8(r6) -lbl_8026B280: -/* 8026B280 00266EE0 38 61 00 08 */ addi r3, r1, 8 -/* 8026B284 00266EE4 4B FF FB E5 */ bl OSSetCurrentContext -/* 8026B288 00266EE8 38 7C 01 10 */ addi r3, r28, 0x110 -/* 8026B28C 00266EEC 4C C6 31 82 */ crclr 6 -/* 8026B290 00266EF0 4B D9 C8 35 */ bl func_80007AC4 -/* 8026B294 00266EF4 7F DA F3 78 */ mr r26, r30 -/* 8026B298 00266EF8 3B 20 00 00 */ li r25, 0 -lbl_8026B29C: -/* 8026B29C 00266EFC C8 3A 00 98 */ lfd f1, 0x98(r26) -/* 8026B2A0 00266F00 4B F5 BD 61 */ bl func_801C7000 -/* 8026B2A4 00266F04 C8 3A 00 90 */ lfd f1, 0x90(r26) -/* 8026B2A8 00266F08 7C 7D 1B 78 */ mr r29, r3 -/* 8026B2AC 00266F0C 4B F5 BD 55 */ bl func_801C7000 -/* 8026B2B0 00266F10 7C 65 1B 78 */ mr r5, r3 -/* 8026B2B4 00266F14 7F 24 CB 78 */ mr r4, r25 -/* 8026B2B8 00266F18 7F A7 EB 78 */ mr r7, r29 -/* 8026B2BC 00266F1C 38 7C 01 24 */ addi r3, r28, 0x124 -/* 8026B2C0 00266F20 38 D9 00 01 */ addi r6, r25, 1 -/* 8026B2C4 00266F24 4C C6 31 82 */ crclr 6 -/* 8026B2C8 00266F28 4B D9 C7 FD */ bl func_80007AC4 -/* 8026B2CC 00266F2C 3B 39 00 02 */ addi r25, r25, 2 -/* 8026B2D0 00266F30 3B 5A 00 10 */ addi r26, r26, 0x10 -/* 8026B2D4 00266F34 28 19 00 20 */ cmplwi r25, 0x20 -/* 8026B2D8 00266F38 41 80 FF C4 */ blt lbl_8026B29C -/* 8026B2DC 00266F3C 38 7C 01 40 */ addi r3, r28, 0x140 -/* 8026B2E0 00266F40 4C C6 31 82 */ crclr 6 -/* 8026B2E4 00266F44 4B D9 C7 E1 */ bl func_80007AC4 -/* 8026B2E8 00266F48 7F DA F3 78 */ mr r26, r30 -/* 8026B2EC 00266F4C 3B 20 00 00 */ li r25, 0 -lbl_8026B2F0: -/* 8026B2F0 00266F50 C8 3A 01 D0 */ lfd f1, 0x1d0(r26) -/* 8026B2F4 00266F54 4B F5 BD 0D */ bl func_801C7000 -/* 8026B2F8 00266F58 C8 3A 01 C8 */ lfd f1, 0x1c8(r26) -/* 8026B2FC 00266F5C 7C 7D 1B 78 */ mr r29, r3 -/* 8026B300 00266F60 4B F5 BD 01 */ bl func_801C7000 -/* 8026B304 00266F64 7C 65 1B 78 */ mr r5, r3 -/* 8026B308 00266F68 7F 24 CB 78 */ mr r4, r25 -/* 8026B30C 00266F6C 7F A7 EB 78 */ mr r7, r29 -/* 8026B310 00266F70 38 7C 01 54 */ addi r3, r28, 0x154 -/* 8026B314 00266F74 38 D9 00 01 */ addi r6, r25, 1 -/* 8026B318 00266F78 4C C6 31 82 */ crclr 6 -/* 8026B31C 00266F7C 4B D9 C7 A9 */ bl func_80007AC4 -/* 8026B320 00266F80 3B 39 00 02 */ addi r25, r25, 2 -/* 8026B324 00266F84 3B 5A 00 10 */ addi r26, r26, 0x10 -/* 8026B328 00266F88 28 19 00 20 */ cmplwi r25, 0x20 -/* 8026B32C 00266F8C 41 80 FF C4 */ blt lbl_8026B2F0 -/* 8026B330 00266F90 38 A0 00 00 */ li r5, 0 -/* 8026B334 00266F94 3C 60 80 00 */ lis r3, 0x800000D8@ha -/* 8026B338 00266F98 B0 A1 01 A8 */ sth r5, 0x1a8(r1) -/* 8026B33C 00266F9C 38 81 00 08 */ addi r4, r1, 8 -/* 8026B340 00266FA0 B0 A1 01 AA */ sth r5, 0x1aa(r1) -/* 8026B344 00266FA4 80 03 00 D8 */ lwz r0, 0x800000D8@l(r3) -/* 8026B348 00266FA8 7C 04 00 40 */ cmplw r4, r0 -/* 8026B34C 00266FAC 40 82 00 08 */ bne lbl_8026B354 -/* 8026B350 00266FB0 90 A3 00 D8 */ stw r5, 0xd8(r3) -lbl_8026B354: -/* 8026B354 00266FB4 7F 63 DB 78 */ mr r3, r27 -/* 8026B358 00266FB8 4B FF FB 11 */ bl OSSetCurrentContext -/* 8026B35C 00266FBC 7F E3 FB 78 */ mr r3, r31 -/* 8026B360 00266FC0 48 00 34 25 */ bl OSRestoreInterrupts -lbl_8026B364: -/* 8026B364 00266FC4 38 7C 01 74 */ addi r3, r28, 0x174 -/* 8026B368 00266FC8 4C C6 31 82 */ crclr 6 -/* 8026B36C 00266FCC 4B D9 C7 59 */ bl func_80007AC4 -/* 8026B370 00266FD0 83 3E 00 04 */ lwz r25, 4(r30) -/* 8026B374 00266FD4 3B 40 00 00 */ li r26, 0 -/* 8026B378 00266FD8 48 00 00 20 */ b lbl_8026B398 -lbl_8026B37C: -/* 8026B37C 00266FDC 80 B9 00 00 */ lwz r5, 0(r25) -/* 8026B380 00266FE0 7F 24 CB 78 */ mr r4, r25 -/* 8026B384 00266FE4 80 D9 00 04 */ lwz r6, 4(r25) -/* 8026B388 00266FE8 38 7C 01 9C */ addi r3, r28, 0x19c -/* 8026B38C 00266FEC 4C C6 31 82 */ crclr 6 -/* 8026B390 00266FF0 4B D9 C7 35 */ bl func_80007AC4 -/* 8026B394 00266FF4 83 39 00 00 */ lwz r25, 0(r25) -lbl_8026B398: -/* 8026B398 00266FF8 2C 19 00 00 */ cmpwi r25, 0 -/* 8026B39C 00266FFC 41 82 00 1C */ beq lbl_8026B3B8 -/* 8026B3A0 00267000 3C 19 00 01 */ addis r0, r25, 1 -/* 8026B3A4 00267004 28 00 FF FF */ cmplwi r0, 0xffff -/* 8026B3A8 00267008 41 82 00 10 */ beq lbl_8026B3B8 -/* 8026B3AC 0026700C 28 1A 00 10 */ cmplwi r26, 0x10 -/* 8026B3B0 00267010 3B 5A 00 01 */ addi r26, r26, 1 -/* 8026B3B4 00267014 41 80 FF C8 */ blt lbl_8026B37C -lbl_8026B3B8: -/* 8026B3B8 00267018 39 61 02 F0 */ addi r11, r1, 0x2f0 -/* 8026B3BC 0026701C 4B F5 BD B1 */ bl func_801C716C -/* 8026B3C0 00267020 80 01 02 F4 */ lwz r0, 0x2f4(r1) -/* 8026B3C4 00267024 7C 08 03 A6 */ mtlr r0 -/* 8026B3C8 00267028 38 21 02 F0 */ addi r1, r1, 0x2f0 -/* 8026B3CC 0026702C 4E 80 00 20 */ blr -lbl_8026B3D0: -/* 8026B3D0 00267030 7C A0 00 A6 */ mfmsr r5 -/* 8026B3D4 00267034 60 A5 20 00 */ ori r5, r5, 0x2000 -/* 8026B3D8 00267038 7C A0 01 24 */ mtmsr r5 -/* 8026B3DC 0026703C 4C 00 01 2C */ isync -/* 8026B3E0 00267040 80 A4 01 9C */ lwz r5, 0x19c(r4) -/* 8026B3E4 00267044 60 A5 20 00 */ ori r5, r5, 0x2000 -/* 8026B3E8 00267048 7C BB 03 A6 */ mtspr 0x1b, r5 -/* 8026B3EC 0026704C 3C 60 80 00 */ lis r3, 0x800000D8@ha -/* 8026B3F0 00267050 80 A3 00 D8 */ lwz r5, 0x800000D8@l(r3) -/* 8026B3F4 00267054 90 83 00 D8 */ stw r4, 0xd8(r3) -/* 8026B3F8 00267058 7C 05 20 00 */ cmpw r5, r4 -/* 8026B3FC 0026705C 41 82 00 14 */ beq lbl_8026B410 -/* 8026B400 00267060 2C 05 00 00 */ cmpwi r5, 0 -/* 8026B404 00267064 41 82 00 08 */ beq lbl_8026B40C -/* 8026B408 00267068 4B FF F9 31 */ bl __OSSaveFPUContext -lbl_8026B40C: -/* 8026B40C 0026706C 4B FF F8 09 */ bl __OSLoadFPUContext -lbl_8026B410: -/* 8026B410 00267070 80 64 00 80 */ lwz r3, 0x80(r4) -/* 8026B414 00267074 7C 6F F1 20 */ mtcrf 0xff, r3 -/* 8026B418 00267078 80 64 00 84 */ lwz r3, 0x84(r4) -/* 8026B41C 0026707C 7C 68 03 A6 */ mtlr r3 -/* 8026B420 00267080 80 64 01 98 */ lwz r3, 0x198(r4) -/* 8026B424 00267084 7C 7A 03 A6 */ mtspr 0x1a, r3 -/* 8026B428 00267088 80 64 00 88 */ lwz r3, 0x88(r4) -/* 8026B42C 0026708C 7C 69 03 A6 */ mtctr r3 -/* 8026B430 00267090 80 64 00 8C */ lwz r3, 0x8c(r4) -/* 8026B434 00267094 7C 61 03 A6 */ mtxer r3 -/* 8026B438 00267098 A0 64 01 A2 */ lhz r3, 0x1a2(r4) -/* 8026B43C 0026709C 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d -/* 8026B440 002670A0 B0 64 01 A2 */ sth r3, 0x1a2(r4) -/* 8026B444 002670A4 80 A4 00 14 */ lwz r5, 0x14(r4) -/* 8026B448 002670A8 80 64 00 0C */ lwz r3, 0xc(r4) -/* 8026B44C 002670AC 80 84 00 10 */ lwz r4, 0x10(r4) -/* 8026B450 002670B0 4C 00 00 64 */ rfi - -.global func_8026B454 -func_8026B454: -/* 8026B454 002670B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8026B458 002670B8 7C 08 02 A6 */ mflr r0 -/* 8026B45C 002670BC 3C 80 80 27 */ lis r4, lbl_8026B3D0@ha -/* 8026B460 002670C0 38 60 00 07 */ li r3, 7 -/* 8026B464 002670C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8026B468 002670C8 38 84 B3 D0 */ addi r4, r4, lbl_8026B3D0@l -/* 8026B46C 002670CC 4B FF E0 69 */ bl __OSSetExceptionHandler -/* 8026B470 002670D0 38 00 00 00 */ li r0, 0 -/* 8026B474 002670D4 3C 80 80 00 */ lis r4, 0x800000D8@ha -/* 8026B478 002670D8 3C 60 80 42 */ lis r3, lbl_80426E50@ha -/* 8026B47C 002670DC 90 04 00 D8 */ stw r0, 0x800000D8@l(r4) -/* 8026B480 002670E0 38 63 6E 50 */ addi r3, r3, lbl_80426E50@l -/* 8026B484 002670E4 4C C6 31 82 */ crclr 6 -/* 8026B488 002670E8 48 00 BF C1 */ bl func_80277448 -/* 8026B48C 002670EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8026B490 002670F0 7C 08 03 A6 */ mtlr r0 -/* 8026B494 002670F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8026B498 002670F8 4E 80 00 20 */ blr - .global func_8026B49C func_8026B49C: /* 8026B49C 002670FC 94 21 FF 70 */ stwu r1, -0x90(r1) @@ -661,7 +53,7 @@ lbl_8026B4E8: /* 8026B550 002671B0 4C C6 31 82 */ crclr 6 /* 8026B554 002671B4 4B D9 C5 71 */ bl func_80007AC4 /* 8026B558 002671B8 3B C0 00 00 */ li r30, 0 -/* 8026B55C 002671BC 4B FF FA CD */ bl func_8026B028 +/* 8026B55C 002671BC 4B FF FA CD */ bl OSGetStackPointer /* 8026B560 002671C0 7C 7D 1B 78 */ mr r29, r3 /* 8026B564 002671C4 48 00 00 20 */ b lbl_8026B584 lbl_8026B568: @@ -909,7 +301,7 @@ lbl_8026B8A8: /* 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 func_8026AE60 +/* 8026B8F0 00267550 4B FF F5 71 */ bl OSSaveFPUContext lbl_8026B8F4: /* 8026B8F4 00267554 4B FF C9 B9 */ bl func_802682AC /* 8026B8F8 00267558 3F 00 60 06 */ lis r24, 0x6005F8FF@ha @@ -989,7 +381,7 @@ lbl_8026BA04: /* 8026BA08 00267668 4C C6 31 82 */ crclr 6 /* 8026BA0C 0026766C 4B D9 C0 B9 */ bl func_80007AC4 /* 8026BA10 00267670 7F 43 D3 78 */ mr r3, r26 -/* 8026BA14 00267674 4B FF F7 5D */ bl func_8026B170 +/* 8026BA14 00267674 4B FF F7 5D */ bl OSDumpContext /* 8026BA18 00267678 7F 64 DB 78 */ mr r4, r27 /* 8026BA1C 0026767C 7F 85 E3 78 */ mr r5, r28 /* 8026BA20 00267680 38 7F 00 94 */ addi r3, r31, 0x94 @@ -2739,7 +2131,7 @@ func_8026D290: /* 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 func_8026B090 +/* 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 @@ -2855,7 +2247,7 @@ lbl_8026D3E8: /* 8026D46C 002690CC 3C A0 80 27 */ lis r5, lbl_8026D494@ha /* 8026D470 002690D0 7C 64 1B 78 */ mr r4, r3 /* 8026D474 002690D4 38 65 D4 94 */ addi r3, r5, lbl_8026D494@l -/* 8026D478 002690D8 4B FF DB B9 */ bl func_8026B030 +/* 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 func_801C7168 /* 8026D484 002690E4 80 01 00 34 */ lwz r0, 0x34(r1) @@ -4198,6 +3590,7 @@ OSDisableInterrupts: /* 8026E75C 0026A3BC 7C 60 00 A6 */ mfmsr r3 /* 8026E760 0026A3C0 54 64 04 5E */ rlwinm r4, r3, 0, 0x11, 0xf /* 8026E764 0026A3C4 7C 80 01 24 */ mtmsr r4 +.global lbl_8026E768 lbl_8026E768: /* 8026E768 0026A3C8 54 63 8F FE */ rlwinm r3, r3, 0x11, 0x1f, 0x1f /* 8026E76C 0026A3CC 4E 80 00 20 */ blr @@ -4940,8 +4333,8 @@ lbl_8026F0DC: /* 8026F0F4 0026AD54 38 21 00 20 */ addi r1, r1, 0x20 /* 8026F0F8 0026AD58 4E 80 00 20 */ blr -.global OSGetCurrentContext -OSGetCurrentContext: +.global func_8026F0FC +func_8026F0FC: /* 8026F0FC 0026AD5C 3C 60 80 00 */ lis r3, 0x80003100@ha /* 8026F100 0026AD60 80 63 31 00 */ lwz r3, 0x80003100@l(r3) /* 8026F104 0026AD64 4E 80 00 20 */ blr @@ -7240,7 +6633,7 @@ func_80271064: /* 802710C8 0026CD28 90 9E 02 F8 */ stw r4, 0x2f8(r30) /* 802710CC 0026CD2C 90 9E 02 F4 */ stw r4, 0x2f4(r30) /* 802710D0 0026CD30 93 DD 00 D8 */ stw r30, 0x800000D8@l(r29) -/* 802710D4 0026CD34 4B FF 9F BD */ bl func_8026B090 +/* 802710D4 0026CD34 4B FF 9F BD */ bl OSClearContext /* 802710D8 0026CD38 7F C3 F3 78 */ mr r3, r30 /* 802710DC 0026CD3C 4B FF 9D 8D */ bl OSSetCurrentContext /* 802710E0 0026CD40 3C 80 80 65 */ lis r4, 0x80653050@ha @@ -7258,7 +6651,7 @@ func_80271064: /* 80271110 0026CD70 7D 89 03 A6 */ mtctr r12 /* 80271114 0026CD74 4E 80 04 21 */ bctrl /* 80271118 0026CD78 93 DD 00 E4 */ stw r30, 0xe4(r29) -/* 8027111C 0026CD7C 4B FF 9F 0D */ bl func_8026B028 +/* 8027111C 0026CD7C 4B FF 9F 0D */ bl OSGetStackPointer /* 80271120 0026CD80 80 9D 00 E4 */ lwz r4, 0xe4(r29) /* 80271124 0026CD84 80 84 03 08 */ lwz r4, 0x308(r4) /* 80271128 0026CD88 39 04 00 04 */ addi r8, r4, 4 @@ -7372,7 +6765,7 @@ lbl_802712AC: /* 802712B8 0026CF18 38 7F 04 18 */ addi r3, r31, 0x418 /* 802712BC 0026CF1C 93 BE 02 FC */ stw r29, 0x2fc(r30) /* 802712C0 0026CF20 93 C4 00 E0 */ stw r30, 0x800000E0@l(r4) -/* 802712C4 0026CF24 4B FF 9D CD */ bl func_8026B090 +/* 802712C4 0026CF24 4B FF 9D CD */ bl OSClearContext /* 802712C8 0026CF28 93 AD A8 28 */ stw r29, lbl_8063FAE8-_SDA_BASE_(r13) /* 802712CC 0026CF2C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802712D0 0026CF30 83 E1 00 1C */ lwz r31, 0x1c(r1) @@ -7680,7 +7073,7 @@ func_80271664: /* 80271688 0026D2E8 38 60 00 00 */ li r3, 0 /* 8027168C 0026D2EC 48 00 01 E8 */ b lbl_80271874 lbl_80271690: -/* 80271690 0026D2F0 4B FF 98 35 */ bl func_8026AEC4 +/* 80271690 0026D2F0 4B FF 98 35 */ bl OSGetCurrentContext /* 80271694 0026D2F4 3C 80 80 00 */ lis r4, 0x800000E4@ha /* 80271698 0026D2F8 80 A4 00 E4 */ lwz r5, 0x800000E4@l(r4) /* 8027169C 0026D2FC 7C 03 28 40 */ cmplw r3, r5 @@ -7769,7 +7162,7 @@ lbl_802717B0: /* 802717C8 0026D428 41 82 FF E4 */ beq lbl_802717AC /* 802717CC 0026D42C 3C 60 80 51 */ lis r3, lbl_80514BF0@ha /* 802717D0 0026D430 38 63 4B F0 */ addi r3, r3, lbl_80514BF0@l -/* 802717D4 0026D434 4B FF 98 BD */ bl func_8026B090 +/* 802717D4 0026D434 4B FF 98 BD */ bl OSClearContext lbl_802717D8: /* 802717D8 0026D438 38 80 00 00 */ li r4, 0 /* 802717DC 0026D43C 3C 60 80 51 */ lis r3, lbl_80514AF0@ha @@ -7886,7 +7279,7 @@ lbl_8027191C: /* 8027195C 0026D5BC 93 C3 02 F4 */ stw r30, 0x2f4(r3) /* 80271960 0026D5C0 93 C6 FF F8 */ stw r30, -8(r6) /* 80271964 0026D5C4 93 C6 FF FC */ stw r30, -4(r6) -/* 80271968 0026D5C8 4B FF 97 4D */ bl func_8026B0B4 +/* 80271968 0026D5C8 4B FF 97 4D */ bl OSInitContext /* 8027196C 0026D5CC 3C A0 80 27 */ lis r5, func_80271B4C@ha /* 80271970 0026D5D0 7C 9C D8 50 */ subf r4, r28, r27 /* 80271974 0026D5D4 38 A5 1B 4C */ addi r5, r5, func_80271B4C@l @@ -8028,7 +7421,7 @@ func_80271B4C: /* 80271B74 0026D7D4 7C 7D 1B 78 */ mr r29, r3 /* 80271B78 0026D7D8 83 DF 00 E4 */ lwz r30, 0x800000E4@l(r31) /* 80271B7C 0026D7DC 7F C3 F3 78 */ mr r3, r30 -/* 80271B80 0026D7E0 4B FF 95 11 */ bl func_8026B090 +/* 80271B80 0026D7E0 4B FF 95 11 */ bl OSClearContext /* 80271B84 0026D7E4 A0 1E 02 CA */ lhz r0, 0x2ca(r30) /* 80271B88 0026D7E8 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80271B8C 0026D7EC 41 82 00 44 */ beq lbl_80271BD0 @@ -8174,7 +7567,7 @@ lbl_80271D58: /* 80271D60 0026D9C0 48 00 00 90 */ b lbl_80271DF0 lbl_80271D64: /* 80271D64 0026D9C4 7F C3 F3 78 */ mr r3, r30 -/* 80271D68 0026D9C8 4B FF 93 29 */ bl func_8026B090 +/* 80271D68 0026D9C8 4B FF 93 29 */ bl OSClearContext /* 80271D6C 0026D9CC A0 1E 02 CA */ lhz r0, 0x2ca(r30) /* 80271D70 0026D9D0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80271D74 0026D9D4 41 82 00 48 */ beq lbl_80271DBC @@ -12109,7 +11502,7 @@ lbl_802752E0: /* 80275340 00270FA0 2C 1E 00 00 */ cmpwi r30, 0 /* 80275344 00270FA4 41 82 00 38 */ beq lbl_8027537C /* 80275348 00270FA8 38 61 00 08 */ addi r3, r1, 8 -/* 8027534C 00270FAC 4B FF 5D 45 */ bl func_8026B090 +/* 8027534C 00270FAC 4B FF 5D 45 */ bl OSClearContext /* 80275350 00270FB0 38 61 00 08 */ addi r3, r1, 8 /* 80275354 00270FB4 4B FF 5B 15 */ bl OSSetCurrentContext /* 80275358 00270FB8 7F E3 FB 78 */ mr r3, r31 @@ -12118,7 +11511,7 @@ lbl_802752E0: /* 80275364 00270FC4 7D 89 03 A6 */ mtctr r12 /* 80275368 00270FC8 4E 80 04 21 */ bctrl /* 8027536C 00270FCC 38 61 00 08 */ addi r3, r1, 8 -/* 80275370 00270FD0 4B FF 5D 21 */ bl func_8026B090 +/* 80275370 00270FD0 4B FF 5D 21 */ bl OSClearContext /* 80275374 00270FD4 7F A3 EB 78 */ mr r3, r29 /* 80275378 00270FD8 4B FF 5A F1 */ bl OSSetCurrentContext lbl_8027537C: @@ -12252,7 +11645,7 @@ lbl_80275558: /* 80275560 002711C0 90 1E 00 0C */ stw r0, 0xc(r30) lbl_80275564: /* 80275564 002711C4 38 61 00 08 */ addi r3, r1, 8 -/* 80275568 002711C8 4B FF 5B 29 */ bl func_8026B090 +/* 80275568 002711C8 4B FF 5B 29 */ bl OSClearContext /* 8027556C 002711CC 38 61 00 08 */ addi r3, r1, 8 /* 80275570 002711D0 4B FF 58 F9 */ bl OSSetCurrentContext /* 80275574 002711D4 7F A3 EB 78 */ mr r3, r29 @@ -12261,7 +11654,7 @@ lbl_80275564: /* 80275580 002711E0 7D 89 03 A6 */ mtctr r12 /* 80275584 002711E4 4E 80 04 21 */ bctrl /* 80275588 002711E8 38 61 00 08 */ addi r3, r1, 8 -/* 8027558C 002711EC 4B FF 5B 05 */ bl func_8026B090 +/* 8027558C 002711EC 4B FF 5B 05 */ bl OSClearContext /* 80275590 002711F0 7F 63 DB 78 */ mr r3, r27 /* 80275594 002711F4 4B FF 58 D5 */ bl OSSetCurrentContext lbl_80275598: @@ -12302,7 +11695,7 @@ lbl_802755B0: /* 8027561C 0027127C 2C 1D 00 00 */ cmpwi r29, 0 /* 80275620 00271280 41 82 00 40 */ beq lbl_80275660 /* 80275624 00271284 38 61 00 08 */ addi r3, r1, 8 -/* 80275628 00271288 4B FF 5A 69 */ bl func_8026B090 +/* 80275628 00271288 4B FF 5A 69 */ bl OSClearContext /* 8027562C 0027128C 38 61 00 08 */ addi r3, r1, 8 /* 80275630 00271290 4B FF 58 39 */ bl OSSetCurrentContext /* 80275634 00271294 38 00 00 00 */ li r0, 0 @@ -12313,7 +11706,7 @@ lbl_802755B0: /* 80275648 002712A8 7D 89 03 A6 */ mtctr r12 /* 8027564C 002712AC 4E 80 04 21 */ bctrl /* 80275650 002712B0 38 61 00 08 */ addi r3, r1, 8 -/* 80275654 002712B4 4B FF 5A 3D */ bl func_8026B090 +/* 80275654 002712B4 4B FF 5A 3D */ bl OSClearContext /* 80275658 002712B8 7F 83 E3 78 */ mr r3, r28 /* 8027565C 002712BC 4B FF 58 0D */ bl OSSetCurrentContext lbl_80275660: @@ -14399,7 +13792,7 @@ lbl_802773D8: /* 802773F8 00273058 4C C6 31 82 */ crclr 6 /* 802773FC 0027305C 4B D9 06 C9 */ bl func_80007AC4 /* 80277400 00273060 7F E3 FB 78 */ mr r3, r31 -/* 80277404 00273064 4B FF 3D 6D */ bl func_8026B170 +/* 80277404 00273064 4B FF 3D 6D */ bl OSDumpContext /* 80277408 00273068 4B FF 0E 61 */ bl PPCHalt /* 8027740C 0027306C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80277410 00273070 83 E1 00 0C */ lwz r31, 0xc(r1) @@ -14606,7 +13999,7 @@ lbl_802776C0: /* 802776D4 00273334 41 82 00 7C */ beq lbl_80277750 lbl_802776D8: /* 802776D8 00273338 38 61 00 10 */ addi r3, r1, 0x10 -/* 802776DC 0027333C 4B FF 39 B5 */ bl func_8026B090 +/* 802776DC 0027333C 4B FF 39 B5 */ bl OSClearContext /* 802776E0 00273340 38 61 00 10 */ addi r3, r1, 0x10 /* 802776E4 00273344 4B FF 37 85 */ bl OSSetCurrentContext /* 802776E8 00273348 80 0D A8 E8 */ lwz r0, lbl_8063FBA8-_SDA_BASE_(r13) @@ -14633,7 +14026,7 @@ lbl_80277700: /* 80277738 00273398 4E 80 04 21 */ bctrl lbl_8027773C: /* 8027773C 0027339C 38 61 00 10 */ addi r3, r1, 0x10 -/* 80277740 002733A0 4B FF 39 51 */ bl func_8026B090 +/* 80277740 002733A0 4B FF 39 51 */ bl OSClearContext /* 80277744 002733A4 7F 83 E3 78 */ mr r3, r28 /* 80277748 002733A8 4B FF 37 21 */ bl OSSetCurrentContext /* 8027774C 002733AC 48 00 06 D8 */ b lbl_80277E24 @@ -14642,7 +14035,7 @@ lbl_80277750: /* 80277754 002733B4 38 61 00 10 */ addi r3, r1, 0x10 /* 80277758 002733B8 38 04 00 01 */ addi r0, r4, 1 /* 8027775C 002733BC 90 0D A9 6C */ stw r0, lbl_8063FC2C-_SDA_BASE_(r13) -/* 80277760 002733C0 4B FF 39 31 */ bl func_8026B090 +/* 80277760 002733C0 4B FF 39 31 */ bl OSClearContext /* 80277764 002733C4 38 61 00 10 */ addi r3, r1, 0x10 /* 80277768 002733C8 4B FF 37 01 */ bl OSSetCurrentContext /* 8027776C 002733CC 81 8D A9 40 */ lwz r12, lbl_8063FC00-_SDA_BASE_(r13) @@ -14941,7 +14334,7 @@ lbl_80277B50: /* 80277B54 002737B4 2C 00 00 00 */ cmpwi r0, 0 /* 80277B58 002737B8 41 82 00 1C */ beq lbl_80277B74 /* 80277B5C 002737BC 38 61 00 10 */ addi r3, r1, 0x10 -/* 80277B60 002737C0 4B FF 35 31 */ bl func_8026B090 +/* 80277B60 002737C0 4B FF 35 31 */ bl OSClearContext /* 80277B64 002737C4 81 8D A9 3C */ lwz r12, lbl_8063FBFC-_SDA_BASE_(r13) /* 80277B68 002737C8 80 6D A9 6C */ lwz r3, lbl_8063FC2C-_SDA_BASE_(r13) /* 80277B6C 002737CC 7D 89 03 A6 */ mtctr r12 @@ -14950,7 +14343,7 @@ lbl_80277B74: /* 80277B74 002737D4 38 6D A9 48 */ addi r3, r13, lbl_8063FC08-_SDA_BASE_ /* 80277B78 002737D8 4B FF A8 E9 */ bl func_80272460 /* 80277B7C 002737DC 38 61 00 10 */ addi r3, r1, 0x10 -/* 80277B80 002737E0 4B FF 35 11 */ bl func_8026B090 +/* 80277B80 002737E0 4B FF 35 11 */ bl OSClearContext /* 80277B84 002737E4 7F 83 E3 78 */ mr r3, r28 /* 80277B88 002737E8 4B FF 32 E1 */ bl OSSetCurrentContext /* 80277B8C 002737EC 80 0D A8 CC */ lwz r0, lbl_8063FB8C-_SDA_BASE_(r13) diff --git a/asm/text_8.s b/asm/text_8.s index c2dfea6..af693c9 100644 --- a/asm/text_8.s +++ b/asm/text_8.s @@ -5674,14 +5674,14 @@ lbl_8027E8D4: /* 8027E900 0027A560 2C 00 00 00 */ cmpwi r0, 0 /* 8027E904 0027A564 41 82 00 30 */ beq lbl_8027E934 /* 8027E908 0027A568 38 61 00 08 */ addi r3, r1, 8 -/* 8027E90C 0027A56C 4B FE C7 85 */ bl func_8026B090 +/* 8027E90C 0027A56C 4B FE C7 85 */ bl OSClearContext /* 8027E910 0027A570 38 61 00 08 */ addi r3, r1, 8 /* 8027E914 0027A574 4B FE C5 55 */ bl OSSetCurrentContext /* 8027E918 0027A578 81 8D A9 C4 */ lwz r12, lbl_8063FC84-_SDA_BASE_(r13) /* 8027E91C 0027A57C 7D 89 03 A6 */ mtctr r12 /* 8027E920 0027A580 4E 80 04 21 */ bctrl /* 8027E924 0027A584 38 61 00 08 */ addi r3, r1, 8 -/* 8027E928 0027A588 4B FE C7 69 */ bl func_8026B090 +/* 8027E928 0027A588 4B FE C7 69 */ bl OSClearContext /* 8027E92C 0027A58C 7F C3 F3 78 */ mr r3, r30 /* 8027E930 0027A590 4B FE C5 39 */ bl OSSetCurrentContext lbl_8027E934: @@ -8253,7 +8253,7 @@ lbl_80280D24: /* 80280D48 0027C9A8 A3 E3 00 0E */ lhz r31, 0xe(r3) /* 80280D4C 0027C9AC 41 82 00 34 */ beq lbl_80280D80 /* 80280D50 0027C9B0 38 61 00 08 */ addi r3, r1, 8 -/* 80280D54 0027C9B4 4B FE A3 3D */ bl func_8026B090 +/* 80280D54 0027C9B4 4B FE A3 3D */ bl OSClearContext /* 80280D58 0027C9B8 38 61 00 08 */ addi r3, r1, 8 /* 80280D5C 0027C9BC 4B FE A1 0D */ bl OSSetCurrentContext /* 80280D60 0027C9C0 81 8D A9 E8 */ lwz r12, lbl_8063FCA8-_SDA_BASE_(r13) @@ -8261,7 +8261,7 @@ lbl_80280D24: /* 80280D68 0027C9C8 7D 89 03 A6 */ mtctr r12 /* 80280D6C 0027C9CC 4E 80 04 21 */ bctrl /* 80280D70 0027C9D0 38 61 00 08 */ addi r3, r1, 8 -/* 80280D74 0027C9D4 4B FE A3 1D */ bl func_8026B090 +/* 80280D74 0027C9D4 4B FE A3 1D */ bl OSClearContext /* 80280D78 0027C9D8 7F C3 F3 78 */ mr r3, r30 /* 80280D7C 0027C9DC 4B FE A0 ED */ bl OSSetCurrentContext lbl_80280D80: @@ -8311,14 +8311,14 @@ lbl_80280DEC: /* 80280E1C 0027CA7C 2C 00 00 00 */ cmpwi r0, 0 /* 80280E20 0027CA80 41 82 00 30 */ beq lbl_80280E50 /* 80280E24 0027CA84 38 61 00 08 */ addi r3, r1, 8 -/* 80280E28 0027CA88 4B FE A2 69 */ bl func_8026B090 +/* 80280E28 0027CA88 4B FE A2 69 */ bl OSClearContext /* 80280E2C 0027CA8C 38 61 00 08 */ addi r3, r1, 8 /* 80280E30 0027CA90 4B FE A0 39 */ bl OSSetCurrentContext /* 80280E34 0027CA94 81 8D A9 E4 */ lwz r12, lbl_8063FCA4-_SDA_BASE_(r13) /* 80280E38 0027CA98 7D 89 03 A6 */ mtctr r12 /* 80280E3C 0027CA9C 4E 80 04 21 */ bctrl /* 80280E40 0027CAA0 38 61 00 08 */ addi r3, r1, 8 -/* 80280E44 0027CAA4 4B FE A2 4D */ bl func_8026B090 +/* 80280E44 0027CAA4 4B FE A2 4D */ bl OSClearContext /* 80280E48 0027CAA8 7F E3 FB 78 */ mr r3, r31 /* 80280E4C 0027CAAC 4B FE A0 1D */ bl OSSetCurrentContext lbl_80280E50: @@ -24245,7 +24245,7 @@ lbl_8028ED68: /* 8028ED8C 0028A9EC 7C A0 00 38 */ and r0, r5, r0 /* 8028ED90 0028A9F0 60 00 00 08 */ ori r0, r0, 8 /* 8028ED94 0028A9F4 B0 06 50 0A */ sth r0, 0x500a(r6) -/* 8028ED98 0028A9F8 4B FD C2 F9 */ bl func_8026B090 +/* 8028ED98 0028A9F8 4B FD C2 F9 */ bl OSClearContext /* 8028ED9C 0028A9FC 38 61 00 08 */ addi r3, r1, 8 /* 8028EDA0 0028AA00 4B FD C0 C9 */ bl OSSetCurrentContext /* 8028EDA4 0028AA04 80 6D AB 08 */ lwz r3, lbl_8063FDC8-_SDA_BASE_(r13) @@ -24270,7 +24270,7 @@ lbl_8028EDE4: /* 8028EDE8 0028AA48 90 0D AA D4 */ stw r0, lbl_8063FD94-_SDA_BASE_(r13) lbl_8028EDEC: /* 8028EDEC 0028AA4C 38 61 00 08 */ addi r3, r1, 8 -/* 8028EDF0 0028AA50 4B FD C2 A1 */ bl func_8026B090 +/* 8028EDF0 0028AA50 4B FD C2 A1 */ bl OSClearContext /* 8028EDF4 0028AA54 7F E3 FB 78 */ mr r3, r31 /* 8028EDF8 0028AA58 4B FD C0 71 */ bl OSSetCurrentContext /* 8028EDFC 0028AA5C 80 01 02 E4 */ lwz r0, 0x2e4(r1) @@ -38464,7 +38464,7 @@ lbl_8029B084: /* 8029B0A8 00296D08 7C A0 00 38 */ and r0, r5, r0 /* 8029B0AC 00296D0C 60 00 00 80 */ ori r0, r0, 0x80 /* 8029B0B0 00296D10 B0 06 50 0A */ sth r0, 0x500a(r6) -/* 8029B0B4 00296D14 4B FC FF DD */ bl func_8026B090 +/* 8029B0B4 00296D14 4B FC FF DD */ bl OSClearContext /* 8029B0B8 00296D18 38 61 00 08 */ addi r3, r1, 8 /* 8029B0BC 00296D1C 4B FC FD AD */ bl OSSetCurrentContext lbl_8029B0C0: @@ -38743,7 +38743,7 @@ lbl_8029B47C: /* 8029B490 002970F0 4E 80 04 21 */ bctrl lbl_8029B494: /* 8029B494 002970F4 38 61 00 08 */ addi r3, r1, 8 -/* 8029B498 002970F8 4B FC FB F9 */ bl func_8026B090 +/* 8029B498 002970F8 4B FC FB F9 */ bl OSClearContext /* 8029B49C 002970FC 7F E3 FB 78 */ mr r3, r31 /* 8029B4A0 00297100 4B FC F9 C9 */ bl OSSetCurrentContext /* 8029B4A4 00297104 80 01 02 E4 */ lwz r0, 0x2e4(r1) @@ -47114,7 +47114,7 @@ lbl_802A2AEC: /* 802A2AF0 0029E750 2C 00 00 00 */ cmpwi r0, 0 /* 802A2AF4 0029E754 41 82 00 48 */ beq lbl_802A2B3C /* 802A2AF8 0029E758 38 61 00 08 */ addi r3, r1, 8 -/* 802A2AFC 0029E75C 4B FC 85 95 */ bl func_8026B090 +/* 802A2AFC 0029E75C 4B FC 85 95 */ bl OSClearContext /* 802A2B00 0029E760 38 61 00 08 */ addi r3, r1, 8 /* 802A2B04 0029E764 4B FC 83 65 */ bl OSSetCurrentContext /* 802A2B08 0029E768 81 9F 00 20 */ lwz r12, 0x20(r31) @@ -47123,7 +47123,7 @@ lbl_802A2AEC: /* 802A2B14 0029E774 7D 89 03 A6 */ mtctr r12 /* 802A2B18 0029E778 4E 80 04 21 */ bctrl /* 802A2B1C 0029E77C 38 61 00 08 */ addi r3, r1, 8 -/* 802A2B20 0029E780 4B FC 85 71 */ bl func_8026B090 +/* 802A2B20 0029E780 4B FC 85 71 */ bl OSClearContext /* 802A2B24 0029E784 7F C3 F3 78 */ mr r3, r30 /* 802A2B28 0029E788 4B FC 83 41 */ bl OSSetCurrentContext /* 802A2B2C 0029E78C 80 6D 89 8C */ lwz r3, lbl_8063DC4C-_SDA_BASE_(r13) @@ -52503,7 +52503,7 @@ lbl_802A75EC: /* 802A75FC 002A325C 38 E7 6E C4 */ addi r7, r7, lbl_802A6EC4@l /* 802A7600 002A3260 38 C0 00 00 */ li r6, 0 /* 802A7604 002A3264 39 08 10 00 */ addi r8, r8, 0x1000 -/* 802A7608 002A3268 4B FC 3A 58 */ b func_8026B060 +/* 802A7608 002A3268 4B FC 3A 58 */ b OSSwitchFiberEx .global func_802A760C func_802A760C: @@ -68159,7 +68159,7 @@ lbl_802B5AA0: /* 802B5AB0 002B1710 38 E7 52 64 */ addi r7, r7, lbl_802B5264@l /* 802B5AB4 002B1714 38 C0 00 00 */ li r6, 0 /* 802B5AB8 002B1718 39 08 10 00 */ addi r8, r8, 0x1000 -/* 802B5ABC 002B171C 4B FB 55 A4 */ b func_8026B060 +/* 802B5ABC 002B171C 4B FB 55 A4 */ b OSSwitchFiberEx .global func_802B5AC0 func_802B5AC0: @@ -68347,7 +68347,7 @@ lbl_802B5D40: /* 802B5D50 002B19B0 38 E7 5C 0C */ addi r7, r7, lbl_802B5C0C@l /* 802B5D54 002B19B4 38 C0 00 00 */ li r6, 0 /* 802B5D58 002B19B8 39 08 10 00 */ addi r8, r8, 0x1000 -/* 802B5D5C 002B19BC 4B FB 53 04 */ b func_8026B060 +/* 802B5D5C 002B19BC 4B FB 53 04 */ b OSSwitchFiberEx .global func_802B5D60 func_802B5D60: @@ -68563,7 +68563,7 @@ lbl_802B6048: /* 802B6058 002B1CB8 38 E7 5E 74 */ addi r7, r7, lbl_802B5E74@l /* 802B605C 002B1CBC 38 C0 00 00 */ li r6, 0 /* 802B6060 002B1CC0 39 08 10 00 */ addi r8, r8, 0x1000 -/* 802B6064 002B1CC4 4B FB 4F FC */ b func_8026B060 +/* 802B6064 002B1CC4 4B FB 4F FC */ b OSSwitchFiberEx .global func_802B6068 func_802B6068: @@ -68715,7 +68715,7 @@ lbl_802B6270: /* 802B6280 002B1EE0 38 E7 61 8C */ addi r7, r7, lbl_802B618C@l /* 802B6284 002B1EE4 38 C0 00 00 */ li r6, 0 /* 802B6288 002B1EE8 39 08 10 00 */ addi r8, r8, 0x1000 -/* 802B628C 002B1EEC 4B FB 4D D4 */ b func_8026B060 +/* 802B628C 002B1EEC 4B FB 4D D4 */ b OSSwitchFiberEx lbl_802B6290: /* 802B6290 002B1EF0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802B6294 002B1EF4 7C 08 02 A6 */ mflr r0 @@ -68762,7 +68762,7 @@ lbl_802B6314: /* 802B6324 002B1F84 38 E7 62 90 */ addi r7, r7, lbl_802B6290@l /* 802B6328 002B1F88 38 C0 00 00 */ li r6, 0 /* 802B632C 002B1F8C 39 08 10 00 */ addi r8, r8, 0x1000 -/* 802B6330 002B1F90 4B FB 4D 30 */ b func_8026B060 +/* 802B6330 002B1F90 4B FB 4D 30 */ b OSSwitchFiberEx .global func_802B6334 func_802B6334: @@ -75040,7 +75040,7 @@ lbl_802BBAF8: /* 802BBB10 002B7770 38 80 00 00 */ li r4, 0 /* 802BBB14 002B7774 38 A0 00 00 */ li r5, 0 /* 802BBB18 002B7778 38 C0 00 00 */ li r6, 0 -/* 802BBB1C 002B777C 4B FA F5 45 */ bl func_8026B060 +/* 802BBB1C 002B777C 4B FA F5 45 */ bl OSSwitchFiberEx /* 802BBB20 002B7780 7F A3 EB 78 */ mr r3, r29 /* 802BBB24 002B7784 4B FF E2 11 */ bl func_802B9D34 lbl_802BBB28: @@ -75184,7 +75184,7 @@ lbl_802BBCDC: /* 802BBD18 002B7978 38 80 00 00 */ li r4, 0 /* 802BBD1C 002B797C 38 A0 00 00 */ li r5, 0 /* 802BBD20 002B7980 38 C0 00 00 */ li r6, 0 -/* 802BBD24 002B7984 4B FA F3 3D */ bl func_8026B060 +/* 802BBD24 002B7984 4B FA F3 3D */ bl OSSwitchFiberEx lbl_802BBD28: /* 802BBD28 002B7988 7F C3 F3 78 */ mr r3, r30 /* 802BBD2C 002B798C 4B FF E0 09 */ bl func_802B9D34 @@ -76540,7 +76540,7 @@ lbl_802BCFB8: /* 802BCFC0 002B8C20 38 84 76 20 */ addi r4, r4, lbl_80567620@l /* 802BCFC4 002B8C24 38 63 D1 50 */ addi r3, r3, lbl_802BD150@l /* 802BCFC8 002B8C28 38 84 10 00 */ addi r4, r4, 0x1000 -/* 802BCFCC 002B8C2C 4B FA E0 64 */ b func_8026B030 +/* 802BCFCC 002B8C2C 4B FA E0 64 */ b OSSwitchFiber .global func_802BCFD0 func_802BCFD0: diff --git a/obj_files.mk b/obj_files.mk index e444aee..4d34fab 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -22,6 +22,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/SDK/OS/OSArena.o \ $(BUILD_DIR)/asm/SDK/OS/OSAudioSystem.o \ $(BUILD_DIR)/asm/SDK/OS/OSCache.o \ + $(BUILD_DIR)/asm/SDK/OS/OSContext.o \ $(BUILD_DIR)/asm/text_7_2.o \ $(BUILD_DIR)/asm/text_8.o \ $(BUILD_DIR)/asm/text_9.o \ |