diff options
Diffstat (limited to 'src/mame/drivers/esqkt.cpp')
-rw-r--r-- | src/mame/drivers/esqkt.cpp | 108 |
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 |