summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/interpro.cpp
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2018-01-18 19:41:45 +0100
committer Olivier Galibert <galibert@pobox.com>2018-01-31 22:03:00 +0100
commit127cd08d4d8a7ebbd5e0cbe8239fa17c8dc9b20e (patch)
treeee4db1c2bfd942142669ab820a39f8417d0a0d9d /src/mame/drivers/interpro.cpp
parent86d25d4d8dae418ef39b132e9f80cc9f781b96e1 (diff)
API change: Memory maps are now "last entry wins" [O. Galibert]
This allows for the much more natural "import another map and patch it" structure, or "cover a whole region then punch holes in it". Our previous first-entry-wins rule was always a surprise to newcomers, and oldcomers too.
Diffstat (limited to 'src/mame/drivers/interpro.cpp')
-rw-r--r--src/mame/drivers/interpro.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/mame/drivers/interpro.cpp b/src/mame/drivers/interpro.cpp
index 5e4a0e3f27d..ac44985b1ea 100644
--- a/src/mame/drivers/interpro.cpp
+++ b/src/mame/drivers/interpro.cpp
@@ -379,48 +379,48 @@ static ADDRESS_MAP_START(interpro_common_map, 0, 32, interpro_state)
ADDRESS_MAP_END
static ADDRESS_MAP_START(turquoise_base_map, 0, 32, turquoise_state)
+ AM_IMPORT_FROM(interpro_common_map)
+
AM_RANGE(0x40000000, 0x4000003f) AM_DEVICE(INTERPRO_MCGA_TAG, interpro_mcga_device, map)
AM_RANGE(0x7f000300, 0x7f000303) AM_WRITE8(sreg_error_w, 0xff)
-
- AM_IMPORT_FROM(interpro_common_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(turquoise_main_map, 0, 32, turquoise_state)
+ AM_IMPORT_FROM(turquoise_base_map)
+
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_SHARE(RAM_TAG)
AM_RANGE(0x7f100000, 0x7f13ffff) AM_ROM AM_REGION(INTERPRO_EPROM_TAG, 0)
-
- AM_IMPORT_FROM(turquoise_base_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(sapphire_base_map, 0, 32, sapphire_state)
+ AM_IMPORT_FROM(interpro_common_map)
+
AM_RANGE(0x40000000, 0x4000004f) AM_DEVICE(INTERPRO_MCGA_TAG, interpro_fmcc_device, map)
AM_RANGE(0x7f001c00, 0x7f001c03) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c94_device, conf3_w, 0xff00)
AM_RANGE(0x7f001f00, 0x7f001f03) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c94_device, fifo_align_w, 0xff00)
-
- AM_IMPORT_FROM(interpro_common_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(sapphire_main_map, 0, 32, sapphire_state)
+ AM_IMPORT_FROM(sapphire_base_map)
+
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_SHARE(RAM_TAG)
AM_RANGE(0x7f100000, 0x7f11ffff) AM_ROM AM_REGION(INTERPRO_EPROM_TAG, 0)
AM_RANGE(0x7f180000, 0x7f1fffff) AM_DEVREADWRITE8(INTERPRO_FLASH_TAG "_lo", intel_28f010_device, read, write, 0x00ff00ff) AM_MASK(0x3ffff)
AM_RANGE(0x7f180000, 0x7f1fffff) AM_DEVREADWRITE8(INTERPRO_FLASH_TAG "_hi", intel_28f010_device, read, write, 0xff00ff00) AM_MASK(0x3ffff)
-
- AM_IMPORT_FROM(sapphire_base_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(turquoise_io_map, 1, 32, interpro_state)
+ AM_IMPORT_FROM(turquoise_base_map)
+
AM_RANGE(0x00000800, 0x000009ff) AM_DEVICE(INTERPRO_MMU_TAG "_d", cammu_c3_device, map)
AM_RANGE(0x00000a00, 0x00000bff) AM_DEVICE(INTERPRO_MMU_TAG "_i", cammu_c3_device, map)
AM_RANGE(0x00000c00, 0x00000dff) AM_DEVICE(INTERPRO_MMU_TAG "_d", cammu_c3_device, map_global)
-
- AM_IMPORT_FROM(turquoise_base_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(sapphire_io_map, 1, 32, interpro_state)
- AM_RANGE(0x00000000, 0x00001fff) AM_DEVICE(INTERPRO_MMU_TAG, cammu_c4_device, map)
-
AM_IMPORT_FROM(sapphire_base_map)
+
+ AM_RANGE(0x00000000, 0x00001fff) AM_DEVICE(INTERPRO_MMU_TAG, cammu_c4_device, map)
ADDRESS_MAP_END
static ADDRESS_MAP_START(interpro_boot_map, 2, 32, interpro_state)