diff options
author | Revo <projectrevotpp@hotmail.com> | 2020-10-10 10:49:32 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-10 10:49:32 -0400 |
commit | 7a84a70e2495aa1a1e9db29fd2c5daa2d15414dd (patch) | |
tree | 5717787164a7ff00e7f27974b7d4ec8308fff5e8 /asm/SDK/VF/pf_api_util.s | |
parent | 1711bb64c15af3c27d03e60e805bede1228f9e85 (diff) | |
parent | c570a9471a62dd9a94ab48346667a5fd112e8932 (diff) |
Merge pull request #136 from mparisi20/master
start splitting VF library
Diffstat (limited to 'asm/SDK/VF/pf_api_util.s')
-rw-r--r-- | asm/SDK/VF/pf_api_util.s | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/asm/SDK/VF/pf_api_util.s b/asm/SDK/VF/pf_api_util.s new file mode 100644 index 0000000..cad2d7d --- /dev/null +++ b/asm/SDK/VF/pf_api_util.s @@ -0,0 +1,115 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFAPI_ParseOpenModeString
+VFiPFAPI_ParseOpenModeString:
+/* 8031A110 00315D70 2C 03 00 00 */ cmpwi r3, 0
+/* 8031A114 00315D74 40 82 00 0C */ bne lbl_8031A120
+/* 8031A118 00315D78 38 60 00 0A */ li r3, 0xa
+/* 8031A11C 00315D7C 4E 80 00 20 */ blr
+lbl_8031A120:
+/* 8031A120 00315D80 88 03 00 00 */ lbz r0, 0(r3)
+/* 8031A124 00315D84 38 A0 00 01 */ li r5, 1
+/* 8031A128 00315D88 7C 00 07 74 */ extsb r0, r0
+/* 8031A12C 00315D8C 2C 00 00 72 */ cmpwi r0, 0x72
+/* 8031A130 00315D90 41 82 00 20 */ beq lbl_8031A150
+/* 8031A134 00315D94 40 80 00 10 */ bge lbl_8031A144
+/* 8031A138 00315D98 2C 00 00 61 */ cmpwi r0, 0x61
+/* 8031A13C 00315D9C 41 82 00 24 */ beq lbl_8031A160
+/* 8031A140 00315DA0 48 00 00 28 */ b lbl_8031A168
+lbl_8031A144:
+/* 8031A144 00315DA4 2C 00 00 77 */ cmpwi r0, 0x77
+/* 8031A148 00315DA8 41 82 00 10 */ beq lbl_8031A158
+/* 8031A14C 00315DAC 48 00 00 1C */ b lbl_8031A168
+lbl_8031A150:
+/* 8031A150 00315DB0 38 80 00 02 */ li r4, 2
+/* 8031A154 00315DB4 48 00 00 1C */ b lbl_8031A170
+lbl_8031A158:
+/* 8031A158 00315DB8 38 80 00 01 */ li r4, 1
+/* 8031A15C 00315DBC 48 00 00 14 */ b lbl_8031A170
+lbl_8031A160:
+/* 8031A160 00315DC0 38 80 00 04 */ li r4, 4
+/* 8031A164 00315DC4 48 00 00 0C */ b lbl_8031A170
+lbl_8031A168:
+/* 8031A168 00315DC8 38 60 00 00 */ li r3, 0
+/* 8031A16C 00315DCC 4E 80 00 20 */ blr
+lbl_8031A170:
+/* 8031A170 00315DD0 88 03 00 01 */ lbz r0, 1(r3)
+/* 8031A174 00315DD4 2C 00 00 62 */ cmpwi r0, 0x62
+/* 8031A178 00315DD8 40 82 00 08 */ bne lbl_8031A180
+/* 8031A17C 00315DDC 38 A0 00 02 */ li r5, 2
+lbl_8031A180:
+/* 8031A180 00315DE0 7C 03 28 AE */ lbzx r0, r3, r5
+/* 8031A184 00315DE4 38 A5 00 01 */ addi r5, r5, 1
+/* 8031A188 00315DE8 7C 00 07 74 */ extsb r0, r0
+/* 8031A18C 00315DEC 2C 00 00 2B */ cmpwi r0, 0x2b
+/* 8031A190 00315DF0 41 82 00 30 */ beq lbl_8031A1C0
+/* 8031A194 00315DF4 40 80 00 10 */ bge lbl_8031A1A4
+/* 8031A198 00315DF8 2C 00 00 00 */ cmpwi r0, 0
+/* 8031A19C 00315DFC 41 82 00 14 */ beq lbl_8031A1B0
+/* 8031A1A0 00315E00 48 00 00 18 */ b lbl_8031A1B8
+lbl_8031A1A4:
+/* 8031A1A4 00315E04 2C 00 00 74 */ cmpwi r0, 0x74
+/* 8031A1A8 00315E08 41 82 00 10 */ beq lbl_8031A1B8
+/* 8031A1AC 00315E0C 48 00 00 0C */ b lbl_8031A1B8
+lbl_8031A1B0:
+/* 8031A1B0 00315E10 7C 83 23 78 */ mr r3, r4
+/* 8031A1B4 00315E14 4E 80 00 20 */ blr
+lbl_8031A1B8:
+/* 8031A1B8 00315E18 38 60 00 00 */ li r3, 0
+/* 8031A1BC 00315E1C 4E 80 00 20 */ blr
+lbl_8031A1C0:
+/* 8031A1C0 00315E20 7C 03 28 AE */ lbzx r0, r3, r5
+/* 8031A1C4 00315E24 7C 00 07 75 */ extsb. r0, r0
+/* 8031A1C8 00315E28 41 82 00 08 */ beq lbl_8031A1D0
+/* 8031A1CC 00315E2C 48 00 00 0C */ b lbl_8031A1D8
+lbl_8031A1D0:
+/* 8031A1D0 00315E30 60 83 00 08 */ ori r3, r4, 8
+/* 8031A1D4 00315E34 4E 80 00 20 */ blr
+lbl_8031A1D8:
+/* 8031A1D8 00315E38 38 60 00 00 */ li r3, 0
+/* 8031A1DC 00315E3C 4E 80 00 20 */ blr
+
+.global VFiPFAPI_convertError
+VFiPFAPI_convertError:
+/* 8031A1E0 00315E40 2C 83 00 00 */ cmpwi cr1, r3, 0
+/* 8031A1E4 00315E44 40 86 00 0C */ bne cr1, lbl_8031A1F0
+/* 8031A1E8 00315E48 38 60 00 00 */ li r3, 0
+/* 8031A1EC 00315E4C 4E 80 00 20 */ blr
+lbl_8031A1F0:
+/* 8031A1F0 00315E50 2C 03 FF FF */ cmpwi r3, -1
+/* 8031A1F4 00315E54 40 82 00 0C */ bne lbl_8031A200
+/* 8031A1F8 00315E58 38 60 FF FF */ li r3, -1
+/* 8031A1FC 00315E5C 4E 80 00 20 */ blr
+lbl_8031A200:
+/* 8031A200 00315E60 40 85 00 20 */ ble cr1, lbl_8031A220
+/* 8031A204 00315E64 2C 03 00 A0 */ cmpwi r3, 0xa0
+/* 8031A208 00315E68 40 80 00 18 */ bge lbl_8031A220
+/* 8031A20C 00315E6C 3C 80 80 44 */ lis r4, lbl_804465E8@ha
+/* 8031A210 00315E70 54 60 10 3A */ slwi r0, r3, 2
+/* 8031A214 00315E74 38 84 65 E8 */ addi r4, r4, lbl_804465E8@l
+/* 8031A218 00315E78 7C 64 00 2E */ lwzx r3, r4, r0
+/* 8031A21C 00315E7C 4E 80 00 20 */ blr
+lbl_8031A220:
+/* 8031A220 00315E80 2C 03 10 00 */ cmpwi r3, 0x1000
+/* 8031A224 00315E84 4C 82 00 20 */ bnelr
+/* 8031A228 00315E88 38 60 00 05 */ li r3, 5
+/* 8031A22C 00315E8C 4E 80 00 20 */ blr
+
+.global VFiPFAPI_convertReturnValue
+VFiPFAPI_convertReturnValue:
+/* 8031A230 00315E90 7C 03 00 D0 */ neg r0, r3
+/* 8031A234 00315E94 7C 00 1B 78 */ or r0, r0, r3
+/* 8031A238 00315E98 7C 03 FE 70 */ srawi r3, r0, 0x1f
+/* 8031A23C 00315E9C 4E 80 00 20 */ blr
+
+.global VFiPFAPI_convertReturnValue2NULL
+VFiPFAPI_convertReturnValue2NULL:
+/* 8031A240 00315EA0 2C 03 00 00 */ cmpwi r3, 0
+/* 8031A244 00315EA4 41 82 00 0C */ beq lbl_8031A250
+/* 8031A248 00315EA8 38 60 00 00 */ li r3, 0
+/* 8031A24C 00315EAC 4E 80 00 20 */ blr
+lbl_8031A250:
+/* 8031A250 00315EB0 7C 83 23 78 */ mr r3, r4
+/* 8031A254 00315EB4 4E 80 00 20 */ blr
|