Skip to main content
The <track> element defines tracks in the CD image. PlayStation ISOs support one data track (which must be first) followed by optional CD-DA audio tracks.

Data Track

The data track contains the file system and must be specified as the first track.
<track type="data" xa_edc="true" new_type="false">
  <identifiers
    system="PLAYSTATION"
    application="PLAYSTATION"
    volume="MYDISC"
  />
  <license file="licensea.dat"/>
  <directory_tree>
    <!-- Files and directories -->
  </directory_tree>
</track>

Data Track Attributes

type
string
required
Must be set to data for the data track
xa_edc
boolean
default:"true"
Specifies whether the image has EDC (Error Detection Code) in Form 2 sectors. Set to false only for compatibility with very old mastering tools
new_type
boolean
default:"false"
Specifies if the image was created with the old (pre-2003) Sony mastering tool. Set to true for modern PlayStation 2 compatible images
ps2
boolean
default:"false"
Marks the image as a PlayStation 2 disc. Automatically sets new_type to true

Data Track Child Elements

A data track should contain:
  • <identifiers> - Optional, defines disc identifiers (see Identifiers)
  • <license> - Optional, specifies license file
  • <directory_tree> - Required, defines the file system (see Directory Tree)

Audio Tracks

Audio tracks define CD-DA (Red Book audio) tracks that can be played on standard CD players.
<track type="audio" source="track02.wav"/>
<track type="audio" source="track03.wav">
  <pregap duration="00:04:00"/>
</track>

Audio Track Attributes

type
string
required
Must be set to audio for audio tracks
source
string
required
Path to the audio file. Supported formats:
  • WAV (recommended: 44100Hz, 16-bit, stereo)
  • FLAC
  • MP3 (will be converted to Red Book format)
  • PCM (raw format)
trackid
string
Optional identifier for this track, used to reference it from DA files in the data track (see Audio Tracks)

Audio Track Child Elements

pregap

Defines a pregap (pause) before the track starts. The default pregap is 2 seconds (150 sectors).
<pregap duration="00:04:00"/>
duration
string
required
Pregap duration in MM:SS:FF format (minutes, seconds, frames where 1 frame = 1/75 second). The pregap is filled with silence

Track Order Requirements

Important track ordering rules:
  • Only one data track is permitted
  • The data track must be the first track
  • Audio tracks can only appear after the data track
  • You cannot specify a data track after an audio track

Audio Format Requirements

For lossless CD-DA audio, your source files should be in Red Book format:
  • Sample rate: 44100 Hz
  • Bit depth: 16-bit
  • Channels: Stereo (2 channels)
If your source file is in a different format, mkpsxiso will automatically convert it, but this may introduce quality loss for lossy formats like MP3.

Example: Multi-Track Disc

<iso_project image_name="musicgame.bin" cue_sheet="musicgame.cue">
  <!-- Data track with game files -->
  <track type="data" xa_edc="true">
    <identifiers
      system="PLAYSTATION"
      application="PLAYSTATION"
      volume="MUSICGAME"
    />
    <license file="licensea.dat"/>
    <directory_tree>
      <file name="system.cnf" source="system.txt"/>
      <file name="game.exe" source="game.exe"/>
      
      <!-- Reference to audio track 2 -->
      <file name="bgm01.da" trackid="02" type="da"/>
    </directory_tree>
  </track>
  
  <!-- Audio track 2 - referenced by DA file -->
  <track type="audio" trackid="02" source="bgm01.wav"/>
  
  <!-- Audio track 3 - not referenced, can be played separately -->
  <track type="audio" source="bonus_track.wav">
    <pregap duration="00:03:00"/>
  </track>
</iso_project>

CUE Sheet Requirement

When using audio tracks, the cue_sheet attribute must be specified in the <iso_project> element. mkpsxiso will automatically generate a proper CUE sheet file for the multi-track image.

Next Steps

Identifiers

Configure disc identifiers for the data track

Directory Tree

Build the file system structure

Audio Tracks

Link audio tracks to DA files

Build docs developers (and LLMs) love