diff options
Diffstat (limited to 'src/devices/bus/a2bus/a2mcms.cpp')
-rw-r--r-- | src/devices/bus/a2bus/a2mcms.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/devices/bus/a2bus/a2mcms.cpp b/src/devices/bus/a2bus/a2mcms.cpp index 7e2cab57b6b..1442d7d68bc 100644 --- a/src/devices/bus/a2bus/a2mcms.cpp +++ b/src/devices/bus/a2bus/a2mcms.cpp @@ -38,6 +38,8 @@ DEFINE_DEVICE_TYPE(A2BUS_MCMS2, a2bus_mcms2_device, "a2mcms2", "Mountain Compute #define ENGINE_TAG "engine" +#define MCFG_MCMS_IRQ_CALLBACK(_cb) \ + downcast<mcms_device &>(*device).set_irq_cb(DEVCB_##_cb); /*************************************************************************** FUNCTION PROTOTYPES @@ -47,16 +49,16 @@ DEFINE_DEVICE_TYPE(A2BUS_MCMS2, a2bus_mcms2_device, "a2mcms2", "Mountain Compute // device_add_mconfig - add device configuration //------------------------------------------------- -void a2bus_mcms1_device::device_add_mconfig(machine_config &config) -{ +MACHINE_CONFIG_START(a2bus_mcms1_device::device_add_mconfig) SPEAKER(config, "mcms_l").front_left(); SPEAKER(config, "mcms_r").front_right(); - MCMS(config, m_mcms, 1000000); - m_mcms->irq_cb().set(FUNC(a2bus_mcms1_device::irq_w)); - m_mcms->add_route(0, "mcms_l", 1.0); - m_mcms->add_route(1, "mcms_r", 1.0); -} + MCFG_DEVICE_ADD(ENGINE_TAG, MCMS, 1000000) + MCFG_MCMS_IRQ_CALLBACK(WRITELINE(*this, a2bus_mcms1_device, irq_w)) + + MCFG_SOUND_ROUTE(0, "mcms_l", 1.0) + MCFG_SOUND_ROUTE(1, "mcms_r", 1.0) +MACHINE_CONFIG_END //************************************************************************** // LIVE DEVICE - Card 1 @@ -275,7 +277,7 @@ void mcms_device::sound_stream_update(sound_stream &stream, stream_sample_t **in wptr = (m_table[v]<<8) | (m_acc[v]>>8); m_rand = (m_acc[v]>>8) & 0x1f; - sample = (m_pBusDevice->slot_dma_read(wptr) ^ 0x80); + sample = (m_pBusDevice->slot_dma_read_no_space(wptr) ^ 0x80); if (v & 1) { mixL += sample * m_vols[v]; |