donut-decomp/asm/libMobiclip/VX2_DecodeBlock4x4.s

949 lines
48 KiB
ArmAsm
Raw Permalink Normal View History

2022-10-16 16:05:58 +00:00
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
2022-10-16 16:31:36 +00:00
.global VX2CommandSkip14x4__FR14VX2DecoderData
VX2CommandSkip14x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 8015C5C0 00158400 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015C5C4 00158404 7C 08 02 A6 */ mflr r0
/* 8015C5C8 00158408 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015C5CC 0015840C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015C5D0 00158410 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015C5D4 00158414 7C 7E 1B 78 */ mr r30, r3
/* 8015C5D8 00158418 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015C5DC 0015841C A8 E3 0A 24 */ lha r7, 0xa24(r3)
/* 8015C5E0 00158420 A9 23 0A 26 */ lha r9, 0xa26(r3)
/* 8015C5E4 00158424 55 40 08 3C */ slwi r0, r10, 1
/* 8015C5E8 00158428 7F E7 02 14 */ add r31, r7, r0
/* 8015C5EC 0015842C 7C E8 0E 70 */ srawi r8, r7, 1
/* 8015C5F0 00158430 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015C5F4 00158434 7D 26 0E 70 */ srawi r6, r9, 1
/* 8015C5F8 00158438 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015C5FC 0015843C 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015C600 00158440 7C 04 02 14 */ add r0, r4, r0
/* 8015C604 00158444 80 83 00 6C */ lwz r4, 0x6c(r3)
/* 8015C608 00158448 B0 E3 0A 20 */ sth r7, 0xa20(r3)
/* 8015C60C 0015844C 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015C610 00158450 7C E4 52 14 */ add r7, r4, r10
/* 8015C614 00158454 80 83 00 68 */ lwz r4, 0x68(r3)
/* 8015C618 00158458 54 00 10 3A */ slwi r0, r0, 2
/* 8015C61C 0015845C B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015C620 00158460 7C 84 52 14 */ add r4, r4, r10
/* 8015C624 00158464 7C 7E 02 14 */ add r3, r30, r0
/* 8015C628 00158468 7C 08 3A 14 */ add r0, r8, r7
/* 8015C62C 0015846C 81 83 0D 68 */ lwz r12, 0xd68(r3)
/* 8015C630 00158470 7C 66 02 14 */ add r3, r6, r0
/* 8015C634 00158474 7D 89 03 A6 */ mtctr r12
/* 8015C638 00158478 4E 80 04 21 */ bctrl
/* 8015C63C 0015847C 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015C640 00158480 57 E4 FF BE */ extrwi r4, r31, 2, 29
/* 8015C644 00158484 A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015C648 00158488 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015C64C 0015848C A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015C650 00158490 7C 07 16 70 */ srawi r7, r0, 2
/* 8015C654 00158494 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015C658 00158498 54 60 0F 7A */ rlwinm r0, r3, 1, 29, 29
/* 8015C65C 0015849C 7C 63 16 70 */ srawi r3, r3, 2
/* 8015C660 001584A0 7C 04 02 14 */ add r0, r4, r0
/* 8015C664 001584A4 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 8015C668 001584A8 54 06 10 3A */ slwi r6, r0, 2
/* 8015C66C 001584AC 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015C670 001584B0 7F FE 32 14 */ add r31, r30, r6
/* 8015C674 001584B4 7C 84 42 14 */ add r4, r4, r8
/* 8015C678 001584B8 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015C67C 001584BC 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015C680 001584C0 7C 67 22 14 */ add r3, r7, r4
/* 8015C684 001584C4 7C 80 42 14 */ add r4, r0, r8
/* 8015C688 001584C8 7C 66 1A 14 */ add r3, r6, r3
/* 8015C68C 001584CC 7D 89 03 A6 */ mtctr r12
/* 8015C690 001584D0 4E 80 04 21 */ bctrl
/* 8015C694 001584D4 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015C698 001584D8 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015C69C 001584DC 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015C6A0 001584E0 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015C6A4 001584E4 7C 66 16 70 */ srawi r6, r3, 2
/* 8015C6A8 001584E8 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015C6AC 001584EC 7C 00 16 70 */ srawi r0, r0, 2
/* 8015C6B0 001584F0 80 7E 00 9C */ lwz r3, 0x9c(r30)
/* 8015C6B4 001584F4 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015C6B8 001584F8 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015C6BC 001584FC 7C 63 3A 14 */ add r3, r3, r7
/* 8015C6C0 00158500 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015C6C4 00158504 7C 66 1A 14 */ add r3, r6, r3
/* 8015C6C8 00158508 7C 64 1A 14 */ add r3, r4, r3
/* 8015C6CC 0015850C 7C 80 3A 14 */ add r4, r0, r7
/* 8015C6D0 00158510 7D 89 03 A6 */ mtctr r12
/* 8015C6D4 00158514 4E 80 04 21 */ bctrl
/* 8015C6D8 00158518 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015C6DC 0015851C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015C6E0 00158520 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015C6E4 00158524 7C 08 03 A6 */ mtlr r0
/* 8015C6E8 00158528 38 21 00 10 */ addi r1, r1, 0x10
/* 8015C6EC 0015852C 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global VX2CommandBack14x4__FR14VX2DecoderData
VX2CommandBack14x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 8015C6F0 00158530 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015C6F4 00158534 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8015C6F8 00158538 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015C6FC 0015853C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 8015C700 00158540 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 8015C704 00158544 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 8015C708 00158548 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015C70C 0015854C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015C710 00158550 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015C714 00158554 7C 7E 1B 78 */ mr r30, r3
/* 8015C718 00158558 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015C71C 0015855C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015C720 00158560 55 06 7C 7E */ srwi r6, r8, 17
/* 8015C724 00158564 7D 24 30 AE */ lbzx r9, r4, r6
/* 8015C728 00158568 7D 29 07 74 */ extsb r9, r9
/* 8015C72C 0015856C 55 24 10 3A */ slwi r4, r9, 2
/* 8015C730 00158570 7C 85 22 14 */ add r4, r5, r4
/* 8015C734 00158574 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015C738 00158578 7C E4 00 51 */ subf. r7, r4, r0
/* 8015C73C 0015857C 7D 08 20 30 */ slw r8, r8, r4
/* 8015C740 00158580 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015C744 00158584 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015C748 00158588 40 80 00 2C */ bge lbl_8015C774
/* 8015C74C 0015858C 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015C750 00158590 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015C754 00158594 7C A7 00 D0 */ neg r5, r7
/* 8015C758 00158598 38 84 00 02 */ addi r4, r4, 0x2
/* 8015C75C 0015859C 38 07 00 10 */ addi r0, r7, 0x10
/* 8015C760 001585A0 7C C5 28 30 */ slw r5, r6, r5
/* 8015C764 001585A4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015C768 001585A8 7D 04 2B 78 */ or r4, r8, r5
/* 8015C76C 001585AC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015C770 001585B0 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015C774
lbl_8015C774:
/* 8015C774 001585B4 A8 03 0A 24 */ lha r0, 0xa24(r3)
2022-10-16 16:31:36 +00:00
/* 8015C778 001585B8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
2022-10-16 16:05:58 +00:00
/* 8015C77C 001585BC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 8015C780 001585C0 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 8015C784 001585C4 7C 00 4A 14 */ add r0, r0, r9
/* 8015C788 001585C8 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015C78C 001585CC 54 C0 7C 7E */ srwi r0, r6, 17
2022-10-16 16:31:36 +00:00
/* 8015C790 001585D0 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
2022-10-16 16:05:58 +00:00
/* 8015C794 001585D4 7D 24 00 AE */ lbzx r9, r4, r0
2022-10-16 16:31:36 +00:00
/* 8015C798 001585D8 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015C79C 001585DC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015C7A0 001585E0 7D 29 07 74 */ extsb r9, r9
/* 8015C7A4 001585E4 55 24 10 3A */ slwi r4, r9, 2
/* 8015C7A8 001585E8 7C 85 22 14 */ add r4, r5, r4
/* 8015C7AC 001585EC 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015C7B0 001585F0 7C E4 00 51 */ subf. r7, r4, r0
/* 8015C7B4 001585F4 7C C8 20 30 */ slw r8, r6, r4
/* 8015C7B8 001585F8 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015C7BC 001585FC 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015C7C0 00158600 40 80 00 2C */ bge lbl_8015C7EC
/* 8015C7C4 00158604 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015C7C8 00158608 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015C7CC 0015860C 7C A7 00 D0 */ neg r5, r7
/* 8015C7D0 00158610 38 84 00 02 */ addi r4, r4, 0x2
/* 8015C7D4 00158614 38 07 00 10 */ addi r0, r7, 0x10
/* 8015C7D8 00158618 7C C5 28 30 */ slw r5, r6, r5
/* 8015C7DC 0015861C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015C7E0 00158620 7D 04 2B 78 */ or r4, r8, r5
/* 8015C7E4 00158624 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015C7E8 00158628 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015C7EC
lbl_8015C7EC:
/* 8015C7EC 0015862C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 8015C7F0 00158630 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 8015C7F4 00158634 7D 20 4A 14 */ add r9, r0, r9
/* 8015C7F8 00158638 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015C7FC 0015863C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015C800 00158640 7D 26 07 34 */ extsh r6, r9
/* 8015C804 00158644 55 40 08 3C */ slwi r0, r10, 1
/* 8015C808 00158648 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015C80C 0015864C 7F E4 02 14 */ add r31, r4, r0
/* 8015C810 00158650 7C C6 0E 70 */ srawi r6, r6, 1
/* 8015C814 00158654 80 E3 00 6C */ lwz r7, 0x6c(r3)
/* 8015C818 00158658 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015C81C 0015865C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015C820 00158660 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015C824 00158664 7C 04 02 14 */ add r0, r4, r0
/* 8015C828 00158668 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015C82C 0015866C 54 00 10 3A */ slwi r0, r0, 2
/* 8015C830 00158670 7C E7 52 14 */ add r7, r7, r10
/* 8015C834 00158674 7C 7E 02 14 */ add r3, r30, r0
/* 8015C838 00158678 7C 84 52 14 */ add r4, r4, r10
/* 8015C83C 0015867C 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015C840 00158680 81 83 0D 68 */ lwz r12, 0xd68(r3)
/* 8015C844 00158684 7C 08 3A 14 */ add r0, r8, r7
/* 8015C848 00158688 7C 66 02 14 */ add r3, r6, r0
/* 8015C84C 0015868C 7D 89 03 A6 */ mtctr r12
/* 8015C850 00158690 4E 80 04 21 */ bctrl
/* 8015C854 00158694 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015C858 00158698 57 E4 FF BE */ extrwi r4, r31, 2, 29
/* 8015C85C 0015869C A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015C860 001586A0 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015C864 001586A4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015C868 001586A8 7C 07 16 70 */ srawi r7, r0, 2
/* 8015C86C 001586AC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015C870 001586B0 54 60 0F 7A */ rlwinm r0, r3, 1, 29, 29
/* 8015C874 001586B4 7C 63 16 70 */ srawi r3, r3, 2
/* 8015C878 001586B8 7C 04 02 14 */ add r0, r4, r0
/* 8015C87C 001586BC 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 8015C880 001586C0 54 06 10 3A */ slwi r6, r0, 2
/* 8015C884 001586C4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015C888 001586C8 7F FE 32 14 */ add r31, r30, r6
/* 8015C88C 001586CC 7C 84 42 14 */ add r4, r4, r8
/* 8015C890 001586D0 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015C894 001586D4 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015C898 001586D8 7C 67 22 14 */ add r3, r7, r4
/* 8015C89C 001586DC 7C 80 42 14 */ add r4, r0, r8
/* 8015C8A0 001586E0 7C 66 1A 14 */ add r3, r6, r3
/* 8015C8A4 001586E4 7D 89 03 A6 */ mtctr r12
/* 8015C8A8 001586E8 4E 80 04 21 */ bctrl
/* 8015C8AC 001586EC 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015C8B0 001586F0 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015C8B4 001586F4 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015C8B8 001586F8 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015C8BC 001586FC 7C 66 16 70 */ srawi r6, r3, 2
/* 8015C8C0 00158700 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015C8C4 00158704 7C 00 16 70 */ srawi r0, r0, 2
/* 8015C8C8 00158708 80 7E 00 9C */ lwz r3, 0x9c(r30)
/* 8015C8CC 0015870C 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015C8D0 00158710 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015C8D4 00158714 7C 63 3A 14 */ add r3, r3, r7
/* 8015C8D8 00158718 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015C8DC 0015871C 7C 66 1A 14 */ add r3, r6, r3
/* 8015C8E0 00158720 7C 64 1A 14 */ add r3, r4, r3
/* 8015C8E4 00158724 7C 80 3A 14 */ add r4, r0, r7
/* 8015C8E8 00158728 7D 89 03 A6 */ mtctr r12
/* 8015C8EC 0015872C 4E 80 04 21 */ bctrl
/* 8015C8F0 00158730 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015C8F4 00158734 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015C8F8 00158738 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015C8FC 0015873C 7C 08 03 A6 */ mtlr r0
/* 8015C900 00158740 38 21 00 10 */ addi r1, r1, 0x10
/* 8015C904 00158744 4E 80 00 20 */ blr
/* 8015C908 00158748 00 00 00 00 */ .4byte 0x00000000
/* 8015C90C 0015874C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandBack24x4__FR14VX2DecoderData
VX2CommandBack24x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 8015C910 00158750 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015C914 00158754 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8015C918 00158758 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015C91C 0015875C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 8015C920 00158760 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 8015C924 00158764 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 8015C928 00158768 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015C92C 0015876C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015C930 00158770 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015C934 00158774 7C 7E 1B 78 */ mr r30, r3
/* 8015C938 00158778 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015C93C 0015877C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015C940 00158780 55 06 7C 7E */ srwi r6, r8, 17
/* 8015C944 00158784 7D 24 30 AE */ lbzx r9, r4, r6
/* 8015C948 00158788 7D 29 07 74 */ extsb r9, r9
/* 8015C94C 0015878C 55 24 10 3A */ slwi r4, r9, 2
/* 8015C950 00158790 7C 85 22 14 */ add r4, r5, r4
/* 8015C954 00158794 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015C958 00158798 7C E4 00 51 */ subf. r7, r4, r0
/* 8015C95C 0015879C 7D 08 20 30 */ slw r8, r8, r4
/* 8015C960 001587A0 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015C964 001587A4 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015C968 001587A8 40 80 00 2C */ bge lbl_8015C994
/* 8015C96C 001587AC 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015C970 001587B0 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015C974 001587B4 7C A7 00 D0 */ neg r5, r7
/* 8015C978 001587B8 38 84 00 02 */ addi r4, r4, 0x2
/* 8015C97C 001587BC 38 07 00 10 */ addi r0, r7, 0x10
/* 8015C980 001587C0 7C C5 28 30 */ slw r5, r6, r5
/* 8015C984 001587C4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015C988 001587C8 7D 04 2B 78 */ or r4, r8, r5
/* 8015C98C 001587CC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015C990 001587D0 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015C994
lbl_8015C994:
/* 8015C994 001587D4 A8 03 0A 24 */ lha r0, 0xa24(r3)
2022-10-16 16:31:36 +00:00
/* 8015C998 001587D8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
2022-10-16 16:05:58 +00:00
/* 8015C99C 001587DC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 8015C9A0 001587E0 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 8015C9A4 001587E4 7C 00 4A 14 */ add r0, r0, r9
/* 8015C9A8 001587E8 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015C9AC 001587EC 54 C0 7C 7E */ srwi r0, r6, 17
2022-10-16 16:31:36 +00:00
/* 8015C9B0 001587F0 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
2022-10-16 16:05:58 +00:00
/* 8015C9B4 001587F4 7D 24 00 AE */ lbzx r9, r4, r0
2022-10-16 16:31:36 +00:00
/* 8015C9B8 001587F8 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015C9BC 001587FC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015C9C0 00158800 7D 29 07 74 */ extsb r9, r9
/* 8015C9C4 00158804 55 24 10 3A */ slwi r4, r9, 2
/* 8015C9C8 00158808 7C 85 22 14 */ add r4, r5, r4
/* 8015C9CC 0015880C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015C9D0 00158810 7C E4 00 51 */ subf. r7, r4, r0
/* 8015C9D4 00158814 7C C8 20 30 */ slw r8, r6, r4
/* 8015C9D8 00158818 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015C9DC 0015881C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015C9E0 00158820 40 80 00 2C */ bge lbl_8015CA0C
/* 8015C9E4 00158824 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015C9E8 00158828 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015C9EC 0015882C 7C A7 00 D0 */ neg r5, r7
/* 8015C9F0 00158830 38 84 00 02 */ addi r4, r4, 0x2
/* 8015C9F4 00158834 38 07 00 10 */ addi r0, r7, 0x10
/* 8015C9F8 00158838 7C C5 28 30 */ slw r5, r6, r5
/* 8015C9FC 0015883C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015CA00 00158840 7D 04 2B 78 */ or r4, r8, r5
/* 8015CA04 00158844 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015CA08 00158848 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015CA0C
lbl_8015CA0C:
/* 8015CA0C 0015884C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 8015CA10 00158850 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 8015CA14 00158854 7D 20 4A 14 */ add r9, r0, r9
/* 8015CA18 00158858 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015CA1C 0015885C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015CA20 00158860 7D 26 07 34 */ extsh r6, r9
/* 8015CA24 00158864 55 40 08 3C */ slwi r0, r10, 1
/* 8015CA28 00158868 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015CA2C 0015886C 7F E4 02 14 */ add r31, r4, r0
/* 8015CA30 00158870 7C C6 0E 70 */ srawi r6, r6, 1
/* 8015CA34 00158874 80 E3 00 70 */ lwz r7, 0x70(r3)
/* 8015CA38 00158878 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015CA3C 0015887C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015CA40 00158880 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015CA44 00158884 7C 04 02 14 */ add r0, r4, r0
/* 8015CA48 00158888 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015CA4C 0015888C 54 00 10 3A */ slwi r0, r0, 2
/* 8015CA50 00158890 7C E7 52 14 */ add r7, r7, r10
/* 8015CA54 00158894 7C 7E 02 14 */ add r3, r30, r0
/* 8015CA58 00158898 7C 84 52 14 */ add r4, r4, r10
/* 8015CA5C 0015889C 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015CA60 001588A0 81 83 0D 68 */ lwz r12, 0xd68(r3)
/* 8015CA64 001588A4 7C 08 3A 14 */ add r0, r8, r7
/* 8015CA68 001588A8 7C 66 02 14 */ add r3, r6, r0
/* 8015CA6C 001588AC 7D 89 03 A6 */ mtctr r12
/* 8015CA70 001588B0 4E 80 04 21 */ bctrl
/* 8015CA74 001588B4 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015CA78 001588B8 57 E4 FF BE */ extrwi r4, r31, 2, 29
/* 8015CA7C 001588BC A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015CA80 001588C0 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015CA84 001588C4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015CA88 001588C8 7C 07 16 70 */ srawi r7, r0, 2
/* 8015CA8C 001588CC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015CA90 001588D0 54 60 0F 7A */ rlwinm r0, r3, 1, 29, 29
/* 8015CA94 001588D4 7C 63 16 70 */ srawi r3, r3, 2
/* 8015CA98 001588D8 7C 04 02 14 */ add r0, r4, r0
/* 8015CA9C 001588DC 80 9E 00 88 */ lwz r4, 0x88(r30)
/* 8015CAA0 001588E0 54 06 10 3A */ slwi r6, r0, 2
/* 8015CAA4 001588E4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015CAA8 001588E8 7F FE 32 14 */ add r31, r30, r6
/* 8015CAAC 001588EC 7C 84 42 14 */ add r4, r4, r8
/* 8015CAB0 001588F0 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015CAB4 001588F4 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015CAB8 001588F8 7C 67 22 14 */ add r3, r7, r4
/* 8015CABC 001588FC 7C 80 42 14 */ add r4, r0, r8
/* 8015CAC0 00158900 7C 66 1A 14 */ add r3, r6, r3
/* 8015CAC4 00158904 7D 89 03 A6 */ mtctr r12
/* 8015CAC8 00158908 4E 80 04 21 */ bctrl
/* 8015CACC 0015890C 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015CAD0 00158910 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015CAD4 00158914 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015CAD8 00158918 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015CADC 0015891C 7C 66 16 70 */ srawi r6, r3, 2
/* 8015CAE0 00158920 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015CAE4 00158924 7C 00 16 70 */ srawi r0, r0, 2
/* 8015CAE8 00158928 80 7E 00 A0 */ lwz r3, 0xa0(r30)
/* 8015CAEC 0015892C 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015CAF0 00158930 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015CAF4 00158934 7C 63 3A 14 */ add r3, r3, r7
/* 8015CAF8 00158938 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015CAFC 0015893C 7C 66 1A 14 */ add r3, r6, r3
/* 8015CB00 00158940 7C 64 1A 14 */ add r3, r4, r3
/* 8015CB04 00158944 7C 80 3A 14 */ add r4, r0, r7
/* 8015CB08 00158948 7D 89 03 A6 */ mtctr r12
/* 8015CB0C 0015894C 4E 80 04 21 */ bctrl
/* 8015CB10 00158950 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015CB14 00158954 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015CB18 00158958 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015CB1C 0015895C 7C 08 03 A6 */ mtlr r0
/* 8015CB20 00158960 38 21 00 10 */ addi r1, r1, 0x10
/* 8015CB24 00158964 4E 80 00 20 */ blr
/* 8015CB28 00158968 00 00 00 00 */ .4byte 0x00000000
/* 8015CB2C 0015896C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandBack34x4__FR14VX2DecoderData
VX2CommandBack34x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 8015CB30 00158970 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015CB34 00158974 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8015CB38 00158978 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015CB3C 0015897C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 8015CB40 00158980 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 8015CB44 00158984 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 8015CB48 00158988 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015CB4C 0015898C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015CB50 00158990 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015CB54 00158994 7C 7E 1B 78 */ mr r30, r3
/* 8015CB58 00158998 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015CB5C 0015899C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015CB60 001589A0 55 06 7C 7E */ srwi r6, r8, 17
/* 8015CB64 001589A4 7D 24 30 AE */ lbzx r9, r4, r6
/* 8015CB68 001589A8 7D 29 07 74 */ extsb r9, r9
/* 8015CB6C 001589AC 55 24 10 3A */ slwi r4, r9, 2
/* 8015CB70 001589B0 7C 85 22 14 */ add r4, r5, r4
/* 8015CB74 001589B4 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015CB78 001589B8 7C E4 00 51 */ subf. r7, r4, r0
/* 8015CB7C 001589BC 7D 08 20 30 */ slw r8, r8, r4
/* 8015CB80 001589C0 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015CB84 001589C4 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015CB88 001589C8 40 80 00 2C */ bge lbl_8015CBB4
/* 8015CB8C 001589CC 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015CB90 001589D0 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015CB94 001589D4 7C A7 00 D0 */ neg r5, r7
/* 8015CB98 001589D8 38 84 00 02 */ addi r4, r4, 0x2
/* 8015CB9C 001589DC 38 07 00 10 */ addi r0, r7, 0x10
/* 8015CBA0 001589E0 7C C5 28 30 */ slw r5, r6, r5
/* 8015CBA4 001589E4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015CBA8 001589E8 7D 04 2B 78 */ or r4, r8, r5
/* 8015CBAC 001589EC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015CBB0 001589F0 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015CBB4
lbl_8015CBB4:
/* 8015CBB4 001589F4 A8 03 0A 24 */ lha r0, 0xa24(r3)
2022-10-16 16:31:36 +00:00
/* 8015CBB8 001589F8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
2022-10-16 16:05:58 +00:00
/* 8015CBBC 001589FC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 8015CBC0 00158A00 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 8015CBC4 00158A04 7C 00 4A 14 */ add r0, r0, r9
/* 8015CBC8 00158A08 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015CBCC 00158A0C 54 C0 7C 7E */ srwi r0, r6, 17
2022-10-16 16:31:36 +00:00
/* 8015CBD0 00158A10 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
2022-10-16 16:05:58 +00:00
/* 8015CBD4 00158A14 7D 24 00 AE */ lbzx r9, r4, r0
2022-10-16 16:31:36 +00:00
/* 8015CBD8 00158A18 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015CBDC 00158A1C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015CBE0 00158A20 7D 29 07 74 */ extsb r9, r9
/* 8015CBE4 00158A24 55 24 10 3A */ slwi r4, r9, 2
/* 8015CBE8 00158A28 7C 85 22 14 */ add r4, r5, r4
/* 8015CBEC 00158A2C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015CBF0 00158A30 7C E4 00 51 */ subf. r7, r4, r0
/* 8015CBF4 00158A34 7C C8 20 30 */ slw r8, r6, r4
/* 8015CBF8 00158A38 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015CBFC 00158A3C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015CC00 00158A40 40 80 00 2C */ bge lbl_8015CC2C
/* 8015CC04 00158A44 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015CC08 00158A48 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015CC0C 00158A4C 7C A7 00 D0 */ neg r5, r7
/* 8015CC10 00158A50 38 84 00 02 */ addi r4, r4, 0x2
/* 8015CC14 00158A54 38 07 00 10 */ addi r0, r7, 0x10
/* 8015CC18 00158A58 7C C5 28 30 */ slw r5, r6, r5
/* 8015CC1C 00158A5C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015CC20 00158A60 7D 04 2B 78 */ or r4, r8, r5
/* 8015CC24 00158A64 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015CC28 00158A68 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015CC2C
lbl_8015CC2C:
/* 8015CC2C 00158A6C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 8015CC30 00158A70 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 8015CC34 00158A74 7D 20 4A 14 */ add r9, r0, r9
/* 8015CC38 00158A78 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015CC3C 00158A7C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015CC40 00158A80 7D 26 07 34 */ extsh r6, r9
/* 8015CC44 00158A84 55 40 08 3C */ slwi r0, r10, 1
/* 8015CC48 00158A88 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015CC4C 00158A8C 7F E4 02 14 */ add r31, r4, r0
/* 8015CC50 00158A90 7C C6 0E 70 */ srawi r6, r6, 1
/* 8015CC54 00158A94 80 E3 00 74 */ lwz r7, 0x74(r3)
/* 8015CC58 00158A98 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015CC5C 00158A9C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015CC60 00158AA0 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015CC64 00158AA4 7C 04 02 14 */ add r0, r4, r0
/* 8015CC68 00158AA8 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015CC6C 00158AAC 54 00 10 3A */ slwi r0, r0, 2
/* 8015CC70 00158AB0 7C E7 52 14 */ add r7, r7, r10
/* 8015CC74 00158AB4 7C 7E 02 14 */ add r3, r30, r0
/* 8015CC78 00158AB8 7C 84 52 14 */ add r4, r4, r10
/* 8015CC7C 00158ABC 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015CC80 00158AC0 81 83 0D 68 */ lwz r12, 0xd68(r3)
/* 8015CC84 00158AC4 7C 08 3A 14 */ add r0, r8, r7
/* 8015CC88 00158AC8 7C 66 02 14 */ add r3, r6, r0
/* 8015CC8C 00158ACC 7D 89 03 A6 */ mtctr r12
/* 8015CC90 00158AD0 4E 80 04 21 */ bctrl
/* 8015CC94 00158AD4 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015CC98 00158AD8 57 E4 FF BE */ extrwi r4, r31, 2, 29
/* 8015CC9C 00158ADC A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015CCA0 00158AE0 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015CCA4 00158AE4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015CCA8 00158AE8 7C 07 16 70 */ srawi r7, r0, 2
/* 8015CCAC 00158AEC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015CCB0 00158AF0 54 60 0F 7A */ rlwinm r0, r3, 1, 29, 29
/* 8015CCB4 00158AF4 7C 63 16 70 */ srawi r3, r3, 2
/* 8015CCB8 00158AF8 7C 04 02 14 */ add r0, r4, r0
/* 8015CCBC 00158AFC 80 9E 00 8C */ lwz r4, 0x8c(r30)
/* 8015CCC0 00158B00 54 06 10 3A */ slwi r6, r0, 2
/* 8015CCC4 00158B04 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015CCC8 00158B08 7F FE 32 14 */ add r31, r30, r6
/* 8015CCCC 00158B0C 7C 84 42 14 */ add r4, r4, r8
/* 8015CCD0 00158B10 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015CCD4 00158B14 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015CCD8 00158B18 7C 67 22 14 */ add r3, r7, r4
/* 8015CCDC 00158B1C 7C 80 42 14 */ add r4, r0, r8
/* 8015CCE0 00158B20 7C 66 1A 14 */ add r3, r6, r3
/* 8015CCE4 00158B24 7D 89 03 A6 */ mtctr r12
/* 8015CCE8 00158B28 4E 80 04 21 */ bctrl
/* 8015CCEC 00158B2C 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015CCF0 00158B30 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015CCF4 00158B34 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015CCF8 00158B38 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015CCFC 00158B3C 7C 66 16 70 */ srawi r6, r3, 2
/* 8015CD00 00158B40 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015CD04 00158B44 7C 00 16 70 */ srawi r0, r0, 2
/* 8015CD08 00158B48 80 7E 00 A4 */ lwz r3, 0xa4(r30)
/* 8015CD0C 00158B4C 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015CD10 00158B50 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015CD14 00158B54 7C 63 3A 14 */ add r3, r3, r7
/* 8015CD18 00158B58 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015CD1C 00158B5C 7C 66 1A 14 */ add r3, r6, r3
/* 8015CD20 00158B60 7C 64 1A 14 */ add r3, r4, r3
/* 8015CD24 00158B64 7C 80 3A 14 */ add r4, r0, r7
/* 8015CD28 00158B68 7D 89 03 A6 */ mtctr r12
/* 8015CD2C 00158B6C 4E 80 04 21 */ bctrl
/* 8015CD30 00158B70 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015CD34 00158B74 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015CD38 00158B78 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015CD3C 00158B7C 7C 08 03 A6 */ mtlr r0
/* 8015CD40 00158B80 38 21 00 10 */ addi r1, r1, 0x10
/* 8015CD44 00158B84 4E 80 00 20 */ blr
/* 8015CD48 00158B88 00 00 00 00 */ .4byte 0x00000000
/* 8015CD4C 00158B8C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandBack44x4__FR14VX2DecoderData
VX2CommandBack44x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 8015CD50 00158B90 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015CD54 00158B94 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8015CD58 00158B98 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015CD5C 00158B9C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 8015CD60 00158BA0 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 8015CD64 00158BA4 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 8015CD68 00158BA8 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015CD6C 00158BAC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015CD70 00158BB0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015CD74 00158BB4 7C 7E 1B 78 */ mr r30, r3
/* 8015CD78 00158BB8 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015CD7C 00158BBC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015CD80 00158BC0 55 06 7C 7E */ srwi r6, r8, 17
/* 8015CD84 00158BC4 7D 24 30 AE */ lbzx r9, r4, r6
/* 8015CD88 00158BC8 7D 29 07 74 */ extsb r9, r9
/* 8015CD8C 00158BCC 55 24 10 3A */ slwi r4, r9, 2
/* 8015CD90 00158BD0 7C 85 22 14 */ add r4, r5, r4
/* 8015CD94 00158BD4 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015CD98 00158BD8 7C E4 00 51 */ subf. r7, r4, r0
/* 8015CD9C 00158BDC 7D 08 20 30 */ slw r8, r8, r4
/* 8015CDA0 00158BE0 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015CDA4 00158BE4 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015CDA8 00158BE8 40 80 00 2C */ bge lbl_8015CDD4
/* 8015CDAC 00158BEC 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015CDB0 00158BF0 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015CDB4 00158BF4 7C A7 00 D0 */ neg r5, r7
/* 8015CDB8 00158BF8 38 84 00 02 */ addi r4, r4, 0x2
/* 8015CDBC 00158BFC 38 07 00 10 */ addi r0, r7, 0x10
/* 8015CDC0 00158C00 7C C5 28 30 */ slw r5, r6, r5
/* 8015CDC4 00158C04 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015CDC8 00158C08 7D 04 2B 78 */ or r4, r8, r5
/* 8015CDCC 00158C0C 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015CDD0 00158C10 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015CDD4
lbl_8015CDD4:
/* 8015CDD4 00158C14 A8 03 0A 24 */ lha r0, 0xa24(r3)
2022-10-16 16:31:36 +00:00
/* 8015CDD8 00158C18 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
2022-10-16 16:05:58 +00:00
/* 8015CDDC 00158C1C 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 8015CDE0 00158C20 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 8015CDE4 00158C24 7C 00 4A 14 */ add r0, r0, r9
/* 8015CDE8 00158C28 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015CDEC 00158C2C 54 C0 7C 7E */ srwi r0, r6, 17
2022-10-16 16:31:36 +00:00
/* 8015CDF0 00158C30 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
2022-10-16 16:05:58 +00:00
/* 8015CDF4 00158C34 7D 24 00 AE */ lbzx r9, r4, r0
2022-10-16 16:31:36 +00:00
/* 8015CDF8 00158C38 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015CDFC 00158C3C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015CE00 00158C40 7D 29 07 74 */ extsb r9, r9
/* 8015CE04 00158C44 55 24 10 3A */ slwi r4, r9, 2
/* 8015CE08 00158C48 7C 85 22 14 */ add r4, r5, r4
/* 8015CE0C 00158C4C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015CE10 00158C50 7C E4 00 51 */ subf. r7, r4, r0
/* 8015CE14 00158C54 7C C8 20 30 */ slw r8, r6, r4
/* 8015CE18 00158C58 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015CE1C 00158C5C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015CE20 00158C60 40 80 00 2C */ bge lbl_8015CE4C
/* 8015CE24 00158C64 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015CE28 00158C68 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015CE2C 00158C6C 7C A7 00 D0 */ neg r5, r7
/* 8015CE30 00158C70 38 84 00 02 */ addi r4, r4, 0x2
/* 8015CE34 00158C74 38 07 00 10 */ addi r0, r7, 0x10
/* 8015CE38 00158C78 7C C5 28 30 */ slw r5, r6, r5
/* 8015CE3C 00158C7C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015CE40 00158C80 7D 04 2B 78 */ or r4, r8, r5
/* 8015CE44 00158C84 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015CE48 00158C88 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015CE4C
lbl_8015CE4C:
/* 8015CE4C 00158C8C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 8015CE50 00158C90 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 8015CE54 00158C94 7D 20 4A 14 */ add r9, r0, r9
/* 8015CE58 00158C98 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015CE5C 00158C9C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015CE60 00158CA0 7D 26 07 34 */ extsh r6, r9
/* 8015CE64 00158CA4 55 40 08 3C */ slwi r0, r10, 1
/* 8015CE68 00158CA8 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015CE6C 00158CAC 7F E4 02 14 */ add r31, r4, r0
/* 8015CE70 00158CB0 7C C6 0E 70 */ srawi r6, r6, 1
/* 8015CE74 00158CB4 80 E3 00 78 */ lwz r7, 0x78(r3)
/* 8015CE78 00158CB8 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015CE7C 00158CBC 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015CE80 00158CC0 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015CE84 00158CC4 7C 04 02 14 */ add r0, r4, r0
/* 8015CE88 00158CC8 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015CE8C 00158CCC 54 00 10 3A */ slwi r0, r0, 2
/* 8015CE90 00158CD0 7C E7 52 14 */ add r7, r7, r10
/* 8015CE94 00158CD4 7C 7E 02 14 */ add r3, r30, r0
/* 8015CE98 00158CD8 7C 84 52 14 */ add r4, r4, r10
/* 8015CE9C 00158CDC 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015CEA0 00158CE0 81 83 0D 68 */ lwz r12, 0xd68(r3)
/* 8015CEA4 00158CE4 7C 08 3A 14 */ add r0, r8, r7
/* 8015CEA8 00158CE8 7C 66 02 14 */ add r3, r6, r0
/* 8015CEAC 00158CEC 7D 89 03 A6 */ mtctr r12
/* 8015CEB0 00158CF0 4E 80 04 21 */ bctrl
/* 8015CEB4 00158CF4 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015CEB8 00158CF8 57 E4 FF BE */ extrwi r4, r31, 2, 29
/* 8015CEBC 00158CFC A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015CEC0 00158D00 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015CEC4 00158D04 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015CEC8 00158D08 7C 07 16 70 */ srawi r7, r0, 2
/* 8015CECC 00158D0C 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015CED0 00158D10 54 60 0F 7A */ rlwinm r0, r3, 1, 29, 29
/* 8015CED4 00158D14 7C 63 16 70 */ srawi r3, r3, 2
/* 8015CED8 00158D18 7C 04 02 14 */ add r0, r4, r0
/* 8015CEDC 00158D1C 80 9E 00 90 */ lwz r4, 0x90(r30)
/* 8015CEE0 00158D20 54 06 10 3A */ slwi r6, r0, 2
/* 8015CEE4 00158D24 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015CEE8 00158D28 7F FE 32 14 */ add r31, r30, r6
/* 8015CEEC 00158D2C 7C 84 42 14 */ add r4, r4, r8
/* 8015CEF0 00158D30 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015CEF4 00158D34 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015CEF8 00158D38 7C 67 22 14 */ add r3, r7, r4
/* 8015CEFC 00158D3C 7C 80 42 14 */ add r4, r0, r8
/* 8015CF00 00158D40 7C 66 1A 14 */ add r3, r6, r3
/* 8015CF04 00158D44 7D 89 03 A6 */ mtctr r12
/* 8015CF08 00158D48 4E 80 04 21 */ bctrl
/* 8015CF0C 00158D4C 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015CF10 00158D50 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015CF14 00158D54 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015CF18 00158D58 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015CF1C 00158D5C 7C 66 16 70 */ srawi r6, r3, 2
/* 8015CF20 00158D60 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015CF24 00158D64 7C 00 16 70 */ srawi r0, r0, 2
/* 8015CF28 00158D68 80 7E 00 A8 */ lwz r3, 0xa8(r30)
/* 8015CF2C 00158D6C 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015CF30 00158D70 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015CF34 00158D74 7C 63 3A 14 */ add r3, r3, r7
/* 8015CF38 00158D78 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015CF3C 00158D7C 7C 66 1A 14 */ add r3, r6, r3
/* 8015CF40 00158D80 7C 64 1A 14 */ add r3, r4, r3
/* 8015CF44 00158D84 7C 80 3A 14 */ add r4, r0, r7
/* 8015CF48 00158D88 7D 89 03 A6 */ mtctr r12
/* 8015CF4C 00158D8C 4E 80 04 21 */ bctrl
/* 8015CF50 00158D90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015CF54 00158D94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015CF58 00158D98 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015CF5C 00158D9C 7C 08 03 A6 */ mtlr r0
/* 8015CF60 00158DA0 38 21 00 10 */ addi r1, r1, 0x10
/* 8015CF64 00158DA4 4E 80 00 20 */ blr
/* 8015CF68 00158DA8 00 00 00 00 */ .4byte 0x00000000
/* 8015CF6C 00158DAC 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandBack54x4__FR14VX2DecoderData
VX2CommandBack54x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 8015CF70 00158DB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015CF74 00158DB4 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8015CF78 00158DB8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015CF7C 00158DBC 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 8015CF80 00158DC0 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 8015CF84 00158DC4 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 8015CF88 00158DC8 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015CF8C 00158DCC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015CF90 00158DD0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8015CF94 00158DD4 7C 7E 1B 78 */ mr r30, r3
/* 8015CF98 00158DD8 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015CF9C 00158DDC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015CFA0 00158DE0 55 06 7C 7E */ srwi r6, r8, 17
/* 8015CFA4 00158DE4 7D 24 30 AE */ lbzx r9, r4, r6
/* 8015CFA8 00158DE8 7D 29 07 74 */ extsb r9, r9
/* 8015CFAC 00158DEC 55 24 10 3A */ slwi r4, r9, 2
/* 8015CFB0 00158DF0 7C 85 22 14 */ add r4, r5, r4
/* 8015CFB4 00158DF4 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015CFB8 00158DF8 7C E4 00 51 */ subf. r7, r4, r0
/* 8015CFBC 00158DFC 7D 08 20 30 */ slw r8, r8, r4
/* 8015CFC0 00158E00 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015CFC4 00158E04 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015CFC8 00158E08 40 80 00 2C */ bge lbl_8015CFF4
/* 8015CFCC 00158E0C 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015CFD0 00158E10 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015CFD4 00158E14 7C A7 00 D0 */ neg r5, r7
/* 8015CFD8 00158E18 38 84 00 02 */ addi r4, r4, 0x2
/* 8015CFDC 00158E1C 38 07 00 10 */ addi r0, r7, 0x10
/* 8015CFE0 00158E20 7C C5 28 30 */ slw r5, r6, r5
/* 8015CFE4 00158E24 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015CFE8 00158E28 7D 04 2B 78 */ or r4, r8, r5
/* 8015CFEC 00158E2C 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015CFF0 00158E30 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015CFF4
lbl_8015CFF4:
/* 8015CFF4 00158E34 A8 03 0A 24 */ lha r0, 0xa24(r3)
2022-10-16 16:31:36 +00:00
/* 8015CFF8 00158E38 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
2022-10-16 16:05:58 +00:00
/* 8015CFFC 00158E3C 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 8015D000 00158E40 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 8015D004 00158E44 7C 00 4A 14 */ add r0, r0, r9
/* 8015D008 00158E48 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015D00C 00158E4C 54 C0 7C 7E */ srwi r0, r6, 17
2022-10-16 16:31:36 +00:00
/* 8015D010 00158E50 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
2022-10-16 16:05:58 +00:00
/* 8015D014 00158E54 7D 24 00 AE */ lbzx r9, r4, r0
2022-10-16 16:31:36 +00:00
/* 8015D018 00158E58 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015D01C 00158E5C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015D020 00158E60 7D 29 07 74 */ extsb r9, r9
/* 8015D024 00158E64 55 24 10 3A */ slwi r4, r9, 2
/* 8015D028 00158E68 7C 85 22 14 */ add r4, r5, r4
/* 8015D02C 00158E6C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 8015D030 00158E70 7C E4 00 51 */ subf. r7, r4, r0
/* 8015D034 00158E74 7C C8 20 30 */ slw r8, r6, r4
/* 8015D038 00158E78 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015D03C 00158E7C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015D040 00158E80 40 80 00 2C */ bge lbl_8015D06C
/* 8015D044 00158E84 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015D048 00158E88 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015D04C 00158E8C 7C A7 00 D0 */ neg r5, r7
/* 8015D050 00158E90 38 84 00 02 */ addi r4, r4, 0x2
/* 8015D054 00158E94 38 07 00 10 */ addi r0, r7, 0x10
/* 8015D058 00158E98 7C C5 28 30 */ slw r5, r6, r5
/* 8015D05C 00158E9C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015D060 00158EA0 7D 04 2B 78 */ or r4, r8, r5
/* 8015D064 00158EA4 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015D068 00158EA8 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015D06C
lbl_8015D06C:
/* 8015D06C 00158EAC A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 8015D070 00158EB0 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 8015D074 00158EB4 7D 20 4A 14 */ add r9, r0, r9
/* 8015D078 00158EB8 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015D07C 00158EBC 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 8015D080 00158EC0 7D 26 07 34 */ extsh r6, r9
/* 8015D084 00158EC4 55 40 08 3C */ slwi r0, r10, 1
/* 8015D088 00158EC8 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015D08C 00158ECC 7F E4 02 14 */ add r31, r4, r0
/* 8015D090 00158ED0 7C C6 0E 70 */ srawi r6, r6, 1
/* 8015D094 00158ED4 80 E3 00 7C */ lwz r7, 0x7c(r3)
/* 8015D098 00158ED8 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015D09C 00158EDC 57 E4 07 7E */ clrlwi r4, r31, 29
/* 8015D0A0 00158EE0 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 8015D0A4 00158EE4 7C 04 02 14 */ add r0, r4, r0
/* 8015D0A8 00158EE8 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015D0AC 00158EEC 54 00 10 3A */ slwi r0, r0, 2
/* 8015D0B0 00158EF0 7C E7 52 14 */ add r7, r7, r10
/* 8015D0B4 00158EF4 7C 7E 02 14 */ add r3, r30, r0
/* 8015D0B8 00158EF8 7C 84 52 14 */ add r4, r4, r10
/* 8015D0BC 00158EFC 7C C6 29 D6 */ mullw r6, r6, r5
/* 8015D0C0 00158F00 81 83 0D 68 */ lwz r12, 0xd68(r3)
/* 8015D0C4 00158F04 7C 08 3A 14 */ add r0, r8, r7
/* 8015D0C8 00158F08 7C 66 02 14 */ add r3, r6, r0
/* 8015D0CC 00158F0C 7D 89 03 A6 */ mtctr r12
/* 8015D0D0 00158F10 4E 80 04 21 */ bctrl
/* 8015D0D4 00158F14 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 8015D0D8 00158F18 57 E4 FF BE */ extrwi r4, r31, 2, 29
/* 8015D0DC 00158F1C A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 8015D0E0 00158F20 7C 65 0E 70 */ srawi r5, r3, 1
/* 8015D0E4 00158F24 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 8015D0E8 00158F28 7C 07 16 70 */ srawi r7, r0, 2
/* 8015D0EC 00158F2C 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 8015D0F0 00158F30 54 60 0F 7A */ rlwinm r0, r3, 1, 29, 29
/* 8015D0F4 00158F34 7C 63 16 70 */ srawi r3, r3, 2
/* 8015D0F8 00158F38 7C 04 02 14 */ add r0, r4, r0
/* 8015D0FC 00158F3C 80 9E 00 94 */ lwz r4, 0x94(r30)
/* 8015D100 00158F40 54 06 10 3A */ slwi r6, r0, 2
/* 8015D104 00158F44 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 8015D108 00158F48 7F FE 32 14 */ add r31, r30, r6
/* 8015D10C 00158F4C 7C 84 42 14 */ add r4, r4, r8
/* 8015D110 00158F50 7C C3 29 D6 */ mullw r6, r3, r5
/* 8015D114 00158F54 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015D118 00158F58 7C 67 22 14 */ add r3, r7, r4
/* 8015D11C 00158F5C 7C 80 42 14 */ add r4, r0, r8
/* 8015D120 00158F60 7C 66 1A 14 */ add r3, r6, r3
/* 8015D124 00158F64 7D 89 03 A6 */ mtctr r12
/* 8015D128 00158F68 4E 80 04 21 */ bctrl
/* 8015D12C 00158F6C 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8015D130 00158F70 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 8015D134 00158F74 7C 05 0E 70 */ srawi r5, r0, 1
/* 8015D138 00158F78 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015D13C 00158F7C 7C 66 16 70 */ srawi r6, r3, 2
/* 8015D140 00158F80 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 8015D144 00158F84 7C 00 16 70 */ srawi r0, r0, 2
/* 8015D148 00158F88 80 7E 00 AC */ lwz r3, 0xac(r30)
/* 8015D14C 00158F8C 7C 80 29 D6 */ mullw r4, r0, r5
/* 8015D150 00158F90 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 8015D154 00158F94 7C 63 3A 14 */ add r3, r3, r7
/* 8015D158 00158F98 81 9F 0E 88 */ lwz r12, 0xe88(r31)
/* 8015D15C 00158F9C 7C 66 1A 14 */ add r3, r6, r3
/* 8015D160 00158FA0 7C 64 1A 14 */ add r3, r4, r3
/* 8015D164 00158FA4 7C 80 3A 14 */ add r4, r0, r7
/* 8015D168 00158FA8 7D 89 03 A6 */ mtctr r12
/* 8015D16C 00158FAC 4E 80 04 21 */ bctrl
/* 8015D170 00158FB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015D174 00158FB4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015D178 00158FB8 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015D17C 00158FBC 7C 08 03 A6 */ mtlr r0
/* 8015D180 00158FC0 38 21 00 10 */ addi r1, r1, 0x10
/* 8015D184 00158FC4 4E 80 00 20 */ blr
/* 8015D188 00158FC8 00 00 00 00 */ .4byte 0x00000000
/* 8015D18C 00158FCC 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandCutH4x4__FR14VX2DecoderData
VX2CommandCutH4x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 8015D190 00158FD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015D194 00158FD4 7C 08 02 A6 */ mflr r0
/* 8015D198 00158FD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015D19C 00158FDC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015D1A0 00158FE0 7C 7F 1B 78 */ mr r31, r3
2022-10-16 16:31:36 +00:00
/* 8015D1A4 00158FE4 4B FF F3 9D */ bl VX2DecodeBlockInter4x2__FR14VX2DecoderData
2022-10-16 16:05:58 +00:00
/* 8015D1A8 00158FE8 80 1F 00 00 */ lwz r0, 0x0(r31)
/* 8015D1AC 00158FEC 7F E3 FB 78 */ mr r3, r31
/* 8015D1B0 00158FF0 80 DF 08 B4 */ lwz r6, 0x8b4(r31)
/* 8015D1B4 00158FF4 54 05 08 3C */ slwi r5, r0, 1
/* 8015D1B8 00158FF8 80 9F 08 B8 */ lwz r4, 0x8b8(r31)
/* 8015D1BC 00158FFC 7C 00 0E 70 */ srawi r0, r0, 1
/* 8015D1C0 00159000 7C A6 2A 14 */ add r5, r6, r5
/* 8015D1C4 00159004 90 BF 08 B4 */ stw r5, 0x8b4(r31)
/* 8015D1C8 00159008 7C 04 02 14 */ add r0, r4, r0
/* 8015D1CC 0015900C 90 1F 08 B8 */ stw r0, 0x8b8(r31)
2022-10-16 16:31:36 +00:00
/* 8015D1D0 00159010 4B FF F3 71 */ bl VX2DecodeBlockInter4x2__FR14VX2DecoderData
2022-10-16 16:05:58 +00:00
/* 8015D1D4 00159014 80 7F 00 00 */ lwz r3, 0x0(r31)
/* 8015D1D8 00159018 80 9F 08 B4 */ lwz r4, 0x8b4(r31)
/* 8015D1DC 0015901C 54 65 08 3C */ slwi r5, r3, 1
/* 8015D1E0 00159020 80 1F 08 B8 */ lwz r0, 0x8b8(r31)
/* 8015D1E4 00159024 7C 63 0E 70 */ srawi r3, r3, 1
/* 8015D1E8 00159028 7C 85 20 50 */ subf r4, r5, r4
/* 8015D1EC 0015902C 90 9F 08 B4 */ stw r4, 0x8b4(r31)
/* 8015D1F0 00159030 7C 03 00 50 */ subf r0, r3, r0
/* 8015D1F4 00159034 90 1F 08 B8 */ stw r0, 0x8b8(r31)
/* 8015D1F8 00159038 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015D1FC 0015903C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015D200 00159040 7C 08 03 A6 */ mtlr r0
/* 8015D204 00159044 38 21 00 10 */ addi r1, r1, 0x10
/* 8015D208 00159048 4E 80 00 20 */ blr
/* 8015D20C 0015904C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandCutV4x4__FR14VX2DecoderData
VX2CommandCutV4x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 8015D210 00159050 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015D214 00159054 7C 08 02 A6 */ mflr r0
/* 8015D218 00159058 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015D21C 0015905C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8015D220 00159060 7C 7F 1B 78 */ mr r31, r3
2022-10-16 16:31:36 +00:00
/* 8015D224 00159064 4B FF CC 4D */ bl VX2DecodeBlockInter2x4__FR14VX2DecoderData
2022-10-16 16:05:58 +00:00
/* 8015D228 00159068 80 BF 08 B4 */ lwz r5, 0x8b4(r31)
/* 8015D22C 0015906C 7F E3 FB 78 */ mr r3, r31
/* 8015D230 00159070 80 9F 08 B8 */ lwz r4, 0x8b8(r31)
/* 8015D234 00159074 38 05 00 02 */ addi r0, r5, 0x2
/* 8015D238 00159078 90 1F 08 B4 */ stw r0, 0x8b4(r31)
/* 8015D23C 0015907C 38 04 00 01 */ addi r0, r4, 0x1
/* 8015D240 00159080 90 1F 08 B8 */ stw r0, 0x8b8(r31)
2022-10-16 16:31:36 +00:00
/* 8015D244 00159084 4B FF CC 2D */ bl VX2DecodeBlockInter2x4__FR14VX2DecoderData
2022-10-16 16:05:58 +00:00
/* 8015D248 00159088 80 9F 08 B4 */ lwz r4, 0x8b4(r31)
/* 8015D24C 0015908C 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 8015D250 00159090 38 04 FF FE */ addi r0, r4, -0x2
/* 8015D254 00159094 90 1F 08 B4 */ stw r0, 0x8b4(r31)
/* 8015D258 00159098 38 03 FF FF */ addi r0, r3, -0x1
/* 8015D25C 0015909C 90 1F 08 B8 */ stw r0, 0x8b8(r31)
/* 8015D260 001590A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8015D264 001590A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015D268 001590A8 7C 08 03 A6 */ mtlr r0
/* 8015D26C 001590AC 38 21 00 10 */ addi r1, r1, 0x10
/* 8015D270 001590B0 4E 80 00 20 */ blr
/* 8015D274 001590B4 00 00 00 00 */ .4byte 0x00000000
/* 8015D278 001590B8 00 00 00 00 */ .4byte 0x00000000
/* 8015D27C 001590BC 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2DecodeBlockInter4x4__FR14VX2DecoderData
VX2DecodeBlockInter4x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 8015D280 001590C0 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 8015D284 001590C4 3C 80 80 41 */ lis r4, "@LOCAL@VX2DecodeBlockInter4x4__FR14VX2DecoderData@command"@ha
/* 8015D288 001590C8 3C A0 80 41 */ lis r5, "@LOCAL@VX2DecodeBlockInter4x4__FR14VX2DecoderData@size@0"@ha
2022-10-16 16:05:58 +00:00
/* 8015D28C 001590CC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 8015D290 001590D0 54 C6 36 BA */ rlwinm r6, r6, 6, 26, 29
2022-10-16 16:31:36 +00:00
/* 8015D294 001590D4 38 84 EF B0 */ addi r4, r4, "@LOCAL@VX2DecodeBlockInter4x4__FR14VX2DecoderData@command"@l
2022-10-16 16:05:58 +00:00
/* 8015D298 001590D8 7C C4 30 2E */ lwzx r6, r4, r6
2022-10-16 16:31:36 +00:00
/* 8015D29C 001590DC 38 A5 EF F0 */ addi r5, r5, "@LOCAL@VX2DecodeBlockInter4x4__FR14VX2DecoderData@size@0"@l
2022-10-16 16:05:58 +00:00
/* 8015D2A0 001590E0 80 83 0A 08 */ lwz r4, 0xa08(r3)
/* 8015D2A4 001590E4 54 C9 10 3A */ slwi r9, r6, 2
/* 8015D2A8 001590E8 7C A5 48 2E */ lwzx r5, r5, r9
/* 8015D2AC 001590EC 7C E5 00 51 */ subf. r7, r5, r0
/* 8015D2B0 001590F0 7C 88 28 30 */ slw r8, r4, r5
/* 8015D2B4 001590F4 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015D2B8 001590F8 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 8015D2BC 001590FC 40 80 00 2C */ bge lbl_8015D2E8
/* 8015D2C0 00159100 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 8015D2C4 00159104 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015D2C8 00159108 7C A7 00 D0 */ neg r5, r7
/* 8015D2CC 0015910C 38 84 00 02 */ addi r4, r4, 0x2
/* 8015D2D0 00159110 38 07 00 10 */ addi r0, r7, 0x10
/* 8015D2D4 00159114 7C C5 28 30 */ slw r5, r6, r5
/* 8015D2D8 00159118 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 8015D2DC 0015911C 7D 04 2B 78 */ or r4, r8, r5
/* 8015D2E0 00159120 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 8015D2E4 00159124 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015D2E8
lbl_8015D2E8:
2022-10-16 16:31:36 +00:00
/* 8015D2E8 00159128 3C 80 80 41 */ lis r4, VX2CommandTable4x4@ha
/* 8015D2EC 0015912C 38 84 EF 88 */ addi r4, r4, VX2CommandTable4x4@l
2022-10-16 16:05:58 +00:00
/* 8015D2F0 00159130 7D 84 48 2E */ lwzx r12, r4, r9
/* 8015D2F4 00159134 7D 89 03 A6 */ mtctr r12
/* 8015D2F8 00159138 4E 80 04 20 */ bctr
/* 8015D2FC 0015913C 00 00 00 00 */ .4byte 0x00000000
2022-10-17 09:05:43 +00:00
.include "macros.inc"
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.global VX2CommandTable4x4
VX2CommandTable4x4:
.4byte VX2CommandSkip14x4__FR14VX2DecoderData
.4byte VX2CommandBack14x4__FR14VX2DecoderData
.4byte VX2CommandBack24x4__FR14VX2DecoderData
.4byte VX2CommandBack34x4__FR14VX2DecoderData
.4byte VX2CommandBack44x4__FR14VX2DecoderData
.4byte VX2CommandBack54x4__FR14VX2DecoderData
.4byte 0
.4byte 0
.4byte VX2CommandCutH4x4__FR14VX2DecoderData
.4byte VX2CommandCutV4x4__FR14VX2DecoderData
.global "@LOCAL@VX2DecodeBlockInter4x4__FR14VX2DecoderData@command"
"@LOCAL@VX2DecodeBlockInter4x4__FR14VX2DecoderData@command":
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0x00000003
.4byte 0x00000003
.4byte 0x00000009
.4byte 0x00000008
.4byte 0x00000005
.4byte 0x00000004
.4byte 0x00000002
.4byte 0x00000002
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.global "@LOCAL@VX2DecodeBlockInter4x4__FR14VX2DecoderData@size@0"
"@LOCAL@VX2DecodeBlockInter4x4__FR14VX2DecoderData@size@0":
.4byte 0x00000002
.4byte 0x00000002
.4byte 0x00000003
.4byte 0x00000003
.4byte 0x00000004
.4byte 0x00000004
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0x00000004
.4byte 0x00000004