Diff for /np2/i386c/ia32/cpu_mem.c between versions 1.6 and 1.7

version 1.6, 2004/01/23 14:33:26 version 1.7, 2004/01/25 07:53:08
Line 31 Line 31
 #include "cpu.h"  #include "cpu.h"
 #include "memory.h"  #include "memory.h"
   
 BYTE *cpumem = 0;  // static BYTE *cpumem = 0;
 DWORD extmem_size = 0;  // static DWORD extmem_size = 0;
 BYTE protectmem_size = 0;  
   #define cpumem          i386core.e.ext
   #define extmem_size     i386core.e.extsize
   
   
 /*  /*
Line 41  BYTE protectmem_size = 0; Line 43  BYTE protectmem_size = 0;
  */   */
   
 int  int
 init_cpumem(BYTE usemem)  init_cpumem(UINT8 usemem)
 {  {
         DWORD size;          UINT32  size;
   
         if (usemem > 13)  
                 usemem = 13;  
         size = usemem << 20;          size = usemem << 20;
           if (size >= (LOWMEM - 0x100000)) {
         if (extmem_size != size - (LOWMEM - 0x100000)) {                  size -= (LOWMEM - 0x100000);
           }
           else {
                   size = 0;
           }
           if (extmem_size != size) {
                 if (cpumem) {                  if (cpumem) {
                         free(cpumem);                          free(cpumem);
                         cpumem = 0;                          cpumem = 0;
                 }                  }
                 if (size <= LOWMEM - 0x100000) {                  if (size) {
                         extmem_size = 0;                          cpumem = (BYTE *)malloc(size);
                         cpumem = 0;  
                 } else {  
                         extmem_size = size - (LOWMEM - 0x100000);  
                         cpumem = (BYTE *)malloc(extmem_size);  
                         if (cpumem == NULL) {                          if (cpumem == NULL) {
                                 protectmem_size = 0;                                  size = 0;
                                 return FAILURE;  
                         }                          }
                         memset(cpumem, 0, extmem_size);  
                 }                  }
                   extmem_size = size;
         }          }
         protectmem_size = usemem;  
         return SUCCESS;          return SUCCESS;
 }  }
   

Removed from v.1.6  
changed lines
  Added in v.1.7


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