System: Rewrite EXE override/loading

Relies on POST=7 as a kernel initialization indicator, instead of
patching the BIOS.

Fixes EXE loading with OpenBIOS and PS2 BIOS, and fast boot getting
baked into save states.
This commit is contained in:
Stenzek
2024-07-28 16:16:05 +10:00
parent 7b99fcbbf3
commit 6fe0c986fa
13 changed files with 327 additions and 322 deletions

View File

@ -10,6 +10,7 @@
#include <array>
#include <bitset>
#include <optional>
#include <span>
#include <string>
#include <string_view>
#include <vector>
@ -218,4 +219,7 @@ std::optional<PhysicalMemoryAddress> SearchMemory(PhysicalMemoryAddress start_ad
void AddTTYCharacter(char ch);
void AddTTYString(std::string_view str);
/// Injects a PS-EXE into memory at its specified load location. If set_pc is set, execution will be redirected.
bool InjectExecutable(std::span<const u8> buffer, bool set_pc, Error* error);
} // namespace Bus