MC68040FE33A

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MC68040FE33A

649 Views
alexdavis
Contributor I

Does this version of 68040 actually have an FPU? I know the datasheet says that it does, but in actual practice, it does not appear to have one. Here's where I've tried it as a MC68LC040 swap, no FPU was detected: 68040 upgrade for Powerbook 520c • Hackaday.io

Labels (1)
0 Kudos
4 Replies

500 Views
miduo
NXP Employee
NXP Employee

Hi,

Please be note that the MC68040V and MC68LC040 are derivatives of the MC68040. They implement the same IU and MMU as the MC68040, but have no FPU.

0 Kudos

500 Views
alexdavis
Contributor I

Understood. But, to verify, MC68040FE33A does have an FPU, right?

0 Kudos

500 Views
TomE
Specialist II

From Freescale/NXP's site and the parameter lists, that one should have an FPU.

But what were you using to "detect" the FPU? If you were asking the Macintosh's operating system (mainly in the ROM but also assembled from that and code from the boot disk) then it doesn't *EXPECT* that model to have an FPU, so based on the computer model it would probably default to saying "no FPU here".

Does the 040 have a DFP (Disable Floating Point) bit in the PCR like the 060 does? That may be getting set by the OS.

If you have an FPU then the OS has to save the FPU registers on a context switch to any code that might want to use an FPU instruction (or have it emulated like the Mac does). That version of the OS probably doesn't have that code build into it (or enabled), so probably can't work with an enabled FPU anyway. You may only be able to use it when running a different OS like Linux or something.

Tom

0 Kudos

500 Views
alexdavis
Contributor I

There was a Powerbook 550c released in the Japanese market which did have an FPU, so I was hopeful that at OS 8.1 (which is apparently where system enablers went away) that it would be detected by the OS properly. But, you’re right, it could be the 550c had a different ROM.

In any case, I will give it a shot with *BSD and see if it works. Used to be with 68lc040 FPU calls were improperly trapped and you’d get a crash.

Thanks!

0 Kudos