From d7f5f63ce82d2e2d4e1b0de7842aeb12700becd2 Mon Sep 17 00:00:00 2001 From: Olivier Galibert Date: Fri, 20 Apr 2018 11:26:34 +0200 Subject: maps: Finish mame/audio and the lone dummy (nw) --- src/emu/machine.cpp | 7 +- src/mame/audio/dcs.cpp | 244 ++++++++++++++++++++++++--------------------- src/mame/audio/flower.cpp | 17 ++-- src/mame/audio/irem.cpp | 44 ++++---- src/mame/audio/midway.cpp | 17 ++-- src/mame/audio/segasnd.cpp | 7 +- 6 files changed, 180 insertions(+), 156 deletions(-) diff --git a/src/emu/machine.cpp b/src/emu/machine.cpp index 47a860b9adb..f32d6c91d2d 100644 --- a/src/emu/machine.cpp +++ b/src/emu/machine.cpp @@ -1318,9 +1318,10 @@ WRITE8_MEMBER(dummy_space_device::write) throw emu_fatalerror("Attempted to write to generic address space (offs %X = %02X)\n", offset, data); } -ADDRESS_MAP_START(dummy_space_device::dummy) - AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(read, write) -ADDRESS_MAP_END +void dummy_space_device::dummy(address_map &map) +{ + map(0x00000000, 0xffffffff).rw(this, FUNC(dummy_space_device::read), FUNC(dummy_space_device::write)); +} DEFINE_DEVICE_TYPE(DUMMY_SPACE, dummy_space_device, "dummy_space", "Dummy Space") diff --git a/src/mame/audio/dcs.cpp b/src/mame/audio/dcs.cpp index a15a3533b17..53fe54a4d2b 100644 --- a/src/mame/audio/dcs.cpp +++ b/src/mame/audio/dcs.cpp @@ -287,40 +287,44 @@ void dcs_audio_device::dcs_2k_data_map(address_map &map) /* DCS 2k with UART memory map */ -ADDRESS_MAP_START(dcs_audio_device::dcs_2k_uart_data_map) - AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_READWRITE(dcs_dataram_r, dcs_dataram_w) - AM_RANGE(0x2000, 0x2fff) AM_ROMBANK("databank") - AM_RANGE(0x3000, 0x33ff) AM_WRITE(dcs_data_bank_select_w) - AM_RANGE(0x3400, 0x3402) AM_NOP /* UART (ignored) */ - AM_RANGE(0x3403, 0x3403) AM_READWRITE(input_latch_r, output_latch_w) - AM_RANGE(0x3404, 0x3405) AM_NOP /* UART (ignored) */ - AM_RANGE(0x3800, 0x39ff) AM_RAM AM_SHARE("iram") - AM_RANGE(0x3fe0, 0x3fff) AM_READWRITE(adsp_control_r, adsp_control_w) -ADDRESS_MAP_END +void dcs_audio_device::dcs_2k_uart_data_map(address_map &map) +{ + map(0x0000, 0x07ff).mirror(0x1800).rw(this, FUNC(dcs_audio_device::dcs_dataram_r), FUNC(dcs_audio_device::dcs_dataram_w)); + map(0x2000, 0x2fff).bankr("databank"); + map(0x3000, 0x33ff).w(this, FUNC(dcs_audio_device::dcs_data_bank_select_w)); + map(0x3400, 0x3402).noprw(); /* UART (ignored) */ + map(0x3403, 0x3403).rw(this, FUNC(dcs_audio_device::input_latch_r), FUNC(dcs_audio_device::output_latch_w)); + map(0x3404, 0x3405).noprw(); /* UART (ignored) */ + map(0x3800, 0x39ff).ram().share("iram"); + map(0x3fe0, 0x3fff).rw(this, FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w)); +} /* DCS 8k memory map */ -ADDRESS_MAP_START(dcs_audio_device::dcs_8k_program_map) - AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("dcsint") - AM_RANGE(0x0800, 0x1fff) AM_RAM AM_SHARE("dcsext") - AM_RANGE(0x3000, 0x3003) AM_READWRITE(input_latch32_r, output_latch32_w) // why? -ADDRESS_MAP_END - -ADDRESS_MAP_START(dcs_audio_device::dcs_8k_data_map) - AM_RANGE(0x0000, 0x07ff) AM_RAM - AM_RANGE(0x0800, 0x1fff) AM_READWRITE(dcs_dataram_r, dcs_dataram_w) - AM_RANGE(0x2000, 0x2fff) AM_ROMBANK("databank") - AM_RANGE(0x3000, 0x3000) AM_WRITE(dcs_data_bank_select_w) - AM_RANGE(0x3400, 0x3403) AM_READWRITE(input_latch_r, output_latch_w) // mk3 etc. need this - AM_RANGE(0x3800, 0x39ff) AM_RAM AM_SHARE("iram") - AM_RANGE(0x3fe0, 0x3fff) AM_READWRITE(adsp_control_r, adsp_control_w) -ADDRESS_MAP_END +void dcs_audio_device::dcs_8k_program_map(address_map &map) +{ + map(0x0000, 0x03ff).ram().share("dcsint"); + map(0x0800, 0x1fff).ram().share("dcsext"); + map(0x3000, 0x3003).rw(this, FUNC(dcs_audio_device::input_latch32_r), FUNC(dcs_audio_device::output_latch32_w)); // why? +} + +void dcs_audio_device::dcs_8k_data_map(address_map &map) +{ + map(0x0000, 0x07ff).ram(); + map(0x0800, 0x1fff).rw(this, FUNC(dcs_audio_device::dcs_dataram_r), FUNC(dcs_audio_device::dcs_dataram_w)); + map(0x2000, 0x2fff).bankr("databank"); + map(0x3000, 0x3000).w(this, FUNC(dcs_audio_device::dcs_data_bank_select_w)); + map(0x3400, 0x3403).rw(this, FUNC(dcs_audio_device::input_latch_r), FUNC(dcs_audio_device::output_latch_w)); // mk3 etc. need this + map(0x3800, 0x39ff).ram().share("iram"); + map(0x3fe0, 0x3fff).rw(this, FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w)); +} /* Williams WPC DCS/Security Pinball */ -ADDRESS_MAP_START(dcs_audio_device::dcs_wpc_program_map) - AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("dcsint") - AM_RANGE(0x1000, 0x3fff) AM_RAM AM_SHARE("dcsext") -ADDRESS_MAP_END +void dcs_audio_device::dcs_wpc_program_map(address_map &map) +{ + map(0x0000, 0x03ff).ram().share("dcsint"); + map(0x1000, 0x3fff).ram().share("dcsext"); +} void dcs_audio_wpc_device::dcs_wpc_data_map(address_map &map) { @@ -339,40 +343,44 @@ void dcs_audio_wpc_device::dcs_wpc_data_map(address_map &map) * *************************************/ -ADDRESS_MAP_START(dcs_audio_device::dcs2_2115_program_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("dcsint") -ADDRESS_MAP_END - -ADDRESS_MAP_START(dcs_audio_device::dcs2_2104_program_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x01ff) AM_RAM AM_SHARE("dcsint") -ADDRESS_MAP_END - - -ADDRESS_MAP_START(dcs_audio_device::dcs2_2115_data_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0400, 0x0400) AM_READWRITE(input_latch_r, input_latch_ack_w) - AM_RANGE(0x0401, 0x0401) AM_WRITE(output_latch_w) - AM_RANGE(0x0402, 0x0402) AM_READWRITE(output_control_r, output_control_w) - AM_RANGE(0x0403, 0x0403) AM_READ(latch_status_r) - AM_RANGE(0x0404, 0x0407) AM_READ(fifo_input_r) - AM_RANGE(0x0480, 0x0483) AM_READWRITE(sdrc_r, sdrc_w) - AM_RANGE(0x3800, 0x39ff) AM_RAM AM_SHARE("iram") - AM_RANGE(0x3fe0, 0x3fff) AM_READWRITE(adsp_control_r, adsp_control_w) -ADDRESS_MAP_END - -ADDRESS_MAP_START(dcs_audio_device::dcs2_2104_data_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0400, 0x0400) AM_READWRITE(input_latch_r, input_latch_ack_w) - AM_RANGE(0x0401, 0x0401) AM_WRITE(output_latch_w) - AM_RANGE(0x0402, 0x0402) AM_READWRITE(output_control_r, output_control_w) - AM_RANGE(0x0403, 0x0403) AM_READ(latch_status_r) - AM_RANGE(0x0404, 0x0407) AM_READ(fifo_input_r) - AM_RANGE(0x0480, 0x0483) AM_READWRITE(sdrc_r, sdrc_w) - AM_RANGE(0x3800, 0x39ff) AM_RAM AM_SHARE("iram") - AM_RANGE(0x3fe0, 0x3fff) AM_READWRITE(adsp_control_r, adsp_control_w) -ADDRESS_MAP_END +void dcs_audio_device::dcs2_2115_program_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x03ff).ram().share("dcsint"); +} + +void dcs_audio_device::dcs2_2104_program_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x01ff).ram().share("dcsint"); +} + + +void dcs_audio_device::dcs2_2115_data_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0400, 0x0400).rw(this, FUNC(dcs_audio_device::input_latch_r), FUNC(dcs_audio_device::input_latch_ack_w)); + map(0x0401, 0x0401).w(this, FUNC(dcs_audio_device::output_latch_w)); + map(0x0402, 0x0402).rw(this, FUNC(dcs_audio_device::output_control_r), FUNC(dcs_audio_device::output_control_w)); + map(0x0403, 0x0403).r(this, FUNC(dcs_audio_device::latch_status_r)); + map(0x0404, 0x0407).r(this, FUNC(dcs_audio_device::fifo_input_r)); + map(0x0480, 0x0483).rw(this, FUNC(dcs_audio_device::sdrc_r), FUNC(dcs_audio_device::sdrc_w)); + map(0x3800, 0x39ff).ram().share("iram"); + map(0x3fe0, 0x3fff).rw(this, FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w)); +} + +void dcs_audio_device::dcs2_2104_data_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0400, 0x0400).rw(this, FUNC(dcs_audio_device::input_latch_r), FUNC(dcs_audio_device::input_latch_ack_w)); + map(0x0401, 0x0401).w(this, FUNC(dcs_audio_device::output_latch_w)); + map(0x0402, 0x0402).rw(this, FUNC(dcs_audio_device::output_control_r), FUNC(dcs_audio_device::output_control_w)); + map(0x0403, 0x0403).r(this, FUNC(dcs_audio_device::latch_status_r)); + map(0x0404, 0x0407).r(this, FUNC(dcs_audio_device::fifo_input_r)); + map(0x0480, 0x0483).rw(this, FUNC(dcs_audio_device::sdrc_r), FUNC(dcs_audio_device::sdrc_w)); + map(0x3800, 0x39ff).ram().share("iram"); + map(0x3fe0, 0x3fff).rw(this, FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w)); +} @@ -382,33 +390,37 @@ ADDRESS_MAP_END * *************************************/ -ADDRESS_MAP_START(dcs_audio_device::dsio_program_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("dcsint") -ADDRESS_MAP_END +void dcs_audio_device::dsio_program_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x3fff).ram().share("dcsint"); +} -ADDRESS_MAP_START(dcs_audio_device::dsio_data_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x1fff) AM_DEVICE("data_map_bank", address_map_bank_device, amap16) - AM_RANGE(0x2000, 0x3fdf) AM_RAM AM_SHARE("dcsint_data") - AM_RANGE(0x3fe0, 0x3fff) AM_READWRITE(adsp_control_r, adsp_control_w) -ADDRESS_MAP_END +void dcs_audio_device::dsio_data_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x1fff).m("data_map_bank", FUNC(address_map_bank_device::amap16)); + map(0x2000, 0x3fdf).ram().share("dcsint_data"); + map(0x3fe0, 0x3fff).rw(this, FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w)); +} -ADDRESS_MAP_START(dcs_audio_device::dsio_rambank_map) - AM_RANGE(0x0000, 0x1fff) AM_RAM - AM_RANGE(0x2000, 0x3fff) AM_RAMBANK("databank") -ADDRESS_MAP_END +void dcs_audio_device::dsio_rambank_map(address_map &map) +{ + map(0x0000, 0x1fff).ram(); + map(0x2000, 0x3fff).bankrw("databank"); +} -ADDRESS_MAP_START(dcs_audio_device::dsio_io_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0400, 0x0400) AM_READWRITE(input_latch_r, input_latch_ack_w) - AM_RANGE(0x0401, 0x0401) AM_WRITE(output_latch_w) - AM_RANGE(0x0402, 0x0402) AM_READWRITE(output_control_r, output_control_w) - AM_RANGE(0x0403, 0x0403) AM_READ(latch_status_r) - AM_RANGE(0x0404, 0x0407) AM_READ(fifo_input_r) - AM_RANGE(0x0480, 0x0483) AM_READWRITE(dsio_r, dsio_w) -ADDRESS_MAP_END +void dcs_audio_device::dsio_io_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0400, 0x0400).rw(this, FUNC(dcs_audio_device::input_latch_r), FUNC(dcs_audio_device::input_latch_ack_w)); + map(0x0401, 0x0401).w(this, FUNC(dcs_audio_device::output_latch_w)); + map(0x0402, 0x0402).rw(this, FUNC(dcs_audio_device::output_control_r), FUNC(dcs_audio_device::output_control_w)); + map(0x0403, 0x0403).r(this, FUNC(dcs_audio_device::latch_status_r)); + map(0x0404, 0x0407).r(this, FUNC(dcs_audio_device::fifo_input_r)); + map(0x0480, 0x0483).rw(this, FUNC(dcs_audio_device::dsio_r), FUNC(dcs_audio_device::dsio_w)); +} @@ -418,34 +430,38 @@ ADDRESS_MAP_END * *************************************/ -ADDRESS_MAP_START(dcs_audio_device::denver_program_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("dcsint") -ADDRESS_MAP_END - - -ADDRESS_MAP_START(dcs_audio_device::denver_data_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x1fff) AM_DEVICE("data_map_bank", address_map_bank_device, amap16) - AM_RANGE(0x2000, 0x3fdf) AM_RAM AM_SHARE("dcsint_data") - AM_RANGE(0x3fe0, 0x3fff) AM_READWRITE(adsp_control_r, adsp_control_w) -ADDRESS_MAP_END - -ADDRESS_MAP_START(dcs_audio_device::denver_rambank_map) - AM_RANGE(0x0000, 0x1fff) AM_RAM - AM_RANGE(0x2000, 0x3fff) AM_RAMBANK("databank") -ADDRESS_MAP_END - - -ADDRESS_MAP_START(dcs_audio_device::denver_io_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0400, 0x0400) AM_READWRITE(input_latch_r, input_latch_ack_w) - AM_RANGE(0x0401, 0x0401) AM_WRITE(output_latch_w) - AM_RANGE(0x0402, 0x0402) AM_READWRITE(output_control_r, output_control_w) - AM_RANGE(0x0403, 0x0403) AM_READ(latch_status_r) - AM_RANGE(0x0404, 0x0407) AM_READ(fifo_input_r) - AM_RANGE(0x0480, 0x0483) AM_READWRITE(denver_r, denver_w) -ADDRESS_MAP_END +void dcs_audio_device::denver_program_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x3fff).ram().share("dcsint"); +} + + +void dcs_audio_device::denver_data_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x1fff).m("data_map_bank", FUNC(address_map_bank_device::amap16)); + map(0x2000, 0x3fdf).ram().share("dcsint_data"); + map(0x3fe0, 0x3fff).rw(this, FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w)); +} + +void dcs_audio_device::denver_rambank_map(address_map &map) +{ + map(0x0000, 0x1fff).ram(); + map(0x2000, 0x3fff).bankrw("databank"); +} + + +void dcs_audio_device::denver_io_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0400, 0x0400).rw(this, FUNC(dcs_audio_device::input_latch_r), FUNC(dcs_audio_device::input_latch_ack_w)); + map(0x0401, 0x0401).w(this, FUNC(dcs_audio_device::output_latch_w)); + map(0x0402, 0x0402).rw(this, FUNC(dcs_audio_device::output_control_r), FUNC(dcs_audio_device::output_control_w)); + map(0x0403, 0x0403).r(this, FUNC(dcs_audio_device::latch_status_r)); + map(0x0404, 0x0407).r(this, FUNC(dcs_audio_device::fifo_input_r)); + map(0x0480, 0x0483).rw(this, FUNC(dcs_audio_device::denver_r), FUNC(dcs_audio_device::denver_w)); +} /************************************* diff --git a/src/mame/audio/flower.cpp b/src/mame/audio/flower.cpp index 23a109e1b24..0380586b5dc 100644 --- a/src/mame/audio/flower.cpp +++ b/src/mame/audio/flower.cpp @@ -24,14 +24,15 @@ DEFINE_DEVICE_TYPE(FLOWER_CUSTOM, flower_sound_device, "flower_sound", "Flower Custom Sound") // TODO: AM_SELECT unsupported by DEVICE_ADDRESS_MAP, so we need a trampoline here -ADDRESS_MAP_START(flower_sound_device::regs_map) - AM_RANGE(0x00, 0x03) AM_SELECT(0x38) AM_WRITE(frequency_w) - AM_RANGE(0x04, 0x04) AM_SELECT(0x38) AM_WRITE(repeat_w) - AM_RANGE(0x05, 0x05) AM_SELECT(0x38) AM_WRITE(unk_w) - AM_RANGE(0x07, 0x07) AM_SELECT(0x38) AM_WRITE(volume_w) - AM_RANGE(0x40, 0x45) AM_SELECT(0x38) AM_WRITE(start_address_w) - AM_RANGE(0x47, 0x47) AM_SELECT(0x38) AM_WRITE(sample_trigger_w) -ADDRESS_MAP_END +void flower_sound_device::regs_map(address_map &map) +{ + map(0x00, 0x03).select(0x38).w(this, FUNC(flower_sound_device::frequency_w)); + map(0x04, 0x04).select(0x38).w(this, FUNC(flower_sound_device::repeat_w)); + map(0x05, 0x05).select(0x38).w(this, FUNC(flower_sound_device::unk_w)); + map(0x07, 0x07).select(0x38).w(this, FUNC(flower_sound_device::volume_w)); + map(0x40, 0x45).select(0x38).w(this, FUNC(flower_sound_device::start_address_w)); + map(0x47, 0x47).select(0x38).w(this, FUNC(flower_sound_device::sample_trigger_w)); +} //************************************************************************** // LIVE DEVICE diff --git a/src/mame/audio/irem.cpp b/src/mame/audio/irem.cpp index 57940dfe1db..556ff0f1e63 100644 --- a/src/mame/audio/irem.cpp +++ b/src/mame/audio/irem.cpp @@ -358,32 +358,36 @@ DISCRETE_SOUND_END /* complete address map verified from Moon Patrol/10 Yard Fight schematics */ /* large map uses 8k ROMs, small map uses 4k ROMs; this is selected via a jumper */ -ADDRESS_MAP_START(irem_audio_device::m52_small_sound_map) - ADDRESS_MAP_GLOBAL_MASK(0x7fff) - AM_RANGE(0x0000, 0x0fff) AM_WRITE(m52_adpcm_w) - AM_RANGE(0x1000, 0x1fff) AM_WRITE(sound_irq_ack_w) - AM_RANGE(0x2000, 0x7fff) AM_ROM -ADDRESS_MAP_END +void irem_audio_device::m52_small_sound_map(address_map &map) +{ + map.global_mask(0x7fff); + map(0x0000, 0x0fff).w(this, FUNC(irem_audio_device::m52_adpcm_w)); + map(0x1000, 0x1fff).w(this, FUNC(irem_audio_device::sound_irq_ack_w)); + map(0x2000, 0x7fff).rom(); +} -ADDRESS_MAP_START(irem_audio_device::m52_large_sound_map) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(m52_adpcm_w) - AM_RANGE(0x2000, 0x3fff) AM_WRITE(sound_irq_ack_w) - AM_RANGE(0x4000, 0xffff) AM_ROM -ADDRESS_MAP_END +void irem_audio_device::m52_large_sound_map(address_map &map) +{ + map(0x0000, 0x1fff).w(this, FUNC(irem_audio_device::m52_adpcm_w)); + map(0x2000, 0x3fff).w(this, FUNC(irem_audio_device::sound_irq_ack_w)); + map(0x4000, 0xffff).rom(); +} /* complete address map verified from Kid Niki schematics */ -ADDRESS_MAP_START(irem_audio_device::m62_sound_map) - AM_RANGE(0x0800, 0x0800) AM_MIRROR(0xf7fc) AM_WRITE(sound_irq_ack_w) - AM_RANGE(0x0801, 0x0802) AM_MIRROR(0xf7fc) AM_WRITE(m62_adpcm_w) - AM_RANGE(0x4000, 0xffff) AM_ROM -ADDRESS_MAP_END +void irem_audio_device::m62_sound_map(address_map &map) +{ + map(0x0800, 0x0800).mirror(0xf7fc).w(this, FUNC(irem_audio_device::sound_irq_ack_w)); + map(0x0801, 0x0802).mirror(0xf7fc).w(this, FUNC(irem_audio_device::m62_adpcm_w)); + map(0x4000, 0xffff).rom(); +} -ADDRESS_MAP_START(irem_audio_device::irem_sound_portmap) - AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READWRITE(m6803_port1_r, m6803_port1_w) - AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(m6803_port2_r, m6803_port2_w) -ADDRESS_MAP_END +void irem_audio_device::irem_sound_portmap(address_map &map) +{ + map(M6801_PORT1, M6801_PORT1).rw(this, FUNC(irem_audio_device::m6803_port1_r), FUNC(irem_audio_device::m6803_port1_w)); + map(M6801_PORT2, M6801_PORT2).rw(this, FUNC(irem_audio_device::m6803_port2_r), FUNC(irem_audio_device::m6803_port2_w)); +} /* * Original recordings: diff --git a/src/mame/audio/midway.cpp b/src/mame/audio/midway.cpp index a1943dc6ac1..147708089a7 100644 --- a/src/mame/audio/midway.cpp +++ b/src/mame/audio/midway.cpp @@ -932,14 +932,15 @@ void midway_squawk_n_talk_device::squawkntalk_map(address_map &map) // alternate address map if the ROM jumpers are changed to support a smaller // ROM size of 2k #ifdef UNUSED_FUNCTION -ADDRESS_MAP_START(midway_squawk_n_talk_device::squawkntalk_alt_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x007f) AM_RAM // internal RAM - AM_RANGE(0x0080, 0x0083) AM_MIRROR(0x676c) AM_DEVREADWRITE("pia0", pia6821_device, read, write) - AM_RANGE(0x0090, 0x0093) AM_MIRROR(0x676c) AM_DEVREADWRITE("pia1", pia6821_device, read, write) - AM_RANGE(0x0800, 0x0fff) AM_MIRROR(0x6000) AM_WRITE(dac_w) - AM_RANGE(0x8000, 0x9fff) AM_MIRROR(0x6000) AM_ROM -ADDRESS_MAP_END +void midway_squawk_n_talk_device::squawkntalk_alt_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x007f).ram(); // internal RAM + map(0x0080, 0x0083).mirror(0x676c).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0x0090, 0x0093).mirror(0x676c).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0x0800, 0x0fff).mirror(0x6000).w(this, FUNC(midway_squawk_n_talk_device::dac_w)); + map(0x8000, 0x9fff).mirror(0x6000).rom(); +} #endif diff --git a/src/mame/audio/segasnd.cpp b/src/mame/audio/segasnd.cpp index 53aa78b52f5..c74b2d2aefb 100644 --- a/src/mame/audio/segasnd.cpp +++ b/src/mame/audio/segasnd.cpp @@ -885,9 +885,10 @@ usb_rom_sound_device::usb_rom_sound_device(const machine_config &mconfig, const { } -ADDRESS_MAP_START(usb_sound_device::usb_map_rom) - AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION(":usbcpu", 0) -ADDRESS_MAP_END +void usb_sound_device::usb_map_rom(address_map &map) +{ + map(0x0000, 0x0fff).rom().region(":usbcpu", 0); +} MACHINE_CONFIG_START(usb_rom_sound_device::device_add_mconfig) usb_sound_device::device_add_mconfig(config); -- cgit v1.2.3