Installing and testing a 68882 FPU maths co-processor on my Amiga 1200. Testing with rendering and generation applications to test speed improvements.
Many PC’s from the 80’s and early 90’s had the ability to add an FPU to the system. FPU stands for Floating Point Unit, and is basically a maths co-processor. It can process floating point maths calculations many times faster than the “fixed point” capability of the main CPU, leaving it free for other instructions.
All Amiga computers can make use of an FPU. Either as an add-on for the 68000/020/030, or integrated into the CPU with the 68040 and 68060. Software has to be designed and compiled to use the FPU, so not everything can benefit from it.
The only programs that really benefit from an FPU are ones that render and decode. For example 3D landscape and object rendering. Some datatypes can use the FPU to load images and animations, and high end games like Quake need it for calculations.
My Amiga 1200 Accelerator had an empty socket for installing the FPU, and after checking on eBay, I found I pick one up for for almost nothing nowadays.
Installing is as simple as pressing the FPU unit into the socket, and setting the jumper to use the same clock frequency as the CPU (33MHz). No software needs changing, very simple.
Now it shows up in Sysinfo and SysSpeed with the FPU present and ready to use.
For testing purposes, I also have a 40MHz crystal. My accelerator card can run the FPU at a different frequency than the CPU (asynchronous).
Amiga 1200 revision 2B. Kickrom 3.0. Magnum 1230 030@33MHz. 128mb RAM. 8GB Compact Flash IDE drive. (MC68882@33 and 40MHz)
Now we need some FPU enabled software to see what improvement having an FPU can bring.
I found two software packages that should be perfect for this test. Both contain the FPU and No-FPU versions of the code and both are rendering packages. The software was for commercial sale in the 90’s but given away free on CD from CU Amiga Magazine
VistaPro is a 3D landscape generation package. it used math algorithms and procedural generation to create mountains, sky, trees then renders realistically with light mapping. This was very cutting edge at the time and still very cool to see an Amiga doing this now. Renders can be made at any resolution and exported as .IFF files, or even as animated 3D flybys.
For the test I used the built in Grand Canyon landscape, with Medium quality setting, at 320×256 resolution. Here are the results, lower times are better.
Looking at the results above you can see that rendering with an FPU present reduces times by more than half! I didn’t expect to find such a big difference. Clocking the FPU at 40MHz only improved times by 22 seconds
Cinema 4D was at the time another amazing piece of software. Its a 3D object creator, animator and rendering package, with full ray-tracing.
For this test I rendered the classic Coke Can object with all default settings (ray-traced) at 640×480 resolution. Here are the results, lower times are better.
Again we can see a huge improvement over rendering without an FPU. Almost 3 times quicker. The 40MHz crystal only improved things slightly. Some people have reported that Cinema4D can crash when using different clocks for the FPU and CPU. Luckily this didn’t happen for me, but the floating point code may be best run synchronously with the CPU.
Yes, an FPU will improve your Amiga 1200’s performance, But only for programs designed to take advantage of it. Your not going to find any games than get an increase in frame rate, or programs that feel smoother. Here I just prove that the FPU did have a practical use back in the days when people used the Amiga for rendering tasks.
These programs are just for curiosity and novelty now, but still fun.
One thing that surprised me when looking at these programs for the first time, is just how good they are. Cinema 4D for example was really capable of making amazing images from some really basic machines. You only need a 030 processor to start exploring and editing 3D.