Previous 15994 Revisions Next

r14481 Thursday 16th February, 2012 at 05:39:57 UTC by Olivier Galibert
fixed (nw)
[src/emu/cpu/m68000]m68kfpu.c

src/emu/cpu/m68000/m68kfpu.c
r14480r14481
17831783{
17841784   if(m68k->cpu_type & CPU_TYPE_040)
17851785   {
1786      m68ki_write_32(m68k, addr, 0x41000000);
1787      return inc ? 4 : -4;
1786      if(inc)
1787      {
1788         m68ki_write_32(m68k, addr, 0x41000000);
1789         return 4;
1790      }
1791      else
1792      {
1793         m68ki_write_32(m68k, addr-4, 0x41000000);
1794         return -4;
1795      }
17881796   }
17891797
17901798   if (inc)
r14480r14481
18481856
18491857static void m68040_do_frestore(m68ki_cpu_core *m68k, UINT32 addr, int reg)
18501858{
1859   bool m40 = m68k->cpu_type & CPU_TYPE_040;
18511860   UINT32 temp = m68ki_read_32(m68k, addr);
18521861
18531862   // check for NULL frame
r14480r14481
18591868      if (reg != -1)
18601869      {
18611870         // how about an IDLE frame?
1862         if ((temp & 0x00ff0000) == 0x00180000)
1871         if (!m40 && ((temp & 0x00ff0000) == 0x00180000))
18631872         {
1864            REG_A(m68k)[reg] += (m68k->cpu_type & CPU_TYPE_040) ? 4 : 7*4;
1873            REG_A(m68k)[reg] += 7*4;
1874         }
1875         else if (m40 && ((temp & 0xffff0000) == 0x41000000))
1876         {
1877            REG_A(m68k)[reg] += 4;
18651878         } // check UNIMP
18661879         else if ((temp & 0x00ff0000) == 0x00380000)
18671880         {

Previous 15994 Revisions Next


© 1998-2018 The MESS Team