Diff for /np2/i286x/i286x.h between versions 1.1 and 1.7

version 1.1, 2003/10/16 17:57:16 version 1.7, 2004/08/03 10:11:37
Line 1 Line 1
   
   #define I286_MEM                mem
   
   #define I286_STAT               i286core.s.r
   
   #define I286_REG                i286core.s.r
   #define I286_SEGREG             i286core.s.r.w.es
   
   #define I286_AX                 i286core.s.r.w.ax
   #define I286_BX                 i286core.s.r.w.bx
   #define I286_CX                 i286core.s.r.w.cx
   #define I286_DX                 i286core.s.r.w.dx
   #define I286_SI                 i286core.s.r.w.si
   #define I286_DI                 i286core.s.r.w.di
   #define I286_BP                 i286core.s.r.w.bp
   #define I286_SP                 i286core.s.r.w.sp
   #define I286_CS                 i286core.s.r.w.cs
   #define I286_DS                 i286core.s.r.w.ds
   #define I286_ES                 i286core.s.r.w.es
   #define I286_SS                 i286core.s.r.w.ss
   #define I286_IP                 i286core.s.r.w.ip
   
   #define SEG_BASE                i286core.s.es_base
   #define ES_BASE                 i286core.s.es_base
   #define CS_BASE                 i286core.s.cs_base
   #define SS_BASE                 i286core.s.ss_base
   #define DS_BASE                 i286core.s.ds_base
   #define SS_FIX                  i286core.s.ss_fix
   #define DS_FIX                  i286core.s.ds_fix
   
   #define I286_AL                 i286core.s.r.b.al
   #define I286_BL                 i286core.s.r.b.bl
   #define I286_CL                 i286core.s.r.b.cl
   #define I286_DL                 i286core.s.r.b.dl
   #define I286_AH                 i286core.s.r.b.ah
   #define I286_BH                 i286core.s.r.b.bh
   #define I286_CH                 i286core.s.r.b.ch
   #define I286_DH                 i286core.s.r.b.dh
   
   #define I286_FLAG               i286core.s.r.w.flag
   #define I286_FLAGL              i286core.s.r.b.flag_l
   #define I286_FLAGH              i286core.s.r.b.flag_h
   #define I286_TRAP               i286core.s.trap
   #define I286_OV                 i286core.s.ovflag
   
   #define I286_GDTR               i286core.s.GDTR
   #define I286_MSW                i286core.s.MSW
   #define I286_IDTR               i286core.s.IDTR
   #define I286_LDTR               i286core.s.LDTR
   #define I286_LDTRC              i286core.s.LDTRC
   #define I286_TR                 i286core.s.TR
   #define I286_TRC                i286core.s.TRC
   
   #define I286_ADRSMASK   i286core.s.adrsmask
   #define I286_REMCLOCK   i286core.s.remainclock
   #define I286_BASECLOCK  i286core.s.baseclock
   #define I286_CLOCK              i286core.s.clock
   
   #define I286_REPPOSBAK  i286core.e.repbak
   #define I286_INPADRS    i286core.e.inport
   
   
 #define I286 __declspec(naked) static void  #define I286 __declspec(naked) static void
 #define I286EXT __declspec(naked) void  #define I286EXT __declspec(naked) void
   
   typedef void (*I286TBL)(void);
   
   
 #define         I286IRQCHECKTERM                                                                \  #define         I286IRQCHECKTERM                                                                \
                                 __asm { xor             eax, eax                                }       \                                  __asm { xor             eax, eax                                }       \
                                 __asm { cmp             nevent.remainclock, eax }       \                                  __asm { cmp             I286_REMCLOCK, eax              }       \
                                 __asm { jle             short nonremainclr              }       \                                  __asm { jle             short nonremainclr              }       \
                                 __asm { xchg    nevent.remainclock, eax }       \                                  __asm { xchg    I286_REMCLOCK, eax              }       \
                                 __asm { sub             nevent.baseclock, eax   }       \                                  __asm { sub             I286_BASECLOCK, eax             }       \
                 nonremainclr:                                                                           \                  nonremainclr:                                                                           \
                                 __asm { ret                                                             }                                  __asm { ret                                                             }
   
   
 #define         I286PREFIX(proc)                                                                \  #define         I286PREFIX(proc)                                                                \
                                 __asm { bts             i286s.prefix, 0                 }       \                                  __asm { bts             i286core.s.prefix, 0    }       \
                                 __asm { jc              fixed                                   }       \                                  __asm { jc              fixed                                   }       \
                                 __asm { mov             REPPOSBAK, esi                  }       \                                  __asm { mov             I286_REPPOSBAK, esi             }       \
                                 __asm { push    offset removeprefix             }       \                                  __asm { push    offset removeprefix             }       \
                         fixed:                                                                                  \                          fixed:                                                                                  \
                                 GET_NEXTPRE1                                                            \                                  GET_NEXTPRE1                                                            \
Line 24 Line 88
   
   
 extern void __fastcall i286x_localint(void);  extern void __fastcall i286x_localint(void);
   extern void __fastcall i286x_selector(void);
 extern void removeprefix(void);  extern void removeprefix(void);
   
 extern void (*i286op[])(void);  extern const I286TBL i286op[256];
 extern void (*i286op_repne[])(void);  extern const I286TBL i286op_repne[256];
 extern void (*i286op_repe[])(void);  extern const I286TBL i286op_repe[256];
   
 extern void (*v30op[])(void);  extern I286TBL v30op[256];
 extern void (*v30op_repne[])(void);  extern I286TBL v30op_repne[256];
 extern void (*v30op_repe[])(void);  extern I286TBL v30op_repe[256];
   
 void i286xadr_init(void);  void i286xadr_init(void);
   

Removed from v.1.1  
changed lines
  Added in v.1.7


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