Example #1
0
File: ipc.c Project: pkoning2/simh
uint8 get_mbyte(uint16 addr)
{
    if (addr >= 0xF800) {               //monitor ROM - always there
//        sim_printf("get_mbyte: Monitor ROM ipc_cont=%02X\n", ipc_cont_unit.u3);
        return EPROM_get_mbyte(addr - 0xF000);
    }
    if ((addr < 0x1000) && ((ipc_cont_unit.u3 & 0x01) == 0)) { //startup
//        sim_printf("get_mbyte: Startup ROM ipc_cont=%02X\n", ipc_cont_unit.u3);
        return EPROM_get_mbyte(addr);
    }
    if ((addr >= 0xE800) && (addr < 0xF000) && ((ipc_cont_unit.u3 & 0x04) == 0)) { //diagnostic ROM
//        sim_printf("get_mbyte: Diagnostic ROM ipc_cont=%02X\n", ipc_cont_unit.u3);
        return EPROM_get_mbyte(addr - 0xE800);
    }
    return RAM_get_mbyte(addr);
}
Example #2
0
uint8 get_mbyte(uint16 addr)
{
    /* 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))) {
            return EPROM_get_mbyte(addr);
        }
    } /* 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))) {
            return RAM_get_mbyte(addr);
        }
    } /* otherwise, try the multibus */
    return multibus_get_mbyte(addr);
}
Example #3
0
int32 get_mbyte(int32 addr)
{
    /* if local EPROM handle it */
	if (i8255_unit.u5 & 0x01) {
		if ((addr >= EPROM_unit.u3) && ((uint16)addr < (EPROM_unit.u3 + EPROM_unit.capac))) {
			return EPROM_get_mbyte(addr);
		}
    } /* if local RAM handle it */
	if (i8255_unit.u5 & 0x02) {
		if ((addr >= RAM_unit.u3) && ((uint16)addr < (RAM_unit.u3 + RAM_unit.capac))) {
			return RAM_get_mbyte(addr);
		}
    } /* otherwise, try the multibus */
    return multibus_get_mbyte(addr);
}