Diff for /np2/i286c/Attic/i286.h between versions 1.1 and 1.2

version 1.1, 2003/10/16 17:57:36 version 1.2, 2003/10/17 07:17:20
Line 47  typedef struct { Line 47  typedef struct {
         BYTE    flag_h;          BYTE    flag_h;
         BYTE    ip_l;          BYTE    ip_l;
         BYTE    ip_h;          BYTE    ip_h;
 } I286REG_BYTE;  } I286REG8;
   
 #else  #else
   
Line 80  typedef struct { Line 80  typedef struct {
         BYTE    flag_l;          BYTE    flag_l;
         BYTE    ip_h;          BYTE    ip_h;
         BYTE    ip_l;          BYTE    ip_l;
 } I286REG_BYTE;  } I286REG8;
   
 #endif  #endif
   
Line 99  typedef struct { Line 99  typedef struct {
         UINT16  ds;          UINT16  ds;
         UINT16  flag;          UINT16  flag;
         UINT16  ip;          UINT16  ip;
 } I286REG_WORD;  } I286REG16;
   
 typedef union {  typedef struct {
         I286REG_BYTE    b;          UINT16  limit;
         I286REG_WORD    w;          UINT16  base;
 } I286REGS;          BYTE    base24;
           BYTE    reserved;
   } I286DTR;
   
 typedef struct {  typedef struct {
           union {
                   I286REG8        b;
                   I286REG16       w;
           }               r;
         UINT32  es_base;          UINT32  es_base;
         UINT32  cs_base;          UINT32  cs_base;
         UINT32  ss_base;          UINT32  ss_base;
Line 115  typedef struct { Line 121  typedef struct {
         UINT32  ds_fix;          UINT32  ds_fix;
         UINT16  prefix;          UINT16  prefix;
         BYTE    trap;          BYTE    trap;
         BYTE    reserved;          BYTE    cpu_type;
         UINT32  pf_semaphore;          UINT32  pf_semaphore;
         UINT32  repbak;          UINT32  repbak;
         UINT32  inport;          UINT32  inport;
         UINT32  ovflag;          UINT32  ovflag;
         BYTE    cpu_type;          I286DTR GDTR;
 } I286STAT;          I286DTR IDTR;
           UINT16  MSW;
 typedef struct {  } I286REG;
         UINT16  limit;  
         UINT16  base;  
         BYTE    base24;  
         BYTE    reserved;  
 } I286DTR;  
   
   
 #ifdef __cplusplus  #ifdef __cplusplus
 extern "C" {  extern "C" {
 #endif  #endif
   
 extern  I286REGS        i286r;  extern  I286REG         i286reg;
 extern  I286STAT        i286s;  
 extern  I286DTR         GDTR;  
 extern  I286DTR         IDTR;  
 extern  UINT16          MSW;  
 extern  const BYTE      iflags[];  extern  const BYTE      iflags[];
   
   
 #define         I286_MEM                mem  #define         I286_MEM                mem
   
 #define         I286_REG                i286r  #define         I286_REG                i286reg.r
 #define         I286_SEGREG             i286r.w.es  #define         I286_SEGREG             i286reg.r.w.es
   
 #define         I286_AX                 i286r.w.ax  #define         I286_AX                 i286reg.r.w.ax
 #define         I286_BX                 i286r.w.bx  #define         I286_BX                 i286reg.r.w.bx
 #define         I286_CX                 i286r.w.cx  #define         I286_CX                 i286reg.r.w.cx
 #define         I286_DX                 i286r.w.dx  #define         I286_DX                 i286reg.r.w.dx
 #define         I286_SI                 i286r.w.si  #define         I286_SI                 i286reg.r.w.si
 #define         I286_DI                 i286r.w.di  #define         I286_DI                 i286reg.r.w.di
 #define         I286_BP                 i286r.w.bp  #define         I286_BP                 i286reg.r.w.bp
 #define         I286_SP                 i286r.w.sp  #define         I286_SP                 i286reg.r.w.sp
 #define         I286_CS                 i286r.w.cs  #define         I286_CS                 i286reg.r.w.cs
 #define         I286_DS                 i286r.w.ds  #define         I286_DS                 i286reg.r.w.ds
 #define         I286_ES                 i286r.w.es  #define         I286_ES                 i286reg.r.w.es
 #define         I286_SS                 i286r.w.ss  #define         I286_SS                 i286reg.r.w.ss
 #define         I286_IP                 i286r.w.ip  #define         I286_IP                 i286reg.r.w.ip
   
 #define         SEG_BASE                i286s.es_base  #define         SEG_BASE                i286reg.es_base
 #define         ES_BASE                 i286s.es_base  #define         ES_BASE                 i286reg.es_base
 #define         CS_BASE                 i286s.cs_base  #define         CS_BASE                 i286reg.cs_base
 #define         SS_BASE                 i286s.ss_base  #define         SS_BASE                 i286reg.ss_base
 #define         DS_BASE                 i286s.ds_base  #define         DS_BASE                 i286reg.ds_base
 #define         SS_FIX                  i286s.ss_fix  #define         SS_FIX                  i286reg.ss_fix
 #define         DS_FIX                  i286s.ds_fix  #define         DS_FIX                  i286reg.ds_fix
   
 #define         I286_AL                 i286r.b.al  #define         I286_AL                 i286reg.r.b.al
 #define         I286_BL                 i286r.b.bl  #define         I286_BL                 i286reg.r.b.bl
 #define         I286_CL                 i286r.b.cl  #define         I286_CL                 i286reg.r.b.cl
 #define         I286_DL                 i286r.b.dl  #define         I286_DL                 i286reg.r.b.dl
 #define         I286_AH                 i286r.b.ah  #define         I286_AH                 i286reg.r.b.ah
 #define         I286_BH                 i286r.b.bh  #define         I286_BH                 i286reg.r.b.bh
 #define         I286_CH                 i286r.b.ch  #define         I286_CH                 i286reg.r.b.ch
 #define         I286_DH                 i286r.b.dh  #define         I286_DH                 i286reg.r.b.dh
   
 #define         I286_FLAG               i286r.w.flag  #define         I286_FLAG               i286reg.r.w.flag
 #define         I286_FLAGL              i286r.b.flag_l  #define         I286_FLAGL              i286reg.r.b.flag_l
 #define         I286_FLAGH              i286r.b.flag_h  #define         I286_FLAGH              i286reg.r.b.flag_h
 #define         I286_TRAP               i286s.trap  #define         I286_TRAP               i286reg.trap
 #define         I286_OV                 i286s.ovflag  #define         I286_OV                 i286reg.ovflag
   
 #define         C_FLAG                  0x0001  enum {
 #define         P_FLAG                  0x0004          C_FLAG                  = 0x0001,
 #define         A_FLAG                  0x0010          P_FLAG                  = 0x0004,
 #define         Z_FLAG                  0x0040          A_FLAG                  = 0x0010,
 #define         S_FLAG                  0x0080          Z_FLAG                  = 0x0040,
 #define         T_FLAG                  0x0100          S_FLAG                  = 0x0080,
 #define         I_FLAG                  0x0200          T_FLAG                  = 0x0100,
 #define         D_FLAG                  0x0400          I_FLAG                  = 0x0200,
 #define         O_FLAG                  0x0800          D_FLAG                  = 0x0400,
           O_FLAG                  = 0x0800
   };
   
 #define         CPUTYPE                 i286s.cpu_type  #define         CPUTYPE                 i286reg.cpu_type
 #define         CPUTYPE_V30             0x01  #define         CPUTYPE_V30             0x01
   
 // ver0.28  // ver0.28
 #define         REPPOSBAK               i286s.repbak  #define         REPPOSBAK               i286reg.repbak
 #define         PREFIX_SMP              i286s.pf_semaphore  #define         PREFIX_SMP              i286reg.pf_semaphore
   
 #define         isI286DI                (!(I286_FLAG & I_FLAG))  #define         isI286DI                (!(I286_FLAG & I_FLAG))
 #define         isI286EI                (I286_FLAG & I_FLAG)  #define         isI286EI                (I286_FLAG & I_FLAG)

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


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