Previous 15994 Revisions Next

r9201 Monday 20th September, 2010 at 17:47:52 UTC by R. Belmont
M68k: add more FPU conditions and FGETEXP. SoundTrecker for Mac now runs.
[src/emu/cpu/m68000]m68kfpu.c

src/emu/cpu/m68000/m68kfpu.c
r9200r9201
314314      case 0x15:
315315      case 0x05:      return (z || (n && !nan));         // Less Than or Equal
316316
317      case 0x16:
318      case 0x06:      return !nan && !z;
319
320      case 0x17:
321      case 0x07:      return !nan;
322
323      case 0x18:
324      case 0x08:      return nan;
325
326      case 0x19:
327      case 0x09:      return nan || z;
328
317329      case 0x1a:
318330      case 0x0a:      return (nan || !(n || z));         // Not Less Than or Equal
319331
r9200r9201
11821194         m68k->remaining_cycles -= 3;
11831195         break;
11841196      }
1197      case 0x1e:      // FGETEXP
1198      {
1199         floatx80 temp = source;
1200         INT16 temp2;
1201
1202         temp2 = source.high;   // get the exponent
1203         temp2 -= 0x3fff;   // take off the bias
1204         REG_FP[dst] = double_to_fx80((double)temp2);
1205         SET_CONDITION_CODES(m68k, REG_FP[dst]);
1206         m68k->remaining_cycles -= 6;
1207      }
11851208      case 0x20:      // FDIV
11861209      {
11871210         REG_FP[dst] = floatx80_div(REG_FP[dst], source);

Previous 15994 Revisions Next


© 1998-2018 The MESS Team