Tags: axgdev/UniFrog
Tags
Decouple lean smoke from full doctor The lean commit smoke initializes only the inputs needed for core smoke, native frontend checks, JS2300, and boot logo generation. Avoid calling quick-check from ci-commit-smoke because quick-check intentionally runs the full doctor, which requires FFmpeg and other full-build dependencies not fetched by the lean CI path. Add smoke-doctor for the reduced dependency set and keep doctor/quick-check unchanged for full local and manual CI validation. Verified with make ci-commit-smoke HOSTCC=tcc TOOLCHAIN=/opt/mipsel-mti-elf and with HCRTOS_FFMPEG_SOURCE set to a nonexistent path.
Fix gpsp multicore CI build rule Register GPSP_MULTICORE_CORE_LIB with the root CORE_ARCHIVE_RULE table so clean CI runners can build cores/output/gpsp_multicore_libretro_sf2000.a when sd-zip needs the gpsp-gbac-prosty module. The failure in failure0000.txt was: No rule to make target 'cores/output/gpsp_multicore_libretro_sf2000.a', needed by 'build/core_modules/gpsp-gbac-prosty.out'. Verification: removed the generated gpsp_multicore archive, gpsp-gbac-prosty module output, and packaged bin, then ran make output/sdcard/unifrog/cores/gpsp-gbac-prosty.bin to prove the root dependency path rebuilds the archive. Also ran make quick-check.
Prioritize fastboot handoff over override Do not let the power-on button override cancel a one-shot firmware handoff requested from the UniFrog menu. Stage1 now checks and attempts the handoff before scanning controller GPIOs, so menu-launched stock firmware is loaded without the input scanner perturbing pins or interpreting the still-held menu button as an override. The B-button override remains available only for boot_asd.cfg default boots.
Add quick-menu fast forward Expose the libretro host fast_forward flag through quick-menu JS actions.\n\nAdd a Fast forward row to the in-game quick menu with On/Off state and toast feedback, and document that the pause menu can toggle fast-forward for the current game session.\n\nVerification: git diff --check passed. make quick-check is blocked by missing unifrog-hcrtos-sdk/include. make -C frontend check is blocked by missing .deps/mquickjs.
Fix boot logo output directory creation Create the boot logo output directory in the stamp rule before invoking the host logo tool.\n\nThe old ImageMagick PPM conversion rule created build/boot as a side effect; after switching the tool to read the committed PNG directly, clean CI workspaces could fail when writing build/boot/unifrog-logo-stamped.ppm. This restores the directory setup at the rule that owns the generated outputs.\n\nVerified with the exact commit-smoke entry point and the release sdcard zip pipeline target.
Speed up frontend library scans Move SD-card library indexing behind a native JS2300 fs.index host call that streams game and media indexes directly to disk. Avoid per-entry stat calls when directory entry type data is available, raise the list cap without growing the JS runtime stack, and cap generated index files to the frontend read limit with a truncation signal. Cache per-system item arrays while parsing the index so opening large systems does not rescan the full library, and make browser sorting avoid repeated lowercase conversion.
Name SD ZIP artifacts from tags Compute the available job count inside the Alpine CI container and pass it explicitly to the SD card package build. Name release archives from the Git ref, so tag v0.4.1 produces Unifrog-sdcard-v0.4.1.zip for both workflow artifacts and draft release assets.