It might look like this:
start:
draw the picture
check for user input
if 10 ms have passed (for example), then
perform a calculation step
endif
go to start
------
That is, on a weak processor, everything will work great, but on a powerful one, a calculation step will be performed every 10 ms, and the rest of the time, the picture will be redrawn. Simply, on a weak computer, it will be redrawn, say, 20 times per second, and on a powerful one, 1000 times.
And here, if you insert sleep(1) in the right place, the processor will be unloaded for some time.
I'll try to find the second Heroes and the third Platinum edition (they're somewhere around here) and see what's happening with them.