Filesystem Issues
Timestamp Limitations on ext4/xfs
Affected Games:- Crash Bash
- Spyro 3
- Vagrant Story
- Other games with files/folders dated before 1901/12/13
f2fsntfsbtrfs
Directory Structure Issues on Windows
Subdirectory Browsing Problem
Problem Description: When creating a disc image with the following structure pattern:dirb and dirc may:
- Not list contents when browsing in Windows Explorer
- Show “permission denied” errors in command prompt
- Fail to access directories that clearly exist
- Disc image tools like CDmage display contents without issue
- The issue persists with disc images created by BuildCD
- Same images work correctly on other operating systems
-
Minimize Identically Named Directories
- Avoid having many subdirectories with similar naming patterns
- Use more distinct directory names across different parent directories
-
Test Before Release
- Always test generated disc images on Windows before considering them ready
- Verify directory browsing works correctly
- Test on actual hardware or accurate emulators
-
Use Disc Image Tools
- Tools like CDmage can browse the image correctly
- Extract and verify file contents using specialized tools
Source File Issues
XA/STR File Validation
Required Headers:- Proper RIFF headers
- Valid XA/STR subheaders
- Correct sector formatting
- Missing or corrupt RIFF header
- Invalid subheader structure
- Incorrect sector mode detection
- Dumped correctly from original media using dumpsxiso or similar tools
- Not re-encoded or modified by tools that don’t understand XA format
- Validated before attempting to build the ISO
DA Audio File Size Calculation
Versions prior to 1.20 had incorrect file size calculation for STR and DA audio files. This was fixed in Version 1.20. If you encounter DA audio file issues:- Update to Version 2.00 or later
- Verify audio file formats are supported (WAV, FLAC, PCM, MP3)
- Check that pregap values are specified correctly for CDDA tracks
Build Errors
Zero-Byte Files
Prior to Version 2.20, zero-byte files did not have a whole sector allocated. This could cause filesystem inconsistencies. Solution:- Use Version 2.20 or later
- Zero-byte files now properly allocated
Directory Records Spanning Sectors
Older versions had bugs with directory records spanning more than one sector. Symptoms:- Missing files or directories
- Corrupt directory listings
- Files overwritten by directory records
- Use Version 2.00 or later
- Directory record spanning properly fixed
- Linear write implementation prevents corruption
Obfuscated/Protected Discs
Highly Obfuscated Games
Examples:- Chrono Cross
- Xenogears
- Games with corrupted directory records
- Games with SUSP (System Use Sharing Protocol)
--forceargument for very obfuscated games- Hack to detect problematic ISOs with little-endian attributes
- Crash fix for corrupted directory records or SUSP
Path Table Obfuscation
Some games hide files by manipulating the directory structure. Solution: Use path table extraction (Version 2.04+):Build Performance
Large File Handling
Version 2.03 fixed a crash when building images with large files. Tips for Large Projects:- Use memory-mapped ISO writing (enabled by default in 2.00+)
- Ensure sufficient disk space for output
- Use 64KiB buffer size for better I/O (dumpsxiso 2.20+)
Directories with Many Files
Version 2.03 fixed an ISO generation bug with directories containing many files. If building fails:- Update to Version 2.03 or later
- Check for duplicate file/directory entries
- Verify directory structure in XML
Command Line Issues
Interactive Commands Not Supported
Avoid:git rebase -igit add -i- Any command requiring interactive input
Path Arguments Parsing
Version 2.10 fixed an issue where path arguments could parse another argument instead of a path. Solution:- Use quotes around paths with spaces
- Update to Version 2.10 or later
Output Issues
Missing Build Messages
Version 2.01 addedfflush() calls to ensure build messages output at all times.
If messages aren’t appearing:
- Update to Version 2.01 or later
- Check that output isn’t being redirected incorrectly
Invalid Sectors Without License File
Version 2.01 fixed generation of invalid sectors when no license file is specified. Solution:- Use Version 2.01 or later, or
- Always specify a valid license file
Debugging Tips
Enable verbose output
Enable verbose output
Use standard output to see detailed build information:Suppress warnings (Version 2.20+):Quiet mode for dumpsxiso (Version 2.20+):
Generate LBA listings
Generate LBA listings
Use LBA output to verify file placement:Version 2.20+ improvements:
- Better formatted output
- Sorted by LBA instead of name
- Includes unreferenced tracks
Test without building ISO
Test without building ISO
Generate only LBA listings without creating the ISO:Useful for:
- Verifying file layout
- Checking LBA addresses
- Debugging XML structure
Validate dumps
Validate dumps
Compare original and rebuilt images:
Getting Help
If you encounter an issue not listed here:- Check the official documentation
- Review recent changelog for fixes
- Search existing GitHub issues
- Open a new issue with:
- mkpsxiso version
- Operating system and filesystem type
- Complete error message
- Minimal XML example reproducing the issue