|
|
| version 1.9, 2004/03/04 16:58:57 | version 1.13, 2004/03/26 05:51:40 |
|---|---|
| Line 6 | Line 6 |
| #define MEMCALL FASTCALL | #define MEMCALL FASTCALL |
| #endif | #endif |
| #if !defined(MEMCALL) | |
| #define MEMCALL | |
| #endif | |
| #ifndef GCC_ATTR_REGPARM | |
| #define GCC_ATTR_REGPARM | |
| #endif | |
| // 000000-0fffff メインメモリ | // 000000-0fffff メインメモリ |
| // 100000-10ffef HMA | // 100000-10ffef HMA |
| Line 45 extern BYTE mem[0x200000]; | Line 52 extern BYTE mem[0x200000]; |
| void MEMCALL i286_memorymap(UINT type); | void MEMCALL i286_memorymap(UINT type); |
| void MEMCALL i286_vram_dispatch(UINT operate); | void MEMCALL i286_vram_dispatch(UINT operate); |
| void MEMCALL i286_memorywrite(UINT32 address, REG8 value); | void MEMCALL i286_memorywrite(UINT32 address, REG8 value) GCC_ATTR_REGPARM; |
| void MEMCALL i286_memorywrite_w(UINT32 address, REG16 value); | void MEMCALL i286_memorywrite_w(UINT32 address, REG16 value) GCC_ATTR_REGPARM; |
| void MEMCALL i286_memorywrite_d(UINT32 address, UINT32 value); | void MEMCALL i286_memorywrite_d(UINT32 address, UINT32 value) GCC_ATTR_REGPARM; |
| REG8 MEMCALL i286_memoryread(UINT32 address); | REG8 MEMCALL i286_memoryread(UINT32 address) GCC_ATTR_REGPARM; |
| REG16 MEMCALL i286_memoryread_w(UINT32 address); | REG16 MEMCALL i286_memoryread_w(UINT32 address) GCC_ATTR_REGPARM; |
| UINT32 MEMCALL i286_memoryread_d(UINT32 address); | UINT32 MEMCALL i286_memoryread_d(UINT32 address) GCC_ATTR_REGPARM; |
| #ifdef NP2_MEMORY_ASM | #ifdef NP2_MEMORY_ASM |
| REG8 MEMCALL i286_membyte_read(UINT seg, UINT off); | REG8 MEMCALL i286_membyte_read(UINT seg, UINT off) GCC_ATTR_REGPARM; |
| REG16 MEMCALL i286_memword_read(UINT seg, UINT off); | REG16 MEMCALL i286_memword_read(UINT seg, UINT off) GCC_ATTR_REGPARM; |
| void MEMCALL i286_membyte_write(UINT seg, UINT off, REG8 dat); | void MEMCALL i286_membyte_write(UINT seg, UINT off, REG8 dat) GCC_ATTR_REGPARM; |
| void MEMCALL i286_memword_write(UINT seg, UINT off, REG16 dat); | void MEMCALL i286_memword_write(UINT seg, UINT off, REG16 dat) GCC_ATTR_REGPARM; |
| #else | #else |
| #define i286_membyte_read(a, b) \ | #define i286_membyte_read(a, b) \ |
| i286_memoryread(((UINT32)(a) << 4) + (UINT16)(b)) | i286_memoryread(((UINT32)(a) << 4) + (UINT16)(b)) |
| Line 69 void MEMCALL i286_memword_write(UINT seg | Line 76 void MEMCALL i286_memword_write(UINT seg |
| i286_memorywrite_w(((UINT32)(a) << 4) + (UINT16)(b), (c)) | i286_memorywrite_w(((UINT32)(a) << 4) + (UINT16)(b), (c)) |
| #endif | #endif |
| void MEMCALL memp_read(UINT32 address, void *dat, UINT leng); | void MEMCALL memp_read(UINT32 address, void *dat, UINT leng) GCC_ATTR_REGPARM; |
| void MEMCALL memp_write(UINT32 address, const void *dat, UINT leng); | void MEMCALL memp_write(UINT32 address, const void *dat, UINT leng) GCC_ATTR_REGPARM; |
| void MEMCALL i286_memstr_read(UINT seg, UINT off, void *dat, UINT leng); | REG8 MEMCALL meml_read8(UINT seg, UINT off) GCC_ATTR_REGPARM; |
| void MEMCALL i286_memstr_write(UINT seg, UINT off, const void *dat, UINT leng); | REG16 MEMCALL meml_read16(UINT seg, UINT off) GCC_ATTR_REGPARM; |
| void MEMCALL meml_read(UINT32 address, void *dat, UINT leng); | void MEMCALL meml_write8(UINT seg, UINT off, REG8 dat) GCC_ATTR_REGPARM; |
| void MEMCALL meml_write(UINT32 address, const void *dat, UINT leng); | void MEMCALL meml_write16(UINT seg, UINT off, REG16 dat) GCC_ATTR_REGPARM; |
| void MEMCALL meml_readstr(UINT seg, UINT off, void *dat, UINT leng) GCC_ATTR_REGPARM; | |
| void MEMCALL meml_writestr(UINT seg, UINT off, const void *dat, UINT leng) GCC_ATTR_REGPARM; | |
| void MEMCALL meml_read(UINT32 address, void *dat, UINT leng) GCC_ATTR_REGPARM; | |
| void MEMCALL meml_write(UINT32 address, const void *dat, UINT leng) GCC_ATTR_REGPARM; | |
| Line 95 void MEMCALL meml_write(UINT32 address, | Line 106 void MEMCALL meml_write(UINT32 address, |
| // ---- Logical Space (BIOS) | // ---- Logical Space (BIOS) |
| #define MEML_READ8(seg, off) \ | #define MEML_READ8(seg, off) \ |
| i286_memoryread(((UINT32)(seg) << 4) + LOW16(off)) | meml_read8((seg), (off)) |
| #define MEML_READ16(seg, off) \ | #define MEML_READ16(seg, off) \ |
| i286_memoryread_w(((UINT32)(seg) << 4) + LOW16(off)) | meml_read16((seg), (off)) |
| #define MEML_WRITE8(seg, off, dat) \ | #define MEML_WRITE8(seg, off, dat) \ |
| i286_memorywrite(((UINT32)(seg) << 4) + LOW16(off), (dat)) | meml_write8((seg), (off), (dat)) |
| #define MEML_WRITE16(seg, off, dat) \ | #define MEML_WRITE16(seg, off, dat) \ |
| i286_memorywrite_w(((UINT32)(seg) << 4) + LOW16(off), (dat)) | meml_write16((seg), (off), (dat)) |
| #define MEML_READSTR(seg, off, dat, leng) \ | #define MEML_READSTR(seg, off, dat, leng) \ |
| i286_memstr_read((seg), (off), (dat), (leng)) | meml_readstr((seg), (off), (dat), (leng)) |
| #define MEML_WRITESTR(seg, off, dat, leng) \ | #define MEML_WRITESTR(seg, off, dat, leng) \ |
| i286_memstr_write((seg), (off), (dat), (leng)) | meml_writestr((seg), (off), (dat), (leng)) |
| #define MEML_READ(addr, dat, leng) \ | #define MEML_READ(addr, dat, leng) \ |
| meml_read((addr), (dat), (leng)) | meml_read((addr), (dat), (leng)) |
| #define MEML_WRITE(addr, dat, leng) \ | #define MEML_WRITE(addr, dat, leng) \ |