Repository navigation
Build Configurations
This repository has one SDK and three release editions: Korium, RetroAchievements
and IncebtIon. --configuration selects optional controller, diagnostic or debug
settings within an edition. GCC and LLVM select compilers. Configuration
candidates are not extra release channels and cannot replace standard release kits.
Releases carry them for every theme, as the original did: the Korium and IncebtIon
channels each publish RIPTOPL-VARIANTS.zip (pademu0, ds5, extras, extras_ds5)
and RIPTOPL-DEBUG.zip (every other nonstandard configuration), built with that channel's
theme, one folder per configuration with its GCC RIPTOPL.ELF and build manifest; the
RetroAchievements channel publishes RIPTOPL-RA-VARIANTS.zip (pademu0, as RIPTOPL-RA.ELF)
and RIPTOPL-RA-VARIANTS-IncebtIon.zip for its IncebtIon-theme kit. The
publisher packs them only from builds of the released commit and SDK suite. Every channel
also publishes RIPTOPL-LANGS.zip, the translations and their fonts.
Prepare the SDK/ports and assets as described in PS2BUILD-MIGRATION.md, then use the existing builder:
python tools/build_edition.py korium --configuration ds5 --toolchain gcc
python tools/build_edition.py ra --configuration pademu0 --toolchain llvm
python tools/build_edition.py korium --configuration iopcore_debug_uart --toolchain llvmOmitting --configuration selects standard and preserves existing release
commands. Every build regenerates edition artwork, RA marks and the displayed
version. Nonstandard version strings also name their configuration.
| Configuration | Behavior selected |
|---|---|
standard |
Normal edition defaults: GSM1080P and PADEMU; no optional DS5/debug/extras flags. |
pademu0 |
Disable PADEMU in the menu, EE core and memory-card modules; omit DS34 EE libraries and pad-emulator/DS34 embedded modules. |
ds5 |
Enable the existing optional USB DualSense implementation. |
extras |
Enable RTL language support and in-game screenshots in the menu/core. |
extras_ds5 |
Combine extras and USB DualSense. |
dtl |
Select the DTL-T10000 menu/core flags and matching udnl-t300 boot module. |
diag |
Enable field diagnostics without a TTY debugger. |
debug |
Menu-side UDP TTY, IOPTRAP and PS2LINK. |
debug_uart |
Menu-side PPC UART TTY and IOPTRAP. |
ingame_debug |
UDP menu/in-game debug modules and CDVDMAN diagnostics; retain normal memory-card modules. |
iopcore_debug |
Also enable memory-card module diagnostics. |
eesio_debug |
EE serial logging via the installed SIOCookie package, plus the menu debug resources. |
ingame_debug_uart |
PPC UART menu/in-game debug modules and CDVDMAN diagnostics. |
iopcore_debug_uart |
Also enable memory-card module diagnostics. |
ingamediag |
In-game freeze report: after a freeze, the IGR combo writes mc0:/RIPTFRZ.TXT. Refused with RetroAchievements. |
Menu/core transport flags agree (TTY_PPC_UART versus TTY_PPC is the existing
interface between those components). In-game debug removes SMSTCPIP's reduced
INGAME_DRIVER API while preserving RA's INGAME_UDP. CDVDMAN debug graphs keep
their DEV9 source/import requirements, including BDM-ATA's DEV9_DEBUG.
PPC TTY now resolves the native ppctty driver from sdk-world v2026.10.12.2
or newer for the selected compiler. The previous pinned source fallback is
removed; third_party/ps2sdk-ppctty retains the AFL-2.0 license and provenance
notice for candidate distributions. Actual SDK component versions are recorded
in each build manifest. SIOCookie, IOPTRAP and the DTL boot driver also use installed packages.
PPC TTY checks for a Deckard IOP and declines residency on older IOP hardware.
Compilation alone does not establish working serial output on a console.
Nonstandard object trees are isolated under
build/configurations/<edition>-<configuration>-<compiler>/. Candidate ELF,
resolved definition and build manifest are staged under the matching
dist/configurations/ directory, with the EE core map and applicable license/
provenance files. They never write dist/editions/, which is
reserved for standard release packaging. Both the packager and publisher reject
a manifest naming a nonstandard configuration, even if its checksums are valid.
Historical standard manifests without this new field remain verifiable.
The ps2build-configurations workflow covers all 14 nonstandard configurations
on Korium, plus RA without PADEMU, RA with in-game UDP debug, and IncebtIon with
extras/DS5, on both compilers. This is 34 selected builds, not every possible
edition/configuration cross-product. Host tests cover definition/ABI isolation
across all three editions and all 15 configurations, separate stage paths and
negative packaging/publishing cases.
With IGS enabled, LLVM -Os left only 2,712 bytes for the EE core's stack and
correctly failed its 3,072-byte linker guard. Core-only comparison builds left
8,128 bytes with GCC -Os and 6,040 with LLVM -Oz. The builder selects -Oz
only for LLVM's IGS-enabled core; other targets/configurations retain their
optimization settings. The memory regions and stack assertion are unchanged.
Candidate core maps retain the evidence for each build. Console screenshot
behavior and compiler performance still require hardware validation.
There is no verified compile-time no-IGR switch in the compared legacy/current source. Its behavior/configuration audit remains in issue #20, alongside DECI2 coverage, console acceptance and release publication. Do not infer those capabilities from a successful configuration build.
Start here
- Getting started
- Fresh-start defaults
- Installation and first boot
- Releases and packages
- Launch diagnostics
Storage and networking
- USB, MX4SIO and iLink
- MMCE
- Internal HDD: APA and exFAT
- PSX DESR DVR (experimental)
- PC CARD CompactFlash (experimental)
- SMB shares
- Network boot: UDPFS and UDPBD
- HTTP
- NBD server
Games and features
- Game image formats: ISO, ZSO, CHD and CSO
- Neutrino core
- PS1: POPStarter and Ember
- Per-game settings
- Virtual memory cards
- GSM video modes
- In-game reset
- Cheats
- PADEMU
- RetroAchievements
- Apps
Interface and customization
- Settings reference
- Controls
- Coverflow
- Favorites
- Game library: All Games, Recent, Hide and Delete
- Theme engine
- Languages
- Japanese / Unicode game titles
Help and reference
- Troubleshooting
- ZSO format
- Backward-compatible PS3
- Credits and sources
- Features in other forks
- Notes for ps2sdk
- Project overview
Detailed references
- Documentation index
- Test builds and diagnostics
- Launch diagnostics by package, core and transport
- Learning across PS2 loader projects
- VMC creation and recovery
- PC CARD CF implementation reference
- DESR DVR implementation reference
- Per-game parental lock
- SIO2MAN hook compatibility
- APA hard disk safety and code 402
- Autolaunch and global settings
- Folders, parental lock and audio
- Language maintenance
- HTTP server conformance tools
- APA recovery tool
- Setup questions and reporting launch failures
- Editions and build configurations
- Automatic VMC creation
- Compressed PS2 images: ZSO, CSO and CHD
- Favorites storage, staged saves and recovery
- CFG titles in game lists
- RA watch-list and snapshot budgets
- Maintaining the documentation