Diff for /np2/generic/memdbg32.c between versions 1.2 and 1.3

version 1.2, 2004/03/10 02:42:51 version 1.3, 2004/03/10 23:01:07
Line 49  BOOL memdbg32_paint(CMNVRAM *vram, BOOL  Line 49  BOOL memdbg32_paint(CMNVRAM *vram, BOOL 
   
         UINT    mode;          UINT    mode;
         UINT8   use[16*256];          UINT8   use[16*256];
           UINT32  pd[1024];
           UINT    pdmax;
         UINT    i, j;          UINT    i, j;
         UINT32  pde;          UINT32  pde;
           UINT32  pdea;
         UINT32  pte;          UINT32  pte;
         char    str[4];          char    str[4];
   
Line 73  BOOL memdbg32_paint(CMNVRAM *vram, BOOL  Line 76  BOOL memdbg32_paint(CMNVRAM *vram, BOOL 
                                                                                         memdbg32.pal + MEMDBG32_PALBDR);                                                                                          memdbg32.pal + MEMDBG32_PALBDR);
         ZeroMemory(use, sizeof(use));          ZeroMemory(use, sizeof(use));
         if (CPU_STAT_PAGING) {          if (CPU_STAT_PAGING) {
                   pdmax = 0;
                 for (i=0; i<1024; i++) {                  for (i=0; i<1024; i++) {
                         pde = cpu_memoryread_d(CPU_STAT_PDE_BASE + (i * 4));                          pde = cpu_memoryread_d(CPU_STAT_PDE_BASE + (i * 4));
                         if (pde & CPU_PDE_PRESENT) {                          if (pde & CPU_PDE_PRESENT) {
                                 pde &= CPU_PDE_BASEADDR_MASK;                                  for (j=0; j<pdmax; j++) {
                                 for (j=0; j<1024; j++) {                                          if (!((pde ^ pd[j]) & CPU_PDE_BASEADDR_MASK)) {
                                         pte = cpu_memoryread_d(pde + (j * 4));                                                  break;
                                         if ((pte & CPU_PTE_PRESENT) && (pte < 0x1000000)) {                                          }
                                                 use[pte >> 12] = MEMDBG32_PALPAGE;                                  }
                                   if (j < pdmax) {
                                           pd[j] |= pde & CPU_PDE_ACCESS;
                                   }
                                   else {
                                           pd[pdmax++] = pde;
                                   }
                           }
                   }
                   for (i=0; i<pdmax; i++) {
                           pde = pd[i];
                           pdea = pde & CPU_PDE_BASEADDR_MASK;
                           for (j=0; j<1024; j++) {
                                   pte = cpu_memoryread_d(pdea + (j * 4));
                                   if ((pte & CPU_PTE_PRESENT) && (pte < 0x1000000)) {
                                           if ((pde & CPU_PDE_ACCESS) && (pte & CPU_PTE_ACCESS)) {
                                                   use[pte >> 12] = MEMDBG32_PALPAGE1;
                                           }
                                           else if (!use[pte >> 12]) {
                                                   use[pte >> 12] = MEMDBG32_PALPAGE0;
                                         }                                          }
                                 }                                  }
                         }                          }

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


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