You can always try DOSBOX and sloooooooow things down... a whole bunch!
Yeah I need to try DOSbox. But I'm having too much fun with console stuffs to bother.
Is there some reason why some games failed but others didn't? I would assume it is possible after the CPU has executed all required instructions, to wait for the screen to refresh before drawing the elements for the next frame? Some games, especially Qbasic, used For-Next loops, ie
FOR X = 1 to 5000
to basically "waste" idle CPU cycles by executing pointless loops. You could adjust the program to make the game run as fast or slow as you wanted. But some games were designed to run on 8-12Mhz CPU. Still a simple wait for Vblank command would allow the program to run as intended even on a multigigahertz CPU, right?