diff options
Diffstat (limited to 'src/mame/drivers/wpc_an.cpp')
-rw-r--r-- | src/mame/drivers/wpc_an.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/mame/drivers/wpc_an.cpp b/src/mame/drivers/wpc_an.cpp index d3f70a8fb64..b78b4125894 100644 --- a/src/mame/drivers/wpc_an.cpp +++ b/src/mame/drivers/wpc_an.cpp @@ -330,21 +330,24 @@ void wpc_an_state::init_wpc_an() memcpy(fixed,&ROM[codeoff],0x8000); // copy static code from end of U6 ROM. } -MACHINE_CONFIG_START(wpc_an_state::wpc_an_base) +void wpc_an_state::wpc_an_base(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", MC6809E, XTAL(8'000'000) / 4) // 68B09E - MCFG_DEVICE_PROGRAM_MAP(wpc_an_map) - - MCFG_WMS_WPC_ADD("wpc") - MCFG_WPC_IRQ_ACKNOWLEDGE(WRITELINE(*this, wpc_an_state,wpc_irq_w)) - MCFG_WPC_FIRQ_ACKNOWLEDGE(WRITELINE(*this, wpc_an_state,wpc_firq_w)) - MCFG_WPC_ROMBANK(WRITE8(*this, wpc_an_state,wpc_rombank_w)) - MCFG_WPC_SOUND_CTRL(READ8(*this, wpc_an_state,wpc_sound_ctrl_r),WRITE8(*this, wpc_an_state,wpc_sound_ctrl_w)) - MCFG_WPC_SOUND_DATA(READ8(*this, wpc_an_state,wpc_sound_data_r),WRITE8(*this, wpc_an_state,wpc_sound_data_w)) - MCFG_WPC_SOUND_S11C(WRITE8(*this, wpc_an_state,wpc_sound_s11_w)) + MC6809E(config, m_maincpu, XTAL(8'000'000) / 4); // 68B09E + m_maincpu->set_addrmap(AS_PROGRAM, &wpc_an_state::wpc_an_map); + + WPCASIC(config, m_wpc, 0); + m_wpc->irq_callback().set(FUNC(wpc_an_state::wpc_irq_w)); + m_wpc->firq_callback().set(FUNC(wpc_an_state::wpc_firq_w)); + m_wpc->bank_write().set(FUNC(wpc_an_state::wpc_rombank_w)); + m_wpc->sound_ctrl_read().set(FUNC(wpc_an_state::wpc_sound_ctrl_r)); + m_wpc->sound_ctrl_write().set(FUNC(wpc_an_state::wpc_sound_ctrl_w)); + m_wpc->sound_data_read().set(FUNC(wpc_an_state::wpc_sound_data_r)); + m_wpc->sound_data_write().set(FUNC(wpc_an_state::wpc_sound_data_w)); + m_wpc->sound_s11_write().set(FUNC(wpc_an_state::wpc_sound_s11_w)); config.set_default_layout(layout_wpc_an); -MACHINE_CONFIG_END +} void wpc_an_state::wpc_an(machine_config &config) { |