| version 1.1, 2003/10/16 17:57:45 | version 1.13, 2005/03/21 02:24:23 | 
| Line 6 | Line 6 | 
 |  |  | 
 | // 000000-0fffff メインメモリ | // 000000-0fffff メインメモリ | 
 | // 100000-10ffef HMA | // 100000-10ffef HMA | 
 |  | // 10fff0-10ffff HIMEM | 
 | // 110000-193fff FONT-ROM/RAM | // 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 | // 1f8000-1fffff ITF-ROM | 
 |  |  | 
 |  | #define USE_HIMEM               0x110000 | 
 |  |  | 
 | enum { | enum { | 
 | VRAM_STEP       = 0x100000, | VRAM_STEP       = 0x100000, | 
 | VRAM_B          = 0x0a8000, | VRAM_B          = 0x0a8000, | 
| Line 27  enum { | Line 33  enum { | 
 | VRAM1_E         = (VRAM_STEP + VRAM_E), | VRAM1_E         = (VRAM_STEP + VRAM_E), | 
 |  |  | 
 | FONT_ADRS       = 0x110000, | 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 | #ifdef __cplusplus | 
 | extern "C" { | extern "C" { | 
 | #endif | #endif | 
 |  |  | 
| extern  BYTE    mem[0x200000]; | extern  UINT8   mem[0x200000]; | 
 |  |  | 
 |  | void MEMCALL i286_memorymap(UINT type); | 
 |  | void MEMCALL i286_romareamap(UINT16 map); | 
 | void MEMCALL i286_vram_dispatch(UINT operate); | void MEMCALL i286_vram_dispatch(UINT operate); | 
 |  |  | 
| BYTE MEMCALL i286_memoryread(UINT32 address); | REG8 MEMCALL i286_memoryread(UINT32 address); | 
| UINT16 MEMCALL i286_memoryread_w(UINT32 address); | REG16 MEMCALL i286_memoryread_w(UINT32 address); | 
| void MEMCALL i286_memorywrite(UINT32 address, BYTE value); | UINT32 MEMCALL i286_memoryread_d(UINT32 address); | 
| void MEMCALL i286_memorywrite_w(UINT32 address, UINT16 value); | void MEMCALL i286_memorywrite(UINT32 address, REG8 value); | 
|  | void MEMCALL i286_memorywrite_w(UINT32 address, REG16 value); | 
| BYTE MEMCALL i286_membyte_read(UINT seg, UINT off); | void MEMCALL i286_memorywrite_d(UINT32 address, UINT32 value); | 
| UINT16 MEMCALL i286_memword_read(UINT seg, UINT off); |  | 
| void MEMCALL i286_membyte_write(UINT seg, UINT off, BYTE value); | REG8 MEMCALL meml_read8(UINT seg, UINT off); | 
| void MEMCALL i286_memword_write(UINT seg, UINT off, UINT16 value); | REG16 MEMCALL meml_read16(UINT seg, UINT off); | 
|  | void MEMCALL meml_write8(UINT seg, UINT off, REG8 value); | 
| void MEMCALL i286_memstr_read(UINT seg, UINT off, void *dat, UINT leng); | void MEMCALL meml_write16(UINT seg, UINT off, REG16 value); | 
| void MEMCALL i286_memstr_write(UINT seg, UINT off, |  | 
| const void *dat, UINT leng); | void MEMCALL meml_readstr(UINT seg, UINT off, void *dat, UINT leng); | 
|  | void MEMCALL meml_writestr(UINT seg, UINT off, const void *dat, UINT leng); | 
| void MEMCALL i286_memx_read(UINT32 address, void *dat, UINT leng); |  | 
| void MEMCALL i286_memx_write(UINT32 address, const void *dat, UINT leng); | void MEMCALL meml_read(UINT32 address, void *dat, UINT leng); | 
|  | void MEMCALL meml_write(UINT32 address, const void *dat, UINT leng); | 
|  |  | 
|  |  | 
|  | // ---- Physical Space (DMA) | 
|  |  | 
|  | #define MEMP_READ8(addr)                                        \ | 
|  | i286_memoryread((addr)) | 
|  | #define MEMP_WRITE8(addr, dat)                          \ | 
|  | i286_memorywrite((addr), (dat)) | 
|  |  | 
|  |  | 
|  | // ---- Logical Space (BIOS) | 
|  |  | 
|  | #define MEML_READ8(seg, off)                            \ | 
|  | meml_read8((seg), (off)) | 
|  | #define MEML_READ16(seg, off)                           \ | 
|  | meml_read16((seg), (off)) | 
|  | #define MEML_WRITE8(seg, off, dat)                      \ | 
|  | meml_write8((seg), (off), (dat)); | 
|  | #define MEML_WRITE16(seg, off, dat)                     \ | 
|  | meml_write16((seg), (off), (dat)); | 
|  | #define MEML_READSTR(seg, off, dat, leng)       \ | 
|  | meml_readstr((seg), (off), (dat), (leng)) | 
|  | #define MEML_WRITESTR(seg, off, dat, leng)      \ | 
|  | meml_writestr((seg), (off), (dat), (leng)) | 
|  | #define MEML_READ(addr, dat, leng)                      \ | 
|  | meml_read((addr), (dat), (leng)) | 
|  | #define MEML_WRITE(addr, dat, leng)                     \ | 
|  | meml_write((addr), (dat), (leng)) | 
 |  |  | 
 | #ifdef __cplusplus | #ifdef __cplusplus | 
 | } | } |