Fix garbled playback: sample loops, pitch, mixing, and sample offsets #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "yeold/wip"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Six independent defects behind the garbled audio: non-looping samples buzzing on two bytes (word-vs-byte repeat length), everything an octave sharp (missing x2 in the Paula period formula), ~84% of samples hard-clipping (4 channels summed into a +-127 range), wrong sample offsets on modules storing unplayed patterns, loop wrap points, and unclamped portamento. Also: 64KB position wrapping, unapplied finetune, audio-clock sequencing instead of a jittery timer, a dropped-DMA-refill race, an output volume control, and on-screen load-failure reasons. Verified against openmpt123 across all 8 four-channel modules (centroid ratio 1.00 throughout, song length within 0.04%) and on hardware with zero buffer underruns. See the commit messages for the full breakdown.