News: 1757433727

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Why Windows 95 left a handy power saving feature on the cutting-room floor

(2025/09/09)


Microsoft vet Raymond Chen first told the [1]story of HLT and Windows 95 more than 20 years ago. The instruction tells the CPU to effectively shut itself down until the next hardware interrupt – ideal for laptops, since power consumption would be hugely reduced.

Microsoft had it implemented and working in Windows 95, but found that there were some devices out there, including from a "major manufacturer," that would be locked up unrecoverably by the instruction. Not wanting to be blamed, Microsoft pulled it.

So why didn't Microsoft just special-case devices that would be bricked by the HLT instruction in Windows 95? Chen has finally explained.

[2]

The [3]answer is simple – Microsoft wasn't sure how many susceptible devices were already out in the wild, and so opted to leave it out rather than take the risk.

[4]

[5]

Users of modern Windows are accustomed to Microsoft erecting compatibility barriers to prevent an operating system update from being installed if there is something about the hardware or configuration that the company is less than enthusiastic about.

"Windows 95," said Chen, "could have added detection for the systems that froze up on HLT instructions, but since there were many such systems, the risk was that by the time Windows 95 shipped, not all affected systems would have been identified.

[6]

"The fact that many systems were affected means that this was not an isolated case. We're probably seeing the tip of a very fragmented iceberg.

[7]Microsoft veteran's worst Windows bug was Pinball running at 5,000 FPS

[8]Microsoft eventually realized the world isn't just the Northern Hemisphere

[9]Windows 95 testing almost stalled due to cash register overflow

[10]Windows reports two CPU speeds because one would be too simple

"Since the failure mode is a system that is unusable, the cost of a false negative was far too high. We just had to remove the HLT ."

It's debatable whether this was a good or bad decision. Certainly, it spawned a cottage industry of software vendors that would perform the HLT on behalf of Windows 95, replete with some snark about Microsoft skipping such an obviously useful instruction.

Chen's response is "I guess these people never got bug reports from customers saying 'I installed your custom program, and now my laptop freezes up as soon as it boots. How do I uninstall it if my laptop freezes up at boot?'"

The problem, Chen [11]explained , was that "it was a brick until restart, but it restarts into a brick! The OS boots into a brick."

[12]

Perhaps things could have been implemented differently, and a check made for an HLT problem by noting an unexpected restart during installation. But 1995 is a different country. They did things differently then, and Microsoft was perhaps a little more worried about its new OS being blamed for a fleet of bricked laptops. ®

Get our [13]Tech Resources



[1] https://devblogs.microsoft.com/oldnewthing/20030828-00/?p=42753

[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2aMCjeoFhmIvctkmhztbV1gAAAIg&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[3] https://devblogs.microsoft.com/oldnewthing/20250908-00/?p=111572

[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aMCjeoFhmIvctkmhztbV1gAAAIg&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aMCjeoFhmIvctkmhztbV1gAAAIg&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aMCjeoFhmIvctkmhztbV1gAAAIg&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[7] https://www.theregister.com/2025/09/09/dave_plummers_worst_windows_bug/

[8] https://www.theregister.com/2025/08/07/windows_naming_conventions/

[9] https://www.theregister.com/2025/06/15/windows_95_testing_almost_stalled/

[10] https://www.theregister.com/2025/05/21/chen_windows_cpu_speed/

[11] https://devblogs.microsoft.com/oldnewthing/20250908-00/?p=111572&commentid=143134#comment-143134

[12] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aMCjeoFhmIvctkmhztbV1gAAAIg&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[13] https://whitepapers.theregister.com/



I'm stunned

Kevin Johnston

Gosh how things have changed. So in the days of Win95 MS were risk averse when offering new features in the OS whereas now they have opened the sewers and it all just floods out regardless of what it might do to the investment people have made in their PC hardware.

Re: I'm stunned

ThomH

The power of competition, I guess?

Windows 95 must have felt far from a sure-fire thing when development began: it provides a bridge towards a modern OS while retaining full backward compatibility — including support for devices with only DOS drivers — without incurring anything beyond a regular generational speed penalty, despite the underlying hardware being all over the map. And that's against IBM which already has a full modern OS on the market for the same hardware, without the legacy baggage.

Modern Windows development must feel like a walk in the park.

Re: I'm stunned

kmorwath

There was no "telemetry" back then - many machines were not even in LAN, and even less internet connected - so MS couldn't use customers as guinea pigs.

There's still issues today

AlanSh

My Scan computer (high end and only a year old) will not come back after a sleep as, when it sleeps, it shuts off all USB ports so there's no way to tell it to wake up.

It's a pain, but one I've grown to live with.

Alan

Re: There's still issues today

anothercynic

There should be something in BIOS that says wake-up on USB... so it leaves them powered to get a wakeup signal?

Re: There's still issues today

AlanSh

I have checked but cannot see anything.

Alan

Re: There's still issues today

goblinski

There is for sure a setting like that for USB in the power plan settings. USB always active, or whatever it was.

Re: There's still issues today

Rich 2

I know on Linux you can use some magic runes to fix exactly this problem. No use to you if you’re using a toy OS like Windows but at least it shows that it IS fixable in software so maybe further research would dig something up. Dunno

rain.exe

K555

Brings back memories. Someone wrote an application to make use of this where WIndows didn't

It was called 'RAIN' that you ran at idle priority and it chucked HLT instructions at the CPU. I just found it for download on a site that makes me wish plain flat HTML sites were a thing still.

Re: rain.exe

DS999

Which didn't make sense at all. The people getting those halt enabling bits of code didn't have any idea whether their CPU was one of the "bad" ones that locked up in response to a HLT instruction. They'd found out if they tried it. Microsoft could have built the HLT thing into Win95 but left it disabled by default. People hear "hey you'll save battery if you enable power savings in Settings" and they'll try it and find out whether it works or not.

May not have saved much

Henry Wertz 1

I'll note the HLT instruction actually ONLY halted the CPU until an interrupt came in (no power saving mode) on anything before the 486DX4 (marketing at it's finest, this was a clock tripled CPU not quadrupled as the DX4 name would imply.). Not a common chip so basically the Pentium. So on many Win95 machines this wouldn't have even saved power.

Also, shocking given modern CPUs but that 486 used like 3 watts and Pentium 90 7.5 watt TDP so it's not like now where a 'lower powered' Intel CPU (other than Celeron N) would use like 30 watts without power saving.

Re: May not have saved much

DS999

We had NIMH batteries in laptops back then, so while saving a piece of 7.5 watts doesn't sound like much versus today you gotta remember how much less power laptop batteries stored, even despite their larger size. There were fewer "other" things taking up battery too. No wifi, no bluetooth, no USB ports providing power to attached devices.

Re: May not have saved much

Pat 9

That's because you were scared to add anything else to the laptop for fear of breaking your back

Ryzen

Chewi

The first generation AMD Ryzen CPUs basically did the same thing due to a bug in the deepest sleep state. Funnily enough, this was never noticed with Windows, not because they hadn't implemented it, but simply because it never gets that idle. XD It only became apparent after release when people like me started using them with Linux.

Truth has no special time of its own. Its hour is now -- always.
-- Albert Schweitzer