John: The easiest way to generate a slope in an integer system is to use a sum-tracking algorythm (y=mx+b where m = dy/dx). Take the ratio of dy:dx and add dx while the result is negative then subtract dy while the result is positive. The sign of the result at each step indicates whether the next step is x or y (or in your case, whether or not to decrement the frequency on the next pulse). The slope can be varied related to another slope to simulate higher order or non-linear functions. If you normalize your time constants around 256 then there is no need to actually do any division or multiplication. If you still find yourself unable to solve this problem without a decimal point, may I suggest that you voluntarily check yourself into the Betty Ford center for the treatment of "float" addiction . Hope that helped, Don