joeylib2/installer/patches/ptplayer/README.md
2026-10-19 15:46:47 -05:00

17 lines
1.4 KiB
Markdown

# PTPlayer 6.4 patches
install.sh (component `ptplayer`) applies these to PTPlayer 6.4's
`ptplayer.asm` in filename order as it installs it. The Amiga plays modules
through PTPlayer and every other port through JoeyLib's module player
(`src/core/modPlayer.c`, PTPlayer's replay translated to C), so these keep
the Amiga's playback the same as theirs.
| Patch | What it fixes | Needed by |
|---|---|---|
| 0001-protracker-2.3-effects | Four places PTPlayer strays from Protracker 2.3, whose behavior the module player keeps: its volume slide sets Paula's period back to the note's, which is right for `Axy` but undid `6xy`'s vibrato, `5xy`'s glissando, and a tick of either under `EAx`/`EBx`; its arpeggio counts from the note's index, not the period a slide has left (and never reads on into the next finetune's periods past B-3); and its tremolo is half Protracker's depth, with its saw ramping by its own position rather than the vibrato's. And `6xy` read its vibrato depth into a register whose high byte held whatever came before, so the vibrato read past its table (hidden while the period was set back each tick). | the Amiga's module playback; `tests/host/modPlayerHost.c` checks the module player's side |
## License
The patch modifies PTPlayer and contains its code, so it is under
PTPlayer's terms -- public domain (the archive's `license` file: the
Unlicense) -- not JoeyLib's MIT License.