mirror of
https://github.com/lowbit/ps5-doom.git
synced 2026-10-06 03:00:13 +02:00
Add games gets a first row, Send from PC or phone. Its screen runs a small HTTP server for as long as it is open (port 9666, or the next one the sandbox allows) and shows the address as text and as a QR code. The page it serves takes dropped files and whole folders, uploads them one at a time with progress, and lists what the console did with each. Game WADs are moved into place, archives go through the importer and are deleted afterwards, add-ons and other files are refused with a reason. qrcodegen 1.8.0 joins the pinned third-party fetch, renamed to fetch-third-party.sh; the page is embedded at build time by tools/embed-file.py. tools/send.py does what the page does, for console tests with test/console-send.cfg.
4.6 KiB
4.6 KiB
Third-party notices
Everything in this project that came from someone else, what it is used for, and its license. The
release package carries these notices and the license texts in PPSA99666/licenses/.
Shipped in the release
| Component | Used as | License |
|---|---|---|
DOOM source code (linuxdoom-1.10), id Software |
The game engine in src/doom/, with the changes listed in DEVELOPMENT.md |
GNU GPL v2 (LICENSE) |
DOOM shareware IWAD v1.9 (DOOM1.WAD, episode 1), id Software |
Bundled game data, wads/doom1.wad, unmodified; fetched by tools/fetch-shareware.sh. Its M_DOOM logo, scaled up, is the home-screen icon (sce_sys/icon0.png) |
id Software's shareware terms: free to share unmodified and free of charge |
| libarchive 3.8.9 | Reading ZIP, 7Z and RAR archives in the importer (tools/fetch-third-party.sh, configured by third_party/) |
BSD 2-Clause, with a few files public domain or CC0 (licenses/libarchive.txt) |
| xz 5.8.4, liblzma | LZMA and LZMA2 decoding for 7Z archives | BSD Zero Clause (licenses/liblzma.txt) |
| zlib 1.3.2 | Deflate decoding for ZIP archives | zlib license (licenses/zlib.txt) |
| QR Code generator 1.8.0, Project Nayuki | The QR code of the send screen's address (qrcodegen.c) |
MIT (licenses/qrcodegen.txt) |
libc.prx from ps5-native-app-boilerplate, BlackBearReloaded |
Runtime module the PS5 loader requires next to a native title (sce_module/libc.prx), built from its source at commit b1315a9 |
GNU GPL v3 or later (licenses/libc-prx-GPL-3.0.txt) |
Used to build
| Component | Used as | License |
|---|---|---|
ps5-native-app-boilerplate b1315a9 |
ps5-native-tool (PIE to PS5 module conversion, FSELF signing) and its intermediate linker script ps5-pie.ld, fetched by tools/fetch-native-tools.sh, not copied into this repository |
GNU GPL v3 or later |
| PS5 Payload SDK v0.42, John Törnblom | C library headers, system import stubs, prospero-lld; the SDK compiler wrapper for the test launcher payload |
GNU GPL v3 |
| LLVM/Clang 18 | C compiler for the x86-64 PS5 target and the AMDGPU compute kernel | Apache 2.0 with LLVM exception |
| libcurl | HTTP for the PC test build only (src/host/http.c); the console uses the system's sceHttp |
curl license |
Studied for platform facts (no code copied)
These open-source projects were read to learn how the PS5's system interfaces behave. Their code was not copied; the facts they document are hardware and system behaviour.
| Project | What was learned | License |
|---|---|---|
| ps5-opengl | AGC call sequence (wait-for-safe-render, command buffer layout, dispatch, flip, suspend point), compute register offsets, direct memory type and cache maintenance, the RELEASE_MEM/WAIT_REG_MEM fence pattern and its packet constants | GNU GPL v3 or later |
| SDL PS5 port | VideoOut, ScePad and AudioOut call contracts, the tiled scanout pixel layout, the IME dialog structures | zlib |
| ps5-native-app-boilerplate | Native title startup contract, param.json fields, sandbox notes, the sceHttp/sceSsl setup that works in a sandboxed title |
GNU GPL v3 or later |
| ProsperoLight | Opening the system keyboard from a native title (sceCommonDialogInitialize, the IME dialog module ID and parameter layout) |
GNU GPL v3 |
| SharpProspero | The sceKernelGetdents record layout for listing folders in the sandbox |
GNU GPL v3 |
| ps5-yamagi-quake2 | Native app heap limits and the system exit path | GNU GPL v3 or later |
| websrv, ps5upload | How homebrew is launched and how files reach the console (the test tools use ps5upload's helper) | GNU GPL v3 |
DOOM is a registered trademark of id Software / ZeniMax Media. This project is not affiliated with or endorsed by them. The only game data included is id Software's freely distributable shareware episode; the full games are not included and the app does not point to any source for them.