Diff for /np2/i386c/ia32/interface.c between versions 1.17 and 1.21

version 1.17, 2004/03/08 12:56:22 version 1.21, 2004/05/23 15:01:45
Line 95  ia32shut(void) Line 95  ia32shut(void)
 }  }
   
 void  void
   ia32a20enable(BOOL enable)
   {
   #if (CPU_FAMILY == 3)
           CPU_ADRSMASK = (enable)?0x00ffffff:0x00ffffff;
   #else
           CPU_ADRSMASK = (enable)?0xffffffff:0x00ffffff;
   #endif
   }
   
   void
 ia32(void)  ia32(void)
 {  {
         int rv;          int rv;
Line 185  ia32_step(void) Line 195  ia32_step(void)
 }  }
   
 void CPUCALL  void CPUCALL
 ia32_interrupt(int vect)  ia32_interrupt(int vect, int soft)
 {  {
   
         INTERRUPT(vect, FALSE, FALSE, 0);  //      TRACEOUT(("int (%x, %x) PE=%d VM=%d",  vect, soft, CPU_STAT_PM, CPU_STAT_VM86));
           if (!soft) {
                   INTERRUPT(vect, FALSE, FALSE, 0);
           }
           else {
                   if (CPU_STAT_VM86 && (CPU_STAT_IOPL < CPU_IOPL3) && (soft == -1)) {
                           TRACEOUT(("BIOS interrupt: VM86 && IOPL < 3 && INTn"));
                   }
                   INTERRUPT(vect, TRUE, FALSE, 0);
           }
 }  }
   
   
Line 256  ia32_bioscall(void) Line 275  ia32_bioscall(void)
         UINT32 adrs;          UINT32 adrs;
   
         if (!CPU_STAT_PM || CPU_STAT_VM86) {          if (!CPU_STAT_PM || CPU_STAT_VM86) {
   #if 1
                   adrs = (CPU_EIP - 1) + ((CPU_REGS_SREG(CPU_CS_INDEX)) << 4);
   #else
                 adrs = (CPU_EIP - 1) + CPU_STAT_CS_BASE;                  adrs = (CPU_EIP - 1) + CPU_STAT_CS_BASE;
   #endif
                 if ((adrs >= 0xf8000) && (adrs < 0x100000)) {                  if ((adrs >= 0xf8000) && (adrs < 0x100000)) {
                         biosfunc(adrs);                          if (biosfunc(adrs)) {
                                   CPU_PREFETCH_CLEAR();
                           }
                         if (!CPU_STAT_PM || CPU_STAT_VM86) {                          if (!CPU_STAT_PM || CPU_STAT_VM86) {
                                 CPU_SET_SEGREG(CPU_ES_INDEX, CPU_ES);                                  CPU_SET_SEGREG(CPU_ES_INDEX, CPU_ES);
                                 CPU_SET_SEGREG(CPU_CS_INDEX, CPU_CS);                                  CPU_SET_SEGREG(CPU_CS_INDEX, CPU_CS);

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


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