Welcome to MSDN Blogs Sign in | Join | Help

Hardware backwards compatibility

Backwards compatibility applies not only to software. It also applies to hardware. And when hardware goes bad, the software usually takes the blame.

The HLT instruction tells the CPU to shut itself down until the next hardware interrupt. This is a big win on laptops since it reduces power consumption and thereby saves your lap from third-degree burns.

We (well, specifically, Jeff) had this implemented and working in Windows 95 but discovered to our dismay that there were many laptops (some from a major manufacturer) which would lock up unrecoverably if you issued a HLT instruction.

So we had to back it out.

Then the aftermarket HLT programs came out and people wrote, "Stupid Microsoft. Why did they leave this feature out of Windows." I had to sit quietly while people accused Microsoft of being stupid and/or lazy and/or selfish.

But now the statute of limitations has expired so at least I can say something (though I'm still not going to name that major manufacturer, nice try).

My favorite bad hardware, though, was a system which would crash if the video card was put in an expansion slot too far away from the power supply. Manufacturers will do anything to save a nickel.

And yet Windows 95 ran on almost all of this bad hardware. Why did we go to all this effort to accomodate bad hardware? Consider:

  • You have a computer that works okay.
  • You go to the store and buy Windows 95.
  • You take it home and install it.
  • Your computer crashes.

Whom do you blame? Hint: Not your computer manufacturer.

I have more hardware stories, but I have a meeting soon so I'll have to stop here for today.

Published Thursday, August 28, 2003 12:16 PM by oldnewthing
Filed under:

Comments

# RE: Hardware backwards compatibility

Thursday, August 28, 2003 1:16 PM by Martin Soles
And... the operating systems seem to get a bit more stringent on the hardware requirements with each new release. I had all kinds of problems moving from 98 to 2000 on one machine (there was an issue with the memory, a new stick and it would install just fine). Moving from 2000 to XP, I had to replace a brand new hard drive. Moving from XP to 2003, I had to replace the NIC. I've stopped trying to install on existing hardware and just buy a whole new set of guts. One day, it's gonna be the case...

# RE: Hardware backwards compatibility

Thursday, August 28, 2003 1:58 PM by Mike Weiss
Why has the "statute of limitation" on talking about this expired? What is the rule at MS about talking in public about issues like this?

# RE: Hardware backwards compatibility

Thursday, August 28, 2003 2:11 PM by Alex
Perhaps the stock options have vested, so that Raymond has money to hire Big Mean Lawyers now?

# RE: Hardware backwards compatibility

Thursday, August 28, 2003 3:28 PM by runtime
why not just check (at install time or boot time) whether this is a known-bad laptop? Let others benefit from the HLT instruction.

# RE: Hardware backwards compatibility

Thursday, August 28, 2003 3:33 PM by ehsan
Good blog just continue...;)

# RE: Hardware backwards compatibility

Thursday, August 28, 2003 4:02 PM by Raymond Chen
For many problems we did do detection of the bad machines. If you go back to your Windows 95 CD you'll see a "machine.inf" file that contains detection signatures for all sorts of bad BIOSes. But in this case, the risk of a false negative was too high and the crash was too severe. We were forced to play it safe. (The general rule about issues like this is simply not to talk about it because the word may get back to the company that made the original mistake, but I figure it was long enough ago that the offending company probably won't even recognize themselves.)

# RE: Hardware backwards compatibility

Thursday, August 28, 2003 5:17 PM by Ian Hanschen
I'm betting the company in question is famous for their calculators.

# RE: Hardware backwards compatibility

Saturday, October 25, 2003 9:36 PM by Leon Brooks
Ah, so you'd be talking about Texas Instruments there, Ian? (-: Mandrake (most Linux distros) do a lot of checking for this kind of stuff at all levels. For example, there's a DMA blacklist in the kernel that contains a lot of LG (== "Lame Goldstar") drives. But not enough, I have a recent badge-engineered ex-GoldStar (LG) CDRW drive to hand which stops working halfway the Mandrake 9.2 install but doesn't kill itself. It gets further with "hdc=nodma" on the kernel command line, but still dies before getting anywhere useful. BTW, thanks for your insight, Mr Chen!

# Hardware vs. Software

Thursday, April 01, 2004 11:24 PM by Hurricane Blog
I love this entry from Raymond Chen. I've added his blog to the links on the main page of this site. It's the one called "The Old New Thing". I wonder if the major manufacturer he mentions could have been...

# re: Hardware backwards compatibility

Thursday, June 24, 2004 5:14 PM by Raymond Chen
Commenting on this article has been closed.

# re: Suggestion Box 2

Thursday, March 24, 2005 2:30 PM by The Old New Thing
New Comments to this post are disabled
 
Page view tracker