Added isofs module (#129)

* isofs: add module

* isofs: clean up test
This commit is contained in:
Kotcrab 2024-08-28 22:37:48 +02:00 committed by GitHub
parent 6f55a2ecc8
commit ef94ca1aa5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 4036 additions and 39 deletions

7
.gitignore vendored
View File

@ -9,6 +9,10 @@ github-pages/
exports.c
/lib/libdebug.a
/lib/build_mod.mak
utils/basic-decompiler/basic-decompiler
utils/build-exports/psp-build-exports
utils/fixup-imports/psp-fixup-imports
utils/kprxgen/psp-kprxgen
## Ignore Visual Studio project files, Visual Studio temporary files, build results.
@ -42,3 +46,6 @@ ipch/
# Visual Studio Code
/.vscode
# CLion
.idea/

View File

@ -4,8 +4,8 @@ export ROOT_DIR
MODULES=debug syscon \
kd/audio kd/chnnlsv kd/clockgen kd/codec kd/ctrl kd/exceptionman kd/ge kd/init kd/interruptman \
kd/iofilemgr kd/led kd/libatrac3plus kd/loadcore kd/loadexec kd/mediaman kd/me_wrapper kd/modulemgr \
kd/sysmem kd/systimer kd/usersystemlib kd/wlanfirm
kd/iofilemgr kd/isofs kd/led kd/libatrac3plus kd/loadcore kd/loadexec kd/mediaman kd/me_wrapper \
kd/modulemgr kd/rtc kd/sysmem kd/systimer kd/usersystemlib kd/wlanfirm
all: $(MODULES)

View File

@ -5,6 +5,8 @@
#ifndef __RTC_H__
#define __RTC_H__
#include "common_header.h"
typedef struct {
u16 year;
u16 month;

View File

@ -71,6 +71,8 @@ int sceKernelWaitThreadEndCB(SceUID thid, SceUInt *timeout);
int sceKernelReleaseWaitThread(SceUID thid);
int sceKernelSuspendAllUserThreads(void);
int sceKernelExtendKernelStack(int type, s32 (*cb)(void*), void *arg);
unsigned int sceKernelGetSystemTimeLow(void);
enum SceUserLevel {

38
include/umdman.h Normal file
View File

@ -0,0 +1,38 @@
/* Copyright (C) 2011, 2012, 2013 The uOFW team
See the file COPYING for copying permission.
*/
#ifndef UMDMAN_H
#define UMDMAN_H
#include "common_header.h"
// TODO: unfinished header
typedef struct {
u32 unk0;
u32 cmd;
u32 lbn;
u32 lbnSize;
u32 size;
// how many bytes to read from sectors into 64 bytes aligned output
u32 byteSizeMiddle;
// how many bytes to read from the first read sector into not 64 bytes aligned output
u32 byteSizeFirst;
// how many bytes to read from the last read sector into not 64 bytes aligned output
u32 byteSizeLast;
u32 unk20;
} LbnParams;
typedef struct {
u32 unk0;
u32 lbn;
u32 unk8;
u32 lbnSize;
} PrepareIntoCacheParams;
s32 sceUmdMan_driver_65E2B3E0();
s32 sceUmdManUnRegisterInsertEjectUMDCallBack(s32 id);
s32 sceUmdManRegisterInsertEjectUMDCallBack(s32 id, void *cb, void *cbArg);
#endif /* UMDMAN_H */

Binary file not shown.

BIN
lib/libsceRtc_driver.a Normal file

Binary file not shown.

BIN
lib/libsceUmd.a Normal file

Binary file not shown.

BIN
lib/libsceUmdMan_driver.a Normal file

Binary file not shown.

BIN
lib/libsceUmdUser.a Normal file

Binary file not shown.

12
src/kd/isofs/Makefile Normal file
View File

@ -0,0 +1,12 @@
# Copyright (C) 2011, 2012 The uOFW team
# See the file COPYING for copying permission.
TARGET = isofs
OBJS = isofs.o
DEBUG = 0
LIBS = -lInterruptManagerForKernel -lSysMemForKernel -lSysclibForKernel -lThreadManForKernel \
-lIoFileMgrForKernel -lsceRtc_driver -lsceUmd -lsceUmdMan_driver
include $(ROOT_DIR)/lib/build.mak

11
src/kd/isofs/exports.exp Normal file
View File

@ -0,0 +1,11 @@
# Export file automatically generated with prxtool
PSP_BEGIN_EXPORTS
PSP_EXPORT_START(syslib, 0x0000, 0x8000)
PSP_EXPORT_FUNC_HASH(module_start)
PSP_EXPORT_FUNC_HASH(module_reboot_before)
PSP_EXPORT_VAR_HASH(module_info)
PSP_EXPORT_VAR_HASH(module_sdk_version)
PSP_EXPORT_END
PSP_END_EXPORTS

3825
src/kd/isofs/isofs.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -86,7 +86,7 @@ PSP_EXPORT_FUNC_NID(sceRtc_driver_74772CCC, 0x74772CCC)
PSP_EXPORT_FUNC_NID(sceRtc_driver_77138347, 0x77138347)
PSP_EXPORT_FUNC_NID(sceRtc_driver_7C6E9610, 0x7C6E9610)
PSP_EXPORT_FUNC_NID(sceRtc_driver_7D8E37E1, 0x7D8E37E1)
PSP_EXPORT_FUNC_NID(sceRtcSetTick, 0x7ED29E40)
PSP_EXPORT_FUNC_NID(sceRtc_driver_7ED29E40, 0x7ED29E40)
PSP_EXPORT_FUNC_NID(sceRtc_driver_80F21937, 0x80F21937)
PSP_EXPORT_FUNC_NID(sceRtc_driver_8413CADC, 0x8413CADC)
PSP_EXPORT_FUNC_NID(sceRtc_driver_852255B8, 0x852255B8)
@ -117,7 +117,7 @@ PSP_EXPORT_FUNC_NID(sceRtc_driver_CF76CFE5, 0xCF76CFE5)
PSP_EXPORT_FUNC_NID(sceRtc_driver_DFF30673, 0xDFF30673)
PSP_EXPORT_FUNC_NID(sceRtc_driver_E09880CF, 0xE09880CF)
PSP_EXPORT_FUNC_NID(sceRtc_driver_E45726F6, 0xE45726F6)
PSP_EXPORT_FUNC_NID(sceRtc_driver_E7B3ABF4, 0xE7B3ABF4)
PSP_EXPORT_FUNC_NID(sceRtcSetTick, 0xE7B3ABF4)
PSP_EXPORT_FUNC_NID(sceRtc_driver_E86D8FC0, 0xE86D8FC0)
PSP_EXPORT_FUNC_NID(sceRtc_driver_E98FEC46, 0xE98FEC46)
PSP_EXPORT_FUNC_NID(sceRtc_driver_ED15334F, 0xED15334F)

View File

@ -16,7 +16,7 @@
#include <syscon.h>
#include <threadman_kernel.h>
#include <interruptman.h>
#include "rtc.h"
#include <rtc.h>
SCE_MODULE_INFO("sceRTC_Service", SCE_MODULE_KERNEL | SCE_MODULE_ATTR_CANT_STOP | SCE_MODULE_ATTR_EXCLUSIVE_LOAD | SCE_MODULE_ATTR_EXCLUSIVE_START, 1, 11);
SCE_SDK_VERSION(SDK_VERSION);

View File

@ -2621,7 +2621,7 @@ void ThreadManForUser_BC80EC7C()
*/
// TODO: Reverse function sceKernelExtendKernelStack
// Subroutine sceKernelExtendKernelStack - Address 0x000152C0
int sceKernelExtendKernelStack(int type, void (*cb)(void*), void *arg)
int sceKernelExtendKernelStack(int type, s32 (*cb)(void*), void *arg)
{
}

7
src/kd/umdman/Makefile Normal file
View File

@ -0,0 +1,7 @@
# Copyright (C) 2011, 2012, 2013, 2014 The uOFW team
# See the file COPYING for copying permission.
TARGET = umdman
OBJS = umdman.o
include $(ROOT_DIR)/lib/build.mak

93
src/kd/umdman/exports.exp Normal file
View File

@ -0,0 +1,93 @@
# Export file automatically generated with prxtool
PSP_BEGIN_EXPORTS
PSP_EXPORT_START(syslib, 0x0000, 0x8000)
PSP_EXPORT_FUNC_HASH(module_start)
PSP_EXPORT_FUNC_HASH(module_reboot_before)
PSP_EXPORT_VAR_HASH(module_info)
PSP_EXPORT_VAR_HASH(module_sdk_version)
PSP_EXPORT_END
PSP_EXPORT_START(sceUmdMan_driver, 0x0011, 0x0001)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_02069E94, 0x02069E94)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_0D3EA203, 0x0D3EA203)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_0DC8D26D, 0x0DC8D26D)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_0F648A61, 0x0F648A61)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_14D3381C, 0x14D3381C)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_17F40D76, 0x17F40D76)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_1B19A313, 0x1B19A313)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_1EC3FD42, 0x1EC3FD42)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_1F9AFFF4, 0x1F9AFFF4)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_1FE34641, 0x1FE34641)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_266580BB, 0x266580BB)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_27C1869A, 0x27C1869A)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_291AE376, 0x291AE376)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_2C5F9A65, 0x2C5F9A65)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_2CBE959B, 0x2CBE959B)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_2CE918B1, 0x2CE918B1)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_32FB5BB9, 0x32FB5BB9)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_34375DB0, 0x34375DB0)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_3A05AC3C, 0x3A05AC3C)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_3A6DE7D6, 0x3A6DE7D6)
PSP_EXPORT_FUNC_NID(sceUmdManRegisterInsertEjectUMDCallBack, 0x3C8C523D)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_406E8F99, 0x406E8F99)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_40BE225B, 0x40BE225B)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_43894A44, 0x43894A44)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_47E2B6D8, 0x47E2B6D8)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_4D3F98AF, 0x4D3F98AF)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_4FB913A3, 0x4FB913A3)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_50A22288, 0x50A22288)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_5219AF31, 0x5219AF31)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_57FDAC38, 0x57FDAC38)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_5AC94A3C, 0x5AC94A3C)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_6519F8D1, 0x6519F8D1)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_65E2B3E0, 0x65E2B3E0)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_6D17FD57, 0x6D17FD57)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_709E7035, 0x709E7035)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_736AE133, 0x736AE133)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_77E81350, 0x77E81350)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_78287331, 0x78287331)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_7BD87F0C, 0x7BD87F0C)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_806CE160, 0x806CE160)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_80D31D5D, 0x80D31D5D)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_81E5E7BE, 0x81E5E7BE)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_88162E10, 0x88162E10)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_8CFED611, 0x8CFED611)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_8DA33BBD, 0x8DA33BBD)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_8FF7C13A, 0x8FF7C13A)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_921E7B7D, 0x921E7B7D)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_9F106F73, 0x9F106F73)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_A684063D, 0xA684063D)
PSP_EXPORT_FUNC_NID(sceUmdManUnRegisterInsertEjectUMDCallBack, 0xA7536109)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_AD723306, 0xAD723306)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_AEF07041, 0xAEF07041)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_B01F65CE, 0xB01F65CE)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_B0A43DA7, 0xB0A43DA7)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_B89A44D1, 0xB89A44D1)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_B8DC7B48, 0xB8DC7B48)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_BD974D70, 0xBD974D70)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_BE985DA1, 0xBE985DA1)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_BEEE1B85, 0xBEEE1B85)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_C615D6C9, 0xC615D6C9)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_C8D137FA, 0xC8D137FA)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_CAD31025, 0xCAD31025)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_CADCF4E0, 0xCADCF4E0)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_CB794884, 0xCB794884)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_CC40BED8, 0xCC40BED8)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_D1478023, 0xD1478023)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_D29D7FF4, 0xD29D7FF4)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_D372D6F3, 0xD372D6F3)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_DA67B566, 0xDA67B566)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_E3716915, 0xE3716915)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_E779ECEF, 0xE779ECEF)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_EB0841CE, 0xEB0841CE)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_ED53D164, 0xED53D164)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_EEBF3121, 0xEEBF3121)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_F31D8208, 0xF31D8208)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_F5B8ED7B, 0xF5B8ED7B)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_F62A8245, 0xF62A8245)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_F861E69B, 0xF861E69B)
PSP_EXPORT_FUNC_NID(sceUmdMan_driver_FB74B6E9, 0xFB74B6E9)
PSP_EXPORT_END
PSP_END_EXPORTS