|
|
| version 1.1, 2004/08/01 05:31:32 | version 1.4, 2004/08/20 23:01:16 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "z80core.h" | |
| #include "pccore.h" | #include "pccore.h" |
| REG8 MEMCALL Z80_RDMEM(REG16 addr) { | REG8 MEMCALL mem_read8(UINT addr) { |
| if (addr & 0x8000) { | if (addr & 0x8000) { |
| return(mMAIN[addr]); | return(mainmem[addr]); |
| } | } |
| else { | else { |
| return(RAM0r[addr]); | return(z80core.e.memread[addr]); |
| } | } |
| } | } |
| void MEMCALL Z80_WRMEM(REG16 addr, REG8 value) { | SINT MEMCALL mem_read8s(UINT addr) { |
| if (addr & 0x8000) { | if (addr & 0x8000) { |
| mMAIN[addr] = (UINT8)value; | return((SINT)(SINT8)mainmem[addr]); |
| } | } |
| else { | else { |
| RAM0w[addr] = (UINT8)value; | return((SINT)(SINT8)z80core.e.memread[addr]); |
| } | } |
| } | } |
| REG16 MEMCALL Z80_RDMEM_W(REG16 addr) { | void MEMCALL mem_write8(UINT addr, REG8 value) { |
| if (addr & 0x8000) { | |
| mainmem[addr] = (UINT8)value; | |
| } | |
| else { | |
| z80core.e.memwrite[addr] = (UINT8)value; | |
| } | |
| } | |
| REG16 MEMCALL mem_read16(UINT addr) { | |
| if ((addr & 0x7fff) != 0x7fff) { | if ((addr & 0x7fff) != 0x7fff) { |
| if (addr & 0x8000) { | if (addr & 0x8000) { |
| return(LOADINTELWORD(mMAIN + addr)); | return(LOADINTELWORD(mainmem + addr)); |
| } | } |
| else { | else { |
| return(LOADINTELWORD(RAM0r + addr)); | return(LOADINTELWORD(z80core.e.memread + addr)); |
| } | } |
| } | } |
| else { | else { |
| return(Z80_RDMEM(addr) + (Z80_RDMEM(LOW16(addr + 1)) << 8)); | return(mem_read8(addr) + (mem_read8(LOW16(addr + 1)) << 8)); |
| } | } |
| } | } |
| void MEMCALL Z80_WRMEM_W(REG16 addr, REG16 value) { | void MEMCALL mem_write16(UINT addr, REG16 value) { |
| if ((addr & 0x7fff) != 0x7fff) { | if ((addr & 0x7fff) != 0x7fff) { |
| if (addr & 0x8000) { | if (addr & 0x8000) { |
| STOREINTELWORD(mMAIN + addr, value); | STOREINTELWORD(mainmem + addr, value); |
| } | } |
| else { | else { |
| STOREINTELWORD(RAM0w + addr, value); | STOREINTELWORD(z80core.e.memwrite + addr, value); |
| } | } |
| } | } |
| else { | else { |
| Z80_WRMEM(addr, (REG8)value); | mem_write8(addr, (REG8)value); |
| Z80_WRMEM(LOW16(addr + 1), (REG8)(value >> 8)); | mem_write8(LOW16(addr + 1), (REG8)(value >> 8)); |
| } | } |
| } | } |