• Please review our updated Terms and Rules here

8087 on 8088 motherboard that have no socket for it

great find thanks! Good to know my use case on Z171 isn't necessarily defective. The thought of disassembling MCPDIAG is unappealing. After reading that application note for 8087, it seems like the best option for dealing with the interrupt may be to leave it disconnected altogether.. since there is likely no facility to deal with MCP exceptions via software interrupt built into a machine that was never intended to support a math coprocessor. My current dual socket adapter is a hand made thing; not the cleanest implementation, and I notice some ringing on the datapath.. I may spin a small board to see if better signal quality, and possibly that is related to the strange MCPDIAG test results. Stab in the dark but a nice board is better anyhow.

Next project-- convert the Z171 from 640kB of DRAM into 1MB of SRAM. Next Next project... increase clock from 4.77MHz to 9.54MHz.

Side note. I notice that the Z171 displays the odd random character on the screen when using V20.
 
great find thanks! Good to know my use case on Z171 isn't necessarily defective. The thought of disassembling MCPDIAG is unappealing. After reading that application note for 8087, it seems like the best option for dealing with the interrupt may be to leave it disconnected altogether.. since there is likely no facility to deal with MCP exceptions via software interrupt built into a machine that was never intended to support a math coprocessor. My current dual socket adapter is a hand made thing; not the cleanest implementation, and I notice some ringing on the datapath.. I may spin a small board to see if better signal quality, and possibly that is related to the strange MCPDIAG test results. Stab in the dark but a nice board is better anyhow.

Next project-- convert the Z171 from 640kB of DRAM into 1MB of SRAM. Next Next project... increase clock from 4.77MHz to 9.54MHz.

Side note. I notice that the Z171 displays the odd random character on the screen when using V20.


There are several versions of MCPDIAG. Some complain about "integrity test" on XT machines (8087) and do not on ATs (80287/387/487), some output the same error on AT machines and not on XTs. I can make some tests and upload here the one that works fine on XT machines if someone is interested. I like MCPDIAG because it loads the FPU for 5 minutes and it often discovers problems when FPU is overclocked/overheated. I don't like MCPDIAG because it is tightly "hardwired" by using vectors that only Intel and licensed by Intel FPUs produce and it simply does not run on NPUs designed by Intel's competitors that produce slightly different results but otherwise work perfectly.
 
There are several versions of MCPDIAG. Some complain about "integrity test" on XT machines (8087) and do not on ATs (80287/387/487), some output the same error on AT machines and not on XTs. I can make some tests and upload here the one that works fine on XT machines if someone is interested. I like MCPDIAG because it loads the FPU for 5 minutes and it often discovers problems when FPU is overclocked/overheated. I don't like MCPDIAG because it is tightly "hardwired" by using vectors that only Intel and licensed by Intel FPUs produce and it simply does not run on NPUs designed by Intel's competitors that produce slightly different results but otherwise work perfectly.

George that would be awesome.
Sounds like you know how to make MCPDIAG run interations; I didnt see anything that let me do that, but I saw an iteration count.
Anyhow I would be very interested in getting a valid MCPDIAG for XT. I can test it and report back.
 
Hi, as requested here is a version that works fine on XT with me. MCPDIAG does its 5 min. iterations automatically when no error is detected upon its start.
 

Attachments

Hi, as requested here is a version that works fine on XT with me. MCPDIAG does its 5 min. iterations automatically when no error is detected upon its start.

hey thanks for this! seems to run well. passed all tests, and looping for 5 min. nice to have the file here in the forum stored for future reference as well!
 
This is an interesting, but very old thread... I have a Schneider Euro PC (8088) on which I am trying to run some 31+ years old TurboC 3D graphics program. It would benefit tremendously from a 8087 co-processor for the floating point.

It seems the documents / schematics that were originally attached to this thread are no longer around. Can you guys still help out? Ideally, I'd like to have some kind of "8088 plugin board" that would host the 8088 as well as the 8087. The machine doesn't have a 8087 socket and can run at 9.54 MHz as well.


20250130_075914.jpg

20250130_075949.jpg

20250130_080859.jpg

20250130_080916.jpg
 
The schematic for how to connect up the 8087 is still there in the thread.

My plug in board needs no external wires, so I unseat the 8088, plug in the adapter board, then seat the 8088 and 8087 on the adapter.

So long as you have space to stack up a pcb and connectors, sockets, it should work out for you.
 
Not sure if there would be enough space to mount a CPU+FPU riser board underneath the keyboard:

pxl_20230424_133103752.jpg
 
Oh, there is a lot of space, it will fit...

There is one significant difference between Euro PC II CPU section and Euro PC I CPU section; the former having the CoPro socket. And that is NPINT on the 8087 - some Interrupt? Luckily, this signal does get generated also from the Faraday CPU controller on the Euro PC I, so I could simply route a cable I suppose. I am not sure if I would also need to flash the Euro PC II's BIOS then and put that into mine. But it looks like this isn't too difficult. I might just design a small PCB and give it a shot:

Euro PC I:
euro-pc1-cpu.png

euor-pc1.png

Euro PC II:

euro-pc2-cpu.png

euro-pc2.png
 
@Twospruces does your CPU board look compatible? If so, and all that's required in addition would be a wire to the NPINT, I might give it a try. If not, it should actually be in the range of my capabilities to make my own CPU plug-in board here.
 
@Twospruces , in your experience, there is no special BIOS-support or the like required in order to utilize an 8087 in conjunction with an 8088, right? Or is there? I guess that's all software - i.e., if the executable contains the 8087 special instructions, it's just being used if present. Correct? Thanks!

Just wondering - the Euro PC II BIOS (the machine which had the 8087 option) I won't be able to use in my Euro PC 1, as the II machine had a different chip set and one more custom chip. But I hope that I won't need a different BIOS in the first place.
 
I think if you had hardware to manage the fault condition that would need bios. My old Z 171 just ran as expected with no bios change.
 
Well, we will know soon... a prototype PCB is only a few dollars, so I should know soon!

Capture-4.png

Capture-2.png

Capture-3.png


Capture-1.png
 
This is not a very effective layout, it is so big and won't fit in all 8088 PC. You can place the socket you plug into the mainboard just under the 8088 on the adapter board. It safes just 1/3 of the pcb size.
 
Oh, well that's only for the Euro PC - I am not sure it would work in other machine, and not even sure it'll work there. But yes, given space constraints, the idea is obviously to put this on a ribbon cable and even have the board outside of the machine so that I can also swiftly swap the 8088 for the V20. Until I find a way to do this electronically, it will have a ZIF socket for the CPU. WHEN AND IF all of this should be working, I'll do another round of layout. Like Knuth said... premature optimization... it doesn't make any sense at all to sink a lot of time into something until you at least have some idea if it would work at all. Prototyping.

As always, I appreciate your elevated levels of criticisms when it comes to my projects, which seems to be a somewhat reoccurring theme 😀
 
The only thing that BIOS does in relation to 8087 is to check its presence one way or another and update accordingly bit 1 in the BIOS Configuration word at 410h. Same can be achieved later after DOS booting with a very simple COM executable file. Anyway, almost no software relied on that bit and checked for the NPU presence by itself. As far as I remember MCPDIAG reported inconsistent state of that bit with "Integrity Test" failure.

OFFtopic -- @LambdaMikel, I am curios to buy a Scheider EURO PC Color monitor, if that pops-up around EUrope.
 
Back
Top