First post, by videogamer555
For some games and other programs, the timing is not based on a realtime clock timing, but rather on the CPU's clock oscillator frequency. Games and other software that run at the wrong CPU speed will be too fast or to slow. Other programs that use this timing, use it to determine the length of time a splashscreen remains visible at the start of the program. For drawing programs that have a drawing effect that gets stronger the longer you hold the mouse button down (such as airbrush) this timing determines how quickly the effect reaches maximum. All of these types of programs, when the timing is based on CPU clock oscillator frequency, will be way to fast on modern computers, even when running in DOSbox. Unfortunately, despite my best efforts, I can't figure out how to make DOSbox emulate a specific CPU speed. This either means the feature is well hidden (maybe only for DOSbox devs), or is simply not an available feature in DOSbox. If this is not an available feature in DOSbox, it should be. In fact this should have been one of the first features that ANY emulator of DOS pcs would have, as many older DOS programs do indeed use CPU clock frequency for timing.
A simple implementation would be to introduce artificial delays in the emulator software's main loop structure. Adding a delay of 1microsecond would emulate a 1MHz CPU. Adding a 0.5 microsecond delay would emulate a 2MHz CPU. Adding a 0.25 microsecond delay would emulate a 4MHz CPU. And so on.
Please, developers of DOSbox, if you ever actually read these forums, PLEASE consider adding this feature to DOSbox in your next version.