From d296163f7e0b9c9a5441a75646c1d581f761cd08 Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 5 Dec 2021 20:36:46 -0500 Subject: unixpc.cpp: Replace bankdev with memory view --- src/mame/drivers/unixpc.cpp | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/src/mame/drivers/unixpc.cpp b/src/mame/drivers/unixpc.cpp index 4f9f3ebba4b..72e701b1213 100644 --- a/src/mame/drivers/unixpc.cpp +++ b/src/mame/drivers/unixpc.cpp @@ -41,6 +41,8 @@ DRIVER STATE ***************************************************************************/ +namespace { + class unixpc_state : public driver_device { public: @@ -55,7 +57,7 @@ public: m_floppy(*this, "wd2797:0:525dd"), m_hdc(*this, "hdc"), m_hdr0(*this, "hdc:0"), - m_ramrombank(*this, "ramrombank"), + m_ramromview(*this, "ramromview"), m_mapram(*this, "mapram"), m_videoram(*this, "videoram") { } @@ -91,7 +93,6 @@ private: DECLARE_WRITE_LINE_MEMBER(wd1010_intrq_w); - void ramrombank_map(address_map &map); void unixpc_mem(address_map &map); private: @@ -104,7 +105,7 @@ private: required_device m_floppy; required_device m_hdc; required_device m_hdr0; - required_device m_ramrombank; + memory_view m_ramromview; required_shared_ptr m_mapram; required_shared_ptr m_videoram; @@ -129,7 +130,7 @@ void unixpc_state::gcr_w(offs_t offset, uint16_t data) WRITE_LINE_MEMBER(unixpc_state::romlmap_w) { - m_ramrombank->set_bank(state ? 1 : 0); + m_ramromview.select(state ? 1 : 0); } uint16_t unixpc_state::ram_mmu_r(offs_t offset) @@ -322,7 +323,9 @@ uint32_t unixpc_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap void unixpc_state::unixpc_mem(address_map &map) { - map(0x000000, 0x3fffff).m(m_ramrombank, FUNC(address_map_bank_device::amap16)); + map(0x000000, 0x3fffff).view(m_ramromview); + m_ramromview[0](0x000000, 0x3fffff).rom().region("bootrom", 0); + m_ramromview[1](0x000000, 0x3fffff).rw(FUNC(unixpc_state::ram_mmu_r), FUNC(unixpc_state::ram_mmu_w)); map(0x400000, 0x4007ff).ram().share("mapram"); map(0x410000, 0x410001).r(FUNC(unixpc_state::gsr_r)); map(0x420000, 0x427fff).ram().share("videoram"); @@ -344,12 +347,6 @@ void unixpc_state::unixpc_mem(address_map &map) map(0x800000, 0x803fff).mirror(0x7fc000).rom().region("bootrom", 0); } -void unixpc_state::ramrombank_map(address_map &map) -{ - map(0x000000, 0x3fffff).rom().region("bootrom", 0); - map(0x400000, 0x7fffff).rw(FUNC(unixpc_state::ram_mmu_r), FUNC(unixpc_state::ram_mmu_w)); -} - /*************************************************************************** INPUT PORTS ***************************************************************************/ @@ -408,9 +405,6 @@ void unixpc_state::unixpc(machine_config &config) // internal ram RAM(config, RAM_TAG).set_default_size("1M").set_extra_options("2M"); - // RAM/ROM bank - ADDRESS_MAP_BANK(config, "ramrombank").set_map(&unixpc_state::ramrombank_map).set_options(ENDIANNESS_BIG, 16, 32, 0x400000); - // floppy WD2797(config, m_wd2797, 40_MHz_XTAL / 40); // 1PCK (CPU clock) divided by custom DMA chip m_wd2797->intrq_wr_callback().set(FUNC(unixpc_state::wd2797_intrq_w)); @@ -455,6 +449,7 @@ ROM_START( 3b1 ) ROM_LOAD16_BYTE("72-00616.14c", 0x000001, 0x002000, CRC(c61f7ae0) SHA1(ab3ac29935a2a587a083c4d175a5376badd39058)) ROM_END +} // anonymous namespace /*************************************************************************** GAME DRIVERS -- cgit v1.2.3