Those days your CPU would be doing mostly 1 thing, like run your game, so the concept of sleep wasn't needed and actually, usually you didn't have time to sleep even if you could, you would need every cycle to do calculations. To make life a bit easier and by using C/asm, you could offload something like game music by setting an interrupt vector so it would keep playing nicely without you doing all kinds of timing madness. I was using a lot more math back then than now; there are libraries for everything and they hide the math for you. You could find physic approximations (very rough! it only had to look plausible, not realistic) in books and BBSs BUT you could never just use them as you didn't have enough cycles for that, you needed to rewrite them to fit your purpose otherwise your software would be unusably slow.