--- np2/i286c/memory.c 2003/12/27 11:55:23 1.16 +++ np2/i286c/memory.c 2004/02/18 02:03:36 1.18 @@ -10,8 +10,6 @@ BYTE mem[0x200000]; -#define USE_HIMEM 0x10fff0 - #if defined(TRACE) #define MEMORY_DEBUG #endif @@ -185,7 +183,7 @@ static void MEMCALL egc_wt(UINT32 addres static void MEMCALL emmc_wt(UINT32 address, REG8 value) { - extmem.pageptr[(address >> 14) & 3][LOW14(address)] = (BYTE)value; + i286core.e.ems[(address >> 14) & 3][LOW14(address)] = (BYTE)value; } static void MEMCALL i286_wb(UINT32 address, REG8 value) { @@ -290,7 +288,7 @@ static REG8 MEMCALL egc_rd(UINT32 addres static REG8 MEMCALL emmc_rd(UINT32 address) { - return(extmem.pageptr[(address >> 14) & 3][LOW14(address)]); + return(i286core.e.ems[(address >> 14) & 3][LOW14(address)]); } static REG8 MEMCALL i286_rb(UINT32 address) { @@ -450,19 +448,7 @@ static void MEMCALL grcgw_tdw1(UINT32 ad static void MEMCALL egcw_wt(UINT32 address, REG16 value) { CPU_REMCLOCK -= MEMWAIT_GRCG; - if (!(address & 1)) { - egc_write_w(address, value); - } - else { - if (!(egc.sft & 0x1000)) { - egc_write(address, (REG8)value); - egc_write(address + 1, (REG8)(value >> 8)); - } - else { - egc_write(address + 1, (REG8)(value >> 8)); - egc_write(address, (REG8)value); - } - } + egc_write_w(address, value); } static void MEMCALL emmcw_wt(UINT32 address, REG16 value) { @@ -470,12 +456,12 @@ static void MEMCALL emmcw_wt(UINT32 addr BYTE *ptr; if ((address & 0x3fff) != 0x3fff) { - ptr = extmem.pageptr[(address >> 14) & 3] + LOW14(address); + ptr = i286core.e.ems[(address >> 14) & 3] + LOW14(address); STOREINTELWORD(ptr, value); } else { - extmem.pageptr[(address >> 14) & 3][0x3fff] = (BYTE)value; - extmem.pageptr[((address + 1) >> 14) & 3][0] = (BYTE)(value >> 8); + i286core.e.ems[(address >> 14) & 3][0x3fff] = (BYTE)value; + i286core.e.ems[((address + 1) >> 14) & 3][0] = (BYTE)(value >> 8); } } @@ -591,24 +577,8 @@ static REG16 MEMCALL grcgw_tcr1(UINT32 a static REG16 MEMCALL egcw_rd(UINT32 address) { - REG16 ret; - CPU_REMCLOCK -= MEMWAIT_GRCG; - if (!(address & 1)) { - return(egc_read_w(address)); - } - else { - if (!(egc.sft & 0x1000)) { - ret = egc_read(address); - ret += egc_read(address + 1) << 8; - return(ret); - } - else { - ret = egc_read(address + 1) << 8; - ret += egc_read(address); - return(ret); - } - } + return(egc_read_w(address)); } static REG16 MEMCALL emmcw_rd(UINT32 address) { @@ -617,12 +587,12 @@ const BYTE *ptr; REG16 ret; if ((address & 0x3fff) != 0x3fff) { - ptr = extmem.pageptr[(address >> 14) & 3] + LOW14(address); + ptr = i286core.e.ems[(address >> 14) & 3] + LOW14(address); return(LOADINTELWORD(ptr)); } else { - ret = extmem.pageptr[(address >> 14) & 3][0x3fff]; - ret += extmem.pageptr[((address + 1) >> 14) & 3][0] << 8; + ret = i286core.e.ems[(address >> 14) & 3][0x3fff]; + ret += i286core.e.ems[((address + 1) >> 14) & 3][0] << 8; return(ret); } }