SoftwareFPU

SoftwareFPU is a control panel for classic Mac OS from John Neil & Associates that emulated a floating-point unit on vintage Macintosh systems that did not have one.
==Functionality==
Some early software for classic Mac OS would try to execute instructions without first checking for the presence of a hardware floating-point unit. Under normal circumstances the Standard Apple Numerics Environment (SANE) could be used to execute such instructions, but poorly-written software that expected floating-point hardware without checking would not run or fail. SoftwareFPU would conduct the hardware checks, and redirect floating point instructions to a software emulator of the Motorola 68881. SoftwareFPU was somewhat slower than SANE and much slower than actual hardware, but acceptable over not running at all.SoftwareFPU: Programmer Information (PDF), by John Neil & Associates, Todd Pittman. 1999-01-30.PowerFPU by Tom Pittman, Itty Bitty Computers. 2007-10-08.
SoftwareFPU was released after Apple had released the entry-level Macintosh LC and IIsi with Motorola 68020 and 68030 processors, respectively, but without floating-point units to save manufacturing costs. SoftwareFPU became needed again when Apple released computers with 68LC040 processors without integrated floating-point hardware. However, some early 68LC040s contained a hardware bug that made running SoftwareFPU impossible.Will Apple replace 68LC040s with CPU bug? by Daniel Hird, Google Groups. 1994-08-22.605 & Floating Point Error by Robin Macrae, Google Groups. 1994-11-18.
SoftwareFPU found use again when Apple begin its transition from 68k to PowerPC processors. Though PowerPC processors contained floating-point hardware, the 68k emulator in classic Mac OS only emulated a 68LC040 without floating-point hardware, causing old 68k software that did not perform necessary hardware checks to fail again. Though SoftwareFPU 3.0 was available as a fat binary, running floating-point emulation with emulated 68k software was still very slow. John Neil & Associates then licensed PowerFPU from Todd Pittman, which would directly route such instructions to the appropriate PowerPC-native instructions, enabling significant performance improvements.
==References==
==External links==
*SoftwareFPU 3.03 at Mac GUI
*SoftwareFPU 3.07 by ex-parrot at Applefritter (2006-02-10)
*SoftwareFPU - For those of us with a 68LC040. by olliec420 at Reddit (2018-11-30)
*SoftwareFPU at the Higher Intellect Vintage Wiki
Category:Control panels
Category:Emulators