Ahh. You can scale a random number by dividing by the top of range, and then the remainder is in range. So nice.

That is absolutely true. The modulus operation is very handy for that in many languages and the 9900 gives it to us for free in hardware.

That works more like a range limiter so numbers never exceed a maximum value.

I think Tschak909 is looking for true scaling where you change the range of numbers from some input range to a smaller range but the distances between units is still in proportion to the original input range. So that's real division.

It's more challenging in integer math to do division by a specific fraction ( eg: .375 or 3/8) so that's why using 9900 MPY, taking the 32 bit result ( 0..~4,000,000,000) and then using DIV to divide the 32bit number by a 16 bit divisor, let's us scale to a very wide range of values.

As mentioned the 9900 made this kind of thing sooo much easier than it is on a 6502.

Apologies if I am preaching to the choir here. It's my morning coffee talking.