mirror of
https://github.com/projectPiki/pikmin2.git
synced 2024-12-04 03:21:49 +00:00
75c3292df0
linkmap goes faster now
409 lines
19 KiB
ArmAsm
409 lines
19 KiB
ArmAsm
.include "macros.inc"
|
|
.section .bss # 0x804EFC20 - 0x8051467C
|
|
.lcomm VideoDecodeThread, 0x318, 8
|
|
.lcomm VideoDecodeThreadStack, 0x1000, 4
|
|
.lcomm FreeTextureSetQueue, 0x20, 4
|
|
.lcomm DecodedTextureSetQueue, 0x20, 4
|
|
.lcomm FreeTextureSetMessage, 0xC, 4
|
|
.lcomm DecodedTextureSetMessage, 0xC, 4
|
|
|
|
.section .sbss # 0x80514D80 - 0x80516360
|
|
.balign 8
|
|
VideoDecodeThreadCreated:
|
|
.skip 0x4
|
|
First:
|
|
.skip 0x4
|
|
|
|
.section .text, "ax" # 0x800056C0 - 0x80472F00
|
|
.global CreateVideoDecodeThread
|
|
CreateVideoDecodeThread:
|
|
/* 8044F8B4 0044C7F4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8044F8B8 0044C7F8 7C 08 02 A6 */ mflr r0
|
|
/* 8044F8BC 0044C7FC 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8044F8C0 0044C800 3C A0 80 50 */ lis r5, VideoDecodeThread@ha
|
|
/* 8044F8C4 0044C804 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8044F8C8 0044C808 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8044F8CC 0044C80C 3B E5 57 10 */ addi r31, r5, VideoDecodeThread@l
|
|
/* 8044F8D0 0044C810 41 82 00 40 */ beq .L_8044F910
|
|
/* 8044F8D4 0044C814 3C A0 80 45 */ lis r5, VideoDecoderForOnMemory__FPv@ha
|
|
/* 8044F8D8 0044C818 38 DF 03 18 */ addi r6, r31, 0x318
|
|
/* 8044F8DC 0044C81C 38 05 FA C4 */ addi r0, r5, VideoDecoderForOnMemory__FPv@l
|
|
/* 8044F8E0 0044C820 7C 68 1B 78 */ mr r8, r3
|
|
/* 8044F8E4 0044C824 7C 85 23 78 */ mr r5, r4
|
|
/* 8044F8E8 0044C828 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 8044F8EC 0044C82C 7C 04 03 78 */ mr r4, r0
|
|
/* 8044F8F0 0044C830 38 E0 10 00 */ li r7, 0x1000
|
|
/* 8044F8F4 0044C834 39 20 00 01 */ li r9, 1
|
|
/* 8044F8F8 0044C838 38 C6 10 00 */ addi r6, r6, 0x1000
|
|
/* 8044F8FC 0044C83C 4B CA 26 D1 */ bl OSCreateThread
|
|
/* 8044F900 0044C840 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8044F904 0044C844 40 82 00 44 */ bne .L_8044F948
|
|
/* 8044F908 0044C848 38 60 00 00 */ li r3, 0
|
|
/* 8044F90C 0044C84C 48 00 00 6C */ b .L_8044F978
|
|
.L_8044F910:
|
|
/* 8044F910 0044C850 3C 80 80 45 */ lis r4, VideoDecoder__FPv@ha
|
|
/* 8044F914 0044C854 38 DF 03 18 */ addi r6, r31, 0x318
|
|
/* 8044F918 0044C858 7C 68 1B 78 */ mr r8, r3
|
|
/* 8044F91C 0044C85C 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 8044F920 0044C860 38 84 F9 FC */ addi r4, r4, VideoDecoder__FPv@l
|
|
/* 8044F924 0044C864 38 A0 00 00 */ li r5, 0
|
|
/* 8044F928 0044C868 38 E0 10 00 */ li r7, 0x1000
|
|
/* 8044F92C 0044C86C 39 20 00 01 */ li r9, 1
|
|
/* 8044F930 0044C870 38 C6 10 00 */ addi r6, r6, 0x1000
|
|
/* 8044F934 0044C874 4B CA 26 99 */ bl OSCreateThread
|
|
/* 8044F938 0044C878 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8044F93C 0044C87C 40 82 00 0C */ bne .L_8044F948
|
|
/* 8044F940 0044C880 38 60 00 00 */ li r3, 0
|
|
/* 8044F944 0044C884 48 00 00 34 */ b .L_8044F978
|
|
.L_8044F948:
|
|
/* 8044F948 0044C888 38 7F 13 18 */ addi r3, r31, 0x1318
|
|
/* 8044F94C 0044C88C 38 9F 13 58 */ addi r4, r31, 0x1358
|
|
/* 8044F950 0044C890 38 A0 00 03 */ li r5, 3
|
|
/* 8044F954 0044C894 4B C9 FB 69 */ bl OSInitMessageQueue
|
|
/* 8044F958 0044C898 38 7F 13 38 */ addi r3, r31, 0x1338
|
|
/* 8044F95C 0044C89C 38 9F 13 64 */ addi r4, r31, 0x1364
|
|
/* 8044F960 0044C8A0 38 A0 00 03 */ li r5, 3
|
|
/* 8044F964 0044C8A4 4B C9 FB 59 */ bl OSInitMessageQueue
|
|
/* 8044F968 0044C8A8 38 00 00 01 */ li r0, 1
|
|
/* 8044F96C 0044C8AC 38 60 00 01 */ li r3, 1
|
|
/* 8044F970 0044C8B0 90 0D 9C 58 */ stw r0, VideoDecodeThreadCreated@sda21(r13)
|
|
/* 8044F974 0044C8B4 90 0D 9C 5C */ stw r0, First@sda21(r13)
|
|
.L_8044F978:
|
|
/* 8044F978 0044C8B8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8044F97C 0044C8BC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8044F980 0044C8C0 7C 08 03 A6 */ mtlr r0
|
|
/* 8044F984 0044C8C4 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8044F988 0044C8C8 4E 80 00 20 */ blr
|
|
|
|
.global VideoDecodeThreadStart
|
|
VideoDecodeThreadStart:
|
|
/* 8044F98C 0044C8CC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8044F990 0044C8D0 7C 08 02 A6 */ mflr r0
|
|
/* 8044F994 0044C8D4 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8044F998 0044C8D8 80 0D 9C 58 */ lwz r0, VideoDecodeThreadCreated@sda21(r13)
|
|
/* 8044F99C 0044C8DC 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8044F9A0 0044C8E0 41 82 00 10 */ beq .L_8044F9B0
|
|
/* 8044F9A4 0044C8E4 3C 60 80 50 */ lis r3, VideoDecodeThread@ha
|
|
/* 8044F9A8 0044C8E8 38 63 57 10 */ addi r3, r3, VideoDecodeThread@l
|
|
/* 8044F9AC 0044C8EC 4B CA 2B 49 */ bl OSResumeThread
|
|
.L_8044F9B0:
|
|
/* 8044F9B0 0044C8F0 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8044F9B4 0044C8F4 7C 08 03 A6 */ mtlr r0
|
|
/* 8044F9B8 0044C8F8 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8044F9BC 0044C8FC 4E 80 00 20 */ blr
|
|
|
|
.global VideoDecodeThreadCancel
|
|
VideoDecodeThreadCancel:
|
|
/* 8044F9C0 0044C900 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8044F9C4 0044C904 7C 08 02 A6 */ mflr r0
|
|
/* 8044F9C8 0044C908 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8044F9CC 0044C90C 80 0D 9C 58 */ lwz r0, VideoDecodeThreadCreated@sda21(r13)
|
|
/* 8044F9D0 0044C910 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8044F9D4 0044C914 41 82 00 18 */ beq .L_8044F9EC
|
|
/* 8044F9D8 0044C918 3C 60 80 50 */ lis r3, VideoDecodeThread@ha
|
|
/* 8044F9DC 0044C91C 38 63 57 10 */ addi r3, r3, VideoDecodeThread@l
|
|
/* 8044F9E0 0044C920 4B CA 28 B9 */ bl OSCancelThread
|
|
/* 8044F9E4 0044C924 38 00 00 00 */ li r0, 0
|
|
/* 8044F9E8 0044C928 90 0D 9C 58 */ stw r0, VideoDecodeThreadCreated@sda21(r13)
|
|
.L_8044F9EC:
|
|
/* 8044F9EC 0044C92C 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8044F9F0 0044C930 7C 08 03 A6 */ mtlr r0
|
|
/* 8044F9F4 0044C934 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8044F9F8 0044C938 4E 80 00 20 */ blr
|
|
|
|
VideoDecoder__FPv:
|
|
/* 8044F9FC 0044C93C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8044FA00 0044C940 7C 08 02 A6 */ mflr r0
|
|
/* 8044FA04 0044C944 3C 60 80 51 */ lis r3, ActivePlayer@ha
|
|
/* 8044FA08 0044C948 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8044FA0C 0044C94C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8044FA10 0044C950 3B E3 44 90 */ addi r31, r3, ActivePlayer@l
|
|
/* 8044FA14 0044C954 93 C1 00 08 */ stw r30, 8(r1)
|
|
.L_8044FA18:
|
|
/* 8044FA18 0044C958 88 1F 00 A7 */ lbz r0, 0xa7(r31)
|
|
/* 8044FA1C 0044C95C 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8044FA20 0044C960 41 82 00 70 */ beq .L_8044FA90
|
|
/* 8044FA24 0044C964 48 00 00 60 */ b .L_8044FA84
|
|
.L_8044FA28:
|
|
/* 8044FA28 0044C968 4B FF FE 29 */ bl PopReadedBuffer2
|
|
/* 8044FA2C 0044C96C 80 9F 00 C0 */ lwz r4, 0xc0(r31)
|
|
/* 8044FA30 0044C970 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8044FA34 0044C974 80 A3 00 04 */ lwz r5, 4(r3)
|
|
/* 8044FA38 0044C978 80 DF 00 50 */ lwz r6, 0x50(r31)
|
|
/* 8044FA3C 0044C97C 7C A5 22 14 */ add r5, r5, r4
|
|
/* 8044FA40 0044C980 7C 85 33 96 */ divwu r4, r5, r6
|
|
/* 8044FA44 0044C984 38 06 FF FF */ addi r0, r6, -1
|
|
/* 8044FA48 0044C988 7C 84 31 D6 */ mullw r4, r4, r6
|
|
/* 8044FA4C 0044C98C 7C 84 28 50 */ subf r4, r4, r5
|
|
/* 8044FA50 0044C990 7C 04 00 40 */ cmplw r4, r0
|
|
/* 8044FA54 0044C994 40 82 00 14 */ bne .L_8044FA68
|
|
/* 8044FA58 0044C998 88 1F 00 A6 */ lbz r0, 0xa6(r31)
|
|
/* 8044FA5C 0044C99C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8044FA60 0044C9A0 40 82 00 08 */ bne .L_8044FA68
|
|
/* 8044FA64 0044C9A4 48 00 01 95 */ bl VideoDecode__FP13THPReadBuffer
|
|
.L_8044FA68:
|
|
/* 8044FA68 0044C9A8 7F C3 F3 78 */ mr r3, r30
|
|
/* 8044FA6C 0044C9AC 4B FF FD B5 */ bl PushFreeReadBuffer
|
|
/* 8044FA70 0044C9B0 4B C9 F1 C9 */ bl OSDisableInterrupts
|
|
/* 8044FA74 0044C9B4 80 9F 00 D8 */ lwz r4, 0xd8(r31)
|
|
/* 8044FA78 0044C9B8 38 04 00 01 */ addi r0, r4, 1
|
|
/* 8044FA7C 0044C9BC 90 1F 00 D8 */ stw r0, 0xd8(r31)
|
|
/* 8044FA80 0044C9C0 4B C9 F1 E1 */ bl OSRestoreInterrupts
|
|
.L_8044FA84:
|
|
/* 8044FA84 0044C9C4 80 1F 00 D8 */ lwz r0, 0xd8(r31)
|
|
/* 8044FA88 0044C9C8 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8044FA8C 0044C9CC 41 80 FF 9C */ blt .L_8044FA28
|
|
.L_8044FA90:
|
|
/* 8044FA90 0044C9D0 88 1F 00 A7 */ lbz r0, 0xa7(r31)
|
|
/* 8044FA94 0044C9D4 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8044FA98 0044C9D8 41 82 00 10 */ beq .L_8044FAA8
|
|
/* 8044FA9C 0044C9DC 4B FF FD B5 */ bl PopReadedBuffer2
|
|
/* 8044FAA0 0044C9E0 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8044FAA4 0044C9E4 48 00 00 0C */ b .L_8044FAB0
|
|
.L_8044FAA8:
|
|
/* 8044FAA8 0044C9E8 4B FF FC E1 */ bl PopReadedBuffer
|
|
/* 8044FAAC 0044C9EC 7C 7E 1B 78 */ mr r30, r3
|
|
.L_8044FAB0:
|
|
/* 8044FAB0 0044C9F0 7F C3 F3 78 */ mr r3, r30
|
|
/* 8044FAB4 0044C9F4 48 00 01 45 */ bl VideoDecode__FP13THPReadBuffer
|
|
/* 8044FAB8 0044C9F8 7F C3 F3 78 */ mr r3, r30
|
|
/* 8044FABC 0044C9FC 4B FF FD 65 */ bl PushFreeReadBuffer
|
|
/* 8044FAC0 0044CA00 4B FF FF 58 */ b .L_8044FA18
|
|
|
|
VideoDecoderForOnMemory__FPv:
|
|
/* 8044FAC4 0044CA04 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8044FAC8 0044CA08 7C 08 02 A6 */ mflr r0
|
|
/* 8044FACC 0044CA0C 3C 80 80 51 */ lis r4, ActivePlayer@ha
|
|
/* 8044FAD0 0044CA10 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8044FAD4 0044CA14 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 8044FAD8 0044CA18 3B E4 44 90 */ addi r31, r4, ActivePlayer@l
|
|
/* 8044FADC 0044CA1C 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 8044FAE0 0044CA20 93 A1 00 24 */ stw r29, 0x24(r1)
|
|
/* 8044FAE4 0044CA24 3B A0 00 00 */ li r29, 0
|
|
/* 8044FAE8 0044CA28 90 61 00 08 */ stw r3, 8(r1)
|
|
/* 8044FAEC 0044CA2C 83 DF 00 BC */ lwz r30, 0xbc(r31)
|
|
.L_8044FAF0:
|
|
/* 8044FAF0 0044CA30 88 1F 00 A7 */ lbz r0, 0xa7(r31)
|
|
/* 8044FAF4 0044CA34 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8044FAF8 0044CA38 41 82 00 84 */ beq .L_8044FB7C
|
|
/* 8044FAFC 0044CA3C 48 00 00 74 */ b .L_8044FB70
|
|
.L_8044FB00:
|
|
/* 8044FB00 0044CA40 4B C9 F1 39 */ bl OSDisableInterrupts
|
|
/* 8044FB04 0044CA44 80 9F 00 D8 */ lwz r4, 0xd8(r31)
|
|
/* 8044FB08 0044CA48 38 04 00 01 */ addi r0, r4, 1
|
|
/* 8044FB0C 0044CA4C 90 1F 00 D8 */ stw r0, 0xd8(r31)
|
|
/* 8044FB10 0044CA50 4B C9 F1 51 */ bl OSRestoreInterrupts
|
|
/* 8044FB14 0044CA54 80 1F 00 C0 */ lwz r0, 0xc0(r31)
|
|
/* 8044FB18 0044CA58 80 BF 00 50 */ lwz r5, 0x50(r31)
|
|
/* 8044FB1C 0044CA5C 7C 9D 02 14 */ add r4, r29, r0
|
|
/* 8044FB20 0044CA60 7C 64 2B 96 */ divwu r3, r4, r5
|
|
/* 8044FB24 0044CA64 38 05 FF FF */ addi r0, r5, -1
|
|
/* 8044FB28 0044CA68 7C 63 29 D6 */ mullw r3, r3, r5
|
|
/* 8044FB2C 0044CA6C 7C 63 20 50 */ subf r3, r3, r4
|
|
/* 8044FB30 0044CA70 7C 03 00 40 */ cmplw r3, r0
|
|
/* 8044FB34 0044CA74 40 82 00 24 */ bne .L_8044FB58
|
|
/* 8044FB38 0044CA78 88 1F 00 A6 */ lbz r0, 0xa6(r31)
|
|
/* 8044FB3C 0044CA7C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8044FB40 0044CA80 41 82 00 3C */ beq .L_8044FB7C
|
|
/* 8044FB44 0044CA84 80 61 00 08 */ lwz r3, 8(r1)
|
|
/* 8044FB48 0044CA88 80 1F 00 B4 */ lwz r0, 0xb4(r31)
|
|
/* 8044FB4C 0044CA8C 83 C3 00 00 */ lwz r30, 0(r3)
|
|
/* 8044FB50 0044CA90 90 01 00 08 */ stw r0, 8(r1)
|
|
/* 8044FB54 0044CA94 48 00 00 18 */ b .L_8044FB6C
|
|
.L_8044FB58:
|
|
/* 8044FB58 0044CA98 80 61 00 08 */ lwz r3, 8(r1)
|
|
/* 8044FB5C 0044CA9C 80 83 00 00 */ lwz r4, 0(r3)
|
|
/* 8044FB60 0044CAA0 7C 03 F2 14 */ add r0, r3, r30
|
|
/* 8044FB64 0044CAA4 90 01 00 08 */ stw r0, 8(r1)
|
|
/* 8044FB68 0044CAA8 7C 9E 23 78 */ mr r30, r4
|
|
.L_8044FB6C:
|
|
/* 8044FB6C 0044CAAC 3B BD 00 01 */ addi r29, r29, 1
|
|
.L_8044FB70:
|
|
/* 8044FB70 0044CAB0 80 1F 00 D8 */ lwz r0, 0xd8(r31)
|
|
/* 8044FB74 0044CAB4 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8044FB78 0044CAB8 41 80 FF 88 */ blt .L_8044FB00
|
|
.L_8044FB7C:
|
|
/* 8044FB7C 0044CABC 93 A1 00 0C */ stw r29, 0xc(r1)
|
|
/* 8044FB80 0044CAC0 38 61 00 08 */ addi r3, r1, 8
|
|
/* 8044FB84 0044CAC4 48 00 00 75 */ bl VideoDecode__FP13THPReadBuffer
|
|
/* 8044FB88 0044CAC8 80 1F 00 C0 */ lwz r0, 0xc0(r31)
|
|
/* 8044FB8C 0044CACC 80 BF 00 50 */ lwz r5, 0x50(r31)
|
|
/* 8044FB90 0044CAD0 7C 9D 02 14 */ add r4, r29, r0
|
|
/* 8044FB94 0044CAD4 7C 64 2B 96 */ divwu r3, r4, r5
|
|
/* 8044FB98 0044CAD8 38 05 FF FF */ addi r0, r5, -1
|
|
/* 8044FB9C 0044CADC 7C 63 29 D6 */ mullw r3, r3, r5
|
|
/* 8044FBA0 0044CAE0 7C 63 20 50 */ subf r3, r3, r4
|
|
/* 8044FBA4 0044CAE4 7C 03 00 40 */ cmplw r3, r0
|
|
/* 8044FBA8 0044CAE8 40 82 00 34 */ bne .L_8044FBDC
|
|
/* 8044FBAC 0044CAEC 88 1F 00 A6 */ lbz r0, 0xa6(r31)
|
|
/* 8044FBB0 0044CAF0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8044FBB4 0044CAF4 41 82 00 18 */ beq .L_8044FBCC
|
|
/* 8044FBB8 0044CAF8 80 61 00 08 */ lwz r3, 8(r1)
|
|
/* 8044FBBC 0044CAFC 80 1F 00 B4 */ lwz r0, 0xb4(r31)
|
|
/* 8044FBC0 0044CB00 83 C3 00 00 */ lwz r30, 0(r3)
|
|
/* 8044FBC4 0044CB04 90 01 00 08 */ stw r0, 8(r1)
|
|
/* 8044FBC8 0044CB08 48 00 00 28 */ b .L_8044FBF0
|
|
.L_8044FBCC:
|
|
/* 8044FBCC 0044CB0C 3C 60 80 50 */ lis r3, VideoDecodeThread@ha
|
|
/* 8044FBD0 0044CB10 38 63 57 10 */ addi r3, r3, VideoDecodeThread@l
|
|
/* 8044FBD4 0044CB14 4B CA 2B A9 */ bl OSSuspendThread
|
|
/* 8044FBD8 0044CB18 48 00 00 18 */ b .L_8044FBF0
|
|
.L_8044FBDC:
|
|
/* 8044FBDC 0044CB1C 80 61 00 08 */ lwz r3, 8(r1)
|
|
/* 8044FBE0 0044CB20 80 83 00 00 */ lwz r4, 0(r3)
|
|
/* 8044FBE4 0044CB24 7C 03 F2 14 */ add r0, r3, r30
|
|
/* 8044FBE8 0044CB28 90 01 00 08 */ stw r0, 8(r1)
|
|
/* 8044FBEC 0044CB2C 7C 9E 23 78 */ mr r30, r4
|
|
.L_8044FBF0:
|
|
/* 8044FBF0 0044CB30 3B BD 00 01 */ addi r29, r29, 1
|
|
/* 8044FBF4 0044CB34 4B FF FE FC */ b .L_8044FAF0
|
|
|
|
VideoDecode__FP13THPReadBuffer:
|
|
/* 8044FBF8 0044CB38 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8044FBFC 0044CB3C 7C 08 02 A6 */ mflr r0
|
|
/* 8044FC00 0044CB40 3C 80 80 51 */ lis r4, ActivePlayer@ha
|
|
/* 8044FC04 0044CB44 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8044FC08 0044CB48 BF 01 00 10 */ stmw r24, 0x10(r1)
|
|
/* 8044FC0C 0044CB4C 3B E4 44 90 */ addi r31, r4, ActivePlayer@l
|
|
/* 8044FC10 0044CB50 7C 7B 1B 78 */ mr r27, r3
|
|
/* 8044FC14 0044CB54 80 1F 00 6C */ lwz r0, 0x6c(r31)
|
|
/* 8044FC18 0044CB58 80 83 00 00 */ lwz r4, 0(r3)
|
|
/* 8044FC1C 0044CB5C 54 03 10 3A */ slwi r3, r0, 2
|
|
/* 8044FC20 0044CB60 3B 83 00 08 */ addi r28, r3, 8
|
|
/* 8044FC24 0044CB64 3B A4 00 08 */ addi r29, r4, 8
|
|
/* 8044FC28 0044CB68 7F 84 E2 14 */ add r28, r4, r28
|
|
/* 8044FC2C 0044CB6C 48 00 00 ED */ bl PopFreeTextureSet
|
|
/* 8044FC30 0044CB70 3C 80 80 51 */ lis r4, ActivePlayer@ha
|
|
/* 8044FC34 0044CB74 3B C0 00 00 */ li r30, 0
|
|
/* 8044FC38 0044CB78 3B 44 44 90 */ addi r26, r4, ActivePlayer@l
|
|
/* 8044FC3C 0044CB7C 7C 78 1B 78 */ mr r24, r3
|
|
/* 8044FC40 0044CB80 7F 59 D3 78 */ mr r25, r26
|
|
/* 8044FC44 0044CB84 48 00 00 98 */ b .L_8044FCDC
|
|
.L_8044FC48:
|
|
/* 8044FC48 0044CB88 88 19 00 70 */ lbz r0, 0x70(r25)
|
|
/* 8044FC4C 0044CB8C 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8044FC50 0044CB90 41 82 00 08 */ beq .L_8044FC58
|
|
/* 8044FC54 0044CB94 48 00 00 74 */ b .L_8044FCC8
|
|
.L_8044FC58:
|
|
/* 8044FC58 0044CB98 80 98 00 00 */ lwz r4, 0(r24)
|
|
/* 8044FC5C 0044CB9C 7F 83 E3 78 */ mr r3, r28
|
|
/* 8044FC60 0044CBA0 80 B8 00 04 */ lwz r5, 4(r24)
|
|
/* 8044FC64 0044CBA4 80 D8 00 08 */ lwz r6, 8(r24)
|
|
/* 8044FC68 0044CBA8 80 FA 00 9C */ lwz r7, 0x9c(r26)
|
|
/* 8044FC6C 0044CBAC 4B CA 74 DD */ bl THPVideoDecode
|
|
/* 8044FC70 0044CBB0 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8044FC74 0044CBB4 90 7A 00 AC */ stw r3, 0xac(r26)
|
|
/* 8044FC78 0044CBB8 41 82 00 2C */ beq .L_8044FCA4
|
|
/* 8044FC7C 0044CBBC 80 0D 9C 5C */ lwz r0, First@sda21(r13)
|
|
/* 8044FC80 0044CBC0 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8044FC84 0044CBC4 41 82 00 14 */ beq .L_8044FC98
|
|
/* 8044FC88 0044CBC8 38 60 00 00 */ li r3, 0
|
|
/* 8044FC8C 0044CBCC 4B FF E9 A9 */ bl PrepareReady__Fi
|
|
/* 8044FC90 0044CBD0 38 00 00 00 */ li r0, 0
|
|
/* 8044FC94 0044CBD4 90 0D 9C 5C */ stw r0, First@sda21(r13)
|
|
.L_8044FC98:
|
|
/* 8044FC98 0044CBD8 3C 60 80 50 */ lis r3, VideoDecodeThread@ha
|
|
/* 8044FC9C 0044CBDC 38 63 57 10 */ addi r3, r3, VideoDecodeThread@l
|
|
/* 8044FCA0 0044CBE0 4B CA 2A DD */ bl OSSuspendThread
|
|
.L_8044FCA4:
|
|
/* 8044FCA4 0044CBE4 80 1B 00 04 */ lwz r0, 4(r27)
|
|
/* 8044FCA8 0044CBE8 7F 03 C3 78 */ mr r3, r24
|
|
/* 8044FCAC 0044CBEC 90 18 00 0C */ stw r0, 0xc(r24)
|
|
/* 8044FCB0 0044CBF0 48 00 01 11 */ bl PushDecodedTextureSet
|
|
/* 8044FCB4 0044CBF4 4B C9 EF 85 */ bl OSDisableInterrupts
|
|
/* 8044FCB8 0044CBF8 80 9A 00 D8 */ lwz r4, 0xd8(r26)
|
|
/* 8044FCBC 0044CBFC 38 04 00 01 */ addi r0, r4, 1
|
|
/* 8044FCC0 0044CC00 90 1A 00 D8 */ stw r0, 0xd8(r26)
|
|
/* 8044FCC4 0044CC04 4B C9 EF 9D */ bl OSRestoreInterrupts
|
|
.L_8044FCC8:
|
|
/* 8044FCC8 0044CC08 80 1D 00 00 */ lwz r0, 0(r29)
|
|
/* 8044FCCC 0044CC0C 3B BD 00 04 */ addi r29, r29, 4
|
|
/* 8044FCD0 0044CC10 3B 39 00 01 */ addi r25, r25, 1
|
|
/* 8044FCD4 0044CC14 3B DE 00 01 */ addi r30, r30, 1
|
|
/* 8044FCD8 0044CC18 7F 9C 02 14 */ add r28, r28, r0
|
|
.L_8044FCDC:
|
|
/* 8044FCDC 0044CC1C 80 1F 00 6C */ lwz r0, 0x6c(r31)
|
|
/* 8044FCE0 0044CC20 7C 1E 00 40 */ cmplw r30, r0
|
|
/* 8044FCE4 0044CC24 41 80 FF 64 */ blt .L_8044FC48
|
|
/* 8044FCE8 0044CC28 80 0D 9C 5C */ lwz r0, First@sda21(r13)
|
|
/* 8044FCEC 0044CC2C 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8044FCF0 0044CC30 41 82 00 14 */ beq .L_8044FD04
|
|
/* 8044FCF4 0044CC34 38 60 00 01 */ li r3, 1
|
|
/* 8044FCF8 0044CC38 4B FF E9 3D */ bl PrepareReady__Fi
|
|
/* 8044FCFC 0044CC3C 38 00 00 00 */ li r0, 0
|
|
/* 8044FD00 0044CC40 90 0D 9C 5C */ stw r0, First@sda21(r13)
|
|
.L_8044FD04:
|
|
/* 8044FD04 0044CC44 BB 01 00 10 */ lmw r24, 0x10(r1)
|
|
/* 8044FD08 0044CC48 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 8044FD0C 0044CC4C 7C 08 03 A6 */ mtlr r0
|
|
/* 8044FD10 0044CC50 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 8044FD14 0044CC54 4E 80 00 20 */ blr
|
|
|
|
.global PopFreeTextureSet
|
|
PopFreeTextureSet:
|
|
/* 8044FD18 0044CC58 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8044FD1C 0044CC5C 7C 08 02 A6 */ mflr r0
|
|
/* 8044FD20 0044CC60 3C 60 80 50 */ lis r3, FreeTextureSetQueue@ha
|
|
/* 8044FD24 0044CC64 38 A0 00 01 */ li r5, 1
|
|
/* 8044FD28 0044CC68 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8044FD2C 0044CC6C 38 81 00 08 */ addi r4, r1, 8
|
|
/* 8044FD30 0044CC70 38 63 6A 28 */ addi r3, r3, FreeTextureSetQueue@l
|
|
/* 8044FD34 0044CC74 4B C9 F8 B1 */ bl OSReceiveMessage
|
|
/* 8044FD38 0044CC78 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8044FD3C 0044CC7C 80 61 00 08 */ lwz r3, 8(r1)
|
|
/* 8044FD40 0044CC80 7C 08 03 A6 */ mtlr r0
|
|
/* 8044FD44 0044CC84 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8044FD48 0044CC88 4E 80 00 20 */ blr
|
|
|
|
.global PushFreeTextureSet
|
|
PushFreeTextureSet:
|
|
/* 8044FD4C 0044CC8C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8044FD50 0044CC90 7C 08 02 A6 */ mflr r0
|
|
/* 8044FD54 0044CC94 3C A0 80 50 */ lis r5, FreeTextureSetQueue@ha
|
|
/* 8044FD58 0044CC98 7C 64 1B 78 */ mr r4, r3
|
|
/* 8044FD5C 0044CC9C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8044FD60 0044CCA0 38 65 6A 28 */ addi r3, r5, FreeTextureSetQueue@l
|
|
/* 8044FD64 0044CCA4 38 A0 00 00 */ li r5, 0
|
|
/* 8044FD68 0044CCA8 4B C9 F7 B5 */ bl OSSendMessage
|
|
/* 8044FD6C 0044CCAC 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8044FD70 0044CCB0 7C 08 03 A6 */ mtlr r0
|
|
/* 8044FD74 0044CCB4 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8044FD78 0044CCB8 4E 80 00 20 */ blr
|
|
|
|
.global PopDecodedTextureSet
|
|
PopDecodedTextureSet:
|
|
/* 8044FD7C 0044CCBC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8044FD80 0044CCC0 7C 08 02 A6 */ mflr r0
|
|
/* 8044FD84 0044CCC4 3C 80 80 50 */ lis r4, DecodedTextureSetQueue@ha
|
|
/* 8044FD88 0044CCC8 7C 65 1B 78 */ mr r5, r3
|
|
/* 8044FD8C 0044CCCC 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8044FD90 0044CCD0 38 64 6A 48 */ addi r3, r4, DecodedTextureSetQueue@l
|
|
/* 8044FD94 0044CCD4 38 81 00 08 */ addi r4, r1, 8
|
|
/* 8044FD98 0044CCD8 4B C9 F8 4D */ bl OSReceiveMessage
|
|
/* 8044FD9C 0044CCDC 2C 03 00 01 */ cmpwi r3, 1
|
|
/* 8044FDA0 0044CCE0 40 82 00 0C */ bne .L_8044FDAC
|
|
/* 8044FDA4 0044CCE4 80 61 00 08 */ lwz r3, 8(r1)
|
|
/* 8044FDA8 0044CCE8 48 00 00 08 */ b .L_8044FDB0
|
|
.L_8044FDAC:
|
|
/* 8044FDAC 0044CCEC 38 60 00 00 */ li r3, 0
|
|
.L_8044FDB0:
|
|
/* 8044FDB0 0044CCF0 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8044FDB4 0044CCF4 7C 08 03 A6 */ mtlr r0
|
|
/* 8044FDB8 0044CCF8 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8044FDBC 0044CCFC 4E 80 00 20 */ blr
|
|
|
|
.global PushDecodedTextureSet
|
|
PushDecodedTextureSet:
|
|
/* 8044FDC0 0044CD00 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8044FDC4 0044CD04 7C 08 02 A6 */ mflr r0
|
|
/* 8044FDC8 0044CD08 3C A0 80 50 */ lis r5, DecodedTextureSetQueue@ha
|
|
/* 8044FDCC 0044CD0C 7C 64 1B 78 */ mr r4, r3
|
|
/* 8044FDD0 0044CD10 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8044FDD4 0044CD14 38 65 6A 48 */ addi r3, r5, DecodedTextureSetQueue@l
|
|
/* 8044FDD8 0044CD18 38 A0 00 01 */ li r5, 1
|
|
/* 8044FDDC 0044CD1C 4B C9 F7 41 */ bl OSSendMessage
|
|
/* 8044FDE0 0044CD20 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8044FDE4 0044CD24 7C 08 03 A6 */ mtlr r0
|
|
/* 8044FDE8 0044CD28 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8044FDEC 0044CD2C 4E 80 00 20 */ blr
|