Open DidierMalenfant opened 1 month ago
This is a fantastic idea! I can already think of 2 quirks (periods being capped, and the pan commands like you mentioned), but I'll do some research and see what other quirks I can find. I'll use the ProTracker 2.3 clone for testing, since it's super accurate.
Additionally, if there's any modules in particular that rely on ProTracker 2.3's quirks (or play back incorrectly), let me know and I'll try and look into it!
I've made the first basic version of legacy mode, but before I push the changes, do you think it should be enabled for rendering test modules? At present, it covers things like arpeggio wraparounds, period limiting, and vibrato/tremolo waveforms...
I think there should be at least some test for it. At least one one for a type of module that gets affected by the setting (like on that uses the pan command or something).
One more thing I thought about for legacy is that it should probably limit channels to 4 too.
The first version of legacy mode has been pushed! I'll keep this issue open for the time being, so any new features/quirks can be discussed. It's only a draft still :)
Just noticed the ReadMe doesn't seem to have any info on how to use legacy mode.
I'm pretty sure I added it. Are there more specific things that should be added to the readme, regarding legacy mode?
Yeah my bad... I just saw the -legacy
now. Ignore me :)
A lot of people consider Protracker 2.3 to be the one true version of protracker and a lot of modules rely on the replay routine abiding by 2.3 quirks and standards.
One example are the
pan
commands0x80
and0xE8
. On 2.3, and on Amigas for that matter, those commands don't exists because channel panning is hardwired (1 & 4 to the left, 2 & 3 to the right).We could add a
--legacy
command line option that implements this (ignoring thepan
commands in this case) and any other quirks we find down the road.I'm opening this as a note/reminder but I'll submit a PR for it later on if this is ok with you in principle.