From 5a133d8e12ad8afdafa1d30ede8ec2b6878fc151 Mon Sep 17 00:00:00 2001 From: JoseAaronLopezGarcia Date: Sat, 20 Dec 2025 16:00:32 +0100 Subject: [PATCH 1/8] add missing functions --- src/nand/pspnand_driver.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/nand/pspnand_driver.h b/src/nand/pspnand_driver.h index 9e4d3eee..a92aa6a9 100644 --- a/src/nand/pspnand_driver.h +++ b/src/nand/pspnand_driver.h @@ -33,6 +33,8 @@ int sceNandReadId(void *buf, SceSize size); int sceNandReadPages(u32 ppn, void *buf, void *buf2, u32 count); +int sceNandReadPagesRawAll(u32 ppn, void* buf, void* spare, u32 count); + /* // sceNandWritePages // sceNandReadAccess @@ -52,16 +54,18 @@ int sceNandGetTotalBlocks(void); /* // sceNandWriteBlock -// sceNandWriteBlockWithVerify */ +int sceNandWriteBlockWithVerify(u32 ppn, void *buf, void *spare); + int sceNandReadBlockWithRetry(u32 ppn, void *buf, void *buf2); /* // sceNandVerifyBlockWithRetry -// sceNandEraseBlockWithRetry */ +int sceNandEraseBlockWithRetry(u32 ppn); + int sceNandIsBadBlock(u32 ppn); /* From 34bd6e7b1bd88f3b63043d29daf520074a924659 Mon Sep 17 00:00:00 2001 From: JoseAaronLopezGarcia Date: Sat, 20 Dec 2025 16:44:28 +0100 Subject: [PATCH 2/8] add missing funcs --- src/nand/pspnand_driver.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/nand/pspnand_driver.h b/src/nand/pspnand_driver.h index a92aa6a9..24975531 100644 --- a/src/nand/pspnand_driver.h +++ b/src/nand/pspnand_driver.h @@ -38,14 +38,17 @@ int sceNandReadPagesRawAll(u32 ppn, void* buf, void* spare, u32 count); /* // sceNandWritePages // sceNandReadAccess -// sceNandWriteAccess -// sceNandEraseBlock -// sceNandReadExtraOnly // sceNandCalcEcc // sceNandVerifyEcc // sceNandCollectEcc */ +int sceNandEraseBlock(u32 ppn); + +int sceNandWriteAccess(u32 ppn, void *buf, void *spare, int, unsigned int); + +int sceNandReadExtraOnly(u32 ppn, void *buf, int); + int sceNandGetPageSize(void); int sceNandGetPagesPerBlock(void); From 39e33de54af24b6d8a9b4ebc1b349d497684cd97 Mon Sep 17 00:00:00 2001 From: JoseAaronLopezGarcia Date: Sat, 20 Dec 2025 16:52:32 +0100 Subject: [PATCH 3/8] add missing functions --- src/kernel/pspidstorage.h | 8 ++++++++ src/kernel/pspsyscon.h | 2 ++ src/kernel/sceIdStorage_driver.S | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/kernel/pspidstorage.h b/src/kernel/pspidstorage.h index fe2be018..b7cd67e9 100644 --- a/src/kernel/pspidstorage.h +++ b/src/kernel/pspidstorage.h @@ -50,6 +50,14 @@ int sceIdStorageIsReadOnly(void); /** sceIdStorageFlush() - Finalizes a write */ int sceIdStorageFlush(void); +int sceIdStorageCreateLeaf(unsigned int leafid); + +int sceIdStorageCreateAtomicLeaves(u16 *leaves, int n); + +int sceIdStorageFormat(); + +int sceIdStorageUnformat(); + /**@}*/ #ifdef __cplusplus diff --git a/src/kernel/pspsyscon.h b/src/kernel/pspsyscon.h index 13b69d23..8089b100 100644 --- a/src/kernel/pspsyscon.h +++ b/src/kernel/pspsyscon.h @@ -91,6 +91,8 @@ int sceSysconGetPolestarVersion(int* version); */ int sceSysconGetTimeStamp(s8 *timeStamp); +int sceSysconReceiveSetParam(int n, u8 *buf); + /**@}*/ #ifdef __cplusplus diff --git a/src/kernel/sceIdStorage_driver.S b/src/kernel/sceIdStorage_driver.S index 17547464..c6f543f4 100644 --- a/src/kernel/sceIdStorage_driver.S +++ b/src/kernel/sceIdStorage_driver.S @@ -48,7 +48,7 @@ IMPORT_FUNC "sceIdStorage_driver",0x2C97AB36,sceIdStorageDeleteLeaf #endif #ifdef F_sceIdStorage_driver_0015 - IMPORT_FUNC "sceIdStorage_driver",0x99ACCB71,sceIdStorage_driver_99ACCB71 + IMPORT_FUNC "sceIdStorage_driver",0x99ACCB71,sceIdStorageCreateAtomicLeaves #endif #ifdef F_sceIdStorage_driver_0016 IMPORT_FUNC "sceIdStorage_driver",0x37833CB8,sceIdStorage_driver_37833CB8 From 07fc196d5acb7b9987e823343d8e7abe439891f4 Mon Sep 17 00:00:00 2001 From: JoseAaronLopezGarcia Date: Sat, 20 Dec 2025 21:43:11 +0100 Subject: [PATCH 4/8] added missing stub --- src/power/Makefile.am | 2 +- src/power/scePower.S | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/power/Makefile.am b/src/power/Makefile.am index 47e4d73c..1b576926 100644 --- a/src/power/Makefile.am +++ b/src/power/Makefile.am @@ -10,7 +10,7 @@ CPPFLAGS = -I$(top_srcdir)/src/base -I$(top_srcdir)/src/kernel CFLAGS = @PSPSDK_CFLAGS@ CCASFLAGS = $(CFLAGS) -POWER_OBJS = scePower_0000.o scePower_0001.o scePower_0002.o scePower_0003.o scePower_0004.o scePower_0005.o scePower_0006.o scePower_0007.o scePower_0008.o scePower_0009.o scePower_0010.o scePower_0011.o scePower_0012.o scePower_0013.o scePower_0014.o scePower_0015.o scePower_0016.o scePower_0017.o scePower_0018.o scePower_0019.o scePower_0020.o scePower_0021.o scePower_0022.o scePower_0023.o scePower_0024.o scePower_0025.o scePower_0026.o scePower_0027.o scePower_0028.o scePower_0029.o scePower_0030.o scePower_0031.o scePower_0032.o scePower_0033.o scePower_0034.o scePower_0035.o scePower_0036.o scePower_0037.o scePower_0038.o scePower_0039.o scePower_0040.o scePower_0041.o scePower_0042.o scePower_0043.o scePower_0044.o scePower_0045.o scePower_0046.o +POWER_OBJS = scePower_0000.o scePower_0001.o scePower_0002.o scePower_0003.o scePower_0004.o scePower_0005.o scePower_0006.o scePower_0007.o scePower_0008.o scePower_0009.o scePower_0010.o scePower_0011.o scePower_0012.o scePower_0013.o scePower_0014.o scePower_0015.o scePower_0016.o scePower_0017.o scePower_0018.o scePower_0019.o scePower_0020.o scePower_0021.o scePower_0022.o scePower_0023.o scePower_0024.o scePower_0025.o scePower_0026.o scePower_0027.o scePower_0028.o scePower_0029.o scePower_0030.o scePower_0031.o scePower_0032.o scePower_0033.o scePower_0034.o scePower_0035.o scePower_0036.o scePower_0037.o scePower_0038.o scePower_0039.o scePower_0040.o scePower_0041.o scePower_0042.o scePower_0043.o scePower_0044.o scePower_0045.o scePower_0046.o scePower_0047.o POWERDRIVER_OBJS= scePower_driver_0000.o scePower_driver_0001.o scePower_driver_0002.o scePower_driver_0003.o scePower_driver_0004.o scePower_driver_0005.o scePower_driver_0006.o scePower_driver_0007.o scePower_driver_0008.o scePower_driver_0009.o scePower_driver_0010.o scePower_driver_0011.o scePower_driver_0012.o scePower_driver_0013.o scePower_driver_0014.o scePower_driver_0015.o scePower_driver_0016.o scePower_driver_0017.o scePower_driver_0018.o scePower_driver_0019.o scePower_driver_0020.o scePower_driver_0021.o scePower_driver_0022.o scePower_driver_0023.o scePower_driver_0024.o scePower_driver_0025.o scePower_driver_0026.o scePower_driver_0027.o scePower_driver_0028.o scePower_driver_0029.o scePower_driver_0030.o scePower_driver_0031.o scePower_driver_0032.o scePower_driver_0033.o scePower_driver_0034.o scePower_driver_0035.o scePower_driver_0036.o scePower_driver_0037.o scePower_driver_0038.o scePower_driver_0039.o scePower_driver_0040.o scePower_driver_0041.o scePower_driver_0042.o scePower_driver_0043.o scePower_driver_0044.o scePower_driver_0045.o scePower_driver_0046.o scePower_driver_0047.o scePower_driver_0048.o scePower_driver_0049.o scePower_driver_0050.o scePower_driver_0051.o scePower_driver_0052.o scePower_driver_0053.o scePower_driver_0054.o scePower_driver_0055.o scePower_driver_0056.o scePower_driver_0057.o scePower_driver_0058.o scePower_driver_0059.o scePower_driver_0060.o scePower_driver_0061.o scePower_driver_0062.o scePower_driver_0063.o scePower_driver_0064.o diff --git a/src/power/scePower.S b/src/power/scePower.S index f612d8ba..c7c9113e 100644 --- a/src/power/scePower.S +++ b/src/power/scePower.S @@ -143,3 +143,6 @@ #ifdef F_scePower_0046 IMPORT_FUNC "scePower",0x737486F2,scePowerSetClockFrequency #endif +#ifdef F_scePower_0047 + IMPORT_FUNC "scePower",0x0442D852,scePowerRequestColdReset +#endif From 71fb45a513e5230bb50cf50866dc35ad76f761f9 Mon Sep 17 00:00:00 2001 From: JoseAaronLopezGarcia Date: Sat, 20 Dec 2025 21:46:27 +0100 Subject: [PATCH 5/8] add missing stub --- src/nand/Makefile.am | 2 +- src/nand/sceNand_driver.S | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/nand/Makefile.am b/src/nand/Makefile.am index acfba712..5175b36e 100644 --- a/src/nand/Makefile.am +++ b/src/nand/Makefile.am @@ -10,7 +10,7 @@ CPPFLAGS = -I$(top_srcdir)/src/base -I$(top_srcdir)/src/kernel CFLAGS = @PSPSDK_CFLAGS@ CCASFLAGS = $(CFLAGS) -NAND_DRIVER_OBJS = sceNand_driver_0000.o sceNand_driver_0001.o sceNand_driver_0002.o sceNand_driver_0003.o sceNand_driver_0004.o sceNand_driver_0005.o sceNand_driver_0006.o sceNand_driver_0007.o sceNand_driver_0008.o sceNand_driver_0009.o sceNand_driver_0010.o sceNand_driver_0011.o sceNand_driver_0012.o sceNand_driver_0013.o sceNand_driver_0014.o sceNand_driver_0015.o sceNand_driver_0016.o sceNand_driver_0017.o sceNand_driver_0018.o sceNand_driver_0019.o sceNand_driver_0020.o sceNand_driver_0021.o sceNand_driver_0022.o sceNand_driver_0023.o sceNand_driver_0024.o sceNand_driver_0025.o sceNand_driver_0026.o sceNand_driver_0027.o sceNand_driver_0028.o sceNand_driver_0029.o sceNand_driver_0030.o sceNand_driver_0031.o sceNand_driver_0032.o sceNand_driver_0033.o sceNand_driver_0034.o sceNand_driver_0035.o sceNand_driver_0036.o sceNand_driver_0037.o sceNand_driver_0038.o sceNand_driver_0039.o +NAND_DRIVER_OBJS = sceNand_driver_0000.o sceNand_driver_0001.o sceNand_driver_0002.o sceNand_driver_0003.o sceNand_driver_0004.o sceNand_driver_0005.o sceNand_driver_0006.o sceNand_driver_0007.o sceNand_driver_0008.o sceNand_driver_0009.o sceNand_driver_0010.o sceNand_driver_0011.o sceNand_driver_0012.o sceNand_driver_0013.o sceNand_driver_0014.o sceNand_driver_0015.o sceNand_driver_0016.o sceNand_driver_0017.o sceNand_driver_0018.o sceNand_driver_0019.o sceNand_driver_0020.o sceNand_driver_0021.o sceNand_driver_0022.o sceNand_driver_0023.o sceNand_driver_0024.o sceNand_driver_0025.o sceNand_driver_0026.o sceNand_driver_0027.o sceNand_driver_0028.o sceNand_driver_0029.o sceNand_driver_0030.o sceNand_driver_0031.o sceNand_driver_0032.o sceNand_driver_0033.o sceNand_driver_0034.o sceNand_driver_0035.o sceNand_driver_0036.o sceNand_driver_0037.o sceNand_driver_0038.o sceNand_driver_0039.o sceNand_driver_0040.o libpspnandincludedir = @PSPSDK_INCLUDEDIR@ libpspnandinclude_HEADERS = pspnand_driver.h diff --git a/src/nand/sceNand_driver.S b/src/nand/sceNand_driver.S index 70d07d53..8cc8ac8f 100644 --- a/src/nand/sceNand_driver.S +++ b/src/nand/sceNand_driver.S @@ -122,3 +122,6 @@ #ifdef F_sceNand_driver_0039 IMPORT_FUNC "sceNand_driver",0x9B2AC433,sceNandTestBlock #endif +#ifdef F_sceNand_driver_0040 + IMPORT_FUNC "sceNand_driver",0xC478C1DE,sceNandReadPagesRawAll +#endif From 463b22d41344b70689a656b6ac3176b5ecae216c Mon Sep 17 00:00:00 2001 From: JoseAaronLopezGarcia Date: Sat, 20 Dec 2025 21:53:00 +0100 Subject: [PATCH 6/8] add missing header --- src/kernel/pspsysreg.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/kernel/pspsysreg.h b/src/kernel/pspsysreg.h index c1cad614..ba8d390f 100644 --- a/src/kernel/pspsysreg.h +++ b/src/kernel/pspsysreg.h @@ -73,6 +73,10 @@ int sceSysregMeBusClockDisable(void); */ int sceSysregGetTachyonVersion(void); +int sceSysregKirkBusClockEnable(void); + +int sceSysregAtaBusClockEnable(void); + /**@}*/ #ifdef __cplusplus From 1ec3ceebf147f8a8d9bbeead3a8a82efbf5389ba Mon Sep 17 00:00:00 2001 From: JoseAaronLopezGarcia Date: Sun, 21 Dec 2025 20:26:28 +0100 Subject: [PATCH 7/8] fix PSP_EBOOT_PIC0 --- src/base/build.mak | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/base/build.mak b/src/base/build.mak index 24351741..10b3c9fe 100644 --- a/src/base/build.mak +++ b/src/base/build.mak @@ -102,8 +102,8 @@ ifndef PSP_EBOOT_ICON1 PSP_EBOOT_ICON1 = NULL endif -ifndef PSP_EBOOT_UNKPNG -PSP_EBOOT_UNKPNG = NULL +ifndef PSP_EBOOT_PIC0 +PSP_EBOOT_PIC0 = NULL endif ifndef PSP_EBOOT_PIC1 @@ -143,7 +143,7 @@ kxploit: $(TARGET).elf $(PSP_EBOOT_SFO) $(STRIP) $(TARGET).elf -o $(TARGET)/$(PSP_EBOOT) mkdir -p "$(TARGET)%" $(PACK_PBP) "$(TARGET)%/$(PSP_EBOOT)" $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) \ - $(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \ + $(PSP_EBOOT_ICON1) $(PSP_EBOOT_PIC0) $(PSP_EBOOT_PIC1) \ $(PSP_EBOOT_SND0) NULL $(PSP_EBOOT_PSAR) SCEkxploit: $(TARGET).elf $(PSP_EBOOT_SFO) @@ -151,7 +151,7 @@ SCEkxploit: $(TARGET).elf $(PSP_EBOOT_SFO) $(STRIP) $(TARGET).elf -o __SCE__$(TARGET)/$(PSP_EBOOT) mkdir -p "%__SCE__$(TARGET)" $(PACK_PBP) "%__SCE__$(TARGET)/$(PSP_EBOOT)" $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) \ - $(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \ + $(PSP_EBOOT_ICON1) $(PSP_EBOOT_PIC0) $(PSP_EBOOT_PIC1) \ $(PSP_EBOOT_SND0) NULL $(PSP_EBOOT_PSAR) ifeq ($(NO_FIXUP_IMPORTS), 1) @@ -176,13 +176,13 @@ ifeq ($(ENCRYPT), 1) - $(ENC) $(TARGET).prx $(TARGET).prx endif $(PACK_PBP) $(PSP_EBOOT) $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) \ - $(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \ + $(PSP_EBOOT_ICON1) $(PSP_EBOOT_PIC0) $(PSP_EBOOT_PIC1) \ $(PSP_EBOOT_SND0) $(TARGET).prx $(PSP_EBOOT_PSAR) else $(PSP_EBOOT): $(TARGET).elf $(PSP_EBOOT_SFO) $(STRIP) $(TARGET).elf -o $(TARGET)_strip.elf $(PACK_PBP) $(PSP_EBOOT) $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) \ - $(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \ + $(PSP_EBOOT_ICON1) $(PSP_EBOOT_PIC0) $(PSP_EBOOT_PIC1) \ $(PSP_EBOOT_SND0) $(TARGET)_strip.elf $(PSP_EBOOT_PSAR) -rm -f $(TARGET)_strip.elf endif From e6eabf388b459a88d005909af15f50183b18d670 Mon Sep 17 00:00:00 2001 From: JoseAaronLopezGarcia Date: Mon, 22 Dec 2025 12:50:21 +0100 Subject: [PATCH 8/8] add back support for PSP_EBOOT_UNKPNG --- src/base/build.mak | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/base/build.mak b/src/base/build.mak index 10b3c9fe..e3bb6084 100644 --- a/src/base/build.mak +++ b/src/base/build.mak @@ -102,7 +102,9 @@ ifndef PSP_EBOOT_ICON1 PSP_EBOOT_ICON1 = NULL endif -ifndef PSP_EBOOT_PIC0 +ifdef PSP_EBOOT_UNKPNG +PSP_EBOOT_PIC0 = $(PSP_EBOOT_UNKPNG) +else ifndef PSP_EBOOT_PIC0 PSP_EBOOT_PIC0 = NULL endif