--- np2/i286x/memory.h 2003/10/16 17:57:31 1.1.1.1 +++ np2/i286x/memory.h 2004/01/25 05:41:29 1.6 @@ -3,13 +3,22 @@ #define MEMCALL #endif +#if defined(MEMORDERTYPE) && (MEMORDERTYPE != 0) +#error : MEMORDERTYPE != 0 +#endif + // 000000-0fffff メインメモリ // 100000-10ffef HMA // 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, @@ -30,7 +39,7 @@ enum { ITF_ADRS = 0x1f8000 }; -#define VRAM_POS(a) (a & (VRAM_STEP | 0x7fff)) +#define VRAMADDRMASKEX(a) ((a) & (VRAM_STEP | 0x7fff)) #ifdef __cplusplus @@ -39,6 +48,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); BYTE MEMCALL i286_memoryread(UINT32 address);