From 02fe685a838446c1433002be520ebc67b65c0b58 Mon Sep 17 00:00:00 2001 From: AJR Date: Sat, 18 Mar 2023 14:43:10 -0400 Subject: mccpm.cpp: Replace bankdev with memory view --- src/mame/skeleton/mccpm.cpp | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/mame/skeleton/mccpm.cpp b/src/mame/skeleton/mccpm.cpp index 3b9cf2caa30..41015139c63 100644 --- a/src/mame/skeleton/mccpm.cpp +++ b/src/mame/skeleton/mccpm.cpp @@ -31,7 +31,6 @@ No software to test with, so we'll never know if the FDC works. #include "machine/z80pio.h" #include "machine/z80sio.h" #include "machine/f4702.h" -#include "machine/bankdev.h" #include "machine/wd_fdc.h" #include "bus/rs232/rs232.h" #include "imagedev/floppy.h" @@ -45,10 +44,10 @@ public: mccpm_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") - , m_bank(*this, "bankdev_map") , m_fdc(*this, "fdc") , m_fdd(*this, "fdc:%u", 0U) , m_brg(*this, "brg%u", 1U) + , m_view(*this, "view") { } void mccpm(machine_config &config); @@ -60,7 +59,6 @@ protected: private: void io_map(address_map &map); void mem_map(address_map &map); - void bankdev_map(address_map &map); void port44_w(u8); u8 port44_r(); void fdc_irq(bool); @@ -70,25 +68,20 @@ private: floppy_image_device *m_floppy = 0; required_device m_maincpu; - required_device m_bank; required_device m_fdc; required_device_array m_fdd; required_device_array m_brg; + memory_view m_view; }; -void mccpm_state::bankdev_map(address_map &map) -{ - // bank 0 - map(0x0000, 0x3fff).rom().region("maincpu", 0); - map(0x4000, 0x7fff).lr8(NAME([this] () { if (!machine().side_effects_disabled()) m_bank->set_bank(1); return 0xff; })); - // bank 1 - map(0x8000, 0xffff).ram(); -} void mccpm_state::mem_map(address_map &map) { - map(0x0000, 0x7fff).m(m_bank, FUNC(address_map_bank_device::amap8)); + map(0x0000, 0x7fff).view(m_view); + m_view[0](0x0000, 0x3fff).rom().region("maincpu", 0); + m_view[0](0x4000, 0x7fff).lr8(NAME([this] () { if (!machine().side_effects_disabled()) m_view.select(1); return 0xff; })); + m_view[1](0x0000, 0x7fff).ram(); map(0x8000, 0xffff).ram(); } @@ -184,7 +177,7 @@ template void mccpm_state::bd_q_w(offs_t offset, u8 data) void mccpm_state::machine_reset() { - m_bank->set_bank(0); + m_view.select(0); m_fdc_status = 0xfb; m_floppy = nullptr; } @@ -206,12 +199,6 @@ void mccpm_state::mccpm(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &mccpm_state::mem_map); m_maincpu->set_addrmap(AS_IO, &mccpm_state::io_map); - ADDRESS_MAP_BANK(config, m_bank, 0); - m_bank->set_addrmap(0, &mccpm_state::bankdev_map); - m_bank->set_data_width(8); - m_bank->set_addr_width(16); - m_bank->set_stride(0x8000); - /* Devices */ // clock supplied by pair of HD4702 baud rate generators F4702(config, m_brg[0], 2.4576_MHz_XTAL); // XTAL connected to Ix/Ox -- cgit v1.2.3