Hi, I want to scale an incoming byte 00 - FF into a smaller range of values so that 00 still is 00 but FF gets cut down to say 28h with all the values in between filled in. I though of a few ways to do it; 1) Divide by a constant & round the result. Maybe the best but I may need to change the curve of the scaling. 2) A 256 byte table. Very definable but large & a pain to change scale. 3) Lots of compares. Changeable points but woefully long & ugly. I may need a few different scales in this application so does anyone have any brilliant ideas on the the best way? Maybe there is another solution that I've missed? Regards... -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics