Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Feb 1997 13:50:34 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        toneil@visigenic.com (Tim Oneil)
Cc:        jfieber@indiana.edu, hackers@freebsd.org
Subject:   Re: Sun Workshop compiler vs. GCC?
Message-ID:  <199702182050.NAA11612@phaeton.artisoft.com>
In-Reply-To: <3.0.32.19970218102743.00998100@visigenic.com> from "Tim Oneil" at Feb 18, 97 10:27:43 am

next in thread | previous in thread | raw e-mail | index | archive | help
> Thats for sure. Even though Microsoft played Win95 off as a 'true 32 bit'
> os, and it looks really neat while the 'hardware wizard' does its own
> probing and selects device drivers and etc, at boot time I notice that
> it continues to load the old 16 bit drivers that were (on this particular
> machine) there before 95 was installed. I presume that these drivers are
> loaded becuase 95 happily continues to execute whatever autoexec.bat is
> present. But I have to wonder, is 95 actually using those 16 bit drivers,
> or does it discard them after it restores state?

Loading Win95 on a system will rename the "config.sys" and "autoexec.bat"
to "config.dos" and "autoexec.dos" so that they will not be run by default.

You *must* have installed something that crapped in those two files
and created them, as a side effect (maybe because it expected to be
installed on Windows 3.1), OR you *must* have renamed the files back
after the installation completed.


Windows95 actually loads whatever you tell it to in config.sys or
autoexec.bat... or, rather, "DOS 7.0" loads them.

If you did it so you could run (for instance) a server of some kind,
then autoexec.bat is the wrong place under Windows95, anyway.  The
correct place is in the registry, as an entry under:

	My Computer
	    HKEY_LOCAL_MACHINE
		SOFTWARE
		    Microsoft
			Windows
			    CurrentVersion
				RunServices

Of course, this isn't documented, and the one place that tells you
how to start a service so it doesn't stop the first time someone
logs in, then out, to log on as a different user is *deeply* hidden
in one obscure sentence in one obscure paragraph in one obscure
function example in the VC++ online documentation.


After you switch to protected mode, the drivers may or may not be
referenced; in a DOS window, they will *probably* be referenced.  If
they hook INT 21 or INT 31, whether or not they are referenced
depends on certain system settings.  By default, they won't be, but
you can force them to be, for a small set of interfaces.

In point of fact, Windows95 takes a lot of effort to ensure that
TSR's loaded like this continue to work after going to protected
mode, evenn going so far as to convert the 16 bit file handles
into IFS file handles so that the TSR's continue to operate, but
INT 21 references go through the IFS (and then to VFAT, by default)
after the INT 21 hooks have supplanted the INT 21 implemented in
io.sys.

VFAT actually does a number of lame things; it's installed as three
seperate IFS layers so that it can supply it's own TSD, it's own
partition handling, and the FSD that actually implements the FS.
It's actually because someone looked at this lameness that IOmega
provided their own lame drivers for their ZIP and JAZ drives, instead
of providing a TSD to handle the removable media aspects of the drive;
IOmega's broken because VFAT is broken, and they used it as a model;
it pisses me off each time I go to use the drive under Windows 95.

If you *need* the 16 bit drivers (for instance, you have an unsupported
CDROM drive, or an older networking client that depends on hooking
the appropriate file I/O interrupts), you can force Win95 to use them
by:

	Click right button on "My Computer" icon
	  Select "Properties" menu item to open the "System Properties"
	  property dialog.
	    Click the "Performance" tab
	      Click the "File System..." button in the group box
	      labelled "Advanced Settings" to open the
	      "File System Properties" dialog
		Click the "Troubleshooting" tab
		  Check the following checkboxes:
		    "Disable protect-mode hard disk interrupt handling"
		    "Disable all 32 bit protect-mode disk drivers"
		      "OK" your way out, and let it reboot when it
		      wants to.


Personally, I don't think you should do this... instead, you should
find out why someone put the config.sys and autoexec.bat back in after
Windows95 renamed them to get rid of them during your install.  Then
*really* correct whatever problem the person *thought* they were fixing;
it might be as simple as them not wanting to buy a Windows95 version
of some third party networking product (for instance).


					Regards,
					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702182050.NAA11612>