I'm not an expert so correct me if I'm wrong, in XM, with linear frequency slides, 1xx works like this :
101 = +1/16 semi-tone per tick
110 = +1 semi-tone per tick
1CO = +12 semi-tones (1 octave) per tick (#10 * 12 = #C0)
It doesn't depend on the tempo/bpm (Fxx above 20) but on the number of tick per row, which is 6 by default and set by the command Fxx from 01 to 1F.
Little subtlety : F06 is 6 ticks/row but the 1xx effect is only applied 5 times per row (not applied on the first tick).
F01 or F02 -> effect applied only once per row.
F03 -> effect applied twice.
F04 -> effect applied 3 times.
F05 -> effect applied 4 times, etc.
So by default, with F06 (effect applied 5 times) it's not possible to reach exact semi-tones :
101 = +5/16 semi-tone per row.
103 = +15/16 semi-tone per row, wich is almost a semi-tone but not exact.
(in IT format there are fine and extra fine portamento commands to deal wit this pb but not in XM format afaik)
As for non-linear frequency slides, the effect of the portamento command depends on the frequency of the note : pure evil :evil: that's all I know.
But if it's for a xrns to XM converter you don't have to mess with this do you ? Just select linear frequency slides.