Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site anasazi.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!vax135!cornell!uw-beaver!tektronix!hplabs!hao!noao!terak!anasazi!steve From: steve@anasazi.UUCP (Steve Villee) Newsgroups: net.micro.pc Subject: Re: Re: "Official" 8087 presence test for IBM's Message-ID: <298@anasazi.UUCP> Date: Wed, 25-Sep-85 14:22:20 EDT Article-I.D.: anasazi.298 Posted: Wed Sep 25 14:22:20 1985 Date-Received: Mon, 30-Sep-85 01:45:59 EDT References: <16423@watmath.UUCP> <142@sagan.UUCP> Distribution: net Organization: Anasazi, Phoenix Az. Lines: 41 > > I got a note from IBM the other day, and figuring that it might be of > > general interest, and that not everyone will have received a copy, > > here is how to find out if a machine has an 80(2)87 installed: > > int 11H > > and ax,2 > > jz no_coprocessor > > Baloney. In the fine print IBM admits that "the user must have set the > switch on the planar board properly per published instructions." So all > the bit in question indicates is the position of the switch. The situation is even more weird on the AT, as we found out. We were doing some benchmarks with and without the 80287. The AT Installation and Setup manual does not mention any switch you're supposed to set to indicate that there is an 80287, as indeed there is no such switch on the AT. But we were puzzled to find that after we installed the 80287 once, thereafter if we removed it, the int 11H test still indicated the 80287 was present! As a result, floating point operations didn't work too well with the 80287 removed. Apparently, IBM figures that once you install an 80287, you'll never have any reason to take it out! Some investigation of the BIOS startup code revealed the following. Initially, the equipment byte is set from CMOS RAM location 14H, and bit 1 of this byte is supposed to indicate 80287 presence. Later on during startup, the BIOS performs a test (FINT/FSTCW) to try to determine whether there is an 80287. If this test succeeds, bit 1 of the equipment byte is set on. If the test fails, the bit 1 of the equipment byte is left as it was in the CMOS RAM. To me, this behavior is backwards (it should clear the bit if the test fails), but I guess the test is designed to detect your installation of an 80287, which it is assumed you will never back out. Somehow, the modified equipment byte ends up back in CMOS RAM; I haven't yet determined how this happens. Maybe somewhere there is a documented way to uninstall an 80287 from an AT, short of writing your own program to poke the CMOS RAM. The Setup program on the diagnostics diskette doesn't seem to know or care about the 80287. --- Steve Villee (ihnp4!terak!anasazi!steve) International Anasazi, Inc. 7500 North Dreamy Draw Drive, Suite 120 Phoenix, Arizona 85020 (602) 861-7624