summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio/gottlieb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/audio/gottlieb.cpp')
-rw-r--r--src/mame/audio/gottlieb.cpp70
1 files changed, 37 insertions, 33 deletions
diff --git a/src/mame/audio/gottlieb.cpp b/src/mame/audio/gottlieb.cpp
index 069b08bf1a6..4d4bbba67cb 100644
--- a/src/mame/audio/gottlieb.cpp
+++ b/src/mame/audio/gottlieb.cpp
@@ -77,12 +77,13 @@ WRITE8_MEMBER( gottlieb_sound_r0_device::write )
// audio CPU map
//-------------------------------------------------
-ADDRESS_MAP_START(gottlieb_sound_r0_device::gottlieb_sound_r0_map)
- ADDRESS_MAP_GLOBAL_MASK(0x0fff)
- AM_RANGE(0x0000, 0x003f) AM_RAM AM_MIRROR(0x1c0)
- AM_RANGE(0x0200, 0x020f) AM_DEVREADWRITE("r6530", mos6530_device, read, write)
- AM_RANGE(0x0400, 0x0fff) AM_ROM
-ADDRESS_MAP_END
+void gottlieb_sound_r0_device::gottlieb_sound_r0_map(address_map &map)
+{
+ map.global_mask(0x0fff);
+ map(0x0000, 0x003f).ram().mirror(0x1c0);
+ map(0x0200, 0x020f).rw("r6530", FUNC(mos6530_device::read), FUNC(mos6530_device::write));
+ map(0x0400, 0x0fff).rom();
+}
//-------------------------------------------------
@@ -265,16 +266,17 @@ WRITE_LINE_MEMBER( gottlieb_sound_r1_device::votrax_request )
// audio CPU map
//-------------------------------------------------
-ADDRESS_MAP_START(gottlieb_sound_r1_device::gottlieb_sound_r1_map)
+void gottlieb_sound_r1_device::gottlieb_sound_r1_map(address_map &map)
+{
// A15 not decoded except in expansion socket
- ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0d80) AM_RAM
- AM_RANGE(0x0200, 0x021f) AM_MIRROR(0x0de0) AM_DEVREADWRITE("riot", riot6532_device, read, write)
- AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x0fff) AM_DEVWRITE("dac", dac_byte_interface, write)
- AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0fff) AM_WRITE(votrax_data_w)
- AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_WRITE(speech_clock_dac_w)
- AM_RANGE(0x6000, 0x7fff) AM_ROM
-ADDRESS_MAP_END
+ map.global_mask(0x7fff);
+ map(0x0000, 0x007f).mirror(0x0d80).ram();
+ map(0x0200, 0x021f).mirror(0x0de0).rw("riot", FUNC(riot6532_device::read), FUNC(riot6532_device::write));
+ map(0x1000, 0x1000).mirror(0x0fff).w("dac", FUNC(dac_byte_interface::write));
+ map(0x2000, 0x2000).mirror(0x0fff).w(this, FUNC(gottlieb_sound_r1_device::votrax_data_w));
+ map(0x3000, 0x3000).mirror(0x0fff).w(this, FUNC(gottlieb_sound_r1_device::speech_clock_dac_w));
+ map(0x6000, 0x7fff).rom();
+}
//-------------------------------------------------
@@ -604,30 +606,32 @@ WRITE8_MEMBER( gottlieb_sound_r2_device::sp0250_latch_w )
// sound CPU address map
//-------------------------------------------------
-ADDRESS_MAP_START(gottlieb_sound_r2_device::gottlieb_sound_r2_map)
- AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x3c00) AM_RAM
- AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x3ffe) AM_DEVWRITE("dacvol", dac_byte_interface, write)
- AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x3ffe) AM_DEVWRITE("dac", dac_byte_interface, write)
- AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x3fff) AM_READ(audio_data_r)
- AM_RANGE(0xc000, 0xdfff) AM_MIRROR(0x2000) AM_ROM
-ADDRESS_MAP_END
+void gottlieb_sound_r2_device::gottlieb_sound_r2_map(address_map &map)
+{
+ map(0x0000, 0x03ff).mirror(0x3c00).ram();
+ map(0x4000, 0x4000).mirror(0x3ffe).w("dacvol", FUNC(dac_byte_interface::write));
+ map(0x4001, 0x4001).mirror(0x3ffe).w("dac", FUNC(dac_byte_interface::write));
+ map(0x8000, 0x8000).mirror(0x3fff).r(this, FUNC(gottlieb_sound_r2_device::audio_data_r));
+ map(0xc000, 0xdfff).mirror(0x2000).rom();
+}
//-------------------------------------------------
// sppech CPU address map
//-------------------------------------------------
-ADDRESS_MAP_START(gottlieb_sound_r2_device::gottlieb_speech_r2_map)
- AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM
- AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x1fff) AM_WRITE(sp0250_latch_w)
- AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x1fff) AM_WRITE(speech_control_w)
- AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_READ_PORT("SB2")
- AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1fff) AM_WRITE(psg_latch_w)
- AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x07ff) AM_WRITE(nmi_rate_w)
- AM_RANGE(0xa800, 0xa800) AM_MIRROR(0x07ff) AM_READ(speech_data_r)
- AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x07ff) AM_WRITE(signal_audio_nmi_w)
- AM_RANGE(0xc000, 0xffff) AM_ROM
-ADDRESS_MAP_END
+void gottlieb_sound_r2_device::gottlieb_speech_r2_map(address_map &map)
+{
+ map(0x0000, 0x03ff).mirror(0x1c00).ram();
+ map(0x2000, 0x2000).mirror(0x1fff).w(this, FUNC(gottlieb_sound_r2_device::sp0250_latch_w));
+ map(0x4000, 0x4000).mirror(0x1fff).w(this, FUNC(gottlieb_sound_r2_device::speech_control_w));
+ map(0x6000, 0x6000).mirror(0x1fff).portr("SB2");
+ map(0x8000, 0x8000).mirror(0x1fff).w(this, FUNC(gottlieb_sound_r2_device::psg_latch_w));
+ map(0xa000, 0xa000).mirror(0x07ff).w(this, FUNC(gottlieb_sound_r2_device::nmi_rate_w));
+ map(0xa800, 0xa800).mirror(0x07ff).r(this, FUNC(gottlieb_sound_r2_device::speech_data_r));
+ map(0xb000, 0xb000).mirror(0x07ff).w(this, FUNC(gottlieb_sound_r2_device::signal_audio_nmi_w));
+ map(0xc000, 0xffff).rom();
+}
//-------------------------------------------------