SoftwareFPU

3 days ago 2

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[]

Read Entire Article