From owner-freebsd-hackers Tue Feb 18 12:53:56 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id MAA00922 for hackers-outgoing; Tue, 18 Feb 1997 12:53:56 -0800 (PST) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.50]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id MAA00912 for ; Tue, 18 Feb 1997 12:53:51 -0800 (PST) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id NAA11612; Tue, 18 Feb 1997 13:50:34 -0700 From: Terry Lambert Message-Id: <199702182050.NAA11612@phaeton.artisoft.com> Subject: Re: Sun Workshop compiler vs. GCC? To: toneil@visigenic.com (Tim Oneil) Date: Tue, 18 Feb 1997 13:50:34 -0700 (MST) Cc: jfieber@indiana.edu, hackers@freebsd.org In-Reply-To: <3.0.32.19970218102743.00998100@visigenic.com> from "Tim Oneil" at Feb 18, 97 10:27:43 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > 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.