summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/cpc/musicmachine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/cpc/musicmachine.cpp')
-rw-r--r--src/devices/bus/cpc/musicmachine.cpp24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/devices/bus/cpc/musicmachine.cpp b/src/devices/bus/cpc/musicmachine.cpp
index 4d43f20c1fe..83c5bef8dfc 100644
--- a/src/devices/bus/cpc/musicmachine.cpp
+++ b/src/devices/bus/cpc/musicmachine.cpp
@@ -2,13 +2,12 @@
// copyright-holders:Barry Rodewald
/*
* The Music Machine - MIDI and sampling expansion
- * by Ram Electronics
+ * by Ram Electronics Ltd
*/
#include "emu.h"
#include "musicmachine.h"
-#include "sound/volt_reg.h"
#include "bus/midi/midi.h"
#include "machine/clock.h"
#include "speaker.h"
@@ -17,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-DEFINE_DEVICE_TYPE(CPC_MUSICMACHINE, cpc_musicmachine_device, "cpcmusic", "The Music Machine")
+DEFINE_DEVICE_TYPE(CPC_MUSICMACHINE, cpc_musicmachine_device, "cpcmusic", "The Music Machine (CPC)")
void cpc_musicmachine_device::device_add_mconfig(machine_config &config)
@@ -31,9 +30,6 @@ void cpc_musicmachine_device::device_add_mconfig(machine_config &config)
SPEAKER(config, "speaker").front_center();
ZN429E(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.2);
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
// no pass-through
}
@@ -61,9 +57,9 @@ void cpc_musicmachine_device::device_start()
m_slot = dynamic_cast<cpc_expansion_slot_device *>(owner());
address_space &space = m_slot->cpu().space(AS_IO);
- space.install_write_handler(0xf8e8,0xf8e8,write8_delegate(FUNC(cpc_musicmachine_device::irqsel_w),this));
- space.install_readwrite_handler(0xf8ec,0xf8ef,read8_delegate(FUNC(cpc_musicmachine_device::acia_r), this),write8_delegate(FUNC(cpc_musicmachine_device::acia_w),this));
- space.install_write_handler(0xf8f0,0xf8f0,write8_delegate(FUNC(cpc_musicmachine_device::dac_w),this));
+ space.install_write_handler(0xf8e8,0xf8e8, write8smo_delegate(*this, FUNC(cpc_musicmachine_device::irqsel_w)));
+ space.install_readwrite_handler(0xf8ec,0xf8ef, read8sm_delegate(*this, FUNC(cpc_musicmachine_device::acia_r)), write8sm_delegate(*this, FUNC(cpc_musicmachine_device::acia_w)));
+ space.install_write_handler(0xf8f0,0xf8f0, write8smo_delegate(*this, FUNC(cpc_musicmachine_device::dac_w)));
// 0xf8f4 - ADC read8_delegate
// 0xf8f8 - ADC start
}
@@ -77,12 +73,12 @@ void cpc_musicmachine_device::device_reset()
// TODO
}
-WRITE8_MEMBER(cpc_musicmachine_device::dac_w)
+void cpc_musicmachine_device::dac_w(uint8_t data)
{
m_dac->write(data);
}
-READ8_MEMBER(cpc_musicmachine_device::acia_r)
+uint8_t cpc_musicmachine_device::acia_r(offs_t offset)
{
uint8_t ret = 0;
@@ -99,7 +95,7 @@ READ8_MEMBER(cpc_musicmachine_device::acia_r)
return ret;
}
-WRITE8_MEMBER(cpc_musicmachine_device::acia_w)
+void cpc_musicmachine_device::acia_w(offs_t offset, uint8_t data)
{
switch(offset)
{
@@ -112,7 +108,7 @@ WRITE8_MEMBER(cpc_musicmachine_device::acia_w)
}
}
-WRITE8_MEMBER(cpc_musicmachine_device::irqsel_w)
+void cpc_musicmachine_device::irqsel_w(uint8_t data)
{
if(data == 0x01)
m_irq_select = true;
@@ -120,7 +116,7 @@ WRITE8_MEMBER(cpc_musicmachine_device::irqsel_w)
m_irq_select = false;
}
-WRITE_LINE_MEMBER(cpc_musicmachine_device::irq_w)
+void cpc_musicmachine_device::irq_w(int state)
{
if(m_irq_select)
m_slot->nmi_w(state);