summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/cpc/magicsound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/cpc/magicsound.cpp')
-rw-r--r--src/devices/bus/cpc/magicsound.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/devices/bus/cpc/magicsound.cpp b/src/devices/bus/cpc/magicsound.cpp
index f1a940a72c3..1a85915dca1 100644
--- a/src/devices/bus/cpc/magicsound.cpp
+++ b/src/devices/bus/cpc/magicsound.cpp
@@ -20,7 +20,8 @@
DEFINE_DEVICE_TYPE(AL_MAGICSOUND, al_magicsound_device, "al_magicsound", "Aleste Magic Sound Board")
-MACHINE_CONFIG_START(al_magicsound_device::device_add_mconfig)
+void al_magicsound_device::device_add_mconfig(machine_config &config)
+{
AM9517A(config, m_dmac, DERIVED_CLOCK(1, 1)); // CLK from expansion port
// According to the schematics, the TC pin (EOP on western chips) is connected to NMI on the expansion port.
// NMIs seem to occur too quickly when this is active, so either EOP is not triggered at the correct time, or
@@ -57,11 +58,12 @@ MACHINE_CONFIG_START(al_magicsound_device::device_add_mconfig)
m_timer2->set_clk<2>(4000000);
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
+ 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(?)
-MACHINE_CONFIG_END
+}
//**************************************************************************
@@ -113,12 +115,12 @@ void al_magicsound_device::device_reset()
READ8_MEMBER(al_magicsound_device::dmac_r)
{
- return m_dmac->read(space,offset);
+ return m_dmac->read(offset);
}
WRITE8_MEMBER(al_magicsound_device::dmac_w)
{
- m_dmac->write(space,offset,data);
+ m_dmac->write(offset,data);
}
WRITE8_MEMBER(al_magicsound_device::timer_w)