From 9929881f4a262eb4a138766cc12c0f2b9a749f14 Mon Sep 17 00:00:00 2001 From: HeartPiece44 <107153442+HeartPiece44@users.noreply.github.com> Date: Wed, 27 Sep 2023 13:01:09 +1000 Subject: [PATCH] Link EXIBios.c and update build actions --- .github/workflows/build.yml | 2 +- asm/Dolphin/exi/EXIBios.s | 1931 ------------------------------ configure.py | 2 +- docs/recommended_todo.md | 1 + include/Dolphin/OS/OSExpansion.h | 1 + include/Dolphin/os.h | 1 + src/Dolphin/exi/EXIBios.c | 435 +------ src/Dolphin/exi/Makefile | 2 +- tools/progress.csv | 2 + 9 files changed, 25 insertions(+), 2352 deletions(-) delete mode 100644 asm/Dolphin/exi/EXIBios.s diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0eb045afc..d32a854cf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,7 @@ jobs: env: PROGRESS_API_KEY: ${{secrets.PROGRESS_API_KEY}} run: | - python tools/upload-progress.py -b https://progress.deco.mp/ -p pikmin2 -v ${{matrix.version}} \ + python tools/upload-progress.py -b https://progress.decomp.club/ -p pikmin2 -v ${{matrix.version}} \ build/pikmin2.${{matrix.version}}/main.dol.progress - name: Upload map uses: actions/upload-artifact@v3 diff --git a/asm/Dolphin/exi/EXIBios.s b/asm/Dolphin/exi/EXIBios.s deleted file mode 100644 index ed33b67d3..000000000 --- a/asm/Dolphin/exi/EXIBios.s +++ /dev/null @@ -1,1931 +0,0 @@ -.include "macros.inc" -.section .data, "wa" # 0x8049E220 - 0x804EFC20 -.balign 8 -.obj lbl_804A7ED0, local - .asciz "<< Dolphin SDK - EXI\trelease build: Apr 17 2003 12:33:17 (0x2301) >>" -.endobj lbl_804A7ED0 -.balign 4 -.obj lbl_804A7F18, local - .asciz "Memory Card 59" -.endobj lbl_804A7F18 -.balign 4 -.obj lbl_804A7F28, local - .asciz "Memory Card 123" -.endobj lbl_804A7F28 -.balign 4 -.obj lbl_804A7F38, local - .asciz "Memory Card 251" -.endobj lbl_804A7F38 -.balign 4 -.obj lbl_804A7F48, local - .asciz "Memory Card 507" -.endobj lbl_804A7F48 -.balign 4 -.obj lbl_804A7F58, local - .asciz "Memory Card 1019" -.endobj lbl_804A7F58 -.balign 4 -.obj lbl_804A7F6C, local - .asciz "Memory Card 2043" -.endobj lbl_804A7F6C -.balign 4 -.obj lbl_804A7F80, local - .asciz "USB Adapter" -.endobj lbl_804A7F80 -.balign 4 -.obj lbl_804A7F8C, local - .asciz "Net Card" -.endobj lbl_804A7F8C -.balign 4 -.obj lbl_804A7F98, local - .asciz "Artist Ether" -.endobj lbl_804A7F98 -.balign 4 -.obj lbl_804A7FA8, local - .asciz "Broadband Adapter" -.endobj lbl_804A7FA8 -.balign 4 -.obj lbl_804A7FBC, local - .asciz "Stream Hanger" -.endobj lbl_804A7FBC -.balign 4 -.obj lbl_804A7FCC, local - .asciz "IS-DOL-VIEWER" -.endobj lbl_804A7FCC - -.section .bss # 0x804EFC20 - 0x8051467C -.obj Ecb, local - .skip 0xC0 -.endobj Ecb - -.section .sdata, "wa" # 0x80514680 - 0x80514D80 -.balign 8 -.obj __EXIVersion, global - .4byte lbl_804A7ED0 -.endobj __EXIVersion - -.section .sbss # 0x80514D80 - 0x80516360 -.balign 8 -.obj IDSerialPort1, local - .skip 0x4 -.endobj IDSerialPort1 - -.section .text, "ax" # 0x800056C0 - 0x80472F00 -.fn SetExiInterruptMask, local -/* 800DFB54 000DCA94 7C 08 02 A6 */ mflr r0 -/* 800DFB58 000DCA98 90 01 00 04 */ stw r0, 4(r1) -/* 800DFB5C 000DCA9C 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 800DFB60 000DCAA0 93 E1 00 14 */ stw r31, 0x14(r1) -/* 800DFB64 000DCAA4 3B E4 00 00 */ addi r31, r4, 0 -/* 800DFB68 000DCAA8 3C 80 80 4F */ lis r4, Ecb@ha -/* 800DFB6C 000DCAAC 38 84 5F 28 */ addi r4, r4, Ecb@l -/* 800DFB70 000DCAB0 38 84 00 80 */ addi r4, r4, 0x80 -/* 800DFB74 000DCAB4 2C 03 00 01 */ cmpwi r3, 1 -/* 800DFB78 000DCAB8 41 82 00 5C */ beq .L_800DFBD4 -/* 800DFB7C 000DCABC 40 80 00 10 */ bge .L_800DFB8C -/* 800DFB80 000DCAC0 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFB84 000DCAC4 40 80 00 14 */ bge .L_800DFB98 -/* 800DFB88 000DCAC8 48 00 00 AC */ b .L_800DFC34 -.L_800DFB8C: -/* 800DFB8C 000DCACC 2C 03 00 03 */ cmpwi r3, 3 -/* 800DFB90 000DCAD0 40 80 00 A4 */ bge .L_800DFC34 -/* 800DFB94 000DCAD4 48 00 00 70 */ b .L_800DFC04 -.L_800DFB98: -/* 800DFB98 000DCAD8 80 1F 00 00 */ lwz r0, 0(r31) -/* 800DFB9C 000DCADC 28 00 00 00 */ cmplwi r0, 0 -/* 800DFBA0 000DCAE0 40 82 00 10 */ bne .L_800DFBB0 -/* 800DFBA4 000DCAE4 80 04 00 00 */ lwz r0, 0(r4) -/* 800DFBA8 000DCAE8 28 00 00 00 */ cmplwi r0, 0 -/* 800DFBAC 000DCAEC 41 82 00 10 */ beq .L_800DFBBC -.L_800DFBB0: -/* 800DFBB0 000DCAF0 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800DFBB4 000DCAF4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800DFBB8 000DCAF8 41 82 00 10 */ beq .L_800DFBC8 -.L_800DFBBC: -/* 800DFBBC 000DCAFC 3C 60 00 41 */ lis r3, 0x41 -/* 800DFBC0 000DCB00 48 00 F4 41 */ bl __OSMaskInterrupts -/* 800DFBC4 000DCB04 48 00 00 70 */ b .L_800DFC34 -.L_800DFBC8: -/* 800DFBC8 000DCB08 3C 60 00 41 */ lis r3, 0x41 -/* 800DFBCC 000DCB0C 48 00 F4 BD */ bl __OSUnmaskInterrupts -/* 800DFBD0 000DCB10 48 00 00 64 */ b .L_800DFC34 -.L_800DFBD4: -/* 800DFBD4 000DCB14 80 1F 00 00 */ lwz r0, 0(r31) -/* 800DFBD8 000DCB18 28 00 00 00 */ cmplwi r0, 0 -/* 800DFBDC 000DCB1C 41 82 00 10 */ beq .L_800DFBEC -/* 800DFBE0 000DCB20 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800DFBE4 000DCB24 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800DFBE8 000DCB28 41 82 00 10 */ beq .L_800DFBF8 -.L_800DFBEC: -/* 800DFBEC 000DCB2C 3C 60 00 08 */ lis r3, 8 -/* 800DFBF0 000DCB30 48 00 F4 11 */ bl __OSMaskInterrupts -/* 800DFBF4 000DCB34 48 00 00 40 */ b .L_800DFC34 -.L_800DFBF8: -/* 800DFBF8 000DCB38 3C 60 00 08 */ lis r3, 8 -/* 800DFBFC 000DCB3C 48 00 F4 8D */ bl __OSUnmaskInterrupts -/* 800DFC00 000DCB40 48 00 00 34 */ b .L_800DFC34 -.L_800DFC04: -/* 800DFC04 000DCB44 38 60 00 19 */ li r3, 0x19 -/* 800DFC08 000DCB48 48 00 F0 99 */ bl __OSGetInterruptHandler -/* 800DFC0C 000DCB4C 28 03 00 00 */ cmplwi r3, 0 -/* 800DFC10 000DCB50 41 82 00 10 */ beq .L_800DFC20 -/* 800DFC14 000DCB54 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800DFC18 000DCB58 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800DFC1C 000DCB5C 41 82 00 10 */ beq .L_800DFC2C -.L_800DFC20: -/* 800DFC20 000DCB60 38 60 00 40 */ li r3, 0x40 -/* 800DFC24 000DCB64 48 00 F3 DD */ bl __OSMaskInterrupts -/* 800DFC28 000DCB68 48 00 00 0C */ b .L_800DFC34 -.L_800DFC2C: -/* 800DFC2C 000DCB6C 38 60 00 40 */ li r3, 0x40 -/* 800DFC30 000DCB70 48 00 F4 59 */ bl __OSUnmaskInterrupts -.L_800DFC34: -/* 800DFC34 000DCB74 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 800DFC38 000DCB78 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 800DFC3C 000DCB7C 38 21 00 18 */ addi r1, r1, 0x18 -/* 800DFC40 000DCB80 7C 08 03 A6 */ mtlr r0 -/* 800DFC44 000DCB84 4E 80 00 20 */ blr -.endfn SetExiInterruptMask - -.fn EXIImm, global -/* 800DFC48 000DCB88 7C 08 02 A6 */ mflr r0 -/* 800DFC4C 000DCB8C 90 01 00 04 */ stw r0, 4(r1) -/* 800DFC50 000DCB90 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 800DFC54 000DCB94 BF 21 00 24 */ stmw r25, 0x24(r1) -/* 800DFC58 000DCB98 3B 43 00 00 */ addi r26, r3, 0 -/* 800DFC5C 000DCB9C 3B 64 00 00 */ addi r27, r4, 0 -/* 800DFC60 000DCBA0 3B 85 00 00 */ addi r28, r5, 0 -/* 800DFC64 000DCBA4 3B A6 00 00 */ addi r29, r6, 0 -/* 800DFC68 000DCBA8 3B 27 00 00 */ addi r25, r7, 0 -/* 800DFC6C 000DCBAC 54 64 30 32 */ slwi r4, r3, 6 -/* 800DFC70 000DCBB0 3C 60 80 4F */ lis r3, Ecb@ha -/* 800DFC74 000DCBB4 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800DFC78 000DCBB8 7F E0 22 14 */ add r31, r0, r4 -/* 800DFC7C 000DCBBC 48 00 EF BD */ bl OSDisableInterrupts -/* 800DFC80 000DCBC0 7C 7E 1B 78 */ mr r30, r3 -/* 800DFC84 000DCBC4 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800DFC88 000DCBC8 54 00 07 BF */ clrlwi. r0, r0, 0x1e -/* 800DFC8C 000DCBCC 40 82 00 10 */ bne .L_800DFC9C -/* 800DFC90 000DCBD0 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800DFC94 000DCBD4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800DFC98 000DCBD8 40 82 00 14 */ bne .L_800DFCAC -.L_800DFC9C: -/* 800DFC9C 000DCBDC 7F C3 F3 78 */ mr r3, r30 -/* 800DFCA0 000DCBE0 48 00 EF C1 */ bl OSRestoreInterrupts -/* 800DFCA4 000DCBE4 38 60 00 00 */ li r3, 0 -/* 800DFCA8 000DCBE8 48 00 01 E8 */ b .L_800DFE90 -.L_800DFCAC: -/* 800DFCAC 000DCBEC 93 3F 00 04 */ stw r25, 4(r31) -/* 800DFCB0 000DCBF0 80 1F 00 04 */ lwz r0, 4(r31) -/* 800DFCB4 000DCBF4 28 00 00 00 */ cmplwi r0, 0 -/* 800DFCB8 000DCBF8 41 82 00 28 */ beq .L_800DFCE0 -/* 800DFCBC 000DCBFC 38 7A 00 00 */ addi r3, r26, 0 -/* 800DFCC0 000DCC00 38 80 00 00 */ li r4, 0 -/* 800DFCC4 000DCC04 38 A0 00 01 */ li r5, 1 -/* 800DFCC8 000DCC08 38 C0 00 00 */ li r6, 0 -/* 800DFCCC 000DCC0C 48 00 05 B1 */ bl EXIClearInterrupts -/* 800DFCD0 000DCC10 3C 60 00 20 */ lis r3, 0x20 -/* 800DFCD4 000DCC14 1C 1A 00 03 */ mulli r0, r26, 3 -/* 800DFCD8 000DCC18 7C 63 04 30 */ srw r3, r3, r0 -/* 800DFCDC 000DCC1C 48 00 F3 AD */ bl __OSUnmaskInterrupts -.L_800DFCE0: -/* 800DFCE0 000DCC20 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800DFCE4 000DCC24 60 00 00 02 */ ori r0, r0, 2 -/* 800DFCE8 000DCC28 90 1F 00 0C */ stw r0, 0xc(r31) -/* 800DFCEC 000DCC2C 28 1D 00 00 */ cmplwi r29, 0 -/* 800DFCF0 000DCC30 41 82 01 44 */ beq .L_800DFE34 -/* 800DFCF4 000DCC34 38 00 00 00 */ li r0, 0 -/* 800DFCF8 000DCC38 38 80 00 00 */ li r4, 0 -/* 800DFCFC 000DCC3C 7C 04 E0 00 */ cmpw r4, r28 -/* 800DFD00 000DCC40 40 80 01 20 */ bge .L_800DFE20 -/* 800DFD04 000DCC44 38 DC FF F8 */ addi r6, r28, -8 -/* 800DFD08 000DCC48 2C 1C 00 08 */ cmpwi r28, 8 -/* 800DFD0C 000DCC4C 40 81 01 7C */ ble .L_800DFE88 -/* 800DFD10 000DCC50 38 7B 00 00 */ addi r3, r27, 0 -/* 800DFD14 000DCC54 38 A6 00 07 */ addi r5, r6, 7 -/* 800DFD18 000DCC58 54 A5 E8 FE */ srwi r5, r5, 3 -/* 800DFD1C 000DCC5C 7C A9 03 A6 */ mtctr r5 -/* 800DFD20 000DCC60 2C 06 00 00 */ cmpwi r6, 0 -/* 800DFD24 000DCC64 40 81 01 64 */ ble .L_800DFE88 -.L_800DFD28: -/* 800DFD28 000DCC68 88 C3 00 00 */ lbz r6, 0(r3) -/* 800DFD2C 000DCC6C 20 A4 00 03 */ subfic r5, r4, 3 -/* 800DFD30 000DCC70 54 A5 18 38 */ slwi r5, r5, 3 -/* 800DFD34 000DCC74 7C C5 28 30 */ slw r5, r6, r5 -/* 800DFD38 000DCC78 7C 00 2B 78 */ or r0, r0, r5 -/* 800DFD3C 000DCC7C 88 C3 00 01 */ lbz r6, 1(r3) -/* 800DFD40 000DCC80 38 A4 00 01 */ addi r5, r4, 1 -/* 800DFD44 000DCC84 20 A5 00 03 */ subfic r5, r5, 3 -/* 800DFD48 000DCC88 54 A5 18 38 */ slwi r5, r5, 3 -/* 800DFD4C 000DCC8C 7C C5 28 30 */ slw r5, r6, r5 -/* 800DFD50 000DCC90 7C 00 2B 78 */ or r0, r0, r5 -/* 800DFD54 000DCC94 88 C3 00 02 */ lbz r6, 2(r3) -/* 800DFD58 000DCC98 38 A4 00 02 */ addi r5, r4, 2 -/* 800DFD5C 000DCC9C 20 A5 00 03 */ subfic r5, r5, 3 -/* 800DFD60 000DCCA0 54 A5 18 38 */ slwi r5, r5, 3 -/* 800DFD64 000DCCA4 7C C5 28 30 */ slw r5, r6, r5 -/* 800DFD68 000DCCA8 7C 00 2B 78 */ or r0, r0, r5 -/* 800DFD6C 000DCCAC 88 C3 00 03 */ lbz r6, 3(r3) -/* 800DFD70 000DCCB0 7C A4 00 D0 */ neg r5, r4 -/* 800DFD74 000DCCB4 54 A5 18 38 */ slwi r5, r5, 3 -/* 800DFD78 000DCCB8 7C C5 28 30 */ slw r5, r6, r5 -/* 800DFD7C 000DCCBC 7C 00 2B 78 */ or r0, r0, r5 -/* 800DFD80 000DCCC0 88 C3 00 04 */ lbz r6, 4(r3) -/* 800DFD84 000DCCC4 38 A4 00 04 */ addi r5, r4, 4 -/* 800DFD88 000DCCC8 20 A5 00 03 */ subfic r5, r5, 3 -/* 800DFD8C 000DCCCC 54 A5 18 38 */ slwi r5, r5, 3 -/* 800DFD90 000DCCD0 7C C5 28 30 */ slw r5, r6, r5 -/* 800DFD94 000DCCD4 7C 00 2B 78 */ or r0, r0, r5 -/* 800DFD98 000DCCD8 88 C3 00 05 */ lbz r6, 5(r3) -/* 800DFD9C 000DCCDC 38 A4 00 05 */ addi r5, r4, 5 -/* 800DFDA0 000DCCE0 20 A5 00 03 */ subfic r5, r5, 3 -/* 800DFDA4 000DCCE4 54 A5 18 38 */ slwi r5, r5, 3 -/* 800DFDA8 000DCCE8 7C C5 28 30 */ slw r5, r6, r5 -/* 800DFDAC 000DCCEC 7C 00 2B 78 */ or r0, r0, r5 -/* 800DFDB0 000DCCF0 88 C3 00 06 */ lbz r6, 6(r3) -/* 800DFDB4 000DCCF4 38 A4 00 06 */ addi r5, r4, 6 -/* 800DFDB8 000DCCF8 20 A5 00 03 */ subfic r5, r5, 3 -/* 800DFDBC 000DCCFC 54 A5 18 38 */ slwi r5, r5, 3 -/* 800DFDC0 000DCD00 7C C5 28 30 */ slw r5, r6, r5 -/* 800DFDC4 000DCD04 7C 00 2B 78 */ or r0, r0, r5 -/* 800DFDC8 000DCD08 88 C3 00 07 */ lbz r6, 7(r3) -/* 800DFDCC 000DCD0C 38 A4 00 07 */ addi r5, r4, 7 -/* 800DFDD0 000DCD10 20 A5 00 03 */ subfic r5, r5, 3 -/* 800DFDD4 000DCD14 54 A5 18 38 */ slwi r5, r5, 3 -/* 800DFDD8 000DCD18 7C C5 28 30 */ slw r5, r6, r5 -/* 800DFDDC 000DCD1C 7C 00 2B 78 */ or r0, r0, r5 -/* 800DFDE0 000DCD20 38 63 00 08 */ addi r3, r3, 8 -/* 800DFDE4 000DCD24 38 84 00 08 */ addi r4, r4, 8 -/* 800DFDE8 000DCD28 42 00 FF 40 */ bdnz .L_800DFD28 -/* 800DFDEC 000DCD2C 48 00 00 9C */ b .L_800DFE88 -.L_800DFDF0: -/* 800DFDF0 000DCD30 7C 64 E0 50 */ subf r3, r4, r28 -/* 800DFDF4 000DCD34 7C 69 03 A6 */ mtctr r3 -/* 800DFDF8 000DCD38 7C 04 E0 00 */ cmpw r4, r28 -/* 800DFDFC 000DCD3C 40 80 00 24 */ bge .L_800DFE20 -.L_800DFE00: -/* 800DFE00 000DCD40 88 A6 00 00 */ lbz r5, 0(r6) -/* 800DFE04 000DCD44 20 64 00 03 */ subfic r3, r4, 3 -/* 800DFE08 000DCD48 54 63 18 38 */ slwi r3, r3, 3 -/* 800DFE0C 000DCD4C 7C A3 18 30 */ slw r3, r5, r3 -/* 800DFE10 000DCD50 7C 00 1B 78 */ or r0, r0, r3 -/* 800DFE14 000DCD54 38 C6 00 01 */ addi r6, r6, 1 -/* 800DFE18 000DCD58 38 84 00 01 */ addi r4, r4, 1 -/* 800DFE1C 000DCD5C 42 00 FF E4 */ bdnz .L_800DFE00 -.L_800DFE20: -/* 800DFE20 000DCD60 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800DFE24 000DCD64 38 83 68 00 */ addi r4, r3, 0xCC006800@l -/* 800DFE28 000DCD68 1C 7A 00 14 */ mulli r3, r26, 0x14 -/* 800DFE2C 000DCD6C 7C 64 1A 14 */ add r3, r4, r3 -/* 800DFE30 000DCD70 90 03 00 10 */ stw r0, 0x10(r3) -.L_800DFE34: -/* 800DFE34 000DCD74 93 7F 00 14 */ stw r27, 0x14(r31) -/* 800DFE38 000DCD78 28 1D 00 01 */ cmplwi r29, 1 -/* 800DFE3C 000DCD7C 41 82 00 0C */ beq .L_800DFE48 -/* 800DFE40 000DCD80 7F 80 E3 78 */ mr r0, r28 -/* 800DFE44 000DCD84 48 00 00 08 */ b .L_800DFE4C -.L_800DFE48: -/* 800DFE48 000DCD88 38 00 00 00 */ li r0, 0 -.L_800DFE4C: -/* 800DFE4C 000DCD8C 90 1F 00 10 */ stw r0, 0x10(r31) -/* 800DFE50 000DCD90 57 A0 10 3A */ slwi r0, r29, 2 -/* 800DFE54 000DCD94 60 03 00 01 */ ori r3, r0, 1 -/* 800DFE58 000DCD98 38 1C FF FF */ addi r0, r28, -1 -/* 800DFE5C 000DCD9C 54 00 20 36 */ slwi r0, r0, 4 -/* 800DFE60 000DCDA0 7C 64 03 78 */ or r4, r3, r0 -/* 800DFE64 000DCDA4 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800DFE68 000DCDA8 38 63 68 00 */ addi r3, r3, 0xCC006800@l -/* 800DFE6C 000DCDAC 1C 1A 00 14 */ mulli r0, r26, 0x14 -/* 800DFE70 000DCDB0 7C 63 02 14 */ add r3, r3, r0 -/* 800DFE74 000DCDB4 90 83 00 0C */ stw r4, 0xc(r3) -/* 800DFE78 000DCDB8 7F C3 F3 78 */ mr r3, r30 -/* 800DFE7C 000DCDBC 48 00 ED E5 */ bl OSRestoreInterrupts -/* 800DFE80 000DCDC0 38 60 00 01 */ li r3, 1 -/* 800DFE84 000DCDC4 48 00 00 0C */ b .L_800DFE90 -.L_800DFE88: -/* 800DFE88 000DCDC8 7C DB 22 14 */ add r6, r27, r4 -/* 800DFE8C 000DCDCC 4B FF FF 64 */ b .L_800DFDF0 -.L_800DFE90: -/* 800DFE90 000DCDD0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800DFE94 000DCDD4 BB 21 00 24 */ lmw r25, 0x24(r1) -/* 800DFE98 000DCDD8 38 21 00 40 */ addi r1, r1, 0x40 -/* 800DFE9C 000DCDDC 7C 08 03 A6 */ mtlr r0 -/* 800DFEA0 000DCDE0 4E 80 00 20 */ blr -.endfn EXIImm - -.fn EXIImmEx, global -/* 800DFEA4 000DCDE4 7C 08 02 A6 */ mflr r0 -/* 800DFEA8 000DCDE8 90 01 00 04 */ stw r0, 4(r1) -/* 800DFEAC 000DCDEC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800DFEB0 000DCDF0 BF 61 00 1C */ stmw r27, 0x1c(r1) -/* 800DFEB4 000DCDF4 3B 63 00 00 */ addi r27, r3, 0 -/* 800DFEB8 000DCDF8 3B 84 00 00 */ addi r28, r4, 0 -/* 800DFEBC 000DCDFC 3B A5 00 00 */ addi r29, r5, 0 -/* 800DFEC0 000DCE00 3B C6 00 00 */ addi r30, r6, 0 -/* 800DFEC4 000DCE04 48 00 00 60 */ b .L_800DFF24 -.L_800DFEC8: -/* 800DFEC8 000DCE08 2C 1D 00 04 */ cmpwi r29, 4 -/* 800DFECC 000DCE0C 40 80 00 0C */ bge .L_800DFED8 -/* 800DFED0 000DCE10 7F BF EB 78 */ mr r31, r29 -/* 800DFED4 000DCE14 48 00 00 08 */ b .L_800DFEDC -.L_800DFED8: -/* 800DFED8 000DCE18 3B E0 00 04 */ li r31, 4 -.L_800DFEDC: -/* 800DFEDC 000DCE1C 38 BF 00 00 */ addi r5, r31, 0 -/* 800DFEE0 000DCE20 38 7B 00 00 */ addi r3, r27, 0 -/* 800DFEE4 000DCE24 38 9C 00 00 */ addi r4, r28, 0 -/* 800DFEE8 000DCE28 38 DE 00 00 */ addi r6, r30, 0 -/* 800DFEEC 000DCE2C 38 E0 00 00 */ li r7, 0 -/* 800DFEF0 000DCE30 4B FF FD 59 */ bl EXIImm -/* 800DFEF4 000DCE34 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFEF8 000DCE38 40 82 00 0C */ bne .L_800DFF04 -/* 800DFEFC 000DCE3C 38 60 00 00 */ li r3, 0 -/* 800DFF00 000DCE40 48 00 00 30 */ b .L_800DFF30 -.L_800DFF04: -/* 800DFF04 000DCE44 7F 63 DB 78 */ mr r3, r27 -/* 800DFF08 000DCE48 48 00 01 29 */ bl EXISync -/* 800DFF0C 000DCE4C 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFF10 000DCE50 40 82 00 0C */ bne .L_800DFF1C -/* 800DFF14 000DCE54 38 60 00 00 */ li r3, 0 -/* 800DFF18 000DCE58 48 00 00 18 */ b .L_800DFF30 -.L_800DFF1C: -/* 800DFF1C 000DCE5C 7F 9C FA 14 */ add r28, r28, r31 -/* 800DFF20 000DCE60 7F BF E8 50 */ subf r29, r31, r29 -.L_800DFF24: -/* 800DFF24 000DCE64 2C 1D 00 00 */ cmpwi r29, 0 -/* 800DFF28 000DCE68 40 82 FF A0 */ bne .L_800DFEC8 -/* 800DFF2C 000DCE6C 38 60 00 01 */ li r3, 1 -.L_800DFF30: -/* 800DFF30 000DCE70 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800DFF34 000DCE74 BB 61 00 1C */ lmw r27, 0x1c(r1) -/* 800DFF38 000DCE78 38 21 00 30 */ addi r1, r1, 0x30 -/* 800DFF3C 000DCE7C 7C 08 03 A6 */ mtlr r0 -/* 800DFF40 000DCE80 4E 80 00 20 */ blr -.endfn EXIImmEx - -.fn EXIDma, global -/* 800DFF44 000DCE84 7C 08 02 A6 */ mflr r0 -/* 800DFF48 000DCE88 90 01 00 04 */ stw r0, 4(r1) -/* 800DFF4C 000DCE8C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 800DFF50 000DCE90 BF 21 00 24 */ stmw r25, 0x24(r1) -/* 800DFF54 000DCE94 3B 63 00 00 */ addi r27, r3, 0 -/* 800DFF58 000DCE98 3B 84 00 00 */ addi r28, r4, 0 -/* 800DFF5C 000DCE9C 3B A5 00 00 */ addi r29, r5, 0 -/* 800DFF60 000DCEA0 3B C6 00 00 */ addi r30, r6, 0 -/* 800DFF64 000DCEA4 3B 27 00 00 */ addi r25, r7, 0 -/* 800DFF68 000DCEA8 54 64 30 32 */ slwi r4, r3, 6 -/* 800DFF6C 000DCEAC 3C 60 80 4F */ lis r3, Ecb@ha -/* 800DFF70 000DCEB0 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800DFF74 000DCEB4 7F 40 22 14 */ add r26, r0, r4 -/* 800DFF78 000DCEB8 48 00 EC C1 */ bl OSDisableInterrupts -/* 800DFF7C 000DCEBC 7C 7F 1B 78 */ mr r31, r3 -/* 800DFF80 000DCEC0 80 1A 00 0C */ lwz r0, 0xc(r26) -/* 800DFF84 000DCEC4 54 00 07 BF */ clrlwi. r0, r0, 0x1e -/* 800DFF88 000DCEC8 40 82 00 10 */ bne .L_800DFF98 -/* 800DFF8C 000DCECC 80 1A 00 0C */ lwz r0, 0xc(r26) -/* 800DFF90 000DCED0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800DFF94 000DCED4 40 82 00 14 */ bne .L_800DFFA8 -.L_800DFF98: -/* 800DFF98 000DCED8 7F E3 FB 78 */ mr r3, r31 -/* 800DFF9C 000DCEDC 48 00 EC C5 */ bl OSRestoreInterrupts -/* 800DFFA0 000DCEE0 38 60 00 00 */ li r3, 0 -/* 800DFFA4 000DCEE4 48 00 00 78 */ b .L_800E001C -.L_800DFFA8: -/* 800DFFA8 000DCEE8 93 3A 00 04 */ stw r25, 4(r26) -/* 800DFFAC 000DCEEC 80 1A 00 04 */ lwz r0, 4(r26) -/* 800DFFB0 000DCEF0 28 00 00 00 */ cmplwi r0, 0 -/* 800DFFB4 000DCEF4 41 82 00 28 */ beq .L_800DFFDC -/* 800DFFB8 000DCEF8 38 7B 00 00 */ addi r3, r27, 0 -/* 800DFFBC 000DCEFC 38 80 00 00 */ li r4, 0 -/* 800DFFC0 000DCF00 38 A0 00 01 */ li r5, 1 -/* 800DFFC4 000DCF04 38 C0 00 00 */ li r6, 0 -/* 800DFFC8 000DCF08 48 00 02 B5 */ bl EXIClearInterrupts -/* 800DFFCC 000DCF0C 3C 60 00 20 */ lis r3, 0x20 -/* 800DFFD0 000DCF10 1C 1B 00 03 */ mulli r0, r27, 3 -/* 800DFFD4 000DCF14 7C 63 04 30 */ srw r3, r3, r0 -/* 800DFFD8 000DCF18 48 00 F0 B1 */ bl __OSUnmaskInterrupts -.L_800DFFDC: -/* 800DFFDC 000DCF1C 80 1A 00 0C */ lwz r0, 0xc(r26) -/* 800DFFE0 000DCF20 60 00 00 01 */ ori r0, r0, 1 -/* 800DFFE4 000DCF24 90 1A 00 0C */ stw r0, 0xc(r26) -/* 800DFFE8 000DCF28 57 84 01 B4 */ rlwinm r4, r28, 0, 6, 0x1a -/* 800DFFEC 000DCF2C 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800DFFF0 000DCF30 38 03 68 00 */ addi r0, r3, 0xCC006800@l -/* 800DFFF4 000DCF34 1C 7B 00 14 */ mulli r3, r27, 0x14 -/* 800DFFF8 000DCF38 7C 60 1A 14 */ add r3, r0, r3 -/* 800DFFFC 000DCF3C 90 83 00 04 */ stw r4, 4(r3) -/* 800E0000 000DCF40 93 A3 00 08 */ stw r29, 8(r3) -/* 800E0004 000DCF44 57 C0 10 3A */ slwi r0, r30, 2 -/* 800E0008 000DCF48 60 00 00 03 */ ori r0, r0, 3 -/* 800E000C 000DCF4C 90 03 00 0C */ stw r0, 0xc(r3) -/* 800E0010 000DCF50 7F E3 FB 78 */ mr r3, r31 -/* 800E0014 000DCF54 48 00 EC 4D */ bl OSRestoreInterrupts -/* 800E0018 000DCF58 38 60 00 01 */ li r3, 1 -.L_800E001C: -/* 800E001C 000DCF5C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800E0020 000DCF60 BB 21 00 24 */ lmw r25, 0x24(r1) -/* 800E0024 000DCF64 38 21 00 40 */ addi r1, r1, 0x40 -/* 800E0028 000DCF68 7C 08 03 A6 */ mtlr r0 -/* 800E002C 000DCF6C 4E 80 00 20 */ blr -.endfn EXIDma - -.fn EXISync, global -/* 800E0030 000DCF70 7C 08 02 A6 */ mflr r0 -/* 800E0034 000DCF74 90 01 00 04 */ stw r0, 4(r1) -/* 800E0038 000DCF78 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800E003C 000DCF7C BF 61 00 1C */ stmw r27, 0x1c(r1) -/* 800E0040 000DCF80 54 65 30 32 */ slwi r5, r3, 6 -/* 800E0044 000DCF84 3C 80 80 4F */ lis r4, Ecb@ha -/* 800E0048 000DCF88 38 04 5F 28 */ addi r0, r4, Ecb@l -/* 800E004C 000DCF8C 7F E0 2A 14 */ add r31, r0, r5 -/* 800E0050 000DCF90 3B 80 00 00 */ li r28, 0 -/* 800E0054 000DCF94 1F C3 00 14 */ mulli r30, r3, 0x14 -/* 800E0058 000DCF98 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800E005C 000DCF9C 3B A3 68 00 */ addi r29, r3, 0xCC006800@l -/* 800E0060 000DCFA0 7F BD F2 14 */ add r29, r29, r30 -/* 800E0064 000DCFA4 48 00 01 F4 */ b .L_800E0258 -.L_800E0068: -/* 800E0068 000DCFA8 80 1D 00 0C */ lwz r0, 0xc(r29) -/* 800E006C 000DCFAC 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800E0070 000DCFB0 40 82 01 E8 */ bne .L_800E0258 -/* 800E0074 000DCFB4 48 00 EB C5 */ bl OSDisableInterrupts -/* 800E0078 000DCFB8 7C 7B 1B 78 */ mr r27, r3 -/* 800E007C 000DCFBC 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0080 000DCFC0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800E0084 000DCFC4 41 82 01 C8 */ beq .L_800E024C -/* 800E0088 000DCFC8 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E008C 000DCFCC 54 00 07 BF */ clrlwi. r0, r0, 0x1e -/* 800E0090 000DCFD0 41 82 01 34 */ beq .L_800E01C4 -/* 800E0094 000DCFD4 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0098 000DCFD8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 800E009C 000DCFDC 41 82 01 1C */ beq .L_800E01B8 -/* 800E00A0 000DCFE0 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 800E00A4 000DCFE4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E00A8 000DCFE8 41 82 01 10 */ beq .L_800E01B8 -/* 800E00AC 000DCFEC 80 BF 00 14 */ lwz r5, 0x14(r31) -/* 800E00B0 000DCFF0 3C 80 CC 00 */ lis r4, 0xCC006800@ha -/* 800E00B4 000DCFF4 38 04 68 00 */ addi r0, r4, 0xCC006800@l -/* 800E00B8 000DCFF8 7C 80 F2 14 */ add r4, r0, r30 -/* 800E00BC 000DCFFC 80 04 00 10 */ lwz r0, 0x10(r4) -/* 800E00C0 000DD000 38 80 00 00 */ li r4, 0 -/* 800E00C4 000DD004 40 81 00 F4 */ ble .L_800E01B8 -/* 800E00C8 000DD008 38 E3 FF F8 */ addi r7, r3, -8 -/* 800E00CC 000DD00C 2C 03 00 08 */ cmpwi r3, 8 -/* 800E00D0 000DD010 40 81 00 BC */ ble .L_800E018C -/* 800E00D4 000DD014 38 C7 00 07 */ addi r6, r7, 7 -/* 800E00D8 000DD018 54 C6 E8 FE */ srwi r6, r6, 3 -/* 800E00DC 000DD01C 7C C9 03 A6 */ mtctr r6 -/* 800E00E0 000DD020 2C 07 00 00 */ cmpwi r7, 0 -/* 800E00E4 000DD024 40 81 00 A8 */ ble .L_800E018C -.L_800E00E8: -/* 800E00E8 000DD028 20 C4 00 03 */ subfic r6, r4, 3 -/* 800E00EC 000DD02C 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E00F0 000DD030 7C 06 34 30 */ srw r6, r0, r6 -/* 800E00F4 000DD034 98 C5 00 00 */ stb r6, 0(r5) -/* 800E00F8 000DD038 38 C4 00 01 */ addi r6, r4, 1 -/* 800E00FC 000DD03C 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0100 000DD040 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0104 000DD044 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0108 000DD048 98 C5 00 01 */ stb r6, 1(r5) -/* 800E010C 000DD04C 38 C4 00 02 */ addi r6, r4, 2 -/* 800E0110 000DD050 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0114 000DD054 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0118 000DD058 7C 06 34 30 */ srw r6, r0, r6 -/* 800E011C 000DD05C 98 C5 00 02 */ stb r6, 2(r5) -/* 800E0120 000DD060 7C C4 00 D0 */ neg r6, r4 -/* 800E0124 000DD064 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0128 000DD068 7C 06 34 30 */ srw r6, r0, r6 -/* 800E012C 000DD06C 98 C5 00 03 */ stb r6, 3(r5) -/* 800E0130 000DD070 38 C4 00 04 */ addi r6, r4, 4 -/* 800E0134 000DD074 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0138 000DD078 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E013C 000DD07C 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0140 000DD080 98 C5 00 04 */ stb r6, 4(r5) -/* 800E0144 000DD084 38 C4 00 05 */ addi r6, r4, 5 -/* 800E0148 000DD088 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E014C 000DD08C 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0150 000DD090 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0154 000DD094 98 C5 00 05 */ stb r6, 5(r5) -/* 800E0158 000DD098 38 C4 00 06 */ addi r6, r4, 6 -/* 800E015C 000DD09C 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0160 000DD0A0 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0164 000DD0A4 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0168 000DD0A8 98 C5 00 06 */ stb r6, 6(r5) -/* 800E016C 000DD0AC 38 C4 00 07 */ addi r6, r4, 7 -/* 800E0170 000DD0B0 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0174 000DD0B4 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0178 000DD0B8 7C 06 34 30 */ srw r6, r0, r6 -/* 800E017C 000DD0BC 98 C5 00 07 */ stb r6, 7(r5) -/* 800E0180 000DD0C0 38 A5 00 08 */ addi r5, r5, 8 -/* 800E0184 000DD0C4 38 84 00 08 */ addi r4, r4, 8 -/* 800E0188 000DD0C8 42 00 FF 60 */ bdnz .L_800E00E8 -.L_800E018C: -/* 800E018C 000DD0CC 7C C4 18 50 */ subf r6, r4, r3 -/* 800E0190 000DD0D0 7C C9 03 A6 */ mtctr r6 -/* 800E0194 000DD0D4 7C 04 18 00 */ cmpw r4, r3 -/* 800E0198 000DD0D8 40 80 00 20 */ bge .L_800E01B8 -.L_800E019C: -/* 800E019C 000DD0DC 20 64 00 03 */ subfic r3, r4, 3 -/* 800E01A0 000DD0E0 54 63 18 38 */ slwi r3, r3, 3 -/* 800E01A4 000DD0E4 7C 03 1C 30 */ srw r3, r0, r3 -/* 800E01A8 000DD0E8 98 65 00 00 */ stb r3, 0(r5) -/* 800E01AC 000DD0EC 38 A5 00 01 */ addi r5, r5, 1 -/* 800E01B0 000DD0F0 38 84 00 01 */ addi r4, r4, 1 -/* 800E01B4 000DD0F4 42 00 FF E8 */ bdnz .L_800E019C -.L_800E01B8: -/* 800E01B8 000DD0F8 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E01BC 000DD0FC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d -/* 800E01C0 000DD100 90 1F 00 0C */ stw r0, 0xc(r31) -.L_800E01C4: -/* 800E01C4 000DD104 48 00 B8 B1 */ bl __OSGetDIConfig -/* 800E01C8 000DD108 28 03 00 FF */ cmplwi r3, 0xff -/* 800E01CC 000DD10C 40 82 00 7C */ bne .L_800E0248 -/* 800E01D0 000DD110 48 00 AF 21 */ bl OSGetConsoleType -/* 800E01D4 000DD114 54 63 00 06 */ rlwinm r3, r3, 0, 0, 3 -/* 800E01D8 000DD118 3C 03 E0 00 */ addis r0, r3, 0xe000 -/* 800E01DC 000DD11C 28 00 00 00 */ cmplwi r0, 0 -/* 800E01E0 000DD120 41 82 00 68 */ beq .L_800E0248 -/* 800E01E4 000DD124 80 1F 00 10 */ lwz r0, 0x10(r31) -/* 800E01E8 000DD128 2C 00 00 04 */ cmpwi r0, 4 -/* 800E01EC 000DD12C 40 82 00 5C */ bne .L_800E0248 -/* 800E01F0 000DD130 80 1D 00 00 */ lwz r0, 0(r29) -/* 800E01F4 000DD134 54 00 06 77 */ rlwinm. r0, r0, 0, 0x19, 0x1b -/* 800E01F8 000DD138 40 82 00 50 */ bne .L_800E0248 -/* 800E01FC 000DD13C 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800E0200 000DD140 38 03 68 00 */ addi r0, r3, 0xCC006800@l -/* 800E0204 000DD144 7C 80 F2 14 */ add r4, r0, r30 -/* 800E0208 000DD148 84 64 00 10 */ lwzu r3, 0x10(r4) -/* 800E020C 000DD14C 3C 03 FE FF */ addis r0, r3, 0xfeff -/* 800E0210 000DD150 28 00 00 00 */ cmplwi r0, 0 -/* 800E0214 000DD154 41 82 00 24 */ beq .L_800E0238 -/* 800E0218 000DD158 80 64 00 00 */ lwz r3, 0(r4) -/* 800E021C 000DD15C 3C 03 FA F9 */ addis r0, r3, 0xfaf9 -/* 800E0220 000DD160 28 00 00 00 */ cmplwi r0, 0 -/* 800E0224 000DD164 41 82 00 14 */ beq .L_800E0238 -/* 800E0228 000DD168 80 64 00 00 */ lwz r3, 0(r4) -/* 800E022C 000DD16C 3C 03 FB DE */ addis r0, r3, 0xfbde -/* 800E0230 000DD170 28 00 00 01 */ cmplwi r0, 1 -/* 800E0234 000DD174 40 82 00 14 */ bne .L_800E0248 -.L_800E0238: -/* 800E0238 000DD178 3C 60 80 00 */ lis r3, 0x800030E6@ha -/* 800E023C 000DD17C A0 03 30 E6 */ lhz r0, 0x800030E6@l(r3) -/* 800E0240 000DD180 28 00 82 00 */ cmplwi r0, 0x8200 -/* 800E0244 000DD184 40 82 00 08 */ bne .L_800E024C -.L_800E0248: -/* 800E0248 000DD188 3B 80 00 01 */ li r28, 1 -.L_800E024C: -/* 800E024C 000DD18C 7F 63 DB 78 */ mr r3, r27 -/* 800E0250 000DD190 48 00 EA 11 */ bl OSRestoreInterrupts -/* 800E0254 000DD194 48 00 00 10 */ b .L_800E0264 -.L_800E0258: -/* 800E0258 000DD198 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E025C 000DD19C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800E0260 000DD1A0 40 82 FE 08 */ bne .L_800E0068 -.L_800E0264: -/* 800E0264 000DD1A4 7F 83 E3 78 */ mr r3, r28 -/* 800E0268 000DD1A8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800E026C 000DD1AC BB 61 00 1C */ lmw r27, 0x1c(r1) -/* 800E0270 000DD1B0 38 21 00 30 */ addi r1, r1, 0x30 -/* 800E0274 000DD1B4 7C 08 03 A6 */ mtlr r0 -/* 800E0278 000DD1B8 4E 80 00 20 */ blr -.endfn EXISync - -.fn EXIClearInterrupts, global -/* 800E027C 000DD1BC 1C 03 00 14 */ mulli r0, r3, 0x14 -/* 800E0280 000DD1C0 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800E0284 000DD1C4 38 E3 68 00 */ addi r7, r3, 0xCC006800@l -/* 800E0288 000DD1C8 7C E7 02 14 */ add r7, r7, r0 -/* 800E028C 000DD1CC 80 07 00 00 */ lwz r0, 0(r7) -/* 800E0290 000DD1D0 7C 03 03 78 */ mr r3, r0 -/* 800E0294 000DD1D4 70 00 07 F5 */ andi. r0, r0, 0x7f5 -/* 800E0298 000DD1D8 2C 04 00 00 */ cmpwi r4, 0 -/* 800E029C 000DD1DC 41 82 00 08 */ beq .L_800E02A4 -/* 800E02A0 000DD1E0 60 00 00 02 */ ori r0, r0, 2 -.L_800E02A4: -/* 800E02A4 000DD1E4 2C 05 00 00 */ cmpwi r5, 0 -/* 800E02A8 000DD1E8 41 82 00 08 */ beq .L_800E02B0 -/* 800E02AC 000DD1EC 60 00 00 08 */ ori r0, r0, 8 -.L_800E02B0: -/* 800E02B0 000DD1F0 2C 06 00 00 */ cmpwi r6, 0 -/* 800E02B4 000DD1F4 41 82 00 08 */ beq .L_800E02BC -/* 800E02B8 000DD1F8 60 00 08 00 */ ori r0, r0, 0x800 -.L_800E02BC: -/* 800E02BC 000DD1FC 90 07 00 00 */ stw r0, 0(r7) -/* 800E02C0 000DD200 4E 80 00 20 */ blr -.endfn EXIClearInterrupts - -.fn EXISetExiCallback, global -/* 800E02C4 000DD204 7C 08 02 A6 */ mflr r0 -/* 800E02C8 000DD208 90 01 00 04 */ stw r0, 4(r1) -/* 800E02CC 000DD20C 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 800E02D0 000DD210 BF 41 00 10 */ stmw r26, 0x10(r1) -/* 800E02D4 000DD214 3B 43 00 00 */ addi r26, r3, 0 -/* 800E02D8 000DD218 3B 64 00 00 */ addi r27, r4, 0 -/* 800E02DC 000DD21C 54 60 30 32 */ slwi r0, r3, 6 -/* 800E02E0 000DD220 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E02E4 000DD224 3B E3 5F 28 */ addi r31, r3, Ecb@l -/* 800E02E8 000DD228 7F DF 02 14 */ add r30, r31, r0 -/* 800E02EC 000DD22C 48 00 E9 4D */ bl OSDisableInterrupts -/* 800E02F0 000DD230 7C 7C 1B 78 */ mr r28, r3 -/* 800E02F4 000DD234 83 BE 00 00 */ lwz r29, 0(r30) -/* 800E02F8 000DD238 93 7E 00 00 */ stw r27, 0(r30) -/* 800E02FC 000DD23C 2C 1A 00 02 */ cmpwi r26, 2 -/* 800E0300 000DD240 41 82 00 14 */ beq .L_800E0314 -/* 800E0304 000DD244 38 7A 00 00 */ addi r3, r26, 0 -/* 800E0308 000DD248 38 9E 00 00 */ addi r4, r30, 0 -/* 800E030C 000DD24C 4B FF F8 49 */ bl SetExiInterruptMask -/* 800E0310 000DD250 48 00 00 10 */ b .L_800E0320 -.L_800E0314: -/* 800E0314 000DD254 38 60 00 00 */ li r3, 0 -/* 800E0318 000DD258 38 9F 00 00 */ addi r4, r31, 0 -/* 800E031C 000DD25C 4B FF F8 39 */ bl SetExiInterruptMask -.L_800E0320: -/* 800E0320 000DD260 7F 83 E3 78 */ mr r3, r28 -/* 800E0324 000DD264 48 00 E9 3D */ bl OSRestoreInterrupts -/* 800E0328 000DD268 7F A3 EB 78 */ mr r3, r29 -/* 800E032C 000DD26C 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 800E0330 000DD270 BB 41 00 10 */ lmw r26, 0x10(r1) -/* 800E0334 000DD274 38 21 00 28 */ addi r1, r1, 0x28 -/* 800E0338 000DD278 7C 08 03 A6 */ mtlr r0 -/* 800E033C 000DD27C 4E 80 00 20 */ blr -.endfn EXISetExiCallback - -.fn __EXIProbe, local -/* 800E0340 000DD280 7C 08 02 A6 */ mflr r0 -/* 800E0344 000DD284 90 01 00 04 */ stw r0, 4(r1) -/* 800E0348 000DD288 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 800E034C 000DD28C BF 61 00 14 */ stmw r27, 0x14(r1) -/* 800E0350 000DD290 3B 83 00 00 */ addi r28, r3, 0 -/* 800E0354 000DD294 54 64 30 32 */ slwi r4, r3, 6 -/* 800E0358 000DD298 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E035C 000DD29C 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E0360 000DD2A0 7F E0 22 14 */ add r31, r0, r4 -/* 800E0364 000DD2A4 2C 1C 00 02 */ cmpwi r28, 2 -/* 800E0368 000DD2A8 40 82 00 0C */ bne .L_800E0374 -/* 800E036C 000DD2AC 38 60 00 01 */ li r3, 1 -/* 800E0370 000DD2B0 48 00 01 30 */ b .L_800E04A0 -.L_800E0374: -/* 800E0374 000DD2B4 3B A0 00 01 */ li r29, 1 -/* 800E0378 000DD2B8 48 00 E8 C1 */ bl OSDisableInterrupts -/* 800E037C 000DD2BC 3B C3 00 00 */ addi r30, r3, 0 -/* 800E0380 000DD2C0 1C 1C 00 14 */ mulli r0, r28, 0x14 -/* 800E0384 000DD2C4 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800E0388 000DD2C8 38 63 68 00 */ addi r3, r3, 0xCC006800@l -/* 800E038C 000DD2CC 7C 63 02 14 */ add r3, r3, r0 -/* 800E0390 000DD2D0 80 A3 00 00 */ lwz r5, 0(r3) -/* 800E0394 000DD2D4 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0398 000DD2D8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800E039C 000DD2DC 40 82 00 CC */ bne .L_800E0468 -/* 800E03A0 000DD2E0 54 A0 05 29 */ rlwinm. r0, r5, 0, 0x14, 0x14 -/* 800E03A4 000DD2E4 41 82 00 2C */ beq .L_800E03D0 -/* 800E03A8 000DD2E8 80 03 00 00 */ lwz r0, 0(r3) -/* 800E03AC 000DD2EC 70 00 07 F5 */ andi. r0, r0, 0x7f5 -/* 800E03B0 000DD2F0 60 00 08 00 */ ori r0, r0, 0x800 -/* 800E03B4 000DD2F4 90 03 00 00 */ stw r0, 0(r3) -/* 800E03B8 000DD2F8 38 80 00 00 */ li r4, 0 -/* 800E03BC 000DD2FC 90 9F 00 20 */ stw r4, 0x20(r31) -/* 800E03C0 000DD300 57 80 10 3A */ slwi r0, r28, 2 -/* 800E03C4 000DD304 3C 60 80 00 */ lis r3, 0x800030C0@ha -/* 800E03C8 000DD308 38 63 30 C0 */ addi r3, r3, 0x800030C0@l -/* 800E03CC 000DD30C 7C 83 01 2E */ stwx r4, r3, r0 -.L_800E03D0: -/* 800E03D0 000DD310 54 A0 04 E7 */ rlwinm. r0, r5, 0, 0x13, 0x13 -/* 800E03D4 000DD314 41 82 00 74 */ beq .L_800E0448 -/* 800E03D8 000DD318 3F E0 80 00 */ lis r31, 0x800000F8@ha -/* 800E03DC 000DD31C 80 1F 00 F8 */ lwz r0, 0x800000F8@l(r31) -/* 800E03E0 000DD320 54 00 F0 BE */ srwi r0, r0, 2 -/* 800E03E4 000DD324 3C 60 10 62 */ lis r3, 0x10624DD3@ha -/* 800E03E8 000DD328 38 63 4D D3 */ addi r3, r3, 0x10624DD3@l -/* 800E03EC 000DD32C 7C 03 00 16 */ mulhwu r0, r3, r0 -/* 800E03F0 000DD330 54 1B D1 BE */ srwi r27, r0, 6 -/* 800E03F4 000DD334 48 01 27 9D */ bl OSGetTime -/* 800E03F8 000DD338 38 A0 00 00 */ li r5, 0 -/* 800E03FC 000DD33C 38 DB 00 00 */ addi r6, r27, 0 -/* 800E0400 000DD340 4B FE 19 C5 */ bl __div2i -/* 800E0404 000DD344 38 A0 00 00 */ li r5, 0 -/* 800E0408 000DD348 38 C0 00 64 */ li r6, 0x64 -/* 800E040C 000DD34C 4B FE 19 B9 */ bl __div2i -/* 800E0410 000DD350 38 84 00 01 */ addi r4, r4, 1 -/* 800E0414 000DD354 57 80 10 3A */ slwi r0, r28, 2 -/* 800E0418 000DD358 38 7F 30 C0 */ addi r3, r31, 0x30c0 -/* 800E041C 000DD35C 7C 63 02 14 */ add r3, r3, r0 -/* 800E0420 000DD360 80 03 00 00 */ lwz r0, 0(r3) -/* 800E0424 000DD364 2C 00 00 00 */ cmpwi r0, 0 -/* 800E0428 000DD368 40 82 00 08 */ bne .L_800E0430 -/* 800E042C 000DD36C 90 83 00 00 */ stw r4, 0(r3) -.L_800E0430: -/* 800E0430 000DD370 80 03 00 00 */ lwz r0, 0(r3) -/* 800E0434 000DD374 7C 00 20 50 */ subf r0, r0, r4 -/* 800E0438 000DD378 2C 00 00 03 */ cmpwi r0, 3 -/* 800E043C 000DD37C 40 80 00 58 */ bge .L_800E0494 -/* 800E0440 000DD380 3B A0 00 00 */ li r29, 0 -/* 800E0444 000DD384 48 00 00 50 */ b .L_800E0494 -.L_800E0448: -/* 800E0448 000DD388 38 80 00 00 */ li r4, 0 -/* 800E044C 000DD38C 90 9F 00 20 */ stw r4, 0x20(r31) -/* 800E0450 000DD390 57 80 10 3A */ slwi r0, r28, 2 -/* 800E0454 000DD394 3C 60 80 00 */ lis r3, 0x800030C0@ha -/* 800E0458 000DD398 38 63 30 C0 */ addi r3, r3, 0x800030C0@l -/* 800E045C 000DD39C 7C 83 01 2E */ stwx r4, r3, r0 -/* 800E0460 000DD3A0 3B A0 00 00 */ li r29, 0 -/* 800E0464 000DD3A4 48 00 00 30 */ b .L_800E0494 -.L_800E0468: -/* 800E0468 000DD3A8 54 A0 04 E7 */ rlwinm. r0, r5, 0, 0x13, 0x13 -/* 800E046C 000DD3AC 41 82 00 0C */ beq .L_800E0478 -/* 800E0470 000DD3B0 54 A0 05 29 */ rlwinm. r0, r5, 0, 0x14, 0x14 -/* 800E0474 000DD3B4 41 82 00 20 */ beq .L_800E0494 -.L_800E0478: -/* 800E0478 000DD3B8 38 80 00 00 */ li r4, 0 -/* 800E047C 000DD3BC 90 9F 00 20 */ stw r4, 0x20(r31) -/* 800E0480 000DD3C0 57 80 10 3A */ slwi r0, r28, 2 -/* 800E0484 000DD3C4 3C 60 80 00 */ lis r3, 0x800030C0@ha -/* 800E0488 000DD3C8 38 63 30 C0 */ addi r3, r3, 0x800030C0@l -/* 800E048C 000DD3CC 7C 83 01 2E */ stwx r4, r3, r0 -/* 800E0490 000DD3D0 3B A0 00 00 */ li r29, 0 -.L_800E0494: -/* 800E0494 000DD3D4 7F C3 F3 78 */ mr r3, r30 -/* 800E0498 000DD3D8 48 00 E7 C9 */ bl OSRestoreInterrupts -/* 800E049C 000DD3DC 7F A3 EB 78 */ mr r3, r29 -.L_800E04A0: -/* 800E04A0 000DD3E0 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 800E04A4 000DD3E4 BB 61 00 14 */ lmw r27, 0x14(r1) -/* 800E04A8 000DD3E8 38 21 00 28 */ addi r1, r1, 0x28 -/* 800E04AC 000DD3EC 7C 08 03 A6 */ mtlr r0 -/* 800E04B0 000DD3F0 4E 80 00 20 */ blr -.endfn __EXIProbe - -.fn EXIProbe, global -/* 800E04B4 000DD3F4 7C 08 02 A6 */ mflr r0 -/* 800E04B8 000DD3F8 90 01 00 04 */ stw r0, 4(r1) -/* 800E04BC 000DD3FC 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 800E04C0 000DD400 93 E1 00 14 */ stw r31, 0x14(r1) -/* 800E04C4 000DD404 93 C1 00 10 */ stw r30, 0x10(r1) -/* 800E04C8 000DD408 3B C3 00 00 */ addi r30, r3, 0 -/* 800E04CC 000DD40C 54 64 30 32 */ slwi r4, r3, 6 -/* 800E04D0 000DD410 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E04D4 000DD414 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E04D8 000DD418 7F E0 22 14 */ add r31, r0, r4 -/* 800E04DC 000DD41C 38 7E 00 00 */ addi r3, r30, 0 -/* 800E04E0 000DD420 4B FF FE 61 */ bl __EXIProbe -/* 800E04E4 000DD424 2C 03 00 00 */ cmpwi r3, 0 -/* 800E04E8 000DD428 41 82 00 34 */ beq .L_800E051C -/* 800E04EC 000DD42C 80 1F 00 20 */ lwz r0, 0x20(r31) -/* 800E04F0 000DD430 2C 00 00 00 */ cmpwi r0, 0 -/* 800E04F4 000DD434 40 82 00 28 */ bne .L_800E051C -/* 800E04F8 000DD438 38 7E 00 00 */ addi r3, r30, 0 -/* 800E04FC 000DD43C 38 80 00 00 */ li r4, 0 -/* 800E0500 000DD440 38 A1 00 0C */ addi r5, r1, 0xc -/* 800E0504 000DD444 48 00 0C 7D */ bl EXIGetID -/* 800E0508 000DD448 2C 03 00 00 */ cmpwi r3, 0 -/* 800E050C 000DD44C 41 82 00 0C */ beq .L_800E0518 -/* 800E0510 000DD450 38 60 00 01 */ li r3, 1 -/* 800E0514 000DD454 48 00 00 08 */ b .L_800E051C -.L_800E0518: -/* 800E0518 000DD458 38 60 00 00 */ li r3, 0 -.L_800E051C: -/* 800E051C 000DD45C 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 800E0520 000DD460 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 800E0524 000DD464 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 800E0528 000DD468 38 21 00 18 */ addi r1, r1, 0x18 -/* 800E052C 000DD46C 7C 08 03 A6 */ mtlr r0 -/* 800E0530 000DD470 4E 80 00 20 */ blr -.endfn EXIProbe - -.fn EXIProbeEx, global -/* 800E0534 000DD474 7C 08 02 A6 */ mflr r0 -/* 800E0538 000DD478 90 01 00 04 */ stw r0, 4(r1) -/* 800E053C 000DD47C 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 800E0540 000DD480 93 E1 00 14 */ stw r31, 0x14(r1) -/* 800E0544 000DD484 93 C1 00 10 */ stw r30, 0x10(r1) -/* 800E0548 000DD488 3B C3 00 00 */ addi r30, r3, 0 -/* 800E054C 000DD48C 54 64 30 32 */ slwi r4, r3, 6 -/* 800E0550 000DD490 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E0554 000DD494 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E0558 000DD498 7F E0 22 14 */ add r31, r0, r4 -/* 800E055C 000DD49C 38 7E 00 00 */ addi r3, r30, 0 -/* 800E0560 000DD4A0 4B FF FD E1 */ bl __EXIProbe -/* 800E0564 000DD4A4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0568 000DD4A8 41 82 00 34 */ beq .L_800E059C -/* 800E056C 000DD4AC 80 1F 00 20 */ lwz r0, 0x20(r31) -/* 800E0570 000DD4B0 2C 00 00 00 */ cmpwi r0, 0 -/* 800E0574 000DD4B4 40 82 00 28 */ bne .L_800E059C -/* 800E0578 000DD4B8 38 7E 00 00 */ addi r3, r30, 0 -/* 800E057C 000DD4BC 38 80 00 00 */ li r4, 0 -/* 800E0580 000DD4C0 38 A1 00 0C */ addi r5, r1, 0xc -/* 800E0584 000DD4C4 48 00 0B FD */ bl EXIGetID -/* 800E0588 000DD4C8 2C 03 00 00 */ cmpwi r3, 0 -/* 800E058C 000DD4CC 41 82 00 0C */ beq .L_800E0598 -/* 800E0590 000DD4D0 38 60 00 01 */ li r3, 1 -/* 800E0594 000DD4D4 48 00 00 08 */ b .L_800E059C -.L_800E0598: -/* 800E0598 000DD4D8 38 60 00 00 */ li r3, 0 -.L_800E059C: -/* 800E059C 000DD4DC 2C 03 00 00 */ cmpwi r3, 0 -/* 800E05A0 000DD4E0 41 82 00 0C */ beq .L_800E05AC -/* 800E05A4 000DD4E4 38 60 00 01 */ li r3, 1 -/* 800E05A8 000DD4E8 48 00 00 28 */ b .L_800E05D0 -.L_800E05AC: -/* 800E05AC 000DD4EC 57 C0 10 3A */ slwi r0, r30, 2 -/* 800E05B0 000DD4F0 3C 60 80 00 */ lis r3, 0x800030C0@ha -/* 800E05B4 000DD4F4 38 63 30 C0 */ addi r3, r3, 0x800030C0@l -/* 800E05B8 000DD4F8 7C 03 00 2E */ lwzx r0, r3, r0 -/* 800E05BC 000DD4FC 2C 00 00 00 */ cmpwi r0, 0 -/* 800E05C0 000DD500 41 82 00 0C */ beq .L_800E05CC -/* 800E05C4 000DD504 38 60 00 00 */ li r3, 0 -/* 800E05C8 000DD508 48 00 00 08 */ b .L_800E05D0 -.L_800E05CC: -/* 800E05CC 000DD50C 38 60 FF FF */ li r3, -1 -.L_800E05D0: -/* 800E05D0 000DD510 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 800E05D4 000DD514 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 800E05D8 000DD518 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 800E05DC 000DD51C 38 21 00 18 */ addi r1, r1, 0x18 -/* 800E05E0 000DD520 7C 08 03 A6 */ mtlr r0 -/* 800E05E4 000DD524 4E 80 00 20 */ blr -.endfn EXIProbeEx - -.fn EXIAttach, global -/* 800E05E8 000DD528 7C 08 02 A6 */ mflr r0 -/* 800E05EC 000DD52C 90 01 00 04 */ stw r0, 4(r1) -/* 800E05F0 000DD530 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 800E05F4 000DD534 BF 61 00 2C */ stmw r27, 0x2c(r1) -/* 800E05F8 000DD538 3B 63 00 00 */ addi r27, r3, 0 -/* 800E05FC 000DD53C 3B 84 00 00 */ addi r28, r4, 0 -/* 800E0600 000DD540 54 64 30 32 */ slwi r4, r3, 6 -/* 800E0604 000DD544 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E0608 000DD548 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E060C 000DD54C 7F C0 22 14 */ add r30, r0, r4 -/* 800E0610 000DD550 38 7B 00 00 */ addi r3, r27, 0 -/* 800E0614 000DD554 4B FF FD 2D */ bl __EXIProbe -/* 800E0618 000DD558 2C 03 00 00 */ cmpwi r3, 0 -/* 800E061C 000DD55C 41 82 00 20 */ beq .L_800E063C -/* 800E0620 000DD560 80 1E 00 20 */ lwz r0, 0x20(r30) -/* 800E0624 000DD564 2C 00 00 00 */ cmpwi r0, 0 -/* 800E0628 000DD568 40 82 00 14 */ bne .L_800E063C -/* 800E062C 000DD56C 38 7B 00 00 */ addi r3, r27, 0 -/* 800E0630 000DD570 38 80 00 00 */ li r4, 0 -/* 800E0634 000DD574 38 A1 00 1C */ addi r5, r1, 0x1c -/* 800E0638 000DD578 48 00 0B 49 */ bl EXIGetID -.L_800E063C: -/* 800E063C 000DD57C 48 00 E5 FD */ bl OSDisableInterrupts -/* 800E0640 000DD580 7C 7D 1B 78 */ mr r29, r3 -/* 800E0644 000DD584 80 1E 00 20 */ lwz r0, 0x20(r30) -/* 800E0648 000DD588 2C 00 00 00 */ cmpwi r0, 0 -/* 800E064C 000DD58C 40 82 00 14 */ bne .L_800E0660 -/* 800E0650 000DD590 7F A3 EB 78 */ mr r3, r29 -/* 800E0654 000DD594 48 00 E6 0D */ bl OSRestoreInterrupts -/* 800E0658 000DD598 38 60 00 00 */ li r3, 0 -/* 800E065C 000DD59C 48 00 00 84 */ b .L_800E06E0 -.L_800E0660: -/* 800E0660 000DD5A0 48 00 E5 D9 */ bl OSDisableInterrupts -/* 800E0664 000DD5A4 7C 7F 1B 78 */ mr r31, r3 -/* 800E0668 000DD5A8 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 800E066C 000DD5AC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800E0670 000DD5B0 40 82 00 14 */ bne .L_800E0684 -/* 800E0674 000DD5B4 7F 63 DB 78 */ mr r3, r27 -/* 800E0678 000DD5B8 4B FF FC C9 */ bl __EXIProbe -/* 800E067C 000DD5BC 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0680 000DD5C0 40 82 00 14 */ bne .L_800E0694 -.L_800E0684: -/* 800E0684 000DD5C4 7F E3 FB 78 */ mr r3, r31 -/* 800E0688 000DD5C8 48 00 E5 D9 */ bl OSRestoreInterrupts -/* 800E068C 000DD5CC 3B E0 00 00 */ li r31, 0 -/* 800E0690 000DD5D0 48 00 00 44 */ b .L_800E06D4 -.L_800E0694: -/* 800E0694 000DD5D4 38 7B 00 00 */ addi r3, r27, 0 -/* 800E0698 000DD5D8 38 80 00 01 */ li r4, 1 -/* 800E069C 000DD5DC 38 A0 00 00 */ li r5, 0 -/* 800E06A0 000DD5E0 38 C0 00 00 */ li r6, 0 -/* 800E06A4 000DD5E4 4B FF FB D9 */ bl EXIClearInterrupts -/* 800E06A8 000DD5E8 93 9E 00 08 */ stw r28, 8(r30) -/* 800E06AC 000DD5EC 3C 60 00 10 */ lis r3, 0x10 -/* 800E06B0 000DD5F0 1C 1B 00 03 */ mulli r0, r27, 3 -/* 800E06B4 000DD5F4 7C 63 04 30 */ srw r3, r3, r0 -/* 800E06B8 000DD5F8 48 00 E9 D1 */ bl __OSUnmaskInterrupts -/* 800E06BC 000DD5FC 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 800E06C0 000DD600 60 00 00 08 */ ori r0, r0, 8 -/* 800E06C4 000DD604 90 1E 00 0C */ stw r0, 0xc(r30) -/* 800E06C8 000DD608 7F E3 FB 78 */ mr r3, r31 -/* 800E06CC 000DD60C 48 00 E5 95 */ bl OSRestoreInterrupts -/* 800E06D0 000DD610 3B E0 00 01 */ li r31, 1 -.L_800E06D4: -/* 800E06D4 000DD614 7F A3 EB 78 */ mr r3, r29 -/* 800E06D8 000DD618 48 00 E5 89 */ bl OSRestoreInterrupts -/* 800E06DC 000DD61C 7F E3 FB 78 */ mr r3, r31 -.L_800E06E0: -/* 800E06E0 000DD620 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800E06E4 000DD624 BB 61 00 2C */ lmw r27, 0x2c(r1) -/* 800E06E8 000DD628 38 21 00 40 */ addi r1, r1, 0x40 -/* 800E06EC 000DD62C 7C 08 03 A6 */ mtlr r0 -/* 800E06F0 000DD630 4E 80 00 20 */ blr -.endfn EXIAttach - -.fn EXIDetach, global -/* 800E06F4 000DD634 7C 08 02 A6 */ mflr r0 -/* 800E06F8 000DD638 90 01 00 04 */ stw r0, 4(r1) -/* 800E06FC 000DD63C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E0700 000DD640 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800E0704 000DD644 93 C1 00 18 */ stw r30, 0x18(r1) -/* 800E0708 000DD648 93 A1 00 14 */ stw r29, 0x14(r1) -/* 800E070C 000DD64C 3B A3 00 00 */ addi r29, r3, 0 -/* 800E0710 000DD650 54 64 30 32 */ slwi r4, r3, 6 -/* 800E0714 000DD654 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E0718 000DD658 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E071C 000DD65C 7F E0 22 14 */ add r31, r0, r4 -/* 800E0720 000DD660 48 00 E5 19 */ bl OSDisableInterrupts -/* 800E0724 000DD664 7C 7E 1B 78 */ mr r30, r3 -/* 800E0728 000DD668 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E072C 000DD66C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800E0730 000DD670 40 82 00 14 */ bne .L_800E0744 -/* 800E0734 000DD674 7F C3 F3 78 */ mr r3, r30 -/* 800E0738 000DD678 48 00 E5 29 */ bl OSRestoreInterrupts -/* 800E073C 000DD67C 38 60 00 01 */ li r3, 1 -/* 800E0740 000DD680 48 00 00 54 */ b .L_800E0794 -.L_800E0744: -/* 800E0744 000DD684 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0748 000DD688 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800E074C 000DD68C 41 82 00 20 */ beq .L_800E076C -/* 800E0750 000DD690 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 800E0754 000DD694 28 00 00 00 */ cmplwi r0, 0 -/* 800E0758 000DD698 40 82 00 14 */ bne .L_800E076C -/* 800E075C 000DD69C 7F C3 F3 78 */ mr r3, r30 -/* 800E0760 000DD6A0 48 00 E5 01 */ bl OSRestoreInterrupts -/* 800E0764 000DD6A4 38 60 00 00 */ li r3, 0 -/* 800E0768 000DD6A8 48 00 00 2C */ b .L_800E0794 -.L_800E076C: -/* 800E076C 000DD6AC 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0770 000DD6B0 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 800E0774 000DD6B4 90 1F 00 0C */ stw r0, 0xc(r31) -/* 800E0778 000DD6B8 3C 60 00 50 */ lis r3, 0x50 -/* 800E077C 000DD6BC 1C 1D 00 03 */ mulli r0, r29, 3 -/* 800E0780 000DD6C0 7C 63 04 30 */ srw r3, r3, r0 -/* 800E0784 000DD6C4 48 00 E8 7D */ bl __OSMaskInterrupts -/* 800E0788 000DD6C8 7F C3 F3 78 */ mr r3, r30 -/* 800E078C 000DD6CC 48 00 E4 D5 */ bl OSRestoreInterrupts -/* 800E0790 000DD6D0 38 60 00 01 */ li r3, 1 -.L_800E0794: -/* 800E0794 000DD6D4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E0798 000DD6D8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800E079C 000DD6DC 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 800E07A0 000DD6E0 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 800E07A4 000DD6E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E07A8 000DD6E8 7C 08 03 A6 */ mtlr r0 -/* 800E07AC 000DD6EC 4E 80 00 20 */ blr -.endfn EXIDetach - -.fn EXISelect, global -/* 800E07B0 000DD6F0 7C 08 02 A6 */ mflr r0 -/* 800E07B4 000DD6F4 90 01 00 04 */ stw r0, 4(r1) -/* 800E07B8 000DD6F8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800E07BC 000DD6FC BF 61 00 1C */ stmw r27, 0x1c(r1) -/* 800E07C0 000DD700 3B 63 00 00 */ addi r27, r3, 0 -/* 800E07C4 000DD704 3B 84 00 00 */ addi r28, r4, 0 -/* 800E07C8 000DD708 3B A5 00 00 */ addi r29, r5, 0 -/* 800E07CC 000DD70C 54 64 30 32 */ slwi r4, r3, 6 -/* 800E07D0 000DD710 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E07D4 000DD714 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E07D8 000DD718 7F E0 22 14 */ add r31, r0, r4 -/* 800E07DC 000DD71C 48 00 E4 5D */ bl OSDisableInterrupts -/* 800E07E0 000DD720 7C 7E 1B 78 */ mr r30, r3 -/* 800E07E4 000DD724 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E07E8 000DD728 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800E07EC 000DD72C 40 82 00 48 */ bne .L_800E0834 -/* 800E07F0 000DD730 2C 1B 00 02 */ cmpwi r27, 2 -/* 800E07F4 000DD734 41 82 00 50 */ beq .L_800E0844 -/* 800E07F8 000DD738 28 1C 00 00 */ cmplwi r28, 0 -/* 800E07FC 000DD73C 40 82 00 20 */ bne .L_800E081C -/* 800E0800 000DD740 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0804 000DD744 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800E0808 000DD748 40 82 00 14 */ bne .L_800E081C -/* 800E080C 000DD74C 7F 63 DB 78 */ mr r3, r27 -/* 800E0810 000DD750 4B FF FB 31 */ bl __EXIProbe -/* 800E0814 000DD754 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0818 000DD758 41 82 00 1C */ beq .L_800E0834 -.L_800E081C: -/* 800E081C 000DD75C 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0820 000DD760 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800E0824 000DD764 41 82 00 10 */ beq .L_800E0834 -/* 800E0828 000DD768 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 800E082C 000DD76C 7C 00 E0 40 */ cmplw r0, r28 -/* 800E0830 000DD770 41 82 00 14 */ beq .L_800E0844 -.L_800E0834: -/* 800E0834 000DD774 7F C3 F3 78 */ mr r3, r30 -/* 800E0838 000DD778 48 00 E4 29 */ bl OSRestoreInterrupts -/* 800E083C 000DD77C 38 60 00 00 */ li r3, 0 -/* 800E0840 000DD780 48 00 00 88 */ b .L_800E08C8 -.L_800E0844: -/* 800E0844 000DD784 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0848 000DD788 60 00 00 04 */ ori r0, r0, 4 -/* 800E084C 000DD78C 90 1F 00 0C */ stw r0, 0xc(r31) -/* 800E0850 000DD790 1C 1B 00 14 */ mulli r0, r27, 0x14 -/* 800E0854 000DD794 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800E0858 000DD798 38 83 68 00 */ addi r4, r3, 0xCC006800@l -/* 800E085C 000DD79C 7C 84 02 14 */ add r4, r4, r0 -/* 800E0860 000DD7A0 80 A4 00 00 */ lwz r5, 0(r4) -/* 800E0864 000DD7A4 70 A5 04 05 */ andi. r5, r5, 0x405 -/* 800E0868 000DD7A8 38 00 00 01 */ li r0, 1 -/* 800E086C 000DD7AC 7C 00 E0 30 */ slw r0, r0, r28 -/* 800E0870 000DD7B0 54 03 38 30 */ slwi r3, r0, 7 -/* 800E0874 000DD7B4 57 A0 20 36 */ slwi r0, r29, 4 -/* 800E0878 000DD7B8 7C 60 03 78 */ or r0, r3, r0 -/* 800E087C 000DD7BC 7C A5 03 78 */ or r5, r5, r0 -/* 800E0880 000DD7C0 90 A4 00 00 */ stw r5, 0(r4) -/* 800E0884 000DD7C4 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0888 000DD7C8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800E088C 000DD7CC 41 82 00 30 */ beq .L_800E08BC -/* 800E0890 000DD7D0 2C 1B 00 01 */ cmpwi r27, 1 -/* 800E0894 000DD7D4 41 82 00 20 */ beq .L_800E08B4 -/* 800E0898 000DD7D8 40 80 00 24 */ bge .L_800E08BC -/* 800E089C 000DD7DC 2C 1B 00 00 */ cmpwi r27, 0 -/* 800E08A0 000DD7E0 40 80 00 08 */ bge .L_800E08A8 -/* 800E08A4 000DD7E4 48 00 00 18 */ b .L_800E08BC -.L_800E08A8: -/* 800E08A8 000DD7E8 3C 60 00 10 */ lis r3, 0x10 -/* 800E08AC 000DD7EC 48 00 E7 55 */ bl __OSMaskInterrupts -/* 800E08B0 000DD7F0 48 00 00 0C */ b .L_800E08BC -.L_800E08B4: -/* 800E08B4 000DD7F4 3C 60 00 02 */ lis r3, 2 -/* 800E08B8 000DD7F8 48 00 E7 49 */ bl __OSMaskInterrupts -.L_800E08BC: -/* 800E08BC 000DD7FC 7F C3 F3 78 */ mr r3, r30 -/* 800E08C0 000DD800 48 00 E3 A1 */ bl OSRestoreInterrupts -/* 800E08C4 000DD804 38 60 00 01 */ li r3, 1 -.L_800E08C8: -/* 800E08C8 000DD808 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800E08CC 000DD80C BB 61 00 1C */ lmw r27, 0x1c(r1) -/* 800E08D0 000DD810 38 21 00 30 */ addi r1, r1, 0x30 -/* 800E08D4 000DD814 7C 08 03 A6 */ mtlr r0 -/* 800E08D8 000DD818 4E 80 00 20 */ blr -.endfn EXISelect - -.fn EXIDeselect, global -/* 800E08DC 000DD81C 7C 08 02 A6 */ mflr r0 -/* 800E08E0 000DD820 90 01 00 04 */ stw r0, 4(r1) -/* 800E08E4 000DD824 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E08E8 000DD828 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800E08EC 000DD82C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 800E08F0 000DD830 93 A1 00 14 */ stw r29, 0x14(r1) -/* 800E08F4 000DD834 93 81 00 10 */ stw r28, 0x10(r1) -/* 800E08F8 000DD838 3B E3 00 00 */ addi r31, r3, 0 -/* 800E08FC 000DD83C 54 64 30 32 */ slwi r4, r3, 6 -/* 800E0900 000DD840 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E0904 000DD844 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E0908 000DD848 7F C0 22 14 */ add r30, r0, r4 -/* 800E090C 000DD84C 48 00 E3 2D */ bl OSDisableInterrupts -/* 800E0910 000DD850 7C 7C 1B 78 */ mr r28, r3 -/* 800E0914 000DD854 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 800E0918 000DD858 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800E091C 000DD85C 40 82 00 14 */ bne .L_800E0930 -/* 800E0920 000DD860 7F 83 E3 78 */ mr r3, r28 -/* 800E0924 000DD864 48 00 E3 3D */ bl OSRestoreInterrupts -/* 800E0928 000DD868 38 60 00 00 */ li r3, 0 -/* 800E092C 000DD86C 48 00 00 A0 */ b .L_800E09CC -.L_800E0930: -/* 800E0930 000DD870 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 800E0934 000DD874 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 800E0938 000DD878 90 1E 00 0C */ stw r0, 0xc(r30) -/* 800E093C 000DD87C 1C 1F 00 14 */ mulli r0, r31, 0x14 -/* 800E0940 000DD880 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800E0944 000DD884 38 63 68 00 */ addi r3, r3, 0xCC006800@l -/* 800E0948 000DD888 7C 63 02 14 */ add r3, r3, r0 -/* 800E094C 000DD88C 83 A3 00 00 */ lwz r29, 0(r3) -/* 800E0950 000DD890 73 A0 04 05 */ andi. r0, r29, 0x405 -/* 800E0954 000DD894 90 03 00 00 */ stw r0, 0(r3) -/* 800E0958 000DD898 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 800E095C 000DD89C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800E0960 000DD8A0 41 82 00 30 */ beq .L_800E0990 -/* 800E0964 000DD8A4 2C 1F 00 01 */ cmpwi r31, 1 -/* 800E0968 000DD8A8 41 82 00 20 */ beq .L_800E0988 -/* 800E096C 000DD8AC 40 80 00 24 */ bge .L_800E0990 -/* 800E0970 000DD8B0 2C 1F 00 00 */ cmpwi r31, 0 -/* 800E0974 000DD8B4 40 80 00 08 */ bge .L_800E097C -/* 800E0978 000DD8B8 48 00 00 18 */ b .L_800E0990 -.L_800E097C: -/* 800E097C 000DD8BC 3C 60 00 10 */ lis r3, 0x10 -/* 800E0980 000DD8C0 48 00 E7 09 */ bl __OSUnmaskInterrupts -/* 800E0984 000DD8C4 48 00 00 0C */ b .L_800E0990 -.L_800E0988: -/* 800E0988 000DD8C8 3C 60 00 02 */ lis r3, 2 -/* 800E098C 000DD8CC 48 00 E6 FD */ bl __OSUnmaskInterrupts -.L_800E0990: -/* 800E0990 000DD8D0 7F 83 E3 78 */ mr r3, r28 -/* 800E0994 000DD8D4 48 00 E2 CD */ bl OSRestoreInterrupts -/* 800E0998 000DD8D8 2C 1F 00 02 */ cmpwi r31, 2 -/* 800E099C 000DD8DC 41 82 00 2C */ beq .L_800E09C8 -/* 800E09A0 000DD8E0 57 A0 06 31 */ rlwinm. r0, r29, 0, 0x18, 0x18 -/* 800E09A4 000DD8E4 41 82 00 24 */ beq .L_800E09C8 -/* 800E09A8 000DD8E8 7F E3 FB 78 */ mr r3, r31 -/* 800E09AC 000DD8EC 4B FF F9 95 */ bl __EXIProbe -/* 800E09B0 000DD8F0 2C 03 00 00 */ cmpwi r3, 0 -/* 800E09B4 000DD8F4 41 82 00 0C */ beq .L_800E09C0 -/* 800E09B8 000DD8F8 38 60 00 01 */ li r3, 1 -/* 800E09BC 000DD8FC 48 00 00 10 */ b .L_800E09CC -.L_800E09C0: -/* 800E09C0 000DD900 38 60 00 00 */ li r3, 0 -/* 800E09C4 000DD904 48 00 00 08 */ b .L_800E09CC -.L_800E09C8: -/* 800E09C8 000DD908 38 60 00 01 */ li r3, 1 -.L_800E09CC: -/* 800E09CC 000DD90C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E09D0 000DD910 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800E09D4 000DD914 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 800E09D8 000DD918 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 800E09DC 000DD91C 83 81 00 10 */ lwz r28, 0x10(r1) -/* 800E09E0 000DD920 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E09E4 000DD924 7C 08 03 A6 */ mtlr r0 -/* 800E09E8 000DD928 4E 80 00 20 */ blr -.endfn EXIDeselect - -.fn EXIIntrruptHandler, local -/* 800E09EC 000DD92C 7C 08 02 A6 */ mflr r0 -/* 800E09F0 000DD930 90 01 00 04 */ stw r0, 4(r1) -/* 800E09F4 000DD934 94 21 FD 08 */ stwu r1, -0x2f8(r1) -/* 800E09F8 000DD938 93 E1 02 F4 */ stw r31, 0x2f4(r1) -/* 800E09FC 000DD93C 93 C1 02 F0 */ stw r30, 0x2f0(r1) -/* 800E0A00 000DD940 93 A1 02 EC */ stw r29, 0x2ec(r1) -/* 800E0A04 000DD944 3B E4 00 00 */ addi r31, r4, 0 -/* 800E0A08 000DD948 7C 63 07 34 */ extsh r3, r3 -/* 800E0A0C 000DD94C 38 03 FF F7 */ addi r0, r3, -9 -/* 800E0A10 000DD950 3C 60 55 55 */ lis r3, 0x55555556@ha -/* 800E0A14 000DD954 38 63 55 56 */ addi r3, r3, 0x55555556@l -/* 800E0A18 000DD958 7C 63 00 96 */ mulhw r3, r3, r0 -/* 800E0A1C 000DD95C 54 60 0F FE */ srwi r0, r3, 0x1f -/* 800E0A20 000DD960 7F C3 02 14 */ add r30, r3, r0 -/* 800E0A24 000DD964 1C 1E 00 14 */ mulli r0, r30, 0x14 -/* 800E0A28 000DD968 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800E0A2C 000DD96C 38 63 68 00 */ addi r3, r3, 0xCC006800@l -/* 800E0A30 000DD970 7C 63 02 14 */ add r3, r3, r0 -/* 800E0A34 000DD974 80 03 00 00 */ lwz r0, 0(r3) -/* 800E0A38 000DD978 70 00 07 F5 */ andi. r0, r0, 0x7f5 -/* 800E0A3C 000DD97C 60 00 00 02 */ ori r0, r0, 2 -/* 800E0A40 000DD980 90 03 00 00 */ stw r0, 0(r3) -/* 800E0A44 000DD984 57 C4 30 32 */ slwi r4, r30, 6 -/* 800E0A48 000DD988 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E0A4C 000DD98C 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E0A50 000DD990 7C 60 22 14 */ add r3, r0, r4 -/* 800E0A54 000DD994 80 03 00 00 */ lwz r0, 0(r3) -/* 800E0A58 000DD998 7C 1D 03 78 */ mr r29, r0 -/* 800E0A5C 000DD99C 28 00 00 00 */ cmplwi r0, 0 -/* 800E0A60 000DD9A0 41 82 00 38 */ beq .L_800E0A98 -/* 800E0A64 000DD9A4 38 61 00 18 */ addi r3, r1, 0x18 -/* 800E0A68 000DD9A8 48 00 C7 05 */ bl OSClearContext -/* 800E0A6C 000DD9AC 38 61 00 18 */ addi r3, r1, 0x18 -/* 800E0A70 000DD9B0 48 00 C5 35 */ bl OSSetCurrentContext -/* 800E0A74 000DD9B4 38 7E 00 00 */ addi r3, r30, 0 -/* 800E0A78 000DD9B8 38 9F 00 00 */ addi r4, r31, 0 -/* 800E0A7C 000DD9BC 39 9D 00 00 */ addi r12, r29, 0 -/* 800E0A80 000DD9C0 7D 88 03 A6 */ mtlr r12 -/* 800E0A84 000DD9C4 4E 80 00 21 */ blrl -/* 800E0A88 000DD9C8 38 61 00 18 */ addi r3, r1, 0x18 -/* 800E0A8C 000DD9CC 48 00 C6 E1 */ bl OSClearContext -/* 800E0A90 000DD9D0 7F E3 FB 78 */ mr r3, r31 -/* 800E0A94 000DD9D4 48 00 C5 11 */ bl OSSetCurrentContext -.L_800E0A98: -/* 800E0A98 000DD9D8 80 01 02 FC */ lwz r0, 0x2fc(r1) -/* 800E0A9C 000DD9DC 83 E1 02 F4 */ lwz r31, 0x2f4(r1) -/* 800E0AA0 000DD9E0 83 C1 02 F0 */ lwz r30, 0x2f0(r1) -/* 800E0AA4 000DD9E4 83 A1 02 EC */ lwz r29, 0x2ec(r1) -/* 800E0AA8 000DD9E8 38 21 02 F8 */ addi r1, r1, 0x2f8 -/* 800E0AAC 000DD9EC 7C 08 03 A6 */ mtlr r0 -/* 800E0AB0 000DD9F0 4E 80 00 20 */ blr -.endfn EXIIntrruptHandler - -.fn TCIntrruptHandler, local -/* 800E0AB4 000DD9F4 7C 08 02 A6 */ mflr r0 -/* 800E0AB8 000DD9F8 90 01 00 04 */ stw r0, 4(r1) -/* 800E0ABC 000DD9FC 94 21 FD 08 */ stwu r1, -0x2f8(r1) -/* 800E0AC0 000DDA00 93 E1 02 F4 */ stw r31, 0x2f4(r1) -/* 800E0AC4 000DDA04 93 C1 02 F0 */ stw r30, 0x2f0(r1) -/* 800E0AC8 000DDA08 93 A1 02 EC */ stw r29, 0x2ec(r1) -/* 800E0ACC 000DDA0C 93 81 02 E8 */ stw r28, 0x2e8(r1) -/* 800E0AD0 000DDA10 3B 84 00 00 */ addi r28, r4, 0 -/* 800E0AD4 000DDA14 7C 65 07 34 */ extsh r5, r3 -/* 800E0AD8 000DDA18 38 05 FF F6 */ addi r0, r5, -10 -/* 800E0ADC 000DDA1C 3C 60 55 55 */ lis r3, 0x55555556@ha -/* 800E0AE0 000DDA20 38 63 55 56 */ addi r3, r3, 0x55555556@l -/* 800E0AE4 000DDA24 7C 63 00 96 */ mulhw r3, r3, r0 -/* 800E0AE8 000DDA28 54 60 0F FE */ srwi r0, r3, 0x1f -/* 800E0AEC 000DDA2C 7F C3 02 14 */ add r30, r3, r0 -/* 800E0AF0 000DDA30 57 C4 30 32 */ slwi r4, r30, 6 -/* 800E0AF4 000DDA34 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E0AF8 000DDA38 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E0AFC 000DDA3C 7F E0 22 14 */ add r31, r0, r4 -/* 800E0B00 000DDA40 3C 00 80 00 */ lis r0, 0x8000 -/* 800E0B04 000DDA44 7C 03 2C 30 */ srw r3, r0, r5 -/* 800E0B08 000DDA48 48 00 E4 F9 */ bl __OSMaskInterrupts -/* 800E0B0C 000DDA4C 1C FE 00 14 */ mulli r7, r30, 0x14 -/* 800E0B10 000DDA50 3C C0 CC 00 */ lis r6, 0xCC006800@ha -/* 800E0B14 000DDA54 38 66 68 00 */ addi r3, r6, 0xCC006800@l -/* 800E0B18 000DDA58 7C 63 3A 14 */ add r3, r3, r7 -/* 800E0B1C 000DDA5C 80 03 00 00 */ lwz r0, 0(r3) -/* 800E0B20 000DDA60 70 00 07 F5 */ andi. r0, r0, 0x7f5 -/* 800E0B24 000DDA64 60 00 00 08 */ ori r0, r0, 8 -/* 800E0B28 000DDA68 90 03 00 00 */ stw r0, 0(r3) -/* 800E0B2C 000DDA6C 80 1F 00 04 */ lwz r0, 4(r31) -/* 800E0B30 000DDA70 7C 1D 03 78 */ mr r29, r0 -/* 800E0B34 000DDA74 28 00 00 00 */ cmplwi r0, 0 -/* 800E0B38 000DDA78 41 82 01 74 */ beq .L_800E0CAC -/* 800E0B3C 000DDA7C 38 80 00 00 */ li r4, 0 -/* 800E0B40 000DDA80 90 9F 00 04 */ stw r4, 4(r31) -/* 800E0B44 000DDA84 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0B48 000DDA88 54 00 07 BF */ clrlwi. r0, r0, 0x1e -/* 800E0B4C 000DDA8C 41 82 01 2C */ beq .L_800E0C78 -/* 800E0B50 000DDA90 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0B54 000DDA94 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 800E0B58 000DDA98 41 82 01 14 */ beq .L_800E0C6C -/* 800E0B5C 000DDA9C 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 800E0B60 000DDAA0 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0B64 000DDAA4 41 82 01 08 */ beq .L_800E0C6C -/* 800E0B68 000DDAA8 80 BF 00 14 */ lwz r5, 0x14(r31) -/* 800E0B6C 000DDAAC 38 06 68 00 */ addi r0, r6, 0x6800 -/* 800E0B70 000DDAB0 7C C0 3A 14 */ add r6, r0, r7 -/* 800E0B74 000DDAB4 80 06 00 10 */ lwz r0, 0x10(r6) -/* 800E0B78 000DDAB8 40 81 00 F4 */ ble .L_800E0C6C -/* 800E0B7C 000DDABC 38 E3 FF F8 */ addi r7, r3, -8 -/* 800E0B80 000DDAC0 2C 03 00 08 */ cmpwi r3, 8 -/* 800E0B84 000DDAC4 40 81 00 BC */ ble .L_800E0C40 -/* 800E0B88 000DDAC8 38 C7 00 07 */ addi r6, r7, 7 -/* 800E0B8C 000DDACC 54 C6 E8 FE */ srwi r6, r6, 3 -/* 800E0B90 000DDAD0 7C C9 03 A6 */ mtctr r6 -/* 800E0B94 000DDAD4 2C 07 00 00 */ cmpwi r7, 0 -/* 800E0B98 000DDAD8 40 81 00 A8 */ ble .L_800E0C40 -.L_800E0B9C: -/* 800E0B9C 000DDADC 20 C4 00 03 */ subfic r6, r4, 3 -/* 800E0BA0 000DDAE0 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0BA4 000DDAE4 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0BA8 000DDAE8 98 C5 00 00 */ stb r6, 0(r5) -/* 800E0BAC 000DDAEC 38 C4 00 01 */ addi r6, r4, 1 -/* 800E0BB0 000DDAF0 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0BB4 000DDAF4 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0BB8 000DDAF8 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0BBC 000DDAFC 98 C5 00 01 */ stb r6, 1(r5) -/* 800E0BC0 000DDB00 38 C4 00 02 */ addi r6, r4, 2 -/* 800E0BC4 000DDB04 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0BC8 000DDB08 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0BCC 000DDB0C 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0BD0 000DDB10 98 C5 00 02 */ stb r6, 2(r5) -/* 800E0BD4 000DDB14 7C C4 00 D0 */ neg r6, r4 -/* 800E0BD8 000DDB18 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0BDC 000DDB1C 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0BE0 000DDB20 98 C5 00 03 */ stb r6, 3(r5) -/* 800E0BE4 000DDB24 38 C4 00 04 */ addi r6, r4, 4 -/* 800E0BE8 000DDB28 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0BEC 000DDB2C 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0BF0 000DDB30 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0BF4 000DDB34 98 C5 00 04 */ stb r6, 4(r5) -/* 800E0BF8 000DDB38 38 C4 00 05 */ addi r6, r4, 5 -/* 800E0BFC 000DDB3C 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0C00 000DDB40 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0C04 000DDB44 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0C08 000DDB48 98 C5 00 05 */ stb r6, 5(r5) -/* 800E0C0C 000DDB4C 38 C4 00 06 */ addi r6, r4, 6 -/* 800E0C10 000DDB50 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0C14 000DDB54 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0C18 000DDB58 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0C1C 000DDB5C 98 C5 00 06 */ stb r6, 6(r5) -/* 800E0C20 000DDB60 38 C4 00 07 */ addi r6, r4, 7 -/* 800E0C24 000DDB64 20 C6 00 03 */ subfic r6, r6, 3 -/* 800E0C28 000DDB68 54 C6 18 38 */ slwi r6, r6, 3 -/* 800E0C2C 000DDB6C 7C 06 34 30 */ srw r6, r0, r6 -/* 800E0C30 000DDB70 98 C5 00 07 */ stb r6, 7(r5) -/* 800E0C34 000DDB74 38 A5 00 08 */ addi r5, r5, 8 -/* 800E0C38 000DDB78 38 84 00 08 */ addi r4, r4, 8 -/* 800E0C3C 000DDB7C 42 00 FF 60 */ bdnz .L_800E0B9C -.L_800E0C40: -/* 800E0C40 000DDB80 7C C4 18 50 */ subf r6, r4, r3 -/* 800E0C44 000DDB84 7C C9 03 A6 */ mtctr r6 -/* 800E0C48 000DDB88 7C 04 18 00 */ cmpw r4, r3 -/* 800E0C4C 000DDB8C 40 80 00 20 */ bge .L_800E0C6C -.L_800E0C50: -/* 800E0C50 000DDB90 20 64 00 03 */ subfic r3, r4, 3 -/* 800E0C54 000DDB94 54 63 18 38 */ slwi r3, r3, 3 -/* 800E0C58 000DDB98 7C 03 1C 30 */ srw r3, r0, r3 -/* 800E0C5C 000DDB9C 98 65 00 00 */ stb r3, 0(r5) -/* 800E0C60 000DDBA0 38 A5 00 01 */ addi r5, r5, 1 -/* 800E0C64 000DDBA4 38 84 00 01 */ addi r4, r4, 1 -/* 800E0C68 000DDBA8 42 00 FF E8 */ bdnz .L_800E0C50 -.L_800E0C6C: -/* 800E0C6C 000DDBAC 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E0C70 000DDBB0 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d -/* 800E0C74 000DDBB4 90 1F 00 0C */ stw r0, 0xc(r31) -.L_800E0C78: -/* 800E0C78 000DDBB8 38 61 00 20 */ addi r3, r1, 0x20 -/* 800E0C7C 000DDBBC 48 00 C4 F1 */ bl OSClearContext -/* 800E0C80 000DDBC0 38 61 00 20 */ addi r3, r1, 0x20 -/* 800E0C84 000DDBC4 48 00 C3 21 */ bl OSSetCurrentContext -/* 800E0C88 000DDBC8 38 7E 00 00 */ addi r3, r30, 0 -/* 800E0C8C 000DDBCC 38 9C 00 00 */ addi r4, r28, 0 -/* 800E0C90 000DDBD0 39 9D 00 00 */ addi r12, r29, 0 -/* 800E0C94 000DDBD4 7D 88 03 A6 */ mtlr r12 -/* 800E0C98 000DDBD8 4E 80 00 21 */ blrl -/* 800E0C9C 000DDBDC 38 61 00 20 */ addi r3, r1, 0x20 -/* 800E0CA0 000DDBE0 48 00 C4 CD */ bl OSClearContext -/* 800E0CA4 000DDBE4 7F 83 E3 78 */ mr r3, r28 -/* 800E0CA8 000DDBE8 48 00 C2 FD */ bl OSSetCurrentContext -.L_800E0CAC: -/* 800E0CAC 000DDBEC 80 01 02 FC */ lwz r0, 0x2fc(r1) -/* 800E0CB0 000DDBF0 83 E1 02 F4 */ lwz r31, 0x2f4(r1) -/* 800E0CB4 000DDBF4 83 C1 02 F0 */ lwz r30, 0x2f0(r1) -/* 800E0CB8 000DDBF8 83 A1 02 EC */ lwz r29, 0x2ec(r1) -/* 800E0CBC 000DDBFC 83 81 02 E8 */ lwz r28, 0x2e8(r1) -/* 800E0CC0 000DDC00 38 21 02 F8 */ addi r1, r1, 0x2f8 -/* 800E0CC4 000DDC04 7C 08 03 A6 */ mtlr r0 -/* 800E0CC8 000DDC08 4E 80 00 20 */ blr -.endfn TCIntrruptHandler - -.fn EXTIntrruptHandler, local -/* 800E0CCC 000DDC0C 7C 08 02 A6 */ mflr r0 -/* 800E0CD0 000DDC10 90 01 00 04 */ stw r0, 4(r1) -/* 800E0CD4 000DDC14 94 21 FD 18 */ stwu r1, -0x2e8(r1) -/* 800E0CD8 000DDC18 93 E1 02 E4 */ stw r31, 0x2e4(r1) -/* 800E0CDC 000DDC1C 93 C1 02 E0 */ stw r30, 0x2e0(r1) -/* 800E0CE0 000DDC20 93 A1 02 DC */ stw r29, 0x2dc(r1) -/* 800E0CE4 000DDC24 93 81 02 D8 */ stw r28, 0x2d8(r1) -/* 800E0CE8 000DDC28 3B E4 00 00 */ addi r31, r4, 0 -/* 800E0CEC 000DDC2C 7C 63 07 34 */ extsh r3, r3 -/* 800E0CF0 000DDC30 38 03 FF F5 */ addi r0, r3, -11 -/* 800E0CF4 000DDC34 3C 60 55 55 */ lis r3, 0x55555556@ha -/* 800E0CF8 000DDC38 38 63 55 56 */ addi r3, r3, 0x55555556@l -/* 800E0CFC 000DDC3C 7C 63 00 96 */ mulhw r3, r3, r0 -/* 800E0D00 000DDC40 54 60 0F FE */ srwi r0, r3, 0x1f -/* 800E0D04 000DDC44 7F C3 02 14 */ add r30, r3, r0 -/* 800E0D08 000DDC48 3C 60 00 50 */ lis r3, 0x50 -/* 800E0D0C 000DDC4C 1C 1E 00 03 */ mulli r0, r30, 3 -/* 800E0D10 000DDC50 7C 63 04 30 */ srw r3, r3, r0 -/* 800E0D14 000DDC54 48 00 E2 ED */ bl __OSMaskInterrupts -/* 800E0D18 000DDC58 57 C4 30 32 */ slwi r4, r30, 6 -/* 800E0D1C 000DDC5C 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E0D20 000DDC60 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E0D24 000DDC64 7F A0 22 14 */ add r29, r0, r4 -/* 800E0D28 000DDC68 83 9D 00 08 */ lwz r28, 8(r29) -/* 800E0D2C 000DDC6C 80 1D 00 0C */ lwz r0, 0xc(r29) -/* 800E0D30 000DDC70 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 800E0D34 000DDC74 90 1D 00 0C */ stw r0, 0xc(r29) -/* 800E0D38 000DDC78 28 1C 00 00 */ cmplwi r28, 0 -/* 800E0D3C 000DDC7C 41 82 00 40 */ beq .L_800E0D7C -/* 800E0D40 000DDC80 38 61 00 10 */ addi r3, r1, 0x10 -/* 800E0D44 000DDC84 48 00 C4 29 */ bl OSClearContext -/* 800E0D48 000DDC88 38 61 00 10 */ addi r3, r1, 0x10 -/* 800E0D4C 000DDC8C 48 00 C2 59 */ bl OSSetCurrentContext -/* 800E0D50 000DDC90 38 00 00 00 */ li r0, 0 -/* 800E0D54 000DDC94 90 1D 00 08 */ stw r0, 8(r29) -/* 800E0D58 000DDC98 38 7E 00 00 */ addi r3, r30, 0 -/* 800E0D5C 000DDC9C 38 9F 00 00 */ addi r4, r31, 0 -/* 800E0D60 000DDCA0 39 9C 00 00 */ addi r12, r28, 0 -/* 800E0D64 000DDCA4 7D 88 03 A6 */ mtlr r12 -/* 800E0D68 000DDCA8 4E 80 00 21 */ blrl -/* 800E0D6C 000DDCAC 38 61 00 10 */ addi r3, r1, 0x10 -/* 800E0D70 000DDCB0 48 00 C3 FD */ bl OSClearContext -/* 800E0D74 000DDCB4 7F E3 FB 78 */ mr r3, r31 -/* 800E0D78 000DDCB8 48 00 C2 2D */ bl OSSetCurrentContext -.L_800E0D7C: -/* 800E0D7C 000DDCBC 80 01 02 EC */ lwz r0, 0x2ec(r1) -/* 800E0D80 000DDCC0 83 E1 02 E4 */ lwz r31, 0x2e4(r1) -/* 800E0D84 000DDCC4 83 C1 02 E0 */ lwz r30, 0x2e0(r1) -/* 800E0D88 000DDCC8 83 A1 02 DC */ lwz r29, 0x2dc(r1) -/* 800E0D8C 000DDCCC 83 81 02 D8 */ lwz r28, 0x2d8(r1) -/* 800E0D90 000DDCD0 38 21 02 E8 */ addi r1, r1, 0x2e8 -/* 800E0D94 000DDCD4 7C 08 03 A6 */ mtlr r0 -/* 800E0D98 000DDCD8 4E 80 00 20 */ blr -.endfn EXTIntrruptHandler - -.fn EXIInit, global -/* 800E0D9C 000DDCDC 7C 08 02 A6 */ mflr r0 -/* 800E0DA0 000DDCE0 90 01 00 04 */ stw r0, 4(r1) -/* 800E0DA4 000DDCE4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E0DA8 000DDCE8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800E0DAC 000DDCEC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 800E0DB0 000DDCF0 93 A1 00 14 */ stw r29, 0x14(r1) -/* 800E0DB4 000DDCF4 93 81 00 10 */ stw r28, 0x10(r1) -/* 800E0DB8 000DDCF8 3C 60 CC 00 */ lis r3, 0xCC006800@ha -/* 800E0DBC 000DDCFC 38 63 68 00 */ addi r3, r3, 0xCC006800@l -.L_800E0DC0: -/* 800E0DC0 000DDD00 80 03 00 0C */ lwz r0, 0xc(r3) -/* 800E0DC4 000DDD04 54 00 07 FE */ clrlwi r0, r0, 0x1f -/* 800E0DC8 000DDD08 28 00 00 01 */ cmplwi r0, 1 -/* 800E0DCC 000DDD0C 41 82 FF F4 */ beq .L_800E0DC0 -/* 800E0DD0 000DDD10 80 03 00 20 */ lwz r0, 0x20(r3) -/* 800E0DD4 000DDD14 54 00 07 FE */ clrlwi r0, r0, 0x1f -/* 800E0DD8 000DDD18 28 00 00 01 */ cmplwi r0, 1 -/* 800E0DDC 000DDD1C 41 82 FF E4 */ beq .L_800E0DC0 -/* 800E0DE0 000DDD20 80 03 00 34 */ lwz r0, 0x34(r3) -/* 800E0DE4 000DDD24 54 00 07 FE */ clrlwi r0, r0, 0x1f -/* 800E0DE8 000DDD28 28 00 00 01 */ cmplwi r0, 1 -/* 800E0DEC 000DDD2C 41 82 FF D4 */ beq .L_800E0DC0 -/* 800E0DF0 000DDD30 3C 60 00 80 */ lis r3, 0x007F8000@ha -/* 800E0DF4 000DDD34 38 63 80 00 */ addi r3, r3, 0x007F8000@l -/* 800E0DF8 000DDD38 48 00 E2 09 */ bl __OSMaskInterrupts -/* 800E0DFC 000DDD3C 3B E0 00 00 */ li r31, 0 -/* 800E0E00 000DDD40 3C 80 CC 00 */ lis r4, 0xCC006800@ha -/* 800E0E04 000DDD44 93 E4 68 00 */ stw r31, 0xCC006800@l(r4) -/* 800E0E08 000DDD48 93 E4 68 14 */ stw r31, 0x6814(r4) -/* 800E0E0C 000DDD4C 93 E4 68 28 */ stw r31, 0x6828(r4) -/* 800E0E10 000DDD50 38 00 20 00 */ li r0, 0x2000 -/* 800E0E14 000DDD54 90 04 68 00 */ stw r0, 0x6800(r4) -/* 800E0E18 000DDD58 38 60 00 09 */ li r3, 9 -/* 800E0E1C 000DDD5C 3C 80 80 0E */ lis r4, EXIIntrruptHandler@ha -/* 800E0E20 000DDD60 3B 84 09 EC */ addi r28, r4, EXIIntrruptHandler@l -/* 800E0E24 000DDD64 38 9C 00 00 */ addi r4, r28, 0 -/* 800E0E28 000DDD68 48 00 DE 5D */ bl __OSSetInterruptHandler -/* 800E0E2C 000DDD6C 38 60 00 0A */ li r3, 0xa -/* 800E0E30 000DDD70 3C 80 80 0E */ lis r4, TCIntrruptHandler@ha -/* 800E0E34 000DDD74 3B A4 0A B4 */ addi r29, r4, TCIntrruptHandler@l -/* 800E0E38 000DDD78 38 9D 00 00 */ addi r4, r29, 0 -/* 800E0E3C 000DDD7C 48 00 DE 49 */ bl __OSSetInterruptHandler -/* 800E0E40 000DDD80 38 60 00 0B */ li r3, 0xb -/* 800E0E44 000DDD84 3C 80 80 0E */ lis r4, EXTIntrruptHandler@ha -/* 800E0E48 000DDD88 3B C4 0C CC */ addi r30, r4, EXTIntrruptHandler@l -/* 800E0E4C 000DDD8C 38 9E 00 00 */ addi r4, r30, 0 -/* 800E0E50 000DDD90 48 00 DE 35 */ bl __OSSetInterruptHandler -/* 800E0E54 000DDD94 38 60 00 0C */ li r3, 0xc -/* 800E0E58 000DDD98 38 9C 00 00 */ addi r4, r28, 0 -/* 800E0E5C 000DDD9C 48 00 DE 29 */ bl __OSSetInterruptHandler -/* 800E0E60 000DDDA0 38 60 00 0D */ li r3, 0xd -/* 800E0E64 000DDDA4 38 9D 00 00 */ addi r4, r29, 0 -/* 800E0E68 000DDDA8 48 00 DE 1D */ bl __OSSetInterruptHandler -/* 800E0E6C 000DDDAC 38 60 00 0E */ li r3, 0xe -/* 800E0E70 000DDDB0 38 9E 00 00 */ addi r4, r30, 0 -/* 800E0E74 000DDDB4 48 00 DE 11 */ bl __OSSetInterruptHandler -/* 800E0E78 000DDDB8 38 60 00 0F */ li r3, 0xf -/* 800E0E7C 000DDDBC 38 9C 00 00 */ addi r4, r28, 0 -/* 800E0E80 000DDDC0 48 00 DE 05 */ bl __OSSetInterruptHandler -/* 800E0E84 000DDDC4 38 60 00 10 */ li r3, 0x10 -/* 800E0E88 000DDDC8 38 9D 00 00 */ addi r4, r29, 0 -/* 800E0E8C 000DDDCC 48 00 DD F9 */ bl __OSSetInterruptHandler -/* 800E0E90 000DDDD0 38 60 00 00 */ li r3, 0 -/* 800E0E94 000DDDD4 38 80 00 02 */ li r4, 2 -/* 800E0E98 000DDDD8 38 AD 8E 90 */ addi r5, r13, IDSerialPort1@sda21 -/* 800E0E9C 000DDDDC 48 00 02 E5 */ bl EXIGetID -/* 800E0EA0 000DDDE0 80 0D 8F 40 */ lwz r0, __OSInIPL@sda21(r13) -/* 800E0EA4 000DDDE4 2C 00 00 00 */ cmpwi r0, 0 -/* 800E0EA8 000DDDE8 41 82 00 34 */ beq .L_800E0EDC -/* 800E0EAC 000DDDEC 3C 80 80 00 */ lis r4, 0x800030C4@ha -/* 800E0EB0 000DDDF0 93 E4 30 C4 */ stw r31, 0x800030C4@l(r4) -/* 800E0EB4 000DDDF4 93 E4 30 C0 */ stw r31, 0x30c0(r4) -/* 800E0EB8 000DDDF8 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E0EBC 000DDDFC 38 63 5F 28 */ addi r3, r3, Ecb@l -/* 800E0EC0 000DDE00 93 E3 00 60 */ stw r31, 0x60(r3) -/* 800E0EC4 000DDE04 93 E3 00 20 */ stw r31, 0x20(r3) -/* 800E0EC8 000DDE08 38 60 00 00 */ li r3, 0 -/* 800E0ECC 000DDE0C 4B FF F4 75 */ bl __EXIProbe -/* 800E0ED0 000DDE10 38 60 00 01 */ li r3, 1 -/* 800E0ED4 000DDE14 4B FF F4 6D */ bl __EXIProbe -/* 800E0ED8 000DDE18 48 00 00 70 */ b .L_800E0F48 -.L_800E0EDC: -/* 800E0EDC 000DDE1C 38 60 00 00 */ li r3, 0 -/* 800E0EE0 000DDE20 38 80 00 00 */ li r4, 0 -/* 800E0EE4 000DDE24 38 A1 00 08 */ addi r5, r1, 8 -/* 800E0EE8 000DDE28 48 00 02 99 */ bl EXIGetID -/* 800E0EEC 000DDE2C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0EF0 000DDE30 41 82 00 24 */ beq .L_800E0F14 -/* 800E0EF4 000DDE34 80 61 00 08 */ lwz r3, 8(r1) -/* 800E0EF8 000DDE38 3C 03 F8 FF */ addis r0, r3, 0xf8ff -/* 800E0EFC 000DDE3C 28 00 00 00 */ cmplwi r0, 0 -/* 800E0F00 000DDE40 40 82 00 14 */ bne .L_800E0F14 -/* 800E0F04 000DDE44 38 60 00 01 */ li r3, 1 -/* 800E0F08 000DDE48 38 80 00 00 */ li r4, 0 -/* 800E0F0C 000DDE4C 48 00 07 B1 */ bl __OSEnableBarnacle -/* 800E0F10 000DDE50 48 00 00 38 */ b .L_800E0F48 -.L_800E0F14: -/* 800E0F14 000DDE54 38 60 00 01 */ li r3, 1 -/* 800E0F18 000DDE58 38 80 00 00 */ li r4, 0 -/* 800E0F1C 000DDE5C 38 A1 00 08 */ addi r5, r1, 8 -/* 800E0F20 000DDE60 48 00 02 61 */ bl EXIGetID -/* 800E0F24 000DDE64 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0F28 000DDE68 41 82 00 20 */ beq .L_800E0F48 -/* 800E0F2C 000DDE6C 80 61 00 08 */ lwz r3, 8(r1) -/* 800E0F30 000DDE70 3C 03 F8 FF */ addis r0, r3, 0xf8ff -/* 800E0F34 000DDE74 28 00 00 00 */ cmplwi r0, 0 -/* 800E0F38 000DDE78 40 82 00 10 */ bne .L_800E0F48 -/* 800E0F3C 000DDE7C 38 60 00 00 */ li r3, 0 -/* 800E0F40 000DDE80 38 80 00 02 */ li r4, 2 -/* 800E0F44 000DDE84 48 00 07 79 */ bl __OSEnableBarnacle -.L_800E0F48: -/* 800E0F48 000DDE88 80 6D 82 E0 */ lwz r3, __EXIVersion@sda21(r13) -/* 800E0F4C 000DDE8C 48 00 AB 3D */ bl OSRegisterVersion -/* 800E0F50 000DDE90 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E0F54 000DDE94 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800E0F58 000DDE98 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 800E0F5C 000DDE9C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 800E0F60 000DDEA0 83 81 00 10 */ lwz r28, 0x10(r1) -/* 800E0F64 000DDEA4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E0F68 000DDEA8 7C 08 03 A6 */ mtlr r0 -/* 800E0F6C 000DDEAC 4E 80 00 20 */ blr -.endfn EXIInit - -.fn EXILock, global -/* 800E0F70 000DDEB0 7C 08 02 A6 */ mflr r0 -/* 800E0F74 000DDEB4 90 01 00 04 */ stw r0, 4(r1) -/* 800E0F78 000DDEB8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800E0F7C 000DDEBC BF 61 00 1C */ stmw r27, 0x1c(r1) -/* 800E0F80 000DDEC0 3B 63 00 00 */ addi r27, r3, 0 -/* 800E0F84 000DDEC4 3B E4 00 00 */ addi r31, r4, 0 -/* 800E0F88 000DDEC8 3B 85 00 00 */ addi r28, r5, 0 -/* 800E0F8C 000DDECC 54 64 30 32 */ slwi r4, r3, 6 -/* 800E0F90 000DDED0 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E0F94 000DDED4 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E0F98 000DDED8 7F C0 22 14 */ add r30, r0, r4 -/* 800E0F9C 000DDEDC 48 00 DC 9D */ bl OSDisableInterrupts -/* 800E0FA0 000DDEE0 7C 7D 1B 78 */ mr r29, r3 -/* 800E0FA4 000DDEE4 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 800E0FA8 000DDEE8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800E0FAC 000DDEEC 41 82 00 7C */ beq .L_800E1028 -/* 800E0FB0 000DDEF0 28 1C 00 00 */ cmplwi r28, 0 -/* 800E0FB4 000DDEF4 41 82 00 64 */ beq .L_800E1018 -/* 800E0FB8 000DDEF8 7F C3 F3 78 */ mr r3, r30 -/* 800E0FBC 000DDEFC 80 9E 00 24 */ lwz r4, 0x24(r30) -/* 800E0FC0 000DDF00 7C 89 03 A6 */ mtctr r4 -/* 800E0FC4 000DDF04 2C 04 00 00 */ cmpwi r4, 0 -/* 800E0FC8 000DDF08 40 81 00 28 */ ble .L_800E0FF0 -.L_800E0FCC: -/* 800E0FCC 000DDF0C 80 03 00 28 */ lwz r0, 0x28(r3) -/* 800E0FD0 000DDF10 7C 00 F8 40 */ cmplw r0, r31 -/* 800E0FD4 000DDF14 40 82 00 14 */ bne .L_800E0FE8 -/* 800E0FD8 000DDF18 7F A3 EB 78 */ mr r3, r29 -/* 800E0FDC 000DDF1C 48 00 DC 85 */ bl OSRestoreInterrupts -/* 800E0FE0 000DDF20 38 60 00 00 */ li r3, 0 -/* 800E0FE4 000DDF24 48 00 00 6C */ b .L_800E1050 -.L_800E0FE8: -/* 800E0FE8 000DDF28 38 63 00 08 */ addi r3, r3, 8 -/* 800E0FEC 000DDF2C 42 00 FF E0 */ bdnz .L_800E0FCC -.L_800E0FF0: -/* 800E0FF0 000DDF30 54 80 18 38 */ slwi r0, r4, 3 -/* 800E0FF4 000DDF34 7C 7E 02 14 */ add r3, r30, r0 -/* 800E0FF8 000DDF38 93 83 00 2C */ stw r28, 0x2c(r3) -/* 800E0FFC 000DDF3C 80 1E 00 24 */ lwz r0, 0x24(r30) -/* 800E1000 000DDF40 54 00 18 38 */ slwi r0, r0, 3 -/* 800E1004 000DDF44 7C 7E 02 14 */ add r3, r30, r0 -/* 800E1008 000DDF48 93 E3 00 28 */ stw r31, 0x28(r3) -/* 800E100C 000DDF4C 80 7E 00 24 */ lwz r3, 0x24(r30) -/* 800E1010 000DDF50 38 03 00 01 */ addi r0, r3, 1 -/* 800E1014 000DDF54 90 1E 00 24 */ stw r0, 0x24(r30) -.L_800E1018: -/* 800E1018 000DDF58 7F A3 EB 78 */ mr r3, r29 -/* 800E101C 000DDF5C 48 00 DC 45 */ bl OSRestoreInterrupts -/* 800E1020 000DDF60 38 60 00 00 */ li r3, 0 -/* 800E1024 000DDF64 48 00 00 2C */ b .L_800E1050 -.L_800E1028: -/* 800E1028 000DDF68 80 1E 00 0C */ lwz r0, 0xc(r30) -/* 800E102C 000DDF6C 60 00 00 10 */ ori r0, r0, 0x10 -/* 800E1030 000DDF70 90 1E 00 0C */ stw r0, 0xc(r30) -/* 800E1034 000DDF74 93 FE 00 18 */ stw r31, 0x18(r30) -/* 800E1038 000DDF78 38 7B 00 00 */ addi r3, r27, 0 -/* 800E103C 000DDF7C 38 9E 00 00 */ addi r4, r30, 0 -/* 800E1040 000DDF80 4B FF EB 15 */ bl SetExiInterruptMask -/* 800E1044 000DDF84 7F A3 EB 78 */ mr r3, r29 -/* 800E1048 000DDF88 48 00 DC 19 */ bl OSRestoreInterrupts -/* 800E104C 000DDF8C 38 60 00 01 */ li r3, 1 -.L_800E1050: -/* 800E1050 000DDF90 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800E1054 000DDF94 BB 61 00 1C */ lmw r27, 0x1c(r1) -/* 800E1058 000DDF98 38 21 00 30 */ addi r1, r1, 0x30 -/* 800E105C 000DDF9C 7C 08 03 A6 */ mtlr r0 -/* 800E1060 000DDFA0 4E 80 00 20 */ blr -.endfn EXILock - -.fn EXIUnlock, global -/* 800E1064 000DDFA4 7C 08 02 A6 */ mflr r0 -/* 800E1068 000DDFA8 90 01 00 04 */ stw r0, 4(r1) -/* 800E106C 000DDFAC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E1070 000DDFB0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800E1074 000DDFB4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 800E1078 000DDFB8 93 A1 00 14 */ stw r29, 0x14(r1) -/* 800E107C 000DDFBC 93 81 00 10 */ stw r28, 0x10(r1) -/* 800E1080 000DDFC0 3B 83 00 00 */ addi r28, r3, 0 -/* 800E1084 000DDFC4 54 64 30 32 */ slwi r4, r3, 6 -/* 800E1088 000DDFC8 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E108C 000DDFCC 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E1090 000DDFD0 7F E0 22 14 */ add r31, r0, r4 -/* 800E1094 000DDFD4 48 00 DB A5 */ bl OSDisableInterrupts -/* 800E1098 000DDFD8 7C 7E 1B 78 */ mr r30, r3 -/* 800E109C 000DDFDC 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E10A0 000DDFE0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800E10A4 000DDFE4 40 82 00 14 */ bne .L_800E10B8 -/* 800E10A8 000DDFE8 7F C3 F3 78 */ mr r3, r30 -/* 800E10AC 000DDFEC 48 00 DB B5 */ bl OSRestoreInterrupts -/* 800E10B0 000DDFF0 38 60 00 00 */ li r3, 0 -/* 800E10B4 000DDFF4 48 00 00 6C */ b .L_800E1120 -.L_800E10B8: -/* 800E10B8 000DDFF8 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E10BC 000DDFFC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a -/* 800E10C0 000DE000 90 1F 00 0C */ stw r0, 0xc(r31) -/* 800E10C4 000DE004 38 7C 00 00 */ addi r3, r28, 0 -/* 800E10C8 000DE008 38 9F 00 00 */ addi r4, r31, 0 -/* 800E10CC 000DE00C 4B FF EA 89 */ bl SetExiInterruptMask -/* 800E10D0 000DE010 80 7F 00 24 */ lwz r3, 0x24(r31) -/* 800E10D4 000DE014 2C 03 00 00 */ cmpwi r3, 0 -/* 800E10D8 000DE018 40 81 00 3C */ ble .L_800E1114 -/* 800E10DC 000DE01C 83 BF 00 2C */ lwz r29, 0x2c(r31) -/* 800E10E0 000DE020 34 03 FF FF */ addic. r0, r3, -1 -/* 800E10E4 000DE024 90 1F 00 24 */ stw r0, 0x24(r31) -/* 800E10E8 000DE028 40 81 00 18 */ ble .L_800E1100 -/* 800E10EC 000DE02C 38 7F 00 28 */ addi r3, r31, 0x28 -/* 800E10F0 000DE030 38 9F 00 30 */ addi r4, r31, 0x30 -/* 800E10F4 000DE034 80 1F 00 24 */ lwz r0, 0x24(r31) -/* 800E10F8 000DE038 54 05 18 38 */ slwi r5, r0, 3 -/* 800E10FC 000DE03C 4B FE 5F 91 */ bl memmove -.L_800E1100: -/* 800E1100 000DE040 38 7C 00 00 */ addi r3, r28, 0 -/* 800E1104 000DE044 38 80 00 00 */ li r4, 0 -/* 800E1108 000DE048 39 9D 00 00 */ addi r12, r29, 0 -/* 800E110C 000DE04C 7D 88 03 A6 */ mtlr r12 -/* 800E1110 000DE050 4E 80 00 21 */ blrl -.L_800E1114: -/* 800E1114 000DE054 7F C3 F3 78 */ mr r3, r30 -/* 800E1118 000DE058 48 00 DB 49 */ bl OSRestoreInterrupts -/* 800E111C 000DE05C 38 60 00 01 */ li r3, 1 -.L_800E1120: -/* 800E1120 000DE060 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E1124 000DE064 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800E1128 000DE068 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 800E112C 000DE06C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 800E1130 000DE070 83 81 00 10 */ lwz r28, 0x10(r1) -/* 800E1134 000DE074 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E1138 000DE078 7C 08 03 A6 */ mtlr r0 -/* 800E113C 000DE07C 4E 80 00 20 */ blr -.endfn EXIUnlock - -.fn EXIGetState, global -/* 800E1140 000DE080 54 64 30 32 */ slwi r4, r3, 6 -/* 800E1144 000DE084 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E1148 000DE088 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E114C 000DE08C 7C 60 22 14 */ add r3, r0, r4 -/* 800E1150 000DE090 80 63 00 0C */ lwz r3, 0xc(r3) -/* 800E1154 000DE094 4E 80 00 20 */ blr -.endfn EXIGetState - -.fn UnlockedHandler, local -/* 800E1158 000DE098 7C 08 02 A6 */ mflr r0 -/* 800E115C 000DE09C 90 01 00 04 */ stw r0, 4(r1) -/* 800E1160 000DE0A0 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 800E1164 000DE0A4 38 80 00 00 */ li r4, 0 -/* 800E1168 000DE0A8 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800E116C 000DE0AC 48 00 00 15 */ bl EXIGetID -/* 800E1170 000DE0B0 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 800E1174 000DE0B4 38 21 00 18 */ addi r1, r1, 0x18 -/* 800E1178 000DE0B8 7C 08 03 A6 */ mtlr r0 -/* 800E117C 000DE0BC 4E 80 00 20 */ blr -.endfn UnlockedHandler - -.fn EXIGetID, global -/* 800E1180 000DE0C0 7C 08 02 A6 */ mflr r0 -/* 800E1184 000DE0C4 90 01 00 04 */ stw r0, 4(r1) -/* 800E1188 000DE0C8 94 21 FF B8 */ stwu r1, -0x48(r1) -/* 800E118C 000DE0CC BE E1 00 24 */ stmw r23, 0x24(r1) -/* 800E1190 000DE0D0 7C 79 1B 79 */ or. r25, r3, r3 -/* 800E1194 000DE0D4 3B 44 00 00 */ addi r26, r4, 0 -/* 800E1198 000DE0D8 3B 65 00 00 */ addi r27, r5, 0 -/* 800E119C 000DE0DC 54 64 30 32 */ slwi r4, r3, 6 -/* 800E11A0 000DE0E0 3C 60 80 4F */ lis r3, Ecb@ha -/* 800E11A4 000DE0E4 38 03 5F 28 */ addi r0, r3, Ecb@l -/* 800E11A8 000DE0E8 7F E0 22 14 */ add r31, r0, r4 -/* 800E11AC 000DE0EC 40 82 00 24 */ bne .L_800E11D0 -/* 800E11B0 000DE0F0 28 1A 00 02 */ cmplwi r26, 2 -/* 800E11B4 000DE0F4 40 82 00 1C */ bne .L_800E11D0 -/* 800E11B8 000DE0F8 80 0D 8E 90 */ lwz r0, IDSerialPort1@sda21(r13) -/* 800E11BC 000DE0FC 28 00 00 00 */ cmplwi r0, 0 -/* 800E11C0 000DE100 41 82 00 10 */ beq .L_800E11D0 -/* 800E11C4 000DE104 90 1B 00 00 */ stw r0, 0(r27) -/* 800E11C8 000DE108 38 60 00 01 */ li r3, 1 -/* 800E11CC 000DE10C 48 00 03 50 */ b .L_800E151C -.L_800E11D0: -/* 800E11D0 000DE110 2C 19 00 02 */ cmpwi r25, 2 -/* 800E11D4 000DE114 40 80 00 E0 */ bge .L_800E12B4 -/* 800E11D8 000DE118 28 1A 00 00 */ cmplwi r26, 0 -/* 800E11DC 000DE11C 40 82 00 D8 */ bne .L_800E12B4 -/* 800E11E0 000DE120 7F 23 CB 78 */ mr r3, r25 -/* 800E11E4 000DE124 4B FF F1 5D */ bl __EXIProbe -/* 800E11E8 000DE128 2C 03 00 00 */ cmpwi r3, 0 -/* 800E11EC 000DE12C 40 82 00 0C */ bne .L_800E11F8 -/* 800E11F0 000DE130 38 60 00 00 */ li r3, 0 -/* 800E11F4 000DE134 48 00 03 28 */ b .L_800E151C -.L_800E11F8: -/* 800E11F8 000DE138 80 9F 00 20 */ lwz r4, 0x20(r31) -/* 800E11FC 000DE13C 57 20 10 3A */ slwi r0, r25, 2 -/* 800E1200 000DE140 3C 60 80 00 */ lis r3, 0x800030C0@ha -/* 800E1204 000DE144 3B C3 30 C0 */ addi r30, r3, 0x800030C0@l -/* 800E1208 000DE148 7F DE 02 14 */ add r30, r30, r0 -/* 800E120C 000DE14C 80 1E 00 00 */ lwz r0, 0(r30) -/* 800E1210 000DE150 7C 04 00 00 */ cmpw r4, r0 -/* 800E1214 000DE154 40 82 00 14 */ bne .L_800E1228 -/* 800E1218 000DE158 80 1F 00 1C */ lwz r0, 0x1c(r31) -/* 800E121C 000DE15C 90 1B 00 00 */ stw r0, 0(r27) -/* 800E1220 000DE160 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 800E1224 000DE164 48 00 02 F8 */ b .L_800E151C -.L_800E1228: -/* 800E1228 000DE168 48 00 DA 11 */ bl OSDisableInterrupts -/* 800E122C 000DE16C 7C 7C 1B 78 */ mr r28, r3 -/* 800E1230 000DE170 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E1234 000DE174 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800E1238 000DE178 40 82 00 14 */ bne .L_800E124C -/* 800E123C 000DE17C 7F 23 CB 78 */ mr r3, r25 -/* 800E1240 000DE180 4B FF F1 01 */ bl __EXIProbe -/* 800E1244 000DE184 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1248 000DE188 40 82 00 14 */ bne .L_800E125C -.L_800E124C: -/* 800E124C 000DE18C 7F 83 E3 78 */ mr r3, r28 -/* 800E1250 000DE190 48 00 DA 11 */ bl OSRestoreInterrupts -/* 800E1254 000DE194 38 00 00 00 */ li r0, 0 -/* 800E1258 000DE198 48 00 00 48 */ b .L_800E12A0 -.L_800E125C: -/* 800E125C 000DE19C 38 79 00 00 */ addi r3, r25, 0 -/* 800E1260 000DE1A0 38 80 00 01 */ li r4, 1 -/* 800E1264 000DE1A4 38 A0 00 00 */ li r5, 0 -/* 800E1268 000DE1A8 38 C0 00 00 */ li r6, 0 -/* 800E126C 000DE1AC 4B FF F0 11 */ bl EXIClearInterrupts -/* 800E1270 000DE1B0 38 00 00 00 */ li r0, 0 -/* 800E1274 000DE1B4 90 1F 00 08 */ stw r0, 8(r31) -/* 800E1278 000DE1B8 3C 60 00 10 */ lis r3, 0x10 -/* 800E127C 000DE1BC 1C 19 00 03 */ mulli r0, r25, 3 -/* 800E1280 000DE1C0 7C 63 04 30 */ srw r3, r3, r0 -/* 800E1284 000DE1C4 48 00 DE 05 */ bl __OSUnmaskInterrupts -/* 800E1288 000DE1C8 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E128C 000DE1CC 60 00 00 08 */ ori r0, r0, 8 -/* 800E1290 000DE1D0 90 1F 00 0C */ stw r0, 0xc(r31) -/* 800E1294 000DE1D4 7F 83 E3 78 */ mr r3, r28 -/* 800E1298 000DE1D8 48 00 D9 C9 */ bl OSRestoreInterrupts -/* 800E129C 000DE1DC 38 00 00 01 */ li r0, 1 -.L_800E12A0: -/* 800E12A0 000DE1E0 2C 00 00 00 */ cmpwi r0, 0 -/* 800E12A4 000DE1E4 40 82 00 0C */ bne .L_800E12B0 -/* 800E12A8 000DE1E8 38 60 00 00 */ li r3, 0 -/* 800E12AC 000DE1EC 48 00 02 70 */ b .L_800E151C -.L_800E12B0: -/* 800E12B0 000DE1F0 83 BE 00 00 */ lwz r29, 0(r30) -.L_800E12B4: -/* 800E12B4 000DE1F4 48 00 D9 85 */ bl OSDisableInterrupts -/* 800E12B8 000DE1F8 3B 83 00 00 */ addi r28, r3, 0 -/* 800E12BC 000DE1FC 38 00 00 00 */ li r0, 0 -/* 800E12C0 000DE200 2C 19 00 02 */ cmpwi r25, 2 -/* 800E12C4 000DE204 40 80 00 10 */ bge .L_800E12D4 -/* 800E12C8 000DE208 28 1A 00 00 */ cmplwi r26, 0 -/* 800E12CC 000DE20C 40 82 00 08 */ bne .L_800E12D4 -/* 800E12D0 000DE210 38 00 00 01 */ li r0, 1 -.L_800E12D4: -/* 800E12D4 000DE214 2C 00 00 00 */ cmpwi r0, 0 -/* 800E12D8 000DE218 41 82 00 10 */ beq .L_800E12E8 -/* 800E12DC 000DE21C 3C 60 80 0E */ lis r3, UnlockedHandler@ha -/* 800E12E0 000DE220 38 A3 11 58 */ addi r5, r3, UnlockedHandler@l -/* 800E12E4 000DE224 48 00 00 08 */ b .L_800E12EC -.L_800E12E8: -/* 800E12E8 000DE228 38 A0 00 00 */ li r5, 0 -.L_800E12EC: -/* 800E12EC 000DE22C 38 79 00 00 */ addi r3, r25, 0 -/* 800E12F0 000DE230 38 9A 00 00 */ addi r4, r26, 0 -/* 800E12F4 000DE234 4B FF FC 7D */ bl EXILock -/* 800E12F8 000DE238 7C 60 00 34 */ cntlzw r0, r3 -/* 800E12FC 000DE23C 54 00 D9 7E */ srwi r0, r0, 5 -/* 800E1300 000DE240 7C 1E 03 79 */ or. r30, r0, r0 -/* 800E1304 000DE244 40 82 01 34 */ bne .L_800E1438 -/* 800E1308 000DE248 38 79 00 00 */ addi r3, r25, 0 -/* 800E130C 000DE24C 38 9A 00 00 */ addi r4, r26, 0 -/* 800E1310 000DE250 38 A0 00 00 */ li r5, 0 -/* 800E1314 000DE254 4B FF F4 9D */ bl EXISelect -/* 800E1318 000DE258 7C 60 00 34 */ cntlzw r0, r3 -/* 800E131C 000DE25C 54 00 D9 7E */ srwi r0, r0, 5 -/* 800E1320 000DE260 7C 1E 03 79 */ or. r30, r0, r0 -/* 800E1324 000DE264 40 82 00 90 */ bne .L_800E13B4 -/* 800E1328 000DE268 38 00 00 00 */ li r0, 0 -/* 800E132C 000DE26C 90 01 00 1C */ stw r0, 0x1c(r1) -/* 800E1330 000DE270 38 79 00 00 */ addi r3, r25, 0 -/* 800E1334 000DE274 38 81 00 1C */ addi r4, r1, 0x1c -/* 800E1338 000DE278 38 A0 00 02 */ li r5, 2 -/* 800E133C 000DE27C 38 C0 00 01 */ li r6, 1 -/* 800E1340 000DE280 38 E0 00 00 */ li r7, 0 -/* 800E1344 000DE284 4B FF E9 05 */ bl EXIImm -/* 800E1348 000DE288 7C 60 00 34 */ cntlzw r0, r3 -/* 800E134C 000DE28C 54 00 D9 7E */ srwi r0, r0, 5 -/* 800E1350 000DE290 7F DE 03 78 */ or r30, r30, r0 -/* 800E1354 000DE294 38 79 00 00 */ addi r3, r25, 0 -/* 800E1358 000DE298 4B FF EC D9 */ bl EXISync -/* 800E135C 000DE29C 7C 60 00 34 */ cntlzw r0, r3 -/* 800E1360 000DE2A0 54 00 D9 7E */ srwi r0, r0, 5 -/* 800E1364 000DE2A4 7F DE 03 78 */ or r30, r30, r0 -/* 800E1368 000DE2A8 38 79 00 00 */ addi r3, r25, 0 -/* 800E136C 000DE2AC 38 9B 00 00 */ addi r4, r27, 0 -/* 800E1370 000DE2B0 38 A0 00 04 */ li r5, 4 -/* 800E1374 000DE2B4 38 C0 00 00 */ li r6, 0 -/* 800E1378 000DE2B8 38 E0 00 00 */ li r7, 0 -/* 800E137C 000DE2BC 4B FF E8 CD */ bl EXIImm -/* 800E1380 000DE2C0 7C 60 00 34 */ cntlzw r0, r3 -/* 800E1384 000DE2C4 54 00 D9 7E */ srwi r0, r0, 5 -/* 800E1388 000DE2C8 7F DE 03 78 */ or r30, r30, r0 -/* 800E138C 000DE2CC 38 79 00 00 */ addi r3, r25, 0 -/* 800E1390 000DE2D0 4B FF EC A1 */ bl EXISync -/* 800E1394 000DE2D4 7C 60 00 34 */ cntlzw r0, r3 -/* 800E1398 000DE2D8 54 00 D9 7E */ srwi r0, r0, 5 -/* 800E139C 000DE2DC 7F DE 03 78 */ or r30, r30, r0 -/* 800E13A0 000DE2E0 38 79 00 00 */ addi r3, r25, 0 -/* 800E13A4 000DE2E4 4B FF F5 39 */ bl EXIDeselect -/* 800E13A8 000DE2E8 7C 60 00 34 */ cntlzw r0, r3 -/* 800E13AC 000DE2EC 54 00 D9 7E */ srwi r0, r0, 5 -/* 800E13B0 000DE2F0 7F DE 03 78 */ or r30, r30, r0 -.L_800E13B4: -/* 800E13B4 000DE2F4 48 00 D8 85 */ bl OSDisableInterrupts -/* 800E13B8 000DE2F8 7C 77 1B 78 */ mr r23, r3 -/* 800E13BC 000DE2FC 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E13C0 000DE300 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800E13C4 000DE304 40 82 00 10 */ bne .L_800E13D4 -/* 800E13C8 000DE308 7E E3 BB 78 */ mr r3, r23 -/* 800E13CC 000DE30C 48 00 D8 95 */ bl OSRestoreInterrupts -/* 800E13D0 000DE310 48 00 00 68 */ b .L_800E1438 -.L_800E13D4: -/* 800E13D4 000DE314 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E13D8 000DE318 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a -/* 800E13DC 000DE31C 90 1F 00 0C */ stw r0, 0xc(r31) -/* 800E13E0 000DE320 38 79 00 00 */ addi r3, r25, 0 -/* 800E13E4 000DE324 38 9F 00 00 */ addi r4, r31, 0 -/* 800E13E8 000DE328 4B FF E7 6D */ bl SetExiInterruptMask -/* 800E13EC 000DE32C 80 7F 00 24 */ lwz r3, 0x24(r31) -/* 800E13F0 000DE330 2C 03 00 00 */ cmpwi r3, 0 -/* 800E13F4 000DE334 40 81 00 3C */ ble .L_800E1430 -/* 800E13F8 000DE338 83 1F 00 2C */ lwz r24, 0x2c(r31) -/* 800E13FC 000DE33C 34 03 FF FF */ addic. r0, r3, -1 -/* 800E1400 000DE340 90 1F 00 24 */ stw r0, 0x24(r31) -/* 800E1404 000DE344 40 81 00 18 */ ble .L_800E141C -/* 800E1408 000DE348 38 7F 00 28 */ addi r3, r31, 0x28 -/* 800E140C 000DE34C 38 9F 00 30 */ addi r4, r31, 0x30 -/* 800E1410 000DE350 80 1F 00 24 */ lwz r0, 0x24(r31) -/* 800E1414 000DE354 54 05 18 38 */ slwi r5, r0, 3 -/* 800E1418 000DE358 4B FE 5C 75 */ bl memmove -.L_800E141C: -/* 800E141C 000DE35C 38 79 00 00 */ addi r3, r25, 0 -/* 800E1420 000DE360 38 80 00 00 */ li r4, 0 -/* 800E1424 000DE364 39 98 00 00 */ addi r12, r24, 0 -/* 800E1428 000DE368 7D 88 03 A6 */ mtlr r12 -/* 800E142C 000DE36C 4E 80 00 21 */ blrl -.L_800E1430: -/* 800E1430 000DE370 7E E3 BB 78 */ mr r3, r23 -/* 800E1434 000DE374 48 00 D8 2D */ bl OSRestoreInterrupts -.L_800E1438: -/* 800E1438 000DE378 7F 83 E3 78 */ mr r3, r28 -/* 800E143C 000DE37C 48 00 D8 25 */ bl OSRestoreInterrupts -/* 800E1440 000DE380 2C 19 00 02 */ cmpwi r25, 2 -/* 800E1444 000DE384 40 80 00 C4 */ bge .L_800E1508 -/* 800E1448 000DE388 28 1A 00 00 */ cmplwi r26, 0 -/* 800E144C 000DE38C 40 82 00 BC */ bne .L_800E1508 -/* 800E1450 000DE390 48 00 D7 E9 */ bl OSDisableInterrupts -/* 800E1454 000DE394 7C 77 1B 78 */ mr r23, r3 -/* 800E1458 000DE398 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E145C 000DE39C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800E1460 000DE3A0 40 82 00 10 */ bne .L_800E1470 -/* 800E1464 000DE3A4 7E E3 BB 78 */ mr r3, r23 -/* 800E1468 000DE3A8 48 00 D7 F9 */ bl OSRestoreInterrupts -/* 800E146C 000DE3AC 48 00 00 4C */ b .L_800E14B8 -.L_800E1470: -/* 800E1470 000DE3B0 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E1474 000DE3B4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800E1478 000DE3B8 41 82 00 1C */ beq .L_800E1494 -/* 800E147C 000DE3BC 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 800E1480 000DE3C0 28 00 00 00 */ cmplwi r0, 0 -/* 800E1484 000DE3C4 40 82 00 10 */ bne .L_800E1494 -/* 800E1488 000DE3C8 7E E3 BB 78 */ mr r3, r23 -/* 800E148C 000DE3CC 48 00 D7 D5 */ bl OSRestoreInterrupts -/* 800E1490 000DE3D0 48 00 00 28 */ b .L_800E14B8 -.L_800E1494: -/* 800E1494 000DE3D4 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 800E1498 000DE3D8 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 800E149C 000DE3DC 90 1F 00 0C */ stw r0, 0xc(r31) -/* 800E14A0 000DE3E0 3C 60 00 50 */ lis r3, 0x50 -/* 800E14A4 000DE3E4 1C 19 00 03 */ mulli r0, r25, 3 -/* 800E14A8 000DE3E8 7C 63 04 30 */ srw r3, r3, r0 -/* 800E14AC 000DE3EC 48 00 DB 55 */ bl __OSMaskInterrupts -/* 800E14B0 000DE3F0 7E E3 BB 78 */ mr r3, r23 -/* 800E14B4 000DE3F4 48 00 D7 AD */ bl OSRestoreInterrupts -.L_800E14B8: -/* 800E14B8 000DE3F8 48 00 D7 81 */ bl OSDisableInterrupts -/* 800E14BC 000DE3FC 57 20 10 3A */ slwi r0, r25, 2 -/* 800E14C0 000DE400 3C 80 80 00 */ lis r4, 0x800030C0@ha -/* 800E14C4 000DE404 38 84 30 C0 */ addi r4, r4, 0x800030C0@l -/* 800E14C8 000DE408 7C 04 00 2E */ lwzx r0, r4, r0 -/* 800E14CC 000DE40C 7C 9D 00 50 */ subf r4, r29, r0 -/* 800E14D0 000DE410 30 04 FF FF */ addic r0, r4, -1 -/* 800E14D4 000DE414 7C 00 21 10 */ subfe r0, r0, r4 -/* 800E14D8 000DE418 7F DE 03 79 */ or. r30, r30, r0 -/* 800E14DC 000DE41C 40 82 00 10 */ bne .L_800E14EC -/* 800E14E0 000DE420 80 1B 00 00 */ lwz r0, 0(r27) -/* 800E14E4 000DE424 90 1F 00 1C */ stw r0, 0x1c(r31) -/* 800E14E8 000DE428 93 BF 00 20 */ stw r29, 0x20(r31) -.L_800E14EC: -/* 800E14EC 000DE42C 48 00 D7 75 */ bl OSRestoreInterrupts -/* 800E14F0 000DE430 2C 1E 00 00 */ cmpwi r30, 0 -/* 800E14F4 000DE434 41 82 00 0C */ beq .L_800E1500 -/* 800E14F8 000DE438 38 60 00 00 */ li r3, 0 -/* 800E14FC 000DE43C 48 00 00 20 */ b .L_800E151C -.L_800E1500: -/* 800E1500 000DE440 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 800E1504 000DE444 48 00 00 18 */ b .L_800E151C -.L_800E1508: -/* 800E1508 000DE448 2C 1E 00 00 */ cmpwi r30, 0 -/* 800E150C 000DE44C 41 82 00 0C */ beq .L_800E1518 -/* 800E1510 000DE450 38 60 00 00 */ li r3, 0 -/* 800E1514 000DE454 48 00 00 08 */ b .L_800E151C -.L_800E1518: -/* 800E1518 000DE458 38 60 00 01 */ li r3, 1 -.L_800E151C: -/* 800E151C 000DE45C 80 01 00 4C */ lwz r0, 0x4c(r1) -/* 800E1520 000DE460 BA E1 00 24 */ lmw r23, 0x24(r1) -/* 800E1524 000DE464 38 21 00 48 */ addi r1, r1, 0x48 -/* 800E1528 000DE468 7C 08 03 A6 */ mtlr r0 -/* 800E152C 000DE46C 4E 80 00 20 */ blr -.endfn EXIGetID diff --git a/configure.py b/configure.py index 777a219f4..829ad3e69 100755 --- a/configure.py +++ b/configure.py @@ -679,7 +679,7 @@ "cflags": "$cflags_base -str noreadonly", "host": False, "objects": [ - "Dolphin/exi/EXIBios", + ["Dolphin/exi/EXIBios", True], ["Dolphin/exi/EXIUart", True], ], }, diff --git a/docs/recommended_todo.md b/docs/recommended_todo.md index 4530fe82c..9b9fcf177 100644 --- a/docs/recommended_todo.md +++ b/docs/recommended_todo.md @@ -28,6 +28,7 @@ | TRK_MINNOW_DOLPHIN/dolphin_trk.c | 11230 | TRK_MINNOW_DOLPHIN/support.c | 12046 | | gx/GXTransform.c | 12379 | gx/GXLight.c | 14151 | | gx/GXTev.c | 14624 | gx/GXPixel.c | 15806 | +| gx/GXPerf.c | 17304 | ###
JSystem
| File | Size (bytes) | File | Size (bytes) | diff --git a/include/Dolphin/OS/OSExpansion.h b/include/Dolphin/OS/OSExpansion.h index 2573ba1b6..3cfca152e 100644 --- a/include/Dolphin/OS/OSExpansion.h +++ b/include/Dolphin/OS/OSExpansion.h @@ -20,6 +20,7 @@ s32 EXIGetType(s32 channel, u32 dev, u32* type); char* EXIGetTypeString(u32 type); u32 __OSGetDIConfig(void); +void __OSEnableBarnacle(int chan, u32 dev); ////////////////////////////////// diff --git a/include/Dolphin/os.h b/include/Dolphin/os.h index fc78dcc89..5088ab44d 100644 --- a/include/Dolphin/os.h +++ b/include/Dolphin/os.h @@ -198,6 +198,7 @@ u16 OSGetGbsMode(); extern OSThreadQueue __DVDThreadQueue; extern u8 _stack_addr[]; extern u8 _stack_end[]; +extern BOOL __OSInIPL; ////////////////////////////////// diff --git a/src/Dolphin/exi/EXIBios.c b/src/Dolphin/exi/EXIBios.c index 39df7f118..3e3cd950b 100644 --- a/src/Dolphin/exi/EXIBios.c +++ b/src/Dolphin/exi/EXIBios.c @@ -606,6 +606,7 @@ static void EXTIntrruptHandler(__OSInterrupt interrupt, OSContext* context) */ void EXIInit(void) { + u32 id; while (((EXIREG(0, 3) & 0x1) == 1) || ((EXIREG(1, 3) & 0x1) == 1) || ((EXIREG(2, 3) & 0x1) == 1)) { continue; } @@ -630,140 +631,18 @@ void EXIInit(void) EXIGetID(0, 2, &IDSerialPort1); - if ((OSGetConsoleType() & 0x10000000) != 0) { + if (__OSInIPL) { __EXIProbeStartTime[0] = __EXIProbeStartTime[1] = 0; Ecb[0].idTime = Ecb[1].idTime = 0; __EXIProbe(0); __EXIProbe(1); + } else if (EXIGetID(0, 0, &id) && id == 0x07010000) { + __OSEnableBarnacle(1, 0); + } else if (EXIGetID(1, 0, &id) && id == 0x07010000) { + __OSEnableBarnacle(0, 2); } - /* - .loc_0x0: - mflr r0 - stw r0, 0x4(r1) - stwu r1, -0x20(r1) - stw r31, 0x1C(r1) - stw r30, 0x18(r1) - stw r29, 0x14(r1) - stw r28, 0x10(r1) - lis r3, 0xCC00 - addi r3, r3, 0x6800 - - .loc_0x24: - lwz r0, 0xC(r3) - rlwinm r0,r0,0,31,31 - cmplwi r0, 0x1 - beq+ .loc_0x24 - lwz r0, 0x20(r3) - rlwinm r0,r0,0,31,31 - cmplwi r0, 0x1 - beq+ .loc_0x24 - lwz r0, 0x34(r3) - rlwinm r0,r0,0,31,31 - cmplwi r0, 0x1 - beq+ .loc_0x24 - lis r3, 0x80 - subi r3, r3, 0x8000 - bl 0xE208 - li r31, 0 - lis r4, 0xCC00 - stw r31, 0x6800(r4) - stw r31, 0x6814(r4) - stw r31, 0x6828(r4) - li r0, 0x2000 - stw r0, 0x6800(r4) - li r3, 0x9 - lis r4, 0x800E - addi r28, r4, 0x9EC - addi r4, r28, 0 - bl 0xDE5C - li r3, 0xA - lis r4, 0x800E - addi r29, r4, 0xAB4 - addi r4, r29, 0 - bl 0xDE48 - li r3, 0xB - lis r4, 0x800E - addi r30, r4, 0xCCC - addi r4, r30, 0 - bl 0xDE34 - li r3, 0xC - addi r4, r28, 0 - bl 0xDE28 - li r3, 0xD - addi r4, r29, 0 - bl 0xDE1C - li r3, 0xE - addi r4, r30, 0 - bl 0xDE10 - li r3, 0xF - addi r4, r28, 0 - bl 0xDE04 - li r3, 0x10 - addi r4, r29, 0 - bl 0xDDF8 - li r3, 0 - li r4, 0x2 - subi r5, r13, 0x7170 - bl 0x2E4 - lwz r0, -0x70C0(r13) - cmpwi r0, 0 - beq- .loc_0x140 - lis r4, 0x8000 - stw r31, 0x30C4(r4) - stw r31, 0x30C0(r4) - lis r3, 0x804F - addi r3, r3, 0x5F28 - stw r31, 0x60(r3) - stw r31, 0x20(r3) - li r3, 0 - bl -0xB8C - li r3, 0x1 - bl -0xB94 - b .loc_0x1AC - - .loc_0x140: - li r3, 0 - li r4, 0 - addi r5, r1, 0x8 - bl 0x298 - cmpwi r3, 0 - beq- .loc_0x178 - lwz r3, 0x8(r1) - subis r0, r3, 0x701 - cmplwi r0, 0 - bne- .loc_0x178 - li r3, 0x1 - li r4, 0 - bl 0x7B0 - b .loc_0x1AC - - .loc_0x178: - li r3, 0x1 - li r4, 0 - addi r5, r1, 0x8 - bl 0x260 - cmpwi r3, 0 - beq- .loc_0x1AC - lwz r3, 0x8(r1) - subis r0, r3, 0x701 - cmplwi r0, 0 - bne- .loc_0x1AC - li r3, 0 - li r4, 0x2 - bl 0x778 - - .loc_0x1AC: - lwz r3, -0x7D20(r13) - bl 0xAB3C - lwz r0, 0x24(r1) - lwz r31, 0x1C(r1) - lwz r30, 0x18(r1) - lwz r29, 0x14(r1) - lwz r28, 0x10(r1) - addi r1, r1, 0x20 - mtlr r0 - blr - */ + + OSRegisterVersion(__EXIVersion); } /* @@ -869,6 +748,12 @@ s32 EXIGetID(s32 chan, u32 dev, u32* id) u32 cmd; s32 startTime; BOOL enabled; + BOOL interrupt; + + if (chan == 0 && dev == 2 && IDSerialPort1) { + *id = IDSerialPort1; + return 1; + } if (chan < 2 && dev == 0) { if (!__EXIProbe(chan)) { @@ -883,11 +768,11 @@ s32 EXIGetID(s32 chan, u32 dev, u32* id) if (!__EXIAttach(chan, NULL)) { return 0; } - startTime = __EXIProbeStartTime[chan]; } - err = !EXILock(chan, dev, (chan < 2 && dev == 0) ? UnlockedHandler : NULL); + interrupt = OSDisableInterrupts(); + err = !EXILock(chan, dev, (chan < 2 && dev == 0) ? UnlockedHandler : NULL); if (!err) { err = !EXISelect(chan, dev, EXI_FREQ_1M); if (!err) { @@ -900,6 +785,7 @@ s32 EXIGetID(s32 chan, u32 dev, u32* id) } EXIUnlock(chan); } + OSRestoreInterrupts(interrupt); if (chan < 2 && dev == 0) { EXIDetach(chan); @@ -915,293 +801,6 @@ s32 EXIGetID(s32 chan, u32 dev, u32* id) } return err ? 0 : !0; - /* - .loc_0x0: - mflr r0 - stw r0, 0x4(r1) - stwu r1, -0x48(r1) - stmw r23, 0x24(r1) - mr. r25, r3 - addi r26, r4, 0 - addi r27, r5, 0 - rlwinm r4,r3,6,0,25 - lis r3, 0x804F - addi r0, r3, 0x5F28 - add r31, r0, r4 - bne- .loc_0x50 - cmplwi r26, 0x2 - bne- .loc_0x50 - lwz r0, -0x7170(r13) - cmplwi r0, 0 - beq- .loc_0x50 - stw r0, 0x0(r27) - li r3, 0x1 - b .loc_0x39C - - .loc_0x50: - cmpwi r25, 0x2 - bge- .loc_0x134 - cmplwi r26, 0 - bne- .loc_0x134 - mr r3, r25 - bl -0xEA4 - cmpwi r3, 0 - bne- .loc_0x78 - li r3, 0 - b .loc_0x39C - - .loc_0x78: - lwz r4, 0x20(r31) - rlwinm r0,r25,2,0,29 - lis r3, 0x8000 - addi r30, r3, 0x30C0 - add r30, r30, r0 - lwz r0, 0x0(r30) - cmpw r4, r0 - bne- .loc_0xA8 - lwz r0, 0x1C(r31) - stw r0, 0x0(r27) - lwz r3, 0x20(r31) - b .loc_0x39C - - .loc_0xA8: - bl 0xDA10 - mr r28, r3 - lwz r0, 0xC(r31) - rlwinm. r0,r0,0,28,28 - bne- .loc_0xCC - mr r3, r25 - bl -0xF00 - cmpwi r3, 0 - bne- .loc_0xDC - - .loc_0xCC: - mr r3, r28 - bl 0xDA10 - li r0, 0 - b .loc_0x120 - - .loc_0xDC: - addi r3, r25, 0 - li r4, 0x1 - li r5, 0 - li r6, 0 - bl -0xFF0 - li r0, 0 - stw r0, 0x8(r31) - lis r3, 0x10 - mulli r0, r25, 0x3 - srw r3, r3, r0 - bl 0xDE04 - lwz r0, 0xC(r31) - ori r0, r0, 0x8 - stw r0, 0xC(r31) - mr r3, r28 - bl 0xD9C8 - li r0, 0x1 - - .loc_0x120: - cmpwi r0, 0 - bne- .loc_0x130 - li r3, 0 - b .loc_0x39C - - .loc_0x130: - lwz r29, 0x0(r30) - - .loc_0x134: - bl 0xD984 - addi r28, r3, 0 - li r0, 0 - cmpwi r25, 0x2 - bge- .loc_0x154 - cmplwi r26, 0 - bne- .loc_0x154 - li r0, 0x1 - - .loc_0x154: - cmpwi r0, 0 - beq- .loc_0x168 - lis r3, 0x800E - addi r5, r3, 0x1158 - b .loc_0x16C - - .loc_0x168: - li r5, 0 - - .loc_0x16C: - addi r3, r25, 0 - addi r4, r26, 0 - bl -0x384 - cntlzw r0, r3 - rlwinm r0,r0,27,5,31 - mr. r30, r0 - bne- .loc_0x2B8 - addi r3, r25, 0 - addi r4, r26, 0 - li r5, 0 - bl -0xB64 - cntlzw r0, r3 - rlwinm r0,r0,27,5,31 - mr. r30, r0 - bne- .loc_0x234 - li r0, 0 - stw r0, 0x1C(r1) - addi r3, r25, 0 - addi r4, r1, 0x1C - li r5, 0x2 - li r6, 0x1 - li r7, 0 - bl -0x16FC - cntlzw r0, r3 - rlwinm r0,r0,27,5,31 - or r30, r30, r0 - addi r3, r25, 0 - bl -0x1328 - cntlzw r0, r3 - rlwinm r0,r0,27,5,31 - or r30, r30, r0 - addi r3, r25, 0 - addi r4, r27, 0 - li r5, 0x4 - li r6, 0 - li r7, 0 - bl -0x1734 - cntlzw r0, r3 - rlwinm r0,r0,27,5,31 - or r30, r30, r0 - addi r3, r25, 0 - bl -0x1360 - cntlzw r0, r3 - rlwinm r0,r0,27,5,31 - or r30, r30, r0 - addi r3, r25, 0 - bl -0xAC8 - cntlzw r0, r3 - rlwinm r0,r0,27,5,31 - or r30, r30, r0 - - .loc_0x234: - bl 0xD884 - mr r23, r3 - lwz r0, 0xC(r31) - rlwinm. r0,r0,0,27,27 - bne- .loc_0x254 - mr r3, r23 - bl 0xD894 - b .loc_0x2B8 - - .loc_0x254: - lwz r0, 0xC(r31) - rlwinm r0,r0,0,28,26 - stw r0, 0xC(r31) - addi r3, r25, 0 - addi r4, r31, 0 - bl -0x1894 - lwz r3, 0x24(r31) - cmpwi r3, 0 - ble- .loc_0x2B0 - lwz r24, 0x2C(r31) - subic. r0, r3, 0x1 - stw r0, 0x24(r31) - ble- .loc_0x29C - addi r3, r31, 0x28 - addi r4, r31, 0x30 - lwz r0, 0x24(r31) - rlwinm r5,r0,3,0,28 - bl -0x1A38C - - .loc_0x29C: - addi r3, r25, 0 - li r4, 0 - addi r12, r24, 0 - mtlr r12 - blrl - - .loc_0x2B0: - mr r3, r23 - bl 0xD82C - - .loc_0x2B8: - mr r3, r28 - bl 0xD824 - cmpwi r25, 0x2 - bge- .loc_0x388 - cmplwi r26, 0 - bne- .loc_0x388 - bl 0xD7E8 - mr r23, r3 - lwz r0, 0xC(r31) - rlwinm. r0,r0,0,28,28 - bne- .loc_0x2F0 - mr r3, r23 - bl 0xD7F8 - b .loc_0x338 - - .loc_0x2F0: - lwz r0, 0xC(r31) - rlwinm. r0,r0,0,27,27 - beq- .loc_0x314 - lwz r0, 0x18(r31) - cmplwi r0, 0 - bne- .loc_0x314 - mr r3, r23 - bl 0xD7D4 - b .loc_0x338 - - .loc_0x314: - lwz r0, 0xC(r31) - rlwinm r0,r0,0,29,27 - stw r0, 0xC(r31) - lis r3, 0x50 - mulli r0, r25, 0x3 - srw r3, r3, r0 - bl 0xDB54 - mr r3, r23 - bl 0xD7AC - - .loc_0x338: - bl 0xD780 - rlwinm r0,r25,2,0,29 - lis r4, 0x8000 - addi r4, r4, 0x30C0 - lwzx r0, r4, r0 - sub r4, r0, r29 - subic r0, r4, 0x1 - subfe r0, r0, r4 - or. r30, r30, r0 - bne- .loc_0x36C - lwz r0, 0x0(r27) - stw r0, 0x1C(r31) - stw r29, 0x20(r31) - - .loc_0x36C: - bl 0xD774 - cmpwi r30, 0 - beq- .loc_0x380 - li r3, 0 - b .loc_0x39C - - .loc_0x380: - lwz r3, 0x20(r31) - b .loc_0x39C - - .loc_0x388: - cmpwi r30, 0 - beq- .loc_0x398 - li r3, 0 - b .loc_0x39C - - .loc_0x398: - li r3, 0x1 - - .loc_0x39C: - lwz r0, 0x4C(r1) - lmw r23, 0x24(r1) - addi r1, r1, 0x48 - mtlr r0 - blr - */ } /* diff --git a/src/Dolphin/exi/Makefile b/src/Dolphin/exi/Makefile index 3ed2d0c63..7a276951f 100644 --- a/src/Dolphin/exi/Makefile +++ b/src/Dolphin/exi/Makefile @@ -1,5 +1,5 @@ EXI_FILES:=\ - $(BUILD_DIR)/asm/Dolphin/exi/EXIBios.o\ + $(BUILD_DIR)/src/Dolphin/exi/EXIBios.o\ $(BUILD_DIR)/src/Dolphin/exi/EXIUart.o\ $(EXI_FILES): CFLAGS += -common off diff --git a/tools/progress.csv b/tools/progress.csv index 9b4cef26f..8dd5f3d02 100644 --- a/tools/progress.csv +++ b/tools/progress.csv @@ -589,3 +589,5 @@ You have 2797 out of 10000 Pokos and 83 out of 201 treasures.",2023-09-25 11:28: You have 2800 out of 10000 Pokos and 83 out of 201 treasures.",2023-09-25 17:18:16.474011 2801,1303568,0.2801954796197708,83,295321,0.41427862008596406," You have 2801 out of 10000 Pokos and 83 out of 201 treasures.",2023-09-25 14:25:03.405928 +2814,1309528,0.2814765520751654,83,295683,0.41478643653136116," +You have 2814 out of 10000 Pokos and 83 out of 201 treasures.",2023-09-27 12:57:55.165543