diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index d0b41fe..6da3108 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -63,6 +63,11 @@ jobs: run: | make release COMMIT_HASH=${GITHUB_SHA::7} BINDIR=PS2_HDD/ HDD=1 ${{ env.DEBUG }} PRINTF=${{ github.event.inputs.name }} + - name: Compile PS2 discboot build + run: | + make release COMMIT_HASH=${GITHUB_SHA::7} BINDIR=PS2_BOOTDISK/ DISC_STOP_AT_BOOT=1 ${{ env.DEBUG }} PRINTF=${{ github.event.inputs.name }} + echo "the executables on this folder are the same than normal PS2BBL, but they try to stop disc spinning as soon as possible, ideal for freedv">PS2_BOOTDISK/README.TXT + - name: list run: | git ls-files -i --exclude-standard -c @@ -75,6 +80,7 @@ jobs: mv PSX/ release/PSX/ mv PS2_HDD/ release/PS2_HDD/ mv PS2_MX4SIO/ release/PS2_MX4SIO/ + mv PS2_BOOTDISK/ release/PS2_BOOTDISK/ - name: pack release run: | diff --git a/Makefile b/Makefile index 9b99fc5..e7b5d75 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,7 @@ PROHBIT_DVD_0100 ?= 0 # prohibit the DVD Players v1.00 and v1.01 from being boot XCDVD_READKEY ?= 0 # Enable the newer sceCdReadKey checks, which are only supported by a newer CDVDMAN module. UDPTTY ?= 0 # printf ove UDP PRINTF ?= NONE +DISC_STOP_AT_BOOT ?= 0 HOMEBREW_IRX ?= 0 # if we need homebrew SIO2MAN, MCMAN, MCSERV & PADMAN embedded, else, builtin console drivers are used FILEXIO_NEED ?= 0 # if we need filexio and imanx loaded for other features (HDD, mx4sio, etc) @@ -76,6 +77,10 @@ ifneq ($(VERBOSE), 1) .SILENT: endif +ifeq ($(DISC_STOP_AT_BOOT), 1) + EE_CFLAGS += -DDISC_STOP_AT_BOOT +endif + ifeq ($(MX4SIO), 1) HOMEBREW_IRX = 1 FILEXIO_NEED = 1 diff --git a/src/main.c b/src/main.c index e55bf34..ea0fd6d 100644 --- a/src/main.c +++ b/src/main.c @@ -209,6 +209,10 @@ int main(int argc, char *argv[]) DPRINTF("disabling MODLOAD device blacklist/whitelist\n"); sbv_patch_disable_prefix_check(); /* disable the MODLOAD module black/white list, allowing executables to be freely loaded from any device. */ +#ifdef DISC_STOP_AT_BOOT + sceCdStop(); + sceCdSync(0); +#endif #ifdef UDPTTY if (loadDEV9()) loadUDPTTY();