Subject: Protracker mod player compatibilities

From: mld/uade team
Date: Thu Mar 16 20:21:29 2006

To: UADE-Developer-discussion
hi ho,

just added a Protracker 1.0c compatibility mode for our modplayer. It features, different period setting, different vibrato shifting, and last but not least it uses funk repeat instead of invert loop effect.

Anyone willing to test is welcome. (Testtunes for me as well :-)

I also &quot;enhanced&quot; the Protracker 3.0b and 2.3 playback mode... Differences should be fairly small there, though (different period setting, and differences in the way funk repeat is updated)

have fun,

mld/uade

---

From: shd
Date: Thu Mar 16 22:00:08 2006

To: UADE-Developer-discussion
[quote:983fb7976b="mld/uade team"]
just added a Protracker 1.0c compatibility mode for our modplayer. It features, different period setting, different vibrato shifting, and last but not least it uses funk repeat instead of invert loop effect.

[/quote:983fb7976b]

Please document exactly how those formats differ. Put them into a text file into ptk-prowiz dir. Who knows, I might even contribute. I already have many differences noted in my private cvs root.

---

From: mld/uade team
Date: Thu Mar 16 22:58:03 2006

To: UADE-Developer-discussion
done... ptk_versions.txt is now in the ptk-prowiz source dir.

Any hint can be helpful

---

From: shd
Date: Thu Mar 16 23:08:26 2006

To: UADE-Developer-discussion
Thanks for writing these down. It's a start.

However, we need something which is more complete in explanations.

[quote:7273e388cf]
TK1.0c:
    mt_UpdateFunk: -&gt; Funk repeat effect 

PTK1.1b and aboce
    mt_UpdateFunk: -&gt; invert loop effect
[/quote:7273e388cf]

First, fix the typo (aboce). What do those mean? How do they manifest in functionality?

[quote:7273e388cf]
PTK1.0C:
    period is set in -&gt;	mt_playvoice
			mt_CheckEfx after &quot;and&quot; via &quot;beq.s&quot;
[/quote:7273e388cf]

What is this?

[quote:7273e388cf]
UpdateFunk in CheckMoreEfx:
----------------------------
PTK1.0c-2.3a:
    UpdateFunk is called in the beginning of CheckMoreEfx

PTK3.0b:
    UpdateFunk is missing altogether in CheckMoreEfx
[/quote:7273e388cf]

What is the relevance?

Also, why don't you mark all the effect commands with a hex code so that it is clear what being documented. Put all the relevant facts there. It doesn't matter if it becomes longer. More the better. This could even become published material. It's not easy to document these =)

---

From: mld/uade team
Date: Fri Mar 17 00:10:00 2006

To: UADE-Developer-discussion
not easy... the incompatible parts between protracker revisions are more of a general kind, instead of effect differences. The only two I found are vibrato and inverloop/funk repeat so far.

What I found else is minor differences within certain funcitons (that's why I gave the function names and the mnemonics)... E.g. where and when periods are set...

Fix the typo and added some more verbose info text. See if it's clearer now. E.g. emax_enjoythesilence is a good test tune to hear some one the differences between 1.0c, 2.3a and 3.0b ;-)

---

From: mld/uade team
Date: Fri Mar 17 14:23:58 2006

To: UADE-Developer-discussion
some update for the protracker modplayer in cvs...

it can now be set into 4 different replay setups.
0 = Protracker 3.0b (the old uade 1.x default)
1 = Protracker 2.3a/ Protracker 1.1b (fixed)
2 = Protracker 2.1a/Protracker 1.1b (original/bugged)
3 = Protracker 1.0c

Basically support for the different values the period table was accessed was to, was implemented. Protracker 3.0b e.g. uses a multiplicaction of &quot;37*2&quot; and is closer to Noistracker, while Protracker 2.3a &quot;36*2&quot; is closer to the way DOC-Soundtracker used the periods, as a result the audio output *will* be slightly different.

Protracker 1.0c, 1.1b and 2.1a are imo bugged in this way. They use the 36 based for some effects, and 37 for others...

All in all, due to the incompatibiliies and weird fixes between the replays that playing Protracker mods 100% right is next to impossible, even on the AMIGA, you would always have to know on what kind of Protracker it was written.

So setting the engine to 0,1 or 2 is actually a matter of taste.  The only real compatibility options is 3, because it supports a different effect for 0xef.

---

From: mld/uade team
Date: Fri Mar 17 17:29:51 2006

To: UADE-Developer-discussion
reverted the periodtable multiplier changes for ptk2.3...

it borked our current protracker replay. I have to check why it played way out of tune. Until then, don't use anything beside setup 0 or 1, the rest is broken.

mld/uade team

---

From: shd
Date: Mon Mar 20 16:07:31 2006

To: UADE-Developer-discussion
[quote:0f571140cc="mld/uade team"]reverted the periodtable multiplier changes for ptk2.3...

[/quote:0f571140cc]

While you're doing this, would you document features of different PT versions in the same process? I think PT is too complicated a system to get right without documenting each effect (and others) for each version.

---

From: shd
Date: Mon Mar 20 16:10:59 2006

To: UADE-Developer-discussion
[quote:7fadcfa403="shd"][quote:7fadcfa403="mld/uade team"]reverted the periodtable multiplier changes for ptk2.3...

[/quote:7fadcfa403]

While you're doing this, would you document features of different PT versions in the same process? I think PT is too complicated a system to get right without documenting each effect (and others) for each version.[/quote:7fadcfa403]

I'll try to contribute something I've already gathered in my research. I've got hundreds of lines of notes and pseudo code. PT 1.1b is the reference point for my research. Everyhing is compared with respect to it.

---

From: mld/uade team
Date: Mon Mar 20 17:59:33 2006

To: UADE-Developer-discussion
I just wonder... there's two versions of ptk1.1b floating around. One with weird multipliers for accesing the period table and another one, where it's fixed...

btw. There's a huge difference in the way the older protrackers set volume (pops &amp; crackles) toward protracker 3.0b. I propose we keep the 3.0b replay  default for uade.

---

From: shd
Date: Mon Mar 20 19:07:23 2006

To: UADE-Developer-discussion
[quote:555d20263b="mld/uade team"]I just wonder... there's two versions of ptk1.1b floating around. One with weird multipliers for accesing the period table and another one, where it's fixed...
[/quote:555d20263b]

Could you show me the two versions?

[quote:555d20263b]
btw. There's a huge difference in the way the older protrackers set volume (pops &amp; crackles) toward protracker 3.0b. I propose we keep the 3.0b replay  default for uade.[/quote:555d20263b]

For the time being, agreed.

---

From: mld/uade team
Date: Thu Mar 23 11:28:52 2006

To: UADE-Developer-discussion
Found a very interesting test song for the different protracker variants :-)

For anyone interested: dreamfish's MOD.miami vice uses Effect 0xEF (invert loop), thus it sounds broken when played with Protracker 1.0c

It even sounds slightly different when played with Protracker 1.1b and 3.0b... :-)

It's either in the test song cvs or can be found on: http://mitglied.lycos.d/mldoering/mods/tests/

---

From: asle
Date: Sun Mar 26 10:13:50 2006

To: UADE-Developer-discussion
I logged in to tell you about Dreamfish using this EF fx. You beat by 3 days. I'll get the lattest CVS and read you comments of PTK replays.
While writing this, I remember a discussion I've had with Xann (french man of TSL) at the Saturne Party 4. We were talking about PTK replay compatibility for his replay (Xann player ... not 'packer' by the way) as he had push it to the limit regarding instruction time. It was especially true when a ED0 command was input. Most replay ignore as it's a delay of 0. But PTK, upon encountering a ED*, entered in a part of the prog to deal with the arg and by doing that, it took a (very) small amount of time. This small delay was used several time by various composers like this :
C-3 01 000  |  C-3 01 ED0 [...]
01 being a drumploop. That would produce a nice effect.
Not that it adds anything to the discussion, but I'm sure it was _not_ in the CRB replays.

Sylvain

---

From: shd
Date: Sun Mar 26 12:45:24 2006

To: UADE-Developer-discussion
[quote:a979e2202a="asle"]
I'll get the lattest CVS and read you comments of PTK replays.
[/quote:a979e2202a]

Thanks for your interest. I haven't yet merged my personal documentation into the text file. Please send patches/additions for amigasrc/players/tracker/eagleplayers/mod32_protracker/PTK_versions.txt if you have some interesting details that could help.

---

From: mld/uade team
Date: Mon Mar 27 10:54:32 2006

[quote:c5e3b6031e="asle"]I logged in to tell you about Dreamfish using this EF fx. You beat by 3 days. I'll get the lattest CVS and read you comments of PTK replays.

Sylvain[/quote:c5e3b6031e]

au contr, sylv. :-)  It might not concern dreamfish's mod in particular but it does add to the discussion anyway.

The ED* effect (ab)use is interesting... I checked against our replay, it seems theoretically the CRB replay doesn't seem to ignore ED0 either. It definetely doesn't check for EDx with x &gt;0...
Any real song using this available? Some Demo with XANN's packer? Otherwise I hack something up in PTK3.15...

btw. heikki, found some tracker comparison in the xmp docs about different effect behavior. Have to check if I can reproduce Claudio's findings, tho.

---

From: asle
Date: Mon Mar 27 15:30:50 2006

To: UADE-Developer-discussion
[quote:d862e6f8c7="mld/uade team"]The ED* effect (ab)use is interesting... I checked against our replay, it seems theoretically the CRB replay doesn't seem to ignore ED0 either. It definetely doesn't check for EDx with x &gt;0...

Any real song using this available? Some Demo with XANN's packer? Otherwise I hack something up in PTK3.15...[/quote:d862e6f8c7]

might take some checking. I'll dig around and come back to you with an ED0 example. Now about Xann's packer, I suggest to simply ignore it as it was _never_ used. Well, only once in a TSL France demo but, even there, it was not the real packer but a hacked variant. The only move I'd suggest would be to rename 'Xann packer' to 'Xann player' .. if there's a move to be done, as we have only so many examples ... . If you're really curious, I'll dig up the packer itself, handed to me a decade ago by Gryzor.

[quote:d862e6f8c7="mld/uade team"]btw. heikki, found some tracker comparison in the xmp docs about different effect behavior. Have to check if I can reproduce Claudio's findings, tho.[/quote:d862e6f8c7]

Good move so that as much as possible infos on this topic are gathered in one place.

Sylvain