mirror of
https://github.com/holub/mame
synced 2025-04-21 07:52:35 +03:00
tms32025: removed MCFG macros (nw)
This commit is contained in:
parent
1e3c05a1d7
commit
c0b70ec306
@ -23,25 +23,6 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
#define MCFG_TMS32025_BIO_IN_CB(_devcb) \
|
||||
downcast<tms32025_device &>(*device).set_bio_in_cb(DEVCB_##_devcb); /* BIO input */
|
||||
|
||||
#define MCFG_TMS32025_HOLD_IN_CB(_devcb) \
|
||||
downcast<tms32025_device &>(*device).set_hold_in_cb(DEVCB_##_devcb); /* HOLD input */
|
||||
|
||||
#define MCFG_TMS32025_HOLD_ACK_OUT_CB(_devcb) \
|
||||
downcast<tms32025_device &>(*device).set_hold_ack_out_cb(DEVCB_##_devcb); /* HOLD Acknowledge output */
|
||||
|
||||
#define MCFG_TMS32025_XF_OUT_CB(_devcb) \
|
||||
downcast<tms32025_device &>(*device).set_xf_out_cb(DEVCB_##_devcb); /* XF output */
|
||||
|
||||
#define MCFG_TMS32025_DR_IN_CB(_devcb) \
|
||||
downcast<tms32025_device &>(*device).set_dr_in_cb(DEVCB_##_devcb); /* Serial Data Receive input */
|
||||
|
||||
#define MCFG_TMS32025_DX_OUT_CB(_devcb) \
|
||||
downcast<tms32025_device &>(*device).set_dx_out_cb(DEVCB_##_devcb); /* Serial Data Transmit output */
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* Interrupt constants
|
||||
*/
|
||||
@ -84,12 +65,6 @@ public:
|
||||
tms32025_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// configuration helpers
|
||||
template<class Object> devcb_base &set_bio_in_cb(Object &&cb) { return m_bio_in.set_callback(std::forward<Object>(cb)); }
|
||||
template<class Object> devcb_base &set_hold_in_cb(Object &&cb) { return m_hold_in.set_callback(std::forward<Object>(cb)); }
|
||||
template<class Object> devcb_base &set_hold_ack_out_cb(Object &&cb) { return m_hold_ack_out.set_callback(std::forward<Object>(cb)); }
|
||||
template<class Object> devcb_base &set_xf_out_cb(Object &&cb) { return m_xf_out.set_callback(std::forward<Object>(cb)); }
|
||||
template<class Object> devcb_base &set_dr_in_cb(Object &&cb) { return m_dr_in.set_callback(std::forward<Object>(cb)); }
|
||||
template<class Object> devcb_base &set_dx_out_cb(Object &&cb) { return m_dx_out.set_callback(std::forward<Object>(cb)); }
|
||||
auto bio_in_cb() { return m_bio_in.bind(); }
|
||||
auto hold_in_cb() { return m_hold_in.bind(); }
|
||||
auto hold_ack_out_cb() { return m_hold_ack_out.bind(); }
|
||||
|
@ -764,12 +764,12 @@ MACHINE_CONFIG_START(coolpool_state::coolpool)
|
||||
MCFG_TMS340X0_TO_SHIFTREG_CB(coolpool_state, to_shiftreg) /* write to shiftreg function */
|
||||
MCFG_TMS340X0_FROM_SHIFTREG_CB(coolpool_state, from_shiftreg) /* read from shiftreg function */
|
||||
|
||||
MCFG_DEVICE_ADD("dsp", TMS32026,XTAL(40'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(coolpool_dsp_pgm_map)
|
||||
MCFG_DEVICE_IO_MAP(coolpool_dsp_io_map)
|
||||
MCFG_TMS32025_BIO_IN_CB(READ16(*this, coolpool_state, dsp_bio_line_r))
|
||||
MCFG_TMS32025_HOLD_IN_CB(READ16(*this, coolpool_state, dsp_hold_line_r))
|
||||
// MCFG_TMS32025_HOLD_ACK_OUT_CB(WRITE16(*this, coolpool_state, dsp_HOLDA_signal_w))
|
||||
tms32026_device& dsp(TMS32026(config, m_dsp, XTAL(40'000'000)));
|
||||
dsp.set_addrmap(AS_PROGRAM, &coolpool_state::coolpool_dsp_pgm_map);
|
||||
dsp.set_addrmap(AS_IO, &coolpool_state::coolpool_dsp_io_map);
|
||||
dsp.bio_in_cb().set(FUNC(coolpool_state::dsp_bio_line_r));
|
||||
dsp.hold_in_cb().set(FUNC(coolpool_state::dsp_hold_line_r));
|
||||
// dsp.hold_ack_out_cb().set(FUNC(coolpool_state::dsp_HOLDA_signal_w));
|
||||
|
||||
MCFG_GENERIC_LATCH_16_ADD("main2dsp")
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("dsp", 0)) /* ??? I have no idea who should generate this! */
|
||||
@ -805,8 +805,7 @@ MACHINE_CONFIG_START(coolpool_state::_9ballsht)
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(nballsht_map)
|
||||
|
||||
MCFG_DEVICE_MODIFY("dsp")
|
||||
MCFG_DEVICE_IO_MAP(nballsht_dsp_io_map)
|
||||
subdevice<tms32026_device>("dsp")->set_addrmap(AS_IO, &coolpool_state::nballsht_dsp_io_map);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -1930,21 +1930,21 @@ MACHINE_CONFIG_START(namcos21_state::namcos21)
|
||||
|
||||
configure_c65_namcos21(config);
|
||||
|
||||
MCFG_DEVICE_ADD("dspmaster", TMS32025,24000000) /* 24 MHz? overclocked */
|
||||
MCFG_DEVICE_PROGRAM_MAP(master_dsp_program)
|
||||
MCFG_DEVICE_DATA_MAP(master_dsp_data)
|
||||
MCFG_DEVICE_IO_MAP(master_dsp_io)
|
||||
MCFG_TMS32025_HOLD_IN_CB(CONSTANT(0))
|
||||
MCFG_TMS32025_HOLD_ACK_OUT_CB(NOOP)
|
||||
MCFG_TMS32025_XF_OUT_CB(WRITE16(*this, namcos21_state, dsp_xf_w))
|
||||
tms32025_device& dspmaster(TMS32025(config, m_dspmaster, 24000000)); /* 24 MHz? overclocked */
|
||||
dspmaster.set_addrmap(AS_PROGRAM, &namcos21_state::master_dsp_program);
|
||||
dspmaster.set_addrmap(AS_DATA, &namcos21_state::master_dsp_data);
|
||||
dspmaster.set_addrmap(AS_IO, &namcos21_state::master_dsp_io);
|
||||
dspmaster.hold_in_cb().set_constant(0);
|
||||
dspmaster.hold_ack_out_cb().set_nop();
|
||||
dspmaster.xf_out_cb().set(FUNC(namcos21_state::dsp_xf_w));
|
||||
|
||||
MCFG_DEVICE_ADD("dspslave", TMS32025,24000000*4) /* 24 MHz?; overclocked */
|
||||
MCFG_DEVICE_PROGRAM_MAP(slave_dsp_program)
|
||||
MCFG_DEVICE_DATA_MAP(slave_dsp_data)
|
||||
MCFG_DEVICE_IO_MAP(slave_dsp_io)
|
||||
MCFG_TMS32025_HOLD_IN_CB(CONSTANT(0))
|
||||
MCFG_TMS32025_HOLD_ACK_OUT_CB(NOOP)
|
||||
MCFG_TMS32025_XF_OUT_CB(WRITE16(*this, namcos21_state, slave_XF_output_w))
|
||||
tms32025_device& dspslave(TMS32025(config, m_dspslave, 24000000*4)); /* 24 MHz? overclocked */
|
||||
dspslave.set_addrmap(AS_PROGRAM, &namcos21_state::slave_dsp_program);
|
||||
dspslave.set_addrmap(AS_DATA, &namcos21_state::slave_dsp_data);
|
||||
dspslave.set_addrmap(AS_IO, &namcos21_state::slave_dsp_io);
|
||||
dspslave.hold_in_cb().set_constant(0);
|
||||
dspslave.hold_ack_out_cb().set_nop();
|
||||
dspslave.xf_out_cb().set(FUNC(namcos21_state::slave_XF_output_w));
|
||||
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
|
||||
|
||||
@ -1995,14 +1995,14 @@ MACHINE_CONFIG_START(namcos21_state::driveyes)
|
||||
|
||||
configure_c65_namcos21(config);
|
||||
|
||||
MCFG_DEVICE_ADD("dsp", TMS32025,24000000*2) /* 24 MHz? overclocked */
|
||||
MCFG_DEVICE_PROGRAM_MAP(winrun_dsp_program)
|
||||
MCFG_DEVICE_DATA_MAP(winrun_dsp_data)
|
||||
MCFG_DEVICE_IO_MAP(winrun_dsp_io)
|
||||
MCFG_TMS32025_BIO_IN_CB(READ16(*this, namcos21_state, winrun_poly_reset_r))
|
||||
MCFG_TMS32025_HOLD_IN_CB(CONSTANT(0))
|
||||
MCFG_TMS32025_HOLD_ACK_OUT_CB(NOOP)
|
||||
MCFG_TMS32025_XF_OUT_CB(NOOP)
|
||||
tms32025_device& dsp(TMS32025(config, m_dsp, 24000000*2)); /* 24 MHz? overclocked */
|
||||
dsp.set_addrmap(AS_PROGRAM, &namcos21_state::winrun_dsp_program);
|
||||
dsp.set_addrmap(AS_DATA, &namcos21_state::winrun_dsp_data);
|
||||
dsp.set_addrmap(AS_IO, &namcos21_state::winrun_dsp_io);
|
||||
dsp.bio_in_cb().set(FUNC(namcos21_state::winrun_poly_reset_r));
|
||||
dsp.hold_in_cb().set_constant(0);
|
||||
dsp.hold_ack_out_cb().set_nop();
|
||||
dsp.xf_out_cb().set_nop();
|
||||
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
|
||||
|
||||
@ -2054,14 +2054,14 @@ MACHINE_CONFIG_START(namcos21_state::winrun)
|
||||
|
||||
configure_c65_namcos21(config);
|
||||
|
||||
MCFG_DEVICE_ADD("dsp", TMS32025,24000000) /* 24 MHz? overclocked */
|
||||
MCFG_DEVICE_PROGRAM_MAP(winrun_dsp_program)
|
||||
MCFG_DEVICE_DATA_MAP(winrun_dsp_data)
|
||||
MCFG_DEVICE_IO_MAP(winrun_dsp_io)
|
||||
MCFG_TMS32025_BIO_IN_CB(READ16(*this, namcos21_state, winrun_poly_reset_r))
|
||||
MCFG_TMS32025_HOLD_IN_CB(CONSTANT(0))
|
||||
MCFG_TMS32025_HOLD_ACK_OUT_CB(NOOP)
|
||||
MCFG_TMS32025_XF_OUT_CB(NOOP)
|
||||
tms32025_device& dsp(TMS32025(config, m_dsp, 24000000)); /* 24 MHz? overclocked */
|
||||
dsp.set_addrmap(AS_PROGRAM, &namcos21_state::winrun_dsp_program);
|
||||
dsp.set_addrmap(AS_DATA, &namcos21_state::winrun_dsp_data);
|
||||
dsp.set_addrmap(AS_IO, &namcos21_state::winrun_dsp_io);
|
||||
dsp.bio_in_cb().set(FUNC(namcos21_state::winrun_poly_reset_r));
|
||||
dsp.hold_in_cb().set_constant(0);
|
||||
dsp.hold_ack_out_cb().set_nop();
|
||||
dsp.xf_out_cb().set_nop();
|
||||
|
||||
MCFG_DEVICE_ADD("gpu", M68000,12288000) /* graphics coprocessor */
|
||||
MCFG_DEVICE_PROGRAM_MAP(winrun_gpu_map)
|
||||
|
@ -3759,26 +3759,28 @@ MACHINE_CONFIG_START(namcos22_state::namcos22)
|
||||
MCFG_DEVICE_PROGRAM_MAP(namcos22_am)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", namcos22_state, namcos22_interrupt)
|
||||
|
||||
MCFG_DEVICE_ADD("master", TMS32025,SS22_MASTER_CLOCK) /* ? */
|
||||
MCFG_DEVICE_PROGRAM_MAP(master_dsp_program)
|
||||
MCFG_DEVICE_DATA_MAP(master_dsp_data)
|
||||
MCFG_DEVICE_IO_MAP(master_dsp_io)
|
||||
MCFG_TMS32025_BIO_IN_CB(READ16(*this, namcos22_state, pdp_status_r))
|
||||
MCFG_TMS32025_HOLD_IN_CB(READ16(*this, namcos22_state, dsp_hold_signal_r))
|
||||
MCFG_TMS32025_HOLD_ACK_OUT_CB(WRITE16(*this, namcos22_state, dsp_hold_ack_w))
|
||||
MCFG_TMS32025_XF_OUT_CB(WRITE16(*this, namcos22_state, dsp_xf_output_w))
|
||||
MCFG_TMS32025_DR_IN_CB(READ16(*this, namcos22_state, master_serial_io_r))
|
||||
tms32025_device& master(TMS32025(config, m_master, SS22_MASTER_CLOCK)); /* ? */
|
||||
master.set_addrmap(AS_PROGRAM, &namcos22_state::master_dsp_program);
|
||||
master.set_addrmap(AS_DATA, &namcos22_state::master_dsp_data);
|
||||
master.set_addrmap(AS_IO, &namcos22_state::master_dsp_io);
|
||||
master.bio_in_cb().set(FUNC(namcos22_state::pdp_status_r));
|
||||
master.hold_in_cb().set(FUNC(namcos22_state::dsp_hold_signal_r));
|
||||
master.hold_ack_out_cb().set(FUNC(namcos22_state::dsp_hold_ack_w));
|
||||
master.xf_out_cb().set(FUNC(namcos22_state::dsp_xf_output_w));
|
||||
master.dr_in_cb().set(FUNC(namcos22_state::master_serial_io_r));
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("master_st", namcos22_state, dsp_master_serial_irq, "screen", 0, 1)
|
||||
|
||||
MCFG_DEVICE_ADD("slave", TMS32025,SS22_MASTER_CLOCK) /* ? */
|
||||
MCFG_DEVICE_PROGRAM_MAP(slave_dsp_program)
|
||||
MCFG_DEVICE_DATA_MAP(slave_dsp_data)
|
||||
MCFG_DEVICE_IO_MAP(slave_dsp_io)
|
||||
MCFG_TMS32025_BIO_IN_CB(READ16(*this, namcos22_state, dsp_bioz_r))
|
||||
MCFG_TMS32025_HOLD_IN_CB(READ16(*this, namcos22_state, dsp_hold_signal_r))
|
||||
MCFG_TMS32025_HOLD_ACK_OUT_CB(WRITE16(*this, namcos22_state, dsp_hold_ack_w))
|
||||
MCFG_TMS32025_XF_OUT_CB(WRITE16(*this, namcos22_state, dsp_xf_output_w))
|
||||
MCFG_TMS32025_DX_OUT_CB(WRITE16(*this, namcos22_state, slave_serial_io_w))
|
||||
tms32025_device& slave(TMS32025(config, m_slave, SS22_MASTER_CLOCK)); /* ? */
|
||||
slave.set_addrmap(AS_PROGRAM, &namcos22_state::slave_dsp_program);
|
||||
slave.set_addrmap(AS_DATA, &namcos22_state::slave_dsp_data);
|
||||
slave.set_addrmap(AS_IO, &namcos22_state::slave_dsp_io);
|
||||
slave.bio_in_cb().set(FUNC(namcos22_state::dsp_bioz_r));
|
||||
slave.hold_in_cb().set(FUNC(namcos22_state::dsp_hold_signal_r));
|
||||
slave.hold_ack_out_cb().set(FUNC(namcos22_state::dsp_hold_ack_w));
|
||||
slave.xf_out_cb().set(FUNC(namcos22_state::dsp_xf_output_w));
|
||||
slave.dx_out_cb().set(FUNC(namcos22_state::slave_serial_io_w));
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("slave_st", namcos22_state, dsp_slave_serial_irq, "screen", 0, 1)
|
||||
|
||||
MCFG_DEVICE_ADD("mcu", NAMCO_C74, SS22_MASTER_CLOCK/3) // C74 on the CPU board has no periodic interrupts, it runs entirely off Timer A0
|
||||
@ -3828,26 +3830,28 @@ MACHINE_CONFIG_START(namcos22_state::namcos22s)
|
||||
MCFG_DEVICE_PROGRAM_MAP(namcos22s_am)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", namcos22_state, namcos22s_interrupt)
|
||||
|
||||
MCFG_DEVICE_ADD("master", TMS32025,SS22_MASTER_CLOCK)
|
||||
MCFG_DEVICE_PROGRAM_MAP(master_dsp_program)
|
||||
MCFG_DEVICE_DATA_MAP(master_dsp_data)
|
||||
MCFG_DEVICE_IO_MAP(master_dsp_io)
|
||||
MCFG_TMS32025_BIO_IN_CB(READ16(*this, namcos22_state, pdp_status_r))
|
||||
MCFG_TMS32025_HOLD_IN_CB(READ16(*this, namcos22_state, dsp_hold_signal_r))
|
||||
MCFG_TMS32025_HOLD_ACK_OUT_CB(WRITE16(*this, namcos22_state, dsp_hold_ack_w))
|
||||
MCFG_TMS32025_XF_OUT_CB(WRITE16(*this, namcos22_state, dsp_xf_output_w))
|
||||
MCFG_TMS32025_DR_IN_CB(READ16(*this, namcos22_state, master_serial_io_r))
|
||||
tms32025_device& master(TMS32025(config, m_master, SS22_MASTER_CLOCK));
|
||||
master.set_addrmap(AS_PROGRAM, &namcos22_state::master_dsp_program);
|
||||
master.set_addrmap(AS_DATA, &namcos22_state::master_dsp_data);
|
||||
master.set_addrmap(AS_IO, &namcos22_state::master_dsp_io);
|
||||
master.bio_in_cb().set(FUNC(namcos22_state::pdp_status_r));
|
||||
master.hold_in_cb().set(FUNC(namcos22_state::dsp_hold_signal_r));
|
||||
master.hold_ack_out_cb().set(FUNC(namcos22_state::dsp_hold_ack_w));
|
||||
master.xf_out_cb().set(FUNC(namcos22_state::dsp_xf_output_w));
|
||||
master.dr_in_cb().set(FUNC(namcos22_state::master_serial_io_r));
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("master_st", namcos22_state, dsp_master_serial_irq, "screen", 0, 1)
|
||||
|
||||
MCFG_DEVICE_ADD("slave", TMS32025,SS22_MASTER_CLOCK)
|
||||
MCFG_DEVICE_PROGRAM_MAP(slave_dsp_program)
|
||||
MCFG_DEVICE_DATA_MAP(slave_dsp_data)
|
||||
MCFG_DEVICE_IO_MAP(slave_dsp_io)
|
||||
MCFG_TMS32025_BIO_IN_CB(READ16(*this, namcos22_state, dsp_bioz_r))
|
||||
MCFG_TMS32025_HOLD_IN_CB(READ16(*this, namcos22_state, dsp_hold_signal_r))
|
||||
MCFG_TMS32025_HOLD_ACK_OUT_CB(WRITE16(*this, namcos22_state, dsp_hold_ack_w))
|
||||
MCFG_TMS32025_XF_OUT_CB(WRITE16(*this, namcos22_state, dsp_xf_output_w))
|
||||
MCFG_TMS32025_DX_OUT_CB(WRITE16(*this, namcos22_state, slave_serial_io_w))
|
||||
tms32025_device& slave(TMS32025(config, m_slave, SS22_MASTER_CLOCK));
|
||||
slave.set_addrmap(AS_PROGRAM, &namcos22_state::slave_dsp_program);
|
||||
slave.set_addrmap(AS_DATA, &namcos22_state::slave_dsp_data);
|
||||
slave.set_addrmap(AS_IO, &namcos22_state::slave_dsp_io);
|
||||
slave.bio_in_cb().set(FUNC(namcos22_state::dsp_bioz_r));
|
||||
slave.hold_in_cb().set(FUNC(namcos22_state::dsp_hold_signal_r));
|
||||
slave.hold_ack_out_cb().set(FUNC(namcos22_state::dsp_hold_ack_w));
|
||||
slave.xf_out_cb().set(FUNC(namcos22_state::dsp_xf_output_w));
|
||||
slave.dx_out_cb().set(FUNC(namcos22_state::slave_serial_io_w));
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("slave_st", namcos22_state, dsp_slave_serial_irq, "screen", 0, 1)
|
||||
|
||||
MCFG_DEVICE_ADD("mcu", M37710S4, SS22_MASTER_CLOCK/3)
|
||||
|
@ -712,11 +712,11 @@ MACHINE_CONFIG_START(taitoair_state::airsys)
|
||||
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(16'000'000) / 4) // Z8400AB1
|
||||
MCFG_DEVICE_PROGRAM_MAP(sound_map)
|
||||
|
||||
MCFG_DEVICE_ADD("dsp", TMS32025, XTAL(36'000'000)) // Unverified
|
||||
MCFG_DEVICE_PROGRAM_MAP(DSP_map_program)
|
||||
MCFG_DEVICE_DATA_MAP(DSP_map_data)
|
||||
MCFG_TMS32025_HOLD_IN_CB(READ16(*this, taitoair_state, dsp_HOLD_signal_r))
|
||||
MCFG_TMS32025_HOLD_ACK_OUT_CB(WRITE16(*this, taitoair_state, dsp_HOLDA_signal_w))
|
||||
tms32025_device& dsp(TMS32025(config, m_dsp, XTAL(36'000'000))); // Unverified
|
||||
dsp.set_addrmap(AS_PROGRAM, &taitoair_state::DSP_map_program);
|
||||
dsp.set_addrmap(AS_DATA, &taitoair_state::DSP_map_data);
|
||||
dsp.hold_in_cb().set(FUNC(taitoair_state::dsp_HOLD_signal_r));
|
||||
dsp.hold_ack_out_cb().set(FUNC(taitoair_state::dsp_HOLDA_signal_w));
|
||||
|
||||
MCFG_QUANTUM_PERFECT_CPU("maincpu")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user