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); }
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); }
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); }