The UI changes is just different font.bmp file, it allows to customize the looks (along with the .cfg file). Tried to do something more comfortable to work with on my PC. Tracker code itself had no changes yet, although yes, I want to eventually add some things from SNESGSS interface, that also had pattern-less approach.
Sound generation loop from this engine, that closely matches SpecialFX:
soundLoop
ld a,3 ;7 - this part is just 62t delay, to align the (empty) loop to 168t, allowing to have lowest E note
dec a ;4
jr nz,$-1 ;7/12=50t
jr $+2 ;12
dec d ;4 - channel 1 8-bit counter
jp nz,.ch2 ;10
.ch1freq=$+1
ld d,0 ;7 - reload counter
.ch1delay1=$+1
ld a,0 ;7 - first variable delay, that is like bottom of a pin, it gets changed by the decay envelope
dec a ;4
jr nz,$-1 ;7/12
.ch1out=$+1
ld a,0 ;7 - output a set bit (or reset, if the channel is muted)
out (#fe),a ;11
.ch1delay2=$+1
ld a,0 ;7 - second variable delay, that is top of a pin
dec a ;4
jr nz,$-1 ;7/12
out (#fe),a ;11 - reset output, pin is ended
.ch2
ld a,3 ;7 - the same for the second channel
dec a ;4
jr nz,$-1 ;7/12=50t
jr $+2 ;12
dec e ;4
jp nz,.loop ;10
.ch2freq=$+1
ld e,0 ;7
.ch2delay1=$+1
ld a,0 ;7
dec a ;4
jr nz,$-1 ;7/12
.ch2out=$+1
ld a,0 ;7
out (#fe),a ;11
.ch2delay2=$+1
ld a,0 ;7
dec a ;4
jr nz,$-1 ;7/12
out (#fe),a ;11
.loop
dec b ;4
jr nz,soundLoop ;7/12=168t
The weird part of PFM engines of this kind, with separate pins (not combined like QChan or Octode), that I don't really understand, is that they output both 0 and 1 parts of a pin with corresponding delay, not just 1. If you omit the 0 part with its delay, cross-detune gets just horrible, even with two channels.