summaryrefslogtreecommitdiff
path: root/asm/SDK/WENC
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-10-07 17:41:10 -0400
committerMax <mparisi@stevens.edu>2020-10-07 17:41:10 -0400
commit8bdbd1d2b5b2527689139dfda3f641c99c9b78ef (patch)
tree0451d5383057aafc4ebb6ccde36805a15bb524b9 /asm/SDK/WENC
parent4043dc5ee3c5457fb332042acccaa6e4ec132332 (diff)
split scapi, scapi_prdinfo, wenc, and arc
Diffstat (limited to 'asm/SDK/WENC')
-rw-r--r--asm/SDK/WENC/wenc.s202
1 files changed, 202 insertions, 0 deletions
diff --git a/asm/SDK/WENC/wenc.s b/asm/SDK/WENC/wenc.s
new file mode 100644
index 0000000..2182756
--- /dev/null
+++ b/asm/SDK/WENC/wenc.s
@@ -0,0 +1,202 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global WENCGetEncodeData
+WENCGetEncodeData:
+/* 802ECA20 002E8680 94 21 FF 70 */ stwu r1, -0x90(r1)
+/* 802ECA24 002E8684 7C 08 02 A6 */ mflr r0
+/* 802ECA28 002E8688 90 01 00 94 */ stw r0, 0x94(r1)
+/* 802ECA2C 002E868C 39 61 00 90 */ addi r11, r1, 0x90
+/* 802ECA30 002E8690 4B ED A6 D5 */ bl _savegpr_18
+/* 802ECA34 002E8694 3D 40 80 40 */ lis r10, lbl_80400004@ha
+/* 802ECA38 002E8698 85 2A E0 B8 */ lwzu r9, -0x1f48(r10)
+/* 802ECA3C 002E869C 39 66 00 01 */ addi r11, r6, 1
+/* 802ECA40 002E86A0 7C 99 23 78 */ mr r25, r4
+/* 802ECA44 002E86A4 55 64 0F FE */ srwi r4, r11, 0x1f
+/* 802ECA48 002E86A8 81 0A 00 04 */ lwz r8, lbl_80400004@l(r10)
+/* 802ECA4C 002E86AC 7C FF 3B 78 */ mr r31, r7
+/* 802ECA50 002E86B0 80 0A 00 08 */ lwz r0, 8(r10)
+/* 802ECA54 002E86B4 7C 84 5A 14 */ add r4, r4, r11
+/* 802ECA58 002E86B8 82 4A 00 0C */ lwz r18, 0xc(r10)
+/* 802ECA5C 002E86BC 83 6A 00 10 */ lwz r27, 0x10(r10)
+/* 802ECA60 002E86C0 7C DE 33 78 */ mr r30, r6
+/* 802ECA64 002E86C4 83 4A 00 14 */ lwz r26, 0x14(r10)
+/* 802ECA68 002E86C8 7C 7C 1B 78 */ mr r28, r3
+/* 802ECA6C 002E86CC 83 0A 00 18 */ lwz r24, 0x18(r10)
+/* 802ECA70 002E86D0 7C BD 2B 78 */ mr r29, r5
+/* 802ECA74 002E86D4 82 EA 00 1C */ lwz r23, 0x1c(r10)
+/* 802ECA78 002E86D8 7C 85 0E 70 */ srawi r5, r4, 1
+/* 802ECA7C 002E86DC 82 CA 00 20 */ lwz r22, 0x20(r10)
+/* 802ECA80 002E86E0 7F E3 FB 78 */ mr r3, r31
+/* 802ECA84 002E86E4 82 AA 00 24 */ lwz r21, 0x24(r10)
+/* 802ECA88 002E86E8 38 80 00 00 */ li r4, 0
+/* 802ECA8C 002E86EC 82 8A 00 28 */ lwz r20, 0x28(r10)
+/* 802ECA90 002E86F0 82 6A 00 2C */ lwz r19, 0x2c(r10)
+/* 802ECA94 002E86F4 81 8A 00 30 */ lwz r12, 0x30(r10)
+/* 802ECA98 002E86F8 81 6A 00 34 */ lwz r11, 0x34(r10)
+/* 802ECA9C 002E86FC 80 EA 00 38 */ lwz r7, 0x38(r10)
+/* 802ECAA0 002E8700 80 CA 00 3C */ lwz r6, 0x3c(r10)
+/* 802ECAA4 002E8704 91 21 00 08 */ stw r9, 8(r1)
+/* 802ECAA8 002E8708 91 01 00 0C */ stw r8, 0xc(r1)
+/* 802ECAAC 002E870C 90 01 00 10 */ stw r0, 0x10(r1)
+/* 802ECAB0 002E8710 92 41 00 14 */ stw r18, 0x14(r1)
+/* 802ECAB4 002E8714 93 61 00 18 */ stw r27, 0x18(r1)
+/* 802ECAB8 002E8718 93 41 00 1C */ stw r26, 0x1c(r1)
+/* 802ECABC 002E871C 93 01 00 20 */ stw r24, 0x20(r1)
+/* 802ECAC0 002E8720 92 E1 00 24 */ stw r23, 0x24(r1)
+/* 802ECAC4 002E8724 92 C1 00 28 */ stw r22, 0x28(r1)
+/* 802ECAC8 002E8728 92 A1 00 2C */ stw r21, 0x2c(r1)
+/* 802ECACC 002E872C 92 81 00 30 */ stw r20, 0x30(r1)
+/* 802ECAD0 002E8730 92 61 00 34 */ stw r19, 0x34(r1)
+/* 802ECAD4 002E8734 91 81 00 38 */ stw r12, 0x38(r1)
+/* 802ECAD8 002E8738 91 61 00 3C */ stw r11, 0x3c(r1)
+/* 802ECADC 002E873C 90 E1 00 40 */ stw r7, 0x40(r1)
+/* 802ECAE0 002E8740 90 C1 00 44 */ stw r6, 0x44(r1)
+/* 802ECAE4 002E8744 4B D1 76 21 */ bl memset
+/* 802ECAE8 002E8748 57 20 07 FF */ clrlwi. r0, r25, 0x1f
+/* 802ECAEC 002E874C 40 82 00 20 */ bne lbl_802ECB0C
+/* 802ECAF0 002E8750 39 60 00 00 */ li r11, 0
+/* 802ECAF4 002E8754 39 80 00 7F */ li r12, 0x7f
+/* 802ECAF8 002E8758 38 A0 00 00 */ li r5, 0
+/* 802ECAFC 002E875C 3B 60 00 00 */ li r27, 0
+/* 802ECB00 002E8760 3B 40 00 00 */ li r26, 0
+/* 802ECB04 002E8764 3B 20 00 00 */ li r25, 0
+/* 802ECB08 002E8768 48 00 00 1C */ b lbl_802ECB24
+lbl_802ECB0C:
+/* 802ECB0C 002E876C 81 7C 00 00 */ lwz r11, 0(r28)
+/* 802ECB10 002E8770 81 9C 00 04 */ lwz r12, 4(r28)
+/* 802ECB14 002E8774 80 BC 00 08 */ lwz r5, 8(r28)
+/* 802ECB18 002E8778 83 7C 00 0C */ lwz r27, 0xc(r28)
+/* 802ECB1C 002E877C 83 5C 00 10 */ lwz r26, 0x10(r28)
+/* 802ECB20 002E8780 83 3C 00 14 */ lwz r25, 0x14(r28)
+lbl_802ECB24:
+/* 802ECB24 002E8784 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802ECB28 002E8788 3B 01 00 08 */ addi r24, r1, 8
+/* 802ECB2C 002E878C C8 42 A4 90 */ lfd f2, lbl_80642A90-_SDA2_BASE_(r2)
+/* 802ECB30 002E8790 38 83 FF FF */ addi r4, r3, 0x0000FFFF@l
+/* 802ECB34 002E8794 38 C0 00 00 */ li r6, 0
+/* 802ECB38 002E8798 3C 00 FF FF */ lis r0, 0xffff
+/* 802ECB3C 002E879C 3E E0 43 30 */ lis r23, 0x4330
+/* 802ECB40 002E87A0 7F C9 03 A6 */ mtctr r30
+/* 802ECB44 002E87A4 2C 1E 00 00 */ cmpwi r30, 0
+/* 802ECB48 002E87A8 40 81 01 7C */ ble lbl_802ECCC4
+lbl_802ECB4C:
+/* 802ECB4C 002E87AC A8 BD 00 00 */ lha r5, 0(r29)
+/* 802ECB50 002E87B0 39 40 00 00 */ li r10, 0
+/* 802ECB54 002E87B4 39 20 00 00 */ li r9, 0
+/* 802ECB58 002E87B8 39 00 00 00 */ li r8, 0
+/* 802ECB5C 002E87BC 7C 05 58 00 */ cmpw r5, r11
+/* 802ECB60 002E87C0 38 E0 00 00 */ li r7, 0
+/* 802ECB64 002E87C4 3B BD 00 02 */ addi r29, r29, 2
+/* 802ECB68 002E87C8 40 80 00 08 */ bge lbl_802ECB70
+/* 802ECB6C 002E87CC 38 E0 00 01 */ li r7, 1
+lbl_802ECB70:
+/* 802ECB70 002E87D0 7E 6B 28 50 */ subf r19, r11, r5
+/* 802ECB74 002E87D4 7E 65 FE 70 */ srawi r5, r19, 0x1f
+/* 802ECB78 002E87D8 7C BB 9A 78 */ xor r27, r5, r19
+/* 802ECB7C 002E87DC 7F 65 D8 50 */ subf r27, r5, r27
+/* 802ECB80 002E87E0 7C 1B 60 00 */ cmpw r27, r12
+/* 802ECB84 002E87E4 41 80 00 0C */ blt lbl_802ECB90
+/* 802ECB88 002E87E8 39 00 00 01 */ li r8, 1
+/* 802ECB8C 002E87EC 7F 6C D8 50 */ subf r27, r12, r27
+lbl_802ECB90:
+/* 802ECB90 002E87F0 55 85 0F FE */ srwi r5, r12, 0x1f
+/* 802ECB94 002E87F4 7C A5 62 14 */ add r5, r5, r12
+/* 802ECB98 002E87F8 7C BA 0E 70 */ srawi r26, r5, 1
+/* 802ECB9C 002E87FC 7C 1B D0 00 */ cmpw r27, r26
+/* 802ECBA0 002E8800 41 80 00 0C */ blt lbl_802ECBAC
+/* 802ECBA4 002E8804 39 20 00 01 */ li r9, 1
+/* 802ECBA8 002E8808 7F 7A D8 50 */ subf r27, r26, r27
+lbl_802ECBAC:
+/* 802ECBAC 002E880C 57 45 0F FE */ srwi r5, r26, 0x1f
+/* 802ECBB0 002E8810 7C A5 D2 14 */ add r5, r5, r26
+/* 802ECBB4 002E8814 7C B9 0E 70 */ srawi r25, r5, 1
+/* 802ECBB8 002E8818 7C 1B C8 00 */ cmpw r27, r25
+/* 802ECBBC 002E881C 41 80 00 0C */ blt lbl_802ECBC8
+/* 802ECBC0 002E8820 39 40 00 01 */ li r10, 1
+/* 802ECBC4 002E8824 7F 79 D8 50 */ subf r27, r25, r27
+lbl_802ECBC8:
+/* 802ECBC8 002E8828 7E 99 51 D6 */ mullw r20, r25, r10
+/* 802ECBCC 002E882C 54 E5 08 3C */ slwi r5, r7, 1
+/* 802ECBD0 002E8830 57 33 0F FE */ srwi r19, r25, 0x1f
+/* 802ECBD4 002E8834 20 A5 00 01 */ subfic r5, r5, 1
+/* 802ECBD8 002E8838 7E 73 CA 14 */ add r19, r19, r25
+/* 802ECBDC 002E883C 7E AC 41 D6 */ mullw r21, r12, r8
+/* 802ECBE0 002E8840 7E 73 0E 70 */ srawi r19, r19, 1
+/* 802ECBE4 002E8844 7E DA 49 D6 */ mullw r22, r26, r9
+/* 802ECBE8 002E8848 7E B4 AA 14 */ add r21, r20, r21
+/* 802ECBEC 002E884C 7E D3 B2 14 */ add r22, r19, r22
+/* 802ECBF0 002E8850 7E D5 B2 14 */ add r22, r21, r22
+/* 802ECBF4 002E8854 7C A5 B1 D6 */ mullw r5, r5, r22
+/* 802ECBF8 002E8858 7C 05 20 00 */ cmpw r5, r4
+/* 802ECBFC 002E885C 40 81 00 08 */ ble lbl_802ECC04
+/* 802ECC00 002E8860 38 A3 FF FF */ addi r5, r3, -1
+lbl_802ECC04:
+/* 802ECC04 002E8864 7C 05 00 00 */ cmpw r5, r0
+/* 802ECC08 002E8868 40 80 00 08 */ bge lbl_802ECC10
+/* 802ECC0C 002E886C 3C A0 FF FF */ lis r5, 0xffff
+lbl_802ECC10:
+/* 802ECC10 002E8870 7D 6B 2A 14 */ add r11, r11, r5
+/* 802ECC14 002E8874 2C 0B 7F FF */ cmpwi r11, 0x7fff
+/* 802ECC18 002E8878 40 81 00 08 */ ble lbl_802ECC20
+/* 802ECC1C 002E887C 39 60 7F FF */ li r11, 0x7fff
+lbl_802ECC20:
+/* 802ECC20 002E8880 2C 0B 80 00 */ cmpwi r11, -32768
+/* 802ECC24 002E8884 40 80 00 08 */ bge lbl_802ECC2C
+/* 802ECC28 002E8888 39 60 80 00 */ li r11, -32768
+lbl_802ECC2C:
+/* 802ECC2C 002E888C 6D 8C 80 00 */ xoris r12, r12, 0x8000
+/* 802ECC30 002E8890 55 12 10 3A */ slwi r18, r8, 2
+/* 802ECC34 002E8894 91 81 00 4C */ stw r12, 0x4c(r1)
+/* 802ECC38 002E8898 54 D6 07 FE */ clrlwi r22, r6, 0x1f
+/* 802ECC3C 002E889C 55 29 08 3C */ slwi r9, r9, 1
+/* 802ECC40 002E88A0 7D 0A 92 14 */ add r8, r10, r18
+/* 802ECC44 002E88A4 92 E1 00 48 */ stw r23, 0x48(r1)
+/* 802ECC48 002E88A8 7D 09 42 14 */ add r8, r9, r8
+/* 802ECC4C 002E88AC 55 08 18 38 */ slwi r8, r8, 3
+/* 802ECC50 002E88B0 54 CC 0F FE */ srwi r12, r6, 0x1f
+/* 802ECC54 002E88B4 C8 21 00 48 */ lfd f1, 0x48(r1)
+/* 802ECC58 002E88B8 7D 29 92 14 */ add r9, r9, r18
+/* 802ECC5C 002E88BC 7C 18 44 AE */ lfdx f0, r24, r8
+/* 802ECC60 002E88C0 7D 0C 32 14 */ add r8, r12, r6
+/* 802ECC64 002E88C4 FC 21 10 28 */ fsub f1, f1, f2
+/* 802ECC68 002E88C8 7D 0C 0E 70 */ srawi r12, r8, 1
+/* 802ECC6C 002E88CC 54 E8 18 38 */ slwi r8, r7, 3
+/* 802ECC70 002E88D0 7C EA 4A 14 */ add r7, r10, r9
+/* 802ECC74 002E88D4 7C E8 3A 14 */ add r7, r8, r7
+/* 802ECC78 002E88D8 3A D6 FF FF */ addi r22, r22, -1
+/* 802ECC7C 002E88DC FC 01 00 32 */ fmul f0, f1, f0
+/* 802ECC80 002E88E0 56 C9 07 7A */ rlwinm r9, r22, 0, 0x1d, 0x1d
+/* 802ECC84 002E88E4 54 E7 06 3E */ clrlwi r7, r7, 0x18
+/* 802ECC88 002E88E8 7D 1F 60 AE */ lbzx r8, r31, r12
+/* 802ECC8C 002E88EC 7C E7 48 30 */ slw r7, r7, r9
+/* 802ECC90 002E88F0 7D 07 3B 78 */ or r7, r8, r7
+/* 802ECC94 002E88F4 FC 00 00 1E */ fctiwz f0, f0
+/* 802ECC98 002E88F8 7C FF 61 AE */ stbx r7, r31, r12
+/* 802ECC9C 002E88FC D8 01 00 50 */ stfd f0, 0x50(r1)
+/* 802ECCA0 002E8900 81 81 00 54 */ lwz r12, 0x54(r1)
+/* 802ECCA4 002E8904 2C 0C 00 7F */ cmpwi r12, 0x7f
+/* 802ECCA8 002E8908 41 81 00 08 */ bgt lbl_802ECCB0
+/* 802ECCAC 002E890C 39 80 00 7F */ li r12, 0x7f
+lbl_802ECCB0:
+/* 802ECCB0 002E8910 2C 0C 60 00 */ cmpwi r12, 0x6000
+/* 802ECCB4 002E8914 41 80 00 08 */ blt lbl_802ECCBC
+/* 802ECCB8 002E8918 39 80 60 00 */ li r12, 0x6000
+lbl_802ECCBC:
+/* 802ECCBC 002E891C 38 C6 00 01 */ addi r6, r6, 1
+/* 802ECCC0 002E8920 42 00 FE 8C */ bdnz lbl_802ECB4C
+lbl_802ECCC4:
+/* 802ECCC4 002E8924 91 7C 00 00 */ stw r11, 0(r28)
+/* 802ECCC8 002E8928 39 61 00 90 */ addi r11, r1, 0x90
+/* 802ECCCC 002E892C 7F C3 F3 78 */ mr r3, r30
+/* 802ECCD0 002E8930 91 9C 00 04 */ stw r12, 4(r28)
+/* 802ECCD4 002E8934 90 BC 00 08 */ stw r5, 8(r28)
+/* 802ECCD8 002E8938 93 7C 00 0C */ stw r27, 0xc(r28)
+/* 802ECCDC 002E893C 93 5C 00 10 */ stw r26, 0x10(r28)
+/* 802ECCE0 002E8940 93 3C 00 14 */ stw r25, 0x14(r28)
+/* 802ECCE4 002E8944 4B ED A4 6D */ bl _restgpr_18
+/* 802ECCE8 002E8948 80 01 00 94 */ lwz r0, 0x94(r1)
+/* 802ECCEC 002E894C 7C 08 03 A6 */ mtlr r0
+/* 802ECCF0 002E8950 38 21 00 90 */ addi r1, r1, 0x90
+/* 802ECCF4 002E8954 4E 80 00 20 */ blr