diff --git a/rpcs3/Crypto/key_vault.h b/rpcs3/Crypto/key_vault.h index 2b393b5bb0..dd800c29f0 100644 --- a/rpcs3/Crypto/key_vault.h +++ b/rpcs3/Crypto/key_vault.h @@ -68,10 +68,12 @@ static u8 NP_RIF_KEY[0x10] = { 0xDA, 0x7D, 0x4B, 0x5E, 0x49, 0x9A, 0x4F, 0x53, 0xB1, 0xC1, 0xA1, 0x4A, 0x74, 0x84, 0x44, 0x3B }; +// PSP Minis static u8 NP_PSP_KEY_1[0x10] = { 0x2A, 0x6A, 0xFB, 0xCF, 0x43, 0xD1, 0x57, 0x9F, 0x7D, 0x73, 0x87, 0x41, 0xA1, 0x3B, 0xD4, 0x2E }; +// PSP Remasters static u8 NP_PSP_KEY_2[0x10] = { 0x0D, 0xB8, 0x57, 0x32, 0x36, 0x6C, 0xD7, 0x34, 0xFC, 0x87, 0x9E, 0x74, 0x33, 0x43, 0xBB, 0x4F }; diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index 9253fdbe77..cccfaa47b4 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -1160,6 +1160,17 @@ game_boot_result Emulator::Load(const std::string& title_id, bool add_only, bool fs::file card_2_file(vfs::get("/dev_hdd0/savedata/vmc/" + argv[2]), fs::write + fs::create); card_2_file.trunc(128 * 1024); } + else if (m_cat == "PE" && from_hdd0_game) + { + // PSP Remaster located in dev_hdd0/game + sys_log.notice("PSP Remaster Game: %s, %s", m_title_id, m_title); + + const std::string game_path = "/dev_hdd0/game/" + m_path.substr(hdd0_game.size(), 9); + + argv.resize(2); + argv[0] = "/dev_flash/pspemu/psp_emulator.self"; + argv[1] = game_path; + } else if (m_cat != "DG" && m_cat != "GD") { // Don't need /dev_bdvd @@ -1298,7 +1309,7 @@ game_boot_result Emulator::Load(const std::string& title_id, bool add_only, bool // Open SELF or ELF std::string elf_path = m_path; - if (m_cat == "1P") + if (m_cat == "1P" || m_cat == "PE") { // Use emulator path elf_path = vfs::get(argv[0]);