Windows 95 2.1Ghz CPU limit broken!

This is great news to some of us! Unless you’ve been hiding in a cave, Windows 95 had issues running on CPU’s running over 300Mhz. Any attempt to do so will yield the following error:

While initializing device IOS:
Windows Protection Error. You need to restart your computer.

Then there was an “AMD” fix (that worked fine on intel cpu’s) that would raise the bar to 2.1 Ghz. However beyond that point, the networking would break, and cause Windows 95 to fail with the following error:

While initializing device NDIS:
Windows Protection Error. You need to restart your computer.

Well it seems that the device drivers from the Dial-up networking update 1.4 actually address this issue, however it’s hard to install an update that gets bound into a ‘blob’ when you can’t boot.

However, the LoneCrusader on MSFN has come up with a fixpack!

And it’s simple to apply, just start a normal Windows 95 install (I’m using Windows 95a, the first CD version) and then once it reboots, just boot off the provided floppy image, and it’ll slipstream in the fixed kernel, ndis handler and a bunch of other stuff. Then reboot again, and carry on.

It works so well, that I loaded it on my 3 Ghz P4, however I got this disastrous message:

Insufficient memory to initialize Windows.

Quit one or more memory-resident programs or remove unnecessary utilities from your CONFIG.SYS and AUTOEXEC.BAT files, and restart your computer.

Which after a little bit of searching, comes down to the fact that I have 1GB of ram in my P4. A lot of people talk about tuning the vcache as it’ll initialize far too big, and not leave enough memory for Windows 95 to actually operate. I had no luck there, but with more searching I found an easier fix..

Instead, just limit the amount of memory that Windows 95 will initialize. KB184447 talks about this, and I’ve found this works as an optimal setting for my system.ini:

[386Enh]
MaxPhysPage=39900

[vcache]
MinFileCache=65536
MaxFileCache=131072
chunksize=2048
namecache=4096

Using these settings, I’m limited to 921MB of ram, but honestly an environment that was built to run on 4MB systems, and comfortably in 8MB of ram, 921MB is just fine. So far I’ve installed Internet Explorer 5.5 on my P4, and all is well. In addition, it works great on Virtual PC, as even some emulators are fast enough that they too run into these old timing bugs.

Naturally, PCI bus users (is that everyone now?) will want this update from intel, (infinst_enu.exe / mirror) which will update a bunch of core components in Windows 95 to allow it to function better. I should add that both on Virtual PC, and my p4, that once the PCI update is installed, I went into the device manager, and removed the default VGA adapter, and my graphics was running correctly. The only weird thing is the ATI Graphics Ultra Pro PCI (mach32) would crash Windows 95 if I ran it at 256 colors, however it works fine in both 16 color and 16bit (65536 color) mode.

Windows 95 921MB of ram

Windows 95 921MB of ram

Just remember to NOT overwrite the newer files, otherwise Windows 95 won’t boot anymore.

8 thoughts on “Windows 95 2.1Ghz CPU limit broken!

  1. This is great man.. I JUST needed this today.. How coincidental that you posted this today.. Excellent!

    Thanks again –

    Chris

  2. Thanks man, this is exactly what I needed. Decided to blow off the dust from my old Win95 disk and re-purpose my “old” PC. This got my PC throttled back enough so now I can play some incredibly retro games. Doom anyone?

Leave a Reply to neozeed Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.