4 ms·
FPUs in the early x86 family are weird. They were typically on separate chips so you could have an 8088+8087, 80286+287, 80286+287XL (which was actually a 80387
by whoopdedo 3y ago
FPUs in the early x86 family are weird. They were typically on separate chips so you could have an 8088+8087, 80286+287, 80286+287XL (which was actually a 80387), 80386+387 (SX and DX models for 24 or 32 bit bus), 80386+287[1], 80386 or 486+Weitek[2], 80386+Weitek+387, 80486SX+80487 where the co-processor was a full CPU that disabled the main chip. And then there were the clones doing creative things such as the Nx586+587[3] which because of it's lack of on-board FPU was often confused for a 386 by software and lost the advantage of its Pentium ops.
So I'm not surprised the exception handler is a mess. It's a domain built entirely out of corner-cases.
[1] https://old.reddit.com/r/retrobattlestations/comments/hj12ck/a_combination_you_dont_see_that_often_an_80386/ https://old.reddit.com/r/retrobattlestations/comments/hj12ck...
[2] https://micro.magnet.fsu.edu/optics/olympusmicd/galleries/chips/weitekmathlow.html https://micro.magnet.fsu.edu/optics/olympusmicd/galleries/ch...
[3] https://en.wikipedia.org/wiki/NexGen https://en.wikipedia.org/wiki/NexGen
- jftuga 3y agoA friend and I each bought 387's (which was physically, a separate chip) for our 386's circa 1992. IIRC, I had a 80386/25 MHz with 4 MB of ram. I remember a tank game called Scorched Earth where you would have to set angle & power to try to hit the other person's tank. Some ordinances took a 10-15 seconds to fire & complete because it was running FP ops on the CPU. Once the 387 was installed, this calculation was done almost instantly. That's about all I remember my FPU being good for. LOL good times!
- EdwardDiego 3y agoThe funky bomb or death's head? Especially when it was a large map with lots of ground to destroy. Me and my siblings had a house rule to not use either when playing on our 286 because it took a minute or so to complete...