Diff for /np2/i286c/i286c_0f.c between versions 1.16 and 1.19

version 1.16, 2003/12/26 02:02:09 version 1.19, 2004/01/08 16:29:56
Line 185  I286_0F _lmsw(UINT op) { Line 185  I286_0F _lmsw(UINT op) {
                 msw = i286_memoryread_w(CALC_EA(op));                  msw = i286_memoryread_w(CALC_EA(op));
         }          }
         I286_MSW = msw | (I286_MSW & MSW_PE);          I286_MSW = msw | (I286_MSW & MSW_PE);
           if (msw & MSW_PE) {
                   TRACEOUT(("80286 ProtectMode Enable... / MSW=%.4x", I286_MSW));
           }
 }  }
   
 static const I286OP_0F cts0_table[] = {  static const I286OP_0F cts0_table[] = {
Line 199  static const I286OP_0F cts1_table[] = { Line 202  static const I286OP_0F cts1_table[] = {
 I286_0F _loadall286(void) {  I286_0F _loadall286(void) {
   
         UINT16  tmp;          UINT16  tmp;
           UINT32  base;
   
         I286_WORKCLOCK(195);          I286_WORKCLOCK(195);
         I286_MSW = LOADINTELWORD(mem + 0x804);          I286_MSW = LOADINTELWORD(mem + 0x804);
           I286_TR = LOADINTELWORD(mem + 0x816);                   // ver0.73
         tmp = LOADINTELWORD(mem + 0x818);          tmp = LOADINTELWORD(mem + 0x818);
         I286_OV = tmp & O_FLAG;          I286_OV = tmp & O_FLAG;
         I286_FLAG = tmp & (0xfff ^ O_FLAG);          I286_FLAG = tmp & (0xfff ^ O_FLAG);
         I286_TRAP = ((tmp & 0x300) == 0x300);          I286_TRAP = ((tmp & 0x300) == 0x300);
         I286_IP = LOADINTELWORD(mem + 0x81a);          I286_IP = LOADINTELWORD(mem + 0x81a);
           I286_LDTR = LOADINTELWORD(mem + 0x81c);                 // ver0.73
         I286_DS = LOADINTELWORD(mem + 0x81e);          I286_DS = LOADINTELWORD(mem + 0x81e);
         I286_SS = LOADINTELWORD(mem + 0x820);          I286_SS = LOADINTELWORD(mem + 0x820);
         I286_CS = LOADINTELWORD(mem + 0x822);          I286_CS = LOADINTELWORD(mem + 0x822);
Line 219  I286_0F _loadall286(void) { Line 225  I286_0F _loadall286(void) {
         I286_DX = LOADINTELWORD(mem + 0x830);          I286_DX = LOADINTELWORD(mem + 0x830);
         I286_CX = LOADINTELWORD(mem + 0x832);          I286_CX = LOADINTELWORD(mem + 0x832);
         I286_AX = LOADINTELWORD(mem + 0x834);          I286_AX = LOADINTELWORD(mem + 0x834);
         ES_BASE = LOADINTELDWORD(mem + 0x836) & 0x00ffffff;          base = LOADINTELDWORD(mem + 0x836) & 0x00ffffff;
         CS_BASE = LOADINTELDWORD(mem + 0x83c) & 0x00ffffff;          ES_BASE = base;
         SS_BASE = LOADINTELDWORD(mem + 0x842) & 0x00ffffff;          base = LOADINTELDWORD(mem + 0x83c) & 0x00ffffff;
         SS_FIX = SS_BASE;          CS_BASE = base;
         DS_BASE = LOADINTELDWORD(mem + 0x848) & 0x00ffffff;          base = LOADINTELDWORD(mem + 0x842) & 0x00ffffff;
         DS_FIX = DS_BASE;          SS_BASE = base;
           SS_FIX = base;
           base = LOADINTELDWORD(mem + 0x848) & 0x00ffffff;
           DS_BASE = base;
           DS_FIX = base;
   
           I286_GDTR.base = LOADINTELWORD(mem + 0x84e);
           *(UINT16 *)(&I286_GDTR.base24) = LOADINTELWORD(mem + 0x850);
           I286_GDTR.limit = LOADINTELWORD(mem + 0x852);
   
           I286_LDTRC.base = LOADINTELWORD(mem + 0x854);
           *(UINT16 *)(&I286_LDTRC.base24) = LOADINTELWORD(mem + 0x856);
           I286_LDTRC.limit = LOADINTELWORD(mem + 0x858);
   
           I286_IDTR.base = LOADINTELWORD(mem + 0x85a);
           *(UINT16 *)(&I286_IDTR.base24) = LOADINTELWORD(mem + 0x85c);
           I286_IDTR.limit = LOADINTELWORD(mem + 0x85e);
   
           I286_TRC.base = LOADINTELWORD(mem + 0x860);
           *(UINT16 *)(&I286_TRC.base24) = LOADINTELWORD(mem + 0x8620);
           I286_TRC.limit = LOADINTELWORD(mem + 0x864);
   
         I286IRQCHECKTERM          I286IRQCHECKTERM
 }  }
   

Removed from v.1.16  
changed lines
  Added in v.1.19


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