• Please review our updated Terms and Rules here

Turbo Button history?

Trixter

Veteran Member
Joined
Aug 31, 2006
Messages
7,478
Location
Chicagoland, Illinois, USA
I have very distinct recollections of the rise of the "Turbo button" on IBM PC-compatible systems, and the general nature of "two speeds" on IBM PC clones in general, being introduced as a response to copy-protection routines that failed on faster systems. I lived through that era, I read the trade mags, I built clone systems as a summer job, and everything I read (or was told) pointed to a slower/original speed being necessary so that expensive business software would still run on protected key disks on the faster systems -- after all, it was primarily business users buying the systems. However strong my convictions, though, I don't have hard and fast proof of this.

Fast-forward to today, and the internet has a very short memory, and someone is arguing with me that turbo buttons were introduced specifically to slow down games. Worse, he's using the same mechanism I am to prove his point: Memory. Meaning, he remembers using the button to slow down games, so that must be what it was created for.

Am I right, or wrong? What is everyone else's recollection? Is it even possible to cite proof of why "turbo buttons"/multiple speeds were created?
 
I've read that Turbo buttons were introduced to slow down games, but that doesn't match my memory. My first two memories:

1) Something I added to my Tandy 1000 that sped it up. I think there was some kind of toggle switch. I only vaguely remember this.

2) My second computer, a "Protege" AT clone, out of some outfit in PC Magazine or Computer Shopper. It was available with 10Mhz or 12Mhz Turbo. I paid extra for the 12Mhz. It was unstable and useless at that speed. I ended up running it at 8 Mhz instead.

So from my recollection, this whole Turbo thing was cutting edge. It was a feature to speed the computer up, not to slow it down, and "non-Turbo" was there for stability reasons. This recollection may have been colored by my experience though, in that I had a negative experience with a Turbo computer.

Scott
 
I have an interesting perspective on this. One of my first projects as a freshly converted PC user was to write a TSR (if the Exec-PC archives still exist you can find it there, it was called DELAY) which slowed the machine down when the Scroll Lock light was on.

The reason I did it was mainly because certain productivity applications were difficult to use at higher speeds. Think scroll speed in a word processor (but not limitied to that at all). A side effect was not only that it made certain poorly written games to work, but also that any game could be slowed down as a method of cheating! I don't recall ever using this for the sake of making copy protection work. But (regrettably) I was more interested at that time in thwarting copy-protection than making it work.

Interestingly, the speed problem wasn't completely related to the base AT speed, which all the Turbo buttons purported to give you. There were many applications that ran properly on 33MHz i486 machines that didn't run very well at other speeds. Unfortunately all the best examples that I can recall of this were games, most notably Ultima VII. Avatar is very hard to navigate on a Pentium!
 
This recollection may have been colored by my experience though, in that I had a negative experience with a Turbo computer.
From my recollection, I would say so. Only because I never knew anyone that ever intentionally ran with the Turbo switch off. Either they wanted the higher speed anyway (I never knew of any machines like that with stability issues) or the non-turbo speed just wasn't helpful, because it didn't really cause the machine to run at a standardised speed.

And now that I think more about it, I recall modifying my solution so that it would achieve accurate timing, specifically for games, at the request of people playing games.
 
I have very distinct recollections of the rise of the "Turbo button" on IBM PC-compatible systems, and the general nature of "two speeds" on IBM PC clones in general, being introduced as a response to copy-protection routines that failed on faster systems. I lived through that era, I read the trade mags, I built clone systems as a summer job, and everything I read (or was told) pointed to a slower/original speed being necessary so that expensive business software would still run on protected key disks on the faster systems -- after all, it was primarily business users buying the systems. However strong my convictions, though, I don't have hard and fast proof of this.

Fast-forward to today, and the internet has a very short memory, and someone is arguing with me that turbo buttons were introduced specifically to slow down games. Worse, he's using the same mechanism I am to prove his point: Memory. Meaning, he remembers using the button to slow down games, so that must be what it was created for.

Am I right, or wrong? What is everyone else's recollection? Is it even possible to cite proof of why "turbo buttons"/multiple speeds were created?

I suspect both ideas are equally right and that turbo buttons existed to solve "compatibility problems" with no more specific reason needed. Trade magazines took that to mean copy protection on business software since that's what they and their readers were familiar with, and other people took it to mean games. There doesn't need to be one exact reason that makes all others wrong.
 
I think we need to define what a 'turbo button' is, first.
I have two 8088 clones with multiple speeds. Both boot up in 4.77 MHz.
Neither have a physical 'turbo button' on the case. They both use a BIOS routine with a keyboard handler to allow you to switch speeds. Alternatively, they also supply a simple commandline-utility to do the same.

I think the fact that they boot up in 4.77 MHz is an indication that 100% compatibility was the 'default' mode, probably because that was required by software (back then, 'PC compatibility' was a thing, and it was important to be able to run things like Lotus 1-2-3 and MS Flight Simulator out-of-the-box, so that is probably why they defaulted to the most compatible option). And 'turbo' mode was exactly that: You could switch on the 'turbo' if you wanted to take advantage of it.
I generally always ran in 'turbo' mode with my machine, because I mostly played games, and they generally worked better with the turbo enabled.

My first PC with a physical turbo button was my 386SX-16. I don't know if any 8088-based machines ever had a physical button, but in the 286 era it seemed to become a standard option on the case.
These were generally actual physical switches, rather than a software solution as in my 8088 machines. So the machine would simply boot up in whichever mode the physical switch was. There was no 'default'. I would usually boot up with the turbo on, because most stuff worked fine (just like I put the commandline util in the autoexec.bat on my 8088 machines, to make sure I got the turbo mode at startup).

Now, my 386SX-16 was indeed too fast for certain 8088-targeted games, and turning off the turbo was a solution to that (it would never turn down quite as low as an equivalent 8088 at 4.77 MHz), but I don't think that was its original purpose.

With hardware, more specifically sound cards, I often find that old software (eg IBM Music Feature Card software) has problems detecting the card with the turbo enabled, because the detection routines were designed with delay loops, and these loops exit before the card responds to the initialization commands. Disabling turbo is a good solution to that. I would guess that this is closer to the intended purpose of the turbo button.

Interesting bit of trivia: Intel deliberately made the 'loop' instruction slow on later x86 CPUs. The rationale being that old software would use 'loop' for any delay loops for I/O, and newer software would use separate 'dec cx/jnz' instructions, which would run faster anyway. The slow 'loop' would improve backward compatibility.
AMD didn't get the memo and made their 'loop' run as fast as 'dec cx/jnz' in their K6 CPU. As a result, a lot of software, including crucial parts of Windows 9x failed to run correctly on the CPU. A patch was issued: http://www.helpwithwindows.com/windows95/troub-67.html
 
Last edited:
I think we need to define what a 'turbo button' is, first.
I have two 8088 clones with multiple speeds. Both boot up in 4.77 MHz.
Neither have a physical 'turbo button' on the case. They both use a BIOS routine with a keyboard handler to allow you to switch speeds. Alternatively, they also supply a simple commandline-utility to do the same.

I think the fact that they boot up in 4.77 MHz is an indication that 100% compatibility was the 'default' mode, probably because that was required by software (back then, 'PC compatibility' was a thing, and it was important to be able to run things like Lotus 1-2-3 and MS Flight Simulator out-of-the-box, so that is probably why they defaulted to the most compatible option). And 'turbo' mode was exactly that: You could switch on the 'turbo' if you wanted to take advantage of it.
I generally always ran in 'turbo' mode with my machine, because I mostly played games, and they generally worked better with the turbo enabled.

Out of interest, do you have an 8087 co-processor installed in your 8088 clones? Because with the Atari PC3 it will boot in "turbo mode" when no co-processor is installed and "standard PC mode" when one is. As with yours switching between modes can be done by keyboard or command line utility.
 
Out of interest, do you have an 8087 co-processor installed in your 8088 clones? Because with the Atari PC3 it will boot in "turbo mode" when no co-processor is installed and "standard PC mode" when one is. As with yours switching between modes can be done by keyboard or command line utility.

Nope, no FPU in either machine.
Interesting that the Atari disables turbo when an FPU is installed...
Perhaps it is because the FPU is not necessarily rated at the turbo speed? Eg, if you were to install an 8087 rated for 4.77 MHz, it would crash if the turbo was enabled.
 
Some insight into this might be to find instances of trouble outside the PC-compatible world. It seems to me that there were other micros that ran into the speed problem first. Wasn't there something like the turbo switch (only in software) in the Apple IIgs?

I remember having a discussion with someone about this problem even earlier than the IIgs, but I don't recall what platform it would have been where it could have been an issue.
 
Nope, no FPU in either machine.

Interesting, I always figured that it was normal for XT clones to default to "turbo mode" perhaps to give them that performance edge over the original IBM right from the get go without user interaction. If you needed to slow down for 100% compatibly, which in later years may not have been such an issue (Atari PC clones first arrived late '87-'88 ), then you could via keyboard or command line. I don't think I recall ever having to turn "turbo mode" off back then, if I did probably very rarely.

I assume "turbo mode" being automatically switched off at boot when an 8087 is installed is to avoid running into issues with lower speed 8087's. The manual does state you can only switch "turbo mode" on after boot with an 8087 as long as it is an 8 MHz or higher part (8087-1 or 8087-2).
 
I don't know if any 8088-based machines ever had a physical button

I have a clone that does, though I think it's quite a late 8088 board/case. 4.77MHz/10MHz speeds.

On switch-on, there's a brief delay as the BIOS checks whether the switch is on, then the turbo LED lights up. I had one piece of unruly software that repeatedly switched turbo (including the LED) off, even though the switch remained on. So it's not a pure hardware switch, i.e. it's not simply toggling oscillators.

Maybe it hooks into the same method as the keyboard shortcuts - I had a couple of machines with those. Ctrl-Alt-Grey+ and Ctrl-Alt-Grey- spring to mind, where 'Grey' referred to the number-pad keys.

Anyway...

My recollections of the turbo button are of 'a button to slow down the PC for compatibility with older software' though not for any specific software genre. Similar to my Psion 3mx, which defaulted to high speed but had a 'slow' mode for older 3a software that would otherwise have been too fast to use.
 
Back in those days I used to repair pc clones and was also a programmer.
I was also an avid gamer and used to crack my copy protected games so i could back them up.

Never once did I come across a copy protection method that relied on the speed of the PC, generally copy protection was done with deliberate bad sectors and odd sector numbers.

In the early days of the clones the speed of most games was hard coded for the standard clock speed. It was only after the turbo machines and the release of the AT in particular that the games speed was tied to the heartbeat interrupt. Tying the maximum speed of the game to the heartbeat ensured that the game played at the same speed even on faster machines. Of course other software also suffered from an unintentional speed up and not just games, however it was generally more of a problem with games.

So your friend is essentially correct, the turbo button was introduced to enable the user to switch between CPU speeds as required to maintain usability of the software.
 
On switch-on, there's a brief delay as the BIOS checks whether the switch is on, then the turbo LED lights up. I had one piece of unruly software that repeatedly switched turbo (including the LED) off, even though the switch remained on. So it's not a pure hardware switch, i.e. it's not simply toggling oscillators.

Yes, I have a 286 like that as well.
My 386SX and 486 have pure hardware switches afaik (I no longer have the 386SX).
On my 286 I found that in certain games/demos, the turbo doesn't respond.
After doing some experimenting with my own code, I think the reason is that the code takes control of the timer interrupt. The BIOS probably has a default handler installed, which checks the state of the turbo button at the default rate of 18.2 Hz. If you don't simply chain your interrupt handler, but take over the interrupt altogether (as more performance-oriented/time-critical software would do), this BIOS routine no longer gets called, and as such, the turbo switch becomes unresponsive.

I was somewhat surprised at this, seeing as it's a very late 286-20 system.
 
DTK's PIM-TB10-Z motherboard switched between 4.77 MHz ('Normal') and 10 MHz ('Turbo'). The user manual for the board is at [here], and on its page 15 (PDF page 10), it comments on certain software.
 
I remember Turbo mode being required because early expansion cards did a poor job running on accelerated hardware. 1986 was a bit early to worry about effects on PC games.
 
LGR's video also claims that most turbo buttons are wired so that turbo mode is the un-pushed position, and pushing in the turbo button slows it down to non-turbo mode. My experience is the exact opposite -- pushing in the button almost always enables turbo mode, both on OEM systems and white-box clones.


And as for "turbo XT" clones having 4.77 MHz as the default speed -- they mainly did this because turbo mode also increases the bus speed, and some expansion cards might not work at the faster speed, especially when you go above 8 MHz (which later became the standardized ISA bus speed in 286+ systems). Since this could cause the system to fail to boot, that's why they made 4.77 MHz the default.
 
pushing in the button almost always enables turbo mode, both on OEM systems and white-box clones.

I second that.

And as for "turbo XT" clones having 4.77 MHz as the default speed -- they mainly did this because turbo mode also increases the bus speed

I don't think it does on my machines (Philips P3105 and Commodore PC20-III). They generally use chipsets and memory that is not rated for more than 4.77 MHz.
So I think the turbo mode on my machines is akin to a 486DX2 CPU.
Even if it did, the Philips would only go to 8 MHz, which is below the 8.33 MHz that has become the 'standard' in the 286 and later era.
 
All the ones I had were turbo mode with the button out. I remember one of them particularly well. They were all Taiwanese clone cases. They would be in turbo mode with the button disconnected, too. The LEDs were adjustable. They were intended to be set to 8/25 or Lo/Hi, but someone had changed one to FU/Hi, which is how I first discovered they were adjustable.
 
Back
Top