summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/amiga.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/amiga.cpp')
-rw-r--r--src/mame/drivers/amiga.cpp79
1 files changed, 11 insertions, 68 deletions
diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp
index d2ee7a12079..8cbbaaf8e71 100644
--- a/src/mame/drivers/amiga.cpp
+++ b/src/mame/drivers/amiga.cpp
@@ -1457,19 +1457,8 @@ MACHINE_CONFIG_START(a1000_state::a1000)
MCFG_DEVICE_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_DEVICE_PROGRAM_MAP(a1000_mem)
- MCFG_DEVICE_ADD("overlay", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(a1000_overlay_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(16)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(22)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200000)
-
- MCFG_DEVICE_ADD("bootrom", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(a1000_bootrom_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(16)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(19)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x40000)
+ ADDRESS_MAP_BANK(config, "overlay").set_map(&a1000_state::a1000_overlay_map).set_options(ENDIANNESS_BIG, 16, 22, 0x200000);
+ ADDRESS_MAP_BANK(config, "bootrom").set_map(&a1000_state::a1000_bootrom_map).set_options(ENDIANNESS_BIG, 16, 19, 0x40000);
MCFG_SOFTWARE_LIST_ADD("a1000_list", "amiga_a1000")
MACHINE_CONFIG_END
@@ -1496,12 +1485,7 @@ MACHINE_CONFIG_START(a2000_state::a2000)
MCFG_DEVICE_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_DEVICE_PROGRAM_MAP(a2000_mem)
- MCFG_DEVICE_ADD("overlay", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(overlay_512kb_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(16)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(22)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200000)
+ ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_512kb_map).set_options(ENDIANNESS_BIG, 16, 22, 0x200000);
// real-time clock
MCFG_DEVICE_ADD("u65", MSM6242, XTAL(32'768))
@@ -1542,13 +1526,7 @@ MACHINE_CONFIG_START(a500_state::a500)
MCFG_DEVICE_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_DEVICE_PROGRAM_MAP(a500_mem)
- MCFG_DEVICE_ADD("overlay", ADDRESS_MAP_BANK, 0)
- //MCFG_DEVICE_PROGRAM_MAP(overlay_512kb_map)
- MCFG_DEVICE_PROGRAM_MAP(overlay_1mb_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(16)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(22)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200000)
+ ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_1mb_map).set_options(ENDIANNESS_BIG, 16, 22, 0x200000);
// cpu slot
MCFG_EXPANSION_SLOT_ADD("maincpu", a500_expansion_cards, nullptr)
@@ -1589,12 +1567,7 @@ MACHINE_CONFIG_START(cdtv_state::cdtv)
MCFG_DEVICE_PROGRAM_MAP(lcd_mem)
#endif
- MCFG_DEVICE_ADD("overlay", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(overlay_1mb_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(16)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(22)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200000)
+ ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_1mb_map).set_options(ENDIANNESS_BIG, 16, 22, 0x200000);
// standard sram
MCFG_NVRAM_ADD_0FILL("sram")
@@ -1654,12 +1627,7 @@ MACHINE_CONFIG_START(a3000_state::a3000)
MCFG_DEVICE_ADD("maincpu", M68030, XTAL(32'000'000) / 2)
MCFG_DEVICE_PROGRAM_MAP(a3000_mem)
- MCFG_DEVICE_ADD("overlay", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(overlay_1mb_map32)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(32)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(22)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200000)
+ ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_1mb_map32).set_options(ENDIANNESS_BIG, 32, 22, 0x200000);
// real-time clock
MCFG_DEVICE_ADD("rtc", RP5C01, XTAL(32'768))
@@ -1689,12 +1657,7 @@ MACHINE_CONFIG_START(a500p_state::a500p)
MCFG_DEVICE_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_DEVICE_PROGRAM_MAP(a500p_mem)
- MCFG_DEVICE_ADD("overlay", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(overlay_1mb_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(16)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(22)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200000)
+ ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_1mb_map).set_options(ENDIANNESS_BIG, 16, 22, 0x200000);
// real-time clock
MCFG_DEVICE_ADD("u9", MSM6242, XTAL(32'768))
@@ -1728,12 +1691,7 @@ MACHINE_CONFIG_START(a600_state::a600)
MCFG_DEVICE_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_DEVICE_PROGRAM_MAP(a600_mem)
- MCFG_DEVICE_ADD("overlay", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(overlay_2mb_map16)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(16)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(22)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200000)
+ ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_2mb_map16).set_options(ENDIANNESS_BIG, 16, 22, 0x200000);
MCFG_GAYLE_ADD("gayle", amiga_state::CLK_28M_PAL / 2, a600_state::GAYLE_ID)
MCFG_GAYLE_INT2_HANDLER(WRITELINE(*this, a600_state, gayle_int2_w))
@@ -1775,12 +1733,7 @@ MACHINE_CONFIG_START(a1200_state::a1200)
MCFG_DEVICE_ADD("maincpu", M68EC020, amiga_state::CLK_28M_PAL / 2)
MCFG_DEVICE_PROGRAM_MAP(a1200_mem)
- MCFG_DEVICE_ADD("overlay", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(overlay_2mb_map32)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(32)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(22)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200000)
+ ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_2mb_map32).set_options(ENDIANNESS_BIG, 32, 22, 0x200000);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(amiga_state, screen_update_amiga_aga)
@@ -1840,12 +1793,7 @@ MACHINE_CONFIG_START(a4000_state::a4000)
MCFG_DEVICE_ADD("maincpu", M68040, XTAL(50'000'000) / 2)
MCFG_DEVICE_PROGRAM_MAP(a4000_mem)
- MCFG_DEVICE_ADD("overlay", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(overlay_2mb_map32)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(32)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(22)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200000)
+ ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_2mb_map32).set_options(ENDIANNESS_BIG, 32, 22, 0x200000);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(amiga_state, screen_update_amiga_aga)
@@ -1919,12 +1867,7 @@ MACHINE_CONFIG_START(cd32_state::cd32)
MCFG_DEVICE_ADD("maincpu", M68EC020, amiga_state::CLK_28M_PAL / 2)
MCFG_DEVICE_PROGRAM_MAP(cd32_mem)
- MCFG_DEVICE_ADD("overlay", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(overlay_2mb_map32)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(32)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(22)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200000)
+ ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_2mb_map32).set_options(ENDIANNESS_BIG, 32, 22, 0x200000);
MCFG_I2CMEM_ADD("i2cmem")
MCFG_I2CMEM_PAGE_SIZE(16)