summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/cbus/pc9801_86.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/cbus/pc9801_86.cpp')
-rw-r--r--src/devices/bus/cbus/pc9801_86.cpp50
1 files changed, 24 insertions, 26 deletions
diff --git a/src/devices/bus/cbus/pc9801_86.cpp b/src/devices/bus/cbus/pc9801_86.cpp
index 96e159cbc8e..00590f3471f 100644
--- a/src/devices/bus/cbus/pc9801_86.cpp
+++ b/src/devices/bus/cbus/pc9801_86.cpp
@@ -50,17 +50,16 @@ WRITE_LINE_MEMBER(pc9801_86_device::sound_irq)
MACHINE_CONFIG_START(pc9801_86_device::pc9801_86_config)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_ADD("opna", YM2608, 7.987_MHz_XTAL)
- MCFG_YM2608_IRQ_HANDLER(WRITELINE(*this, pc9801_86_device, sound_irq))
- MCFG_AY8910_OUTPUT_TYPE(0)
- MCFG_AY8910_PORT_A_READ_CB(READ8(*this, pc9801_86_device, opn_porta_r))
- //MCFG_AY8910_PORT_B_READ_CB(READ8(*this, pc9801_state, opn_portb_r))
- //MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, pc9801_state, opn_porta_w))
- MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, pc9801_86_device, opn_portb_w))
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
- MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
- MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
- MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
+ YM2608(config, m_opna, 7.987_MHz_XTAL);
+ m_opna->irq_handler().set(FUNC(pc9801_86_device::sound_irq));
+ m_opna->port_a_read_callback().set(FUNC(pc9801_86_device::opn_porta_r));
+ //m_opna->port_b_read_callback().set(FUNC(pc8801_state::opn_portb_r));
+ //m_opna->port_a_write_callback().set(FUNC(pc8801_state::opn_porta_w));
+ m_opna->port_b_write_callback().set(FUNC(pc9801_86_device::opn_portb_w));
+ m_opna->add_route(0, "lspeaker", 1.00);
+ m_opna->add_route(0, "rspeaker", 1.00);
+ m_opna->add_route(1, "lspeaker", 1.00);
+ m_opna->add_route(2, "rspeaker", 1.00);
MCFG_DEVICE_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // burr brown pcm61p
MCFG_DEVICE_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // burr brown pcm61p
@@ -386,23 +385,22 @@ pc9801_speakboard_device::pc9801_speakboard_device(const machine_config &mconfig
{
}
-MACHINE_CONFIG_START(pc9801_speakboard_device::device_add_mconfig)
+void pc9801_speakboard_device::device_add_mconfig(machine_config &config)
+{
pc9801_86_config(config);
- MCFG_DEVICE_MODIFY("opna")
- MCFG_SOUND_ROUTES_RESET()
- MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
- MCFG_SOUND_ROUTE(0, "rspeaker", 0.50)
- MCFG_SOUND_ROUTE(1, "lspeaker", 0.50)
- MCFG_SOUND_ROUTE(2, "rspeaker", 0.50)
-
- MCFG_DEVICE_ADD("opna_slave", YM2608, 7.987_MHz_XTAL)
- MCFG_AY8910_OUTPUT_TYPE(0)
- MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
- MCFG_SOUND_ROUTE(0, "rspeaker", 0.50)
- MCFG_SOUND_ROUTE(1, "lspeaker", 0.50)
- MCFG_SOUND_ROUTE(2, "rspeaker", 0.50)
-MACHINE_CONFIG_END
+ m_opna->reset_routes();
+ m_opna->add_route(0, "lspeaker", 0.50);
+ m_opna->add_route(0, "rspeaker", 0.50);
+ m_opna->add_route(1, "lspeaker", 0.50);
+ m_opna->add_route(2, "rspeaker", 0.50);
+
+ YM2608(config, m_opna_slave, 7.987_MHz_XTAL);
+ m_opna_slave->add_route(0, "lspeaker", 0.50);
+ m_opna_slave->add_route(0, "rspeaker", 0.50);
+ m_opna_slave->add_route(1, "lspeaker", 0.50);
+ m_opna_slave->add_route(2, "rspeaker", 0.50);
+}
void pc9801_speakboard_device::device_start()
{