• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

FPU, software, and a Classic II

I made myself one of these FPU cards and, apart of the fun of doing it, I didn't find much use for it.
Do you know of any game (maybe some using 3D) that makes use of the FPU?
There was a pinball game, called Tristan, that required an FPU for some strange reason. I ran it on my IIsi using SoftFPU back in the day. I was sad when I upgraded to a Q605, which had no FPU, and SoftFPU no longer worked, crashing the game.
 
I think there were some others ... I remember having some software from CDs refuse to launch on my LC back when. Might have been drawing apps? Was Painter already around on 68k, or did that start with PPC? I'd expect it was likely a drawing/audio editing app or a game, as that's the majority of apps I'd have been running back then.
Maybe Adobe Photoshop had support for the FPU? You could try a few of the early versions that are part of the Macintosh Garden (such as this one - https://macintoshgarden.org/apps/photoshop-201 )
 
Were you able to find a license for v2? I am having trouble finding something that will actually let me run calculations using the kernel - I was hoping to see how much memory both front end and kernel use together.
I don't think that I needed one for v2.0 (or there was one included with the software - I forget). Have you tried installing the copy of v2.0 that's present in the Macintosh Garden?
 
Sorry to resurrect such an old thread, but I have just discovered a Control Panel from 1990 called QuickSANE, which purports to be able to redirect mathematical operations from the 68030 to a 68882 in machines so equipped. Apparently the Mac OS does not do this (or much of this) redirection natively, which is presumably why software had to be written expressly to use the 68882. And not much was.

QuickSANE was originally supplied with Total Systems accelerators: https://archive.org/details/TNM_680.../mode/2up?view=theater&ui=embed&wrapper=false . It is supposed to do this redirection of mathematical operations to the fpu across the board. It is available in the usual repositories, e.g., https://macintoshgarden.org/apps/quicksane . More info here: https://tinkerdifferent.com/threads/quicksane.1631/ , where, crucially, it seems to be said that the software does not actually require one of these accelerators to work — just an fpu.

Does anyone have any experience of this obscure little piece of software, which seemingly promises to unleash unrealized multiprocessing potential in 68030+68882 machines?

My Classic II died around the time this thread started. I have, however, just received a repaired analog board from imactheknife, so my Classic II lives once more, and I find myself newly interested in getting it a shiny new fpu card as a reward for its years of patience. There now, little one….;)
 
The Diimo control panel can also patch SANE, and I think Daystar's will also (without the accelerators present). I've not checked to see if those SANE patches are comparable/more effective compared to what later versions of the Mac ROM do. In the IIsi dev note there's a comment about replacing the SANE package with one presumably having FPU support. LC2 (aka Classic II) ROM is chronologically after IIsi so it would have those changes. SuperMario sources would probably shed some light on what exactly changed.

1738250593075.png

I've never noticed an actual benefit however aside from a single speedometer benchmark (Kwhet, I think) increasing noteably. Floating point math is generally kept to a minimum in mac applications as it's assumed to be computationally expensive unless you can guarantee a FPU will always be present. So, it's not used except when precision is essential. Practically, I wouldn't expect much, especially in a hobbyist use case (ie. often games :) ).
 
QuickSANE was described by its creators (back of archived brochure) as, “A control panel device (CDEV) that acts as a "traffic manager" routing SANE (Standard Apple Numeric Environment) calls directly to the MC68881/2 coprocessor. The result is that math-intensive operations are executed up to 300% faster once QuickSANE is installed. For Macintosh II, IIx, Ilex, Ilci, and SE/30.” Evidently such calls don’t happen automatically, else why would the software have been written?

What all this means in actual use is, of course, another matter, but hey, that guy’s SE/30 (linked) was nearly twice as fast in cpu scores in Speedometer.
 
QuickSANE was described by its creators (back of archived brochure) as, “A control panel device (CDEV) that acts as a "traffic manager" routing SANE (Standard Apple Numeric Environment) calls directly to the MC68881/2 coprocessor. The result is that math-intensive operations are executed up to 300% faster once QuickSANE is installed. For Macintosh II, IIx, Ilex, Ilci, and SE/30.” Evidently such calls don’t happen automatically, else why would the software have been written?

What all this means in actual use is, of course, another matter, but hey, that guy’s SE/30 (linked) was nearly twice as fast in cpu scores in Speedometer.
I don't see the link you're referring to, but I can speak authoritatively to this: The CPU score shown under "Performance Test" is purely testing integer performance and will not be changed by SANE patches or presence of an optional FPU.

The "benchmark mix" score is normally an integer performance test also. However, some of the patches performed by DayStar/Diimo's tools (can't speak for QuickSANE) will have a dramatic effect on KWhetstone subtest's score. So that one test is doing something that is using SANE.

Otherwise SANE patches have very little effect on any of the other benchmark mix subtests, however the average score will be artifically inflated due to the manyfold performance increase in that single subtest. It would be interesting to understand what SANE calls are being patched and also if the IIsi ROM with the newer SANE package exhibits the same speedup. Either way, this is not representative of a general speedup of the machine.

IIx/IIcx/II/SE/30 all essentially use the same ROM and yes, SANE in those ROMs will not utilize the FPU. So SANE patches are of use on these machines (so long as the stock ROM is installed). The IIci in the QuickSANE list is an outlier as that ROM should be extremely similar to the IIsi ROM, I would be surprised if it lacks the improved FPU SANE package. The IIci developer note does not mention any ROM changes, but the IIci ROM is one of (if not) the first Universal ROM and the IIsi is very closely related both hardware and ROM-wise.

Regarding the topic, the LC2 aka Classic II aka Color Classic are all architecturally identical and all use a ROM that is newer than the IIci/IIsi ROM. Therefore, it will have the FPU SANE in ROM and as @Arbee said will utilize the FPU if it is present. So there is likely little or no point to installing a SANE patch, but you'd have to find something that specifically tests SANE routines in order to confirm that.

Text rendering doesn't utilize floating point operations / SANE to any notable degree and won't be helped by a FPU. Again, SANE is mainly concerned with floating point operations which are by necessity minimized for performance considerations as early Macs did not have a FPU. Scrolling is purely a bandwidth constrained operation and will not be improved by a FPU or SANE either. Unfortunately as I mentioned previously there is not really a benefit to having a FPU outside of the rare and usually niche applications which leverage a FPU, even with FPU SANE in ROM or SANE patches installed. The FPU will not make the machine any faster in general use.
 
Despite the rather definitive answer above, has anyone tested this theory anyway?

This also raises another interesting question. If the ROM is needed to steer SANE to the FPU, do people that upgrade their 68LC040 to a full 68040 but continue to use the ROMs of a machine that only anticipated the presence of a 68LC040, are they seeing the full potential of their 68040, or is it restricted by the fact that the ROM is not FPU aware or were all ROMs universally FPU aware at that point so one ROM could be used for all models?
 
Last edited:
All Universal ROMs detect the FPU as part of POST unless the machine definition says it absolutely can't have an FPU (which is pretty much just the Mac TV). Apple routinely used the exact same ROM on pairs of machines where one had the FPU and one didn't (PowerBook 140 vs 170, for instance) and many of the LC040 machines also had the option of a full '040 if you paid more so the ROM *had* to auto-detect.

The sad fact is that almost nothing in the Mac OS uses floating point, so an FPU doesn't get you much on the 68K machines. (Some games and of course apps like Adobe Illustrator did use it). Even on the PowerPC, where you could rely on always having an FPU, nothing in the OS took serious advantage until OS X.
 
Last edited:
Back
Top