Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29
So, this is what's happening. Firstly in the FTM there's a note struck on a blank instrument, with a portamento-down message afterwards (220.) This message is [b]not[/b] reset to 200. Then, there are some notes that use an instrument with an arpeggio setting. In the tracker these sound as intended, despite the fact there is an unreset portamento message still open. On .nsf export however, the latter notes are clearly influenced by the unreset porta message.
Put frankly, the tracker doesn't require portamento OFF messages (100, 200) before encountering notes that use instruments with arpeggio settings - yet .nsf export [b]does[/b], else it sounds odd. I would think the .nsf export behaviour is correct, personally, as it's good practice to reset messages once you're done using them. So long as the output from the tracker is the same as in the .nsf though, that's the main thing.
Interestingly, I don't think this happens with actual arpeggio effects - only arpeggios in instruments. I did a quick check to verify, but didn't look too far into it (I never use arp commands anyway.)
speaking of which, it also reminds me how sometimes I have some sort of note portamento thing going when there should be nothing when i'm pressing note keys, and I have to set it off just to listen normally from that point on.
I will change that in some way so it remains the same in NSF. As you know, the player in the tracker is written in C++ and the NSF player is assembly, that shares no code in common, so sometimes problems like that appears. =)