.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global __DVDClearWaitingQueue __DVDClearWaitingQueue: /* 8028C98C 002885EC 3C C0 80 52 */ lis r6, lbl_8051B550@ha /* 8028C990 002885F0 38 C6 B5 50 */ addi r6, r6, lbl_8051B550@l /* 8028C994 002885F4 38 A6 00 08 */ addi r5, r6, 8 /* 8028C998 002885F8 90 C6 00 00 */ stw r6, 0(r6) /* 8028C99C 002885FC 38 86 00 10 */ addi r4, r6, 0x10 /* 8028C9A0 00288600 38 66 00 18 */ addi r3, r6, 0x18 /* 8028C9A4 00288604 90 C6 00 04 */ stw r6, 4(r6) /* 8028C9A8 00288608 90 A6 00 08 */ stw r5, 8(r6) /* 8028C9AC 0028860C 90 A6 00 0C */ stw r5, 0xc(r6) /* 8028C9B0 00288610 90 86 00 10 */ stw r4, 0x10(r6) /* 8028C9B4 00288614 90 86 00 14 */ stw r4, 0x14(r6) /* 8028C9B8 00288618 90 66 00 18 */ stw r3, 0x18(r6) /* 8028C9BC 0028861C 90 66 00 1C */ stw r3, 0x1c(r6) /* 8028C9C0 00288620 4E 80 00 20 */ blr .global __DVDPushWaitingQueue __DVDPushWaitingQueue: /* 8028C9C4 00288624 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8028C9C8 00288628 7C 08 02 A6 */ mflr r0 /* 8028C9CC 0028862C 90 01 00 14 */ stw r0, 0x14(r1) /* 8028C9D0 00288630 93 E1 00 0C */ stw r31, 0xc(r1) /* 8028C9D4 00288634 7C 9F 23 78 */ mr r31, r4 /* 8028C9D8 00288638 93 C1 00 08 */ stw r30, 8(r1) /* 8028C9DC 0028863C 7C 7E 1B 78 */ mr r30, r3 /* 8028C9E0 00288640 4B FE 1D 7D */ bl OSDisableInterrupts /* 8028C9E4 00288644 3C 80 80 52 */ lis r4, lbl_8051B550@ha /* 8028C9E8 00288648 57 C0 18 38 */ slwi r0, r30, 3 /* 8028C9EC 0028864C 38 84 B5 50 */ addi r4, r4, lbl_8051B550@l /* 8028C9F0 00288650 7C A4 02 14 */ add r5, r4, r0 /* 8028C9F4 00288654 80 85 00 04 */ lwz r4, 4(r5) /* 8028C9F8 00288658 93 E4 00 00 */ stw r31, 0(r4) /* 8028C9FC 0028865C 80 05 00 04 */ lwz r0, 4(r5) /* 8028CA00 00288660 90 1F 00 04 */ stw r0, 4(r31) /* 8028CA04 00288664 90 BF 00 00 */ stw r5, 0(r31) /* 8028CA08 00288668 93 E5 00 04 */ stw r31, 4(r5) /* 8028CA0C 0028866C 4B FE 1D 79 */ bl OSRestoreInterrupts /* 8028CA10 00288670 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8028CA14 00288674 38 60 00 01 */ li r3, 1 /* 8028CA18 00288678 83 C1 00 08 */ lwz r30, 8(r1) /* 8028CA1C 0028867C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8028CA20 00288680 7C 08 03 A6 */ mtlr r0 /* 8028CA24 00288684 38 21 00 10 */ addi r1, r1, 0x10 /* 8028CA28 00288688 4E 80 00 20 */ blr .global __DVDPopWaitingQueue __DVDPopWaitingQueue: /* 8028CA2C 0028868C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8028CA30 00288690 7C 08 02 A6 */ mflr r0 /* 8028CA34 00288694 90 01 00 14 */ stw r0, 0x14(r1) /* 8028CA38 00288698 93 E1 00 0C */ stw r31, 0xc(r1) /* 8028CA3C 0028869C 4B FE 1D 21 */ bl OSDisableInterrupts /* 8028CA40 002886A0 3C 80 80 52 */ lis r4, lbl_8051B550@ha /* 8028CA44 002886A4 38 00 00 04 */ li r0, 4 /* 8028CA48 002886A8 3B E0 00 00 */ li r31, 0 /* 8028CA4C 002886AC 38 84 B5 50 */ addi r4, r4, lbl_8051B550@l /* 8028CA50 002886B0 7C 09 03 A6 */ mtctr r0 lbl_8028CA54: /* 8028CA54 002886B4 80 04 00 00 */ lwz r0, 0(r4) /* 8028CA58 002886B8 7C 00 20 40 */ cmplw r0, r4 /* 8028CA5C 002886BC 41 82 00 48 */ beq lbl_8028CAA4 /* 8028CA60 002886C0 4B FE 1D 25 */ bl OSRestoreInterrupts /* 8028CA64 002886C4 4B FE 1C F9 */ bl OSDisableInterrupts /* 8028CA68 002886C8 3C 80 80 52 */ lis r4, lbl_8051B550@ha /* 8028CA6C 002886CC 57 E0 18 38 */ slwi r0, r31, 3 /* 8028CA70 002886D0 38 84 B5 50 */ addi r4, r4, lbl_8051B550@l /* 8028CA74 002886D4 7F E4 00 2E */ lwzx r31, r4, r0 /* 8028CA78 002886D8 7C A4 02 14 */ add r5, r4, r0 /* 8028CA7C 002886DC 80 1F 00 00 */ lwz r0, 0(r31) /* 8028CA80 002886E0 90 05 00 00 */ stw r0, 0(r5) /* 8028CA84 002886E4 80 9F 00 00 */ lwz r4, 0(r31) /* 8028CA88 002886E8 90 A4 00 04 */ stw r5, 4(r4) /* 8028CA8C 002886EC 4B FE 1C F9 */ bl OSRestoreInterrupts /* 8028CA90 002886F0 38 00 00 00 */ li r0, 0 /* 8028CA94 002886F4 7F E3 FB 78 */ mr r3, r31 /* 8028CA98 002886F8 90 1F 00 00 */ stw r0, 0(r31) /* 8028CA9C 002886FC 90 1F 00 04 */ stw r0, 4(r31) /* 8028CAA0 00288700 48 00 00 18 */ b lbl_8028CAB8 lbl_8028CAA4: /* 8028CAA4 00288704 38 84 00 08 */ addi r4, r4, 8 /* 8028CAA8 00288708 3B FF 00 01 */ addi r31, r31, 1 /* 8028CAAC 0028870C 42 00 FF A8 */ bdnz lbl_8028CA54 /* 8028CAB0 00288710 4B FE 1C D5 */ bl OSRestoreInterrupts /* 8028CAB4 00288714 38 60 00 00 */ li r3, 0 lbl_8028CAB8: /* 8028CAB8 00288718 80 01 00 14 */ lwz r0, 0x14(r1) /* 8028CABC 0028871C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8028CAC0 00288720 7C 08 03 A6 */ mtlr r0 /* 8028CAC4 00288724 38 21 00 10 */ addi r1, r1, 0x10 /* 8028CAC8 00288728 4E 80 00 20 */ blr .global __DVDCheckWaitingQueue __DVDCheckWaitingQueue: /* 8028CACC 0028872C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8028CAD0 00288730 7C 08 02 A6 */ mflr r0 /* 8028CAD4 00288734 90 01 00 14 */ stw r0, 0x14(r1) /* 8028CAD8 00288738 4B FE 1C 85 */ bl OSDisableInterrupts /* 8028CADC 0028873C 3C 80 80 52 */ lis r4, lbl_8051B550@ha /* 8028CAE0 00288740 38 00 00 04 */ li r0, 4 /* 8028CAE4 00288744 38 84 B5 50 */ addi r4, r4, lbl_8051B550@l /* 8028CAE8 00288748 7C 09 03 A6 */ mtctr r0 lbl_8028CAEC: /* 8028CAEC 0028874C 80 04 00 00 */ lwz r0, 0(r4) /* 8028CAF0 00288750 7C 00 20 40 */ cmplw r0, r4 /* 8028CAF4 00288754 41 82 00 10 */ beq lbl_8028CB04 /* 8028CAF8 00288758 4B FE 1C 8D */ bl OSRestoreInterrupts /* 8028CAFC 0028875C 38 60 00 01 */ li r3, 1 /* 8028CB00 00288760 48 00 00 14 */ b lbl_8028CB14 lbl_8028CB04: /* 8028CB04 00288764 38 84 00 08 */ addi r4, r4, 8 /* 8028CB08 00288768 42 00 FF E4 */ bdnz lbl_8028CAEC /* 8028CB0C 0028876C 4B FE 1C 79 */ bl OSRestoreInterrupts /* 8028CB10 00288770 38 60 00 00 */ li r3, 0 lbl_8028CB14: /* 8028CB14 00288774 80 01 00 14 */ lwz r0, 0x14(r1) /* 8028CB18 00288778 7C 08 03 A6 */ mtlr r0 /* 8028CB1C 0028877C 38 21 00 10 */ addi r1, r1, 0x10 /* 8028CB20 00288780 4E 80 00 20 */ blr .global __DVDGetNextWaitingQueue __DVDGetNextWaitingQueue: /* 8028CB24 00288784 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8028CB28 00288788 7C 08 02 A6 */ mflr r0 /* 8028CB2C 0028878C 90 01 00 14 */ stw r0, 0x14(r1) /* 8028CB30 00288790 93 E1 00 0C */ stw r31, 0xc(r1) /* 8028CB34 00288794 4B FE 1C 29 */ bl OSDisableInterrupts /* 8028CB38 00288798 3C 80 80 52 */ lis r4, lbl_8051B550@ha /* 8028CB3C 0028879C 38 00 00 04 */ li r0, 4 /* 8028CB40 002887A0 38 84 B5 50 */ addi r4, r4, lbl_8051B550@l /* 8028CB44 002887A4 7C 09 03 A6 */ mtctr r0 lbl_8028CB48: /* 8028CB48 002887A8 83 E4 00 00 */ lwz r31, 0(r4) /* 8028CB4C 002887AC 7C 1F 20 40 */ cmplw r31, r4 /* 8028CB50 002887B0 41 82 00 10 */ beq lbl_8028CB60 /* 8028CB54 002887B4 4B FE 1C 31 */ bl OSRestoreInterrupts /* 8028CB58 002887B8 7F E3 FB 78 */ mr r3, r31 /* 8028CB5C 002887BC 48 00 00 14 */ b lbl_8028CB70 lbl_8028CB60: /* 8028CB60 002887C0 38 84 00 08 */ addi r4, r4, 8 /* 8028CB64 002887C4 42 00 FF E4 */ bdnz lbl_8028CB48 /* 8028CB68 002887C8 4B FE 1C 1D */ bl OSRestoreInterrupts /* 8028CB6C 002887CC 38 60 00 00 */ li r3, 0 lbl_8028CB70: /* 8028CB70 002887D0 80 01 00 14 */ lwz r0, 0x14(r1) /* 8028CB74 002887D4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8028CB78 002887D8 7C 08 03 A6 */ mtlr r0 /* 8028CB7C 002887DC 38 21 00 10 */ addi r1, r1, 0x10 /* 8028CB80 002887E0 4E 80 00 20 */ blr .global __DVDDequeueWaitingQueue __DVDDequeueWaitingQueue: /* 8028CB84 002887E4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8028CB88 002887E8 7C 08 02 A6 */ mflr r0 /* 8028CB8C 002887EC 90 01 00 14 */ stw r0, 0x14(r1) /* 8028CB90 002887F0 93 E1 00 0C */ stw r31, 0xc(r1) /* 8028CB94 002887F4 7C 7F 1B 78 */ mr r31, r3 /* 8028CB98 002887F8 4B FE 1B C5 */ bl OSDisableInterrupts /* 8028CB9C 002887FC 80 9F 00 04 */ lwz r4, 4(r31) /* 8028CBA0 00288800 80 BF 00 00 */ lwz r5, 0(r31) /* 8028CBA4 00288804 2C 04 00 00 */ cmpwi r4, 0 /* 8028CBA8 00288808 41 82 00 0C */ beq lbl_8028CBB4 /* 8028CBAC 0028880C 2C 05 00 00 */ cmpwi r5, 0 /* 8028CBB0 00288810 40 82 00 10 */ bne lbl_8028CBC0 lbl_8028CBB4: /* 8028CBB4 00288814 4B FE 1B D1 */ bl OSRestoreInterrupts /* 8028CBB8 00288818 38 60 00 00 */ li r3, 0 /* 8028CBBC 0028881C 48 00 00 14 */ b lbl_8028CBD0 lbl_8028CBC0: /* 8028CBC0 00288820 90 A4 00 00 */ stw r5, 0(r4) /* 8028CBC4 00288824 90 85 00 04 */ stw r4, 4(r5) /* 8028CBC8 00288828 4B FE 1B BD */ bl OSRestoreInterrupts /* 8028CBCC 0028882C 38 60 00 01 */ li r3, 1 lbl_8028CBD0: /* 8028CBD0 00288830 80 01 00 14 */ lwz r0, 0x14(r1) /* 8028CBD4 00288834 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8028CBD8 00288838 7C 08 03 A6 */ mtlr r0 /* 8028CBDC 0028883C 38 21 00 10 */ addi r1, r1, 0x10 /* 8028CBE0 00288840 4E 80 00 20 */ blr