--- np2/i286c/memory.h 2003/11/29 00:36:00 1.3 +++ np2/i286c/memory.h 2004/01/25 05:41:28 1.9 @@ -6,10 +6,16 @@ // 000000-0fffff メインメモリ // 100000-10ffef HMA +// 10fff0-10ffff HIMEM // 110000-193fff FONT-ROM/RAM -// 1a8000-1e7fff VRAM1 +// 1a8000-1bffff VRAM1 +// 1c0000-1c7fff ITF-ROM BAK +// 1c8000-1dffff EPSON RAM +// 1e0000-1e7fff VRAM1 // 1f8000-1fffff ITF-ROM +#define USE_HIMEM 0x110000 + enum { VRAM_STEP = 0x100000, VRAM_B = 0x0a8000, @@ -27,10 +33,10 @@ enum { VRAM1_E = (VRAM_STEP + VRAM_E), FONT_ADRS = 0x110000, - ITF_ADRS = 0x1f8000 + ITF_ADRS = (VRAM_STEP + 0xf8000) }; -#define VRAM_POS(a) ((a) & (VRAM_STEP | 0x7fff)) +#define VRAMADDRMASKEX(a) ((a) & (VRAM_STEP | 0x7fff)) #ifdef __cplusplus @@ -39,6 +45,8 @@ extern "C" { extern BYTE mem[0x200000]; +void MEMCALL i286_memorymap(UINT type); +void MEMCALL i286_romareamap(UINT16 map); void MEMCALL i286_vram_dispatch(UINT operate); REG8 MEMCALL i286_memoryread(UINT32 address);