donut-decomp/asm/libMobiclip/VX2_DecodeBlock16x4.s

949 lines
48 KiB
ArmAsm
Raw 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 VX2CommandSkip116x4__FR14VX2DecoderData
VX2CommandSkip116x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 80155E80 00151CC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80155E84 00151CC4 7C 08 02 A6 */ mflr r0
/* 80155E88 00151CC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80155E8C 00151CCC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80155E90 00151CD0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80155E94 00151CD4 7C 7E 1B 78 */ mr r30, r3
/* 80155E98 00151CD8 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 80155E9C 00151CDC A8 E3 0A 24 */ lha r7, 0xa24(r3)
/* 80155EA0 00151CE0 A9 23 0A 26 */ lha r9, 0xa26(r3)
/* 80155EA4 00151CE4 55 40 08 3C */ slwi r0, r10, 1
/* 80155EA8 00151CE8 7F E7 02 14 */ add r31, r7, r0
/* 80155EAC 00151CEC 7C E8 0E 70 */ srawi r8, r7, 1
/* 80155EB0 00151CF0 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 80155EB4 00151CF4 7D 26 0E 70 */ srawi r6, r9, 1
/* 80155EB8 00151CF8 57 E4 07 7E */ clrlwi r4, r31, 29
/* 80155EBC 00151CFC 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 80155EC0 00151D00 7C 04 02 14 */ add r0, r4, r0
/* 80155EC4 00151D04 80 83 00 6C */ lwz r4, 0x6c(r3)
/* 80155EC8 00151D08 B0 E3 0A 20 */ sth r7, 0xa20(r3)
/* 80155ECC 00151D0C 7C C6 29 D6 */ mullw r6, r6, r5
/* 80155ED0 00151D10 7C E4 52 14 */ add r7, r4, r10
/* 80155ED4 00151D14 80 83 00 68 */ lwz r4, 0x68(r3)
/* 80155ED8 00151D18 54 00 10 3A */ slwi r0, r0, 2
/* 80155EDC 00151D1C B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 80155EE0 00151D20 7C 84 52 14 */ add r4, r4, r10
/* 80155EE4 00151D24 7C 7E 02 14 */ add r3, r30, r0
/* 80155EE8 00151D28 7C 08 3A 14 */ add r0, r8, r7
/* 80155EEC 00151D2C 81 83 0B 28 */ lwz r12, 0xb28(r3)
/* 80155EF0 00151D30 7C 66 02 14 */ add r3, r6, r0
/* 80155EF4 00151D34 7D 89 03 A6 */ mtctr r12
/* 80155EF8 00151D38 4E 80 04 21 */ bctrl
/* 80155EFC 00151D3C 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 80155F00 00151D40 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 80155F04 00151D44 A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 80155F08 00151D48 7C 65 0E 70 */ srawi r5, r3, 1
/* 80155F0C 00151D4C A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 80155F10 00151D50 7C 07 16 70 */ srawi r7, r0, 2
/* 80155F14 00151D54 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80155F18 00151D58 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 80155F1C 00151D5C 7C 63 16 70 */ srawi r3, r3, 2
/* 80155F20 00151D60 7C 04 02 14 */ add r0, r4, r0
/* 80155F24 00151D64 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 80155F28 00151D68 54 06 10 3A */ slwi r6, r0, 2
/* 80155F2C 00151D6C 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 80155F30 00151D70 7F FE 32 14 */ add r31, r30, r6
/* 80155F34 00151D74 7C 84 42 14 */ add r4, r4, r8
/* 80155F38 00151D78 7C C3 29 D6 */ mullw r6, r3, r5
/* 80155F3C 00151D7C 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 80155F40 00151D80 7C 67 22 14 */ add r3, r7, r4
/* 80155F44 00151D84 7C 80 42 14 */ add r4, r0, r8
/* 80155F48 00151D88 7C 66 1A 14 */ add r3, r6, r3
/* 80155F4C 00151D8C 7D 89 03 A6 */ mtctr r12
/* 80155F50 00151D90 4E 80 04 21 */ bctrl
/* 80155F54 00151D94 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 80155F58 00151D98 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 80155F5C 00151D9C 7C 05 0E 70 */ srawi r5, r0, 1
/* 80155F60 00151DA0 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 80155F64 00151DA4 7C 66 16 70 */ srawi r6, r3, 2
/* 80155F68 00151DA8 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 80155F6C 00151DAC 7C 00 16 70 */ srawi r0, r0, 2
/* 80155F70 00151DB0 80 7E 00 9C */ lwz r3, 0x9c(r30)
/* 80155F74 00151DB4 7C 80 29 D6 */ mullw r4, r0, r5
/* 80155F78 00151DB8 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 80155F7C 00151DBC 7C 63 3A 14 */ add r3, r3, r7
/* 80155F80 00151DC0 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 80155F84 00151DC4 7C 66 1A 14 */ add r3, r6, r3
/* 80155F88 00151DC8 7C 64 1A 14 */ add r3, r4, r3
/* 80155F8C 00151DCC 7C 80 3A 14 */ add r4, r0, r7
/* 80155F90 00151DD0 7D 89 03 A6 */ mtctr r12
/* 80155F94 00151DD4 4E 80 04 21 */ bctrl
/* 80155F98 00151DD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80155F9C 00151DDC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80155FA0 00151DE0 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80155FA4 00151DE4 7C 08 03 A6 */ mtlr r0
/* 80155FA8 00151DE8 38 21 00 10 */ addi r1, r1, 0x10
/* 80155FAC 00151DEC 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global VX2CommandBack116x4__FR14VX2DecoderData
VX2CommandBack116x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 80155FB0 00151DF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80155FB4 00151DF4 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 80155FB8 00151DF8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 80155FBC 00151DFC 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 80155FC0 00151E00 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 80155FC4 00151E04 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80155FC8 00151E08 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 80155FCC 00151E0C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80155FD0 00151E10 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80155FD4 00151E14 7C 7E 1B 78 */ mr r30, r3
/* 80155FD8 00151E18 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 80155FDC 00151E1C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80155FE0 00151E20 55 06 7C 7E */ srwi r6, r8, 17
/* 80155FE4 00151E24 7D 24 30 AE */ lbzx r9, r4, r6
/* 80155FE8 00151E28 7D 29 07 74 */ extsb r9, r9
/* 80155FEC 00151E2C 55 24 10 3A */ slwi r4, r9, 2
/* 80155FF0 00151E30 7C 85 22 14 */ add r4, r5, r4
/* 80155FF4 00151E34 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80155FF8 00151E38 7C E4 00 51 */ subf. r7, r4, r0
/* 80155FFC 00151E3C 7D 08 20 30 */ slw r8, r8, r4
/* 80156000 00151E40 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80156004 00151E44 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80156008 00151E48 40 80 00 2C */ bge lbl_80156034
/* 8015600C 00151E4C 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80156010 00151E50 7C C0 26 2C */ lhbrx r6, r0, r4
/* 80156014 00151E54 7C A7 00 D0 */ neg r5, r7
/* 80156018 00151E58 38 84 00 02 */ addi r4, r4, 0x2
/* 8015601C 00151E5C 38 07 00 10 */ addi r0, r7, 0x10
/* 80156020 00151E60 7C C5 28 30 */ slw r5, r6, r5
/* 80156024 00151E64 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80156028 00151E68 7D 04 2B 78 */ or r4, r8, r5
/* 8015602C 00151E6C 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80156030 00151E70 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_80156034
lbl_80156034:
/* 80156034 00151E74 A8 03 0A 24 */ lha r0, 0xa24(r3)
2022-10-16 16:31:36 +00:00
/* 80156038 00151E78 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
2022-10-16 16:05:58 +00:00
/* 8015603C 00151E7C 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 80156040 00151E80 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 80156044 00151E84 7C 00 4A 14 */ add r0, r0, r9
/* 80156048 00151E88 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015604C 00151E8C 54 C0 7C 7E */ srwi r0, r6, 17
2022-10-16 16:31:36 +00:00
/* 80156050 00151E90 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
2022-10-16 16:05:58 +00:00
/* 80156054 00151E94 7D 24 00 AE */ lbzx r9, r4, r0
2022-10-16 16:31:36 +00:00
/* 80156058 00151E98 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015605C 00151E9C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80156060 00151EA0 7D 29 07 74 */ extsb r9, r9
/* 80156064 00151EA4 55 24 10 3A */ slwi r4, r9, 2
/* 80156068 00151EA8 7C 85 22 14 */ add r4, r5, r4
/* 8015606C 00151EAC 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80156070 00151EB0 7C E4 00 51 */ subf. r7, r4, r0
/* 80156074 00151EB4 7C C8 20 30 */ slw r8, r6, r4
/* 80156078 00151EB8 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015607C 00151EBC 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80156080 00151EC0 40 80 00 2C */ bge lbl_801560AC
/* 80156084 00151EC4 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80156088 00151EC8 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015608C 00151ECC 7C A7 00 D0 */ neg r5, r7
/* 80156090 00151ED0 38 84 00 02 */ addi r4, r4, 0x2
/* 80156094 00151ED4 38 07 00 10 */ addi r0, r7, 0x10
/* 80156098 00151ED8 7C C5 28 30 */ slw r5, r6, r5
/* 8015609C 00151EDC 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 801560A0 00151EE0 7D 04 2B 78 */ or r4, r8, r5
/* 801560A4 00151EE4 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 801560A8 00151EE8 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_801560AC
lbl_801560AC:
/* 801560AC 00151EEC A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 801560B0 00151EF0 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 801560B4 00151EF4 7D 20 4A 14 */ add r9, r0, r9
/* 801560B8 00151EF8 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 801560BC 00151EFC 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 801560C0 00151F00 7D 26 07 34 */ extsh r6, r9
/* 801560C4 00151F04 55 40 08 3C */ slwi r0, r10, 1
/* 801560C8 00151F08 7C 88 0E 70 */ srawi r8, r4, 1
/* 801560CC 00151F0C 7F E4 02 14 */ add r31, r4, r0
/* 801560D0 00151F10 7C C6 0E 70 */ srawi r6, r6, 1
/* 801560D4 00151F14 80 E3 00 6C */ lwz r7, 0x6c(r3)
/* 801560D8 00151F18 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 801560DC 00151F1C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 801560E0 00151F20 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 801560E4 00151F24 7C 04 02 14 */ add r0, r4, r0
/* 801560E8 00151F28 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 801560EC 00151F2C 54 00 10 3A */ slwi r0, r0, 2
/* 801560F0 00151F30 7C E7 52 14 */ add r7, r7, r10
/* 801560F4 00151F34 7C 7E 02 14 */ add r3, r30, r0
/* 801560F8 00151F38 7C 84 52 14 */ add r4, r4, r10
/* 801560FC 00151F3C 7C C6 29 D6 */ mullw r6, r6, r5
/* 80156100 00151F40 81 83 0B 28 */ lwz r12, 0xb28(r3)
/* 80156104 00151F44 7C 08 3A 14 */ add r0, r8, r7
/* 80156108 00151F48 7C 66 02 14 */ add r3, r6, r0
/* 8015610C 00151F4C 7D 89 03 A6 */ mtctr r12
/* 80156110 00151F50 4E 80 04 21 */ bctrl
/* 80156114 00151F54 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 80156118 00151F58 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015611C 00151F5C A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 80156120 00151F60 7C 65 0E 70 */ srawi r5, r3, 1
/* 80156124 00151F64 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 80156128 00151F68 7C 07 16 70 */ srawi r7, r0, 2
/* 8015612C 00151F6C 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80156130 00151F70 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 80156134 00151F74 7C 63 16 70 */ srawi r3, r3, 2
/* 80156138 00151F78 7C 04 02 14 */ add r0, r4, r0
/* 8015613C 00151F7C 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 80156140 00151F80 54 06 10 3A */ slwi r6, r0, 2
/* 80156144 00151F84 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 80156148 00151F88 7F FE 32 14 */ add r31, r30, r6
/* 8015614C 00151F8C 7C 84 42 14 */ add r4, r4, r8
/* 80156150 00151F90 7C C3 29 D6 */ mullw r6, r3, r5
/* 80156154 00151F94 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 80156158 00151F98 7C 67 22 14 */ add r3, r7, r4
/* 8015615C 00151F9C 7C 80 42 14 */ add r4, r0, r8
/* 80156160 00151FA0 7C 66 1A 14 */ add r3, r6, r3
/* 80156164 00151FA4 7D 89 03 A6 */ mtctr r12
/* 80156168 00151FA8 4E 80 04 21 */ bctrl
/* 8015616C 00151FAC 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 80156170 00151FB0 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 80156174 00151FB4 7C 05 0E 70 */ srawi r5, r0, 1
/* 80156178 00151FB8 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015617C 00151FBC 7C 66 16 70 */ srawi r6, r3, 2
/* 80156180 00151FC0 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 80156184 00151FC4 7C 00 16 70 */ srawi r0, r0, 2
/* 80156188 00151FC8 80 7E 00 9C */ lwz r3, 0x9c(r30)
/* 8015618C 00151FCC 7C 80 29 D6 */ mullw r4, r0, r5
/* 80156190 00151FD0 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 80156194 00151FD4 7C 63 3A 14 */ add r3, r3, r7
/* 80156198 00151FD8 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 8015619C 00151FDC 7C 66 1A 14 */ add r3, r6, r3
/* 801561A0 00151FE0 7C 64 1A 14 */ add r3, r4, r3
/* 801561A4 00151FE4 7C 80 3A 14 */ add r4, r0, r7
/* 801561A8 00151FE8 7D 89 03 A6 */ mtctr r12
/* 801561AC 00151FEC 4E 80 04 21 */ bctrl
/* 801561B0 00151FF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801561B4 00151FF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801561B8 00151FF8 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 801561BC 00151FFC 7C 08 03 A6 */ mtlr r0
/* 801561C0 00152000 38 21 00 10 */ addi r1, r1, 0x10
/* 801561C4 00152004 4E 80 00 20 */ blr
/* 801561C8 00152008 00 00 00 00 */ .4byte 0x00000000
/* 801561CC 0015200C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandBack216x4__FR14VX2DecoderData
VX2CommandBack216x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 801561D0 00152010 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801561D4 00152014 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 801561D8 00152018 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 801561DC 0015201C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 801561E0 00152020 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 801561E4 00152024 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 801561E8 00152028 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 801561EC 0015202C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801561F0 00152030 93 C1 00 08 */ stw r30, 0x8(r1)
/* 801561F4 00152034 7C 7E 1B 78 */ mr r30, r3
/* 801561F8 00152038 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 801561FC 0015203C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80156200 00152040 55 06 7C 7E */ srwi r6, r8, 17
/* 80156204 00152044 7D 24 30 AE */ lbzx r9, r4, r6
/* 80156208 00152048 7D 29 07 74 */ extsb r9, r9
/* 8015620C 0015204C 55 24 10 3A */ slwi r4, r9, 2
/* 80156210 00152050 7C 85 22 14 */ add r4, r5, r4
/* 80156214 00152054 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80156218 00152058 7C E4 00 51 */ subf. r7, r4, r0
/* 8015621C 0015205C 7D 08 20 30 */ slw r8, r8, r4
/* 80156220 00152060 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80156224 00152064 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80156228 00152068 40 80 00 2C */ bge lbl_80156254
/* 8015622C 0015206C 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80156230 00152070 7C C0 26 2C */ lhbrx r6, r0, r4
/* 80156234 00152074 7C A7 00 D0 */ neg r5, r7
/* 80156238 00152078 38 84 00 02 */ addi r4, r4, 0x2
/* 8015623C 0015207C 38 07 00 10 */ addi r0, r7, 0x10
/* 80156240 00152080 7C C5 28 30 */ slw r5, r6, r5
/* 80156244 00152084 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80156248 00152088 7D 04 2B 78 */ or r4, r8, r5
/* 8015624C 0015208C 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80156250 00152090 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_80156254
lbl_80156254:
/* 80156254 00152094 A8 03 0A 24 */ lha r0, 0xa24(r3)
2022-10-16 16:31:36 +00:00
/* 80156258 00152098 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
2022-10-16 16:05:58 +00:00
/* 8015625C 0015209C 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 80156260 001520A0 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 80156264 001520A4 7C 00 4A 14 */ add r0, r0, r9
/* 80156268 001520A8 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015626C 001520AC 54 C0 7C 7E */ srwi r0, r6, 17
2022-10-16 16:31:36 +00:00
/* 80156270 001520B0 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
2022-10-16 16:05:58 +00:00
/* 80156274 001520B4 7D 24 00 AE */ lbzx r9, r4, r0
2022-10-16 16:31:36 +00:00
/* 80156278 001520B8 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015627C 001520BC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80156280 001520C0 7D 29 07 74 */ extsb r9, r9
/* 80156284 001520C4 55 24 10 3A */ slwi r4, r9, 2
/* 80156288 001520C8 7C 85 22 14 */ add r4, r5, r4
/* 8015628C 001520CC 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80156290 001520D0 7C E4 00 51 */ subf. r7, r4, r0
/* 80156294 001520D4 7C C8 20 30 */ slw r8, r6, r4
/* 80156298 001520D8 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 8015629C 001520DC 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 801562A0 001520E0 40 80 00 2C */ bge lbl_801562CC
/* 801562A4 001520E4 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 801562A8 001520E8 7C C0 26 2C */ lhbrx r6, r0, r4
/* 801562AC 001520EC 7C A7 00 D0 */ neg r5, r7
/* 801562B0 001520F0 38 84 00 02 */ addi r4, r4, 0x2
/* 801562B4 001520F4 38 07 00 10 */ addi r0, r7, 0x10
/* 801562B8 001520F8 7C C5 28 30 */ slw r5, r6, r5
/* 801562BC 001520FC 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 801562C0 00152100 7D 04 2B 78 */ or r4, r8, r5
/* 801562C4 00152104 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 801562C8 00152108 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_801562CC
lbl_801562CC:
/* 801562CC 0015210C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 801562D0 00152110 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 801562D4 00152114 7D 20 4A 14 */ add r9, r0, r9
/* 801562D8 00152118 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 801562DC 0015211C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 801562E0 00152120 7D 26 07 34 */ extsh r6, r9
/* 801562E4 00152124 55 40 08 3C */ slwi r0, r10, 1
/* 801562E8 00152128 7C 88 0E 70 */ srawi r8, r4, 1
/* 801562EC 0015212C 7F E4 02 14 */ add r31, r4, r0
/* 801562F0 00152130 7C C6 0E 70 */ srawi r6, r6, 1
/* 801562F4 00152134 80 E3 00 70 */ lwz r7, 0x70(r3)
/* 801562F8 00152138 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 801562FC 0015213C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 80156300 00152140 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 80156304 00152144 7C 04 02 14 */ add r0, r4, r0
/* 80156308 00152148 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015630C 0015214C 54 00 10 3A */ slwi r0, r0, 2
/* 80156310 00152150 7C E7 52 14 */ add r7, r7, r10
/* 80156314 00152154 7C 7E 02 14 */ add r3, r30, r0
/* 80156318 00152158 7C 84 52 14 */ add r4, r4, r10
/* 8015631C 0015215C 7C C6 29 D6 */ mullw r6, r6, r5
/* 80156320 00152160 81 83 0B 28 */ lwz r12, 0xb28(r3)
/* 80156324 00152164 7C 08 3A 14 */ add r0, r8, r7
/* 80156328 00152168 7C 66 02 14 */ add r3, r6, r0
/* 8015632C 0015216C 7D 89 03 A6 */ mtctr r12
/* 80156330 00152170 4E 80 04 21 */ bctrl
/* 80156334 00152174 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 80156338 00152178 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015633C 0015217C A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 80156340 00152180 7C 65 0E 70 */ srawi r5, r3, 1
/* 80156344 00152184 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 80156348 00152188 7C 07 16 70 */ srawi r7, r0, 2
/* 8015634C 0015218C 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80156350 00152190 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 80156354 00152194 7C 63 16 70 */ srawi r3, r3, 2
/* 80156358 00152198 7C 04 02 14 */ add r0, r4, r0
/* 8015635C 0015219C 80 9E 00 88 */ lwz r4, 0x88(r30)
/* 80156360 001521A0 54 06 10 3A */ slwi r6, r0, 2
/* 80156364 001521A4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 80156368 001521A8 7F FE 32 14 */ add r31, r30, r6
/* 8015636C 001521AC 7C 84 42 14 */ add r4, r4, r8
/* 80156370 001521B0 7C C3 29 D6 */ mullw r6, r3, r5
/* 80156374 001521B4 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 80156378 001521B8 7C 67 22 14 */ add r3, r7, r4
/* 8015637C 001521BC 7C 80 42 14 */ add r4, r0, r8
/* 80156380 001521C0 7C 66 1A 14 */ add r3, r6, r3
/* 80156384 001521C4 7D 89 03 A6 */ mtctr r12
/* 80156388 001521C8 4E 80 04 21 */ bctrl
/* 8015638C 001521CC 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 80156390 001521D0 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 80156394 001521D4 7C 05 0E 70 */ srawi r5, r0, 1
/* 80156398 001521D8 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 8015639C 001521DC 7C 66 16 70 */ srawi r6, r3, 2
/* 801563A0 001521E0 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 801563A4 001521E4 7C 00 16 70 */ srawi r0, r0, 2
/* 801563A8 001521E8 80 7E 00 A0 */ lwz r3, 0xa0(r30)
/* 801563AC 001521EC 7C 80 29 D6 */ mullw r4, r0, r5
/* 801563B0 001521F0 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 801563B4 001521F4 7C 63 3A 14 */ add r3, r3, r7
/* 801563B8 001521F8 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 801563BC 001521FC 7C 66 1A 14 */ add r3, r6, r3
/* 801563C0 00152200 7C 64 1A 14 */ add r3, r4, r3
/* 801563C4 00152204 7C 80 3A 14 */ add r4, r0, r7
/* 801563C8 00152208 7D 89 03 A6 */ mtctr r12
/* 801563CC 0015220C 4E 80 04 21 */ bctrl
/* 801563D0 00152210 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801563D4 00152214 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801563D8 00152218 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 801563DC 0015221C 7C 08 03 A6 */ mtlr r0
/* 801563E0 00152220 38 21 00 10 */ addi r1, r1, 0x10
/* 801563E4 00152224 4E 80 00 20 */ blr
/* 801563E8 00152228 00 00 00 00 */ .4byte 0x00000000
/* 801563EC 0015222C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandBack316x4__FR14VX2DecoderData
VX2CommandBack316x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 801563F0 00152230 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801563F4 00152234 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 801563F8 00152238 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 801563FC 0015223C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 80156400 00152240 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 80156404 00152244 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80156408 00152248 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015640C 0015224C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80156410 00152250 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80156414 00152254 7C 7E 1B 78 */ mr r30, r3
/* 80156418 00152258 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015641C 0015225C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80156420 00152260 55 06 7C 7E */ srwi r6, r8, 17
/* 80156424 00152264 7D 24 30 AE */ lbzx r9, r4, r6
/* 80156428 00152268 7D 29 07 74 */ extsb r9, r9
/* 8015642C 0015226C 55 24 10 3A */ slwi r4, r9, 2
/* 80156430 00152270 7C 85 22 14 */ add r4, r5, r4
/* 80156434 00152274 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80156438 00152278 7C E4 00 51 */ subf. r7, r4, r0
/* 8015643C 0015227C 7D 08 20 30 */ slw r8, r8, r4
/* 80156440 00152280 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80156444 00152284 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80156448 00152288 40 80 00 2C */ bge lbl_80156474
/* 8015644C 0015228C 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80156450 00152290 7C C0 26 2C */ lhbrx r6, r0, r4
/* 80156454 00152294 7C A7 00 D0 */ neg r5, r7
/* 80156458 00152298 38 84 00 02 */ addi r4, r4, 0x2
/* 8015645C 0015229C 38 07 00 10 */ addi r0, r7, 0x10
/* 80156460 001522A0 7C C5 28 30 */ slw r5, r6, r5
/* 80156464 001522A4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80156468 001522A8 7D 04 2B 78 */ or r4, r8, r5
/* 8015646C 001522AC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80156470 001522B0 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_80156474
lbl_80156474:
/* 80156474 001522B4 A8 03 0A 24 */ lha r0, 0xa24(r3)
2022-10-16 16:31:36 +00:00
/* 80156478 001522B8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
2022-10-16 16:05:58 +00:00
/* 8015647C 001522BC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 80156480 001522C0 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 80156484 001522C4 7C 00 4A 14 */ add r0, r0, r9
/* 80156488 001522C8 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 8015648C 001522CC 54 C0 7C 7E */ srwi r0, r6, 17
2022-10-16 16:31:36 +00:00
/* 80156490 001522D0 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
2022-10-16 16:05:58 +00:00
/* 80156494 001522D4 7D 24 00 AE */ lbzx r9, r4, r0
2022-10-16 16:31:36 +00:00
/* 80156498 001522D8 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015649C 001522DC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 801564A0 001522E0 7D 29 07 74 */ extsb r9, r9
/* 801564A4 001522E4 55 24 10 3A */ slwi r4, r9, 2
/* 801564A8 001522E8 7C 85 22 14 */ add r4, r5, r4
/* 801564AC 001522EC 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 801564B0 001522F0 7C E4 00 51 */ subf. r7, r4, r0
/* 801564B4 001522F4 7C C8 20 30 */ slw r8, r6, r4
/* 801564B8 001522F8 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 801564BC 001522FC 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 801564C0 00152300 40 80 00 2C */ bge lbl_801564EC
/* 801564C4 00152304 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 801564C8 00152308 7C C0 26 2C */ lhbrx r6, r0, r4
/* 801564CC 0015230C 7C A7 00 D0 */ neg r5, r7
/* 801564D0 00152310 38 84 00 02 */ addi r4, r4, 0x2
/* 801564D4 00152314 38 07 00 10 */ addi r0, r7, 0x10
/* 801564D8 00152318 7C C5 28 30 */ slw r5, r6, r5
/* 801564DC 0015231C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 801564E0 00152320 7D 04 2B 78 */ or r4, r8, r5
/* 801564E4 00152324 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 801564E8 00152328 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_801564EC
lbl_801564EC:
/* 801564EC 0015232C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 801564F0 00152330 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 801564F4 00152334 7D 20 4A 14 */ add r9, r0, r9
/* 801564F8 00152338 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 801564FC 0015233C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 80156500 00152340 7D 26 07 34 */ extsh r6, r9
/* 80156504 00152344 55 40 08 3C */ slwi r0, r10, 1
/* 80156508 00152348 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015650C 0015234C 7F E4 02 14 */ add r31, r4, r0
/* 80156510 00152350 7C C6 0E 70 */ srawi r6, r6, 1
/* 80156514 00152354 80 E3 00 74 */ lwz r7, 0x74(r3)
/* 80156518 00152358 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015651C 0015235C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 80156520 00152360 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 80156524 00152364 7C 04 02 14 */ add r0, r4, r0
/* 80156528 00152368 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015652C 0015236C 54 00 10 3A */ slwi r0, r0, 2
/* 80156530 00152370 7C E7 52 14 */ add r7, r7, r10
/* 80156534 00152374 7C 7E 02 14 */ add r3, r30, r0
/* 80156538 00152378 7C 84 52 14 */ add r4, r4, r10
/* 8015653C 0015237C 7C C6 29 D6 */ mullw r6, r6, r5
/* 80156540 00152380 81 83 0B 28 */ lwz r12, 0xb28(r3)
/* 80156544 00152384 7C 08 3A 14 */ add r0, r8, r7
/* 80156548 00152388 7C 66 02 14 */ add r3, r6, r0
/* 8015654C 0015238C 7D 89 03 A6 */ mtctr r12
/* 80156550 00152390 4E 80 04 21 */ bctrl
/* 80156554 00152394 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 80156558 00152398 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015655C 0015239C A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 80156560 001523A0 7C 65 0E 70 */ srawi r5, r3, 1
/* 80156564 001523A4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 80156568 001523A8 7C 07 16 70 */ srawi r7, r0, 2
/* 8015656C 001523AC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80156570 001523B0 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 80156574 001523B4 7C 63 16 70 */ srawi r3, r3, 2
/* 80156578 001523B8 7C 04 02 14 */ add r0, r4, r0
/* 8015657C 001523BC 80 9E 00 8C */ lwz r4, 0x8c(r30)
/* 80156580 001523C0 54 06 10 3A */ slwi r6, r0, 2
/* 80156584 001523C4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 80156588 001523C8 7F FE 32 14 */ add r31, r30, r6
/* 8015658C 001523CC 7C 84 42 14 */ add r4, r4, r8
/* 80156590 001523D0 7C C3 29 D6 */ mullw r6, r3, r5
/* 80156594 001523D4 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 80156598 001523D8 7C 67 22 14 */ add r3, r7, r4
/* 8015659C 001523DC 7C 80 42 14 */ add r4, r0, r8
/* 801565A0 001523E0 7C 66 1A 14 */ add r3, r6, r3
/* 801565A4 001523E4 7D 89 03 A6 */ mtctr r12
/* 801565A8 001523E8 4E 80 04 21 */ bctrl
/* 801565AC 001523EC 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 801565B0 001523F0 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 801565B4 001523F4 7C 05 0E 70 */ srawi r5, r0, 1
/* 801565B8 001523F8 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 801565BC 001523FC 7C 66 16 70 */ srawi r6, r3, 2
/* 801565C0 00152400 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 801565C4 00152404 7C 00 16 70 */ srawi r0, r0, 2
/* 801565C8 00152408 80 7E 00 A4 */ lwz r3, 0xa4(r30)
/* 801565CC 0015240C 7C 80 29 D6 */ mullw r4, r0, r5
/* 801565D0 00152410 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 801565D4 00152414 7C 63 3A 14 */ add r3, r3, r7
/* 801565D8 00152418 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 801565DC 0015241C 7C 66 1A 14 */ add r3, r6, r3
/* 801565E0 00152420 7C 64 1A 14 */ add r3, r4, r3
/* 801565E4 00152424 7C 80 3A 14 */ add r4, r0, r7
/* 801565E8 00152428 7D 89 03 A6 */ mtctr r12
/* 801565EC 0015242C 4E 80 04 21 */ bctrl
/* 801565F0 00152430 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801565F4 00152434 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801565F8 00152438 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 801565FC 0015243C 7C 08 03 A6 */ mtlr r0
/* 80156600 00152440 38 21 00 10 */ addi r1, r1, 0x10
/* 80156604 00152444 4E 80 00 20 */ blr
/* 80156608 00152448 00 00 00 00 */ .4byte 0x00000000
/* 8015660C 0015244C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandBack416x4__FR14VX2DecoderData
VX2CommandBack416x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 80156610 00152450 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80156614 00152454 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 80156618 00152458 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015661C 0015245C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 80156620 00152460 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 80156624 00152464 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80156628 00152468 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015662C 0015246C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80156630 00152470 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80156634 00152474 7C 7E 1B 78 */ mr r30, r3
/* 80156638 00152478 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015663C 0015247C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80156640 00152480 55 06 7C 7E */ srwi r6, r8, 17
/* 80156644 00152484 7D 24 30 AE */ lbzx r9, r4, r6
/* 80156648 00152488 7D 29 07 74 */ extsb r9, r9
/* 8015664C 0015248C 55 24 10 3A */ slwi r4, r9, 2
/* 80156650 00152490 7C 85 22 14 */ add r4, r5, r4
/* 80156654 00152494 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80156658 00152498 7C E4 00 51 */ subf. r7, r4, r0
/* 8015665C 0015249C 7D 08 20 30 */ slw r8, r8, r4
/* 80156660 001524A0 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80156664 001524A4 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80156668 001524A8 40 80 00 2C */ bge lbl_80156694
/* 8015666C 001524AC 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80156670 001524B0 7C C0 26 2C */ lhbrx r6, r0, r4
/* 80156674 001524B4 7C A7 00 D0 */ neg r5, r7
/* 80156678 001524B8 38 84 00 02 */ addi r4, r4, 0x2
/* 8015667C 001524BC 38 07 00 10 */ addi r0, r7, 0x10
/* 80156680 001524C0 7C C5 28 30 */ slw r5, r6, r5
/* 80156684 001524C4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80156688 001524C8 7D 04 2B 78 */ or r4, r8, r5
/* 8015668C 001524CC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80156690 001524D0 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_80156694
lbl_80156694:
/* 80156694 001524D4 A8 03 0A 24 */ lha r0, 0xa24(r3)
2022-10-16 16:31:36 +00:00
/* 80156698 001524D8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
2022-10-16 16:05:58 +00:00
/* 8015669C 001524DC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 801566A0 001524E0 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 801566A4 001524E4 7C 00 4A 14 */ add r0, r0, r9
/* 801566A8 001524E8 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 801566AC 001524EC 54 C0 7C 7E */ srwi r0, r6, 17
2022-10-16 16:31:36 +00:00
/* 801566B0 001524F0 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
2022-10-16 16:05:58 +00:00
/* 801566B4 001524F4 7D 24 00 AE */ lbzx r9, r4, r0
2022-10-16 16:31:36 +00:00
/* 801566B8 001524F8 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 801566BC 001524FC 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 801566C0 00152500 7D 29 07 74 */ extsb r9, r9
/* 801566C4 00152504 55 24 10 3A */ slwi r4, r9, 2
/* 801566C8 00152508 7C 85 22 14 */ add r4, r5, r4
/* 801566CC 0015250C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 801566D0 00152510 7C E4 00 51 */ subf. r7, r4, r0
/* 801566D4 00152514 7C C8 20 30 */ slw r8, r6, r4
/* 801566D8 00152518 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 801566DC 0015251C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 801566E0 00152520 40 80 00 2C */ bge lbl_8015670C
/* 801566E4 00152524 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 801566E8 00152528 7C C0 26 2C */ lhbrx r6, r0, r4
/* 801566EC 0015252C 7C A7 00 D0 */ neg r5, r7
/* 801566F0 00152530 38 84 00 02 */ addi r4, r4, 0x2
/* 801566F4 00152534 38 07 00 10 */ addi r0, r7, 0x10
/* 801566F8 00152538 7C C5 28 30 */ slw r5, r6, r5
/* 801566FC 0015253C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80156700 00152540 7D 04 2B 78 */ or r4, r8, r5
/* 80156704 00152544 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80156708 00152548 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015670C
lbl_8015670C:
/* 8015670C 0015254C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 80156710 00152550 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 80156714 00152554 7D 20 4A 14 */ add r9, r0, r9
/* 80156718 00152558 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015671C 0015255C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 80156720 00152560 7D 26 07 34 */ extsh r6, r9
/* 80156724 00152564 55 40 08 3C */ slwi r0, r10, 1
/* 80156728 00152568 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015672C 0015256C 7F E4 02 14 */ add r31, r4, r0
/* 80156730 00152570 7C C6 0E 70 */ srawi r6, r6, 1
/* 80156734 00152574 80 E3 00 78 */ lwz r7, 0x78(r3)
/* 80156738 00152578 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015673C 0015257C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 80156740 00152580 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 80156744 00152584 7C 04 02 14 */ add r0, r4, r0
/* 80156748 00152588 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015674C 0015258C 54 00 10 3A */ slwi r0, r0, 2
/* 80156750 00152590 7C E7 52 14 */ add r7, r7, r10
/* 80156754 00152594 7C 7E 02 14 */ add r3, r30, r0
/* 80156758 00152598 7C 84 52 14 */ add r4, r4, r10
/* 8015675C 0015259C 7C C6 29 D6 */ mullw r6, r6, r5
/* 80156760 001525A0 81 83 0B 28 */ lwz r12, 0xb28(r3)
/* 80156764 001525A4 7C 08 3A 14 */ add r0, r8, r7
/* 80156768 001525A8 7C 66 02 14 */ add r3, r6, r0
/* 8015676C 001525AC 7D 89 03 A6 */ mtctr r12
/* 80156770 001525B0 4E 80 04 21 */ bctrl
/* 80156774 001525B4 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 80156778 001525B8 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015677C 001525BC A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 80156780 001525C0 7C 65 0E 70 */ srawi r5, r3, 1
/* 80156784 001525C4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 80156788 001525C8 7C 07 16 70 */ srawi r7, r0, 2
/* 8015678C 001525CC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 80156790 001525D0 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 80156794 001525D4 7C 63 16 70 */ srawi r3, r3, 2
/* 80156798 001525D8 7C 04 02 14 */ add r0, r4, r0
/* 8015679C 001525DC 80 9E 00 90 */ lwz r4, 0x90(r30)
/* 801567A0 001525E0 54 06 10 3A */ slwi r6, r0, 2
/* 801567A4 001525E4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 801567A8 001525E8 7F FE 32 14 */ add r31, r30, r6
/* 801567AC 001525EC 7C 84 42 14 */ add r4, r4, r8
/* 801567B0 001525F0 7C C3 29 D6 */ mullw r6, r3, r5
/* 801567B4 001525F4 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 801567B8 001525F8 7C 67 22 14 */ add r3, r7, r4
/* 801567BC 001525FC 7C 80 42 14 */ add r4, r0, r8
/* 801567C0 00152600 7C 66 1A 14 */ add r3, r6, r3
/* 801567C4 00152604 7D 89 03 A6 */ mtctr r12
/* 801567C8 00152608 4E 80 04 21 */ bctrl
/* 801567CC 0015260C 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 801567D0 00152610 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 801567D4 00152614 7C 05 0E 70 */ srawi r5, r0, 1
/* 801567D8 00152618 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 801567DC 0015261C 7C 66 16 70 */ srawi r6, r3, 2
/* 801567E0 00152620 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 801567E4 00152624 7C 00 16 70 */ srawi r0, r0, 2
/* 801567E8 00152628 80 7E 00 A8 */ lwz r3, 0xa8(r30)
/* 801567EC 0015262C 7C 80 29 D6 */ mullw r4, r0, r5
/* 801567F0 00152630 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 801567F4 00152634 7C 63 3A 14 */ add r3, r3, r7
/* 801567F8 00152638 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 801567FC 0015263C 7C 66 1A 14 */ add r3, r6, r3
/* 80156800 00152640 7C 64 1A 14 */ add r3, r4, r3
/* 80156804 00152644 7C 80 3A 14 */ add r4, r0, r7
/* 80156808 00152648 7D 89 03 A6 */ mtctr r12
/* 8015680C 0015264C 4E 80 04 21 */ bctrl
/* 80156810 00152650 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80156814 00152654 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80156818 00152658 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8015681C 0015265C 7C 08 03 A6 */ mtlr r0
/* 80156820 00152660 38 21 00 10 */ addi r1, r1, 0x10
/* 80156824 00152664 4E 80 00 20 */ blr
/* 80156828 00152668 00 00 00 00 */ .4byte 0x00000000
/* 8015682C 0015266C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandBack516x4__FR14VX2DecoderData
VX2CommandBack516x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 80156830 00152670 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80156834 00152674 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 80156838 00152678 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
/* 8015683C 0015267C 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 80156840 00152680 90 01 00 14 */ stw r0, 0x14(r1)
2022-10-16 16:31:36 +00:00
/* 80156844 00152684 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
/* 80156848 00152688 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 8015684C 0015268C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80156850 00152690 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80156854 00152694 7C 7E 1B 78 */ mr r30, r3
/* 80156858 00152698 81 03 0A 08 */ lwz r8, 0xa08(r3)
/* 8015685C 0015269C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80156860 001526A0 55 06 7C 7E */ srwi r6, r8, 17
/* 80156864 001526A4 7D 24 30 AE */ lbzx r9, r4, r6
/* 80156868 001526A8 7D 29 07 74 */ extsb r9, r9
/* 8015686C 001526AC 55 24 10 3A */ slwi r4, r9, 2
/* 80156870 001526B0 7C 85 22 14 */ add r4, r5, r4
/* 80156874 001526B4 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 80156878 001526B8 7C E4 00 51 */ subf. r7, r4, r0
/* 8015687C 001526BC 7D 08 20 30 */ slw r8, r8, r4
/* 80156880 001526C0 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80156884 001526C4 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80156888 001526C8 40 80 00 2C */ bge lbl_801568B4
/* 8015688C 001526CC 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80156890 001526D0 7C C0 26 2C */ lhbrx r6, r0, r4
/* 80156894 001526D4 7C A7 00 D0 */ neg r5, r7
/* 80156898 001526D8 38 84 00 02 */ addi r4, r4, 0x2
/* 8015689C 001526DC 38 07 00 10 */ addi r0, r7, 0x10
/* 801568A0 001526E0 7C C5 28 30 */ slw r5, r6, r5
/* 801568A4 001526E4 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 801568A8 001526E8 7D 04 2B 78 */ or r4, r8, r5
/* 801568AC 001526EC 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 801568B0 001526F0 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_801568B4
lbl_801568B4:
/* 801568B4 001526F4 A8 03 0A 24 */ lha r0, 0xa24(r3)
2022-10-16 16:31:36 +00:00
/* 801568B8 001526F8 3C 80 80 45 */ lis r4, VX2GolombCodeSigned@ha
2022-10-16 16:05:58 +00:00
/* 801568BC 001526FC 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 801568C0 00152700 3C A0 80 45 */ lis r5, VX2GolombCodeSignedSize@ha
2022-10-16 16:05:58 +00:00
/* 801568C4 00152704 7C 00 4A 14 */ add r0, r0, r9
/* 801568C8 00152708 B0 03 0A 20 */ sth r0, 0xa20(r3)
/* 801568CC 0015270C 54 C0 7C 7E */ srwi r0, r6, 17
2022-10-16 16:31:36 +00:00
/* 801568D0 00152710 38 84 85 D8 */ addi r4, r4, VX2GolombCodeSigned@l
2022-10-16 16:05:58 +00:00
/* 801568D4 00152714 7D 24 00 AE */ lbzx r9, r4, r0
2022-10-16 16:31:36 +00:00
/* 801568D8 00152718 38 A5 05 D8 */ addi r5, r5, VX2GolombCodeSignedSize@l
2022-10-16 16:05:58 +00:00
/* 801568DC 0015271C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 801568E0 00152720 7D 29 07 74 */ extsb r9, r9
/* 801568E4 00152724 55 24 10 3A */ slwi r4, r9, 2
/* 801568E8 00152728 7C 85 22 14 */ add r4, r5, r4
/* 801568EC 0015272C 80 84 01 FC */ lwz r4, 0x1fc(r4)
/* 801568F0 00152730 7C E4 00 51 */ subf. r7, r4, r0
/* 801568F4 00152734 7C C8 20 30 */ slw r8, r6, r4
/* 801568F8 00152738 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 801568FC 0015273C 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80156900 00152740 40 80 00 2C */ bge lbl_8015692C
/* 80156904 00152744 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80156908 00152748 7C C0 26 2C */ lhbrx r6, r0, r4
/* 8015690C 0015274C 7C A7 00 D0 */ neg r5, r7
/* 80156910 00152750 38 84 00 02 */ addi r4, r4, 0x2
/* 80156914 00152754 38 07 00 10 */ addi r0, r7, 0x10
/* 80156918 00152758 7C C5 28 30 */ slw r5, r6, r5
/* 8015691C 0015275C 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80156920 00152760 7D 04 2B 78 */ or r4, r8, r5
/* 80156924 00152764 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80156928 00152768 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_8015692C
lbl_8015692C:
/* 8015692C 0015276C A8 03 0A 26 */ lha r0, 0xa26(r3)
/* 80156930 00152770 A8 83 0A 20 */ lha r4, 0xa20(r3)
/* 80156934 00152774 7D 20 4A 14 */ add r9, r0, r9
/* 80156938 00152778 81 43 08 B4 */ lwz r10, 0x8b4(r3)
/* 8015693C 0015277C 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 80156940 00152780 7D 26 07 34 */ extsh r6, r9
/* 80156944 00152784 55 40 08 3C */ slwi r0, r10, 1
/* 80156948 00152788 7C 88 0E 70 */ srawi r8, r4, 1
/* 8015694C 0015278C 7F E4 02 14 */ add r31, r4, r0
/* 80156950 00152790 7C C6 0E 70 */ srawi r6, r6, 1
/* 80156954 00152794 80 E3 00 7C */ lwz r7, 0x7c(r3)
/* 80156958 00152798 55 20 1F 38 */ rlwinm r0, r9, 3, 28, 28
/* 8015695C 0015279C 57 E4 07 7E */ clrlwi r4, r31, 29
/* 80156960 001527A0 B1 23 0A 22 */ sth r9, 0xa22(r3)
/* 80156964 001527A4 7C 04 02 14 */ add r0, r4, r0
/* 80156968 001527A8 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 8015696C 001527AC 54 00 10 3A */ slwi r0, r0, 2
/* 80156970 001527B0 7C E7 52 14 */ add r7, r7, r10
/* 80156974 001527B4 7C 7E 02 14 */ add r3, r30, r0
/* 80156978 001527B8 7C 84 52 14 */ add r4, r4, r10
/* 8015697C 001527BC 7C C6 29 D6 */ mullw r6, r6, r5
/* 80156980 001527C0 81 83 0B 28 */ lwz r12, 0xb28(r3)
/* 80156984 001527C4 7C 08 3A 14 */ add r0, r8, r7
/* 80156988 001527C8 7C 66 02 14 */ add r3, r6, r0
/* 8015698C 001527CC 7D 89 03 A6 */ mtctr r12
/* 80156990 001527D0 4E 80 04 21 */ bctrl
/* 80156994 001527D4 80 7E 00 00 */ lwz r3, 0x0(r30)
/* 80156998 001527D8 57 E4 FF 7E */ extrwi r4, r31, 3, 28
/* 8015699C 001527DC A8 1E 0A 20 */ lha r0, 0xa20(r30)
/* 801569A0 001527E0 7C 65 0E 70 */ srawi r5, r3, 1
/* 801569A4 001527E4 A8 7E 0A 22 */ lha r3, 0xa22(r30)
/* 801569A8 001527E8 7C 07 16 70 */ srawi r7, r0, 2
/* 801569AC 001527EC 81 1E 08 B8 */ lwz r8, 0x8b8(r30)
/* 801569B0 001527F0 54 60 17 38 */ rlwinm r0, r3, 2, 28, 28
/* 801569B4 001527F4 7C 63 16 70 */ srawi r3, r3, 2
/* 801569B8 001527F8 7C 04 02 14 */ add r0, r4, r0
/* 801569BC 001527FC 80 9E 00 94 */ lwz r4, 0x94(r30)
/* 801569C0 00152800 54 06 10 3A */ slwi r6, r0, 2
/* 801569C4 00152804 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 801569C8 00152808 7F FE 32 14 */ add r31, r30, r6
/* 801569CC 0015280C 7C 84 42 14 */ add r4, r4, r8
/* 801569D0 00152810 7C C3 29 D6 */ mullw r6, r3, r5
/* 801569D4 00152814 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 801569D8 00152818 7C 67 22 14 */ add r3, r7, r4
/* 801569DC 0015281C 7C 80 42 14 */ add r4, r0, r8
/* 801569E0 00152820 7C 66 1A 14 */ add r3, r6, r3
/* 801569E4 00152824 7D 89 03 A6 */ mtctr r12
/* 801569E8 00152828 4E 80 04 21 */ bctrl
/* 801569EC 0015282C 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 801569F0 00152830 A8 7E 0A 20 */ lha r3, 0xa20(r30)
/* 801569F4 00152834 7C 05 0E 70 */ srawi r5, r0, 1
/* 801569F8 00152838 A8 1E 0A 22 */ lha r0, 0xa22(r30)
/* 801569FC 0015283C 7C 66 16 70 */ srawi r6, r3, 2
/* 80156A00 00152840 80 FE 08 B8 */ lwz r7, 0x8b8(r30)
/* 80156A04 00152844 7C 00 16 70 */ srawi r0, r0, 2
/* 80156A08 00152848 80 7E 00 AC */ lwz r3, 0xac(r30)
/* 80156A0C 0015284C 7C 80 29 D6 */ mullw r4, r0, r5
/* 80156A10 00152850 80 1E 00 98 */ lwz r0, 0x98(r30)
/* 80156A14 00152854 7C 63 3A 14 */ add r3, r3, r7
/* 80156A18 00152858 81 9F 0C 68 */ lwz r12, 0xc68(r31)
/* 80156A1C 0015285C 7C 66 1A 14 */ add r3, r6, r3
/* 80156A20 00152860 7C 64 1A 14 */ add r3, r4, r3
/* 80156A24 00152864 7C 80 3A 14 */ add r4, r0, r7
/* 80156A28 00152868 7D 89 03 A6 */ mtctr r12
/* 80156A2C 0015286C 4E 80 04 21 */ bctrl
/* 80156A30 00152870 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80156A34 00152874 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80156A38 00152878 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80156A3C 0015287C 7C 08 03 A6 */ mtlr r0
/* 80156A40 00152880 38 21 00 10 */ addi r1, r1, 0x10
/* 80156A44 00152884 4E 80 00 20 */ blr
/* 80156A48 00152888 00 00 00 00 */ .4byte 0x00000000
/* 80156A4C 0015288C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandCutH16x4__FR14VX2DecoderData
VX2CommandCutH16x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 80156A50 00152890 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80156A54 00152894 7C 08 02 A6 */ mflr r0
/* 80156A58 00152898 90 01 00 14 */ stw r0, 0x14(r1)
/* 80156A5C 0015289C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80156A60 001528A0 7C 7F 1B 78 */ mr r31, r3
2022-10-16 16:31:36 +00:00
/* 80156A64 001528A4 4B FF F3 9D */ bl VX2DecodeBlockInter16x2__FR14VX2DecoderData
2022-10-16 16:05:58 +00:00
/* 80156A68 001528A8 80 1F 00 00 */ lwz r0, 0x0(r31)
/* 80156A6C 001528AC 7F E3 FB 78 */ mr r3, r31
/* 80156A70 001528B0 80 DF 08 B4 */ lwz r6, 0x8b4(r31)
/* 80156A74 001528B4 54 05 08 3C */ slwi r5, r0, 1
/* 80156A78 001528B8 80 9F 08 B8 */ lwz r4, 0x8b8(r31)
/* 80156A7C 001528BC 7C 00 0E 70 */ srawi r0, r0, 1
/* 80156A80 001528C0 7C A6 2A 14 */ add r5, r6, r5
/* 80156A84 001528C4 90 BF 08 B4 */ stw r5, 0x8b4(r31)
/* 80156A88 001528C8 7C 04 02 14 */ add r0, r4, r0
/* 80156A8C 001528CC 90 1F 08 B8 */ stw r0, 0x8b8(r31)
2022-10-16 16:31:36 +00:00
/* 80156A90 001528D0 4B FF F3 71 */ bl VX2DecodeBlockInter16x2__FR14VX2DecoderData
2022-10-16 16:05:58 +00:00
/* 80156A94 001528D4 80 7F 00 00 */ lwz r3, 0x0(r31)
/* 80156A98 001528D8 80 9F 08 B4 */ lwz r4, 0x8b4(r31)
/* 80156A9C 001528DC 54 65 08 3C */ slwi r5, r3, 1
/* 80156AA0 001528E0 80 1F 08 B8 */ lwz r0, 0x8b8(r31)
/* 80156AA4 001528E4 7C 63 0E 70 */ srawi r3, r3, 1
/* 80156AA8 001528E8 7C 85 20 50 */ subf r4, r5, r4
/* 80156AAC 001528EC 90 9F 08 B4 */ stw r4, 0x8b4(r31)
/* 80156AB0 001528F0 7C 03 00 50 */ subf r0, r3, r0
/* 80156AB4 001528F4 90 1F 08 B8 */ stw r0, 0x8b8(r31)
/* 80156AB8 001528F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80156ABC 001528FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80156AC0 00152900 7C 08 03 A6 */ mtlr r0
/* 80156AC4 00152904 38 21 00 10 */ addi r1, r1, 0x10
/* 80156AC8 00152908 4E 80 00 20 */ blr
/* 80156ACC 0015290C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2CommandCutV16x4__FR14VX2DecoderData
VX2CommandCutV16x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 80156AD0 00152910 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80156AD4 00152914 7C 08 02 A6 */ mflr r0
/* 80156AD8 00152918 90 01 00 14 */ stw r0, 0x14(r1)
/* 80156ADC 0015291C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80156AE0 00152920 7C 7F 1B 78 */ mr r31, r3
2022-10-16 16:31:36 +00:00
/* 80156AE4 00152924 48 00 9C 1D */ bl VX2DecodeBlockInter8x4__FR14VX2DecoderData
2022-10-16 16:05:58 +00:00
/* 80156AE8 00152928 80 BF 08 B4 */ lwz r5, 0x8b4(r31)
/* 80156AEC 0015292C 7F E3 FB 78 */ mr r3, r31
/* 80156AF0 00152930 80 9F 08 B8 */ lwz r4, 0x8b8(r31)
/* 80156AF4 00152934 38 05 00 08 */ addi r0, r5, 0x8
/* 80156AF8 00152938 90 1F 08 B4 */ stw r0, 0x8b4(r31)
/* 80156AFC 0015293C 38 04 00 04 */ addi r0, r4, 0x4
/* 80156B00 00152940 90 1F 08 B8 */ stw r0, 0x8b8(r31)
2022-10-16 16:31:36 +00:00
/* 80156B04 00152944 48 00 9B FD */ bl VX2DecodeBlockInter8x4__FR14VX2DecoderData
2022-10-16 16:05:58 +00:00
/* 80156B08 00152948 80 9F 08 B4 */ lwz r4, 0x8b4(r31)
/* 80156B0C 0015294C 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 80156B10 00152950 38 04 FF F8 */ addi r0, r4, -0x8
/* 80156B14 00152954 90 1F 08 B4 */ stw r0, 0x8b4(r31)
/* 80156B18 00152958 38 03 FF FC */ addi r0, r3, -0x4
/* 80156B1C 0015295C 90 1F 08 B8 */ stw r0, 0x8b8(r31)
/* 80156B20 00152960 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80156B24 00152964 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80156B28 00152968 7C 08 03 A6 */ mtlr r0
/* 80156B2C 0015296C 38 21 00 10 */ addi r1, r1, 0x10
/* 80156B30 00152970 4E 80 00 20 */ blr
/* 80156B34 00152974 00 00 00 00 */ .4byte 0x00000000
/* 80156B38 00152978 00 00 00 00 */ .4byte 0x00000000
/* 80156B3C 0015297C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global VX2DecodeBlockInter16x4__FR14VX2DecoderData
VX2DecodeBlockInter16x4__FR14VX2DecoderData:
2022-10-16 16:05:58 +00:00
/* 80156B40 00152980 80 C3 0A 08 */ lwz r6, 0xa08(r3)
2022-10-16 16:31:36 +00:00
/* 80156B44 00152984 3C 80 80 41 */ lis r4, "@LOCAL@VX2DecodeBlockInter16x4__FR14VX2DecoderData@command"@ha
/* 80156B48 00152988 3C A0 80 41 */ lis r5, "@LOCAL@VX2DecodeBlockInter16x4__FR14VX2DecoderData@size@0"@ha
2022-10-16 16:05:58 +00:00
/* 80156B4C 0015298C 80 03 0A 04 */ lwz r0, 0xa04(r3)
/* 80156B50 00152990 54 C6 36 BA */ rlwinm r6, r6, 6, 26, 29
2022-10-16 16:31:36 +00:00
/* 80156B54 00152994 38 84 EB 10 */ addi r4, r4, "@LOCAL@VX2DecodeBlockInter16x4__FR14VX2DecoderData@command"@l
2022-10-16 16:05:58 +00:00
/* 80156B58 00152998 7C C4 30 2E */ lwzx r6, r4, r6
2022-10-16 16:31:36 +00:00
/* 80156B5C 0015299C 38 A5 EB 50 */ addi r5, r5, "@LOCAL@VX2DecodeBlockInter16x4__FR14VX2DecoderData@size@0"@l
2022-10-16 16:05:58 +00:00
/* 80156B60 001529A0 80 83 0A 08 */ lwz r4, 0xa08(r3)
/* 80156B64 001529A4 54 C9 10 3A */ slwi r9, r6, 2
/* 80156B68 001529A8 7C A5 48 2E */ lwzx r5, r5, r9
/* 80156B6C 001529AC 7C E5 00 51 */ subf. r7, r5, r0
/* 80156B70 001529B0 7C 88 28 30 */ slw r8, r4, r5
/* 80156B74 001529B4 91 03 0A 08 */ stw r8, 0xa08(r3)
/* 80156B78 001529B8 90 E3 0A 04 */ stw r7, 0xa04(r3)
/* 80156B7C 001529BC 40 80 00 2C */ bge lbl_80156BA8
/* 80156B80 001529C0 80 83 0A 0C */ lwz r4, 0xa0c(r3)
/* 80156B84 001529C4 7C C0 26 2C */ lhbrx r6, r0, r4
/* 80156B88 001529C8 7C A7 00 D0 */ neg r5, r7
/* 80156B8C 001529CC 38 84 00 02 */ addi r4, r4, 0x2
/* 80156B90 001529D0 38 07 00 10 */ addi r0, r7, 0x10
/* 80156B94 001529D4 7C C5 28 30 */ slw r5, r6, r5
/* 80156B98 001529D8 90 83 0A 0C */ stw r4, 0xa0c(r3)
/* 80156B9C 001529DC 7D 04 2B 78 */ or r4, r8, r5
/* 80156BA0 001529E0 90 83 0A 08 */ stw r4, 0xa08(r3)
/* 80156BA4 001529E4 90 03 0A 04 */ stw r0, 0xa04(r3)
.global lbl_80156BA8
lbl_80156BA8:
2022-10-16 16:31:36 +00:00
/* 80156BA8 001529E8 3C 80 80 41 */ lis r4, VX2CommandTable16x4@ha
/* 80156BAC 001529EC 38 84 EA E8 */ addi r4, r4, VX2CommandTable16x4@l
2022-10-16 16:05:58 +00:00
/* 80156BB0 001529F0 7D 84 48 2E */ lwzx r12, r4, r9
/* 80156BB4 001529F4 7D 89 03 A6 */ mtctr r12
/* 80156BB8 001529F8 4E 80 04 20 */ bctr
/* 80156BBC 001529FC 00 00 00 00 */ .4byte 0x00000000
2022-10-17 09:05:43 +00:00
.include "macros.inc"
.section .rodata, "wa" # 0x80406560 - 0x80421040 ; 0x0001AAE0
.global VX2CommandTable16x4
VX2CommandTable16x4:
.4byte VX2CommandSkip116x4__FR14VX2DecoderData
.4byte VX2CommandBack116x4__FR14VX2DecoderData
.4byte VX2CommandBack216x4__FR14VX2DecoderData
.4byte VX2CommandBack316x4__FR14VX2DecoderData
.4byte VX2CommandBack416x4__FR14VX2DecoderData
.4byte VX2CommandBack516x4__FR14VX2DecoderData
.4byte 0
.4byte 0
.4byte VX2CommandCutH16x4__FR14VX2DecoderData
.4byte VX2CommandCutV16x4__FR14VX2DecoderData
.global "@LOCAL@VX2DecodeBlockInter16x4__FR14VX2DecoderData@command"
"@LOCAL@VX2DecodeBlockInter16x4__FR14VX2DecoderData@command":
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0x00000005
.4byte 0x00000004
.4byte 0x00000002
.4byte 0x00000002
.4byte 0x00000008
.4byte 0x00000008
.4byte 0x00000003
.4byte 0x00000009
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.4byte 0x00000001
.global "@LOCAL@VX2DecodeBlockInter16x4__FR14VX2DecoderData@size@0"
"@LOCAL@VX2DecodeBlockInter16x4__FR14VX2DecoderData@size@0":
.4byte 0x00000002
.4byte 0x00000002
.4byte 0x00000003
.4byte 0x00000004
.4byte 0x00000004
.4byte 0x00000004
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0x00000003
.4byte 0x00000004