Diff for /np2/i386c/memory.c between versions 1.18 and 1.19

version 1.18, 2004/03/10 07:41:48 version 1.19, 2004/03/10 23:01:08
Line 1095  void MEMCALL memp_write(UINT32 address,  Line 1095  void MEMCALL memp_write(UINT32 address, 
   
 static UINT32 physicaladdr(UINT32 addr) {  static UINT32 physicaladdr(UINT32 addr) {
   
           UINT32  a;
         UINT32  pde;          UINT32  pde;
         UINT32  pte;          UINT32  pte;
   
         if (CPU_STAT_PAGING) {          if (CPU_STAT_PAGING) {
                 pde = i286_memoryread_d(CPU_STAT_PDE_BASE + ((addr >> 20) & 0xffc));                  a = CPU_STAT_PDE_BASE + ((addr >> 20) & 0xffc);
                   pde = i286_memoryread_d(a);
                 if (!(pde & CPU_PDE_PRESENT)) {                  if (!(pde & CPU_PDE_PRESENT)) {
                         goto retdummy;                          goto retdummy;
                 }                  }
                 pte = cpu_memoryread_d((pde & CPU_PDE_BASEADDR_MASK) + ((addr >> 10) & 0xffc));  #if 0
                   if (!(pde & CPU_PDE_ACCESS)) {
                           i286_memorywrite_d(a, pde | CPU_PDE_ACCESS);
                   }
   #endif
                   a = (pde & CPU_PDE_BASEADDR_MASK) + ((addr >> 10) & 0xffc);
                   pte = cpu_memoryread_d(a);
                 if (!(pte & CPU_PTE_PRESENT)) {                  if (!(pte & CPU_PTE_PRESENT)) {
                         goto retdummy;                          goto retdummy;
                 }                  }
   #if 0
                   if (!(pte & CPU_PTE_ACCESS)) {
                           i286_memorywrite_d(a, pte | CPU_PTE_ACCESS);
                   }
   #endif
                 addr = (pte & CPU_PTE_BASEADDR_MASK) + (addr & 0x00000fff);                  addr = (pte & CPU_PTE_BASEADDR_MASK) + (addr & 0x00000fff);
         }          }
         return(addr);          return(addr);

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


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