Diff for /np2/i286a/i286a.c between versions 1.2 and 1.10

version 1.2, 2003/12/22 07:41:15 version 1.10, 2004/01/25 06:01:31
Line 73  const UINT8 iflags[512] = {     // Z_FLA Line 73  const UINT8 iflags[512] = {     // Z_FLA
   
 // ----  // ----
   
 void i286a_reset(void) {  void i286a_initialize(void) {
   
           ZeroMemory(&i286acore, sizeof(i286acore));
   }
   
   void i286a_deinitialize(void) {
   
           if (CPU_EXTMEM) {
                   _MFREE(CPU_EXTMEM);
                   CPU_EXTMEM = NULL;
                   CPU_EXTMEMSIZE = 0;
           }
   }
   
   static void i286a_initreg(void) {
   
         ZeroMemory(&CPU_STATSAVE, sizeof(CPU_STATSAVE));          CPU_CS = 0xf000;
         CPU_CS = 0x1fc0;          CS_BASE = 0xf0000;
         CS_BASE = 0x1fc00;          CPU_IP = 0xfff0;
         CPU_ADRSMASK = 0xfffff;          CPU_ADRSMASK = 0xfffff;
 }  }
   
   void i286a_reset(void) {
   
   #if 0
           if (offsetof(I286CORE, m) != 120) {
                   exit(1);
           }
   #endif
           ZeroMemory(&i286acore.s, sizeof(i286acore.s));
           i286a_initreg();
   }
   
   void i286a_shut(void) {
   
           ZeroMemory(&i286acore.s, offsetof(I286STAT, cpu_type));
           i286a_initreg();
   }
   
   void i286a_setextsize(UINT32 size) {
   
           if (CPU_EXTMEMSIZE != size) {
                   _MFREE(CPU_EXTMEM);
                   if (size) {
                           CPU_EXTMEM = (BYTE *)_MALLOC(size + 16, "EXTMEM");
                           if (CPU_EXTMEM == NULL) {
                                   size = 0;
                           }
                   }
                   CPU_EXTMEMSIZE = size;
           }
           i286core.e.ems[0] = mem + 0xc0000;
           i286core.e.ems[1] = mem + 0xc4000;
           i286core.e.ems[2] = mem + 0xc8000;
           i286core.e.ems[3] = mem + 0xcc000;
   }
   
   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);
           }
           i286core.e.ems[frame] = ptr;
   }
   
   
   #if 0   // ---- test
   void ea_assert(UINT32 x) {
   
           TCHAR   buf[32];
   
           wsprintf(buf, _T("addr = %x [%.2x]"), x, i286_memoryread(x - 2));
           MessageBox(NULL, buf, _T("!"), MB_OK);
           exit(1);
   }
   #endif
   

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


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