diff options
Diffstat (limited to 'src/mame/drivers/mpc3000.cpp')
-rw-r--r-- | src/mame/drivers/mpc3000.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/mame/drivers/mpc3000.cpp b/src/mame/drivers/mpc3000.cpp index fee0ca9f1aa..0d9704e04d3 100644 --- a/src/mame/drivers/mpc3000.cpp +++ b/src/mame/drivers/mpc3000.cpp @@ -90,7 +90,7 @@ public: void init_mpc3000(); private: - required_device<v53_base_device> m_maincpu; + required_device<v53a_device> m_maincpu; required_device<hd61830_device> m_lcdc; required_device<l7a1045_sound_device> m_dsp; required_device<midi_port_device> m_mdout; @@ -126,7 +126,7 @@ WRITE16_MEMBER(mpc3000_state::dsp_0008_hack_w) { // this is related to the DSP's DMA capability. The DSP // connects to the V53's DMA3 channel on both the MPCs and HNG64. - m_maincpu->dreq3_w(data&0x1); + m_maincpu->dreq_w<3>(data&0x1); m_dsp->l7a1045_sound_w(space,8/2,data,mem_mask); } @@ -170,18 +170,13 @@ PALETTE_INIT_MEMBER(mpc3000_state, mpc3000) void mpc3000_state::mpc3000(machine_config &config) { - // V53A isn't devcb3 compliant yet. - //V53A(config, m_maincpu, 16_MHz_XTAL); - //m_maincpu->set_addrmap(AS_PROGRAM, &mpc3000_state::mpc3000_map); - //m_maincpu->set_addrmap(AS_IO, &mpc3000_state::mpc3000_io_map); - device_t *device = nullptr; - MCFG_DEVICE_ADD("maincpu", V53A, 16_MHz_XTAL) - MCFG_DEVICE_PROGRAM_MAP(mpc3000_map) - MCFG_DEVICE_IO_MAP(mpc3000_io_map) - MCFG_V53_DMAU_OUT_HREQ_CB(WRITELINE("maincpu", v53_base_device, hack_w)) - MCFG_V53_DMAU_IN_MEMR_CB(READ8(*this, mpc3000_state, dma_memr_cb)) - MCFG_V53_DMAU_IN_IOR_3_CB(WRITE8("dsp", l7a1045_sound_device, dma_r_cb)) - MCFG_V53_DMAU_OUT_IOW_3_CB(WRITE8("dsp", l7a1045_sound_device, dma_w_cb)) + V53A(config, m_maincpu, 16_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &mpc3000_state::mpc3000_map); + m_maincpu->set_addrmap(AS_IO, &mpc3000_state::mpc3000_io_map); + m_maincpu->out_hreq_cb().set(m_maincpu, FUNC(v53a_device::hack_w)); + m_maincpu->in_memr_cb().set(FUNC(mpc3000_state::dma_memr_cb)); + m_maincpu->in_ior_cb<3>().set(m_dsp, FUNC(l7a1045_sound_device::dma_r_cb)); + m_maincpu->out_iow_cb<3>().set(m_dsp, FUNC(l7a1045_sound_device::dma_w_cb)); hc259_device &loledlatch(HC259(config, "loledlatch")); loledlatch.q_out_cb<0>().set_output("led0").invert(); // Edit Loop @@ -203,6 +198,7 @@ void mpc3000_state::mpc3000(machine_config &config) hiledlatch.q_out_cb<6>().set_output("led14").invert(); // 16 Levels hiledlatch.q_out_cb<7>().set_output("led15").invert(); // After + device_t *device = nullptr; MCFG_SCREEN_ADD("screen", LCD) MCFG_SCREEN_REFRESH_RATE(80) MCFG_SCREEN_UPDATE_DEVICE("lcdc", hd61830_device, screen_update) |