summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author yz70s <yz70s@users.noreply.github.com>2018-06-15 19:26:11 +0200
committer yz70s <yz70s@users.noreply.github.com>2018-06-15 20:27:39 +0200
commit72bda53e89bc313a5681ed9a2676332d228180b7 (patch)
tree4208c7d58624051b651bdd87552f76aa7f8b67f1
parentca544ca03e9f2766c27c494ae8c8e148de8b6890 (diff)
fdc37c93x.cpp: put memory mappings in remap routine (nw)
-rw-r--r--src/devices/machine/fdc37c93x.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/devices/machine/fdc37c93x.cpp b/src/devices/machine/fdc37c93x.cpp
index c426f5de080..f6cd3171fa2 100644
--- a/src/devices/machine/fdc37c93x.cpp
+++ b/src/devices/machine/fdc37c93x.cpp
@@ -531,7 +531,21 @@ void fdc37c93x_device::unmap_keyboard_addresses()
void fdc37c93x_device::remap(int space_id, offs_t start, offs_t end)
{
- //printf("remapping needed %d %d %d\n\r", space_id, start, 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::RTC] == true)
+ map_rtc_addresses();
+ if (enabled_logical[LogicalDevice::Keyboard] == true)
+ map_keyboard_addresses();
+ }
}
/* Register access */
@@ -767,10 +781,7 @@ void fdc37c93x_device::device_start()
m_isa->set_dma_channel(1, this, true);
m_isa->set_dma_channel(2, this, true);
m_isa->set_dma_channel(3, this, true);
- 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));
+ remap(AS_IO, 0, 0x400);
m_gp20_reset_callback.resolve_safe();
m_gp25_gatea20_callback.resolve_safe();
m_irq1_callback.resolve_safe();