SpeedBreaker v0.1.9 Windows beta 1

Co-authored-by: rafidwayne <117944293+rafidwayne@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
committed 2026-10-24 19:31:48 +00:00
1 parent 57b0c69334
commit 61365bd067
99 files changed
+7457 -431

No files matched your search

+8 -8
View File
@@ -2,6 +2,9 @@
// GPL-3.0-or-later. Modified for SpeedBreaker.
#include "../stdafx.h"
#include "memory.h"
#ifdef _WIN32
#include <platform/memory.h>
#endif
#ifndef _WIN32
#include <cerrno>
@@ -97,16 +100,13 @@ bool Memory::MapPhysicalMirrors()
Memory::Memory()
{
#ifdef _WIN32
base = (uint8_t*)VirtualAlloc((void*)0x100000000ull, PPC_MEMORY_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
if (base == nullptr)
base = (uint8_t*)VirtualAlloc(nullptr, PPC_MEMORY_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
// SpeedBreaker: the same layout through placeholders: the physical
// windows alias one section, the rest is private (platform/memory.h).
// A view must fill its placeholder, so the 0xE window is unshifted.
base = platform::MapGuestSpace();
if (base == nullptr)
return;
DWORD oldProtect;
VirtualProtect(base, 4096, PAGE_NOACCESS, &oldProtect);
eWindowShift = 0;
#else
// NFSMW_TEST_RESERVE_FAIL=1|2: fail the reservation or the mirrors as an
// iOS without room would (memory_status.h), to see the startup message