• Please review our updated Terms and Rules here

8087 on 8088 motherboard that have no socket for it

NMI circuitry is documented for the IBM XT. It may not be the same circuit on other machines. NMI is pinned to vector 2 in the table in the iPAX 86/88 user manual and so I assume that all "pending hardware failures" are treated the same...how would different NMI be differentiated by the processor.

However an OR function would have to be added to allow NMI from the main board cooperate with NMI from 8087.

At least that is my thinking so far.
 
The 8087 in the XT is pretty standard for 8088/86 boards. The 8087 NMI is detected in software by checking the 8087 status registers--it's not terribly useful for programs, but it does give a positive indication of the presence or absence of the 8087, regardless of the configuration switches. I seem to recall that Sorcim ran my 8087 math pack on both bog-standard XTs and ATs as well as their Compupro boxes without changes.
 
....well I wonder if xt workalike boards without 8087 sockets may have implementation details that prevents a simple upgrade...

Regardless since NMI seems to be a catch all for "pending doom " then some signal OR ing may be sufficient.
 
The PCJr seems to have needed a BIOS patch for the 8087 to work so some systems may be harder than I expected. I wish I could find illustrations of the various 8088+8087 boards that plugged into the 8088 socket.
 
I'm attempting to install an 8087 into a Zenith Z-170.

I have what I think is a valid hardware setup now. It is much like what is illustrated in the iSBC Multimodule Math schematic with these exceptions:
1) NMI into CPU = (NMI signal from Motherboard) OR (INT signal from 8087)
2) BHE/S7 from 8087 is tied to +5V

I *think* my difficulty is now a software problem.

Situation:
* The laptop boots normally now.
* I notice NMI interrupt into CPU is toggling with keystokes. So Z-170 uses NMI to process keys.
* if I start Checkit application, the application hangs on startup.

Krebizfan mentions a patch for PCJr due to keyboard using NMI; any info on that? I've searched the forum and the web to no avail.

Are there any suggestions to debug this further? I'm not sure where the conflict could be occuring, or honestly if it is a hardware issue or a software issue. I'm out of ideas on the hardware side.

thx in advance.

One last thing - BIOS BDA 0040:0010 byte does not seem to indicate a math coprocessor is present. Don't know if Zenith BIOS adheres to standard definitions for that byte, but bit 1 is definitely reset.
 
What are you planning to do with the 8087? Unless you plan on running very large spreadsheets, it won't provide much benefit.

The daughtercards designed to plug both an 8087 and 8088 into the 8088 socket on a PC Junior were very simple. Try searching for TIAC Manufacturing and see if you can find a picture of one to help guide the process. I prefer the side by side daughtercard layout. These chips can get warm and stacking them will definitely inhibit cooling.

It does look like stacking can work but I am probably overlooking a small detail somewhere.

8087 can be connected to 8086 / 8088 only in their maximum mode of operation. In the maximum mode, all the control signals are derived using a separate chip called as a bus controller. The 8288 is a bus controller compatible with 8086 / 8088. The BUSY pin of 8087 is connected to the TEST pin of the CPU. The QS0 and QS1 lines may be directly connected to the corresponding pins in the case of 8086 /8088 based systems.
 
thanks, found the files. Looks like the patch (merely?) flips bit 1 of BIOS BDA 0040:0010 to say "coprocessor detected".

I had already tried this using debug... no luck.
It is possible that my 8087 is a dud. I bought an 8087-1 from ebay/china. it certainly gets warm like it should.
 
Thanks. Well it feels like bad hardware a bit. If any code hits the FPU , system hangs. Maybe I have a bad signal somewhere.
 
woohoo! found the problem! the handshaking signal BUSY <---> TEST was being held at +5V by the motherboard.... needed to bypass that, and VOILA! 17.37x IBM XT speed on math. 115 k Whetstones on Checkit3.

I would call this a success!
 
Interestingly, MCPDIAG fails the last test... INTEGRITY. wonder what that's about... maybe I don't care, MATLAB is working.
 
Here is a download link for MDIAG.ZIP , The Intel test program for the 8087. AKA MCPDIAG.EXE

thanks for this. this is a better version than I had, and it is more descriptive. I still fail one test..."environment test".

"tests the 80 bit wide internal math coprocessor register stack".

Seems odd that this would fail.... do other people run this test and pass? I assume so. I wonder what would make this specific test fail?
 
If you have a look at the SIMTEL20 library, there's an Intel-sourced NDP test here

Thanks ChuckG. Got same results. So I have a Z171 with coprocessor that runs applications apparently fine, added 150mA to the external power supply at 14.7V (so about 2W at the chip), and yet fails one and only one Intel "valid installation" test. interesting!

https://www.google.com/url?sa=t&rct...or_Feb81.pdf&usg=AOvVaw17u4C6VQx__vT0aJF4rPct

this is an interesting document for reference.
AP-113_Getting_Started_With_the_Numeric_Data_Processor_Feb81
 
Last edited:
Back
Top