okay, that's what Ian says at the un4seen forums about the way xmplay works:
XMPlay treats EFx as "FunkIt" (when in PT1 mode).
Actually, looking at the code just now, I think EFx is treated as "Invert Loop".
Looking at the ProTracker 1.0 and 1.1 playback code, XMPlay is doing what PT1.1 does. It's a bit confusing, as the PT1.1 source labels/etc still say "funk", but it does seem to be inverting the loop data. I'm not sure what the PT1.0 code is meant to be doing
http://www.un4seen.com/forum/?topic=7554.0