Diff for /np2/i286c/i286c_mn.c between versions 1.18 and 1.21

version 1.18, 2003/12/01 10:45:46 version 1.21, 2003/12/03 07:59:57
Line 10 Line 10
   
 #define MAX_PREFIX              8  #define MAX_PREFIX              8
   
 #define EXISTINTR               (isI286EI) && (!pic.ext_irq) &&                         \  
                                                 ((pic.pi[0].irr & (~pic.pi[0].imr)) ||          \  
                                                 (pic.pi[1].irr & (~pic.pi[1].imr)))  
   
   
 #define NEXT_OPCODE                                                                                             \  #define NEXT_OPCODE                                                                                             \
                 if (I286_REMCLOCK < 1) {                                                                \                  if (I286_REMCLOCK < 1) {                                                                \
Line 938  I286FN _aaa(void) {        // 37: aaa Line 934  I286FN _aaa(void) {        // 37: aaa
         else {          else {
                 I286_FLAGL &= ~(A_FLAG | C_FLAG);                  I286_FLAGL &= ~(A_FLAG | C_FLAG);
         }          }
           I286_AL &= 0x0f;
 }  }
   
 I286FN _cmp_ea_r8(void) {                                               // 38: cmp EA, REG8  I286FN _cmp_ea_r8(void) {                                               // 38: cmp EA, REG8
Line 1817  I286FN _popf(void) {      // 9D: popf Line 1814  I286FN _popf(void) {      // 9D: popf
   
         UINT    flag;          UINT    flag;
   
         I286_WORKCLOCK(5);  
         REGPOP0(flag)          REGPOP0(flag)
         I286_OV = flag & O_FLAG;          I286_OV = flag & O_FLAG;
         I286_FLAG = flag & (0xfff ^ O_FLAG);          I286_FLAG = flag & (0xfff ^ O_FLAG);
         I286_TRAP = ((flag & 0x300) == 0x300);          I286_TRAP = ((flag & 0x300) == 0x300);
           I286_WORKCLOCK(5);
 #if defined(INTR_FAST)  #if defined(INTR_FAST)
         if (EXISTINTR) {          if ((flag & I_FLAG) && (PICEXISTINTR)) {
                 I286IRQCHECKTERM                  I286IRQCHECKTERM
         }          }
 #else  #else
Line 2276  I286FN _iret(void) {      // CF: iret Line 2273  I286FN _iret(void) {      // CF: iret
         UINT    flag;          UINT    flag;
   
         extirq_pop();          extirq_pop();
         I286_WORKCLOCK(31);  
         REGPOP0(I286_IP)          REGPOP0(I286_IP)
         REGPOP0(I286_CS)          REGPOP0(I286_CS)
         REGPOP0(flag)          REGPOP0(flag)
Line 2284  I286FN _iret(void) {      // CF: iret Line 2280  I286FN _iret(void) {      // CF: iret
         I286_FLAG = flag & (0xfff ^ O_FLAG);          I286_FLAG = flag & (0xfff ^ O_FLAG);
         I286_TRAP = ((flag & 0x300) == 0x300);          I286_TRAP = ((flag & 0x300) == 0x300);
         CS_BASE = I286_CS << 4;          CS_BASE = I286_CS << 4;
           I286_WORKCLOCK(31);
 #if defined(INTR_FAST)  #if defined(INTR_FAST)
         if (EXISTINTR) {          if ((flag & I_FLAG) && (PICEXISTINTR)) {
                 I286IRQCHECKTERM                  I286IRQCHECKTERM
         }          }
 #else  #else
Line 2658  I286FN _sti(void) {       // FB: sti Line 2655  I286FN _sti(void) {       // FB: sti
         I286_WORKCLOCK(2);          I286_WORKCLOCK(2);
 #if defined(INTR_FAST)  #if defined(INTR_FAST)
         if (I286_FLAG & I_FLAG) {          if (I286_FLAG & I_FLAG) {
                   NEXT_OPCODE;
                 return;                                                                 // 更新の意味なし                  return;                                                                 // 更新の意味なし
         }          }
 #endif  #endif
         I286_FLAG |= I_FLAG;          I286_FLAG |= I_FLAG;
         I286_TRAP = (I286_FLAG & T_FLAG) >> 8;          I286_TRAP = (I286_FLAG & T_FLAG) >> 8;
 #if defined(INTR_FAST)  #if defined(INTR_FAST)
         if (EXISTINTR) {          if (!PICEXISTINTR) {
                   NEXT_OPCODE;
           }
           else {
                 REMAIN_ADJUST(1)                  REMAIN_ADJUST(1)
         }          }
 #else  #else

Removed from v.1.18  
changed lines
  Added in v.1.21


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