Skip to content

v1.1.0

Choose a tag to compare

@drpetersonfernandes drpetersonfernandes released this 08 Aug 03:11
· 2 commits to master since this release

What's New in VideoGameFileSystemParser

1.1.0 (2026-08-07)

Fixed: Virtual CUE/BIN/ISO/WAV export

This release fixes three related bugs in the virtual disc export — the .cue, .bin, .iso, and .wav files exposed when a CHD is mounted as GenericCueBin2352Default, GenericCueBin2048, GenericCueIso, GenericCueBinWav, or GenericCueIsoWav.

  • Pregap shift (tracks started 2 s late / bled into each other / last track unreadable) — Track offsets no longer add the pregap frames a second time. chdman stores each track's pregap (e.g. the 2-second pregap on Neo Geo CD) as silence at the start of the track's chunk inside the CHD, and FRAMES already includes those frames. The previous code added the pregap on top of that offset, shifting every track after the first pregap by 150 frames (2 s): music started late, each track's tail bled into the next track's intro, and the last track mapped past the end of the CHD file, leaving its final 148 frames unreadable — the declared BIN/WAV sizes exceeded the readable content.
  • Missing ISO audio — In CUE/ISO export (GenericCueIso), the .iso file now contains the audio tracks the CUE sheet references (audio sectors at 2352 bytes/sector), so emulators no longer hit end-of-file when reading CD audio. The declared file size now matches the actual content.
  • Truncated tracks / incorrect sizes — Declared BIN/ISO sizes and the readable content now agree:
    • data tracks use the configured sector size (2352 bytes for BIN, 2048 for ISO);
    • audio tracks inside a single BINARY file use raw 2352-byte sectors (2048 in the cooked GenericCueBin2048 mode);
    • WAV exports contain exactly the audible track data, (frames - pregap) * 2352 bytes, starting at INDEX 01 00:00:00.

Changed

  • WAV export skips the stored pregap silence, so each *_TrackNN.wav begins at the music and matches the INDEX 01 00:00:00 written in the generated CUE sheet.
  • Removed a redundant global using from GlobalUsings.cs (no API change).

Full Changelog: v1.0.0...v1.1.0