25

I have a PC with an Intel P133 (133 MHz). The motherboard (PcPartner MB520NH) only allows for it to be slowed down to 75 MHz at the least via jumper settings, but no lower. Yet the PC's case has an LED module that is configured to show the CPU's current speed setting:

PC front

Notice that the LED module comprises of three digits, meaning that the LED module was meant to be used on systems with over 100 MHz.

I thought the whole point of the turbo switch was to enable compatibility with games that expected 4.77 MHz. What was the purpose of the slow/fast turbo setting on PCs whose CPUs could not slow down to 4.77 MHz?

4
  • 8
    That Display looks like 2 1/2 digits, so max 199 MHz, isn't it?
    – Raffzahn
    Mar 17, 2020 at 1:50
  • 11
    The manufacturer of the case and the motherboard likely had nothing to do with one another. As others have pointed out, the case probably has a series of jumpers to set the various display digits to a static value based on whether the turbo switch had been set or not. Put another way, you could set the displayed values to basically any combination of the available segments.
    – rnxrx
    Mar 17, 2020 at 3:31
  • 8
    By that point there was no intent to slow to the original IBM PC. The point (besides marketing which was the biggest reason) was to slow the machine a bit to make last year's software behave properly if it was badly designed.
    – Jon Custer
    Mar 17, 2020 at 12:27
  • 8
    I worked for a clone manufacturer in the early to mid 1990's; a lot of cases for our mid-towers and full-towers were selected based on whatever was cheapest to source. The motherboards were the same thing, cheap cheap cheap. The LED's on the cases looked sexy, but were rarely jumpered correctly, rarely wired to the mainboard at all, and rarely had any practical value except they looked cool. This was the same for the turbo buttons. Most times, the wires went to nowhere. - Somewhere, I have the photocopied docs for dozens of these LED displays...
    – Geo...
    Mar 17, 2020 at 22:28

7 Answers 7

29

Your premise that the point of the Turbo button was originally to slow down the computer to be timing compatible to an IBM PC/XT is correct. There was demand for that function, because a some of software, mostly games, were not synchronized to any timing source, but just scaled with the CPU frequency. some examples I encountered at that time are:

As you correctly identified, more modern computers are unable to enter a mode that has the same speed as the IBM PC/XT. This actually started as early as

  • 1984: the Compaq Deskpro, containing an 8086 processor that executed notably faster than the IBM PC/XT on software that was bound by main memory performance. The 8088 of the PC is known to be limited by the bandwidth of its 8-bit bus, whereas the Compaq Deskpro had 16-bit memory access.
  • Also 1984: the IBM AT, not only featuring a 16-bit memory bus, but also the 80286 processor that executes some instructions a lot faster than both the 8088 and the 8086.

Yet the Turbo button was still a useful feature. Even if the games did not run at the intended speed, they often were still playable at the slightly increased speed these machines had in de-turbo mode, while they were nearly unplayable in turbo mode. I remember quite well that I considered "Bugs" to be an unplayable game (on a 12MHz 80286 machine) until I had access to an old 8088 machine that had a 4,77MHz mode. On the other hand, digger was quite playable at the de-turbo mode of said 80286 machine (which happened to be 8 MHz).

While the relevance of IBM PC games that only were playable at 4.77MHz dropped significantly at the end of the eighties, the general concept of software (not only games) that failed to perform correctly on machines that were faster than the developers of the software tested on was a recurring theme. Some examples are:

  • Turbo Pascal's delay loop (up to version Turbo Pascal 6.0): The machine speed counter overflowed and delays were to small. An example game that used this code is 20th Century Frog, 1988 Gameplay Video here. On a 486 machine with 33MHz CPU clock, the intro music (played via Timer interrupts) matched the intro animation (timed using Pascal's delay function) only in de-turbo mode.
  • Again Turbo Pascal's delay loop, this time in version 7.0 resulting in Runtime Error 200 on startup.
  • A couple of games that synchronized their speed to video refresh, but actually expected to be at half the video refresh rate, because their game code took more than one frame to execute. On faster computers, these games suddenly ran at double speed, because they locked to every frame instead of every other frame. A notable example is the game Supaplex. There exists a wide-spread "speed fix" version that prevents running at 70fps instead of 35fps. Please note that the version at archive.org I linked does not seem to run at the intended speed in the javascript dosbox.
  • Windows 95 on AMD K6 processors with 350 MHz or more, resulting in the patch called AMDK6UPD (mentioned by Eric Towers)

So while the original purpose of the Turbo button, to be compatible to the IBM PC, was lost soon, the general concept of being able to slow down a machine to make a wider range of software run well on it was useful for a much longer time. As I observed it, the Turbo button started to disappear in the mid-90s, when multitasking got commonplace, and even games started to move to being Windows-95-based instead of DOS-based.

9
  • 1
    Another game that needed the Turbo button: Sopwith (1985): archive.org/details/msdos_Sopwith_1985; it was fixed in Sopwith 2. Mar 17, 2020 at 15:02
  • I guess that an exhaustive list of all games between 1981 and 1987 that depended on 4.77MHz will not fit one Stack Exchange answer. Behaviour like this was commonplace at those times. Thanks for pointing out a later example than the two I listed in the answer. Mar 17, 2020 at 15:16
  • The most famous game to use Turbo Pascal's delay was the original PC version of Tetris.
    – supercat
    Mar 17, 2020 at 16:58
  • @supercat: That's the 1986 AcademySoft version of Tetris? Interesting, I didn't know that the authors used Turbo Pascal for that.
    – Schmuddi
    Mar 17, 2020 at 17:17
  • 4
    It wasn't just games. AMDK6UPD.EXE was a patch for Windows 95 that fixed a similar timing loop overflow during boot on CPUs faster than 350 MHz. Descendants of this patch are still used to get 95 running on much newer hardware. Mar 17, 2020 at 20:13
19

The purpose of the switch is to support CPUs that can work at different clock frequencies.

However, the presence of a turbo switch and a frequency display on a case, do not necessarily imply that the CPU can actually work at different clock frequencies, because the case is a generic case which has not been designed for one specific CPU.

Background

I worked in PC assembly in the mid-90's when such systems were state of the art. The cases were generic ones supplied by cheap Chinese manufacturers.

The LED displays can be configured by an array of jumpers to show any symbol you want. The turbo button will alternate the display between two different settings, as configured by these jumpers. You could e.g. have them alternate between 75 and 133.

In the shop I worked for, we were instructed to set the LED displays to read "HI" and "LO", no matter what processor was installed. This made assembly easier, since all displays could be configured identically.

Even when PCs were to be equipped with CPUs or motherboards that did not support a change of clock frequency, we were still configuring the displays. Because the shop had learned that customers would call for support when their turbo switch didn't work. But as long as the display flipped, the customers would be satisfied, even if their processor ran at exactly the same speed in either mode.

8
  • 5
    There's a lot of talk about the turbo button and what it is supposed to do in other answers, but as someone that built my fair share of PCs, this is the best answer. Case makers kept legacy features forever. Way after something was never used you could still find support for it in cheap cases. They likely used the same case design for years and years because there was no reason to update it.
    – JPhi1618
    Mar 17, 2020 at 14:25
  • 1
    @JPhi1618 Case in point: When was the last time you used Scroll Lock or Pause/Break on your keyboard? At least SysReq has been phased out, but these two still persist. (I do know of one common program that uses Scroll Lock: MS Excel, but I almost never touch it even though I use Excel all the time. Pause/Break I can't think of any use for.) Mar 17, 2020 at 16:09
  • 1
    Thanks for the answer. "The purpose of the switch is to support CPUs that can work at different clock frequencies." sure, but I'm asking why would you want to switch a fast CPU (133MHz) to a slower setting when that slower setting is not slow enough to support compatibility with 4.77MHz dependent games?
    – DBedrenko
    Mar 17, 2020 at 17:01
  • 2
    @another-dave: Sometimes it could be handy to have a miscellaneous button. For example, someone with a cat could wire the button to the key-switch input to disable the keyboard when stepping away from it.
    – supercat
    Mar 17, 2020 at 17:20
  • 1
    @DarrelHoffman While you're correct that Scroll Lock is so obsolete that Linux distros don't even map it to a modifier by default anymore (I use it for global hotkeys), Pause/Break is commonly used as the pause button by games originally written for Linux and you can turn on Alt+SysRq as a way to send commands to the Linux kernel when your GUI has frozen up. For example, Alt+SysRq+f to trigger the OOM killer when your system is thrashing but not yet out of free memory. Likewise, Break substitutes for Alt+SysRq on a serial console, which can be useful for embedded systems.
    – ssokolow
    Mar 19, 2020 at 13:26
13

TL;DR;

Looking at the linked board manual reveals that it doesn't support any 'turbo' switch. So this is simply a case having it, while there is no purpose - maybe except for the fun of having a button that switches the illuminated segments :)

It might be safe to assume that the board has been updated or the case been used regardless. After all, why throw away a perfect good case just because it has some unused feature?

Looks like a typical home built machine anyway.


Yet the PC's case has an LED module that is configured to show the CPU's current speed setting

Is it really? Or is it just displaying some number that has been jumpered? Have you looked inside how it's wired to the board - also, what board it is?

Notice that the LED module comprises of three digits, meaning that the LED module was meant to be used on systems with over 100MHz.

It seems like a 2½ digit display, so 199 should be the maximum value that can be displayed, shouldn't it?

The number of digits in use doesn't say anything about the board. Not even about the time it was manufactured. Using a 2½ digit display doesn't cost much more than a two digit one, but allows setting nice fancy numbers. The machine does look like it's self (or small shop) assembled, so they used what was available. Think of it like any other form of 'modding' just meant to support the ego of its owner.

Bottom line, the display used doesn't say anything about the time or the board.

I thought the whole point of the turbo switch was to enable compatibility with games that expected 4.77MHz. What was the purpose of the slow/fast turbo setting on PCs whose CPUs could not slow down to 4.77MHz?

It's important to keep in mind that a turbo switch is a feature of the case, not of the board. So what function it may have, if any, is defined by the board; you may want to look up the board documentation and check the wiring used.

Besides that, it was in general a way to slow down - though not necessarily to 4.77 MHz.

Throttling down to 4.77 MHz was only a thing for 8088 based (aka PC/XT) machines. Already with 80286 based computers (starting in 1984) this no longer made any sense. Here, if at all, a reduction to 6 or 8 MHz, like the base AT or later models, was used. With introduction of the first 80386 in 1987 the relation changed again. A 386 running at the same speed as a 286 will perform considerably faster, so reducing the clock speed would not bring it down to the same level as an AT.

At the time most motherboards supporting turbo modes (or rather reduced speed modes) simply disabled the on board cache to reduce performance.

The discrepancy increased with 486 and Pentium even more. A Pentium running at 4.77 MHz is several times faster than an genuine 8088 PC at 4.77 MHz. At the time this machine was contemporary (late '90s), a turbo switch had for most part lost any meaning. For one, there weren't many games still able to run on machines that new at all - and even fewer people who wanted to run the old stuff.

In the late '90s, games had to comply with a range of 25 MHz 386 to 200 MHz Pentium, so none were still written to rely solely on clock speed.

19
  • 2
    So after reading through a not really relevant stuff, I'm not seeing any answer to the question in this post.
    – cjs
    Mar 17, 2020 at 3:09
  • 1
    cjs makes a good point. But I think Raffzahn hints at the possibility that there really was a motive to include a turbo button on this class of PCs (maybe marketing related, I don't think there is logic to it), which is at least a partial answer. Mar 17, 2020 at 12:15
  • 2
    "It's important to keep in mind that a turbo switch is a feature of the case, not of the board. So what function it may have, if any, is defined by the board;" -- isn't this quite self-contradictory? Which one do you mean, the case or the board?
    – ilkkachu
    Mar 17, 2020 at 14:58
  • 1
    @ilkkachu I think what is meant is that the function is defined by where exactly on the board the switch is connected, and it's this connection point that one has to read the documentation for.
    – Ruslan
    Mar 17, 2020 at 15:00
  • 1
    @ilkkachu It means that a turbo switch on itself - much like the display is part of a case and has no meaning in itself. Having a turbo switch doesn't mean the computer can be throttled at all. To check if there is a function at all, and how it works, the board documentation needs to be checked.
    – Raffzahn
    Mar 17, 2020 at 15:12
9

I thought the whole point of the turbo switch was to enable compatibility with games that expected 4.77MHz.

A very similar question was already asked here.

One answer was that the "Turbo" button was often used for other purposes (such as switching an additional fan on or off) by users whose motherboards did not support the "Turbo" button.

When there were no more motherboards supporting the "Turbo" button any more, manufacturers still produced cases with "Turbo" button to support users who misused the "Turbo" button for such purposes.

However, ...

What was the purpose of the slow/fast turbo setting on PCs whose CPUs could not slow down to 4.77MHz?

... as far as I remember there were also 486 class PCs where the "Turbo" button was used to switch between two different "high" frequencies (e.g. between 133 MHz and 60 MHz).

6

I thought the whole point of the turbo switch was to enable compatibility with games that expected 4.77MHz. What was the purpose of the slow/fast turbo setting on PCs whose CPUs could not slow down to 4.77MHz?

The turbo switch lost that purpose much earlier. It did that job on 8088 PC compatible machines runing at slightly higher clock speeds (in the 8-10 MHz range). It didn't on 386+ machines.

There is no way to slow down a Pentium (or 486, or 386; not sure about 286) machine to be as slow as a 4.77 MHz 8088. Even if DRAM refresh permitted running that slow, the CPU architecture would still be faster because of pipelining, wider buses, and other improvements -- we're talking almost 20 years of R&D here.

There also would be next to no demand for such a feature. Not many people wanted to run mid-80s games on fancy Pentiums.

I've been using PC compatible machines since the 386 in the late 80s, and for all that time, the switch was either used to (pointlessly) switch between "a little slower" and "a little faster", or had no function at all. Practically everyone left it in "turbo mode" all the time.

As others have pointed out, the display is a function of the case, switching between two jumpered values, and does not show the actual clock frequency. What the motherboard does with the low / high signal is entirely up to it.

2
  • 2
    "switching between two jumpered values, and does not show the actual clock frequency" -- I remember one that was jumpered to display "LO" and "HI"... Mar 17, 2020 at 12:42
  • 1
    @RogerLipscombe: I jumpered mine to do that. The case used a double-throw double-pole switch, with one side going to the motherboard and the other going to the LED. Each segment could be configured as always off, always on, on when switch "in", or on when switch "out".
    – supercat
    Mar 17, 2020 at 17:01
2

One nuance to the Pentium 133 is that it used precharge, domino logic (please correct me if I am wrong; I recall this from an Intel presentation). This logic requires a minimum speed to operate. This minimum speed is one reason that you could not have a legacy "turbo" switch change the speed, because it would violate the logic timing, which you could consider to be something like DRAM.

1
1

IIRC at the time cheaper cases were sold as XT/AT cases and in addition to taking AT motherboards had the mounting holes and turbo switches for old XT motherboards years after people stopped buying them new, while newer AT only cases were slightly more premium. Also some newer motherboards would still have a jumper to accept a turbo switch and would slow down from say 200mhz to 75mhz, possibly adjustable by jumpers on the motherboard, which may still serve a compatibility function with poorly designed software. This would also enable overclocking as the turbo speed could be overclocked while the slower speed would be stock or slower.

4
  • 1
    There would be a clock speed (e.g. 33.3mhz) and a multiplier (e.g. 6) which would give the clock speed (200mhz). The turbo switch would adjust one or the other, possibly depending on the motherboard.
    – RET
    Mar 17, 2020 at 16:42
  • Not even necessarily clock speed or multiplier. IIRC the turbo jumper on my Cyrix Cx5x86 machine just disabled the L2 cache.
    – mnem
    Mar 18, 2020 at 4:33
  • 1
    Things weren't really standardised in pre plug and play computers, so the only way to know for any given machine would be to find a copy of the motherboard manual.
    – RET
    Mar 19, 2020 at 8:59
  • To get a feel for how overclocking worked in those days see this link. You would be able to adjust the multipliers voltages and FSB by rearranging the jumpers on the motherboard. You could then adjust the LED display to show off what speed you had managed to overclock to. : tomshardware.com/uk/reviews/overclocking-guide,15-10.html
    – RET
    Mar 19, 2020 at 16:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .