summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/esqkt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/esqkt.cpp')
-rw-r--r--src/mame/drivers/esqkt.cpp108
1 files changed, 54 insertions, 54 deletions
diff --git a/src/mame/drivers/esqkt.cpp b/src/mame/drivers/esqkt.cpp
index 89ee7e4d7af..e18d571d6b6 100644
--- a/src/mame/drivers/esqkt.cpp
+++ b/src/mame/drivers/esqkt.cpp
@@ -216,69 +216,69 @@ WRITE_LINE_MEMBER(esqkt_state::duart_tx_b)
m_sq1panel->rx_w(state);
}
-MACHINE_CONFIG_START(esqkt_state::kt)
- MCFG_DEVICE_ADD("maincpu", M68EC020, XTAL(16'000'000))
- MCFG_DEVICE_PROGRAM_MAP(kt_map)
+void esqkt_state::kt(machine_config &config)
+{
+ M68EC020(config, m_maincpu, 16_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &esqkt_state::kt_map);
- MCFG_DEVICE_ADD("esp", ES5510, XTAL(10'000'000))
- MCFG_DEVICE_DISABLE()
+ ES5510(config, m_esp, 10_MHz_XTAL);
+ m_esp->set_disable();
- MCFG_ESQPANEL2X16_SQ1_ADD("sq1panel")
- MCFG_ESQPANEL_TX_CALLBACK(WRITELINE("duart", scn2681_device, rx_b_w))
+ auto &panel(ESQPANEL2X16_SQ1(config, "panel"));
+ panel.write_tx().set(m_duart, FUNC(scn2681_device::rx_b_w));
- MCFG_DEVICE_ADD("duart", SCN2681, 4000000)
- MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, esqkt_state, duart_irq_handler))
- MCFG_MC68681_A_TX_CALLBACK(WRITELINE(*this, esqkt_state, duart_tx_a))
- MCFG_MC68681_B_TX_CALLBACK(WRITELINE(*this, esqkt_state, duart_tx_b))
- MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(*this, esqkt_state, duart_output))
- MCFG_MC68681_SET_EXTERNAL_CLOCKS(500000, 500000, 1000000, 1000000)
- MCFG_MC68681_SET_EXTERNAL_CLOCKS(500000, 500000, 1000000, 1000000)
+ SCN2681(config, m_duart, 4000000);
+ m_duart->irq_cb().set(FUNC(esqkt_state::duart_irq_handler));
+ m_duart->a_tx_cb().set(FUNC(esqkt_state::duart_tx_a));
+ m_duart->b_tx_cb().set(FUNC(esqkt_state::duart_tx_b));
+ m_duart->outport_cb().set(FUNC(esqkt_state::duart_output));
+ m_duart->set_clocks(500000, 500000, 1000000, 1000000);
- MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
- MCFG_MIDI_RX_HANDLER(WRITELINE("duart", scn2681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx
+ auto &mdin(MIDI_PORT(config, "mdin"));
+ midiin_slot(mdin);
+ mdin.rxd_handler().set(m_duart, FUNC(scn2681_device::rx_a_w)); // route MIDI Tx send directly to 68681 channel A Rx
- MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
+ midiout_slot(MIDI_PORT(config, "mdout"));
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_ADD("pump", ESQ_5505_5510_PUMP, XTAL(16'000'000) / (16 * 32))
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
- MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
-
- MCFG_DEVICE_ADD("ensoniq1", ES5506, XTAL(16'000'000))
- MCFG_ES5506_REGION0("waverom") /* Bank 0 */
- MCFG_ES5506_REGION1("waverom2") /* Bank 1 */
- MCFG_ES5506_REGION2("waverom3") /* Bank 0 */
- MCFG_ES5506_REGION3("waverom4") /* Bank 1 */
- MCFG_ES5506_CHANNELS(4) /* channels */
- MCFG_ES5506_IRQ_CB(WRITELINE(*this, esqkt_state, esq5506_otto_irq)) /* irq */
- MCFG_ES5506_READ_PORT_CB(READ16(*this, esqkt_state, esq5506_read_adc))
- MCFG_SOUND_ROUTE(0, "pump", 1.0, 0)
- MCFG_SOUND_ROUTE(1, "pump", 1.0, 1)
- MCFG_SOUND_ROUTE(2, "pump", 1.0, 2)
- MCFG_SOUND_ROUTE(3, "pump", 1.0, 3)
- MCFG_SOUND_ROUTE(4, "pump", 1.0, 4)
- MCFG_SOUND_ROUTE(5, "pump", 1.0, 5)
- MCFG_SOUND_ROUTE(6, "pump", 1.0, 6)
- MCFG_SOUND_ROUTE(7, "pump", 1.0, 7)
-
- MCFG_DEVICE_ADD("ensoniq2", ES5506, XTAL(16'000'000))
- MCFG_ES5506_REGION0("waverom") /* Bank 0 */
- MCFG_ES5506_REGION1("waverom2") /* Bank 1 */
- MCFG_ES5506_REGION2("waverom3") /* Bank 0 */
- MCFG_ES5506_REGION3("waverom4") /* Bank 1 */
- MCFG_ES5506_CHANNELS(4) /* channels */
- MCFG_SOUND_ROUTE(0, "pump", 1.0, 0)
- MCFG_SOUND_ROUTE(1, "pump", 1.0, 1)
- MCFG_SOUND_ROUTE(2, "pump", 1.0, 2)
- MCFG_SOUND_ROUTE(3, "pump", 1.0, 3)
- MCFG_SOUND_ROUTE(4, "pump", 1.0, 4)
- MCFG_SOUND_ROUTE(5, "pump", 1.0, 5)
- MCFG_SOUND_ROUTE(6, "pump", 1.0, 6)
- MCFG_SOUND_ROUTE(7, "pump", 1.0, 7)
-
-MACHINE_CONFIG_END
+ ESQ_5505_5510_PUMP(config, m_pump, 16_MHz_XTAL / (16 * 32));
+ m_pump->add_route(0, "lspeaker", 1.0);
+ m_pump->add_route(1, "rspeaker", 1.0);
+
+ auto &es5506a(ES5506(config, "ensoniq1", 16_MHz_XTAL));
+ es5506a.set_region0("waverom"); /* Bank 0 */
+ es5506a.set_region1("waverom2"); /* Bank 1 */
+ es5506a.set_region2("waverom3"); /* Bank 0 */
+ es5506a.set_region3("waverom4"); /* Bank 1 */
+ es5506a.set_channels(4); /* channels */
+ es5506a.irq_cb().set(FUNC(esqkt_state::esq5506_otto_irq)); /* irq */
+ es5506a.read_port_cb().set(FUNC(esqkt_state::esq5506_read_adc)); /* ADC */
+ es5506a.add_route(0, "pump", 1.0, 0);
+ es5506a.add_route(1, "pump", 1.0, 1);
+ es5506a.add_route(2, "pump", 1.0, 2);
+ es5506a.add_route(3, "pump", 1.0, 3);
+ es5506a.add_route(4, "pump", 1.0, 4);
+ es5506a.add_route(5, "pump", 1.0, 5);
+ es5506a.add_route(6, "pump", 1.0, 6);
+ es5506a.add_route(7, "pump", 1.0, 7);
+
+ auto &es5506b(ES5506(config, "ensoniq2", 16_MHz_XTAL));
+ es5506b.set_region0("waverom"); /* Bank 0 */
+ es5506b.set_region1("waverom2"); /* Bank 1 */
+ es5506b.set_region2("waverom3"); /* Bank 0 */
+ es5506b.set_region3("waverom4"); /* Bank 1 */
+ es5506b.set_channels(4); /* channels */
+ es5506b.add_route(0, "pump", 1.0, 0);
+ es5506b.add_route(1, "pump", 1.0, 1);
+ es5506b.add_route(2, "pump", 1.0, 2);
+ es5506b.add_route(3, "pump", 1.0, 3);
+ es5506b.add_route(4, "pump", 1.0, 4);
+ es5506b.add_route(5, "pump", 1.0, 5);
+ es5506b.add_route(6, "pump", 1.0, 6);
+ es5506b.add_route(7, "pump", 1.0, 7);
+}
static INPUT_PORTS_START( kt )
INPUT_PORTS_END