v1.1.0
·
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
FRAMESalready 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.isofile 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
GenericCueBin2048mode); - WAV exports contain exactly the audible track data,
(frames - pregap) * 2352bytes, starting atINDEX 01 00:00:00.
Changed
- WAV export skips the stored pregap silence, so each
*_TrackNN.wavbegins at the music and matches theINDEX 01 00:00:00written in the generated CUE sheet. - Removed a redundant
global usingfromGlobalUsings.cs(no API change).
Full Changelog: v1.0.0...v1.1.0