summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/carjmbre.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/carjmbre.cpp')
-rw-r--r--src/mame/drivers/carjmbre.cpp57
1 files changed, 30 insertions, 27 deletions
diff --git a/src/mame/drivers/carjmbre.cpp b/src/mame/drivers/carjmbre.cpp
index 6840af31d14..fd987a94566 100644
--- a/src/mame/drivers/carjmbre.cpp
+++ b/src/mame/drivers/carjmbre.cpp
@@ -241,37 +241,40 @@ WRITE8_MEMBER(carjmbre_state::flipscreen_w)
flip_screen_set(data & 1);
}
-ADDRESS_MAP_START(carjmbre_state::main_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8803, 0x8803) AM_WRITE(nmi_enable_w)
- AM_RANGE(0x8805, 0x8805) AM_WRITE(bgcolor_w)
- AM_RANGE(0x8807, 0x8807) AM_WRITE(flipscreen_w)
- AM_RANGE(0x8000, 0x87ff) AM_RAM // 6116
- AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") // 2114*4
- AM_RANGE(0x9800, 0x98ff) AM_RAM AM_SHARE("spriteram") // 5101*2
- AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN1")
- AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN2")
- AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
-ADDRESS_MAP_END
+void carjmbre_state::main_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8803, 0x8803).w(this, FUNC(carjmbre_state::nmi_enable_w));
+ map(0x8805, 0x8805).w(this, FUNC(carjmbre_state::bgcolor_w));
+ map(0x8807, 0x8807).w(this, FUNC(carjmbre_state::flipscreen_w));
+ map(0x8000, 0x87ff).ram(); // 6116
+ map(0x9000, 0x97ff).ram().w(this, FUNC(carjmbre_state::videoram_w)).share("videoram"); // 2114*4
+ map(0x9800, 0x98ff).ram().share("spriteram"); // 5101*2
+ map(0xa000, 0xa000).portr("IN1");
+ map(0xa800, 0xa800).portr("IN2");
+ map(0xb800, 0xb800).portr("DSW").w("soundlatch", FUNC(generic_latch_8_device::write));
+}
// audiocpu side
-ADDRESS_MAP_START(carjmbre_state::sound_map)
- AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x1000) AM_ROM
- AM_RANGE(0x2000, 0x27ff) AM_RAM // 6116
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(carjmbre_state::sound_io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
- AM_RANGE(0x20, 0x21) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
- AM_RANGE(0x22, 0x22) AM_WRITENOP // bdir/bc2/bc1 1/0/1 inactive write
- AM_RANGE(0x24, 0x24) AM_DEVREAD("ay1", ay8910_device, data_r)
- AM_RANGE(0x30, 0x31) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
- AM_RANGE(0x32, 0x32) AM_WRITENOP // bdir/bc2/bc1 1/0/1 inactive write
- AM_RANGE(0x34, 0x34) AM_DEVREAD("ay2", ay8910_device, data_r)
-ADDRESS_MAP_END
+void carjmbre_state::sound_map(address_map &map)
+{
+ map(0x0000, 0x0fff).mirror(0x1000).rom();
+ map(0x2000, 0x27ff).ram(); // 6116
+}
+
+void carjmbre_state::sound_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).r("soundlatch", FUNC(generic_latch_8_device::read));
+ map(0x20, 0x21).w("ay1", FUNC(ay8910_device::address_data_w));
+ map(0x22, 0x22).nopw(); // bdir/bc2/bc1 1/0/1 inactive write
+ map(0x24, 0x24).r("ay1", FUNC(ay8910_device::data_r));
+ map(0x30, 0x31).w("ay2", FUNC(ay8910_device::address_data_w));
+ map(0x32, 0x32).nopw(); // bdir/bc2/bc1 1/0/1 inactive write
+ map(0x34, 0x34).r("ay2", FUNC(ay8910_device::data_r));
+}