Re: [hatari-devel] Special WinUAE FPU settings

[ Thread Index | Date Index | More Archives ]

Am Sun, 10 Apr 2016 17:27:34 +0300
schrieb Toni Wilen <twilen@xxxxxxxxxx>:

> >> Seems like there is a similar setting for the FPU, too:
> >>
> >>   fpu_no_unimplemented
> >>
> >> ... should we also initialize that to "true"?  
> > 
> > hi,
> > 
> > I would say yes if we want to be close to real HW ; this affects a
> > few instruction, but I don't know the different fpu specs that
> > much, maybe Toni can give us detail if he read this.  
> If it is true, 68040/060 FPU emulation matches real hardware: 68040
> FPU instructions that are not implemented in hardware (trigonometric
> functions, some FMOVEM variants etc..) cause unimplemented FPU
> exceptions (that Motorola FPU library normally catches and emulates)
> If it is false, all FPU instructions are emulated, all 6888x
> instructions + new 68040 FPU FSx and FDx variants. (Note that some
> older versions in 6888x mode also incorrectly supported 68040+ only
> FPU instructions)

Ok, thanks for the exmplanation!

> cpu_no_implemented is matching option for 68060 unimplemented integer
> instructions (MOVEP, some 64-bit variants of MUL/DIV etc).
> It is recent option, 68040/060 missing instruction exception emulation
> was not easy to implement.
> Note that they are not fully JIT compatible. IMHO there is not much
> point anyway in fast modes where it is only important that FPU returns
> correct results, not how it does it.
> (What did this have to do with 68030 MMU PMOVE?)

Eero originally noticed that Hatari printed something like this out
when 68060 CPU has been selected:

 68030 MMU enabled. Page size = 32768 PC=00e014f6

That's of course confusing. It was due to that int_no_unimplemented
option. If it is set to false, the PMOVE instruction of the 68030 MMU
is also still allowed in 68060 mode, and TOS is using that instruction
during boot.


Mail converted by MHonArc 2.6.19+