| The documentation for GEN16 is a little off. Perhaps someone can
confirm. Anyhow, I think it would be clearer in this form:
f # time size 16 beg1 dur1 type1 end1 [ beg2 dur2 type2 end2 ...begN
durN endN valN]
Initialization
size -- number of points in the table. Must be a power of 2 or a
power-of-2 plus 1 (see f statement). The normal value is power-of-2
plus 1.
Note
The end value is only reached when the table length is power-of-2 plus
1. (This length is crucial for use with the tab opcode.)
beg1, beg2, etc. -- starting value
dur1, dur2, etc. -- length of segments
type -- if 0, a straight line is produced. If non-zero, then GEN16
creates the following curve, for dur steps:
beg + (end - beg) * (1 - exp( i*type/(dur-1) )) / (1 - exp(type))
end1, end2, etc -- value to be reached after dur points
|