gitmyhub

MicroMount

C ★ 41 updated 1mo ago ▣ archived

Auto detects and mounts compressed PFS images (.ffpsfc) and expose them to other PS5 homebrew components

An archived PS5 homebrew payload that auto-mounts compressed .ffpfsc game image files, its features now live in ShadowMountPlus.

CPS5 homebrewsetup: hardcomplexity 4/5

MicroMount is a PS5 homebrew payload written in C that automatically detects and mounts compressed game image files on the console. It targets a specific file format called .ffpfsc, which is a compressed container format for PS5 game data used in the homebrew community. Once activated on a PS5, MicroMount runs on a timer, scanning configured folders for these image files and mounting each one to a stable folder path so that other homebrew software can access the game content.

The tool is now archived. The README notes that MicroMount started as a proof-of-concept to validate the .ffpfsc format and gather community feedback. Its features have since been folded into ShadowMountPlus, a separate PS5 homebrew project. Users running ShadowMountPlus version 1.6test15-fix2 or newer no longer need MicroMount.

For anyone still interested in how it worked: MicroMount loads a configuration file that specifies which folders to scan, how deep to scan within them, and how often to re-check. For each .ffpfsc file it finds, it derives a stable mount folder name based on the game ID extracted from the filename and a short hash of the file path. It then mounts the image using PS5-specific PFS filesystem parameters, cleans up stale mounts from previous runs, and writes a debug log after each pass.

Game images need to be prepared in .ffpfsc format before use. A companion command-line tool called MkPFS handles that conversion. It is a separate project from the same author and remains actively maintained according to the README.

Building MicroMount requires Docker or a PS5 payload development environment. The output is a single .elf file that gets sent to the PS5 as a payload. The code is released under GPL-3.0.

Where it fits