summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/esqasr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/esqasr.cpp')
-rw-r--r--src/mame/drivers/esqasr.cpp104
1 files changed, 53 insertions, 51 deletions
diff --git a/src/mame/drivers/esqasr.cpp b/src/mame/drivers/esqasr.cpp
index f044bf34edb..139aeab4dea 100644
--- a/src/mame/drivers/esqasr.cpp
+++ b/src/mame/drivers/esqasr.cpp
@@ -116,73 +116,75 @@ READ16_MEMBER(esqasr_state::esq5506_read_adc)
return 0;
}
-MACHINE_CONFIG_START(esqasr_state::asr)
- MCFG_DEVICE_ADD("maincpu", M68000, XTAL(16'000'000)) // actually MC68302
- MCFG_DEVICE_PROGRAM_MAP(asr_map)
+void esqasr_state::asr(machine_config &config)
+{
+ M68000(config, m_maincpu, XTAL(16'000'000)); // actually MC68302
+ m_maincpu->set_addrmap(AS_PROGRAM, &esqasr_state::asr_map);
- MCFG_DEVICE_ADD("esp", ES5510, XTAL(10'000'000))
- MCFG_DEVICE_DISABLE()
+ ES5510(config, m_esp, XTAL(10'000'000));
+ m_esp->set_disable();
ESQ2X40_SQ1(config, m_sq1vfd, 60);
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("ensoniq", 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, Not verified from real hardware */
- MCFG_ES5506_IRQ_CB(WRITELINE(*this, esqasr_state, esq5506_otto_irq)) /* irq */
- MCFG_ES5506_READ_PORT_CB(READ16(*this, esqasr_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)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(esqasr_state::asrx)
+ ESQ_5505_5510_PUMP(config, m_pump, XTAL(16'000'000) / (16 * 32));
+ m_pump->add_route(0, "lspeaker", 1.0);
+ m_pump->add_route(1, "rspeaker", 1.0);
+
+ es5506_device &ensoniq(ES5506(config, "ensoniq", XTAL(16'000'000)));
+ ensoniq.set_region0("waverom"); /* Bank 0 */
+ ensoniq.set_region1("waverom2"); /* Bank 1 */
+ ensoniq.set_region2("waverom3"); /* Bank 0 */
+ ensoniq.set_region3("waverom4"); /* Bank 1 */
+ ensoniq.set_channels(4); /* channels, Not verified from real hardware */
+ ensoniq.irq_cb().set(FUNC(esqasr_state::esq5506_otto_irq)); /* irq */
+ ensoniq.read_port_cb().set(FUNC(esqasr_state::esq5506_read_adc));
+ ensoniq.add_route(0, "pump", 1.0, 0);
+ ensoniq.add_route(1, "pump", 1.0, 1);
+ ensoniq.add_route(2, "pump", 1.0, 2);
+ ensoniq.add_route(3, "pump", 1.0, 3);
+ ensoniq.add_route(4, "pump", 1.0, 4);
+ ensoniq.add_route(5, "pump", 1.0, 5);
+ ensoniq.add_route(6, "pump", 1.0, 6);
+ ensoniq.add_route(7, "pump", 1.0, 7);
+}
+
+void esqasr_state::asrx(machine_config &config)
+{
M68340(config, m_maincpu, XTAL(16'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &esqasr_state::asrx_map);
- MCFG_DEVICE_ADD("esp", ES5510, XTAL(10'000'000)) // Actually ES5511
- MCFG_DEVICE_DISABLE()
+ ES5510(config, m_esp, XTAL(10'000'000)); // Actually ES5511
+ m_esp->set_disable();
ESQ2X40_SQ1(config, m_sq1vfd, 60);
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_ADD("pump", ESQ_5505_5510_PUMP, XTAL(16'000'000) / (16 * 32)) // Actually ES5511
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
- MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
-
- MCFG_DEVICE_ADD("ensoniq", 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(1) /* channels */
- MCFG_ES5506_IRQ_CB(WRITELINE(*this, esqasr_state, esq5506_otto_irq)) /* irq */
- MCFG_ES5506_READ_PORT_CB(READ16(*this, esqasr_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)
-MACHINE_CONFIG_END
+ ESQ_5505_5510_PUMP(config, m_pump, XTAL(16'000'000) / (16 * 32)); // Actually ES5511
+ m_pump->add_route(0, "lspeaker", 1.0);
+ m_pump->add_route(1, "rspeaker", 1.0);
+
+ es5506_device &ensoniq(ES5506(config, "ensoniq", XTAL(16'000'000)));
+ ensoniq.set_region0("waverom"); /* Bank 0 */
+ ensoniq.set_region1("waverom2"); /* Bank 1 */
+ ensoniq.set_region2("waverom3"); /* Bank 0 */
+ ensoniq.set_region3("waverom4"); /* Bank 1 */
+ ensoniq.set_channels(4); /* channels, Not verified from real hardware */
+ ensoniq.irq_cb().set(FUNC(esqasr_state::esq5506_otto_irq)); /* irq */
+ ensoniq.read_port_cb().set(FUNC(esqasr_state::esq5506_read_adc));
+ ensoniq.add_route(0, "pump", 1.0, 0);
+ ensoniq.add_route(1, "pump", 1.0, 1);
+ ensoniq.add_route(2, "pump", 1.0, 2);
+ ensoniq.add_route(3, "pump", 1.0, 3);
+ ensoniq.add_route(4, "pump", 1.0, 4);
+ ensoniq.add_route(5, "pump", 1.0, 5);
+ ensoniq.add_route(6, "pump", 1.0, 6);
+ ensoniq.add_route(7, "pump", 1.0, 7);
+}
static INPUT_PORTS_START( asr )
INPUT_PORTS_END