Diff for /np2/i286c/i286c.c between versions 1.26 and 1.29

version 1.26, 2005/02/08 09:57:26 version 1.29, 2005/05/20 13:59:47
Line 6 Line 6
 #include        "iocore.h"  #include        "iocore.h"
 #include        "dmax86.h"  #include        "dmax86.h"
 #include        "i286c.mcr"  #include        "i286c.mcr"
   #if defined(ENABLE_TRAP)
   #include        "steptrap.h"
   #endif
   
   
         I286CORE        i286core;          I286CORE        i286core;
Line 180  void i286c_shut(void) { Line 183  void i286c_shut(void) {
 void i286c_setextsize(UINT32 size) {  void i286c_setextsize(UINT32 size) {
   
         if (CPU_EXTMEMSIZE != size) {          if (CPU_EXTMEMSIZE != size) {
                 if (CPU_EXTMEM) {                  UINT8 *extmem;
                         _MFREE(CPU_EXTMEM);                  extmem = CPU_EXTMEM;
                         CPU_EXTMEM = NULL;                  if (extmem != NULL) {
                           _MFREE(extmem);
                           extmem = NULL;
                 }                  }
                 if (size) {                  if (size != 0) {
                         CPU_EXTMEM = (UINT8 *)_MALLOC(size + 16, "EXTMEM");                          extmem = (UINT8 *)_MALLOC(size + 16, "EXTMEM");
                         if (CPU_EXTMEM == NULL) {                  }
                                 size = 0;                  if (extmem != NULL) {
                         }                          CPU_EXTMEM = extmem;
                           CPU_EXTMEMSIZE = size;
                           CPU_EXTMEMBASE = CPU_EXTMEM - 0x100000;
                           CPU_EXTLIMIT16 = min(size + 0x100000, 0xf00000);
   #if defined(CPU_EXTLIMIT)
                           CPU_EXTLIMIT = size + 0x100000;
   #endif
                   }
                   else {
                           CPU_EXTMEM = NULL;
                           CPU_EXTMEMSIZE = 0;
                           CPU_EXTMEMBASE = NULL;
                           CPU_EXTLIMIT16 = 0;
   #if defined(CPU_EXTLIMIT)
                           CPU_EXTLIMIT = 0;
   #endif
                 }                  }
                 CPU_EXTMEMSIZE = size;  
         }          }
         i286core.e.ems[0] = mem + 0xc0000;          i286core.e.ems[0] = mem + 0xc0000;
         i286core.e.ems[1] = mem + 0xc4000;          i286core.e.ems[1] = mem + 0xc4000;
Line 220  void CPUCALL i286c_intnum(UINT vect, REG Line 239  void CPUCALL i286c_intnum(UINT vect, REG
   
 const UINT8     *ptr;  const UINT8     *ptr;
   
           if (vect < 0x10) TRACEOUT(("i286c_intnum - %.2x", vect));
         REGPUSH0(REAL_FLAGREG)          REGPUSH0(REAL_FLAGREG)
         REGPUSH0(I286_CS)          REGPUSH0(I286_CS)
         REGPUSH0(IP)          REGPUSH0(IP)
Line 263  void i286c(void) { Line 283  void i286c(void) {
   
         if (I286_TRAP) {          if (I286_TRAP) {
                 do {                  do {
   #if defined(ENABLE_TRAP)
                           steptrap(CPU_CS, CPU_IP);
   #endif
                         GET_PCBYTE(opcode);                          GET_PCBYTE(opcode);
                         i286op[opcode]();                          i286op[opcode]();
                         if (I286_TRAP) {                          if (I286_TRAP) {
Line 273  void i286c(void) { Line 296  void i286c(void) {
         }          }
         else if (dmac.working) {          else if (dmac.working) {
                 do {                  do {
   #if defined(ENABLE_TRAP)
                           steptrap(CPU_CS, CPU_IP);
   #endif
                         GET_PCBYTE(opcode);                          GET_PCBYTE(opcode);
                         i286op[opcode]();                          i286op[opcode]();
                         dmax86();                          dmax86();
Line 280  void i286c(void) { Line 306  void i286c(void) {
         }          }
         else {          else {
                 do {                  do {
   #if defined(ENABLE_TRAP)
                           steptrap(CPU_CS, CPU_IP);
   #endif
                         GET_PCBYTE(opcode);                          GET_PCBYTE(opcode);
                         i286op[opcode]();                          i286op[opcode]();
                 } while(I286_REMCLOCK > 0);                  } while(I286_REMCLOCK > 0);

Removed from v.1.26  
changed lines
  Added in v.1.29


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