Decompile osPfsFindFile
This commit is contained in:
parent
3ebd27be82
commit
584d5c6a53
|
|
@ -163,7 +163,7 @@
|
|||
build/ROMID/lib/ultra/io/conteepwrite.o (section); \
|
||||
build/ROMID/lib/ultra/io/controller.o (section); \
|
||||
build/ROMID/lib/ultra/io/contpfs.o (section); \
|
||||
build/ROMID/lib/lib_4cc10.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsfindfile.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsselectbank.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsfreeblocks.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsallocatefile.o (section); \
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@
|
|||
build/ROMID/lib/ultra/io/pfsgetstatus.o (section); \
|
||||
build/ROMID/lib/ultra/io/conteepwrite.o (section); \
|
||||
build/ROMID/lib/ultra/io/contpfs.o (section); \
|
||||
build/ROMID/lib/lib_4cc10.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsfindfile.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsselectbank.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsfreeblocks.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsallocatefile.o (section); \
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@
|
|||
build/ROMID/lib/ultra/io/pfsgetstatus.o (section); \
|
||||
build/ROMID/lib/ultra/io/conteepwrite.o (section); \
|
||||
build/ROMID/lib/ultra/io/contpfs.o (section); \
|
||||
build/ROMID/lib/lib_4cc10.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsfindfile.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsselectbank.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsfreeblocks.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsallocatefile.o (section); \
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
#include "lib/main.h"
|
||||
#include "lib/memory.h"
|
||||
#include "lib/rng.h"
|
||||
#include "lib/lib_4cc10.h"
|
||||
#include "lib/lib_4d480.h"
|
||||
#include "lib/lib_4e090.h"
|
||||
#include "lib/lib_4f5e0.h"
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@ typedef struct {
|
|||
|
||||
extern s32 osPfsIsPlug(OSMesgQueue *, u8 *);
|
||||
s32 osPfsAllocateFile(OSPfs *pfs, u16 company_code, u32 game_code, char *game_name, char *ext_name, s32 num_bytes, s32 *file_no);
|
||||
s32 osPfsFindFile(OSPfs *pfs, u16 company_code, u32 game_code, char *game_name, char *ext_name, s32 *file_no);
|
||||
|
||||
#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
#ifndef _IN_LIB_LIB_4CC10_H
|
||||
#define _IN_LIB_LIB_4CC10_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
s32 osPfsFindFile(OSPfs *pfs, u16 company_code, u32 game_code, char *game_name, char *ext_name, s32 *file_no);
|
||||
|
||||
#endif
|
||||
|
|
@ -4,7 +4,6 @@
|
|||
#include "bss.h"
|
||||
#include "lib/lib_06550.h"
|
||||
#include "lib/lib_4b170.h"
|
||||
#include "lib/lib_4cc10.h"
|
||||
#include "lib/lib_4d480.h"
|
||||
#include "lib/lib_4e090.h"
|
||||
#include "data.h"
|
||||
|
|
|
|||
|
|
@ -1,138 +0,0 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel osPfsFindFile
|
||||
/* 4cc10: 27bdff88 */ addiu $sp,$sp,-120
|
||||
/* 4cc14: afbf003c */ sw $ra,0x3c($sp)
|
||||
/* 4cc18: afbe0038 */ sw $s8,0x38($sp)
|
||||
/* 4cc1c: afb70034 */ sw $s7,0x34($sp)
|
||||
/* 4cc20: afb60030 */ sw $s6,0x30($sp)
|
||||
/* 4cc24: afb5002c */ sw $s5,0x2c($sp)
|
||||
/* 4cc28: afb40028 */ sw $s4,0x28($sp)
|
||||
/* 4cc2c: afb30024 */ sw $s3,0x24($sp)
|
||||
/* 4cc30: afb20020 */ sw $s2,0x20($sp)
|
||||
/* 4cc34: afb1001c */ sw $s1,0x1c($sp)
|
||||
/* 4cc38: afb00018 */ sw $s0,0x18($sp)
|
||||
/* 4cc3c: afa5007c */ sw $a1,0x7c($sp)
|
||||
/* 4cc40: 8c8e0000 */ lw $t6,0x0($a0)
|
||||
/* 4cc44: 00809025 */ or $s2,$a0,$zero
|
||||
/* 4cc48: 00e0a825 */ or $s5,$a3,$zero
|
||||
/* 4cc4c: 31cf0001 */ andi $t7,$t6,0x1
|
||||
/* 4cc50: 30b7ffff */ andi $s7,$a1,0xffff
|
||||
/* 4cc54: 15e00003 */ bnez $t7,.L0004cc64
|
||||
/* 4cc58: 00c0f025 */ or $s8,$a2,$zero
|
||||
/* 4cc5c: 10000051 */ b .L0004cda4
|
||||
/* 4cc60: 24020005 */ addiu $v0,$zero,0x5
|
||||
.L0004cc64:
|
||||
/* 4cc64: 0c013218 */ jal __osCheckId
|
||||
/* 4cc68: 02402025 */ or $a0,$s2,$zero
|
||||
/* 4cc6c: 50400004 */ beqzl $v0,.L0004cc80
|
||||
/* 4cc70: 8e580050 */ lw $t8,0x50($s2)
|
||||
/* 4cc74: 1000004c */ b .L0004cda8
|
||||
/* 4cc78: 8fbf003c */ lw $ra,0x3c($sp)
|
||||
/* 4cc7c: 8e580050 */ lw $t8,0x50($s2)
|
||||
.L0004cc80:
|
||||
/* 4cc80: 00009825 */ or $s3,$zero,$zero
|
||||
/* 4cc84: 27b60050 */ addiu $s6,$sp,0x50
|
||||
/* 4cc88: 1b000042 */ blez $t8,.L0004cd94
|
||||
/* 4cc8c: 8fb40088 */ lw $s4,0x88($sp)
|
||||
/* 4cc90: 27b10060 */ addiu $s1,$sp,0x60
|
||||
/* 4cc94: 27b00054 */ addiu $s0,$sp,0x54
|
||||
/* 4cc98: 8e59005c */ lw $t9,0x5c($s2)
|
||||
.L0004cc9c:
|
||||
/* 4cc9c: 8e440004 */ lw $a0,0x4($s2)
|
||||
/* 4cca0: 8e450008 */ lw $a1,0x8($s2)
|
||||
/* 4cca4: 03333021 */ addu $a2,$t9,$s3
|
||||
/* 4cca8: 30c8ffff */ andi $t0,$a2,0xffff
|
||||
/* 4ccac: 01003025 */ or $a2,$t0,$zero
|
||||
/* 4ccb0: 0c012e18 */ jal __osContRamRead
|
||||
/* 4ccb4: 02c03825 */ or $a3,$s6,$zero
|
||||
/* 4ccb8: 50400004 */ beqzl $v0,.L0004cccc
|
||||
/* 4ccbc: 8e440004 */ lw $a0,0x4($s2)
|
||||
/* 4ccc0: 10000039 */ b .L0004cda8
|
||||
/* 4ccc4: 8fbf003c */ lw $ra,0x3c($sp)
|
||||
/* 4ccc8: 8e440004 */ lw $a0,0x4($s2)
|
||||
.L0004cccc:
|
||||
/* 4cccc: 0c012ea4 */ jal __osPfsGetStatus
|
||||
/* 4ccd0: 8e450008 */ lw $a1,0x8($s2)
|
||||
/* 4ccd4: 10400003 */ beqz $v0,.L0004cce4
|
||||
/* 4ccd8: 00403025 */ or $a2,$v0,$zero
|
||||
/* 4ccdc: 10000032 */ b .L0004cda8
|
||||
/* 4cce0: 8fbf003c */ lw $ra,0x3c($sp)
|
||||
.L0004cce4:
|
||||
/* 4cce4: 97a90054 */ lhu $t1,0x54($sp)
|
||||
/* 4cce8: 8faa0050 */ lw $t2,0x50($sp)
|
||||
/* 4ccec: 56e90025 */ bnel $s7,$t1,.L0004cd84
|
||||
/* 4ccf0: 8e580050 */ lw $t8,0x50($s2)
|
||||
/* 4ccf4: 555e0023 */ bnel $t2,$s8,.L0004cd84
|
||||
/* 4ccf8: 8e580050 */ lw $t8,0x50($s2)
|
||||
/* 4ccfc: 12a0000c */ beqz $s5,.L0004cd30
|
||||
/* 4cd00: 00002025 */ or $a0,$zero,$zero
|
||||
/* 4cd04: 27a20050 */ addiu $v0,$sp,0x50
|
||||
/* 4cd08: 02a01825 */ or $v1,$s5,$zero
|
||||
.L0004cd0c:
|
||||
/* 4cd0c: 904b0010 */ lbu $t3,0x10($v0)
|
||||
/* 4cd10: 906c0000 */ lbu $t4,0x0($v1)
|
||||
/* 4cd14: 24420001 */ addiu $v0,$v0,0x1
|
||||
/* 4cd18: 116c0003 */ beq $t3,$t4,.L0004cd28
|
||||
/* 4cd1c: 00000000 */ nop
|
||||
/* 4cd20: 10000003 */ b .L0004cd30
|
||||
/* 4cd24: 24040001 */ addiu $a0,$zero,0x1
|
||||
.L0004cd28:
|
||||
/* 4cd28: 1451fff8 */ bne $v0,$s1,.L0004cd0c
|
||||
/* 4cd2c: 24630001 */ addiu $v1,$v1,0x1
|
||||
.L0004cd30:
|
||||
/* 4cd30: 1280000d */ beqz $s4,.L0004cd68
|
||||
/* 4cd34: 00000000 */ nop
|
||||
/* 4cd38: 1480000b */ bnez $a0,.L0004cd68
|
||||
/* 4cd3c: 27a20050 */ addiu $v0,$sp,0x50
|
||||
/* 4cd40: 02801825 */ or $v1,$s4,$zero
|
||||
.L0004cd44:
|
||||
/* 4cd44: 904d000c */ lbu $t5,0xc($v0)
|
||||
/* 4cd48: 906e0000 */ lbu $t6,0x0($v1)
|
||||
/* 4cd4c: 24420001 */ addiu $v0,$v0,0x1
|
||||
/* 4cd50: 11ae0003 */ beq $t5,$t6,.L0004cd60
|
||||
/* 4cd54: 00000000 */ nop
|
||||
/* 4cd58: 10000003 */ b .L0004cd68
|
||||
/* 4cd5c: 24040001 */ addiu $a0,$zero,0x1
|
||||
.L0004cd60:
|
||||
/* 4cd60: 1450fff8 */ bne $v0,$s0,.L0004cd44
|
||||
/* 4cd64: 24630001 */ addiu $v1,$v1,0x1
|
||||
.L0004cd68:
|
||||
/* 4cd68: 54800006 */ bnezl $a0,.L0004cd84
|
||||
/* 4cd6c: 8e580050 */ lw $t8,0x50($s2)
|
||||
/* 4cd70: 8faf008c */ lw $t7,0x8c($sp)
|
||||
/* 4cd74: 00c01025 */ or $v0,$a2,$zero
|
||||
/* 4cd78: 1000000a */ b .L0004cda4
|
||||
/* 4cd7c: adf30000 */ sw $s3,0x0($t7)
|
||||
/* 4cd80: 8e580050 */ lw $t8,0x50($s2)
|
||||
.L0004cd84:
|
||||
/* 4cd84: 26730001 */ addiu $s3,$s3,0x1
|
||||
/* 4cd88: 0278082a */ slt $at,$s3,$t8
|
||||
/* 4cd8c: 5420ffc3 */ bnezl $at,.L0004cc9c
|
||||
/* 4cd90: 8e59005c */ lw $t9,0x5c($s2)
|
||||
.L0004cd94:
|
||||
/* 4cd94: 8fa8008c */ lw $t0,0x8c($sp)
|
||||
/* 4cd98: 2419ffff */ addiu $t9,$zero,-1
|
||||
/* 4cd9c: 24020005 */ addiu $v0,$zero,0x5
|
||||
/* 4cda0: ad190000 */ sw $t9,0x0($t0)
|
||||
.L0004cda4:
|
||||
/* 4cda4: 8fbf003c */ lw $ra,0x3c($sp)
|
||||
.L0004cda8:
|
||||
/* 4cda8: 8fb00018 */ lw $s0,0x18($sp)
|
||||
/* 4cdac: 8fb1001c */ lw $s1,0x1c($sp)
|
||||
/* 4cdb0: 8fb20020 */ lw $s2,0x20($sp)
|
||||
/* 4cdb4: 8fb30024 */ lw $s3,0x24($sp)
|
||||
/* 4cdb8: 8fb40028 */ lw $s4,0x28($sp)
|
||||
/* 4cdbc: 8fb5002c */ lw $s5,0x2c($sp)
|
||||
/* 4cdc0: 8fb60030 */ lw $s6,0x30($sp)
|
||||
/* 4cdc4: 8fb70034 */ lw $s7,0x34($sp)
|
||||
/* 4cdc8: 8fbe0038 */ lw $s8,0x38($sp)
|
||||
/* 4cdcc: 03e00008 */ jr $ra
|
||||
/* 4cdd0: 27bd0078 */ addiu $sp,$sp,0x78
|
||||
);
|
||||
|
|
@ -3,7 +3,6 @@
|
|||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/libc/ll.h"
|
||||
#include "lib/lib_4cc10.h"
|
||||
#include "lib/lib_4d480.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_4b170.h"
|
||||
#include "lib/lib_4cc10.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,196 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
//GLOBAL_ASM(
|
||||
//glabel osPfsFindFile
|
||||
///* 4cc10: 27bdff88 */ addiu $sp,$sp,-120
|
||||
///* 4cc14: afbf003c */ sw $ra,0x3c($sp)
|
||||
///* 4cc18: afbe0038 */ sw $s8,0x38($sp)
|
||||
///* 4cc1c: afb70034 */ sw $s7,0x34($sp)
|
||||
///* 4cc20: afb60030 */ sw $s6,0x30($sp)
|
||||
///* 4cc24: afb5002c */ sw $s5,0x2c($sp)
|
||||
///* 4cc28: afb40028 */ sw $s4,0x28($sp)
|
||||
///* 4cc2c: afb30024 */ sw $s3,0x24($sp)
|
||||
///* 4cc30: afb20020 */ sw $s2,0x20($sp)
|
||||
///* 4cc34: afb1001c */ sw $s1,0x1c($sp)
|
||||
///* 4cc38: afb00018 */ sw $s0,0x18($sp)
|
||||
///* 4cc3c: afa5007c */ sw $a1,0x7c($sp)
|
||||
///* 4cc40: 8c8e0000 */ lw $t6,0x0($a0)
|
||||
///* 4cc44: 00809025 */ or $s2,$a0,$zero
|
||||
///* 4cc48: 00e0a825 */ or $s5,$a3,$zero
|
||||
///* 4cc4c: 31cf0001 */ andi $t7,$t6,0x1
|
||||
///* 4cc50: 30b7ffff */ andi $s7,$a1,0xffff
|
||||
///* 4cc54: 15e00003 */ bnez $t7,.L0004cc64
|
||||
///* 4cc58: 00c0f025 */ or $s8,$a2,$zero
|
||||
///* 4cc5c: 10000051 */ b .L0004cda4
|
||||
///* 4cc60: 24020005 */ addiu $v0,$zero,0x5
|
||||
//.L0004cc64:
|
||||
///* 4cc64: 0c013218 */ jal __osCheckId
|
||||
///* 4cc68: 02402025 */ or $a0,$s2,$zero
|
||||
///* 4cc6c: 50400004 */ beqzl $v0,.L0004cc80
|
||||
///* 4cc70: 8e580050 */ lw $t8,0x50($s2)
|
||||
///* 4cc74: 1000004c */ b .L0004cda8
|
||||
///* 4cc78: 8fbf003c */ lw $ra,0x3c($sp)
|
||||
///* 4cc7c: 8e580050 */ lw $t8,0x50($s2)
|
||||
//.L0004cc80:
|
||||
///* 4cc80: 00009825 */ or $s3,$zero,$zero
|
||||
///* 4cc84: 27b60050 */ addiu $s6,$sp,0x50
|
||||
///* 4cc88: 1b000042 */ blez $t8,.L0004cd94
|
||||
///* 4cc8c: 8fb40088 */ lw $s4,0x88($sp)
|
||||
///* 4cc90: 27b10060 */ addiu $s1,$sp,0x60
|
||||
///* 4cc94: 27b00054 */ addiu $s0,$sp,0x54
|
||||
///* 4cc98: 8e59005c */ lw $t9,0x5c($s2)
|
||||
//.L0004cc9c:
|
||||
///* 4cc9c: 8e440004 */ lw $a0,0x4($s2)
|
||||
///* 4cca0: 8e450008 */ lw $a1,0x8($s2)
|
||||
///* 4cca4: 03333021 */ addu $a2,$t9,$s3
|
||||
///* 4cca8: 30c8ffff */ andi $t0,$a2,0xffff
|
||||
///* 4ccac: 01003025 */ or $a2,$t0,$zero
|
||||
///* 4ccb0: 0c012e18 */ jal __osContRamRead
|
||||
///* 4ccb4: 02c03825 */ or $a3,$s6,$zero
|
||||
///* 4ccb8: 50400004 */ beqzl $v0,.L0004cccc
|
||||
///* 4ccbc: 8e440004 */ lw $a0,0x4($s2)
|
||||
///* 4ccc0: 10000039 */ b .L0004cda8
|
||||
///* 4ccc4: 8fbf003c */ lw $ra,0x3c($sp)
|
||||
///* 4ccc8: 8e440004 */ lw $a0,0x4($s2)
|
||||
//.L0004cccc:
|
||||
///* 4cccc: 0c012ea4 */ jal __osPfsGetStatus
|
||||
///* 4ccd0: 8e450008 */ lw $a1,0x8($s2)
|
||||
///* 4ccd4: 10400003 */ beqz $v0,.L0004cce4
|
||||
///* 4ccd8: 00403025 */ or $a2,$v0,$zero
|
||||
///* 4ccdc: 10000032 */ b .L0004cda8
|
||||
///* 4cce0: 8fbf003c */ lw $ra,0x3c($sp)
|
||||
//.L0004cce4:
|
||||
///* 4cce4: 97a90054 */ lhu $t1,0x54($sp)
|
||||
///* 4cce8: 8faa0050 */ lw $t2,0x50($sp)
|
||||
///* 4ccec: 56e90025 */ bnel $s7,$t1,.L0004cd84
|
||||
///* 4ccf0: 8e580050 */ lw $t8,0x50($s2)
|
||||
///* 4ccf4: 555e0023 */ bnel $t2,$s8,.L0004cd84
|
||||
///* 4ccf8: 8e580050 */ lw $t8,0x50($s2)
|
||||
///* 4ccfc: 12a0000c */ beqz $s5,.L0004cd30
|
||||
///* 4cd00: 00002025 */ or $a0,$zero,$zero
|
||||
///* 4cd04: 27a20050 */ addiu $v0,$sp,0x50
|
||||
///* 4cd08: 02a01825 */ or $v1,$s5,$zero
|
||||
//.L0004cd0c:
|
||||
///* 4cd0c: 904b0010 */ lbu $t3,0x10($v0)
|
||||
///* 4cd10: 906c0000 */ lbu $t4,0x0($v1)
|
||||
///* 4cd14: 24420001 */ addiu $v0,$v0,0x1
|
||||
///* 4cd18: 116c0003 */ beq $t3,$t4,.L0004cd28
|
||||
///* 4cd1c: 00000000 */ nop
|
||||
///* 4cd20: 10000003 */ b .L0004cd30
|
||||
///* 4cd24: 24040001 */ addiu $a0,$zero,0x1
|
||||
//.L0004cd28:
|
||||
///* 4cd28: 1451fff8 */ bne $v0,$s1,.L0004cd0c
|
||||
///* 4cd2c: 24630001 */ addiu $v1,$v1,0x1
|
||||
//.L0004cd30:
|
||||
///* 4cd30: 1280000d */ beqz $s4,.L0004cd68
|
||||
///* 4cd34: 00000000 */ nop
|
||||
///* 4cd38: 1480000b */ bnez $a0,.L0004cd68
|
||||
///* 4cd3c: 27a20050 */ addiu $v0,$sp,0x50
|
||||
///* 4cd40: 02801825 */ or $v1,$s4,$zero
|
||||
//.L0004cd44:
|
||||
///* 4cd44: 904d000c */ lbu $t5,0xc($v0)
|
||||
///* 4cd48: 906e0000 */ lbu $t6,0x0($v1)
|
||||
///* 4cd4c: 24420001 */ addiu $v0,$v0,0x1
|
||||
///* 4cd50: 11ae0003 */ beq $t5,$t6,.L0004cd60
|
||||
///* 4cd54: 00000000 */ nop
|
||||
///* 4cd58: 10000003 */ b .L0004cd68
|
||||
///* 4cd5c: 24040001 */ addiu $a0,$zero,0x1
|
||||
//.L0004cd60:
|
||||
///* 4cd60: 1450fff8 */ bne $v0,$s0,.L0004cd44
|
||||
///* 4cd64: 24630001 */ addiu $v1,$v1,0x1
|
||||
//.L0004cd68:
|
||||
///* 4cd68: 54800006 */ bnezl $a0,.L0004cd84
|
||||
///* 4cd6c: 8e580050 */ lw $t8,0x50($s2)
|
||||
///* 4cd70: 8faf008c */ lw $t7,0x8c($sp)
|
||||
///* 4cd74: 00c01025 */ or $v0,$a2,$zero
|
||||
///* 4cd78: 1000000a */ b .L0004cda4
|
||||
///* 4cd7c: adf30000 */ sw $s3,0x0($t7)
|
||||
///* 4cd80: 8e580050 */ lw $t8,0x50($s2)
|
||||
//.L0004cd84:
|
||||
///* 4cd84: 26730001 */ addiu $s3,$s3,0x1
|
||||
///* 4cd88: 0278082a */ slt $at,$s3,$t8
|
||||
///* 4cd8c: 5420ffc3 */ bnezl $at,.L0004cc9c
|
||||
///* 4cd90: 8e59005c */ lw $t9,0x5c($s2)
|
||||
//.L0004cd94:
|
||||
///* 4cd94: 8fa8008c */ lw $t0,0x8c($sp)
|
||||
///* 4cd98: 2419ffff */ addiu $t9,$zero,-1
|
||||
///* 4cd9c: 24020005 */ addiu $v0,$zero,0x5
|
||||
///* 4cda0: ad190000 */ sw $t9,0x0($t0)
|
||||
//.L0004cda4:
|
||||
///* 4cda4: 8fbf003c */ lw $ra,0x3c($sp)
|
||||
//.L0004cda8:
|
||||
///* 4cda8: 8fb00018 */ lw $s0,0x18($sp)
|
||||
///* 4cdac: 8fb1001c */ lw $s1,0x1c($sp)
|
||||
///* 4cdb0: 8fb20020 */ lw $s2,0x20($sp)
|
||||
///* 4cdb4: 8fb30024 */ lw $s3,0x24($sp)
|
||||
///* 4cdb8: 8fb40028 */ lw $s4,0x28($sp)
|
||||
///* 4cdbc: 8fb5002c */ lw $s5,0x2c($sp)
|
||||
///* 4cdc0: 8fb60030 */ lw $s6,0x30($sp)
|
||||
///* 4cdc4: 8fb70034 */ lw $s7,0x34($sp)
|
||||
///* 4cdc8: 8fbe0038 */ lw $s8,0x38($sp)
|
||||
///* 4cdcc: 03e00008 */ jr $ra
|
||||
///* 4cdd0: 27bd0078 */ addiu $sp,$sp,0x78
|
||||
//);
|
||||
|
||||
s32 osPfsFindFile(OSPfs *pfs, u16 company_code, u32 game_code, u8 *game_name, u8 *ext_name, s32 *file_no)
|
||||
{
|
||||
s32 j;
|
||||
s32 i;
|
||||
__OSDir dir;
|
||||
s32 ret = 0;
|
||||
s32 err;
|
||||
|
||||
if (!(pfs->status & PFS_INITIALIZED)) {
|
||||
return PFS_ERR_INVALID;
|
||||
}
|
||||
|
||||
if ((ret = __osCheckId(pfs)) != 0) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
for (j = 0; j < pfs->dir_size; j++) {
|
||||
if ((ret = __osContRamRead(pfs->queue, pfs->channel, pfs->dir_table + j, (u8*)&dir)) != 0) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
if ((ret = __osPfsGetStatus(pfs->queue, pfs->channel)) != 0) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (dir.company_code == company_code && dir.game_code == game_code) {
|
||||
err = 0;
|
||||
|
||||
if (game_name != NULL) {
|
||||
for (i = 0; i < PFS_FILE_NAME_LEN; i++) {
|
||||
if (dir.game_name[i] != game_name[i]) {
|
||||
err = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ext_name != NULL && err == 0) {
|
||||
for (i = 0; i < PFS_FILE_EXT_LEN; i++) {
|
||||
if (dir.ext_name[i] != ext_name[i]) {
|
||||
err = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (err == 0) {
|
||||
*file_no = j;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*file_no = -1;
|
||||
|
||||
return PFS_ERR_INVALID;
|
||||
}
|
||||
Loading…
Reference in New Issue