|
|
| version 1.27, 2005/03/05 06:02:29 | version 1.29, 2005/05/20 13:59:47 |
|---|---|
| Line 183 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 223 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) |