diff options
Diffstat (limited to 'src/mame/drivers/pc1512.cpp')
-rw-r--r-- | src/mame/drivers/pc1512.cpp | 82 |
1 files changed, 40 insertions, 42 deletions
diff --git a/src/mame/drivers/pc1512.cpp b/src/mame/drivers/pc1512.cpp index 962122f51fc..66a8aa9082a 100644 --- a/src/mame/drivers/pc1512.cpp +++ b/src/mame/drivers/pc1512.cpp @@ -1166,8 +1166,7 @@ MACHINE_CONFIG_START(pc1512_state::pc1512) // sound SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.80); // devices MCFG_DEVICE_ADD(PC1512_KEYBOARD_TAG, PC1512_KEYBOARD, 0) @@ -1180,25 +1179,25 @@ MACHINE_CONFIG_START(pc1512_state::pc1512) MCFG_PC1512_MOUSE_PORT_M1_CB(WRITELINE(PC1512_KEYBOARD_TAG, pc1512_keyboard_device, m1_w)) MCFG_PC1512_MOUSE_PORT_M2_CB(WRITELINE(PC1512_KEYBOARD_TAG, pc1512_keyboard_device, m2_w)) - MCFG_DEVICE_ADD(I8237A5_TAG, AM9517A, 24_MHz_XTAL / 6) - MCFG_I8237_OUT_HREQ_CB(WRITELINE(*this, pc1512_state, hrq_w)) - MCFG_I8237_OUT_EOP_CB(WRITELINE(*this, pc1512_state, eop_w)) - MCFG_I8237_IN_MEMR_CB(READ8(*this, pc1512_state, memr_r)) - MCFG_I8237_OUT_MEMW_CB(WRITE8(*this, pc1512_state, memw_w)) - MCFG_I8237_IN_IOR_1_CB(READ8(*this, pc1512_state, ior1_r)) - MCFG_I8237_IN_IOR_2_CB(READ8(*this, pc1512_state, ior2_r)) - MCFG_I8237_IN_IOR_3_CB(READ8(*this, pc1512_state, ior3_r)) - MCFG_I8237_OUT_IOW_0_CB(WRITE8(*this, pc1512_state, iow0_w)) - MCFG_I8237_OUT_IOW_1_CB(WRITE8(*this, pc1512_state, iow1_w)) - MCFG_I8237_OUT_IOW_2_CB(WRITE8(*this, pc1512_state, iow2_w)) - MCFG_I8237_OUT_IOW_3_CB(WRITE8(*this, pc1512_state, iow3_w)) - MCFG_I8237_OUT_DACK_0_CB(WRITELINE(*this, pc1512_state, dack0_w)) - MCFG_I8237_OUT_DACK_1_CB(WRITELINE(*this, pc1512_state, dack1_w)) - MCFG_I8237_OUT_DACK_2_CB(WRITELINE(*this, pc1512_state, dack2_w)) - MCFG_I8237_OUT_DACK_3_CB(WRITELINE(*this, pc1512_state, dack3_w)) - - MCFG_DEVICE_ADD(I8259A2_TAG, PIC8259, 0) - MCFG_PIC8259_OUT_INT_CB(INPUTLINE(I8086_TAG, INPUT_LINE_IRQ0)) + AM9517A(config, m_dmac, 24_MHz_XTAL / 6); + m_dmac->out_hreq_callback().set(FUNC(pc1512_state::hrq_w)); + m_dmac->out_eop_callback().set(FUNC(pc1512_state::eop_w)); + m_dmac->in_memr_callback().set(FUNC(pc1512_state::memr_r)); + m_dmac->out_memw_callback().set(FUNC(pc1512_state::memw_w)); + m_dmac->in_ior_callback<1>().set(FUNC(pc1512_state::ior1_r)); + m_dmac->in_ior_callback<2>().set(FUNC(pc1512_state::ior2_r)); + m_dmac->in_ior_callback<3>().set(FUNC(pc1512_state::ior3_r)); + m_dmac->out_iow_callback<0>().set(FUNC(pc1512_state::iow0_w)); + m_dmac->out_iow_callback<1>().set(FUNC(pc1512_state::iow1_w)); + m_dmac->out_iow_callback<2>().set(FUNC(pc1512_state::iow2_w)); + m_dmac->out_iow_callback<3>().set(FUNC(pc1512_state::iow3_w)); + m_dmac->out_dack_callback<0>().set(FUNC(pc1512_state::dack0_w)); + m_dmac->out_dack_callback<1>().set(FUNC(pc1512_state::dack1_w)); + m_dmac->out_dack_callback<2>().set(FUNC(pc1512_state::dack2_w)); + m_dmac->out_dack_callback<3>().set(FUNC(pc1512_state::dack3_w)); + + PIC8259(config, m_pic, 0); + m_pic->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); MCFG_DEVICE_ADD(I8253_TAG, PIT8253, 0) MCFG_PIT8253_CLK0(28.636363_MHz_XTAL / 24) @@ -1300,8 +1299,7 @@ MACHINE_CONFIG_START(pc1640_state::pc1640) // sound SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.80); // devices MCFG_DEVICE_ADD(PC1512_KEYBOARD_TAG, PC1512_KEYBOARD, 0) @@ -1314,25 +1312,25 @@ MACHINE_CONFIG_START(pc1640_state::pc1640) MCFG_PC1512_MOUSE_PORT_M1_CB(WRITELINE(PC1512_KEYBOARD_TAG, pc1512_keyboard_device, m1_w)) MCFG_PC1512_MOUSE_PORT_M2_CB(WRITELINE(PC1512_KEYBOARD_TAG, pc1512_keyboard_device, m2_w)) - MCFG_DEVICE_ADD(I8237A5_TAG, AM9517A, 24_MHz_XTAL / 6) - MCFG_I8237_OUT_HREQ_CB(WRITELINE(*this, pc1512_base_state, hrq_w)) - MCFG_I8237_OUT_EOP_CB(WRITELINE(*this, pc1512_base_state, eop_w)) - MCFG_I8237_IN_MEMR_CB(READ8(*this, pc1512_base_state, memr_r)) - MCFG_I8237_OUT_MEMW_CB(WRITE8(*this, pc1512_base_state, memw_w)) - MCFG_I8237_IN_IOR_1_CB(READ8(*this, pc1512_base_state, ior1_r)) - MCFG_I8237_IN_IOR_2_CB(READ8(*this, pc1512_base_state, ior2_r)) - MCFG_I8237_IN_IOR_3_CB(READ8(*this, pc1512_base_state, ior3_r)) - MCFG_I8237_OUT_IOW_0_CB(WRITE8(*this, pc1512_base_state, iow0_w)) - MCFG_I8237_OUT_IOW_1_CB(WRITE8(*this, pc1512_base_state, iow1_w)) - MCFG_I8237_OUT_IOW_2_CB(WRITE8(*this, pc1512_base_state, iow2_w)) - MCFG_I8237_OUT_IOW_3_CB(WRITE8(*this, pc1512_base_state, iow3_w)) - MCFG_I8237_OUT_DACK_0_CB(WRITELINE(*this, pc1512_base_state, dack0_w)) - MCFG_I8237_OUT_DACK_1_CB(WRITELINE(*this, pc1512_base_state, dack1_w)) - MCFG_I8237_OUT_DACK_2_CB(WRITELINE(*this, pc1512_base_state, dack2_w)) - MCFG_I8237_OUT_DACK_3_CB(WRITELINE(*this, pc1512_base_state, dack3_w)) - - MCFG_DEVICE_ADD(I8259A2_TAG, PIC8259, 0) - MCFG_PIC8259_OUT_INT_CB(INPUTLINE(I8086_TAG, INPUT_LINE_IRQ0)) + AM9517A(config, m_dmac, 24_MHz_XTAL / 6); + m_dmac->out_hreq_callback().set(FUNC(pc1640_state::hrq_w)); + m_dmac->out_eop_callback().set(FUNC(pc1640_state::eop_w)); + m_dmac->in_memr_callback().set(FUNC(pc1640_state::memr_r)); + m_dmac->out_memw_callback().set(FUNC(pc1640_state::memw_w)); + m_dmac->in_ior_callback<1>().set(FUNC(pc1640_state::ior1_r)); + m_dmac->in_ior_callback<2>().set(FUNC(pc1640_state::ior2_r)); + m_dmac->in_ior_callback<3>().set(FUNC(pc1640_state::ior3_r)); + m_dmac->out_iow_callback<0>().set(FUNC(pc1640_state::iow0_w)); + m_dmac->out_iow_callback<1>().set(FUNC(pc1640_state::iow1_w)); + m_dmac->out_iow_callback<2>().set(FUNC(pc1640_state::iow2_w)); + m_dmac->out_iow_callback<3>().set(FUNC(pc1640_state::iow3_w)); + m_dmac->out_dack_callback<0>().set(FUNC(pc1640_state::dack0_w)); + m_dmac->out_dack_callback<1>().set(FUNC(pc1640_state::dack1_w)); + m_dmac->out_dack_callback<2>().set(FUNC(pc1640_state::dack2_w)); + m_dmac->out_dack_callback<3>().set(FUNC(pc1640_state::dack3_w)); + + PIC8259(config, m_pic, 0); + m_pic->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); MCFG_DEVICE_ADD(I8253_TAG, PIT8253, 0) MCFG_PIT8253_CLK0(28.636363_MHz_XTAL / 24) |