🎉 MkPFS 0.0.6 is released!
MkPFS is a command-line tool and Python library for building, verifying, inspecting, browsing, and extracting
PlayStation FileSystem (PFS) disk images. It works with common image naming conventions such as .ffpfs, .ffpfsc,
.pfs, .dat, and .bin, and fits both direct image workflows and PKG or FPKG inner-PFS generation.
🤖 What's Changed
- Several performance improvements
- Better windows compatibility
- Reduce memory usage
- Made the default flags and parameters compatible with ShadowMountPlus
- Fixed issues related to temporary directories
- And other minor fixes
🚀 Quick Start
# Install/Update using pip
python -m pip install -U "mkpfs"
# Creating Images: Option 1: .exfat -> .ffpfsc (Works with ShadowMountPlus) (Maximum compatibility)
python -m mkpfs pack file './BREW1234.exfat' './BREW1234.exfat.ffpfsc'
# Creating Images: Option 2: .ffpkg -> .ffpfsc (Works with ShadowMountPlus)
python -m mkpfs pack file './BREW1234.ffpkg' './BREW1234.ffpkg.ffpfsc'
# Creating Images: Option 3: Game folder wrapped twice into .ffpfsc (two-pass) (Works with ShadowMountPlus)
python -m mkpfs pack folder --no-compress --no-adjust-output-file-extension './BREW1234-app' './pfs_image.dat'
python -m mkpfs pack file './pfs_image.dat' './BREW1234.ffpfsc'
rm './pfs_image.dat'
# Creating Images: Option 4: Game folder without a wrapper (single-pass) (Experimental) (Works with ShadowMountPlus)
python -m mkpfs pack folder './BREW1234-app/' './BREW1234.ffpfsc'
# Extracting Existing Images (Reverse operation)
python -m mkpfs unpack './BREW1234.ffpfs' './BREW1234-extracted/'Note on conversion speed: Antivirus scanning can reduce conversion speed, especially during the writing phase or when processing many loose files.
If you plan to convert many titles in bulk and you trust this software in your environment, you may temporarily disable real-time antivirus protection to speed up the process.
If you are unsure, keep antivirus enabled and expect slower conversions.
💖 Sponsorship
MkPFS is easier to sustain when users who benefit from it help fund it.
☕ Contributions
- Several performance improvements (#30) @RenanGBarreto
- Spool-free streaming
pack file(--no-spool) with flat-memory verify/unpack/tree (#19) @rdmrocha - test(cli): assert help/output titles using dynamic version helpers (#28) @RenanGBarreto
- fix: fail-fast on non-ASCII filenames before compression starts (#25) @zyfcjtc
- Fix single-file staging fallback and gate game-file warnings in verify (#24) @copilot-swe-agent[bot]
- Add README note about antivirus impact on conversion speed (#20) @copilot-swe-agent[bot]
- Fix temp dir location for cross-drive hardlink failures on Windows (#15) @cherryduck
Full Changelog: 0.0.5...0.0.6