diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index 36f034c655..cfb75d3735 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -91,6 +91,7 @@ void fmt_class_string::format(std::string& out, u64 arg) case game_boot_result::install_failed: return "Game install failed"; case game_boot_result::decryption_error: return "Failed to decrypt content"; case game_boot_result::file_creation_error: return "Could not create important files"; + case game_boot_result::firmware_missing: return "Firmware is missing"; } return unknown; }); @@ -901,6 +902,11 @@ game_boot_result Emulator::Load(const std::string& title_id, bool add_only, bool sys_log.notice("Hdd1: %s", vfs::get("/dev_hdd1")); } + if (!fs::is_file(g_cfg.vfs.get_dev_flash() + "sys/external/liblv2.sprx")) + { + return game_boot_result::firmware_missing; + } + // Special boot mode (directory scan) if (!add_only && fs::is_dir(m_path)) { diff --git a/rpcs3/Emu/System.h b/rpcs3/Emu/System.h index 53304418ac..c6b67d4cf0 100644 --- a/rpcs3/Emu/System.h +++ b/rpcs3/Emu/System.h @@ -26,6 +26,7 @@ enum class game_boot_result : u32 install_failed, decryption_error, file_creation_error, + firmware_missing, }; struct EmuCallbacks diff --git a/rpcs3/rpcs3qt/main_window.cpp b/rpcs3/rpcs3qt/main_window.cpp index adda14e549..4f36056ff0 100644 --- a/rpcs3/rpcs3qt/main_window.cpp +++ b/rpcs3/rpcs3qt/main_window.cpp @@ -256,12 +256,15 @@ void main_window::show_boot_error(game_boot_result status) case game_boot_result::file_creation_error: message = tr("The emulator could not create files required for booting."); break; + case game_boot_result::firmware_missing: + message = tr("Firmware has not been installed. Install firmware with the \"File > Install Firmware\" menu option."); + break; case game_boot_result::generic_error: default: message = tr("Unknown error."); break; } - const QString link = tr("

For information on how to dump your PS3 games, read the quickstart guide."); + const QString link = tr("

For information on setting up the emulator and dumping your PS3 games, read the quickstart guide."); QMessageBox msg; msg.setWindowTitle(tr("Boot Failed"));