Games and modsResearchSource available
Target: Bloodborne (CUSA03173)

Paleblood: A Functional Decompilation of Bloodborne

by Yharnam-Hunters RepositorySave · follow · discuss0 views
Platform
Linux
Outcome
Research
Bloodborne (CUSA03173): A functional C++ decompilation of Bloodborne with a custom runtime.
Image: Source: raw.githubusercontent.com

Evidence at a glance

Loading source evidence…

What was done

Paleblood is a project to rewrite Bloodborne's PS4 executable into readable C++ and build a native PC runtime. It uses a verification harness to ensure functional parity with the original game, though it does not yet support full gameplay.

Paleblood is a functional decompilation project aiming to port Bloodborne to PC by rewriting the game's 1.09 executable into readable C++ and implementing a custom runtime. The project emphasizes functional parity, where each rewritten function is verified against the original machine code using a harness that compares return values, registers, and library calls. As of the latest documentation, 21 of 157,757 functions (0.01%) are verified. The project's runtime currently handles loader tasks and basic system imports, though it stops at scePthreadAttrGetaffinity during boot. The frame loop, including the clock and frame limiter, has been decompiled and verified. The project provides options like BB_LIMITER_WAIT=sleep to modify behavior, though the README notes that the original game's frame limiter uses a spinning wait rather than sleeping. AI models, including Claude, are credited in commit logs for assisting with documentation, runtime implementation, and analysis. The project requires users to provide their own game dump and does not include game assets. Further details are available at Paleblood.

Reproduce it

setup
git clone https://github.com/Yharnam-Hunters/Paleblood.git; cd Paleblood; cmake -S . -B build && cmake --build build -j && ctest --test-dir build --output-on-failure

Community

Ask a question, share what worked, or follow the next milestone.

Your library