.include "macros.inc" .section .bss .balign 8 .obj WaitingQueue, local .skip 0x20 .endobj WaitingQueue .section .text, "ax" .fn __DVDClearWaitingQueue /* 803748B8 00371818 3C 60 80 54 */ lis r3, WaitingQueue@ha /* 803748BC 0037181C 38 63 0B F8 */ addi r3, r3, WaitingQueue@l /* 803748C0 00371820 90 63 00 00 */ stw r3, 0(r3) /* 803748C4 00371824 38 A3 00 08 */ addi r5, r3, 8 /* 803748C8 00371828 38 83 00 10 */ addi r4, r3, 0x10 /* 803748CC 0037182C 90 63 00 04 */ stw r3, 4(r3) /* 803748D0 00371830 38 63 00 18 */ addi r3, r3, 0x18 /* 803748D4 00371834 90 A5 00 00 */ stw r5, 0(r5) /* 803748D8 00371838 90 A5 00 04 */ stw r5, 4(r5) /* 803748DC 0037183C 90 84 00 00 */ stw r4, 0(r4) /* 803748E0 00371840 90 84 00 04 */ stw r4, 4(r4) /* 803748E4 00371844 90 63 00 00 */ stw r3, 0(r3) /* 803748E8 00371848 90 63 00 04 */ stw r3, 4(r3) /* 803748EC 0037184C 4E 80 00 20 */ blr .endfn __DVDClearWaitingQueue .fn __DVDPushWaitingQueue /* 803748F0 00371850 7C 08 02 A6 */ mflr r0 /* 803748F4 00371854 90 01 00 04 */ stw r0, 4(r1) /* 803748F8 00371858 94 21 FF E8 */ stwu r1, -0x18(r1) /* 803748FC 0037185C 93 E1 00 14 */ stw r31, 0x14(r1) /* 80374900 00371860 3B E4 00 00 */ addi r31, r4, 0 /* 80374904 00371864 93 C1 00 10 */ stw r30, 0x10(r1) /* 80374908 00371868 3B C3 00 00 */ addi r30, r3, 0 /* 8037490C 0037186C 48 00 CD 55 */ bl OSDisableInterrupts /* 80374910 00371870 3C 80 80 54 */ lis r4, WaitingQueue@ha /* 80374914 00371874 57 C5 18 38 */ slwi r5, r30, 3 /* 80374918 00371878 38 04 0B F8 */ addi r0, r4, WaitingQueue@l /* 8037491C 0037187C 7C A0 2A 14 */ add r5, r0, r5 /* 80374920 00371880 80 85 00 04 */ lwz r4, 4(r5) /* 80374924 00371884 93 E4 00 00 */ stw r31, 0(r4) /* 80374928 00371888 80 05 00 04 */ lwz r0, 4(r5) /* 8037492C 0037188C 90 1F 00 04 */ stw r0, 4(r31) /* 80374930 00371890 90 BF 00 00 */ stw r5, 0(r31) /* 80374934 00371894 93 E5 00 04 */ stw r31, 4(r5) /* 80374938 00371898 48 00 CD 51 */ bl OSRestoreInterrupts /* 8037493C 0037189C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80374940 003718A0 38 60 00 01 */ li r3, 1 /* 80374944 003718A4 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80374948 003718A8 83 C1 00 10 */ lwz r30, 0x10(r1) /* 8037494C 003718AC 38 21 00 18 */ addi r1, r1, 0x18 /* 80374950 003718B0 7C 08 03 A6 */ mtlr r0 /* 80374954 003718B4 4E 80 00 20 */ blr .endfn __DVDPushWaitingQueue .fn __DVDPopWaitingQueue /* 80374958 003718B8 7C 08 02 A6 */ mflr r0 /* 8037495C 003718BC 90 01 00 04 */ stw r0, 4(r1) /* 80374960 003718C0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80374964 003718C4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80374968 003718C8 48 00 CC F9 */ bl OSDisableInterrupts /* 8037496C 003718CC 38 00 00 04 */ li r0, 4 /* 80374970 003718D0 3C 80 80 54 */ lis r4, WaitingQueue@ha /* 80374974 003718D4 7C 09 03 A6 */ mtctr r0 /* 80374978 003718D8 38 84 0B F8 */ addi r4, r4, WaitingQueue@l /* 8037497C 003718DC 3B E0 00 00 */ li r31, 0 .L_80374980: /* 80374980 003718E0 80 04 00 00 */ lwz r0, 0(r4) /* 80374984 003718E4 7C 00 20 40 */ cmplw r0, r4 /* 80374988 003718E8 41 82 00 48 */ beq .L_803749D0 /* 8037498C 003718EC 48 00 CC FD */ bl OSRestoreInterrupts /* 80374990 003718F0 48 00 CC D1 */ bl OSDisableInterrupts /* 80374994 003718F4 3C 80 80 54 */ lis r4, WaitingQueue@ha /* 80374998 003718F8 57 E5 18 38 */ slwi r5, r31, 3 /* 8037499C 003718FC 38 04 0B F8 */ addi r0, r4, WaitingQueue@l /* 803749A0 00371900 7C A0 2A 14 */ add r5, r0, r5 /* 803749A4 00371904 83 E5 00 00 */ lwz r31, 0(r5) /* 803749A8 00371908 80 1F 00 00 */ lwz r0, 0(r31) /* 803749AC 0037190C 90 05 00 00 */ stw r0, 0(r5) /* 803749B0 00371910 80 9F 00 00 */ lwz r4, 0(r31) /* 803749B4 00371914 90 A4 00 04 */ stw r5, 4(r4) /* 803749B8 00371918 48 00 CC D1 */ bl OSRestoreInterrupts /* 803749BC 0037191C 38 00 00 00 */ li r0, 0 /* 803749C0 00371920 90 1F 00 00 */ stw r0, 0(r31) /* 803749C4 00371924 7F E3 FB 78 */ mr r3, r31 /* 803749C8 00371928 90 1F 00 04 */ stw r0, 4(r31) /* 803749CC 0037192C 48 00 00 18 */ b .L_803749E4 .L_803749D0: /* 803749D0 00371930 38 84 00 08 */ addi r4, r4, 8 /* 803749D4 00371934 3B FF 00 01 */ addi r31, r31, 1 /* 803749D8 00371938 42 00 FF A8 */ bdnz .L_80374980 /* 803749DC 0037193C 48 00 CC AD */ bl OSRestoreInterrupts /* 803749E0 00371940 38 60 00 00 */ li r3, 0 .L_803749E4: /* 803749E4 00371944 80 01 00 14 */ lwz r0, 0x14(r1) /* 803749E8 00371948 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803749EC 0037194C 38 21 00 10 */ addi r1, r1, 0x10 /* 803749F0 00371950 7C 08 03 A6 */ mtlr r0 /* 803749F4 00371954 4E 80 00 20 */ blr .endfn __DVDPopWaitingQueue .fn __DVDCheckWaitingQueue /* 803749F8 00371958 7C 08 02 A6 */ mflr r0 /* 803749FC 0037195C 90 01 00 04 */ stw r0, 4(r1) /* 80374A00 00371960 94 21 FF F8 */ stwu r1, -8(r1) /* 80374A04 00371964 48 00 CC 5D */ bl OSDisableInterrupts /* 80374A08 00371968 38 00 00 04 */ li r0, 4 /* 80374A0C 0037196C 3C 80 80 54 */ lis r4, WaitingQueue@ha /* 80374A10 00371970 7C 09 03 A6 */ mtctr r0 /* 80374A14 00371974 38 84 0B F8 */ addi r4, r4, WaitingQueue@l .L_80374A18: /* 80374A18 00371978 80 04 00 00 */ lwz r0, 0(r4) /* 80374A1C 0037197C 7C 00 20 40 */ cmplw r0, r4 /* 80374A20 00371980 41 82 00 10 */ beq .L_80374A30 /* 80374A24 00371984 48 00 CC 65 */ bl OSRestoreInterrupts /* 80374A28 00371988 38 60 00 01 */ li r3, 1 /* 80374A2C 0037198C 48 00 00 14 */ b .L_80374A40 .L_80374A30: /* 80374A30 00371990 38 84 00 08 */ addi r4, r4, 8 /* 80374A34 00371994 42 00 FF E4 */ bdnz .L_80374A18 /* 80374A38 00371998 48 00 CC 51 */ bl OSRestoreInterrupts /* 80374A3C 0037199C 38 60 00 00 */ li r3, 0 .L_80374A40: /* 80374A40 003719A0 80 01 00 0C */ lwz r0, 0xc(r1) /* 80374A44 003719A4 38 21 00 08 */ addi r1, r1, 8 /* 80374A48 003719A8 7C 08 03 A6 */ mtlr r0 /* 80374A4C 003719AC 4E 80 00 20 */ blr .endfn __DVDCheckWaitingQueue .fn __DVDDequeueWaitingQueue /* 80374A50 003719B0 7C 08 02 A6 */ mflr r0 /* 80374A54 003719B4 90 01 00 04 */ stw r0, 4(r1) /* 80374A58 003719B8 94 21 FF E8 */ stwu r1, -0x18(r1) /* 80374A5C 003719BC 93 E1 00 14 */ stw r31, 0x14(r1) /* 80374A60 003719C0 7C 7F 1B 78 */ mr r31, r3 /* 80374A64 003719C4 48 00 CB FD */ bl OSDisableInterrupts /* 80374A68 003719C8 80 9F 00 04 */ lwz r4, 4(r31) /* 80374A6C 003719CC 80 BF 00 00 */ lwz r5, 0(r31) /* 80374A70 003719D0 28 04 00 00 */ cmplwi r4, 0 /* 80374A74 003719D4 41 82 00 0C */ beq .L_80374A80 /* 80374A78 003719D8 28 05 00 00 */ cmplwi r5, 0 /* 80374A7C 003719DC 40 82 00 10 */ bne .L_80374A8C .L_80374A80: /* 80374A80 003719E0 48 00 CC 09 */ bl OSRestoreInterrupts /* 80374A84 003719E4 38 60 00 00 */ li r3, 0 /* 80374A88 003719E8 48 00 00 14 */ b .L_80374A9C .L_80374A8C: /* 80374A8C 003719EC 90 A4 00 00 */ stw r5, 0(r4) /* 80374A90 003719F0 90 85 00 04 */ stw r4, 4(r5) /* 80374A94 003719F4 48 00 CB F5 */ bl OSRestoreInterrupts /* 80374A98 003719F8 38 60 00 01 */ li r3, 1 .L_80374A9C: /* 80374A9C 003719FC 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80374AA0 00371A00 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80374AA4 00371A04 38 21 00 18 */ addi r1, r1, 0x18 /* 80374AA8 00371A08 7C 08 03 A6 */ mtlr r0 /* 80374AAC 00371A0C 4E 80 00 20 */ blr .endfn __DVDDequeueWaitingQueue