The fp was only in a couple init routines at the start. They aren't used everywhere or I'd replace them. For a while, I thought I'd have to replace them anyway.

I've got some nice cordic routines to do them as fixed point.
On the topic of developing for the 32X with gcc, I released some code for mic's fuboy as an example. I had a problem with that on my current project. It wouldn't run main() even though everything was perfect. For the life of me, I couldn't find the problem... until I thought about the differences between fuboy and what I'm doing now. The difference was the size of the data and bss, which then corresponded to time spent in the associated bios startups. I had a situation where the 68000 was finishing too fast. I needed to add this to m68k_crt1.s:
Code: Select all
__start:
cmp.l #0x4D5F4F4B,0xA15120 /* M_OK */
bne.b __start /* wait for master ok */
# init MD VDP
I needed the 68000 to wait on the SH2 bios. Otherwise it was getting through its own init too fast and the signal to the master to run would go unseen. Ah, the joys of IPC.
I think I will mosey over to KPIT and see if they've got a contact email addy where I can let them know what I found about the -m2 situation. I suspect that when they apply their own patches to gcc, they accidentally enabled the FPU for all SH2 variants, not just the A and E ones.