From 5cefdf718424fa90dd570cea6d33a65de7ac06d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 21 Oct 2026 00:51:21 +0200 Subject: [PATCH] POPS: Boot with firmware 6.10 6.10's popsman.prx imports by 6.20's NIDs, and has the same code at another layout. Co-Authored-By: Claude Opus 5.5 (1M context) --- Core/HLE/PopsBoot.cpp | 3 ++- Core/PSPLoaders.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Core/HLE/PopsBoot.cpp b/Core/HLE/PopsBoot.cpp index 4405b1a1c8..721905919b 100644 --- a/Core/HLE/PopsBoot.cpp +++ b/Core/HLE/PopsBoot.cpp @@ -81,6 +81,7 @@ static const PopsManLayout POPSMAN_LAYOUTS[] = { { 0x1E20, 0x120, 0x266C, 0x49E0, 0x4A18, 0x4A1C, 0x0A28, 0x0AB8 }, // 6.35-6.61 { 0x1E48, 0x120, 0x2694, 0x4AE0, 0x4B18, 0x4B1C, 0x0A28, 0x0AB8 }, // 6.30-6.31 { 0x1E48, 0x130, 0x26F8, 0x4B30, 0x4B68, 0x4B6C, 0x0A28, 0x0AB8 }, // 6.20 + { 0x19E8, 0x130, 0x2270, 0x46D0, 0x4704, 0x4708, 0x07B8, 0x0848 }, // 6.10 }; static int g_popsManLayout = 0; @@ -423,7 +424,7 @@ static bool IsUsableIcon0(FileLoader *loader) { bool __PopsBootStartInit(FileLoader *pbp, const std::string &gamePath, std::string *error) { if (!FindPopsManLayout()) { auto er = GetI18NCategory(I18NCat::ERRORS); - *error = er->T("PS1FirmwareVersion", "So far, PS1 games only run with firmware 6.20 to 6.61, and a different version is installed. Install one of those from an official PSP update file in Settings > Tools > PSP Firmware."); + *error = er->T("PS1FirmwareVersion", "So far, PS1 games only run with firmware 6.10 to 6.61, and a different version is installed. Install one of those from an official PSP update file in Settings > Tools > PSP Firmware."); return false; } const u32 base = PopsManBase(); diff --git a/Core/PSPLoaders.cpp b/Core/PSPLoaders.cpp index af4e8d02d6..e186b8a448 100644 --- a/Core/PSPLoaders.cpp +++ b/Core/PSPLoaders.cpp @@ -664,7 +664,7 @@ bool Load_PSP_POPS(FileLoader *fileLoader, std::string *error_string) { static const char *const popsmanPath = "flash0:/kd/popsman.prx"; if (!pspFileSystem.GetFileInfo(popsmanPath).exists) { auto er = GetI18NCategory(I18NCat::ERRORS); - *error_string = er->T("PS1NoFirmware", "PS1 games need the PS1 emulator in the PSP's firmware, and no firmware is installed. Install firmware 6.20 to 6.61 from an official PSP update file in Settings > Tools > PSP Firmware. Starting a PSP game whose disc has an updater on it also installs its firmware."); + *error_string = er->T("PS1NoFirmware", "PS1 games need the PS1 emulator in the PSP's firmware, and no firmware is installed. Install firmware 6.10 to 6.61 from an official PSP update file in Settings > Tools > PSP Firmware. Starting a PSP game whose disc has an updater on it also installs its firmware."); return false; }