diff options
Diffstat (limited to 'src/mame/drivers/amiga.cpp')
-rw-r--r-- | src/mame/drivers/amiga.cpp | 79 |
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) |