void it8703f_device::write_logical_configuration_register(int index, int data) { configuration_registers[logical_device][index] = data; switch (logical_device) { case LogicalDevice::Keyboard: if (index == 0x30) { if (data & 1) { if (enabled_logical[LogicalDevice::Keyboard] == false) map_keyboard_addresses(); enabled_logical[LogicalDevice::Keyboard] = true; logerror("Enabled Keyboard\n"); } else { if (enabled_logical[LogicalDevice::Keyboard] == true) unmap_keyboard_addresses(); enabled_logical[LogicalDevice::Keyboard] = false; } } break; } }
void it8703f_device::map_extra(address_space *memory_space, address_space *io_space) { memspace = memory_space; iospace = io_space; io_space->install_device(0, 0xffff, *this, &it8703f_device::internal_io_map); if (enabled_logical[LogicalDevice::Keyboard] == true) map_keyboard_addresses(); }
void fdc37c93x_device::write_keyboard_configuration_register(int index, int data) { if (index == 0x30) { if (data & 1) { if (enabled_logical[LogicalDevice::Keyboard] == false) map_keyboard_addresses(); enabled_logical[LogicalDevice::Keyboard] = true; logerror("Enabled Keyboard\n"); } else { if (enabled_logical[LogicalDevice::Keyboard] == true) unmap_keyboard_addresses(); enabled_logical[LogicalDevice::Keyboard] = false; } } }
void fdc37c93x_device::remap(int space_id, offs_t start, offs_t end) { if (space_id == AS_IO) { if (sysopt_pin == 0) m_isa->install_device(0x03f0, 0x03f3, read8_delegate(FUNC(fdc37c93x_device::read_fdc37c93x), this), write8_delegate(FUNC(fdc37c93x_device::write_fdc37c93x), this)); else m_isa->install_device(0x0370, 0x0373, read8_delegate(FUNC(fdc37c93x_device::read_fdc37c93x), this), write8_delegate(FUNC(fdc37c93x_device::write_fdc37c93x), this)); if (enabled_logical[LogicalDevice::FDC] == true) map_fdc_addresses(); if (enabled_logical[LogicalDevice::Parallel] == true) map_lpt_addresses(); if (enabled_logical[LogicalDevice::Serial1] == true) map_serial1_addresses(); if (enabled_logical[LogicalDevice::Serial2] == true) map_serial2_addresses(); if (enabled_logical[LogicalDevice::RTC] == true) map_rtc_addresses(); if (enabled_logical[LogicalDevice::Keyboard] == true) map_keyboard_addresses(); } }