Here I'm including examples of resetting the phase in RMT with 100 command (frequency 0).
If you play the xex, first there is just some different noise in channels 1 and 3, to show the effect works with Pokey in random state.
After that there are 3 series of tones. I suggest turning on the oscilloscopes in Altirra.
Everything is in 15kHz.
First there is bass made by instruments Bass1a and Bass1b. This is supposed to generate tone with increasing pulse width, but always starting at zero.
Bass1a is on channel 1, it uses Audctl bit Fi1+3. First frame has zero volume, and frequency 0 (command 100). After that you have simple A distortion, and no command.
Bass1b does not use any Audctl bits, and it plays on channel 3. Since Bass1a turned the filter on, Bass1b doesn't have to. Bass1b also uses first frame with 0 frequency (100). Second frame uses command 200, but that does nothing in this instrument, let's ignore it for the moment. It will get more use later.
And in third frame there is loop with command 201 .. in other words, play frequency lower by 1. This continuously makes the phase of channel 3 lag behind channel 1, and it makes the pulse wider and wider. The channel itself generates no tone, it has 0 volume. You can add some of this channel (distortion A, volume 4) into the mix, it makes the bass beefier. I left it simple for the demonstration.
This instrument is similar to default RMT filter, except the phase is reset every time. It also demonstrates how to make filter manually using 2 channels.
After that there is bass with more complex phase control. The tone starts with low pulse width .. but not zero. It makes the pulse go wider for a moment, then back to the starting value, and then it stops at constant pulse width. It's done using instruments Bass2a and Bass2b.
Bass 2a is exactly the same as in the first case. Frame with 100, constant tone after that.
Bass2b is similar to Bass2a, but there are few differences.
First frame is the same, command 100. Second frame is different. There is command 204. This means playing lower frequency for one frame .. in other words, make the pulse grow wider for one frame. It's basically used to define starting pulse width. You can change this parameter to different values to get different starting pulse width (more about this later). Third frame uses no modulation, command 200. Which would normally mean constant pulse width.
But in this instrument I also use tone table. It allows for slower change of frequency (which means pulse width). The tone table is in frequency mode, the first frame has 01 in it, which is the same as using 201 command. So for the duration of the first tone table frame the pulse grows wider.
After that there is FF. This will make the pulse go narrower. And after that there is loop on 0, which will fix the pulse width.
Third example is fixed pulse width. It uses instruments Bass3x. For every different pulse width I need new instrument in RMT. But only for the second channel. Bass3a in channel 1 is the same as in previous examples. Bass3b is similar as before. The second frame is important. That one sets the initial pulse width. Bass3b uses command 201. Bass3c uses 203. Bass3d 205 and bass 3d 207. Third, looped frame uses 200, in other words fixed phase, and no tone table is used.
The track is done so channel 1 only uses Bass3a, and on channel 3 there is variation of the different pulse widths.