ack/plat/linux68k/emu
tevorbl 6fe335b9e9 another fix for printf(float) on m68k platform
bug caused by this instruction:

  fmove.l fp0,d0 

problem was caused by a conflict between the fpu emulator (softfloat) and the compiler.

the emulator implemented this as a purely arithmetic move & conversion,
but the compiler assumed that the result could be interpreted as a logical (ie unsigned) conversion.
rightly or wrongly.


for example, if fp0 contained the value 2576980377.0  which is unsigned integer -1717987328
the emulator would treat this as an integer overflow and move 0x7fffffff (INT_MAX) into d0.

The complier on the other hand would assume that d0 contained 2576980377 (the unsigned value).

I don't know which is correct, but this is my fix for the time being.
2020-06-02 13:00:03 +01:00
..
musashi another fix for printf(float) on m68k platform 2020-06-02 13:00:03 +01:00
build.lua update platform linux68k 2020-05-28 13:06:08 +01:00
m68kconf.h update platform linux68k 2020-05-28 13:06:08 +01:00
sim.c update platform linux68k 2020-05-28 13:06:08 +01:00
sim.h update platform linux68k 2020-05-28 13:06:08 +01:00