Re: [hatari-devel] Re: 040/060 emulation issue with Q2

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


Le 04/03/2015 11:36, Douglas Little a écrit :
Hi,

Sorry - here is the full config:

* Falcon
* 68030
* 16MHz
* DSP = full
* FPU = 68882 (compatible, slower)
* 14MB ram

** RTC emulation
** blitter emulation
** cycle exact mode AND/OR prefetch mode
** 24bit addressing

The problems stop if I disable BOTH cycle exact and prefetch modes -
which had always been enabled by default in the past (even if the later
isn't really appropriate on Falcon). Either one will cause the compiled
code to crash.

When disabling these settings, the emulated speed is nearly double the
expected speed of a Falcon (but does appear to run normally). This is
reflected in the FPS being 50-100% higher in most cases.

The DSP is not involved in the crash (it does get kickstarted via XBios
quite early during setup, but isn't communicated with directly until
long after all setup is complete - the crashes occur during data loading
and game AI setup, much earlier).


$0002808a : f23c 4538 4020 0000                fcmp.s    #$40200000,fp2
$00028092 : f29d                               DC.W      $f29d
$000280ce : f201                               DC.W      $f201
*$000280d4 : ff70                               DC.W      $ff70  <--
illegal?*

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 compiler ?

Nicolas



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