Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/ISSUE_TEMPLATE/issue-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,7 @@ body:
description: Each release ships several ELF flavours built with different SDKs — it matters for triage
options:
- Main RIPTOPL zip (PS2DEVLATESTSDK)
- WOPLSDK variant
- PS2MAXSDK variant
- PS2DEVPINNEDSDK variant (fallback build)
- Not sure
validations:
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/build_rolling_extras.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# filename: "-PS2DEVPINNEDSDK" for the digest-pinned ps2dev snapshot
# build, "-PS2DEVLATESTSDK" for the ps2dev:latest build -- so the VARIANTS and DEBUG zips carry
# every SDK flavour of every build. $2 is the LOCALVERSION
# toolchain brand ("PS2MAXSDK"/"PS2DEVLATESTSDK") embedded in each ELF's version string: filenames get renamed
# toolchain brand ("PS2DEVPINNEDSDK"/"PS2DEVLATESTSDK") embedded in each ELF's version string: filenames get renamed
# and moved to cards, and the debug/variant builds are exactly the ones that show up in bug
# reports -- the on-screen version must self-identify the toolchain like the main builds do.
#
Expand Down
21 changes: 19 additions & 2 deletions .github/scripts/install_coherent_freepad.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
#!/bin/sh
# CURRENTLY UNREFERENCED -- no workflow calls this script as of 2026-07-28.
#
# It existed for the two older build containers (ps2max/dev, ghcr ps2homebrew pin), both of which
# are now RETIRED: the WOPLSDK flavour was dropped (#270/#273) and ps2max was replaced by a DIGEST
# PIN of ps2dev/ps2dev itself (#285). Both surviving flavours are now ps2dev images, and the
# vendored bytes are byte-identical to what they ship:
#
# ps2dev/ps2dev@sha256:c64ae69c...be995 freepad.irx sha256 463fcb30cc4192dc...
# ps2dev/ps2dev:latest freepad.irx sha256 463fcb30cc4192dc...
# modules/freepad/freepad.irx (vendored) freepad.irx sha256 463fcb30cc4192dc...
#
# So running it would copy a file over itself. The call sites were removed rather than left as a
# confusing no-op. Kept (not deleted) because the vendored bytes + PROVENANCE.md are the record of
# the #254 investigation, and because it is the ready-made remedy if a future container ever ships
# an older freepad generation again. Re-verify the hashes above before trusting it.
#
# Original rationale follows.
#
# Install the vendored NEWER-GENERATION freepad.irx (modules/freepad/, see
# PROVENANCE.md there) over the container's stock freepad, for the two older
# build containers (ps2max/dev, ghcr ps2homebrew pin). The PS2DEVLATESTSDK
# PROVENANCE.md there) over the container's stock freepad. The PS2DEVLATESTSDK
# container already ships these exact bytes natively -- do NOT run there.
#
# WHY (#254, hardware-confirmed by PixeliGer): with Game ID on (the default),
Expand Down
4 changes: 2 additions & 2 deletions .github/scripts/install_coherent_mmce.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh
# Install a MENU-coherent mmceman into the container's $(PS2SDK)/iop/irx, replacing the
# SDK-provided prebuilt. Used by ALL THREE build flavours (ps2dev/ps2dev:latest, ps2max/dev,
# ghcr ps2homebrew pin) since the #254 fix. mmcedrv/mmceigr (the IN-GAME modules) are deliberately
# SDK-provided prebuilt. Used by BOTH build flavours (ps2dev/ps2dev:latest and the ps2dev digest
# pin) since the #254 fix. mmcedrv/mmceigr (the IN-GAME modules) are deliberately
# LEFT AS THE CONTAINER'S STOCK PREBUILDS.
#
# WHY (menu / mmceman): the containers' mmce trio comes via ps2sdk-ports, pinned to ps2-mmce
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci-ps2dev-migration-probe.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ jobs:
fail-fast: false
matrix:
include:
- container_image: ps2max/dev:v20250725-2
label: ps2max-dev-v20250725-2
- container_image: ps2dev/ps2dev@sha256:c64ae69c9817865ed98ff054e4ae5360b9e280ed952c97946bca95d9d35be995
label: ps2dev-pinned
- container_image: ps2dev/ps2dev:latest
label: ps2dev-latest
container: ${{ matrix.container_image }}
Expand Down
21 changes: 0 additions & 21 deletions .github/workflows/compilation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,6 @@ jobs:
- name: Install menu-coherent mmceman (#254)
run: sh ./.github/scripts/install_coherent_mmce.sh

- name: Install newer-generation freepad (#254 pad death)
# The GameID mmceman load kills pad input with these containers' stock freepad
# builds (PixeliGer: dead cursor, live menu). The digest-pinned job
# in compilation.yml runs in the SAME container -- swap there too. Vendored
# newer-generation bytes (modules/freepad/PROVENANCE.md), fail-loud checks.
run: sh ./.github/scripts/install_coherent_freepad.sh

- name: Compile -> make clean release
run: make --trace clean && make --trace release

Expand Down Expand Up @@ -223,13 +216,6 @@ jobs:
- name: Install menu-coherent mmceman (#254)
run: sh ./.github/scripts/install_coherent_mmce.sh

- name: Install newer-generation freepad (#254 pad death)
# The GameID mmceman load kills pad input with these containers' stock freepad
# builds (PixeliGer: dead cursor, live menu). The digest-pinned job
# in compilation.yml runs in the SAME container -- swap there too. Vendored
# newer-generation bytes (modules/freepad/PROVENANCE.md), fail-loud checks.
run: sh ./.github/scripts/install_coherent_freepad.sh

- name: Get version
run: |
echo "OPL_VERSION=$(make oplversion)" >> "$GITHUB_ENV"
Expand Down Expand Up @@ -525,13 +511,6 @@ jobs:
- name: Install menu-coherent mmceman (#254)
run: sh ./.github/scripts/install_coherent_mmce.sh

- name: Install newer-generation freepad (#254 pad death)
# The GameID mmceman load kills pad input with these containers' stock freepad
# builds (PixeliGer: dead cursor, live menu). The digest-pinned job
# in compilation.yml runs in the SAME container -- swap there too. Vendored
# newer-generation bytes (modules/freepad/PROVENANCE.md), fail-loud checks.
run: sh ./.github/scripts/install_coherent_freepad.sh

- name: Get version
run: |
echo "OPL_VERSION=$(make oplversion)" >> "$GITHUB_ENV"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/rolling-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -697,8 +697,8 @@ jobs:
#
# Archive the INSTALLABLE + REPRODUCIBLE payload only. The two big diagnostic BUNDLES are
# deliberately EXCLUDED from the permanent MEGA copy:
# RIPTOPL-VARIANTS-*.zip (~120 MB -- every EXTRA_FEATURES x PADEMU combo x 3 SDKs)
# RIPTOPL-DEBUG-*.zip (~91 MB -- iopcore/ingame/eesio/ppctty/DTL debug builds x 3 SDKs)
# RIPTOPL-VARIANTS-*.zip (~120 MB -- every PADEMU x EXTRA_FEATURES x DUALSENSE combo, both SDKs)
# RIPTOPL-DEBUG-*.zip (~91 MB -- iopcore/ingame/eesio/ppctty/DTL debug builds, both SDKs)
# They dominate the size (~10x: ~233 MB -> ~22 MB), they still ship on the GitHub rolling
# release for the CURRENT build, and a *permanent* per-build archive is for restoring or
# rebuilding an installable build -- not for old diagnostic permutations (when you debug,
Expand Down
3 changes: 2 additions & 1 deletion CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,8 @@ BDMA-ATA (exFAT internal-HDD block-device support), plus fixes, feedback and ove
by saildot4k

Testing, bug reports and real-hardware feedback
by eliminator1403, lucaslmgv, AndrewBento, AcidReach, bodvenomz, nuno6573 and Blade1984
by eliminator1403, lucaslmgv, AndrewBento, AcidReach, bodvenomz, nuno6573, Blade1984
and zackcage6

Financial support
by Akilluminati47
Expand Down
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,12 @@ PADEMU ?= 1
#Enables/disables PS5 DualSense (USB) support in the pad emulator. HW-VALIDATED on a real DS5
#(maintainer, 2026-07-06) but kept OFF in the default build by deliberate choice -- the rolling
#release ships ready-made DUALSENSE=1 builds as named RIPTOPL-<version>-<SDK>-ds5.ELF assets,
#one per SDK flavour (WOPLSDK / PS2MAXSDK / PS2DEVLATESTSDK).
#one per SDK flavour (PS2DEVLATESTSDK / PS2DEVPINNEDSDK).
DUALSENSE ?= 0

#Enables/disables the experimental, hardware-UNVALIDATED GSM 1080p video mode (a GSM-synthetic
#progressive raster; see ee_core DTV_1080P). Kept OFF in every default build; the rolling release
#ships ONE ready-made GSM1080P=1 build as a named RIPTOPL-<version>-PS2DEVLATESTSDK-1080p.ELF asset
#ships ONE ready-made GSM1080P=1 build as a named RIPTOPL-PS2DEVLATESTSDK-1080p.ELF asset
#(latest-SDK flavour only), gated behind a triple-confirm in the GUI. When 0, none of the 1080p
#table/GUI/engine code is compiled in.
GSM1080P ?= 0
Expand Down Expand Up @@ -79,7 +79,7 @@ OPL_VERSION = v$(VERSION).$(SUBVERSION).$(PATCHLEVEL)$(if $(EXTRAVERSION),-$(EXT

ifneq ($(GIT_TAG),)
ifneq ($(GIT_TAG),latest)
# git revision is tagged. Keep the LOCALVERSION toolchain brand (-WOPLSDK/-PS2MAXSDK/-PS2DEVLATESTSDK) here too:
# git revision is tagged. Keep the LOCALVERSION toolchain brand (-PS2DEVLATESTSDK/-PS2DEVPINNEDSDK) here too:
# tagged releases ship BOTH toolchains' ELFs, and without the brand their version strings
# would be byte-identical -- a hardware report then can't say which binary it ran.
OPL_VERSION = $(GIT_TAG)$(if $(DIRTY),$(DIRTY))$(if $(LOCALVERSION),-$(LOCALVERSION))
Expand Down
Loading
Loading