Chuck(G)
25k Member
Make that "machines". I like it!
ChuckG,I confess to running Win98SE mostly in MS-DOS real mode, that is "BootGUI=0" in MSDOS.SYS. Gives me a bit of control before Windows takes over and saves me the trouble of hitting F8 to interrupt the boot process. But that's just me.
Okay--here's the relevant portion of my CONFIG.SYS (Mine are menu-driven and can be a bit involved).
Code:DEVICE=C:\XMS\HIMEM\HIMEMX.EXE /NUMHANDLES=64 DOS=HIGH,UMB FILES=50 LASTDRIVE=Z DEVICEHIGH=TIMCD.SYS /D:MSCD0000
and then AUTOEXEC.BAT
Code:LH C:\WINDOWS\COMMAND\DOSKEY LH C:\USR\DOSLFN LH C:\HXRT\HXLDR32 SET TEMPDRIVE=S SET TEMPSIZE=2048000000 C:\XMS\XMSDISK\XMSDSK %TEMPDRIVE%: %TEMPSIZE% /Y /T SET TEMP=%TEMPDRIVE%:\TEMP SET TMP=%TEMP%
DOSLFN is a utility that allows for long file names when in MS-DOS mode (I think it's part of FREEDOS).
HXRT is a package that sometimes allows Win32 protected-mode programs to run in DOS mode: https://www.japheth.de/HX.html
The autoexec file creates a 2GB RAMdisk and calls it drive S:.
Finally, once Windows is installed, you'll want to modify your /WINDOWS/SYSTEM.INI file so that a section looks like this:
Code:[386Enh] MaxPhysPage=40000 ebios=*ebios woafont=dosapp.fon mouse=*vmouse, msmouse.vxd device=*dynapage
In other words, you want to modify the "MaxPhysPage" value as shown.
If you have time, do pick up the "unofficial Win98SE Service Pack" here: https://www.htasoft.com/u98sesp/
All this works on a system that boots Win98SE, Windows XP, Windows 7 and Debian Buster.
Could that be the culprit here? Could hyperthreading be the problem?
Windows 9x has no concept of multiprocessing, it can't utilize more than one core or thread. If you turn HT on a Pentium 4, you're essentially cutting the processor performance in half, since the OS can't use or even see the other thread
That’s a new one.
Hyperthreading doesn’t “cut the processor performance in half” if it’s enabled but you’re running a non-MP-aware OS, it’s just a non-issue. There are edge cases where you can get suboptimal performance (usually when you have multiple *physical* cores with Hyperthreading) when you’re running an SMP-enabled OS that isn’t aware of the differences when it comes to scheduling threads (and as a result does something dumb like plop two greedy threads onto one physical core to Hyperthread instead of spreading them across two so they can actually run simultaneously), but Windows 9x will never, ever try to schedule two threads at once under any circumstance. A Hyperthreading-equipped CPU doesn’t just dumbly time-slice 50% of its power to doing nothing if there’s nothing scheduled on the second virtual thread.
That all said, there’s certainly no harm to disabling it, I guess, but the point is it really just doesn’t matter with Windows 98. (There is legit debate about whether it’s a good or bad idea to have it enabled with NT or 2000, which suffer that problem of being SMT enabled but not understanding the scheduling optimization quirks.)
In XP however, having HT enabled WOULD cut performance of applications by 50% when HT was enabled.