summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/bfcobra.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/bfcobra.cpp')
-rw-r--r--src/mame/drivers/bfcobra.cpp86
1 files changed, 45 insertions, 41 deletions
diff --git a/src/mame/drivers/bfcobra.cpp b/src/mame/drivers/bfcobra.cpp
index 925b1b2059a..8a6768fea69 100644
--- a/src/mame/drivers/bfcobra.cpp
+++ b/src/mame/drivers/bfcobra.cpp
@@ -1262,31 +1262,34 @@ void bfcobra_state::machine_reset()
***************************************************************************/
-ADDRESS_MAP_START(bfcobra_state::z80_prog_map)
- AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank4")
- AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank1")
- AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank2")
- AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank3")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(bfcobra_state::z80_io_map)
-ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x23) AM_READWRITE(chipset_r, chipset_w)
- AM_RANGE(0x24, 0x25) AM_DEVWRITE("acia6850_0", acia6850_device, write)
- AM_RANGE(0x26, 0x27) AM_DEVREAD("acia6850_0", acia6850_device, read)
- AM_RANGE(0x30, 0x30) AM_READ(fdctrl_r)
- AM_RANGE(0x31, 0x31) AM_READWRITE(fddata_r, fdctrl_w)
- AM_RANGE(0x40, 0x40) AM_WRITE(rombank_w)
- AM_RANGE(0x50, 0x50) AM_DEVWRITE("ramdac", ramdac_device, index_w)
- AM_RANGE(0x51, 0x51) AM_DEVREADWRITE("ramdac", ramdac_device, pal_r, pal_w)
- AM_RANGE(0x52, 0x52) AM_DEVWRITE("ramdac", ramdac_device, mask_w)
- AM_RANGE(0x53, 0x53) AM_DEVWRITE("ramdac", ramdac_device, index_r_w)
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(bfcobra_state::ramdac_map)
- AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac", ramdac_device, ramdac_pal_r, ramdac_rgb666_w)
-ADDRESS_MAP_END
+void bfcobra_state::z80_prog_map(address_map &map)
+{
+ map(0x0000, 0x3fff).bankr("bank4");
+ map(0x4000, 0x7fff).bankrw("bank1");
+ map(0x8000, 0xbfff).bankrw("bank2");
+ map(0xc000, 0xffff).bankrw("bank3");
+}
+
+void bfcobra_state::z80_io_map(address_map &map)
+{
+map.global_mask(0xff);
+ map(0x00, 0x23).rw(this, FUNC(bfcobra_state::chipset_r), FUNC(bfcobra_state::chipset_w));
+ map(0x24, 0x25).w(m_acia6850_0, FUNC(acia6850_device::write));
+ map(0x26, 0x27).r(m_acia6850_0, FUNC(acia6850_device::read));
+ map(0x30, 0x30).r(this, FUNC(bfcobra_state::fdctrl_r));
+ map(0x31, 0x31).rw(this, FUNC(bfcobra_state::fddata_r), FUNC(bfcobra_state::fdctrl_w));
+ map(0x40, 0x40).w(this, FUNC(bfcobra_state::rombank_w));
+ map(0x50, 0x50).w("ramdac", FUNC(ramdac_device::index_w));
+ map(0x51, 0x51).rw("ramdac", FUNC(ramdac_device::pal_r), FUNC(ramdac_device::pal_w));
+ map(0x52, 0x52).w("ramdac", FUNC(ramdac_device::mask_w));
+ map(0x53, 0x53).w("ramdac", FUNC(ramdac_device::index_r_w));
+}
+
+
+void bfcobra_state::ramdac_map(address_map &map)
+{
+ map(0x000, 0x3ff).rw("ramdac", FUNC(ramdac_device::ramdac_pal_r), FUNC(ramdac_device::ramdac_rgb666_w));
+}
/***************************************************************************
@@ -1398,25 +1401,26 @@ WRITE8_MEMBER(bfcobra_state::upd_w)
m_upd7759->start_w(data & 0x40 ? 0 : 1);
}
-ADDRESS_MAP_START(bfcobra_state::m6809_prog_map)
- AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x2000, 0x2000) AM_RAM // W 'B', 6F
- AM_RANGE(0x2200, 0x2200) AM_RAM // W 'F'
- AM_RANGE(0x2600, 0x2600) AM_READWRITE(meter_r, meter_w)
- AM_RANGE(0x2800, 0x2800) AM_RAM // W
- AM_RANGE(0x2A00, 0x2A02) AM_READWRITE(latch_r, latch_w)
- AM_RANGE(0x2E00, 0x2E00) AM_READ(int_latch_r)
- AM_RANGE(0x3001, 0x3001) AM_DEVWRITE("aysnd", ay8910_device, data_w)
- AM_RANGE(0x3201, 0x3201) AM_DEVWRITE("aysnd", ay8910_device, address_w)
- AM_RANGE(0x3404, 0x3405) AM_DEVREADWRITE("acia6850_1", acia6850_device, read, write)
- AM_RANGE(0x3406, 0x3407) AM_DEVREADWRITE("acia6850_2", acia6850_device, read, write)
+void bfcobra_state::m6809_prog_map(address_map &map)
+{
+ map(0x0000, 0x1fff).ram().share("nvram");
+ map(0x2000, 0x2000).ram(); // W 'B', 6F
+ map(0x2200, 0x2200).ram(); // W 'F'
+ map(0x2600, 0x2600).rw(this, FUNC(bfcobra_state::meter_r), FUNC(bfcobra_state::meter_w));
+ map(0x2800, 0x2800).ram(); // W
+ map(0x2A00, 0x2A02).rw(this, FUNC(bfcobra_state::latch_r), FUNC(bfcobra_state::latch_w));
+ map(0x2E00, 0x2E00).r(this, FUNC(bfcobra_state::int_latch_r));
+ map(0x3001, 0x3001).w("aysnd", FUNC(ay8910_device::data_w));
+ map(0x3201, 0x3201).w("aysnd", FUNC(ay8910_device::address_w));
+ map(0x3404, 0x3405).rw(m_acia6850_1, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
+ map(0x3406, 0x3407).rw(m_acia6850_2, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
// AM_RANGE(0x3408, 0x3408) AM_NOP
// AM_RANGE(0x340A, 0x340A) AM_NOP
// AM_RANGE(0x3600, 0x3600) AM_NOP
- AM_RANGE(0x3801, 0x3801) AM_READWRITE(upd_r, upd_w)
- AM_RANGE(0x8000, 0xffff) AM_ROM
- AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* Watchdog */
-ADDRESS_MAP_END
+ map(0x3801, 0x3801).rw(this, FUNC(bfcobra_state::upd_r), FUNC(bfcobra_state::upd_w));
+ map(0x8000, 0xffff).rom();
+ map(0xf000, 0xf000).nopw(); /* Watchdog */
+}
static INPUT_PORTS_START( bfcobra )
PORT_START("STROBE0")