Diff for /np2/i286a/i286a.c between versions 1.9 and 1.12

version 1.9, 2004/01/25 05:41:28 version 1.12, 2004/01/25 07:53:08
Line 115  void i286a_shut(void) { Line 115  void i286a_shut(void) {
 void i286a_setextsize(UINT32 size) {  void i286a_setextsize(UINT32 size) {
   
         if (CPU_EXTMEMSIZE != size) {          if (CPU_EXTMEMSIZE != size) {
                 _MFREE(CPU_EXTMEM);                  if (CPU_EXTMEM) {
                           _MFREE(CPU_EXTMEM);
                           CPU_EXTMEM = NULL;
                   }
                 if (size) {                  if (size) {
                         CPU_EXTMEM = (BYTE *)_MALLOC(size + 16, "EXTMEM");                          CPU_EXTMEM = (BYTE *)_MALLOC(size + 16, "EXTMEM");
                         if (CPU_EXTMEM == NULL) {                          if (CPU_EXTMEM == NULL) {
Line 124  void i286a_setextsize(UINT32 size) { Line 127  void i286a_setextsize(UINT32 size) {
                 }                  }
                 CPU_EXTMEMSIZE = size;                  CPU_EXTMEMSIZE = size;
         }          }
           i286acore.e.ems[0] = mem + 0xc0000;
           i286acore.e.ems[1] = mem + 0xc4000;
           i286acore.e.ems[2] = mem + 0xc8000;
           i286acore.e.ems[3] = mem + 0xcc000;
 }  }
   
 void i286a_setemm(UINT frame, UINT32 addr) {  void i286a_setemm(UINT frame, UINT32 addr) {
   
           BYTE    *ptr;
   
           frame &= 3;
           if (addr < USE_HIMEM) {
                   ptr = mem + addr;
           }
           else if ((addr - 0x100000 + 0x4000) <= CPU_EXTMEMSIZE) {
                   ptr = CPU_EXTMEM + (addr - 0x100000);
           }
           else {
                   ptr = mem + 0xc0000 + (frame << 14);
           }
           i286acore.e.ems[frame] = ptr;
 }  }
   
   

Removed from v.1.9  
changed lines
  Added in v.1.12


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