Re: [hatari-devel] New version of WinUAE's cpu core

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Le 23/11/2014 12:15, Nicolas Pomarède a écrit :
Le 23/11/2014 09:23, Thomas Huth a écrit :

I've started Hatari with TOS 4.04 in 68040 mode (68060 did not work
from the command line), then used the GUI to switch to 68060 and reset.

I've had a quick look at your new core again, and the problem, is movep:

Illegal instruction: 01c8 at 00E025E2 -> 00E0398C

with:

$e025e2 : 01c8 0000                            movep.l   d0,0(a0)

As far as I know, this instruction does not exist on 68060 anymore, and
it likely has been emualted by the old WinUAE core just by accident.
So I think it's "ok" if it crashes now. If we want to support 68060,
we've got to patch the corresponding parts of TOS.


Hi

thanks for pointing this. I need to run the program that was posted by
Ppera on atari-forum to validate the 68030 opcodes and check the result
with winuae (I already ran it against 68000 and I think it removed the
last bad addressing mode combinations)


About the movep opcode, it was removed in 68060, we can see this in table68k when the 2nd number in the 2nd column is a '5', which means "not implemented in 68060 or later". So, the following instructions are likely to crash if they were used in TOS :

CAS2.W and CAS2.L
MVPMR and MVPRM
PTESTW and PTESTR

Apart from movep, I don't think these instructions are much used by TOS, so it should be possible add a printf in the cpu core and see all the values of PC when one of these is used.

As for Emutos, I don't know if it was tested against 68060 ? At least, sources are available.

Nicolas




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/