VOGONS


First post, by ntalaec

User metadata
Rank Member
Rank
Member

There is a CPU load reduction utility for Windows 3.1x but only works in 386 Enhanced Mode.

WQGHLT by Weiqi Gao:
https://web.archive.org/web/20120130232605/ht … o.com/software/
https://web.archive.org/web/20120130232605/ht … ware/wqghlt.zip

There is a workaround for Windows 3.1x in Standard Mode:
Loading DEVICEHIGH=C:\DOS\POWER.EXE ADV:MAX in CONFIG.SYS and selecting MS-DOS System With APM in WINDOWS\SETUP.EXE.
It kinda works in Windows (it works in DOS), but CPU fan it's almost always at max speed in Windows.

Does anyone know any utility for Windows in Standard Mode?

Last edited by ntalaec on 2026-08-13, 11:34. Edited 1 time in total.

Reply 1 of 19, by rmay635703

User metadata
Rank l33t
Rank
l33t

I’ve often wondered if the original cpucool like utilities from the windows 98 days could be back ported.

https://forums.virtualbox.org/viewtopic.php?t=59705

Standard mode power saving support is native in 3.1 but was always buggy and on most systems was just shutting off the monitor or the system going to sleep.
How the vintage laptops would throttle the cpu up and down I don’t know.

Worth noting there are external manual means of you the user adjusting the fan speed.

Win 3.1 tends to run certain loops continuously which maxes your fan, if your bios could choose a permanent slow clock speed, that might help.

Reply 2 of 19, by Deunan

User metadata
Rank l33t
Rank
l33t
rmay635703 wrote on 2026-08-12, 15:28:

How the vintage laptops would throttle the cpu up and down I don’t know.

Microcode. Intel and AMD came up with "mobile" variants of their CPUs, as early as 386SL. There's also low-power 386SX from Intel but I think it only follows AMD fully static design that can be clocked much lower. Standard CPUs of that era require a minimum clock frequency.

The microcode is basically a hidden micro-OS inside the CPU, with new extra ring of operation that bypasses all x86 protection mechanism. It's a ROM so safe-ish to do it that way, and completely transparent to software OS. That makes is compatible with any software (including DOS) but also limited in what it can do. Obviously BIOS support is required and some chipset signals as well (especially for any deep sleep). IIRC 386SL came with some extra HW like internal timers that can be used even without chipset support.

On early standard CPUs all you can really do is enter HALT state if there's a busy loop and just wait for interrupt. Everything else requires clock to be lowered and that is not possible without extra HW and software support for it. The problem is not every busy loop is terminated by interrupt, in a true multi-tasking OS there will be a timer running to limit CPU time slices given to processes but DOS and Win 3.x are single process OSes, with cooperative multitasking on top of it. So executing HLT without interrupt source will just hang the system.

Reply 3 of 19, by Jo22

User metadata
Rank l33t++
Rank
l33t++

SMM? System Managment Mode was transparent to software.
Laptops used it to go into sleep mode etc, I think.
https://en.wikipedia.org/wiki/System_Management_Mode

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 4 of 19, by ntalaec

User metadata
Rank Member
Rank
Member
rmay635703 wrote on 2026-08-12, 15:28:

Win 3.1 tends to run certain loops continuously which maxes your fan, if your bios could choose a permanent slow clock speed, that might help.

My BIOS only allows to change date and boot order.

Reply 5 of 19, by myne

User metadata
Rank l33t
Rank
l33t

What board?
P2 and later have the prochot signal that some utils use to throttle it up to 75%

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 6 of 19, by ntalaec

User metadata
Rank Member
Rank
Member
myne wrote on 2026-08-13, 14:09:

What board?
P2 and later have the prochot signal that some utils use to throttle it up to 75%

It's a Netbook from 2010. Intel Atom N280.

Reply 7 of 19, by myne

User metadata
Rank l33t
Rank
l33t

CpuSpd - A Hardware Based CPU Speed Control Utility for DOS/Win9X Retro Gaming

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 8 of 19, by Deunan

User metadata
Rank l33t
Rank
l33t

Does CpuSpd do on-demand throttling? Or is it a static tool to reduce overall CPU performance for DOS games? Because the latter will be of limited use, while it does reduce CPU power usage it will come at the cost of everything running that much slower. Though with Win 3.x as OS that might still be preferable?

Reply 10 of 19, by myne

User metadata
Rank l33t
Rank
l33t
Deunan wrote on 2026-08-14, 09:08:

Does CpuSpd do on-demand throttling? Or is it a static tool to reduce overall CPU performance for DOS games? Because the latter will be of limited use, while it does reduce CPU power usage it will come at the cost of everything running that much slower. Though with Win 3.x as OS that might still be preferable?

3.x ran fine on 16mhz.
Yours is 100x faster in mhz, and probably another 10x in ipc.
I don't think it's possible to make it slow enough with any tool for it to be noticeably slow in anything 3.x can run.

Set the multiplier to the minimum and see if you notice anything but the heat reduction.

My assumption is that it is 166 x 10. I assume it can go as low as 5x. You'll still be 50x faster at worst.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 11 of 19, by Deunan

User metadata
Rank l33t
Rank
l33t
myne wrote on 2026-08-14, 11:01:

Set the multiplier to the minimum and see if you notice anything but the heat reduction.

You confused me with OP 😀 I don't disagree with you, I'm just pointing out this particular solution is not exactly what OP wanted (though there might not be anything else).

Reply 12 of 19, by jakethompson1

User metadata
Rank l33t
Rank
l33t
rmay635703 wrote on 2026-08-12, 15:28:

How the vintage laptops would throttle the cpu up and down I don’t know.

In addition to everything Deunan said about System Management Mode above, one impression I get from looking at datasheets and about BIOSes, is that oftentimes extra hardware-oriented functionality like this was snuck into the keyboard controller 😀

Reply 13 of 19, by rasz_pl

User metadata
Rank l33t
Rank
l33t
Deunan wrote on 2026-08-13, 08:31:

Microcode. Intel and AMD came up with "mobile" variants of their CPUs, as early as 386SL.

Not microcode, SMM aka ring −2
My favorite MICROPROCESSOR REPORT comes thru again! 2/12/92 "The Intel System Management Mode" https://www.cecs.uci.edu/~papers/mpr/MPR/ARTICLES/060203.PDF
11/18/92 "Intel’s 486SL Follows in 386SL’s Footsteps. 486DX Core With SMM, ISA Interface, and DRAM Memory Controller" https://www.cecs.uci.edu/~papers/mpr/MPR/ARTICLES/061501.pdf

Intel386SL databook https://ardent-tool.com/CPU/docs/Intel/386/da … /240814-005.pdf
386SL has TURBO pin 😮 and will slow down by dividing clock by 2, 4 or 8 when this pin is active.
https://files.mpoli.fi/unpacked/software/prog … .zip/interrup.c

INT 15 - APM SL Enhanced v1.0 - SET CPU SPEED MODE
AX = 5380h
BH = 0Dh
CL = CPU clock divider (1,2,4 or 8)
BL = autocpumode ???
Return: CF clear if successful
Desc: writes bits 4-5 of CPUPWRMODE register

Also has STPCLK# pin, was it the first Intel CPU with STPCLK#? Companiun chipset can throttle CPU at will all the way to stopping using STPCLK#.

As you already said In software you save power by issuing HLT which will put CPU to sleep until first Interrupt.

Deunan wrote on 2026-08-13, 08:31:

The microcode is basically a hidden micro-OS inside the CPU, with new extra ring of operation that bypasses all x86 protection mechanism. It's a ROM so safe-ish to do it that way, and completely transparent to software OS.

You are describing SMM. Its not ROM based, BIOS has to reserve a piece of memory for SMRAM, load code there and lock that ram off - it vanished from Ring 0 and above like you said. Gets activated on programmed Traps (works like VMM trapping) or special external SMI interrupt.

Deunan wrote on 2026-08-13, 08:31:

Everything else requires clock to be lowered and that is not possible without extra HW and software support for it.

On never platforms (1995 PIIX and up) there are mechanisms (PIIX has custom timers, 1997 PIIX4 supports standard ACPI interface) that let you control STPCLK# throttling directly in software with one IO write 😮 Slowdown cpu speed software prototype tool for VIA based VT82C596A southbridge motherboards

myne wrote on 2026-08-13, 14:09:

What board?
P2 and later have the prochot signal that some utils use to throttle it up to 75%

on anything with Intel PIIX and up or VIA southbridges you can throttle all the way up to even 6% Re: Slowdown cpu speed software prototype tool for VIA based VT82C596A southbridge motherboards

https://github.com/raszpl/sigrok-disk FM/MFM/RLL decoder
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module (AT&T Globalyst)
https://github.com/raszpl/386RC-16 ram board
https://github.com/raszpl/Zenith_ZBIOS Zenith Z-386 MFM-300 ZBIOS disassembly

Reply 14 of 19, by myne

User metadata
Rank l33t
Rank
l33t

Of all the people here, I believe you when you say that.
I'm pretty sure the P2/BX/piix datasheets I read only mentioned 25/75% for prochot though.
Could be wrong, but they leave things out sometimes.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 15 of 19, by rasz_pl

User metadata
Rank l33t
Rank
l33t
myne wrote on 2026-08-15, 03:25:

I'm pretty sure the P2/BX/piix datasheets I read only mentioned 25/75% for prochot though.

Did prochot even exist in 2000 era hardware? in my head its something that came around LGA775 Core2?
STPCLK# is what https://github.com/scrapcomputing/ThrottleBlaster uses, but on PIIX and up you apparently can program a PWM signal to drive it internally with 3-4-8bit granularity depending on platform.

https://github.com/raszpl/sigrok-disk FM/MFM/RLL decoder
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module (AT&T Globalyst)
https://github.com/raszpl/386RC-16 ram board
https://github.com/raszpl/Zenith_ZBIOS Zenith Z-386 MFM-300 ZBIOS disassembly

Reply 16 of 19, by myne

User metadata
Rank l33t
Rank
l33t

Looks like I was wrong. It's not called prochot and goes to 87.5%

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 17 of 19, by rasz_pl

User metadata
Rank l33t
Rank
l33t
myne wrote on 2026-08-15, 04:27:

Looks like I was wrong. It's not called prochot and goes to 87.5%

So we are talking about same thing 😀 Afaik 87.5% setting is least slowdown, 12.5% slower than normal. The slow slow mode is 12.5% of STPCLK# duty cycle. But that register you linked wont work because it controls slowdown when southbridge Therm# pin afair hardwired to CPUs thermal diode goes low.
ACPI PCNTRL reg is what you want.

https://github.com/raszpl/sigrok-disk FM/MFM/RLL decoder
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module (AT&T Globalyst)
https://github.com/raszpl/386RC-16 ram board
https://github.com/raszpl/Zenith_ZBIOS Zenith Z-386 MFM-300 ZBIOS disassembly

Reply 18 of 19, by myne

User metadata
Rank l33t
Rank
l33t

Definitely not an expert here. I'd just slow it down with the util I linked in the autoexec.
Half speed on a <5w atom is still several hundred times more than 3.x could ever use

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 19 of 19, by ntalaec

User metadata
Rank Member
Rank
Member
myne wrote on 2026-08-15, 05:03:

Definitely not an expert here. I'd just slow it down with the util I linked in the autoexec.
Half speed on a <5w atom is still several hundred times more than 3.x could ever use

My apologies, I thought CPUSPD only enabled or disabled cache. There is a friendlier application to change voltage and frequency of the CPU: SSTEP.

CPU it's a lot quieter in Windows reducing frequency of CPU but I would like to know if there is any utility to change frequency automatically when needed in Windows Standard Mode.