Hmm. Are you sure you're not playing in "-audio 0" mode somehow, from your fiddling with the batch file? The command line parsing is primitive, so if it was given a malformed option, such as just "-audio", it might fall back to 0.
In -audio 0, there is no looping ambience, just individual ambience triggers, including one at the start of level 1. Could be what you're seeing. You could test that by saving somewhere a little on from the start, and loading there. You wouldn't get ambience when you loaded the game if -audio 0 was set.
Otherwise this doesn't make much sense. The logic for track play is (simplified):
- Look up track start and end addresses
- Tell drive to play that range of the disc
- Every 4 seconds, see if the drive reports "busy"
- If it reports non-busy, seek to the ambient track, and set a flag for the next 4-second check.
- On the next 4-second check, start playing the ambient track.
I've changed quite a lot in the code, but I've tried to avoid changing any of the direct CD drive manipulation, as I'm wary of different drives (and MSCDEX emulations) having different behaviour. The only new assumption I'm aware I've made is that a "Seek" command will silence playback.
But for the loop, this code is unaltered. Perhaps Glidos has binary detection and special casing somehow, and doesn't recognise the modified binary?
I'll test it myself with Glidos later. But please check you're not in "-audio 0" mode.
<edit - I've realised this post is largely nonsense - I was getting -audio 0 and 1 the wrong way round>