Prerequisites
Before building an ISO, ensure you have:- mkpsxiso installed on your system
- Source files organized in a directory structure
- A license data file from the PsyQ SDK (optional but required for bootable discs)
- Basic understanding of XML syntax
Basic ISO Building Workflow
Create XML Project File
Create an XML file (e.g., The
myproject.xml) that defines your ISO structure. Start with the basic project declaration:image_name attribute specifies the output filename, and cue_sheet defines the cue sheet file (required if using CD audio tracks).Define the Data Track
Add a data track element with system identifiers:
The system and application identifiers must be set to “PLAYSTATION” for the disc to be bootable on actual PlayStation hardware.
Build the ISO Image
Run mkpsxiso with your XML file:The tool will create the
.bin and .cue files as specified in your XML configuration.Verify the Build
Check the console output for any errors or warnings. mkpsxiso will report:This creates a sorted log of all files with their LBA addresses, sizes, and timecodes.
- Files processed and their LBA addresses
- Total image size
- Any validation warnings
Advanced Options
Specifying Output Files
Override the output filename via command line:Overriding Volume Label
Change the volume identifier without editing XML:Custom Cue Sheet Name
Specify a different cue sheet filename:Generate XML Without Building
Create LBA listings without generating the ISO:Suppress Warnings
Build with warnings suppressed:File Attributes
Source and Name Attributes
You can specify files in multiple ways:Using Source Directories
Simplify paths with thesrcdir attribute:
Common Issues
Missing License File
If you see invalid sector warnings, ensure your license file path is correct and the file is in raw 2336 byte sector format.File Order Matters
The physical order of files on disc matches their order in the XML. Optimize loading by placing level data before the first level loads.Path Length Limitations
ISO 9660 has strict path length and depth limits. Keep directory structures shallow and filenames short for maximum compatibility.For homebrew development, mkpsxiso allows up to 31 characters for filenames (increased from the standard 12) and permits lowercase in ISO descriptors.
Output Formats
mkpsxiso generates:.binfile: The raw CD image data.cuefile: Cue sheet describing track layout (if multiple tracks exist)
- CD burning software
- PlayStation emulators (ePSXe, DuckStation, PCSX, etc.)
- Modern disc imaging tools
Next Steps
Now that you understand basic ISO building:- Learn about XA Audio for compressed audio streaming
- Add STR Video files for FMV sequences
- Include CDDA Audio tracks for CD audio
- Optimize LBA placement for faster loading