Yeah, I just remembered that he's got one solution. However, it would work only if you don't use decay unit, sweep units and timelenght counters *at all* in your sound code. This should be okay since you're handling that stuff with software.
The common way to do this is effectively to write to $4002/6 anyway, but to be carefull to write only to $4003/7 if the value is different from the previous ones. This needs more variable, but this can be skipped for triangle and noise channels.
Else, the pitch slides would be okay because you'd write only once to the high frequencey register, and the clicks wouldn't be really noticable, but for vibratoes arround A, the period will *regulary* be reseted, and you'll have very noticable clicks. You can do as blargg says, or else, another fine method is just to xor the frequencey with 1 regulary. You'll be holding only little vibrato dephts, but the period will never be resseted, even with the infamous A2 note, that is $0fe (%000 - %1111'1110) on NTSC, and it definitely can't have depht more than one single step, else it would crunckle.
Yea, when I was a kid, I really loved the megaman series music. So you can see I've been watching those tunes in gnsf and kinda adapting the style.
When you was a kid ? I love it right now, personally
Actually, after comparing the two song more seriousely, I think if you would hack Megaman 2 to put your music insted of the original one in Bubbleman stage, nobody would notice it until the final part of the song that is a bit different, exept diehard megaman fans like probably a lot of people in there.
Life is complex: it has both real and imaginary components.