diff options
author | Max <mparisi@stevens.edu> | 2020-10-10 01:02:53 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-10-10 01:02:53 -0400 |
commit | 97a9a219b3d6683de3e70f6a8533a028d56bcf75 (patch) | |
tree | c016a438bf11a5f55ee0d42b92c79516310cc158 | |
parent | 9bdf707566f5e8f1a295d5c04f6b3ce29f6f99a9 (diff) |
pf_api_util and pf_cp392
-rw-r--r-- | asm/SDK/VF/pf_api_util.s | 115 | ||||
-rw-r--r-- | asm/SDK/VF/pf_cp932.s | 381 | ||||
-rw-r--r-- | asm/SDK/VF/pf_volume.s | 24 | ||||
-rw-r--r-- | asm/text_9_2.s | 504 | ||||
-rw-r--r-- | obj_files.mk | 2 |
5 files changed, 517 insertions, 509 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
diff --git a/asm/SDK/VF/pf_cp932.s b/asm/SDK/VF/pf_cp932.s new file mode 100644 index 0000000..2dcc524 --- /dev/null +++ b/asm/SDK/VF/pf_cp932.s @@ -0,0 +1,381 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global VFiPFCODE_CP932_OEM2Unicode
+VFiPFCODE_CP932_OEM2Unicode:
+/* 80319C00 00315860 88 A3 00 00 */ lbz r5, 0(r3)
+/* 80319C04 00315864 88 63 00 01 */ lbz r3, 1(r3)
+/* 80319C08 00315868 28 05 00 80 */ cmplwi r5, 0x80
+/* 80319C0C 0031586C 40 80 00 14 */ bge lbl_80319C20
+/* 80319C10 00315870 B0 A4 00 00 */ sth r5, 0(r4)
+/* 80319C14 00315874 38 60 00 01 */ li r3, 1
+/* 80319C18 00315878 38 80 00 02 */ li r4, 2
+/* 80319C1C 0031587C 4B FE B5 78 */ b VFiPFCODE_Combine_Width
+lbl_80319C20:
+/* 80319C20 00315880 28 05 00 A1 */ cmplwi r5, 0xa1
+/* 80319C24 00315884 41 80 00 24 */ blt lbl_80319C48
+/* 80319C28 00315888 28 05 00 DF */ cmplwi r5, 0xdf
+/* 80319C2C 0031588C 41 81 00 1C */ bgt lbl_80319C48
+/* 80319C30 00315890 3C 65 00 01 */ addis r3, r5, 1
+/* 80319C34 00315894 38 03 FE C0 */ addi r0, r3, -320
+/* 80319C38 00315898 B0 04 00 00 */ sth r0, 0(r4)
+/* 80319C3C 0031589C 38 60 00 01 */ li r3, 1
+/* 80319C40 003158A0 38 80 00 02 */ li r4, 2
+/* 80319C44 003158A4 4B FE B5 50 */ b VFiPFCODE_Combine_Width
+lbl_80319C48:
+/* 80319C48 003158A8 28 05 00 80 */ cmplwi r5, 0x80
+/* 80319C4C 003158AC 41 82 00 4C */ beq lbl_80319C98
+/* 80319C50 003158B0 28 05 00 85 */ cmplwi r5, 0x85
+/* 80319C54 003158B4 41 82 00 44 */ beq lbl_80319C98
+/* 80319C58 003158B8 28 05 00 86 */ cmplwi r5, 0x86
+/* 80319C5C 003158BC 41 82 00 3C */ beq lbl_80319C98
+/* 80319C60 003158C0 28 05 00 A0 */ cmplwi r5, 0xa0
+/* 80319C64 003158C4 41 82 00 34 */ beq lbl_80319C98
+/* 80319C68 003158C8 28 05 00 EB */ cmplwi r5, 0xeb
+/* 80319C6C 003158CC 41 82 00 2C */ beq lbl_80319C98
+/* 80319C70 003158D0 28 05 00 EC */ cmplwi r5, 0xec
+/* 80319C74 003158D4 41 82 00 24 */ beq lbl_80319C98
+/* 80319C78 003158D8 28 05 00 EF */ cmplwi r5, 0xef
+/* 80319C7C 003158DC 41 80 00 0C */ blt lbl_80319C88
+/* 80319C80 003158E0 28 05 00 F9 */ cmplwi r5, 0xf9
+/* 80319C84 003158E4 40 81 00 14 */ ble lbl_80319C98
+lbl_80319C88:
+/* 80319C88 003158E8 28 05 00 FD */ cmplwi r5, 0xfd
+/* 80319C8C 003158EC 41 80 00 20 */ blt lbl_80319CAC
+/* 80319C90 003158F0 28 05 00 FF */ cmplwi r5, 0xff
+/* 80319C94 003158F4 40 82 00 18 */ bne lbl_80319CAC
+lbl_80319C98:
+/* 80319C98 003158F8 38 00 00 5F */ li r0, 0x5f
+/* 80319C9C 003158FC 38 60 00 01 */ li r3, 1
+/* 80319CA0 00315900 B0 04 00 00 */ sth r0, 0(r4)
+/* 80319CA4 00315904 38 80 00 02 */ li r4, 2
+/* 80319CA8 00315908 4B FE B4 EC */ b VFiPFCODE_Combine_Width
+lbl_80319CAC:
+/* 80319CAC 0031590C 28 03 00 FD */ cmplwi r3, 0xfd
+/* 80319CB0 00315910 41 80 00 18 */ blt lbl_80319CC8
+/* 80319CB4 00315914 38 00 00 5F */ li r0, 0x5f
+/* 80319CB8 00315918 38 60 00 01 */ li r3, 1
+/* 80319CBC 0031591C B0 04 00 00 */ sth r0, 0(r4)
+/* 80319CC0 00315920 38 80 00 02 */ li r4, 2
+/* 80319CC4 00315924 4B FE B4 D0 */ b VFiPFCODE_Combine_Width
+lbl_80319CC8:
+/* 80319CC8 00315928 28 05 00 81 */ cmplwi r5, 0x81
+/* 80319CCC 0031592C 41 80 00 14 */ blt lbl_80319CE0
+/* 80319CD0 00315930 28 05 00 84 */ cmplwi r5, 0x84
+/* 80319CD4 00315934 41 81 00 0C */ bgt lbl_80319CE0
+/* 80319CD8 00315938 38 05 FF 7F */ addi r0, r5, -129
+/* 80319CDC 0031593C 48 00 00 78 */ b lbl_80319D54
+lbl_80319CE0:
+/* 80319CE0 00315940 28 05 00 87 */ cmplwi r5, 0x87
+/* 80319CE4 00315944 41 80 00 14 */ blt lbl_80319CF8
+/* 80319CE8 00315948 28 05 00 9F */ cmplwi r5, 0x9f
+/* 80319CEC 0031594C 41 81 00 0C */ bgt lbl_80319CF8
+/* 80319CF0 00315950 38 05 FF 7D */ addi r0, r5, -131
+/* 80319CF4 00315954 48 00 00 60 */ b lbl_80319D54
+lbl_80319CF8:
+/* 80319CF8 00315958 28 05 00 E0 */ cmplwi r5, 0xe0
+/* 80319CFC 0031595C 41 80 00 14 */ blt lbl_80319D10
+/* 80319D00 00315960 28 05 00 EA */ cmplwi r5, 0xea
+/* 80319D04 00315964 41 81 00 0C */ bgt lbl_80319D10
+/* 80319D08 00315968 38 05 FF 3D */ addi r0, r5, -195
+/* 80319D0C 0031596C 48 00 00 48 */ b lbl_80319D54
+lbl_80319D10:
+/* 80319D10 00315970 28 05 00 ED */ cmplwi r5, 0xed
+/* 80319D14 00315974 41 80 00 14 */ blt lbl_80319D28
+/* 80319D18 00315978 28 05 00 EE */ cmplwi r5, 0xee
+/* 80319D1C 0031597C 41 81 00 0C */ bgt lbl_80319D28
+/* 80319D20 00315980 38 05 FF 3B */ addi r0, r5, -197
+/* 80319D24 00315984 48 00 00 30 */ b lbl_80319D54
+lbl_80319D28:
+/* 80319D28 00315988 28 05 00 FA */ cmplwi r5, 0xfa
+/* 80319D2C 0031598C 41 80 00 14 */ blt lbl_80319D40
+/* 80319D30 00315990 28 05 00 FC */ cmplwi r5, 0xfc
+/* 80319D34 00315994 41 81 00 0C */ bgt lbl_80319D40
+/* 80319D38 00315998 38 05 FF 30 */ addi r0, r5, -208
+/* 80319D3C 0031599C 48 00 00 18 */ b lbl_80319D54
+lbl_80319D40:
+/* 80319D40 003159A0 38 00 00 5F */ li r0, 0x5f
+/* 80319D44 003159A4 38 60 00 01 */ li r3, 1
+/* 80319D48 003159A8 B0 04 00 00 */ sth r0, 0(r4)
+/* 80319D4C 003159AC 38 80 00 02 */ li r4, 2
+/* 80319D50 003159B0 4B FE B4 44 */ b VFiPFCODE_Combine_Width
+lbl_80319D54:
+/* 80319D54 003159B4 34 63 FF C0 */ addic. r3, r3, -64
+/* 80319D58 003159B8 41 80 00 0C */ blt lbl_80319D64
+/* 80319D5C 003159BC 2C 03 00 BD */ cmpwi r3, 0xbd
+/* 80319D60 003159C0 41 80 00 18 */ blt lbl_80319D78
+lbl_80319D64:
+/* 80319D64 003159C4 38 00 00 5F */ li r0, 0x5f
+/* 80319D68 003159C8 38 60 00 01 */ li r3, 1
+/* 80319D6C 003159CC B0 04 00 00 */ sth r0, 0(r4)
+/* 80319D70 003159D0 38 80 00 02 */ li r4, 2
+/* 80319D74 003159D4 4B FE B4 20 */ b VFiPFCODE_Combine_Width
+lbl_80319D78:
+/* 80319D78 003159D8 1C 00 01 7A */ mulli r0, r0, 0x17a
+/* 80319D7C 003159DC 3C A0 80 40 */ lis r5, lbl_803FE2C0@ha
+/* 80319D80 003159E0 54 63 08 3C */ slwi r3, r3, 1
+/* 80319D84 003159E4 38 A5 E2 C0 */ addi r5, r5, lbl_803FE2C0@l
+/* 80319D88 003159E8 7C 05 02 14 */ add r0, r5, r0
+/* 80319D8C 003159EC 7C 03 02 2E */ lhzx r0, r3, r0
+/* 80319D90 003159F0 2C 00 00 00 */ cmpwi r0, 0
+/* 80319D94 003159F4 B0 04 00 00 */ sth r0, 0(r4)
+/* 80319D98 003159F8 40 82 00 18 */ bne lbl_80319DB0
+/* 80319D9C 003159FC 38 00 00 5F */ li r0, 0x5f
+/* 80319DA0 00315A00 38 60 00 01 */ li r3, 1
+/* 80319DA4 00315A04 B0 04 00 00 */ sth r0, 0(r4)
+/* 80319DA8 00315A08 38 80 00 02 */ li r4, 2
+/* 80319DAC 00315A0C 4B FE B3 E8 */ b VFiPFCODE_Combine_Width
+lbl_80319DB0:
+/* 80319DB0 00315A10 38 60 00 02 */ li r3, 2
+/* 80319DB4 00315A14 38 80 00 02 */ li r4, 2
+/* 80319DB8 00315A18 4B FE B3 DC */ b VFiPFCODE_Combine_Width
+
+.global VFiPFCODE_CP932_Unicode2OEM
+VFiPFCODE_CP932_Unicode2OEM:
+/* 80319DBC 00315A1C A0 03 00 00 */ lhz r0, 0(r3)
+/* 80319DC0 00315A20 54 05 06 3E */ clrlwi r5, r0, 0x18
+/* 80319DC4 00315A24 7C 03 46 70 */ srawi r3, r0, 8
+/* 80319DC8 00315A28 28 05 00 80 */ cmplwi r5, 0x80
+/* 80319DCC 00315A2C 40 80 00 24 */ bge lbl_80319DF0
+/* 80319DD0 00315A30 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 80319DD4 00315A34 40 82 00 1C */ bne lbl_80319DF0
+/* 80319DD8 00315A38 38 00 00 00 */ li r0, 0
+/* 80319DDC 00315A3C 98 A4 00 00 */ stb r5, 0(r4)
+/* 80319DE0 00315A40 38 60 00 01 */ li r3, 1
+/* 80319DE4 00315A44 98 04 00 01 */ stb r0, 1(r4)
+/* 80319DE8 00315A48 38 80 00 02 */ li r4, 2
+/* 80319DEC 00315A4C 4B FE B3 A8 */ b VFiPFCODE_Combine_Width
+lbl_80319DF0:
+/* 80319DF0 00315A50 54 60 44 2E */ rlwinm r0, r3, 8, 0x10, 0x17
+/* 80319DF4 00315A54 7C 00 2A 14 */ add r0, r0, r5
+/* 80319DF8 00315A58 54 09 04 3E */ clrlwi r9, r0, 0x10
+/* 80319DFC 00315A5C 28 09 FF 61 */ cmplwi r9, 0xff61
+/* 80319E00 00315A60 41 80 00 2C */ blt lbl_80319E2C
+/* 80319E04 00315A64 28 09 FF 9F */ cmplwi r9, 0xff9f
+/* 80319E08 00315A68 41 81 00 24 */ bgt lbl_80319E2C
+/* 80319E0C 00315A6C 3C 69 FF FF */ addis r3, r9, 0xffff
+/* 80319E10 00315A70 38 00 00 00 */ li r0, 0
+/* 80319E14 00315A74 38 63 01 40 */ addi r3, r3, 0x140
+/* 80319E18 00315A78 98 04 00 01 */ stb r0, 1(r4)
+/* 80319E1C 00315A7C 98 64 00 00 */ stb r3, 0(r4)
+/* 80319E20 00315A80 38 60 00 01 */ li r3, 1
+/* 80319E24 00315A84 38 80 00 02 */ li r4, 2
+/* 80319E28 00315A88 4B FE B3 6C */ b VFiPFCODE_Combine_Width
+lbl_80319E2C:
+/* 80319E2C 00315A8C 28 09 00 5F */ cmplwi r9, 0x5f
+/* 80319E30 00315A90 40 82 00 18 */ bne lbl_80319E48
+/* 80319E34 00315A94 38 00 00 5F */ li r0, 0x5f
+/* 80319E38 00315A98 38 60 00 01 */ li r3, 1
+/* 80319E3C 00315A9C 98 04 00 00 */ stb r0, 0(r4)
+/* 80319E40 00315AA0 38 80 00 02 */ li r4, 2
+/* 80319E44 00315AA4 4B FE B3 50 */ b VFiPFCODE_Combine_Width
+lbl_80319E48:
+/* 80319E48 00315AA8 3C A0 80 40 */ lis r5, lbl_803FE2C0@ha
+/* 80319E4C 00315AAC 38 C0 00 00 */ li r6, 0
+/* 80319E50 00315AB0 38 A5 E2 C0 */ addi r5, r5, lbl_803FE2C0@l
+/* 80319E54 00315AB4 38 00 00 15 */ li r0, 0x15
+lbl_80319E58:
+/* 80319E58 00315AB8 7C A8 2B 78 */ mr r8, r5
+/* 80319E5C 00315ABC 38 E0 00 00 */ li r7, 0
+/* 80319E60 00315AC0 7C 09 03 A6 */ mtctr r0
+lbl_80319E64:
+/* 80319E64 00315AC4 A0 68 00 00 */ lhz r3, 0(r8)
+/* 80319E68 00315AC8 7C 03 48 40 */ cmplw r3, r9
+/* 80319E6C 00315ACC 41 82 00 90 */ beq lbl_80319EFC
+/* 80319E70 00315AD0 A0 68 00 02 */ lhz r3, 2(r8)
+/* 80319E74 00315AD4 38 E7 00 01 */ addi r7, r7, 1
+/* 80319E78 00315AD8 7C 03 48 40 */ cmplw r3, r9
+/* 80319E7C 00315ADC 41 82 00 80 */ beq lbl_80319EFC
+/* 80319E80 00315AE0 A0 68 00 04 */ lhz r3, 4(r8)
+/* 80319E84 00315AE4 38 E7 00 01 */ addi r7, r7, 1
+/* 80319E88 00315AE8 7C 03 48 40 */ cmplw r3, r9
+/* 80319E8C 00315AEC 41 82 00 70 */ beq lbl_80319EFC
+/* 80319E90 00315AF0 A0 68 00 06 */ lhz r3, 6(r8)
+/* 80319E94 00315AF4 38 E7 00 01 */ addi r7, r7, 1
+/* 80319E98 00315AF8 7C 03 48 40 */ cmplw r3, r9
+/* 80319E9C 00315AFC 41 82 00 60 */ beq lbl_80319EFC
+/* 80319EA0 00315B00 A0 68 00 08 */ lhz r3, 8(r8)
+/* 80319EA4 00315B04 38 E7 00 01 */ addi r7, r7, 1
+/* 80319EA8 00315B08 7C 03 48 40 */ cmplw r3, r9
+/* 80319EAC 00315B0C 41 82 00 50 */ beq lbl_80319EFC
+/* 80319EB0 00315B10 A0 68 00 0A */ lhz r3, 0xa(r8)
+/* 80319EB4 00315B14 38 E7 00 01 */ addi r7, r7, 1
+/* 80319EB8 00315B18 7C 03 48 40 */ cmplw r3, r9
+/* 80319EBC 00315B1C 41 82 00 40 */ beq lbl_80319EFC
+/* 80319EC0 00315B20 A0 68 00 0C */ lhz r3, 0xc(r8)
+/* 80319EC4 00315B24 38 E7 00 01 */ addi r7, r7, 1
+/* 80319EC8 00315B28 7C 03 48 40 */ cmplw r3, r9
+/* 80319ECC 00315B2C 41 82 00 30 */ beq lbl_80319EFC
+/* 80319ED0 00315B30 A0 68 00 0E */ lhz r3, 0xe(r8)
+/* 80319ED4 00315B34 38 E7 00 01 */ addi r7, r7, 1
+/* 80319ED8 00315B38 7C 03 48 40 */ cmplw r3, r9
+/* 80319EDC 00315B3C 41 82 00 20 */ beq lbl_80319EFC
+/* 80319EE0 00315B40 A0 68 00 10 */ lhz r3, 0x10(r8)
+/* 80319EE4 00315B44 38 E7 00 01 */ addi r7, r7, 1
+/* 80319EE8 00315B48 7C 03 48 40 */ cmplw r3, r9
+/* 80319EEC 00315B4C 41 82 00 10 */ beq lbl_80319EFC
+/* 80319EF0 00315B50 38 E7 00 01 */ addi r7, r7, 1
+/* 80319EF4 00315B54 39 08 00 12 */ addi r8, r8, 0x12
+/* 80319EF8 00315B58 42 00 FF 6C */ bdnz lbl_80319E64
+lbl_80319EFC:
+/* 80319EFC 00315B5C 2C 07 00 BD */ cmpwi r7, 0xbd
+/* 80319F00 00315B60 41 80 00 14 */ blt lbl_80319F14
+/* 80319F04 00315B64 38 C6 00 01 */ addi r6, r6, 1
+/* 80319F08 00315B68 38 A5 01 7A */ addi r5, r5, 0x17a
+/* 80319F0C 00315B6C 2C 06 00 2D */ cmpwi r6, 0x2d
+/* 80319F10 00315B70 41 80 FF 48 */ blt lbl_80319E58
+lbl_80319F14:
+/* 80319F14 00315B74 2C 07 00 BD */ cmpwi r7, 0xbd
+/* 80319F18 00315B78 40 82 00 18 */ bne lbl_80319F30
+/* 80319F1C 00315B7C 38 00 00 5F */ li r0, 0x5f
+/* 80319F20 00315B80 38 60 00 01 */ li r3, 1
+/* 80319F24 00315B84 98 04 00 00 */ stb r0, 0(r4)
+/* 80319F28 00315B88 38 80 00 02 */ li r4, 2
+/* 80319F2C 00315B8C 4B FE B2 68 */ b VFiPFCODE_Combine_Width
+lbl_80319F30:
+/* 80319F30 00315B90 2C 06 00 00 */ cmpwi r6, 0
+/* 80319F34 00315B94 41 80 00 24 */ blt lbl_80319F58
+/* 80319F38 00315B98 2C 06 00 03 */ cmpwi r6, 3
+/* 80319F3C 00315B9C 41 81 00 1C */ bgt lbl_80319F58
+/* 80319F40 00315BA0 38 66 00 81 */ addi r3, r6, 0x81
+/* 80319F44 00315BA4 38 07 00 40 */ addi r0, r7, 0x40
+/* 80319F48 00315BA8 54 63 40 2E */ slwi r3, r3, 8
+/* 80319F4C 00315BAC 7C 60 03 78 */ or r0, r3, r0
+/* 80319F50 00315BB0 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 80319F54 00315BB4 48 00 00 B8 */ b lbl_8031A00C
+lbl_80319F58:
+/* 80319F58 00315BB8 2C 06 00 04 */ cmpwi r6, 4
+/* 80319F5C 00315BBC 41 80 00 24 */ blt lbl_80319F80
+/* 80319F60 00315BC0 2C 06 00 1C */ cmpwi r6, 0x1c
+/* 80319F64 00315BC4 41 81 00 1C */ bgt lbl_80319F80
+/* 80319F68 00315BC8 38 66 00 83 */ addi r3, r6, 0x83
+/* 80319F6C 00315BCC 38 07 00 40 */ addi r0, r7, 0x40
+/* 80319F70 00315BD0 54 63 40 2E */ slwi r3, r3, 8
+/* 80319F74 00315BD4 7C 60 03 78 */ or r0, r3, r0
+/* 80319F78 00315BD8 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 80319F7C 00315BDC 48 00 00 90 */ b lbl_8031A00C
+lbl_80319F80:
+/* 80319F80 00315BE0 2C 06 00 1D */ cmpwi r6, 0x1d
+/* 80319F84 00315BE4 41 80 00 24 */ blt lbl_80319FA8
+/* 80319F88 00315BE8 2C 06 00 27 */ cmpwi r6, 0x27
+/* 80319F8C 00315BEC 41 81 00 1C */ bgt lbl_80319FA8
+/* 80319F90 00315BF0 38 66 00 C3 */ addi r3, r6, 0xc3
+/* 80319F94 00315BF4 38 07 00 40 */ addi r0, r7, 0x40
+/* 80319F98 00315BF8 54 63 40 2E */ slwi r3, r3, 8
+/* 80319F9C 00315BFC 7C 60 03 78 */ or r0, r3, r0
+/* 80319FA0 00315C00 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 80319FA4 00315C04 48 00 00 68 */ b lbl_8031A00C
+lbl_80319FA8:
+/* 80319FA8 00315C08 2C 06 00 28 */ cmpwi r6, 0x28
+/* 80319FAC 00315C0C 41 80 00 24 */ blt lbl_80319FD0
+/* 80319FB0 00315C10 2C 06 00 29 */ cmpwi r6, 0x29
+/* 80319FB4 00315C14 41 81 00 1C */ bgt lbl_80319FD0
+/* 80319FB8 00315C18 38 66 00 C5 */ addi r3, r6, 0xc5
+/* 80319FBC 00315C1C 38 07 00 40 */ addi r0, r7, 0x40
+/* 80319FC0 00315C20 54 63 40 2E */ slwi r3, r3, 8
+/* 80319FC4 00315C24 7C 60 03 78 */ or r0, r3, r0
+/* 80319FC8 00315C28 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 80319FCC 00315C2C 48 00 00 40 */ b lbl_8031A00C
+lbl_80319FD0:
+/* 80319FD0 00315C30 2C 06 00 2A */ cmpwi r6, 0x2a
+/* 80319FD4 00315C34 41 80 00 24 */ blt lbl_80319FF8
+/* 80319FD8 00315C38 2C 06 00 2C */ cmpwi r6, 0x2c
+/* 80319FDC 00315C3C 41 81 00 1C */ bgt lbl_80319FF8
+/* 80319FE0 00315C40 38 66 00 D0 */ addi r3, r6, 0xd0
+/* 80319FE4 00315C44 38 07 00 40 */ addi r0, r7, 0x40
+/* 80319FE8 00315C48 54 63 40 2E */ slwi r3, r3, 8
+/* 80319FEC 00315C4C 7C 60 03 78 */ or r0, r3, r0
+/* 80319FF0 00315C50 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 80319FF4 00315C54 48 00 00 18 */ b lbl_8031A00C
+lbl_80319FF8:
+/* 80319FF8 00315C58 38 00 00 5F */ li r0, 0x5f
+/* 80319FFC 00315C5C 38 60 00 01 */ li r3, 1
+/* 8031A000 00315C60 98 04 00 00 */ stb r0, 0(r4)
+/* 8031A004 00315C64 38 80 00 02 */ li r4, 2
+/* 8031A008 00315C68 4B FE B1 8C */ b VFiPFCODE_Combine_Width
+lbl_8031A00C:
+/* 8031A00C 00315C6C 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f
+/* 8031A010 00315C70 98 64 00 01 */ stb r3, 1(r4)
+/* 8031A014 00315C74 38 60 00 02 */ li r3, 2
+/* 8031A018 00315C78 98 04 00 00 */ stb r0, 0(r4)
+/* 8031A01C 00315C7C 38 80 00 02 */ li r4, 2
+/* 8031A020 00315C80 4B FE B1 74 */ b VFiPFCODE_Combine_Width
+
+.global VFiPFCODE_CP932_OEMCharWidth
+VFiPFCODE_CP932_OEMCharWidth:
+/* 8031A024 00315C84 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8031A028 00315C88 7C 08 02 A6 */ mflr r0
+/* 8031A02C 00315C8C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8031A030 00315C90 38 81 00 0C */ addi r4, r1, 0xc
+/* 8031A034 00315C94 4B FF FB CD */ bl VFiPFCODE_CP932_OEM2Unicode
+/* 8031A038 00315C98 38 81 00 0A */ addi r4, r1, 0xa
+/* 8031A03C 00315C9C 38 A1 00 08 */ addi r5, r1, 8
+/* 8031A040 00315CA0 4B FE B1 61 */ bl VFiPFCODE_Divide_Width
+/* 8031A044 00315CA4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8031A048 00315CA8 A8 61 00 0A */ lha r3, 0xa(r1)
+/* 8031A04C 00315CAC 7C 08 03 A6 */ mtlr r0
+/* 8031A050 00315CB0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031A054 00315CB4 4E 80 00 20 */ blr
+
+.global VFiPFCODE_CP932_isOEMMBchar
+VFiPFCODE_CP932_isOEMMBchar:
+/* 8031A058 00315CB8 2C 04 00 02 */ cmpwi r4, 2
+/* 8031A05C 00315CBC 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 8031A060 00315CC0 41 82 00 40 */ beq lbl_8031A0A0
+/* 8031A064 00315CC4 40 80 00 68 */ bge lbl_8031A0CC
+/* 8031A068 00315CC8 2C 04 00 01 */ cmpwi r4, 1
+/* 8031A06C 00315CCC 40 80 00 08 */ bge lbl_8031A074
+/* 8031A070 00315CD0 48 00 00 5C */ b lbl_8031A0CC
+lbl_8031A074:
+/* 8031A074 00315CD4 28 00 00 81 */ cmplwi r0, 0x81
+/* 8031A078 00315CD8 38 60 00 00 */ li r3, 0
+/* 8031A07C 00315CDC 41 80 00 0C */ blt lbl_8031A088
+/* 8031A080 00315CE0 28 00 00 9F */ cmplwi r0, 0x9f
+/* 8031A084 00315CE4 40 81 00 14 */ ble lbl_8031A098
+lbl_8031A088:
+/* 8031A088 00315CE8 28 00 00 E0 */ cmplwi r0, 0xe0
+/* 8031A08C 00315CEC 4D 80 00 20 */ bltlr
+/* 8031A090 00315CF0 28 00 00 FC */ cmplwi r0, 0xfc
+/* 8031A094 00315CF4 4D 81 00 20 */ bgtlr
+lbl_8031A098:
+/* 8031A098 00315CF8 38 60 00 01 */ li r3, 1
+/* 8031A09C 00315CFC 4E 80 00 20 */ blr
+lbl_8031A0A0:
+/* 8031A0A0 00315D00 28 00 00 40 */ cmplwi r0, 0x40
+/* 8031A0A4 00315D04 38 60 00 00 */ li r3, 0
+/* 8031A0A8 00315D08 41 80 00 0C */ blt lbl_8031A0B4
+/* 8031A0AC 00315D0C 28 00 00 7E */ cmplwi r0, 0x7e
+/* 8031A0B0 00315D10 40 81 00 14 */ ble lbl_8031A0C4
+lbl_8031A0B4:
+/* 8031A0B4 00315D14 28 00 00 80 */ cmplwi r0, 0x80
+/* 8031A0B8 00315D18 4D 80 00 20 */ bltlr
+/* 8031A0BC 00315D1C 28 00 00 FC */ cmplwi r0, 0xfc
+/* 8031A0C0 00315D20 4D 81 00 20 */ bgtlr
+lbl_8031A0C4:
+/* 8031A0C4 00315D24 38 60 00 01 */ li r3, 1
+/* 8031A0C8 00315D28 4E 80 00 20 */ blr
+lbl_8031A0CC:
+/* 8031A0CC 00315D2C 38 60 00 00 */ li r3, 0
+/* 8031A0D0 00315D30 4E 80 00 20 */ blr
+
+.global VFiPFCODE_CP932_UnicodeCharWidth
+VFiPFCODE_CP932_UnicodeCharWidth:
+/* 8031A0D4 00315D34 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8031A0D8 00315D38 7C 08 02 A6 */ mflr r0
+/* 8031A0DC 00315D3C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8031A0E0 00315D40 38 81 00 0C */ addi r4, r1, 0xc
+/* 8031A0E4 00315D44 4B FF FC D9 */ bl VFiPFCODE_CP932_Unicode2OEM
+/* 8031A0E8 00315D48 38 81 00 0A */ addi r4, r1, 0xa
+/* 8031A0EC 00315D4C 38 A1 00 08 */ addi r5, r1, 8
+/* 8031A0F0 00315D50 4B FE B0 B1 */ bl VFiPFCODE_Divide_Width
+/* 8031A0F4 00315D54 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8031A0F8 00315D58 A8 61 00 08 */ lha r3, 8(r1)
+/* 8031A0FC 00315D5C 7C 08 03 A6 */ mtlr r0
+/* 8031A100 00315D60 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031A104 00315D64 4E 80 00 20 */ blr
+
+.global VFiPFCODE_CP932_isUnicodeMBchar
+VFiPFCODE_CP932_isUnicodeMBchar:
+/* 8031A108 00315D68 38 60 00 00 */ li r3, 0
+/* 8031A10C 00315D6C 4E 80 00 20 */ blr
diff --git a/asm/SDK/VF/pf_volume.s b/asm/SDK/VF/pf_volume.s index 7079192..7ddacbf 100644 --- a/asm/SDK/VF/pf_volume.s +++ b/asm/SDK/VF/pf_volume.s @@ -179,20 +179,20 @@ lbl_803192B0: /* 803192B8 00314F18 90 06 00 14 */ stw r0, 0x14(r6)
lbl_803192BC:
/* 803192BC 00314F1C 3D 60 80 58 */ lis r11, lbl_8057F5C8@ha
-/* 803192C0 00314F20 3D 20 80 32 */ lis r9, func_80319C00@ha
+/* 803192C0 00314F20 3D 20 80 32 */ lis r9, VFiPFCODE_CP932_OEM2Unicode@ha
/* 803192C4 00314F24 39 6B F5 C8 */ addi r11, r11, lbl_8057F5C8@l
/* 803192C8 00314F28 39 40 00 00 */ li r10, 0
-/* 803192CC 00314F2C 3D 00 80 32 */ lis r8, func_80319DBC@ha
-/* 803192D0 00314F30 3C E0 80 32 */ lis r7, lbl_8031A024@ha
-/* 803192D4 00314F34 3C C0 80 32 */ lis r6, lbl_8031A058@ha
-/* 803192D8 00314F38 3C A0 80 32 */ lis r5, lbl_8031A0D4@ha
-/* 803192DC 00314F3C 3C 60 80 32 */ lis r3, lbl_8031A108@ha
-/* 803192E0 00314F40 39 29 9C 00 */ addi r9, r9, func_80319C00@l
-/* 803192E4 00314F44 39 08 9D BC */ addi r8, r8, func_80319DBC@l
-/* 803192E8 00314F48 38 E7 A0 24 */ addi r7, r7, lbl_8031A024@l
-/* 803192EC 00314F4C 38 C6 A0 58 */ addi r6, r6, lbl_8031A058@l
-/* 803192F0 00314F50 38 A5 A0 D4 */ addi r5, r5, lbl_8031A0D4@l
-/* 803192F4 00314F54 38 63 A1 08 */ addi r3, r3, lbl_8031A108@l
+/* 803192CC 00314F2C 3D 00 80 32 */ lis r8, VFiPFCODE_CP932_Unicode2OEM@ha
+/* 803192D0 00314F30 3C E0 80 32 */ lis r7, VFiPFCODE_CP932_OEMCharWidth@ha
+/* 803192D4 00314F34 3C C0 80 32 */ lis r6, VFiPFCODE_CP932_isOEMMBchar@ha
+/* 803192D8 00314F38 3C A0 80 32 */ lis r5, VFiPFCODE_CP932_UnicodeCharWidth@ha
+/* 803192DC 00314F3C 3C 60 80 32 */ lis r3, VFiPFCODE_CP932_isUnicodeMBchar@ha
+/* 803192E0 00314F40 39 29 9C 00 */ addi r9, r9, VFiPFCODE_CP932_OEM2Unicode@l
+/* 803192E4 00314F44 39 08 9D BC */ addi r8, r8, VFiPFCODE_CP932_Unicode2OEM@l
+/* 803192E8 00314F48 38 E7 A0 24 */ addi r7, r7, VFiPFCODE_CP932_OEMCharWidth@l
+/* 803192EC 00314F4C 38 C6 A0 58 */ addi r6, r6, VFiPFCODE_CP932_isOEMMBchar@l
+/* 803192F0 00314F50 38 A5 A0 D4 */ addi r5, r5, VFiPFCODE_CP932_UnicodeCharWidth@l
+/* 803192F4 00314F54 38 63 A1 08 */ addi r3, r3, VFiPFCODE_CP932_isUnicodeMBchar@l
/* 803192F8 00314F58 38 00 00 01 */ li r0, 1
/* 803192FC 00314F5C 90 8B 00 18 */ stw r4, 0x18(r11)
/* 80319300 00314F60 3B EB 00 48 */ addi r31, r11, 0x48
diff --git a/asm/text_9_2.s b/asm/text_9_2.s index 2e3dfef..34adab6 100644 --- a/asm/text_9_2.s +++ b/asm/text_9_2.s @@ -2,503 +2,13 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global func_80319C00 -func_80319C00: -/* 80319C00 00315860 88 A3 00 00 */ lbz r5, 0(r3) -/* 80319C04 00315864 88 63 00 01 */ lbz r3, 1(r3) -/* 80319C08 00315868 28 05 00 80 */ cmplwi r5, 0x80 -/* 80319C0C 0031586C 40 80 00 14 */ bge lbl_80319C20 -/* 80319C10 00315870 B0 A4 00 00 */ sth r5, 0(r4) -/* 80319C14 00315874 38 60 00 01 */ li r3, 1 -/* 80319C18 00315878 38 80 00 02 */ li r4, 2 -/* 80319C1C 0031587C 4B FE B5 78 */ b VFiPFCODE_Combine_Width -lbl_80319C20: -/* 80319C20 00315880 28 05 00 A1 */ cmplwi r5, 0xa1 -/* 80319C24 00315884 41 80 00 24 */ blt lbl_80319C48 -/* 80319C28 00315888 28 05 00 DF */ cmplwi r5, 0xdf -/* 80319C2C 0031588C 41 81 00 1C */ bgt lbl_80319C48 -/* 80319C30 00315890 3C 65 00 01 */ addis r3, r5, 1 -/* 80319C34 00315894 38 03 FE C0 */ addi r0, r3, -320 -/* 80319C38 00315898 B0 04 00 00 */ sth r0, 0(r4) -/* 80319C3C 0031589C 38 60 00 01 */ li r3, 1 -/* 80319C40 003158A0 38 80 00 02 */ li r4, 2 -/* 80319C44 003158A4 4B FE B5 50 */ b VFiPFCODE_Combine_Width -lbl_80319C48: -/* 80319C48 003158A8 28 05 00 80 */ cmplwi r5, 0x80 -/* 80319C4C 003158AC 41 82 00 4C */ beq lbl_80319C98 -/* 80319C50 003158B0 28 05 00 85 */ cmplwi r5, 0x85 -/* 80319C54 003158B4 41 82 00 44 */ beq lbl_80319C98 -/* 80319C58 003158B8 28 05 00 86 */ cmplwi r5, 0x86 -/* 80319C5C 003158BC 41 82 00 3C */ beq lbl_80319C98 -/* 80319C60 003158C0 28 05 00 A0 */ cmplwi r5, 0xa0 -/* 80319C64 003158C4 41 82 00 34 */ beq lbl_80319C98 -/* 80319C68 003158C8 28 05 00 EB */ cmplwi r5, 0xeb -/* 80319C6C 003158CC 41 82 00 2C */ beq lbl_80319C98 -/* 80319C70 003158D0 28 05 00 EC */ cmplwi r5, 0xec -/* 80319C74 003158D4 41 82 00 24 */ beq lbl_80319C98 -/* 80319C78 003158D8 28 05 00 EF */ cmplwi r5, 0xef -/* 80319C7C 003158DC 41 80 00 0C */ blt lbl_80319C88 -/* 80319C80 003158E0 28 05 00 F9 */ cmplwi r5, 0xf9 -/* 80319C84 003158E4 40 81 00 14 */ ble lbl_80319C98 -lbl_80319C88: -/* 80319C88 003158E8 28 05 00 FD */ cmplwi r5, 0xfd -/* 80319C8C 003158EC 41 80 00 20 */ blt lbl_80319CAC -/* 80319C90 003158F0 28 05 00 FF */ cmplwi r5, 0xff -/* 80319C94 003158F4 40 82 00 18 */ bne lbl_80319CAC -lbl_80319C98: -/* 80319C98 003158F8 38 00 00 5F */ li r0, 0x5f -/* 80319C9C 003158FC 38 60 00 01 */ li r3, 1 -/* 80319CA0 00315900 B0 04 00 00 */ sth r0, 0(r4) -/* 80319CA4 00315904 38 80 00 02 */ li r4, 2 -/* 80319CA8 00315908 4B FE B4 EC */ b VFiPFCODE_Combine_Width -lbl_80319CAC: -/* 80319CAC 0031590C 28 03 00 FD */ cmplwi r3, 0xfd -/* 80319CB0 00315910 41 80 00 18 */ blt lbl_80319CC8 -/* 80319CB4 00315914 38 00 00 5F */ li r0, 0x5f -/* 80319CB8 00315918 38 60 00 01 */ li r3, 1 -/* 80319CBC 0031591C B0 04 00 00 */ sth r0, 0(r4) -/* 80319CC0 00315920 38 80 00 02 */ li r4, 2 -/* 80319CC4 00315924 4B FE B4 D0 */ b VFiPFCODE_Combine_Width -lbl_80319CC8: -/* 80319CC8 00315928 28 05 00 81 */ cmplwi r5, 0x81 -/* 80319CCC 0031592C 41 80 00 14 */ blt lbl_80319CE0 -/* 80319CD0 00315930 28 05 00 84 */ cmplwi r5, 0x84 -/* 80319CD4 00315934 41 81 00 0C */ bgt lbl_80319CE0 -/* 80319CD8 00315938 38 05 FF 7F */ addi r0, r5, -129 -/* 80319CDC 0031593C 48 00 00 78 */ b lbl_80319D54 -lbl_80319CE0: -/* 80319CE0 00315940 28 05 00 87 */ cmplwi r5, 0x87 -/* 80319CE4 00315944 41 80 00 14 */ blt lbl_80319CF8 -/* 80319CE8 00315948 28 05 00 9F */ cmplwi r5, 0x9f -/* 80319CEC 0031594C 41 81 00 0C */ bgt lbl_80319CF8 -/* 80319CF0 00315950 38 05 FF 7D */ addi r0, r5, -131 -/* 80319CF4 00315954 48 00 00 60 */ b lbl_80319D54 -lbl_80319CF8: -/* 80319CF8 00315958 28 05 00 E0 */ cmplwi r5, 0xe0 -/* 80319CFC 0031595C 41 80 00 14 */ blt lbl_80319D10 -/* 80319D00 00315960 28 05 00 EA */ cmplwi r5, 0xea -/* 80319D04 00315964 41 81 00 0C */ bgt lbl_80319D10 -/* 80319D08 00315968 38 05 FF 3D */ addi r0, r5, -195 -/* 80319D0C 0031596C 48 00 00 48 */ b lbl_80319D54 -lbl_80319D10: -/* 80319D10 00315970 28 05 00 ED */ cmplwi r5, 0xed -/* 80319D14 00315974 41 80 00 14 */ blt lbl_80319D28 -/* 80319D18 00315978 28 05 00 EE */ cmplwi r5, 0xee -/* 80319D1C 0031597C 41 81 00 0C */ bgt lbl_80319D28 -/* 80319D20 00315980 38 05 FF 3B */ addi r0, r5, -197 -/* 80319D24 00315984 48 00 00 30 */ b lbl_80319D54 -lbl_80319D28: -/* 80319D28 00315988 28 05 00 FA */ cmplwi r5, 0xfa -/* 80319D2C 0031598C 41 80 00 14 */ blt lbl_80319D40 -/* 80319D30 00315990 28 05 00 FC */ cmplwi r5, 0xfc -/* 80319D34 00315994 41 81 00 0C */ bgt lbl_80319D40 -/* 80319D38 00315998 38 05 FF 30 */ addi r0, r5, -208 -/* 80319D3C 0031599C 48 00 00 18 */ b lbl_80319D54 -lbl_80319D40: -/* 80319D40 003159A0 38 00 00 5F */ li r0, 0x5f -/* 80319D44 003159A4 38 60 00 01 */ li r3, 1 -/* 80319D48 003159A8 B0 04 00 00 */ sth r0, 0(r4) -/* 80319D4C 003159AC 38 80 00 02 */ li r4, 2 -/* 80319D50 003159B0 4B FE B4 44 */ b VFiPFCODE_Combine_Width -lbl_80319D54: -/* 80319D54 003159B4 34 63 FF C0 */ addic. r3, r3, -64 -/* 80319D58 003159B8 41 80 00 0C */ blt lbl_80319D64 -/* 80319D5C 003159BC 2C 03 00 BD */ cmpwi r3, 0xbd -/* 80319D60 003159C0 41 80 00 18 */ blt lbl_80319D78 -lbl_80319D64: -/* 80319D64 003159C4 38 00 00 5F */ li r0, 0x5f -/* 80319D68 003159C8 38 60 00 01 */ li r3, 1 -/* 80319D6C 003159CC B0 04 00 00 */ sth r0, 0(r4) -/* 80319D70 003159D0 38 80 00 02 */ li r4, 2 -/* 80319D74 003159D4 4B FE B4 20 */ b VFiPFCODE_Combine_Width -lbl_80319D78: -/* 80319D78 003159D8 1C 00 01 7A */ mulli r0, r0, 0x17a -/* 80319D7C 003159DC 3C A0 80 40 */ lis r5, lbl_803FE2C0@ha -/* 80319D80 003159E0 54 63 08 3C */ slwi r3, r3, 1 -/* 80319D84 003159E4 38 A5 E2 C0 */ addi r5, r5, lbl_803FE2C0@l -/* 80319D88 003159E8 7C 05 02 14 */ add r0, r5, r0 -/* 80319D8C 003159EC 7C 03 02 2E */ lhzx r0, r3, r0 -/* 80319D90 003159F0 2C 00 00 00 */ cmpwi r0, 0 -/* 80319D94 003159F4 B0 04 00 00 */ sth r0, 0(r4) -/* 80319D98 003159F8 40 82 00 18 */ bne lbl_80319DB0 -/* 80319D9C 003159FC 38 00 00 5F */ li r0, 0x5f -/* 80319DA0 00315A00 38 60 00 01 */ li r3, 1 -/* 80319DA4 00315A04 B0 04 00 00 */ sth r0, 0(r4) -/* 80319DA8 00315A08 38 80 00 02 */ li r4, 2 -/* 80319DAC 00315A0C 4B FE B3 E8 */ b VFiPFCODE_Combine_Width -lbl_80319DB0: -/* 80319DB0 00315A10 38 60 00 02 */ li r3, 2 -/* 80319DB4 00315A14 38 80 00 02 */ li r4, 2 -/* 80319DB8 00315A18 4B FE B3 DC */ b VFiPFCODE_Combine_Width - -.global func_80319DBC -func_80319DBC: -/* 80319DBC 00315A1C A0 03 00 00 */ lhz r0, 0(r3) -/* 80319DC0 00315A20 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 80319DC4 00315A24 7C 03 46 70 */ srawi r3, r0, 8 -/* 80319DC8 00315A28 28 05 00 80 */ cmplwi r5, 0x80 -/* 80319DCC 00315A2C 40 80 00 24 */ bge lbl_80319DF0 -/* 80319DD0 00315A30 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80319DD4 00315A34 40 82 00 1C */ bne lbl_80319DF0 -/* 80319DD8 00315A38 38 00 00 00 */ li r0, 0 -/* 80319DDC 00315A3C 98 A4 00 00 */ stb r5, 0(r4) -/* 80319DE0 00315A40 38 60 00 01 */ li r3, 1 -/* 80319DE4 00315A44 98 04 00 01 */ stb r0, 1(r4) -/* 80319DE8 00315A48 38 80 00 02 */ li r4, 2 -/* 80319DEC 00315A4C 4B FE B3 A8 */ b VFiPFCODE_Combine_Width -lbl_80319DF0: -/* 80319DF0 00315A50 54 60 44 2E */ rlwinm r0, r3, 8, 0x10, 0x17 -/* 80319DF4 00315A54 7C 00 2A 14 */ add r0, r0, r5 -/* 80319DF8 00315A58 54 09 04 3E */ clrlwi r9, r0, 0x10 -/* 80319DFC 00315A5C 28 09 FF 61 */ cmplwi r9, 0xff61 -/* 80319E00 00315A60 41 80 00 2C */ blt lbl_80319E2C -/* 80319E04 00315A64 28 09 FF 9F */ cmplwi r9, 0xff9f -/* 80319E08 00315A68 41 81 00 24 */ bgt lbl_80319E2C -/* 80319E0C 00315A6C 3C 69 FF FF */ addis r3, r9, 0xffff -/* 80319E10 00315A70 38 00 00 00 */ li r0, 0 -/* 80319E14 00315A74 38 63 01 40 */ addi r3, r3, 0x140 -/* 80319E18 00315A78 98 04 00 01 */ stb r0, 1(r4) -/* 80319E1C 00315A7C 98 64 00 00 */ stb r3, 0(r4) -/* 80319E20 00315A80 38 60 00 01 */ li r3, 1 -/* 80319E24 00315A84 38 80 00 02 */ li r4, 2 -/* 80319E28 00315A88 4B FE B3 6C */ b VFiPFCODE_Combine_Width -lbl_80319E2C: -/* 80319E2C 00315A8C 28 09 00 5F */ cmplwi r9, 0x5f -/* 80319E30 00315A90 40 82 00 18 */ bne lbl_80319E48 -/* 80319E34 00315A94 38 00 00 5F */ li r0, 0x5f -/* 80319E38 00315A98 38 60 00 01 */ li r3, 1 -/* 80319E3C 00315A9C 98 04 00 00 */ stb r0, 0(r4) -/* 80319E40 00315AA0 38 80 00 02 */ li r4, 2 -/* 80319E44 00315AA4 4B FE B3 50 */ b VFiPFCODE_Combine_Width -lbl_80319E48: -/* 80319E48 00315AA8 3C A0 80 40 */ lis r5, lbl_803FE2C0@ha -/* 80319E4C 00315AAC 38 C0 00 00 */ li r6, 0 -/* 80319E50 00315AB0 38 A5 E2 C0 */ addi r5, r5, lbl_803FE2C0@l -/* 80319E54 00315AB4 38 00 00 15 */ li r0, 0x15 -lbl_80319E58: -/* 80319E58 00315AB8 7C A8 2B 78 */ mr r8, r5 -/* 80319E5C 00315ABC 38 E0 00 00 */ li r7, 0 -/* 80319E60 00315AC0 7C 09 03 A6 */ mtctr r0 -lbl_80319E64: -/* 80319E64 00315AC4 A0 68 00 00 */ lhz r3, 0(r8) -/* 80319E68 00315AC8 7C 03 48 40 */ cmplw r3, r9 -/* 80319E6C 00315ACC 41 82 00 90 */ beq lbl_80319EFC -/* 80319E70 00315AD0 A0 68 00 02 */ lhz r3, 2(r8) -/* 80319E74 00315AD4 38 E7 00 01 */ addi r7, r7, 1 -/* 80319E78 00315AD8 7C 03 48 40 */ cmplw r3, r9 -/* 80319E7C 00315ADC 41 82 00 80 */ beq lbl_80319EFC -/* 80319E80 00315AE0 A0 68 00 04 */ lhz r3, 4(r8) -/* 80319E84 00315AE4 38 E7 00 01 */ addi r7, r7, 1 -/* 80319E88 00315AE8 7C 03 48 40 */ cmplw r3, r9 -/* 80319E8C 00315AEC 41 82 00 70 */ beq lbl_80319EFC -/* 80319E90 00315AF0 A0 68 00 06 */ lhz r3, 6(r8) -/* 80319E94 00315AF4 38 E7 00 01 */ addi r7, r7, 1 -/* 80319E98 00315AF8 7C 03 48 40 */ cmplw r3, r9 -/* 80319E9C 00315AFC 41 82 00 60 */ beq lbl_80319EFC -/* 80319EA0 00315B00 A0 68 00 08 */ lhz r3, 8(r8) -/* 80319EA4 00315B04 38 E7 00 01 */ addi r7, r7, 1 -/* 80319EA8 00315B08 7C 03 48 40 */ cmplw r3, r9 -/* 80319EAC 00315B0C 41 82 00 50 */ beq lbl_80319EFC -/* 80319EB0 00315B10 A0 68 00 0A */ lhz r3, 0xa(r8) -/* 80319EB4 00315B14 38 E7 00 01 */ addi r7, r7, 1 -/* 80319EB8 00315B18 7C 03 48 40 */ cmplw r3, r9 -/* 80319EBC 00315B1C 41 82 00 40 */ beq lbl_80319EFC -/* 80319EC0 00315B20 A0 68 00 0C */ lhz r3, 0xc(r8) -/* 80319EC4 00315B24 38 E7 00 01 */ addi r7, r7, 1 -/* 80319EC8 00315B28 7C 03 48 40 */ cmplw r3, r9 -/* 80319ECC 00315B2C 41 82 00 30 */ beq lbl_80319EFC -/* 80319ED0 00315B30 A0 68 00 0E */ lhz r3, 0xe(r8) -/* 80319ED4 00315B34 38 E7 00 01 */ addi r7, r7, 1 -/* 80319ED8 00315B38 7C 03 48 40 */ cmplw r3, r9 -/* 80319EDC 00315B3C 41 82 00 20 */ beq lbl_80319EFC -/* 80319EE0 00315B40 A0 68 00 10 */ lhz r3, 0x10(r8) -/* 80319EE4 00315B44 38 E7 00 01 */ addi r7, r7, 1 -/* 80319EE8 00315B48 7C 03 48 40 */ cmplw r3, r9 -/* 80319EEC 00315B4C 41 82 00 10 */ beq lbl_80319EFC -/* 80319EF0 00315B50 38 E7 00 01 */ addi r7, r7, 1 -/* 80319EF4 00315B54 39 08 00 12 */ addi r8, r8, 0x12 -/* 80319EF8 00315B58 42 00 FF 6C */ bdnz lbl_80319E64 -lbl_80319EFC: -/* 80319EFC 00315B5C 2C 07 00 BD */ cmpwi r7, 0xbd -/* 80319F00 00315B60 41 80 00 14 */ blt lbl_80319F14 -/* 80319F04 00315B64 38 C6 00 01 */ addi r6, r6, 1 -/* 80319F08 00315B68 38 A5 01 7A */ addi r5, r5, 0x17a -/* 80319F0C 00315B6C 2C 06 00 2D */ cmpwi r6, 0x2d -/* 80319F10 00315B70 41 80 FF 48 */ blt lbl_80319E58 -lbl_80319F14: -/* 80319F14 00315B74 2C 07 00 BD */ cmpwi r7, 0xbd -/* 80319F18 00315B78 40 82 00 18 */ bne lbl_80319F30 -/* 80319F1C 00315B7C 38 00 00 5F */ li r0, 0x5f -/* 80319F20 00315B80 38 60 00 01 */ li r3, 1 -/* 80319F24 00315B84 98 04 00 00 */ stb r0, 0(r4) -/* 80319F28 00315B88 38 80 00 02 */ li r4, 2 -/* 80319F2C 00315B8C 4B FE B2 68 */ b VFiPFCODE_Combine_Width -lbl_80319F30: -/* 80319F30 00315B90 2C 06 00 00 */ cmpwi r6, 0 -/* 80319F34 00315B94 41 80 00 24 */ blt lbl_80319F58 -/* 80319F38 00315B98 2C 06 00 03 */ cmpwi r6, 3 -/* 80319F3C 00315B9C 41 81 00 1C */ bgt lbl_80319F58 -/* 80319F40 00315BA0 38 66 00 81 */ addi r3, r6, 0x81 -/* 80319F44 00315BA4 38 07 00 40 */ addi r0, r7, 0x40 -/* 80319F48 00315BA8 54 63 40 2E */ slwi r3, r3, 8 -/* 80319F4C 00315BAC 7C 60 03 78 */ or r0, r3, r0 -/* 80319F50 00315BB0 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 80319F54 00315BB4 48 00 00 B8 */ b lbl_8031A00C -lbl_80319F58: -/* 80319F58 00315BB8 2C 06 00 04 */ cmpwi r6, 4 -/* 80319F5C 00315BBC 41 80 00 24 */ blt lbl_80319F80 -/* 80319F60 00315BC0 2C 06 00 1C */ cmpwi r6, 0x1c -/* 80319F64 00315BC4 41 81 00 1C */ bgt lbl_80319F80 -/* 80319F68 00315BC8 38 66 00 83 */ addi r3, r6, 0x83 -/* 80319F6C 00315BCC 38 07 00 40 */ addi r0, r7, 0x40 -/* 80319F70 00315BD0 54 63 40 2E */ slwi r3, r3, 8 -/* 80319F74 00315BD4 7C 60 03 78 */ or r0, r3, r0 -/* 80319F78 00315BD8 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 80319F7C 00315BDC 48 00 00 90 */ b lbl_8031A00C -lbl_80319F80: -/* 80319F80 00315BE0 2C 06 00 1D */ cmpwi r6, 0x1d -/* 80319F84 00315BE4 41 80 00 24 */ blt lbl_80319FA8 -/* 80319F88 00315BE8 2C 06 00 27 */ cmpwi r6, 0x27 -/* 80319F8C 00315BEC 41 81 00 1C */ bgt lbl_80319FA8 -/* 80319F90 00315BF0 38 66 00 C3 */ addi r3, r6, 0xc3 -/* 80319F94 00315BF4 38 07 00 40 */ addi r0, r7, 0x40 -/* 80319F98 00315BF8 54 63 40 2E */ slwi r3, r3, 8 -/* 80319F9C 00315BFC 7C 60 03 78 */ or r0, r3, r0 -/* 80319FA0 00315C00 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 80319FA4 00315C04 48 00 00 68 */ b lbl_8031A00C -lbl_80319FA8: -/* 80319FA8 00315C08 2C 06 00 28 */ cmpwi r6, 0x28 -/* 80319FAC 00315C0C 41 80 00 24 */ blt lbl_80319FD0 -/* 80319FB0 00315C10 2C 06 00 29 */ cmpwi r6, 0x29 -/* 80319FB4 00315C14 41 81 00 1C */ bgt lbl_80319FD0 -/* 80319FB8 00315C18 38 66 00 C5 */ addi r3, r6, 0xc5 -/* 80319FBC 00315C1C 38 07 00 40 */ addi r0, r7, 0x40 -/* 80319FC0 00315C20 54 63 40 2E */ slwi r3, r3, 8 -/* 80319FC4 00315C24 7C 60 03 78 */ or r0, r3, r0 -/* 80319FC8 00315C28 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 80319FCC 00315C2C 48 00 00 40 */ b lbl_8031A00C -lbl_80319FD0: -/* 80319FD0 00315C30 2C 06 00 2A */ cmpwi r6, 0x2a -/* 80319FD4 00315C34 41 80 00 24 */ blt lbl_80319FF8 -/* 80319FD8 00315C38 2C 06 00 2C */ cmpwi r6, 0x2c -/* 80319FDC 00315C3C 41 81 00 1C */ bgt lbl_80319FF8 -/* 80319FE0 00315C40 38 66 00 D0 */ addi r3, r6, 0xd0 -/* 80319FE4 00315C44 38 07 00 40 */ addi r0, r7, 0x40 -/* 80319FE8 00315C48 54 63 40 2E */ slwi r3, r3, 8 -/* 80319FEC 00315C4C 7C 60 03 78 */ or r0, r3, r0 -/* 80319FF0 00315C50 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 80319FF4 00315C54 48 00 00 18 */ b lbl_8031A00C -lbl_80319FF8: -/* 80319FF8 00315C58 38 00 00 5F */ li r0, 0x5f -/* 80319FFC 00315C5C 38 60 00 01 */ li r3, 1 -/* 8031A000 00315C60 98 04 00 00 */ stb r0, 0(r4) -/* 8031A004 00315C64 38 80 00 02 */ li r4, 2 -/* 8031A008 00315C68 4B FE B1 8C */ b VFiPFCODE_Combine_Width -lbl_8031A00C: -/* 8031A00C 00315C6C 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f -/* 8031A010 00315C70 98 64 00 01 */ stb r3, 1(r4) -/* 8031A014 00315C74 38 60 00 02 */ li r3, 2 -/* 8031A018 00315C78 98 04 00 00 */ stb r0, 0(r4) -/* 8031A01C 00315C7C 38 80 00 02 */ li r4, 2 -/* 8031A020 00315C80 4B FE B1 74 */ b VFiPFCODE_Combine_Width - -.global lbl_8031A024 -lbl_8031A024: -/* 8031A024 00315C84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8031A028 00315C88 7C 08 02 A6 */ mflr r0 -/* 8031A02C 00315C8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8031A030 00315C90 38 81 00 0C */ addi r4, r1, 0xc -/* 8031A034 00315C94 4B FF FB CD */ bl func_80319C00 -/* 8031A038 00315C98 38 81 00 0A */ addi r4, r1, 0xa -/* 8031A03C 00315C9C 38 A1 00 08 */ addi r5, r1, 8 -/* 8031A040 00315CA0 4B FE B1 61 */ bl VFiPFCODE_Divide_Width -/* 8031A044 00315CA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8031A048 00315CA8 A8 61 00 0A */ lha r3, 0xa(r1) -/* 8031A04C 00315CAC 7C 08 03 A6 */ mtlr r0 -/* 8031A050 00315CB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8031A054 00315CB4 4E 80 00 20 */ blr - -.global lbl_8031A058 -lbl_8031A058: -/* 8031A058 00315CB8 2C 04 00 02 */ cmpwi r4, 2 -/* 8031A05C 00315CBC 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8031A060 00315CC0 41 82 00 40 */ beq lbl_8031A0A0 -/* 8031A064 00315CC4 40 80 00 68 */ bge lbl_8031A0CC -/* 8031A068 00315CC8 2C 04 00 01 */ cmpwi r4, 1 -/* 8031A06C 00315CCC 40 80 00 08 */ bge lbl_8031A074 -/* 8031A070 00315CD0 48 00 00 5C */ b lbl_8031A0CC -lbl_8031A074: -/* 8031A074 00315CD4 28 00 00 81 */ cmplwi r0, 0x81 -/* 8031A078 00315CD8 38 60 00 00 */ li r3, 0 -/* 8031A07C 00315CDC 41 80 00 0C */ blt lbl_8031A088 -/* 8031A080 00315CE0 28 00 00 9F */ cmplwi r0, 0x9f -/* 8031A084 00315CE4 40 81 00 14 */ ble lbl_8031A098 -lbl_8031A088: -/* 8031A088 00315CE8 28 00 00 E0 */ cmplwi r0, 0xe0 -/* 8031A08C 00315CEC 4D 80 00 20 */ bltlr -/* 8031A090 00315CF0 28 00 00 FC */ cmplwi r0, 0xfc -/* 8031A094 00315CF4 4D 81 00 20 */ bgtlr -lbl_8031A098: -/* 8031A098 00315CF8 38 60 00 01 */ li r3, 1 -/* 8031A09C 00315CFC 4E 80 00 20 */ blr -lbl_8031A0A0: -/* 8031A0A0 00315D00 28 00 00 40 */ cmplwi r0, 0x40 -/* 8031A0A4 00315D04 38 60 00 00 */ li r3, 0 -/* 8031A0A8 00315D08 41 80 00 0C */ blt lbl_8031A0B4 -/* 8031A0AC 00315D0C 28 00 00 7E */ cmplwi r0, 0x7e -/* 8031A0B0 00315D10 40 81 00 14 */ ble lbl_8031A0C4 -lbl_8031A0B4: -/* 8031A0B4 00315D14 28 00 00 80 */ cmplwi r0, 0x80 -/* 8031A0B8 00315D18 4D 80 00 20 */ bltlr -/* 8031A0BC 00315D1C 28 00 00 FC */ cmplwi r0, 0xfc -/* 8031A0C0 00315D20 4D 81 00 20 */ bgtlr -lbl_8031A0C4: -/* 8031A0C4 00315D24 38 60 00 01 */ li r3, 1 -/* 8031A0C8 00315D28 4E 80 00 20 */ blr -lbl_8031A0CC: -/* 8031A0CC 00315D2C 38 60 00 00 */ li r3, 0 -/* 8031A0D0 00315D30 4E 80 00 20 */ blr - -.global lbl_8031A0D4 -lbl_8031A0D4: -/* 8031A0D4 00315D34 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8031A0D8 00315D38 7C 08 02 A6 */ mflr r0 -/* 8031A0DC 00315D3C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8031A0E0 00315D40 38 81 00 0C */ addi r4, r1, 0xc -/* 8031A0E4 00315D44 4B FF FC D9 */ bl func_80319DBC -/* 8031A0E8 00315D48 38 81 00 0A */ addi r4, r1, 0xa -/* 8031A0EC 00315D4C 38 A1 00 08 */ addi r5, r1, 8 -/* 8031A0F0 00315D50 4B FE B0 B1 */ bl VFiPFCODE_Divide_Width -/* 8031A0F4 00315D54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8031A0F8 00315D58 A8 61 00 08 */ lha r3, 8(r1) -/* 8031A0FC 00315D5C 7C 08 03 A6 */ mtlr r0 -/* 8031A100 00315D60 38 21 00 10 */ addi r1, r1, 0x10 -/* 8031A104 00315D64 4E 80 00 20 */ blr - -.global lbl_8031A108 -lbl_8031A108: -/* 8031A108 00315D68 38 60 00 00 */ li r3, 0 -/* 8031A10C 00315D6C 4E 80 00 20 */ blr - -.global func_8031A110 -func_8031A110: -/* 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 func_8031A1E0 -func_8031A1E0: -/* 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 func_8031A230 -func_8031A230: -/* 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 func_8031A240 -func_8031A240: -/* 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 - .global func_8031A258 func_8031A258: /* 8031A258 00315EB8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8031A25C 00315EBC 7C 08 02 A6 */ mflr r0 /* 8031A260 00315EC0 90 01 00 14 */ stw r0, 0x14(r1) /* 8031A264 00315EC4 4B FF F9 8D */ bl VFiPFVOL_errnum -/* 8031A268 00315EC8 4B FF FF 79 */ bl func_8031A1E0 +/* 8031A268 00315EC8 4B FF FF 79 */ bl VFiPFAPI_convertError /* 8031A26C 00315ECC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031A270 00315ED0 7C 08 03 A6 */ mtlr r0 /* 8031A274 00315ED4 38 21 00 10 */ addi r1, r1, 0x10 @@ -510,7 +20,7 @@ func_8031A27C: /* 8031A280 00315EE0 7C 08 02 A6 */ mflr r0 /* 8031A284 00315EE4 90 01 00 14 */ stw r0, 0x14(r1) /* 8031A288 00315EE8 4B FF AC 31 */ bl VFiPFFILE_fclose -/* 8031A28C 00315EEC 4B FF FF A5 */ bl func_8031A230 +/* 8031A28C 00315EEC 4B FF FF A5 */ bl VFiPFAPI_convertReturnValue /* 8031A290 00315EF0 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031A294 00315EF4 7C 08 03 A6 */ mtlr r0 /* 8031A298 00315EF8 38 21 00 10 */ addi r1, r1, 0x10 @@ -522,7 +32,7 @@ func_8031A2A0: /* 8031A2A4 00315F04 7C 08 02 A6 */ mflr r0 /* 8031A2A8 00315F08 90 01 00 14 */ stw r0, 0x14(r1) /* 8031A2AC 00315F0C 4B FF B7 4D */ bl VFiPFFILE_finfo -/* 8031A2B0 00315F10 4B FF FF 81 */ bl func_8031A230 +/* 8031A2B0 00315F10 4B FF FF 81 */ bl VFiPFAPI_convertReturnValue /* 8031A2B4 00315F14 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031A2B8 00315F18 7C 08 03 A6 */ mtlr r0 /* 8031A2BC 00315F1C 38 21 00 10 */ addi r1, r1, 0x10 @@ -537,7 +47,7 @@ func_8031A2C4: /* 8031A2D4 00315F34 93 C1 00 28 */ stw r30, 0x28(r1) /* 8031A2D8 00315F38 7C 7E 1B 78 */ mr r30, r3 /* 8031A2DC 00315F3C 7C 83 23 78 */ mr r3, r4 -/* 8031A2E0 00315F40 4B FF FE 31 */ bl func_8031A110 +/* 8031A2E0 00315F40 4B FF FE 31 */ bl VFiPFAPI_ParseOpenModeString /* 8031A2E4 00315F44 2C 03 00 00 */ cmpwi r3, 0 /* 8031A2E8 00315F48 7C 7F 1B 78 */ mr r31, r3 /* 8031A2EC 00315F4C 40 82 00 1C */ bne lbl_8031A308 @@ -565,7 +75,7 @@ lbl_8031A334: /* 8031A33C 00315F9C 90 64 00 1C */ stw r3, 0x1c(r4) lbl_8031A340: /* 8031A340 00315FA0 80 81 00 08 */ lwz r4, 8(r1) -/* 8031A344 00315FA4 4B FF FE FD */ bl func_8031A240 +/* 8031A344 00315FA4 4B FF FE FD */ bl VFiPFAPI_convertReturnValue2NULL lbl_8031A348: /* 8031A348 00315FA8 80 01 00 34 */ lwz r0, 0x34(r1) /* 8031A34C 00315FAC 83 E1 00 2C */ lwz r31, 0x2c(r1) @@ -593,7 +103,7 @@ func_8031A388: /* 8031A38C 00315FEC 7C 08 02 A6 */ mflr r0 /* 8031A390 00315FF0 90 01 00 14 */ stw r0, 0x14(r1) /* 8031A394 00315FF4 4B FF B2 F1 */ bl VFiPFFILE_fseek -/* 8031A398 00315FF8 4B FF FE 99 */ bl func_8031A230 +/* 8031A398 00315FF8 4B FF FE 99 */ bl VFiPFAPI_convertReturnValue /* 8031A39C 00315FFC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031A3A0 00316000 7C 08 03 A6 */ mtlr r0 /* 8031A3A4 00316004 38 21 00 10 */ addi r1, r1, 0x10 @@ -625,7 +135,7 @@ func_8031A3D4: /* 8031A3F4 00316054 48 00 00 35 */ bl func_8031A428 lbl_8031A3F8: /* 8031A3F8 00316058 7F E3 FB 78 */ mr r3, r31 -/* 8031A3FC 0031605C 4B FF FE 35 */ bl func_8031A230 +/* 8031A3FC 0031605C 4B FF FE 35 */ bl VFiPFAPI_convertReturnValue /* 8031A400 00316060 80 01 00 14 */ lwz r0, 0x14(r1) /* 8031A404 00316064 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8031A408 00316068 7C 08 03 A6 */ mtlr r0 diff --git a/obj_files.mk b/obj_files.mk index f248efa..6b305b8 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -374,6 +374,8 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/SDK/VF/pf_path.o \ $(BUILD_DIR)/asm/SDK/VF/pf_sector.o \ $(BUILD_DIR)/asm/SDK/VF/pf_volume.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_cp932.o \ + $(BUILD_DIR)/asm/SDK/VF/pf_api_util.o \ $(BUILD_DIR)/asm/text_9_2.o \ $(BUILD_DIR)/asm/text_10.o \ $(BUILD_DIR)/src/GameSpy/darray.o \ |