Integrate cinematic library home, title-aware quick controls, Nlib native network shim, bounded log recovery, native source syntax gate, and per-title performance research notes. Keep unqualified HLE/JIT candidates off by default; add offline FC27 triage and named upstream author credits.
3.1 KiB
Contributing to Prospero.Eden Encore
Thanks for helping improve Prospero.Eden Encore.
Encore is a focused PS5 homebrew fork of ProsperoEden 1.000.040 whose primary validated target is PS5 firmware 13.60. Changes should preserve that focus unless a separate firmware has been validated on hardware.
Crediting upstream authors and maintainers
Any added or updated external repository dependency or borrowed implementation must name
its author(s), named maintainer(s), or identifiable project team/account in the
README.md credits; copy the same attribution into THIRD_PARTY_NOTICES.md and
preserve the actual original copyright/license headers and license texts. Never assign
sole authorship to a repository owner when the code is community-authored.
Run python3 -B tools/check-credit-attribution.py and the license preflight
before submitting the change. The distributable PS5 legal bundle must retain this credit.
Before opening an issue or pull request
- Read the README, technical notes and security policy.
- Search existing issues and pull requests first.
- Do not include console keys, firmware, copyrighted game data, account data or other private material.
- Security vulnerabilities must be reported privately according to SECURITY.md, not in a public issue.
- FPKG entitlement/PPR and external kstuff/jailbreak problems are outside Encore's emulator scope unless the report demonstrates a separate bug in Encore itself.
Development principles
Prefer changes that are:
- 13.60-safe — do not replace the known working elevation/runtime path without hardware proof.
- Small and auditable — avoid importing a large newer subsystem when a targeted fix is enough.
- Recoverable — preserve user settings/saves and provide an obvious way back from risky settings.
- Bounded — caches, logs, allocations and retries should have explicit limits.
- Reproducible — dependencies must be pinned and release inputs verifiable.
- Legal to redistribute — keep third-party attribution and licenses accurate.
Building
Linux is recommended.
make toolchain
python3 -B tools/launcher/strings.py check
make release
See docs/BUILDING.md for the complete toolchain.
Pull requests
A useful pull request should:
- explain the problem and why the change belongs in Encore;
- describe user-visible behavior;
- identify security or compatibility trade-offs;
- include tests or validation when practical;
- keep documentation and translations in sync;
- avoid unrelated refactors;
- pass the release build and CodeQL.
For PS5-specific behavior, state the tested firmware and whether validation was done on real hardware.
Third-party code
Do not silently copy third-party code into the repository. Record its source, pinned revision and license in the appropriate dependency metadata and/or THIRD_PARTY_NOTICES.md.
Style
Match the surrounding code. Keep changes straightforward and reviewable. Prefer explicit checks over clever behavior in privileged, filesystem, parser and release code.