Guys, i need a code to detect the following
Console Model: Fat, Slim or Super Slim
Flash Type: Nand, Nor, eMMC
Hackeable: Yes or No
I have almost all of it working, execept for eMMC and if the 25xxx is hackeable or not, here's what i have
So, what I need is a way to determine whether the CECH-25xxA/B model is hackable (meaning CFW-compatible). I could use the MINVER check, but it's not entirely reliable since the user might have changed the IDPS (which is my case).
Because of this, I started wondering how BGToolset detects it. I tested it on my system, and although my MINVER is 3.65, which doesn't match Metldr0.2, BGToolset still detects it as hackable.
Additionally, is there a way to detect the eMMC on SuperSlim models?
Console Model: Fat, Slim or Super Slim
Flash Type: Nand, Nor, eMMC
Hackeable: Yes or No
I have almost all of it working, execept for eMMC and if the 25xxx is hackeable or not, here's what i have
Code:
struct ConsoleInfo {
string model;
string flash_type;
string hackeable;
};
ConsoleInfo get_console_info() {
ConsoleInfo info = { "Unknown", "Unknown", "Unknown" };
uint8_t pscode[8] = {0};
int ret = sys_ss_appliance_info_manager_get_ps_code(pscode);
if (ret != CELL_OK) {
info.model = "Error";
info.flash_type = "AIM syscall failed";
return info;
}
uint8_t sub_code = pscode[5];
switch (sub_code) {
// FAT Models
case 0x01: // Model CECHAxx - Motherboard COK-001
case 0x02: // Model CECHBxx - Motherboard COK-002MC
case 0x03: // Model CECHCxx - Motherboard COK-002
case 0x04: // Model CECHExx - Motherboard COK-002W
case 0x05: // Model CECHGxx - Motherboard SEM-001
info.model = "Fat";
info.flash_type = "NAND";
info.hackeable = "Yes";
break;
// FAT Models
case 0x06: // Model CECHHxx - Motherboard DIA-001
case 0x07: // Model CECHJ/Kxx - Motherboard DIA-002
case 0x08: // Model CECHL/M/P/Qxx - Motherboard VER-001
info.model = "Fat";
info.flash_type = "NOR";
info.hackeable = "Yes";
break;
// SLIM Models
case 0x09: // Model CECH-20xxA/B - Motherboard DYN-001
case 0x0A: // Model CECH-21xxA/B - Motherboard SUR-001
info.model = "Slim";
info.flash_type = "NOR";
info.hackeable = "Yes";
break;
// Slim Models (Not All are Hackeable)
case 0x0B: // Model CECH-25xxA/B - Motherboard JTP-001 / JSP-001
info.model = "Slim";
info.flash_type = "NOR";
info.hackeable = "Yes";
break;
// Slim Model
case 0x0C: // Model CECH-30xxA/B - Motherboard KTE-001
info.model = "Slim";
info.flash_type = "NOR";
info.hackeable = "No";
break;
// Super Slim Models
case 0x0D: // Model CECH-40xxB/C v1 - Motherboard MSX-001
case 0x0E: // Model CECH-40xxA v1 - Motherboard MPX-001
case 0x0F: // Model CECH-40xxB/C v2 - Motherboard Unknown
case 0x10: // Model CECH-40xxA v2 - Motherboard Unknown
case 0x11: // Model CECH-42xxB/C - Motherboard NPX-001
case 0x12: // Model CECH-42xxA - Motherboard PPX-001 / PQX-001
case 0x13: // Model CECH-43xxB/C - Motherboard RTX-001
case 0x14: // Model CECH-43xxA - Motherboard REX-001
info.model = "Super Slim";
info.flash_type = "NOR";
info.hackeable = "No";
break;
default:
{
char buffer[32];
snprintf(buffer, sizeof(buffer), "Unknown (0x%02X)", sub_code);
info.model = buffer;
info.flash_type = "Unknown";
info.hackeable = "Unknown";
}
break;
}
return info;
}
So, what I need is a way to determine whether the CECH-25xxA/B model is hackable (meaning CFW-compatible). I could use the MINVER check, but it's not entirely reliable since the user might have changed the IDPS (which is my case).
Because of this, I started wondering how BGToolset detects it. I tested it on my system, and although my MINVER is 3.65, which doesn't match Metldr0.2, BGToolset still detects it as hackable.
Additionally, is there a way to detect the eMMC on SuperSlim models?
Last edited:
