Lameguy64 / mkpsxiso

ISO disc image maker written specifically for PlayStation homebrew development
GNU General Public License v2.0
223 stars 36 forks source link

Added mixed mode. #14

Closed marco-calautti closed 3 years ago

marco-calautti commented 3 years ago

As we discussed, now there is a 'mixed' type. str and xa are now aliases. example.xml has been updated accordingly.

marco-calautti commented 3 years ago

As a side comment. I see mkpsxiso adds a pregap to the first audio track, and a pause to all others. Why this choice? As of now, all psx games I have seen use a pause also for the first audio track (i.e., there are physically 150 dummy sectors before the first audio track). But here I am probably missing something.

Lameguy64 commented 3 years ago

The reason I placed two second pre-gaps on each audio track in mkpsxiso was largely from my experience in dealing with fixing CUE sheets in broken ISOs. Whilst it might seem to be a little wasteful there is a good technical reason to have two second pregaps on each audio track on a PS1 disc, as the CD track query command on the PS1 only returns the minutes and seconds of a track, so having a pre-gap may help guarantee that the PS1 will land on the correct audio track. This might be why some PS1 games have CD audio tracks implemented as files, as it allows to locate the exact position of the audio track using that file's assigned LBA. Making ISOs this way is also supported in MKPSXISO.

marco-calautti commented 3 years ago

I understand that. My question was on the difference in using pre-gap for the first audio track, and pauses for the other audio tracks (this is what mkpsxiso does). This has a slightly different effect on the raw content of the bin. With pre-gap there are no empty sectors before the track, it is just the index telling an audio player that the track must be played with 2 seconds of silence. With pause, there is a physical 2 seconds pause, made of empty sectors in the bin. If the main issue is to let the game land on the correct track, shouldn't the first audio track also use a pause, rather than a "virtual" pause with a pre-gap? (actually, this is what most games do: physical 2 seconds pause for all audio tracks, including the first).