diff options
author | 2021-09-05 19:33:53 -0400 | |
---|---|---|
committer | 2021-09-05 19:34:07 -0400 | |
commit | 422b28c37841f43b38656ee5da4f2318f7f078e8 (patch) | |
tree | cc06f23d755adc830b5c5090c4054a526aadbedf /src | |
parent | a5e466717fe63e7b10ef4928c55c9451793fc6e4 (diff) |
amiga.cpp: Change machine configuration sequence so that the 68K CPU always comes first. This works around an issue with the debugger trying to focus first on a keyboard MCU being held in reset.
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/amiga.cpp | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp index 709f5c93e96..200e47f7baf 100644 --- a/src/mame/drivers/amiga.cpp +++ b/src/mame/drivers/amiga.cpp @@ -1644,6 +1644,11 @@ void amiga_state::amiga_base(machine_config &config) void a1000_state::a1000(machine_config &config) { + // main cpu + M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); + m_maincpu->set_addrmap(AS_PROGRAM, &a1000_state::a1000_mem); + m_maincpu->set_cpu_space(AS_PROGRAM); + amiga_base(config); // keyboard @@ -1655,11 +1660,6 @@ void a1000_state::a1000(machine_config &config) .set_delays(attotime::from_msec(152), attotime::from_usec(176), attotime::from_msec(704)) .kbrst_cb().set(FUNC(a1000_state::kbreset_w)); - // main cpu - M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); - m_maincpu->set_addrmap(AS_PROGRAM, &a1000_state::a1000_mem); - m_maincpu->set_cpu_space(AS_PROGRAM); - 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); @@ -1681,6 +1681,11 @@ void a1000_state::a1000n(machine_config &config) void a2000_state::a2000(machine_config &config) { + // main cpu + M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); + m_maincpu->set_addrmap(AS_PROGRAM, &a2000_state::a2000_mem); + m_maincpu->set_cpu_space(AS_PROGRAM); + amiga_base(config); // keyboard @@ -1692,11 +1697,6 @@ void a2000_state::a2000(machine_config &config) .set_delays(attotime::from_msec(112), attotime::from_msec(74), attotime::from_msec(1294)) .kbrst_cb().set(FUNC(a2000_state::kbreset_w)); - // main cpu - M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); - m_maincpu->set_addrmap(AS_PROGRAM, &a2000_state::a2000_mem); - m_maincpu->set_cpu_space(AS_PROGRAM); - ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_512kb_map).set_options(ENDIANNESS_BIG, 16, 22, 0x200000); // real-time clock @@ -1733,6 +1733,11 @@ void a2000_state::a2000n(machine_config &config) void a500_state::a500(machine_config &config) { + // main cpu + M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); + m_maincpu->set_addrmap(AS_PROGRAM, &a500_state::a500_mem); + m_maincpu->set_cpu_space(AS_PROGRAM); + amiga_base(config); // keyboard @@ -1741,11 +1746,6 @@ void a500_state::a500(machine_config &config) kbd.kdat_handler().set("cia_0", FUNC(mos8520_device::sp_w)); kbd.krst_handler().set(FUNC(amiga_state::kbreset_w)); - // main cpu - M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); - m_maincpu->set_addrmap(AS_PROGRAM, &a500_state::a500_mem); - m_maincpu->set_cpu_space(AS_PROGRAM); - ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_1mb_map).set_options(ENDIANNESS_BIG, 16, 22, 0x200000); // cpu slot @@ -1769,6 +1769,11 @@ void a500_state::a500n(machine_config &config) void cdtv_state::cdtv(machine_config &config) { + // main cpu + M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); + m_maincpu->set_addrmap(AS_PROGRAM, &cdtv_state::cdtv_mem); + m_maincpu->set_cpu_space(AS_PROGRAM); + amiga_base(config); // keyboard @@ -1780,11 +1785,6 @@ void cdtv_state::cdtv(machine_config &config) .set_delays(attotime::from_usec(11238), attotime::from_usec(7432), attotime::from_usec(27539)) .kbrst_cb().set(FUNC(a1000_state::kbreset_w)); - // main cpu - M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); - m_maincpu->set_addrmap(AS_PROGRAM, &cdtv_state::cdtv_mem); - m_maincpu->set_cpu_space(AS_PROGRAM); - // remote control input converter m6502_device &u75(M6502(config, "u75", XTAL(3'000'000))); u75.set_addrmap(AS_PROGRAM, &cdtv_state::cdtv_rc_mem); @@ -1847,6 +1847,11 @@ void cdtv_state::cdtvn(machine_config &config) void a3000_state::a3000(machine_config &config) { + // main cpu + M68030(config, m_maincpu, XTAL(32'000'000) / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &a3000_state::a3000_mem); + m_maincpu->set_cpu_space(AS_PROGRAM); + amiga_base(config); // keyboard @@ -1854,11 +1859,6 @@ void a3000_state::a3000(machine_config &config) kbd.kclk_handler().set("cia_0", FUNC(mos8520_device::cnt_w)); kbd.kdat_handler().set("cia_0", FUNC(mos8520_device::sp_w)); - // main cpu - M68030(config, m_maincpu, XTAL(32'000'000) / 2); - m_maincpu->set_addrmap(AS_PROGRAM, &a3000_state::a3000_mem); - m_maincpu->set_cpu_space(AS_PROGRAM); - ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_1mb_map32).set_options(ENDIANNESS_BIG, 32, 22, 0x200000); // real-time clock @@ -1883,6 +1883,11 @@ void a3000_state::a3000n(machine_config &config) void a500p_state::a500p(machine_config &config) { + // main cpu + M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); + m_maincpu->set_addrmap(AS_PROGRAM, &a500p_state::a500p_mem); + m_maincpu->set_cpu_space(AS_PROGRAM); + amiga_base(config); // keyboard @@ -1891,11 +1896,6 @@ void a500p_state::a500p(machine_config &config) kbd.kdat_handler().set("cia_0", FUNC(mos8520_device::sp_w)); kbd.krst_handler().set(FUNC(amiga_state::kbreset_w)); - // main cpu - M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); - m_maincpu->set_addrmap(AS_PROGRAM, &a500p_state::a500p_mem); - m_maincpu->set_cpu_space(AS_PROGRAM); - ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_1mb_map).set_options(ENDIANNESS_BIG, 16, 22, 0x200000); // real-time clock @@ -1923,6 +1923,11 @@ void a500p_state::a500pn(machine_config &config) void a600_state::a600(machine_config &config) { + // main cpu + M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); + m_maincpu->set_addrmap(AS_PROGRAM, &a600_state::a600_mem); + m_maincpu->set_cpu_space(AS_PROGRAM); + amiga_base(config); // keyboard @@ -1931,11 +1936,6 @@ void a600_state::a600(machine_config &config) kbd.kdat_handler().set("cia_0", FUNC(mos8520_device::sp_w)); kbd.krst_handler().set(FUNC(amiga_state::kbreset_w)); - // main cpu - M68000(config, m_maincpu, amiga_state::CLK_7M_PAL); - m_maincpu->set_addrmap(AS_PROGRAM, &a600_state::a600_mem); - m_maincpu->set_cpu_space(AS_PROGRAM); - ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_2mb_map16).set_options(ENDIANNESS_BIG, 16, 22, 0x200000); gayle_device &gayle(GAYLE(config, "gayle", amiga_state::CLK_28M_PAL / 2)); @@ -1971,6 +1971,13 @@ void a600_state::a600n(machine_config &config) void a1200_state::a1200(machine_config &config) { + // main cpu + M68EC020(config, m_maincpu, amiga_state::CLK_28M_PAL / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &a1200_state::a1200_mem); + m_maincpu->set_cpu_space(AS_PROGRAM); + + ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_2mb_map32).set_options(ENDIANNESS_BIG, 32, 22, 0x200000); + amiga_base(config); // keyboard @@ -1979,13 +1986,6 @@ void a1200_state::a1200(machine_config &config) kbd.kdat_handler().set("cia_0", FUNC(mos8520_device::sp_w)); kbd.krst_handler().set(FUNC(amiga_state::kbreset_w)); - // main cpu - M68EC020(config, m_maincpu, amiga_state::CLK_28M_PAL / 2); - m_maincpu->set_addrmap(AS_PROGRAM, &a1200_state::a1200_mem); - m_maincpu->set_cpu_space(AS_PROGRAM); - - ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_2mb_map32).set_options(ENDIANNESS_BIG, 32, 22, 0x200000); - m_screen->set_screen_update(FUNC(amiga_state::screen_update_amiga_aga)); config.device_remove("palette"); @@ -2032,13 +2032,6 @@ void a1200_state::a1200n(machine_config &config) void a4000_state::a4000(machine_config &config) { - amiga_base(config); - - // keyboard - auto &kbd(AMIGA_KEYBOARD_INTERFACE(config, "kbd", amiga_keyboard_devices, "a2000_us")); - kbd.kclk_handler().set("cia_0", FUNC(mos8520_device::cnt_w)); - kbd.kdat_handler().set("cia_0", FUNC(mos8520_device::sp_w)); - // main cpu M68040(config, m_maincpu, XTAL(50'000'000) / 2); m_maincpu->set_addrmap(AS_PROGRAM, &a4000_state::a4000_mem); @@ -2046,6 +2039,13 @@ void a4000_state::a4000(machine_config &config) ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_2mb_map32).set_options(ENDIANNESS_BIG, 32, 22, 0x200000); + amiga_base(config); + + // keyboard + auto &kbd(AMIGA_KEYBOARD_INTERFACE(config, "kbd", amiga_keyboard_devices, "a2000_us")); + kbd.kclk_handler().set("cia_0", FUNC(mos8520_device::cnt_w)); + kbd.kdat_handler().set("cia_0", FUNC(mos8520_device::sp_w)); + m_screen->set_screen_update(FUNC(amiga_state::screen_update_amiga_aga)); config.device_remove("palette"); @@ -2105,8 +2105,6 @@ void a4000_state::a400030n(machine_config &config) void cd32_state::cd32(machine_config &config) { - amiga_base(config); - // main cpu M68EC020(config, m_maincpu, amiga_state::CLK_28M_PAL / 2); m_maincpu->set_addrmap(AS_PROGRAM, &cd32_state::cd32_mem); @@ -2114,6 +2112,8 @@ void cd32_state::cd32(machine_config &config) ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_2mb_map32).set_options(ENDIANNESS_BIG, 32, 22, 0x200000); + amiga_base(config); + I2C_24C08(config, "i2cmem", 0); // AT24C08N akiko_device &akiko(AKIKO(config, "akiko", 0)); |