Decompile __osCheckId
This commit is contained in:
parent
3e925e7398
commit
79a4a69d5d
2
Makefile
2
Makefile
|
|
@ -67,7 +67,7 @@ $(B_DIR)/lib/ultra/gu/ortho.o: LOOPUNROLL :=
|
|||
$(B_DIR)/lib/ultra/io/pfsgetstatus.o: LOOPUNROLL :=
|
||||
$(B_DIR)/lib/ultra/io/conteepread.o: LOOPUNROLL :=
|
||||
$(B_DIR)/lib/ultra/io/conteepwrite.o: LOOPUNROLL :=
|
||||
$(B_DIR)/lib/lib_4c090.o: LOOPUNROLL :=
|
||||
$(B_DIR)/lib/ultra/io/contpfs.o: LOOPUNROLL :=
|
||||
|
||||
$(B_DIR)/lib/ultra/libc/ll.o: MIPSISET := -mips3 -o32
|
||||
$(B_DIR)/lib/ultra/libc/llcvt.o: MIPSISET := -mips3 -32
|
||||
|
|
|
|||
|
|
@ -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/controller.o (section); \
|
||||
build/ROMID/lib/lib_4c090.o (section); \
|
||||
build/ROMID/lib/ultra/io/contpfs.o (section); \
|
||||
build/ROMID/lib/lib_4cc10.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsselectbank.o (section); \
|
||||
build/ROMID/lib/lib_4ce60.o (section); \
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@
|
|||
build/ROMID/lib/ultra/io/contramread.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsgetstatus.o (section); \
|
||||
build/ROMID/lib/ultra/io/conteepwrite.o (section); \
|
||||
build/ROMID/lib/lib_4c090.o (section); \
|
||||
build/ROMID/lib/ultra/io/contpfs.o (section); \
|
||||
build/ROMID/lib/lib_4cc10.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsselectbank.o (section); \
|
||||
build/ROMID/lib/lib_4ce60.o (section); \
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@
|
|||
build/ROMID/lib/ultra/io/contramread.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsgetstatus.o (section); \
|
||||
build/ROMID/lib/ultra/io/conteepwrite.o (section); \
|
||||
build/ROMID/lib/lib_4c090.o (section); \
|
||||
build/ROMID/lib/ultra/io/contpfs.o (section); \
|
||||
build/ROMID/lib/lib_4cc10.o (section); \
|
||||
build/ROMID/lib/ultra/io/pfsselectbank.o (section); \
|
||||
build/ROMID/lib/lib_4ce60.o (section); \
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
#ifndef _IN_LIB_LIB_4C090_H
|
||||
#define _IN_LIB_LIB_4C090_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u16 __osSumCalc(u8 *ptr, int length);
|
||||
s32 __osIdCheckSum(u16 *ptr, u16 *csum, u16 *icsum);
|
||||
s32 __osRepairPackId(OSPfs *pfs, __OSPackId *badid, __OSPackId *newid);
|
||||
s32 __osCheckPackId(OSPfs *pfs, __OSPackId *temp);
|
||||
s32 __osGetId(OSPfs *pfs);
|
||||
u32 func0004c860(void);
|
||||
s32 __osPfsRWInode(OSPfs *pfs, __OSInode *inode, u8 flag, u8 bank);
|
||||
|
||||
#endif
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
s32 osPfsChecker(OSPfs *pfs);
|
||||
u32 func0004dc28(void);
|
||||
u32 func0004def4(void);
|
||||
u32 func0004e090(void);
|
||||
s32 func0004e090(u8 *id, u8 *buffer, u32 len);
|
||||
void osMapTLB(s32 index, OSPageMask pm, void *vaddr, u32 evenpaddr, u32 oddpaddr, s32 asid);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -51,5 +51,12 @@ void __osDispatchThread();
|
|||
u32 __osGetCause();
|
||||
s32 __osAtomicDec(u32*);
|
||||
s32 __osPfsSelectBank(OSPfs *pfs, u8 bank);
|
||||
u16 __osSumCalc(u8 *ptr, int length);
|
||||
s32 __osIdCheckSum(u16 *ptr, u16 *csum, u16 *icsum);
|
||||
s32 __osRepairPackId(OSPfs *pfs, __OSPackId *badid, __OSPackId *newid);
|
||||
s32 __osCheckPackId(OSPfs *pfs, __OSPackId *temp);
|
||||
s32 __osGetId(OSPfs *pfs);
|
||||
s32 __osCheckId(OSPfs *pfs);
|
||||
s32 __osPfsRWInode(OSPfs *pfs, __OSInode *inode, u8 flag, u8 bank);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_06550.h"
|
||||
#include "lib/lib_4b170.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_4cc10.h"
|
||||
#include "lib/lib_4ce60.h"
|
||||
#include "lib/lib_4d000.h"
|
||||
|
|
@ -54,7 +54,7 @@ glabel func00006550
|
|||
/* 65d8: 24020005 */ addiu $v0,$zero,0x5
|
||||
.L000065dc:
|
||||
/* 65dc: 02a02025 */ or $a0,$s5,$zero
|
||||
/* 65e0: 0c013218 */ jal func0004c860
|
||||
/* 65e0: 0c013218 */ jal __osCheckId
|
||||
/* 65e4: afa20054 */ sw $v0,0x54($sp)
|
||||
/* 65e8: 24010002 */ addiu $at,$zero,0x2
|
||||
/* 65ec: 14410003 */ bne $v0,$at,.L000065fc
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ glabel func0004cc10
|
|||
/* 4cc5c: 10000051 */ b .L0004cda4
|
||||
/* 4cc60: 24020005 */ addiu $v0,$zero,0x5
|
||||
.L0004cc64:
|
||||
/* 4cc64: 0c013218 */ jal func0004c860
|
||||
/* 4cc64: 0c013218 */ jal __osCheckId
|
||||
/* 4cc68: 02402025 */ or $a0,$s2,$zero
|
||||
/* 4cc6c: 50400004 */ beqzl $v0,.L0004cc80
|
||||
/* 4cc70: 8e580050 */ lw $t8,0x50($s2)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ glabel func0004ce60
|
|||
/* 4ce9c: 1000004d */ b .L0004cfd4
|
||||
/* 4cea0: 24020005 */ addiu $v0,$zero,0x5
|
||||
.L0004cea4:
|
||||
/* 4cea4: 0c013218 */ jal func0004c860
|
||||
/* 4cea4: 0c013218 */ jal __osCheckId
|
||||
/* 4cea8: 02802025 */ or $a0,$s4,$zero
|
||||
/* 4ceac: 50400004 */ beqzl $v0,.L0004cec0
|
||||
/* 4ceb0: 92980064 */ lbu $t8,0x64($s4)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_4b170.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_4cc10.h"
|
||||
#include "lib/lib_4ce60.h"
|
||||
#include "lib/lib_4d000.h"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/libc/ll.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_4cc10.h"
|
||||
#include "lib/lib_4d480.h"
|
||||
#include "data.h"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/libc/ll.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_4d6f0.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
|
@ -22,7 +22,7 @@ glabel osPfsChecker
|
|||
/* 4d718: afb10024 */ sw $s1,0x24($sp)
|
||||
/* 4d71c: afb00020 */ sw $s0,0x20($sp)
|
||||
/* 4d720: afa00074 */ sw $zero,0x74($sp)
|
||||
/* 4d724: 0c013218 */ jal func0004c860
|
||||
/* 4d724: 0c013218 */ jal __osCheckId
|
||||
/* 4d728: 241e00fe */ addiu $s8,$zero,0xfe
|
||||
/* 4d72c: 24010002 */ addiu $at,$zero,0x2
|
||||
/* 4d730: 14410004 */ bne $v0,$at,.L0004d744
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_50480.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
|
@ -114,7 +114,7 @@ glabel func00050554
|
|||
/* 505dc: 100000b4 */ b .L000508b0
|
||||
/* 505e0: 24020005 */ addiu $v0,$zero,0x5
|
||||
.L000505e4:
|
||||
/* 505e4: 0c013218 */ jal func0004c860
|
||||
/* 505e4: 0c013218 */ jal __osCheckId
|
||||
/* 505e8: afa50174 */ sw $a1,0x174($sp)
|
||||
/* 505ec: 24010002 */ addiu $at,$zero,0x2
|
||||
/* 505f0: 54410004 */ bnel $v0,$at,.L00050604
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_50480.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
|
@ -25,7 +25,7 @@ glabel func000508d0
|
|||
/* 50908: 10000034 */ b .L000509dc
|
||||
/* 5090c: 24020005 */ addiu $v0,$zero,0x5
|
||||
.L00050910:
|
||||
/* 50910: 0c013218 */ jal func0004c860
|
||||
/* 50910: 0c013218 */ jal __osCheckId
|
||||
/* 50914: 02202025 */ or $a0,$s1,$zero
|
||||
/* 50918: 50400004 */ beqzl $v0,.L0005092c
|
||||
/* 5091c: 92380065 */ lbu $t8,0x65($s1)
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_06100.h"
|
||||
#include "lib/lib_06330.h"
|
||||
#include "lib/lib_4b170.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_4d6f0.h"
|
||||
#include "lib/lib_50a00.h"
|
||||
#include "lib/lib_513b0.h"
|
||||
|
|
@ -40,7 +40,7 @@ glabel func00050a00
|
|||
/* 50a58: 10000058 */ b .L00050bbc
|
||||
/* 50a5c: 24020005 */ addiu $v0,$zero,0x5
|
||||
.L00050a60:
|
||||
/* 50a60: 0c013218 */ jal func0004c860
|
||||
/* 50a60: 0c013218 */ jal __osCheckId
|
||||
/* 50a64: 02602025 */ or $a0,$s3,$zero
|
||||
/* 50a68: 50400004 */ beqzl $v0,.L00050a7c
|
||||
/* 50a6c: 92790065 */ lbu $t9,0x65($s3)
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_06100.h"
|
||||
#include "lib/lib_06330.h"
|
||||
#include "lib/lib_4b170.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_4d6f0.h"
|
||||
#include "lib/lib_50a00.h"
|
||||
#include "lib/lib_513b0.h"
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_06100.h"
|
||||
#include "lib/lib_06330.h"
|
||||
#include "lib/lib_4b170.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_4d6f0.h"
|
||||
#include "lib/lib_50a00.h"
|
||||
#include "lib/lib_513b0.h"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_4b170.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_4d6f0.h"
|
||||
#include "lib/lib_513b0.h"
|
||||
#include "lib/lib_52360.h"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#include <ultra64.h>
|
||||
#include "libultra_internal.h"
|
||||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_4b170.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_4d6f0.h"
|
||||
#include "lib/lib_513b0.h"
|
||||
#include "lib/lib_52360.h"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
#include "constants.h"
|
||||
#include "bss.h"
|
||||
#include "lib/lib_4b170.h"
|
||||
#include "lib/lib_4c090.h"
|
||||
#include "lib/lib_4d6f0.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
|
@ -478,69 +477,39 @@ s32 __osGetId(OSPfs *pfs)
|
|||
return 0;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0004c860
|
||||
/* 4c860: 27bdffb8 */ addiu $sp,$sp,-72
|
||||
/* 4c864: afbf001c */ sw $ra,0x1c($sp)
|
||||
/* 4c868: afb00018 */ sw $s0,0x18($sp)
|
||||
/* 4c86c: 908e0065 */ lbu $t6,0x65($a0)
|
||||
/* 4c870: 00808025 */ or $s0,$a0,$zero
|
||||
/* 4c874: 51c0000f */ beqzl $t6,.L0004c8b4
|
||||
/* 4c878: 8e040004 */ lw $a0,0x4($s0)
|
||||
/* 4c87c: 0c013378 */ jal __osPfsSelectBank
|
||||
/* 4c880: 00002825 */ or $a1,$zero,$zero
|
||||
/* 4c884: 24010002 */ addiu $at,$zero,0x2
|
||||
/* 4c888: 14410005 */ bne $v0,$at,.L0004c8a0
|
||||
/* 4c88c: 00401825 */ or $v1,$v0,$zero
|
||||
/* 4c890: 02002025 */ or $a0,$s0,$zero
|
||||
/* 4c894: 0c013378 */ jal __osPfsSelectBank
|
||||
/* 4c898: 00002825 */ or $a1,$zero,$zero
|
||||
/* 4c89c: 00401825 */ or $v1,$v0,$zero
|
||||
.L0004c8a0:
|
||||
/* 4c8a0: 50400004 */ beqzl $v0,.L0004c8b4
|
||||
/* 4c8a4: 8e040004 */ lw $a0,0x4($s0)
|
||||
/* 4c8a8: 1000001d */ b .L0004c920
|
||||
/* 4c8ac: 00601025 */ or $v0,$v1,$zero
|
||||
/* 4c8b0: 8e040004 */ lw $a0,0x4($s0)
|
||||
.L0004c8b4:
|
||||
/* 4c8b4: 8e050008 */ lw $a1,0x8($s0)
|
||||
/* 4c8b8: 24060001 */ addiu $a2,$zero,0x1
|
||||
/* 4c8bc: 0c012e18 */ jal __osContRamRead
|
||||
/* 4c8c0: 27a70028 */ addiu $a3,$sp,0x28
|
||||
/* 4c8c4: 1040000d */ beqz $v0,.L0004c8fc
|
||||
/* 4c8c8: 24010002 */ addiu $at,$zero,0x2
|
||||
/* 4c8cc: 10410003 */ beq $v0,$at,.L0004c8dc
|
||||
/* 4c8d0: 24060001 */ addiu $a2,$zero,0x1
|
||||
/* 4c8d4: 10000013 */ b .L0004c924
|
||||
/* 4c8d8: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
.L0004c8dc:
|
||||
/* 4c8dc: 8e040004 */ lw $a0,0x4($s0)
|
||||
/* 4c8e0: 8e050008 */ lw $a1,0x8($s0)
|
||||
/* 4c8e4: 0c012e18 */ jal __osContRamRead
|
||||
/* 4c8e8: 27a70028 */ addiu $a3,$sp,0x28
|
||||
/* 4c8ec: 50400004 */ beqzl $v0,.L0004c900
|
||||
/* 4c8f0: 2604000c */ addiu $a0,$s0,0xc
|
||||
/* 4c8f4: 1000000b */ b .L0004c924
|
||||
/* 4c8f8: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
.L0004c8fc:
|
||||
/* 4c8fc: 2604000c */ addiu $a0,$s0,0xc
|
||||
.L0004c900:
|
||||
/* 4c900: 27a50028 */ addiu $a1,$sp,0x28
|
||||
/* 4c904: 0c013824 */ jal func0004e090
|
||||
/* 4c908: 24060020 */ addiu $a2,$zero,0x20
|
||||
/* 4c90c: 50400004 */ beqzl $v0,.L0004c920
|
||||
/* 4c910: 00001025 */ or $v0,$zero,$zero
|
||||
/* 4c914: 10000002 */ b .L0004c920
|
||||
/* 4c918: 24020002 */ addiu $v0,$zero,0x2
|
||||
/* 4c91c: 00001025 */ or $v0,$zero,$zero
|
||||
.L0004c920:
|
||||
/* 4c920: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
.L0004c924:
|
||||
/* 4c924: 8fb00018 */ lw $s0,0x18($sp)
|
||||
/* 4c928: 27bd0048 */ addiu $sp,$sp,0x48
|
||||
/* 4c92c: 03e00008 */ jr $ra
|
||||
/* 4c930: 00000000 */ nop
|
||||
);
|
||||
s32 __osCheckId(OSPfs *pfs)
|
||||
{
|
||||
u8 temp[32];
|
||||
s32 ret;
|
||||
|
||||
if (pfs->activebank != 0) {
|
||||
ret = __osPfsSelectBank(pfs, 0);
|
||||
|
||||
if (ret == PFS_ERR_NEW_PACK) {
|
||||
ret = __osPfsSelectBank(pfs, 0);
|
||||
}
|
||||
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
ret = __osContRamRead(pfs->queue, pfs->channel, 1, (u8*)temp);
|
||||
|
||||
if (ret != 0) {
|
||||
if (ret != PFS_ERR_NEW_PACK) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
ERRCK(__osContRamRead(pfs->queue, pfs->channel, 1, (u8*)temp));
|
||||
}
|
||||
|
||||
if (func0004e090(pfs->id, temp, 0x20) != 0) {
|
||||
return PFS_ERR_NEW_PACK;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 __osPfsRWInode(OSPfs *pfs, __OSInode *inode, u8 flag, u8 bank)
|
||||
{
|
||||
Loading…
Reference in New Issue