mirror of
https://github.com/joel16/procfw.git
synced 2024-11-23 11:39:54 +00:00
Added 6.61 support.
This commit is contained in:
parent
4d523e1ef9
commit
5ac833fe9d
@ -9,6 +9,11 @@ endif
|
||||
ifeq ($(CONFIG_660), 1)
|
||||
CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
all:
|
||||
|
@ -23,6 +23,19 @@
|
||||
#define SEEDKEY_RETURN_ADDR 0x11F4
|
||||
#define SYSCON_DWORD_ADDR 0x0400714C;
|
||||
|
||||
#endif
|
||||
|
||||
#elif _PSP_FW_VERSION == 661
|
||||
#if PSP_MODEL == 0
|
||||
#define REBOOTEX_ADDR_PATCH 0xCF18
|
||||
#define SYSCON_DWORD_ADDR 0x04006440
|
||||
|
||||
#elif PSP_MODEL == 1
|
||||
#define REBOOTEX_ADDR_PATCH 0xDC98
|
||||
#define SEEDKEY_PATCH_ADDR 0x1170
|
||||
#define SEEDKEY_RETURN_ADDR 0x11F4
|
||||
#define SYSCON_DWORD_ADDR 0x0400714C;
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
@ -41,6 +41,28 @@ const unsigned int seed_key[] = {
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000
|
||||
};
|
||||
#elif _PSP_FW_VERSION == 661
|
||||
const unsigned int seed_key[] = {
|
||||
0x830D9389,
|
||||
0xF2027F71,
|
||||
0x2D060DC5,
|
||||
0xBA78A905,
|
||||
|
||||
0x26C9824D,
|
||||
0x3335A7A5,
|
||||
0xD5CD6368,
|
||||
0xD136A11D,
|
||||
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
|
@ -86,6 +86,8 @@ int (* memlmd_3F2AC9C6)(void *a0,void *a1) = NULL;
|
||||
#define DEVKIT_VER 0x06030910
|
||||
#elif _PSP_FW_VERSION == 660
|
||||
#define DEVKIT_VER 0x06060010
|
||||
#elif _PSP_FW_VERSION == 661
|
||||
#define DEVKIT_VER 0x06060110
|
||||
#endif
|
||||
|
||||
void ClearCaches()
|
||||
|
@ -156,6 +156,63 @@ static const struct AddrList payloadex_patch_list = {
|
||||
|
||||
};
|
||||
|
||||
#elif _PSP_FW_VERSION == 661
|
||||
static const struct AddrList payloadex_patch_list = {
|
||||
#if PSP_MODEL == 0
|
||||
.function_list = {
|
||||
.BootLfatOpen = 0x88604B38,
|
||||
.BootLfatRead = 0x88604CAC,
|
||||
.BootLfatClose = 0x88604C50,
|
||||
.CheckPspConfig = 0x8860A9C0,
|
||||
.DcacheClearAddr= 0x88601614,
|
||||
.IcacheClearAddr= 0x88600EC0,
|
||||
},
|
||||
.patch_list = {
|
||||
.BootLfatOpenPatch = 0x88603FD0,
|
||||
.BootLfatReadPatch = 0x88604038,
|
||||
.BootLfatClosePatch = 0x88604058,
|
||||
.CheckPspConfigPatch= 0x886036AC,
|
||||
.KdebugPatchAddr = 0x8860C8EC,
|
||||
.BtHeaderPatchAddr = 0x8860A9F4,
|
||||
.LfatMountPatchAddr = 0x88603FC8,
|
||||
.LfatSeekPatchAddr1 = 0x88604018,
|
||||
.LfatSeekPatchAddr2 = 0x88604028,
|
||||
.LoadCorePatchAddr = 0x886034B4,
|
||||
.HashCheckPatchAddr = 0x88603A6C,
|
||||
},
|
||||
|
||||
#elif (PSP_MODEL == 1)
|
||||
.function_list = {
|
||||
.BootLfatOpen = 0x88604C00,
|
||||
.BootLfatRead = 0x88604D74,
|
||||
.BootLfatClose = 0x88604D18,
|
||||
.CheckPspConfig = 0x8860AA80,
|
||||
.DcacheClearAddr= 0x886016DC,
|
||||
.IcacheClearAddr= 0x88600F88,
|
||||
},
|
||||
.patch_list = {
|
||||
.BootLfatOpenPatch = 0x88604098,
|
||||
.BootLfatReadPatch = 0x88604100,
|
||||
.BootLfatClosePatch = 0x88604120,
|
||||
.CheckPspConfigPatch= 0x88603790,
|
||||
.KdebugPatchAddr = 0x8860C9AC,
|
||||
.BtHeaderPatchAddr = 0x8860AAB4,
|
||||
.LfatMountPatchAddr = 0x88604090,
|
||||
.LfatSeekPatchAddr1 = 0x886040E0,
|
||||
.LfatSeekPatchAddr2 = 0x886040F0,
|
||||
.LoadCorePatchAddr = 0x8860357C,
|
||||
.HashCheckPatchAddr = 0x88603B34,
|
||||
},
|
||||
#endif
|
||||
.memlmd_list = {
|
||||
.ModuleOffsetAddr = 0x00000AF8,
|
||||
.SigcheckPatchAddr = 0x00005994,
|
||||
.SigcheckFuncAddr = 0x00007824,//memlmd_6192F715
|
||||
.DecryptPatchAddr = 0x00005970,
|
||||
.DecryptFuncAddr = 0x0000783C,//memlmd_EF73E85B
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
#else
|
||||
#error Target PatchList is not found !
|
||||
|
@ -20,6 +20,10 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
CFLAGS = -O2 -G0 -Wall -fshort-wchar
|
||||
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
|
||||
|
@ -24,6 +24,9 @@ PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_VSH);
|
||||
#elif _PSP_FW_VERSION == 660
|
||||
#define DEVKIT_VER 0x06060010
|
||||
#define VERSION_STR "6.60"
|
||||
#elif _PSP_FW_VERSION == 661
|
||||
#define DEVKIT_VER 0x06060110
|
||||
#define VERSION_STR "6.61"
|
||||
#endif
|
||||
|
||||
#define printf pspDebugScreenPrintf
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
typedef unsigned int uint;
|
||||
|
||||
#define FW_661 0x06060110
|
||||
#define FW_660 0x06060010
|
||||
#define FW_639 0x06030910
|
||||
#define FW_635 0x06030510
|
||||
|
@ -36,6 +36,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
|
||||
ASFLAGS = $(CFLAGS)
|
||||
|
||||
|
@ -121,8 +121,9 @@ int sctrlKernelExitVSH(struct SceKernelLoadExecVSHParam *param)
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelExitVSH_660(param);
|
||||
break;
|
||||
#endif
|
||||
@ -156,8 +157,9 @@ int sctrlKernelLoadExecVSHDisc(const char *file, struct SceKernelLoadExecVSHPara
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelLoadExecVSHDisc_660(file, param);
|
||||
break;
|
||||
#endif
|
||||
@ -191,8 +193,9 @@ int sctrlKernelLoadExecVSHDiscUpdater(const char *file, struct SceKernelLoadExec
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelLoadExecVSHDiscUpdater_660(file, param);
|
||||
break;
|
||||
#endif
|
||||
@ -226,8 +229,9 @@ int sctrlKernelLoadExecVSHMs1(const char *file, struct SceKernelLoadExecVSHParam
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelLoadExecVSHMs1_660(file, param);
|
||||
break;
|
||||
#endif
|
||||
@ -261,8 +265,9 @@ int sctrlKernelLoadExecVSHMs2(const char *file, struct SceKernelLoadExecVSHParam
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelLoadExecVSHMs2_660(file, param);
|
||||
break;
|
||||
#endif
|
||||
@ -296,8 +301,9 @@ int sctrlKernelLoadExecVSHEf2(const char *file, struct SceKernelLoadExecVSHParam
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelLoadExecVSHEf2_660(file, param);
|
||||
break;
|
||||
#endif
|
||||
@ -331,8 +337,9 @@ int sctrlKernelLoadExecVSHMs3(const char *file, struct SceKernelLoadExecVSHParam
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelLoadExecVSHMs3_660(file, param);
|
||||
break;
|
||||
#endif
|
||||
@ -366,8 +373,9 @@ int sctrlKernelLoadExecVSHMs4(const char *file, struct SceKernelLoadExecVSHParam
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelLoadExecVSHMs4_660(file, param);
|
||||
break;
|
||||
#endif
|
||||
@ -401,8 +409,9 @@ SceUID sctrlKernelAllocPartitionMemory(SceUID partitionid, const char * name, in
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelAllocPartitionMemory_660(partitionid, name, type, size, addr);
|
||||
break;
|
||||
#endif
|
||||
@ -436,8 +445,9 @@ void* sctrlKernelGetBlockHeadAddr(SceUID blockid)
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelGetBlockHeadAddr_660(blockid);
|
||||
break;
|
||||
#endif
|
||||
@ -468,8 +478,9 @@ u32 sctrlKernelGetModel(void)
|
||||
u32 model = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
model = sceKernelGetModel_660();
|
||||
break;
|
||||
#endif
|
||||
@ -515,8 +526,9 @@ SceModule* sctrlKernelFindModuleByName(char *modname)
|
||||
SceModule *mod = NULL;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
mod = sceKernelFindModuleByName_660(modname);
|
||||
break;
|
||||
#endif
|
||||
@ -545,8 +557,9 @@ int sctrlKernelSetDdrMemoryProtection(void *addr, int size, int prot)
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelSetDdrMemoryProtection_660(addr, size, prot);
|
||||
break;
|
||||
#endif
|
||||
@ -575,8 +588,9 @@ SceUID sctrlKernelCreateHeap(SceUID partitionid, SceSize size, int unk, const ch
|
||||
SceUID ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelCreateHeap_660(partitionid, size, unk, name);
|
||||
break;
|
||||
#endif
|
||||
@ -605,8 +619,9 @@ int sctrlKernelDeleteHeap(SceUID heapid)
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelDeleteHeap_660(heapid);
|
||||
break;
|
||||
#endif
|
||||
@ -635,8 +650,9 @@ int sctrlKernelFreeHeapMemory(SceUID heapid, void *block)
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelFreeHeapMemory_660(heapid, block);
|
||||
break;
|
||||
#endif
|
||||
@ -665,8 +681,9 @@ void* sctrlKernelAllocHeapMemory(SceUID heapid, SceSize size)
|
||||
void *p = NULL;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
p = sceKernelAllocHeapMemory_660(heapid, size);
|
||||
break;
|
||||
#endif
|
||||
@ -695,8 +712,9 @@ int sctrlKernelGetSystemStatus(void)
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelGetSystemStatus_660();
|
||||
break;
|
||||
#endif
|
||||
@ -725,8 +743,9 @@ int sctrlKernelQueryMemoryPartitionInfo(int pid, PspSysmemPartitionInfo *info)
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelQueryMemoryPartitionInfo_660(pid, info);
|
||||
break;
|
||||
#endif
|
||||
@ -755,8 +774,9 @@ int sctrlKernelPartitionMaxFreeMemSize(int pid)
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelPartitionMaxFreeMemSize_660(pid);
|
||||
break;
|
||||
#endif
|
||||
@ -785,8 +805,9 @@ int sctrlKernelPartitionTotalFreeMemSize(int pid)
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelPartitionTotalFreeMemSize_660(pid);
|
||||
break;
|
||||
#endif
|
||||
@ -818,8 +839,9 @@ int sctrlKernelQuerySystemCall(void *func_addr)
|
||||
k1 = pspSdkSetK1(0);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelQuerySystemCall_660(func_addr);
|
||||
break;
|
||||
#endif
|
||||
@ -850,8 +872,9 @@ SceModule* sctrlKernelFindModuleByUID(SceUID modid)
|
||||
SceModule *mod = NULL;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
mod = sceKernelFindModuleByUID_660(modid);
|
||||
break;
|
||||
#endif
|
||||
@ -880,8 +903,9 @@ SceModule* sctrlKernelFindModuleByAddress(u32 address)
|
||||
SceModule *mod = NULL;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
mod = sceKernelFindModuleByAddress_660(address);
|
||||
break;
|
||||
#endif
|
||||
@ -910,8 +934,9 @@ int sctrlKernelCheckExecFile(unsigned char * buffer, int * check)
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelCheckExecFile_660(buffer, check);
|
||||
break;
|
||||
#endif
|
||||
@ -940,8 +965,9 @@ int sctrlKernelLoadModule(const char *path, int flags, SceKernelLMOption *option
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelLoadModule_660(path, flags, option);
|
||||
break;
|
||||
#endif
|
||||
@ -970,8 +996,9 @@ int sctrlKernelStartModule(SceUID modid, SceSize argsize, void *argp, int *statu
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelStartModule_660(modid, argsize, argp, status, option);
|
||||
break;
|
||||
#endif
|
||||
@ -1000,8 +1027,9 @@ int sctrlKernelUnloadModule(SceUID modid)
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelUnloadModule_660(modid);
|
||||
break;
|
||||
#endif
|
||||
@ -1030,8 +1058,9 @@ SceUID sctrlKernelLoadModuleWithApitype2(int apitype, const char *path, int flag
|
||||
SceUID ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceKernelLoadModuleWithApitype2_660(apitype, path, flags, option);
|
||||
break;
|
||||
#endif
|
||||
@ -1058,7 +1087,7 @@ SceUID sctrlKernelLoadModuleWithApitype2(int apitype, const char *path, int flag
|
||||
int sctrlKernelBootFrom(void)
|
||||
{
|
||||
if(psp_model == PSP_GO) {
|
||||
if(psp_fw_version == FW_660) {
|
||||
if((psp_fw_version == FW_660) || (psp_fw_version == FW_661)) {
|
||||
return sceKernelBootFromGo_660();
|
||||
} else if(psp_fw_version == FW_639) {
|
||||
return sceKernelBootFromGo_635();
|
||||
@ -1077,8 +1106,9 @@ int sctrlReadBufferPositive(SceCtrlData *pad_data, int count)
|
||||
int ret = -1;
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
ret = sceCtrlReadBufferPositive_660(pad_data, count);
|
||||
break;
|
||||
#endif
|
||||
|
@ -39,6 +39,13 @@ PSP_FW_VERSION = 660
|
||||
PSP_EBOOT_TITLE = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
OBJS += ../PXE/Launcher/kxp_660.o
|
||||
PSP_FW_VERSION = 661
|
||||
PSP_EBOOT_TITLE = 661
|
||||
endif
|
||||
|
||||
BUILD_PRX = 1
|
||||
PSP_EBOOT_TITLE += PRO-C Fast Recovery
|
||||
|
||||
|
@ -262,7 +262,7 @@ void recovery_sysmem_635(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
void recovery_sysmem_660()
|
||||
{
|
||||
_sw(0x3C058801, SYSMEM_TEXT_ADDR + g_offs->sysmem_patch.sceKernelPowerLockForUser); // lui $a1, 0x8801
|
||||
@ -284,8 +284,8 @@ int kernel_permission_call(void)
|
||||
void (* _sceKernelIcacheInvalidateAll)(void) = (void *)(SYSMEM_TEXT_ADDR + g_offs->sysmem_patch.sceKernelIcacheInvalidateAll);
|
||||
void (* _sceKernelDcacheWritebackInvalidateAll)(void) = (void *)(SYSMEM_TEXT_ADDR + g_offs->sysmem_patch.sceKernelDcacheWritebackInvalidateAll);
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(psp_fw_version == FW_660) {
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if((psp_fw_version == FW_660) || (psp_fw_version == FW_661)) {
|
||||
recovery_sysmem_660();
|
||||
}
|
||||
#endif
|
||||
@ -545,7 +545,7 @@ int main(int argc, char * argv[])
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
{
|
||||
do_exploit_660();
|
||||
}
|
||||
|
@ -35,6 +35,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
BUILD_PRX=1
|
||||
USE_KERNEL_LIBS=1
|
||||
USE_KERNEL_LIBC=1
|
||||
|
@ -18,13 +18,19 @@
|
||||
#include <pspsdk.h>
|
||||
#include "galaxy_patch_offset.h"
|
||||
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660) && !defined(CONFIG_661)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660 or CONFIG_661
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
#ifdef CONFIG_660
|
||||
PatchOffset g_660_offsets = {
|
||||
.fw_version = FW_660,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
PatchOffset g_661_offsets = {
|
||||
.fw_version = FW_661,
|
||||
#endif
|
||||
.StoreFd = 0x00000188 + 0x00008900, /* See 0x00004D98 */
|
||||
.Data1 = 0x00005BB4 - 0x00005BA4 + 0x00000188 + 0x00008900,
|
||||
.Data2 = 0x00005BBC - 0x00005BA4 + 0x00000188 + 0x00008900,
|
||||
@ -114,6 +120,12 @@ PatchOffset *g_offs = NULL;
|
||||
|
||||
void setup_patch_offset_table(u32 fw_version)
|
||||
{
|
||||
#ifdef CONFIG_661
|
||||
if(fw_version == g_661_offsets.fw_version) {
|
||||
g_offs = &g_661_offsets;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(fw_version == g_660_offsets.fw_version) {
|
||||
g_offs = &g_660_offsets;
|
||||
|
@ -36,6 +36,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
PRX_EXPORTS = exports.exp
|
||||
|
||||
BUILD_PRX=1
|
||||
|
@ -18,13 +18,19 @@
|
||||
#include <pspsdk.h>
|
||||
#include "inferno_patch_offset.h"
|
||||
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660) && !defined(CONFIG_661)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660 or CONFIG_661
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
#ifdef CONFIG_660
|
||||
PatchOffset g_660_offsets = {
|
||||
.fw_version = FW_660,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
PatchOffset g_661_offsets = {
|
||||
.fw_version = FW_661,
|
||||
#endif
|
||||
.patches = {
|
||||
0x00003FEC,
|
||||
0x00004024,
|
||||
@ -74,6 +80,12 @@ PatchOffset *g_offs = NULL;
|
||||
|
||||
void setup_patch_offset_table(u32 fw_version)
|
||||
{
|
||||
#ifdef CONFIG_661
|
||||
if(fw_version == g_661_offsets.fw_version) {
|
||||
g_offs = &g_661_offsets;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(fw_version == g_660_offsets.fw_version) {
|
||||
g_offs = &g_660_offsets;
|
||||
|
@ -37,6 +37,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
LIBDIR = ../libs
|
||||
LDFLAGS =
|
||||
LIBS = -lpspkubridge -lpsppower
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include "galaxy.h"
|
||||
#include "inferno.h"
|
||||
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
#include "march33_660.h"
|
||||
#endif
|
||||
|
||||
@ -238,8 +238,8 @@ int install_cfw(void)
|
||||
sceIoRemove(g_old_cfw_files[i]);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(psp_fw_version == FW_660) {
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if((psp_fw_version == FW_660) || (psp_fw_version == FW_661)) {
|
||||
g_file_lists[4].buf = march33_660;
|
||||
g_file_lists[4].size = &size_march33_660;
|
||||
}
|
||||
@ -576,8 +576,8 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(psp_fw_version == FW_660) {
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if((psp_fw_version == FW_660) || (psp_fw_version == FW_661)) {
|
||||
goto version_OK;
|
||||
}
|
||||
#endif
|
||||
|
20
Makefile
20
Makefile
@ -39,6 +39,10 @@ ifeq ($(CONFIG_660), 1)
|
||||
OPT_FLAGS+=CONFIG_660=1
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
OPT_FLAGS+=CONFIG_661=1
|
||||
endif
|
||||
|
||||
ifeq ($(PSID_CHECK), 1)
|
||||
RELEASE_OPTION=PSID_CHECK=1
|
||||
endif
|
||||
@ -69,6 +73,9 @@ ifeq ($(CONFIG_639), 1)
|
||||
endif
|
||||
ifeq ($(CONFIG_660), 1)
|
||||
@mkdir $(DISTRIBUTE)/PSP/GAME/CIPL_Flasher || true
|
||||
endif
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
@mkdir $(DISTRIBUTE)/PSP/GAME/CIPL_Flasher || true
|
||||
endif
|
||||
@rm -f ./Common/*.o
|
||||
|
||||
@ -124,6 +131,14 @@ ifeq ($(CONFIG_660), 1)
|
||||
@cp $(CIPL_INSTALLER)/EBOOT.PBP $(DISTRIBUTE)/PSP/GAME/CIPL_Flasher
|
||||
@cp $(CIPL_INSTALLER)/kpspident/kpspident.prx $(DISTRIBUTE)/PSP/GAME/CIPL_Flasher
|
||||
endif
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
@cd $(CIPL); make $(OPT_FLAGS) $(DEBUG_OPTION)
|
||||
@cd $(CIPL_INSTALLER); make $(OPT_FLAGS) $(DEBUG_OPTION)
|
||||
@cd $(CIPL_INSTALLER)/kpspident; make $(OPT_FLAGS) $(DEBUG_OPTION)
|
||||
@cp $(CIPL_INSTALLER)/ipl_update.prx $(DISTRIBUTE)/PSP/GAME/CIPL_Flasher
|
||||
@cp $(CIPL_INSTALLER)/EBOOT.PBP $(DISTRIBUTE)/PSP/GAME/CIPL_Flasher
|
||||
@cp $(CIPL_INSTALLER)/kpspident/kpspident.prx $(DISTRIBUTE)/PSP/GAME/CIPL_Flasher
|
||||
endif
|
||||
|
||||
clean:
|
||||
@cd $(REBOOTEXBIN); make clean $(DEBUG_OPTION)
|
||||
@ -149,6 +164,11 @@ ifeq ($(CONFIG_660), 1)
|
||||
@cd $(CIPL); make clean $(OPT_FLAGS) $(DEBUG_OPTION)
|
||||
@cd $(CIPL_INSTALLER); make clean $(OPT_FLAGS) $(DEBUG_OPTION)
|
||||
@cd $(CIPL_INSTALLER)/kpspident; make clean $(OPT_FLAGS) $(DEBUG_OPTION)
|
||||
endif
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
@cd $(CIPL); make clean $(OPT_FLAGS) $(DEBUG_OPTION)
|
||||
@cd $(CIPL_INSTALLER); make clean $(OPT_FLAGS) $(DEBUG_OPTION)
|
||||
@cd $(CIPL_INSTALLER)/kpspident; make clean $(OPT_FLAGS) $(DEBUG_OPTION)
|
||||
endif
|
||||
@cd $(SATELITE); make clean $(DEBUG_OPTION)
|
||||
@cd $(LAUNCHER); make clean $(DEBUG_OPTION)
|
||||
|
@ -51,6 +51,13 @@ PSP_FW_VERSION = 660
|
||||
PSP_EBOOT_TITLE = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
OBJS += kxp_660.o
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
PSP_EBOOT_TITLE = 661
|
||||
endif
|
||||
|
||||
BUILD_PRX = 1
|
||||
PSP_EBOOT_TITLE += PRO-C Updater
|
||||
|
||||
|
@ -18,13 +18,19 @@
|
||||
#include <pspsdk.h>
|
||||
#include "launcher_patch_offset.h"
|
||||
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660) && !defined(CONFIG_661)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660 or CONFIG_661
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
#ifdef CONFIG_660
|
||||
PatchOffset g_660_offsets = {
|
||||
.fw_version = FW_660,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
PatchOffset g_661_offsets = {
|
||||
.fw_version = FW_661,
|
||||
#endif
|
||||
.sysmem_patch = {
|
||||
.sceKernelIcacheInvalidateAll = 0x00000E98,
|
||||
.sceKernelDcacheWritebackInvalidateAll = 0x00000744,
|
||||
@ -130,6 +136,12 @@ PatchOffset *g_offs = NULL;
|
||||
|
||||
void setup_patch_offset_table(u32 fw_version)
|
||||
{
|
||||
#ifdef CONFIG_661
|
||||
if(fw_version == g_661_offsets.fw_version) {
|
||||
g_offs = &g_661_offsets;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(fw_version == g_660_offsets.fw_version) {
|
||||
g_offs = &g_660_offsets;
|
||||
|
@ -593,8 +593,8 @@ int main(int argc, char * argv[])
|
||||
|
||||
psp_fw_version = sceKernelDevkitVersion();
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(psp_fw_version == FW_660) {
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if((psp_fw_version == FW_660) || (psp_fw_version == FW_661)) {
|
||||
goto version_OK;
|
||||
}
|
||||
#endif
|
||||
@ -642,8 +642,8 @@ version_OK:
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(psp_fw_version == FW_660) {
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if((psp_fw_version == FW_660) || (psp_fw_version == FW_661)) {
|
||||
do_exploit_660();
|
||||
}
|
||||
#endif
|
||||
|
@ -21,6 +21,10 @@ ifeq ($(CONFIG_660), 1)
|
||||
CFLAGS+=-DCONFIG_660=1
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS+=-DCONFIG_661=1
|
||||
endif
|
||||
|
||||
a.bin:
|
||||
bin2c systemctrl.prx systemctrl.h systemcontrol
|
||||
psp-gcc $(CFLAGS) main.c -o main.s
|
||||
|
@ -35,6 +35,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
BUILD_PRX = 1
|
||||
PRX_EXPORTS = exports.exp
|
||||
|
||||
|
@ -18,13 +18,19 @@
|
||||
#include <pspsdk.h>
|
||||
#include "systemctrl_pxe_patch_offset.h"
|
||||
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660) && !defined(CONFIG_661)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660 or CONFIG_661
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
#ifdef CONFIG_660
|
||||
PXEPatchOffset g_pxe_660_offsets = {
|
||||
.fw_version = FW_660,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
PXEPatchOffset g_pxe_661_offsets = {
|
||||
.fw_version = FW_661,
|
||||
#endif
|
||||
.vsh_module_patch = {
|
||||
.module_start = 0x0000F5F0,
|
||||
},
|
||||
@ -62,6 +68,12 @@ PXEPatchOffset *g_pxe_offs = NULL;
|
||||
|
||||
void setup_pxe_patch_offset_table(u32 fw_version)
|
||||
{
|
||||
#ifdef CONFIG_661
|
||||
if(fw_version == g_pxe_661_offsets.fw_version) {
|
||||
g_pxe_offs = &g_pxe_661_offsets;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(fw_version == g_pxe_660_offsets.fw_version) {
|
||||
g_pxe_offs = &g_pxe_660_offsets;
|
||||
|
@ -34,6 +34,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
LDFLAGS = -mno-crt0 -nostartfiles -L. -L../libs
|
||||
LIBS += -lpspmodulemgr_kernel -lpspsystemctrl_kernel -lpspkubridge
|
||||
LIBS += -lpspsemaphore
|
||||
|
@ -18,13 +18,19 @@
|
||||
#include <pspsdk.h>
|
||||
#include "popcorn_patch_offset.h"
|
||||
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660) && !defined(CONFIG_661)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660 or CONFIG_661
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
#ifdef CONFIG_660
|
||||
PatchOffset g_660_offsets = {
|
||||
.fw_version = FW_660,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
PatchOffset g_661_offsets = {
|
||||
.fw_version = FW_661,
|
||||
#endif
|
||||
.popsman_patch = {
|
||||
.get_rif_path = 0x00000190,
|
||||
.get_rif_path_call1 = 0x00002798,
|
||||
@ -250,6 +256,12 @@ PatchOffset *g_offs = NULL;
|
||||
|
||||
void setup_patch_offset_table(u32 fw_version)
|
||||
{
|
||||
#ifdef CONFIG_661
|
||||
if(fw_version == g_661_offsets.fw_version) {
|
||||
g_offs = &g_661_offsets;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(fw_version == g_660_offsets.fw_version) {
|
||||
g_offs = &g_660_offsets;
|
||||
|
@ -23,6 +23,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
LDFLAGS = -mno-crt0 -nostartfiles -L ../libs
|
||||
LIBS += -lpspkubridge ../CrossFW/cross_fw.a
|
||||
|
||||
|
@ -21,6 +21,10 @@ ifeq ($(CONFIG_660), 1)
|
||||
CFLAGS+=-DCONFIG_660=1
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS+=-DCONFIG_661=1
|
||||
endif
|
||||
|
||||
a.bin:
|
||||
psp-gcc $(CFLAGS) main.c -o main.s
|
||||
psp-as main.s -o main.o
|
||||
|
@ -21,8 +21,8 @@
|
||||
#include <pspsdk.h>
|
||||
#include "utils.h"
|
||||
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660) && !defined(CONFIG_661)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660 or CONFIG_661
|
||||
#endif
|
||||
|
||||
struct RebootexPatch {
|
||||
@ -64,15 +64,28 @@ typedef struct _PatchOffset {
|
||||
|
||||
extern PatchOffset *g_offs;
|
||||
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
#ifdef CONFIG_660
|
||||
PatchOffset g_660_offsets = {
|
||||
.fw_version = FW_660,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
PatchOffset g_661_offsets = {
|
||||
.fw_version = FW_661,
|
||||
#endif
|
||||
.iCacheFlushAll = 0x0000013C,
|
||||
.dCacheFlushAll = 0x00000890,
|
||||
.rebootex_patch_01g = {
|
||||
#ifdef CONFIG_660
|
||||
.sceBootLfatOpen = 0x0000822C,
|
||||
.sceBootLfatRead = 0x000083A0,
|
||||
.sceBootLfatClose = 0x00008344,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
.sceBootLfatOpen = 0x0000B6C0,
|
||||
.sceBootLfatRead = 0x0000AD58,
|
||||
.sceBootLfatClose = 0x00009C78,
|
||||
#endif
|
||||
.UnpackBootConfig = 0x0000574C,
|
||||
.sceBootLfatOpenCall = 0x000027C4,
|
||||
.sceBootLfatReadCall = 0x00002834,
|
||||
@ -87,9 +100,16 @@ PatchOffset g_660_offsets = {
|
||||
.UnpackBootConfigBufferAddress = 0x000070D4,
|
||||
},
|
||||
.rebootex_patch_other = {
|
||||
#ifdef CONFIG_660
|
||||
.sceBootLfatOpen = 0x000082EC,
|
||||
.sceBootLfatRead = 0x00008460,
|
||||
.sceBootLfatClose = 0x00008404,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
.sceBootLfatOpen = 0x0000B780,
|
||||
.sceBootLfatRead = 0x0000AE18,
|
||||
.sceBootLfatClose = 0x00009D38,
|
||||
#endif
|
||||
.UnpackBootConfig = 0x0000580C,
|
||||
.sceBootLfatOpenCall = 0x0000288C,
|
||||
.sceBootLfatReadCall = 0x000028FC,
|
||||
@ -272,6 +292,12 @@ PatchOffset *g_offs = NULL;
|
||||
|
||||
static inline void setup_patch_offset_table(u32 fw_version)
|
||||
{
|
||||
#ifdef CONFIG_661
|
||||
if(fw_version == g_661_offsets.fw_version) {
|
||||
g_offs = &g_661_offsets;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(fw_version == g_660_offsets.fw_version) {
|
||||
g_offs = &g_660_offsets;
|
||||
|
@ -25,6 +25,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
|
||||
ASFLAGS = $(CFLAGS)
|
||||
|
||||
|
@ -33,6 +33,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
PRX_EXPORTS = exports.exp
|
||||
|
||||
LIBS = -lpspsystemctrl_user -lpspkubridge
|
||||
|
@ -150,8 +150,8 @@ int blit_string_ctr(int sy,const char *msg)
|
||||
sx = 480/2-scePaf_strlen_620(msg)*(8/2);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(psp_fw_version == FW_660)
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if((psp_fw_version == FW_660) || (psp_fw_version == FW_661))
|
||||
sx = 480/2-scePaf_strlen_660(msg)*(8/2);
|
||||
#endif
|
||||
|
||||
|
@ -31,8 +31,8 @@
|
||||
#include "blit.h"
|
||||
#include "utils.h"
|
||||
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660) && !defined(CONFIG_661)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660 or CONFIG_661
|
||||
#endif
|
||||
|
||||
extern u32 psp_model;
|
||||
|
@ -120,8 +120,8 @@ int EatKey(SceCtrlData *pad_data, int count)
|
||||
scePaf_memcpy_620(&ctrl_pad, pad_data, sizeof(SceCtrlData));
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if (psp_fw_version == FW_660)
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if ((psp_fw_version == FW_660) || (psp_fw_version == FW_661))
|
||||
scePaf_memcpy_660(&ctrl_pad, pad_data, sizeof(SceCtrlData));
|
||||
#endif
|
||||
|
||||
@ -225,8 +225,8 @@ static int get_umdvideo(UmdVideoList *list, char *path)
|
||||
scePaf_sprintf_620(fullpath, "%s/%s", path, dir.d_name);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if (psp_fw_version == FW_660)
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if ((psp_fw_version == FW_660) || (psp_fw_version == FW_661))
|
||||
scePaf_sprintf_660(fullpath, "%s/%s", path, dir.d_name);
|
||||
#endif
|
||||
|
||||
@ -448,8 +448,8 @@ int TSRThread(SceSize args, void *argp)
|
||||
scePaf_memcpy_620(&cnf_old, &cnf, sizeof(SEConfig));
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if (psp_fw_version == FW_660)
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if ((psp_fw_version == FW_660) || (psp_fw_version == FW_661))
|
||||
scePaf_memcpy_660(&cnf_old, &cnf, sizeof(SEConfig));
|
||||
#endif
|
||||
|
||||
|
@ -187,8 +187,8 @@ int menu_setup(void)
|
||||
scePaf_sprintf_620(freq_buf, "%d/%d", cnf.vshcpuspeed, cnf.vshbusspeed);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if (psp_fw_version == FW_660)
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if ((psp_fw_version == FW_660) || (psp_fw_version == FW_661))
|
||||
scePaf_sprintf_660(freq_buf, "%d/%d", cnf.vshcpuspeed, cnf.vshbusspeed);
|
||||
#endif
|
||||
|
||||
@ -216,8 +216,8 @@ int menu_setup(void)
|
||||
scePaf_sprintf_620(freq2_buf, "%d/%d", cnf.umdisocpuspeed, cnf.umdisobusspeed);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if (psp_fw_version == FW_660)
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if ((psp_fw_version == FW_660) || (psp_fw_version == FW_661))
|
||||
scePaf_sprintf_660(freq2_buf, "%d/%d", cnf.umdisocpuspeed, cnf.umdisobusspeed);
|
||||
#endif
|
||||
|
||||
@ -245,8 +245,8 @@ int menu_setup(void)
|
||||
scePaf_sprintf_620(device_buf, "%s %d", g_messages[MSG_FLASH], cnf.usbdevice-1);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if (psp_fw_version == FW_660)
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if ((psp_fw_version == FW_660) || (psp_fw_version == FW_661))
|
||||
scePaf_sprintf_660(device_buf, "%s %d", g_messages[MSG_FLASH], cnf.usbdevice-1);
|
||||
#endif
|
||||
|
||||
|
@ -51,8 +51,8 @@ int get_max_len(char **str_list,int nums)
|
||||
len = scePaf_strlen_620(str_list[i]);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(psp_fw_version == FW_660)
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
if((psp_fw_version == FW_660) || (psp_fw_version == FW_661))
|
||||
len = scePaf_strlen_660(str_list[i]);
|
||||
#endif
|
||||
|
||||
|
@ -37,6 +37,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
|
||||
ASFLAGS = $(CFLAGS)
|
||||
|
||||
|
@ -18,13 +18,19 @@
|
||||
#include <pspsdk.h>
|
||||
#include "stargate_patch_offset.h"
|
||||
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660) && !defined(CONFIG_661)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660 or CONFIG_661
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
#ifdef CONFIG_660
|
||||
PatchOffset g_660_offsets = {
|
||||
.fw_version = FW_660,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
PatchOffset g_661_offsets = {
|
||||
.fw_version = FW_661,
|
||||
#endif
|
||||
.sceMesgLedDecryptGame1 = {
|
||||
0x00003160, // 01g
|
||||
0x000034F8, // 02g
|
||||
@ -162,6 +168,12 @@ PatchOffset *g_offs = NULL;
|
||||
|
||||
void setup_patch_offset_table(u32 fw_version)
|
||||
{
|
||||
#ifdef CONFIG_661
|
||||
if(fw_version == g_661_offsets.fw_version) {
|
||||
g_offs = &g_661_offsets;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(fw_version == g_660_offsets.fw_version) {
|
||||
g_offs = &g_660_offsets;
|
||||
|
@ -70,6 +70,12 @@ OBJS += nid_660_data.o
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
OBJS += nid_660_data.o
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
|
||||
ASFLAGS = $(CFLAGS)
|
||||
|
||||
|
@ -393,8 +393,9 @@ void setup_nid_resolver(void)
|
||||
_sw(MAKE_CALL(_sceKernelLinkLibraryEntriesForUser), modmgr->text_addr + g_offs->modulemgr_patch.sceKernelLinkLibraryEntriesForUserCall);
|
||||
|
||||
switch(psp_fw_version) {
|
||||
#ifdef CONFIG_660
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
case FW_660:
|
||||
case FW_661:
|
||||
nid_fix = nid_660_fix;
|
||||
nid_fix_size = nid_660_fix_size;
|
||||
break;
|
||||
|
@ -18,13 +18,19 @@
|
||||
#include <pspsdk.h>
|
||||
#include "systemctrl_patch_offset.h"
|
||||
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660) && !defined(CONFIG_661)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660 or CONFIG_661
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
#ifdef CONFIG_660
|
||||
PatchOffset g_660_offsets = {
|
||||
.fw_version = FW_660,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
PatchOffset g_661_offsets = {
|
||||
.fw_version = FW_661,
|
||||
#endif
|
||||
.interruptman_patch = {
|
||||
.InvalidSyscallCheck1 = 0x00000DEC,
|
||||
.InvalidSyscallCheck2 = 0x00000E98,
|
||||
@ -766,6 +772,12 @@ PatchOffset *g_offs = NULL;
|
||||
|
||||
void setup_patch_offset_table(u32 fw_version)
|
||||
{
|
||||
#ifdef CONFIG_661
|
||||
if(fw_version == g_661_offsets.fw_version) {
|
||||
g_offs = &g_661_offsets;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(fw_version == g_660_offsets.fw_version) {
|
||||
g_offs = &g_660_offsets;
|
||||
|
@ -37,6 +37,11 @@ CFLAGS += -DCONFIG_660=1
|
||||
PSP_FW_VERSION = 660
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_661), 1)
|
||||
CFLAGS += -DCONFIG_661=1
|
||||
PSP_FW_VERSION = 661
|
||||
endif
|
||||
|
||||
OBJS += $(IMPORTS)
|
||||
|
||||
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
|
||||
|
@ -18,13 +18,19 @@
|
||||
#include <pspsdk.h>
|
||||
#include "vshctrl_patch_offset.h"
|
||||
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660
|
||||
#if !defined(CONFIG_635) && !defined(CONFIG_620) && !defined(CONFIG_639) && !defined(CONFIG_660) && !defined(CONFIG_661)
|
||||
#error You have to define CONFIG_620 or CONFIG_635 or CONFIG_639 or CONFIG_660 or CONFIG_661
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_660) || defined(CONFIG_661)
|
||||
#ifdef CONFIG_660
|
||||
PatchOffset g_660_offsets = {
|
||||
.fw_version = FW_660,
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
PatchOffset g_661_offsets = {
|
||||
.fw_version = FW_661,
|
||||
#endif
|
||||
.vshbridge_patch = {
|
||||
.sceDisplaySetHoldMode = 0x00005630,
|
||||
.sceDisplaySetHoldModeCall = 0x00001A34,
|
||||
@ -33,7 +39,12 @@ PatchOffset g_660_offsets = {
|
||||
},
|
||||
.sysconf_plugin_patch = {
|
||||
.SystemVersionStr = 0x0002A62C,
|
||||
#ifdef CONFIG_660
|
||||
.SystemVersionMessage = "6.60 PRO-%c",
|
||||
#endif
|
||||
#ifdef CONFIG_661
|
||||
.SystemVersionMessage = "6.61 PRO-%c",
|
||||
#endif
|
||||
.SystemVersion = 0x000192E0,
|
||||
.MacAddressStr = 0x0002E9A0,
|
||||
.SlimColor = 0x000076EC,
|
||||
@ -374,6 +385,12 @@ PatchOffset *g_offs = NULL;
|
||||
|
||||
void setup_patch_offset_table(u32 fw_version)
|
||||
{
|
||||
#ifdef CONFIG_661
|
||||
if(fw_version == g_661_offsets.fw_version) {
|
||||
g_offs = &g_661_offsets;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_660
|
||||
if(fw_version == g_660_offsets.fw_version) {
|
||||
g_offs = &g_660_offsets;
|
||||
|
Loading…
Reference in New Issue
Block a user