Diff for /np2/i286c/i286c_fe.c between versions 1.3 and 1.4

version 1.3, 2003/10/17 11:10:02 version 1.4, 2003/10/19 14:56:15
Line 21  I286_F6 _inc_ea8(UINT op) { Line 21  I286_F6 _inc_ea8(UINT op) {
         BYTE    *out;          BYTE    *out;
   
         if (op >= 0xc0) {          if (op >= 0xc0) {
                 I286_CLOCK(2)                  I286_WORKCLOCK(2);
                 out = reg8_b20[op];                  out = reg8_b20[op];
         }          }
         else {          else {
                 I286_CLOCK(7)                  I286_WORKCLOCK(7);
                 madr = c_calc_ea_dst[op]();                  madr = c_calc_ea_dst[op]();
                 if (madr >= I286_MEMWRITEMAX) {                  if (madr >= I286_MEMWRITEMAX) {
                         BYTE value = i286_memoryread(madr);                          BYTE value = i286_memoryread(madr);
Line 44  I286_F6 _dec_ea8(UINT op) { Line 44  I286_F6 _dec_ea8(UINT op) {
         BYTE    *out;          BYTE    *out;
   
         if (op >= 0xc0) {          if (op >= 0xc0) {
                 I286_CLOCK(2)                  I286_WORKCLOCK(2);
                 out = reg8_b20[op];                  out = reg8_b20[op];
         }          }
         else {          else {
                 I286_CLOCK(7)                  I286_WORKCLOCK(7);
                 madr = c_calc_ea_dst[op]();                  madr = c_calc_ea_dst[op]();
                 if (madr >= I286_MEMWRITEMAX) {                  if (madr >= I286_MEMWRITEMAX) {
                         BYTE value = i286_memoryread(madr);                          BYTE value = i286_memoryread(madr);
Line 67  I286_F6 _inc_ea16(UINT op) { Line 67  I286_F6 _inc_ea16(UINT op) {
         UINT16  *out;          UINT16  *out;
   
         if (op >= 0xc0) {          if (op >= 0xc0) {
                 I286_CLOCK(2)                  I286_WORKCLOCK(2);
                 out = reg16_b20[op];                  out = reg16_b20[op];
         }          }
         else {          else {
                 I286_CLOCK(7)                  I286_WORKCLOCK(7);
                 madr = c_calc_ea_dst[op]();                  madr = c_calc_ea_dst[op]();
                 if (INHIBIT_WORDP(madr)) {                  if (INHIBIT_WORDP(madr)) {
                         UINT16 value = i286_memoryread_w(madr);                          UINT16 value = i286_memoryread_w(madr);
Line 90  I286_F6 _dec_ea16(UINT op) { Line 90  I286_F6 _dec_ea16(UINT op) {
         UINT16  *out;          UINT16  *out;
   
         if (op >= 0xc0) {          if (op >= 0xc0) {
                 I286_CLOCK(2)                  I286_WORKCLOCK(2);
                 out = reg16_b20[op];                  out = reg16_b20[op];
         }          }
         else {          else {
                 I286_CLOCK(7)                  I286_WORKCLOCK(7);
                 madr = c_calc_ea_dst[op]();                  madr = c_calc_ea_dst[op]();
                 if (INHIBIT_WORDP(madr)) {                  if (INHIBIT_WORDP(madr)) {
                         UINT16 value = i286_memoryread_w(madr);                          UINT16 value = i286_memoryread_w(madr);
Line 112  I286_F6 _call_ea16(UINT op) { Line 112  I286_F6 _call_ea16(UINT op) {
         UINT16  src;          UINT16  src;
   
         if (op >= 0xc0) {          if (op >= 0xc0) {
                 I286_CLOCK(7)                  I286_WORKCLOCK(7);
                 src = *(reg16_b20[op]);                  src = *(reg16_b20[op]);
         }          }
         else {          else {
                 I286_CLOCK(11)                  I286_WORKCLOCK(11);
                 src = i286_memoryread_w(c_calc_ea_dst[op]());                  src = i286_memoryread_w(c_calc_ea_dst[op]());
         }          }
         REGPUSH0(I286_IP);          REGPUSH0(I286_IP);
Line 125  I286_F6 _call_ea16(UINT op) { Line 125  I286_F6 _call_ea16(UINT op) {
   
 I286_F6 _call_far_ea16(UINT op) {  I286_F6 _call_far_ea16(UINT op) {
   
         I286_CLOCK(16)          I286_WORKCLOCK(16);
         if (op < 0xc0) {          if (op < 0xc0) {
                 UINT16 ad = c_get_ea[op]();                  UINT16 ad = c_get_ea[op]();
                 REGPUSH0(I286_CS)                                                               // ToDo                  REGPUSH0(I286_CS)                                                               // ToDo
Line 143  I286_F6 _call_far_ea16(UINT op) { Line 143  I286_F6 _call_far_ea16(UINT op) {
 I286_F6 _jmp_ea16(UINT op) {  I286_F6 _jmp_ea16(UINT op) {
   
         if (op >= 0xc0) {          if (op >= 0xc0) {
                 I286_CLOCK(7)                  I286_WORKCLOCK(7);
                 I286_IP = *(reg16_b20[op]);                  I286_IP = *(reg16_b20[op]);
         }          }
         else {          else {
                 I286_CLOCK(11)                  I286_WORKCLOCK(11);
                 I286_IP = i286_memoryread_w(c_calc_ea_dst[op]());                  I286_IP = i286_memoryread_w(c_calc_ea_dst[op]());
         }          }
 }  }
   
 I286_F6 _jmp_far_ea16(UINT op) {  I286_F6 _jmp_far_ea16(UINT op) {
   
         I286_CLOCK(11)          I286_WORKCLOCK(11);
         if (op < 0xc0) {          if (op < 0xc0) {
                 UINT16 ad = c_get_ea[op]();                  UINT16 ad = c_get_ea[op]();
                 I286_IP = i286_memoryread_w(ad + EA_FIX);                  I286_IP = i286_memoryread_w(ad + EA_FIX);
Line 172  I286_F6 _push_ea16(UINT op) { Line 172  I286_F6 _push_ea16(UINT op) {
         UINT16  src;          UINT16  src;
   
         if (op >= 0xc0) {          if (op >= 0xc0) {
                 I286_CLOCK(3)                  I286_WORKCLOCK(3);
                 src = *(reg16_b20[op]);                  src = *(reg16_b20[op]);
         }          }
         else {          else {
                 I286_CLOCK(5)                  I286_WORKCLOCK(5);
                 src = i286_memoryread_w(c_calc_ea_dst[op]());                  src = i286_memoryread_w(c_calc_ea_dst[op]());
         }          }
         REGPUSH0(src);          REGPUSH0(src);
Line 187  I286_F6 _pop_ea16(UINT op) { Line 187  I286_F6 _pop_ea16(UINT op) {
         UINT16  src;          UINT16  src;
   
         REGPOP0(src);          REGPOP0(src);
         I286_CLOCK(5)          I286_WORKCLOCK(5);
         if (op >= 0xc0) {          if (op >= 0xc0) {
                 *(reg16_b20[op]) = src;                  *(reg16_b20[op]) = src;
         }          }

Removed from v.1.3  
changed lines
  Added in v.1.4


RetroPC.NET-CVS <cvs@retropc.net>