Пример #1
0
void put_mbyte(int32 addr, int32 val)
{
    /* if local EPROM handle it */
    if ((i8255_unit.u5 & 0x01) && (addr >= EPROM_unit.u3) && ((uint16)addr <= (EPROM_unit.u3 + EPROM_unit.capac))) {
        sim_printf("Write to R/O memory address %04X - ignored\n", addr);
        return;
    } /* if local RAM handle it */
    if ((i8255_unit.u5 & 0x02) && (addr >= RAM_unit.u3) && ((uint16)addr <= (RAM_unit.u3 + RAM_unit.capac))) {
        RAM_put_mbyte(addr, val);
        return;
    } /* otherwise, try the multibus */
    multibus_put_mbyte(addr, val);
}
Пример #2
0
void put_mbyte(uint16 addr, uint8 val)
{
    if (addr >= 0xF800) {               //monitor ROM - always there
        sim_printf("Write to R/O memory address %04X from PC=%04X - ignored\n", addr, saved_PC);
        return;
    } 
    if ((addr < 0x1000) && ((ipc_cont_unit.u3 & 0x01) == 0)) { //startup
        sim_printf("Write to R/O memory address %04X from PC=%04X - ignored\n", addr, saved_PC);
        return;
    }
    if ((addr >= 0xE800) && (addr < 0xF000) && ((ipc_cont_unit.u3 & 0x04) == 0)) { //diagnostic ROM
        sim_printf("Write to R/O memory address %04X from PC=%04X - ignored\n", addr, saved_PC);
        return;
    }
    RAM_put_mbyte(addr, val);
}
Пример #3
0
void put_mbyte(uint16 addr, uint8 val)
{
    /* if local EPROM handle it */
    if ((ROM_DISABLE && (i8255_C[0] & 0x20)) || (ROM_DISABLE == 0)) { /* EPROM enabled */
        if ((addr >= EPROM_unit.u3) && ((uint16)addr <= (EPROM_unit.u3 + EPROM_unit.capac))) {
            sim_printf("Write to R/O memory address %04X from PC=%04X - ignored\n", addr, PCX);
        return;
        }
    } /* if local RAM handle it */
    if ((RAM_DISABLE && (i8255_C[0] & 0x10)) || (RAM_DISABLE == 0)) { /* RAM enabled */
        if ((addr >= RAM_unit.u3) && ((uint16)addr <= (RAM_unit.u3 + RAM_unit.capac))) {
            RAM_put_mbyte(addr, val);
        return;
        }
    } /* otherwise, try the multibus */
    multibus_put_mbyte(addr, val);
}