Diff for /np2/i286c/i286c.c between versions 1.15 and 1.24

version 1.15, 2003/12/19 23:33:49 version 1.24, 2004/01/25 07:53:08
Line 94  const UINT8 iflags[512] = {     // Z_FLA Line 94  const UINT8 iflags[512] = {     // Z_FLA
   
 void i286c_initialize(void) {  void i286c_initialize(void) {
   
   #if !defined(MEMOPTIMIZE) || (MEMOPTIMIZE < 2)
         UINT    i;          UINT    i;
         UINT    bit;  #endif
         REG8    f;  
   
 #if !defined(MEMOPTIMIZE) || (MEMOPTIMIZE < 2)  #if !defined(MEMOPTIMIZE) || (MEMOPTIMIZE < 2)
         for (i=0; i<0x100; i++) {          for (i=0; i<0x100; i++) {
Line 124  void i286c_initialize(void) { Line 124  void i286c_initialize(void) {
   
 #if !defined(MEMOPTIMIZE)  #if !defined(MEMOPTIMIZE)
         for (i=0; i<0x10000; i++) {          for (i=0; i<0x10000; i++) {
                   REG8 f;
                   UINT bit;
                 f = P_FLAG;                  f = P_FLAG;
                 for (bit=0x80; bit; bit>>=1) {                  for (bit=0x80; bit; bit>>=1) {
                         if (i & bit) {                          if (i & bit) {
Line 143  void i286c_initialize(void) { Line 145  void i286c_initialize(void) {
         i286cea_initialize();          i286cea_initialize();
 #endif  #endif
         v30cinit();          v30cinit();
           ZeroMemory(&i286core, sizeof(i286core));
 }  }
   
 void i286c_reset(void) {  void i286c_deinitialize(void) {
   
           if (CPU_EXTMEM) {
                   _MFREE(CPU_EXTMEM);
                   CPU_EXTMEM = NULL;
                   CPU_EXTMEMSIZE = 0;
           }
   }
   
         ZeroMemory(&I286_STAT, sizeof(I286_STAT));  static void i286c_initreg(void) {
         I286_CS = 0x1fc0;  
         CS_BASE = 0x1fc00;          I286_CS = 0xf000;
           CS_BASE = 0xf0000;
           I286_IP = 0xfff0;
         I286_ADRSMASK = 0xfffff;          I286_ADRSMASK = 0xfffff;
 }  }
   
   void i286c_reset(void) {
   
           ZeroMemory(&i286core.s, sizeof(i286core.s));
           i286c_initreg();
   }
   
   void i286c_shut(void) {
   
           ZeroMemory(&i286core.s, offsetof(I286STAT, cpu_type));
           i286c_initreg();
   }
   
   void i286c_setextsize(UINT32 size) {
   
           if (CPU_EXTMEMSIZE != size) {
                   if (CPU_EXTMEM) {
                           _MFREE(CPU_EXTMEM);
                           CPU_EXTMEM = NULL;
                   }
                   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 i286c_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;
   }
   
   
 void CPUCALL i286c_intnum(UINT vect, REG16 IP) {  void CPUCALL i286c_intnum(UINT vect, REG16 IP) {
   
 const BYTE      *ptr;  const BYTE      *ptr;

Removed from v.1.15  
changed lines
  Added in v.1.24


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