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 floating-point arithmetic 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.[1][2]
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.[1][3][4]
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.[2]
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