tribute to text-mode games

Mo’Slo

Author: David Perrell

Download: moslo.zip

Description

Mo’Slo is a utility that allows you to slow down the execution speed of a program. You can slow down to 1%–99% of normal speed in 1% increments. For example, if you wanted to run Insanity at 20% of normal speed, launch it with the following command line: moslo /20 insanity.exe.

Update

DOSBox is now the preferred solution for slowing down old computer games. It also solves the runtime error 200 bug that affects certain games written in Turbo Pascal. I suggest using DOSBox first; if that doesn’t work, then give Mo’Slo a try.

Why Would I Need a Slowdown Utility?

Some of the games in this collection are real-time (as opposed to turn-based). This means that the playing pieces controlled by the computer (called sprites) continue to move whether or not there is any input from the human player.

If the computer moved its sprites at the maximum possible speed, it would be virtually impossible for any human player to win the game. That is because the computer can recalculate a sprite’s position many thousands of times per second. The sprites would race across the screen and collide with the player in a fraction of a second, before there was a chance to even press a key.

To solve this problem, game developers needed a way to slow down the normal execution speed of their games. Most modern games do this by keeping track of the system clock, which ticks 18 times per second. So, for example, if you want the sprites to move once per second, you count off 18 ticks of the clock before allowing the computer to move its sprites. This method works no matter how fast the computer runs, because the system clock is always constant.

However, some older games used a loop-delay function to slow things down. This was implemented using a piece of code that looks something like this:

function OneSecondDelay
begin
    n = 0
    while (n < 10,000) do n = n+1
end

repeat
    call OneSecondDelay
    move sprites
until (player is caught by sprites)

The underlying assumption here is that it will take the computer one second to count to 10,000. As long as all computers were running at the same speed, this method worked just fine. However, it wasn't long before chip manufacturers started producing computers that ran hundreds, even thousands of times faster than before. On these super-fast computers, a counting operation that used to take a full second now only takes a tiny fraction of a second. As a result, games that rely on the old loop-delay function speed up to the point where they are unplayable.

This is where utilities such as DOSBox or Mo'Slo come in. They slow down the computer so that it can't race through the loop as quickly. The effect is that the game slows down to the speed originally intended by the developer.

So why were those old game writers so short-sighted? Didn't they know that computers would eventually speed up and render their loop-delay functions useless? Let's cut these guys a little slack. They didn't do any worse than the mainframe programmers who forgot about the year 2000, and besides, most of them were just doing it as a hobby, anyway. The fact that we're willing to slow down our computers to play their games proves that they did something right.

We offer best quality Real Exams and certkiller ceh exam. You can get our 100% guaranteed actualtests comptia security+ and braindumps comptia a+ to help you in passing the real exam of testinside comptia security+.

Comments