Ejemplo n.º 1
0
void memmap_mem_store(unsigned int addr, unsigned int value)
{
    if (((addr >= 0x9000) && (addr <= 0x93ff)) || ((addr >= 0x9800) && (addr <= 0x9fff))) {
        monitor_memmap_store(addr, MEMMAP_I_O_W);
    } else if (((addr >= 0x8000) && (addr <= 0x8fff)) || (addr >= 0xc000)) {
        monitor_memmap_store(addr, MEMMAP_ROM_W);
    } else {
        monitor_memmap_store(addr, MEMMAP_RAM_W);
    }
    (*_mem_write_tab_ptr[(addr) >> 8])((WORD)(addr), (BYTE)(value));
}
Ejemplo n.º 2
0
/* mark as read (no side effects) */
void memmap_mark_read(unsigned int addr)
{
    if (((addr >= 0x9000) && (addr <= 0x93ff)) || ((addr >= 0x9800) && (addr <= 0x9fff))) {
        monitor_memmap_store(addr, MEMMAP_I_O_R);
    } else if (((addr >= 0x8000) && (addr <= 0x8fff)) || (addr >= 0xc000)) {
        monitor_memmap_store(addr, (memmap_state & MEMMAP_STATE_OPCODE) ? MEMMAP_ROM_X : (memmap_state & MEMMAP_STATE_INSTR) ? 0 : MEMMAP_ROM_R);
    } else {
        monitor_memmap_store(addr, (memmap_state & MEMMAP_STATE_OPCODE) ? MEMMAP_RAM_X : (memmap_state & MEMMAP_STATE_INSTR) ? 0 : MEMMAP_RAM_R);
    }
    memmap_state &= ~(MEMMAP_STATE_OPCODE);
}
Ejemplo n.º 3
0
BYTE memmap_mem_read(unsigned int addr)
{
    if (((addr >= 0x9000)&&(addr <= 0x93ff)) || ((addr >= 0x9800)&&(addr <= 0x9fff))) {
        monitor_memmap_store(addr, MEMMAP_I_O_R);
    } else if (((addr >= 0x8000)&&(addr <= 0x8fff)) || (addr >= 0xc000)) {
        monitor_memmap_store(addr, (memmap_state&MEMMAP_STATE_OPCODE)?MEMMAP_ROM_X:(memmap_state&MEMMAP_STATE_INSTR)?0:MEMMAP_ROM_R);
    } else {
        monitor_memmap_store(addr, (memmap_state&MEMMAP_STATE_OPCODE)?MEMMAP_RAM_X:(memmap_state&MEMMAP_STATE_INSTR)?0:MEMMAP_RAM_R);
    }
    memmap_state &= ~(MEMMAP_STATE_OPCODE);
    return (*_mem_read_tab_ptr[(addr) >> 8])((WORD)(addr));
}
Ejemplo n.º 4
0
void memmap_mark_read(unsigned int addr)
{
    monitor_memmap_store(addr, (memmap_state & MEMMAP_STATE_OPCODE) ? MEMMAP_RAM_X : (memmap_state & MEMMAP_STATE_INSTR) ? 0 : MEMMAP_RAM_R);
    memmap_state &= ~(MEMMAP_STATE_OPCODE);
}
Ejemplo n.º 5
0
void memmap_mem_store(unsigned int addr, unsigned int value)
{
    monitor_memmap_store(addr, MEMMAP_RAM_W);
    (*_mem_write_tab_ptr[(addr) >> 8])((WORD)(addr), (BYTE)(value));
}