Skip to content

ghostldr v0.4.0

Choose a tag to compare

@asylumexp asylumexp released this 22 Oct 08:26
· 48 commits to main since this release

Changelog

New

  • Desktop app for macOS, Windows and Linux: find the console, check the setup, prepare and install a game, play with the live log, plus a library of installed titles, the save manager and troubleshooting.
    • Installers: macOS universal .dmg, Windows setup.exe, .deb, and AppImages for x86_64 and aarch64. All include Python except the .deb.
    • The release zip also has the app in app/, which needs Python 3.11+.
  • Modules outside sce_module/ load. Unity titles keep their runtime in Media/Modules, and those modules are now found anywhere in the title. With the pad fix below, the Unity homebrew PS4-Xplorer 1.34 reaches its file browser.
  • Host tooling, from x0trouble's PR #1:
    • run.py doctor checks the computer and the console;
    • the boot preflight checks imports before sending;
    • tools/stub_report.py ranks the stubs a game called;
    • plain-language [hint] lines after extension failures.
  • Docs: a streamlined README, and docs/architecture.md for the layout and internals.

Fixed

  • Pad: the buffered scePadRead now returns the current state, so titles that only read the pad that way (Unity) get input.
  • Memory: a no-access anonymous mmap up to 64 MiB is now backed by real memory, so a later mprotect can open it. Reserve-then-commit allocators, such as Unity's Mono, need this.
  • Preflight: functions the extension implements by NID now count as resolved; Ghost and Bloodborne no longer ask before booting. It also checks the dump of the title being booted.
  • stub_report.py: it now counts the lines run.py writes to run.log.
  • PS4 (still untested on a PS4): the compiler checks can no longer hang, the compiler is checked on known-good memory first, and every step is logged.

How to use

Using the prebuilt release