summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio/harddriv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/audio/harddriv.cpp')
-rw-r--r--src/mame/audio/harddriv.cpp59
1 files changed, 31 insertions, 28 deletions
diff --git a/src/mame/audio/harddriv.cpp b/src/mame/audio/harddriv.cpp
index 93942157988..e4a6d9e8b3a 100644
--- a/src/mame/audio/harddriv.cpp
+++ b/src/mame/audio/harddriv.cpp
@@ -391,38 +391,41 @@ READ16_MEMBER(harddriv_sound_board_device::hdsnddsp_compare_r)
return 0;
}
-ADDRESS_MAP_START(harddriv_sound_board_device::driversnd_68k_map)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x000000, 0x01ffff) AM_ROM
- AM_RANGE(0xff0000, 0xff0fff) AM_READWRITE(hdsnd68k_data_r, hdsnd68k_data_w)
- AM_RANGE(0xff1000, 0xff1fff) AM_READWRITE(hdsnd68k_switches_r, hdsnd68k_latches_w)
- AM_RANGE(0xff2000, 0xff2fff) AM_READWRITE(hdsnd68k_320port_r, hdsnd68k_speech_w)
- AM_RANGE(0xff3000, 0xff3fff) AM_READWRITE(hdsnd68k_status_r, hdsnd68k_irqclr_w)
- AM_RANGE(0xff4000, 0xff5fff) AM_READWRITE(hdsnd68k_320ram_r, hdsnd68k_320ram_w)
- AM_RANGE(0xff6000, 0xff7fff) AM_READWRITE(hdsnd68k_320ports_r, hdsnd68k_320ports_w)
- AM_RANGE(0xff8000, 0xffbfff) AM_READWRITE(hdsnd68k_320com_r, hdsnd68k_320com_w)
- AM_RANGE(0xffc000, 0xffffff) AM_RAM
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(harddriv_sound_board_device::driversnd_dsp_program_map)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x000, 0xfff) AM_RAM AM_SHARE("sounddsp_ram")
-ADDRESS_MAP_END
+void harddriv_sound_board_device::driversnd_68k_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x000000, 0x01ffff).rom();
+ map(0xff0000, 0xff0fff).rw(this, FUNC(harddriv_sound_board_device::hdsnd68k_data_r), FUNC(harddriv_sound_board_device::hdsnd68k_data_w));
+ map(0xff1000, 0xff1fff).rw(this, FUNC(harddriv_sound_board_device::hdsnd68k_switches_r), FUNC(harddriv_sound_board_device::hdsnd68k_latches_w));
+ map(0xff2000, 0xff2fff).rw(this, FUNC(harddriv_sound_board_device::hdsnd68k_320port_r), FUNC(harddriv_sound_board_device::hdsnd68k_speech_w));
+ map(0xff3000, 0xff3fff).rw(this, FUNC(harddriv_sound_board_device::hdsnd68k_status_r), FUNC(harddriv_sound_board_device::hdsnd68k_irqclr_w));
+ map(0xff4000, 0xff5fff).rw(this, FUNC(harddriv_sound_board_device::hdsnd68k_320ram_r), FUNC(harddriv_sound_board_device::hdsnd68k_320ram_w));
+ map(0xff6000, 0xff7fff).rw(this, FUNC(harddriv_sound_board_device::hdsnd68k_320ports_r), FUNC(harddriv_sound_board_device::hdsnd68k_320ports_w));
+ map(0xff8000, 0xffbfff).rw(this, FUNC(harddriv_sound_board_device::hdsnd68k_320com_r), FUNC(harddriv_sound_board_device::hdsnd68k_320com_w));
+ map(0xffc000, 0xffffff).ram();
+}
+
+
+void harddriv_sound_board_device::driversnd_dsp_program_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x000, 0xfff).ram().share("sounddsp_ram");
+}
/* $000 - 08F TMS32010 Internal Data RAM in Data Address Space */
-ADDRESS_MAP_START(harddriv_sound_board_device::driversnd_dsp_io_map)
- AM_RANGE(0, 0) AM_READ(hdsnddsp_rom_r) AM_WRITE(hdsnddsp_dac_w)
- AM_RANGE(1, 1) AM_READ(hdsnddsp_comram_r)
- AM_RANGE(2, 2) AM_READ(hdsnddsp_compare_r)
- AM_RANGE(1, 2) AM_WRITENOP
- AM_RANGE(3, 3) AM_WRITE(hdsnddsp_comport_w)
- AM_RANGE(4, 4) AM_WRITE(hdsnddsp_mute_w)
- AM_RANGE(5, 5) AM_WRITE(hdsnddsp_gen68kirq_w)
- AM_RANGE(6, 7) AM_WRITE(hdsnddsp_soundaddr_w)
-ADDRESS_MAP_END
+void harddriv_sound_board_device::driversnd_dsp_io_map(address_map &map)
+{
+ map(0, 0).r(this, FUNC(harddriv_sound_board_device::hdsnddsp_rom_r)).w(this, FUNC(harddriv_sound_board_device::hdsnddsp_dac_w));
+ map(1, 1).r(this, FUNC(harddriv_sound_board_device::hdsnddsp_comram_r));
+ map(2, 2).r(this, FUNC(harddriv_sound_board_device::hdsnddsp_compare_r));
+ map(1, 2).nopw();
+ map(3, 3).w(this, FUNC(harddriv_sound_board_device::hdsnddsp_comport_w));
+ map(4, 4).w(this, FUNC(harddriv_sound_board_device::hdsnddsp_mute_w));
+ map(5, 5).w(this, FUNC(harddriv_sound_board_device::hdsnddsp_gen68kirq_w));
+ map(6, 7).w(this, FUNC(harddriv_sound_board_device::hdsnddsp_soundaddr_w));
+}
//-------------------------------------------------