summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pengadvb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pengadvb.cpp')
-rw-r--r--src/mame/drivers/pengadvb.cpp47
1 files changed, 25 insertions, 22 deletions
diff --git a/src/mame/drivers/pengadvb.cpp b/src/mame/drivers/pengadvb.cpp
index ddfd39bc020..34e01c4a6be 100644
--- a/src/mame/drivers/pengadvb.cpp
+++ b/src/mame/drivers/pengadvb.cpp
@@ -101,34 +101,37 @@ WRITE8_MEMBER(pengadvb_state::megarom_bank_w)
m_bank[offset >> 13 & 3]->set_entry(data & 0xf);
}
-ADDRESS_MAP_START(pengadvb_state::program_mem)
- AM_RANGE(0x0000, 0xffff) AM_READWRITE(mem_r, mem_w) // 4 pages of 16KB
-ADDRESS_MAP_END
+void pengadvb_state::program_mem(address_map &map)
+{
+ map(0x0000, 0xffff).rw(this, FUNC(pengadvb_state::mem_r), FUNC(pengadvb_state::mem_w)); // 4 pages of 16KB
+}
-ADDRESS_MAP_START(pengadvb_state::bank_mem)
+void pengadvb_state::bank_mem(address_map &map)
+{
// slot 0, MSX BIOS
- AM_RANGE(0x00000, 0x07fff) AM_ROM AM_REGION("maincpu", 0)
+ map(0x00000, 0x07fff).rom().region("maincpu", 0);
// slot 1, MegaROM
- AM_RANGE(0x14000, 0x15fff) AM_ROMBANK("bank0")
- AM_RANGE(0x16000, 0x17fff) AM_ROMBANK("bank1")
- AM_RANGE(0x18000, 0x19fff) AM_ROMBANK("bank2")
- AM_RANGE(0x1a000, 0x1bfff) AM_ROMBANK("bank3")
- AM_RANGE(0x14000, 0x1bfff) AM_WRITE(megarom_bank_w)
+ map(0x14000, 0x15fff).bankr("bank0");
+ map(0x16000, 0x17fff).bankr("bank1");
+ map(0x18000, 0x19fff).bankr("bank2");
+ map(0x1a000, 0x1bfff).bankr("bank3");
+ map(0x14000, 0x1bfff).w(this, FUNC(pengadvb_state::megarom_bank_w));
// slot 3, 16KB RAM
- AM_RANGE(0x3c000, 0x3ffff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(pengadvb_state::io_mem)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x98, 0x98) AM_DEVREADWRITE("tms9128", tms9128_device, vram_read, vram_write)
- AM_RANGE(0x99, 0x99) AM_DEVREADWRITE("tms9128", tms9128_device, register_read, register_write)
- AM_RANGE(0xa0, 0xa1) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
- AM_RANGE(0xa2, 0xa2) AM_DEVREAD("aysnd", ay8910_device, data_r)
- AM_RANGE(0xa8, 0xab) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
-ADDRESS_MAP_END
+ map(0x3c000, 0x3ffff).ram();
+}
+
+void pengadvb_state::io_mem(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
+ map(0x98, 0x98).rw("tms9128", FUNC(tms9128_device::vram_read), FUNC(tms9128_device::vram_write));
+ map(0x99, 0x99).rw("tms9128", FUNC(tms9128_device::register_read), FUNC(tms9128_device::register_write));
+ map(0xa0, 0xa1).w("aysnd", FUNC(ay8910_device::address_data_w));
+ map(0xa2, 0xa2).r("aysnd", FUNC(ay8910_device::data_r));
+ map(0xa8, 0xab).rw("ppi8255", FUNC(i8255_device::read), FUNC(i8255_device::write));
+}
/***************************************************************************