|Re: [hatari-devel] Re: 040/060 emulation issue with Q2|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
$0002808a : f23c 4538 4020 0000 fcmp.s #$40200000,fp2
$00028092 : f29d DC.W $f29d
$000280ce : f201 DC.W $f201
*$000280d4 : ff70 DC.W $ff70 <--
OK, so back to the opcode ff70, and looking at 68030 user manual chapter
10.1.3 with the format of line F instructions, it is stated that CpID
001 (bit 9 to 11) is used for 68881 and 6882, and 111 is reserved.
So, this really looks like an illegal instruction that should not be
used in the 1st place. Is this handmade asm, or the result of a C
I am not so sure that FF70 is opcode, it can be part of some previous
FPU instruction caused by incorrectly incremented PC. Can easily happen
in prefetch modes if some prefetch handling is missing.
FF70 = cpRESTORE with coprocessor id = 7. Opcode mode and register
values are 7 which is invalid combination. It can't be valid opcode.
I guess this opcode could generate privilege violation in user mode (if
68020/030, can't happen if 68040+) but I have no idea what happens when
using co-op ids that don't exist. Possibly it is implementation specific
(how address decoder between CPU and FPU work).