mirror of
https://github.com/holub/mame
synced 2025-04-25 01:40:16 +03:00
-6525tpi, 6532riot: Removed MCFG and old devcb accessors, nw
This commit is contained in:
parent
a4a0bcc3b4
commit
47a730bc50
@ -295,6 +295,16 @@ int c64_expansion_slot_device::exrom_r(offs_t offset, int sphi2, int ba, int rw,
|
||||
}
|
||||
|
||||
|
||||
void c64_expansion_slot_device::set_passthrough()
|
||||
{
|
||||
irq_wr_callback().set(DEVICE_SELF_OWNER, FUNC(c64_expansion_slot_device::irq_w));
|
||||
nmi_wr_callback().set(DEVICE_SELF_OWNER, FUNC(c64_expansion_slot_device::nmi_w));
|
||||
reset_wr_callback().set(DEVICE_SELF_OWNER, FUNC(c64_expansion_slot_device::reset_w));
|
||||
cd_rd_callback().set(DEVICE_SELF_OWNER, FUNC(c64_expansion_slot_device::dma_cd_r));
|
||||
cd_wr_callback().set(DEVICE_SELF_OWNER, FUNC(c64_expansion_slot_device::dma_cd_w));
|
||||
dma_wr_callback().set(DEVICE_SELF_OWNER, FUNC(c64_expansion_slot_device::dma_w));
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( c64_expansion_cards )
|
||||
//-------------------------------------------------
|
||||
|
@ -101,6 +101,16 @@ class c64_expansion_slot_device : public device_t,
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
template <typename T>
|
||||
c64_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
|
||||
: c64_expansion_slot_device(mconfig, tag, owner, (uint32_t)0)
|
||||
{
|
||||
option_reset();
|
||||
opts(*this);
|
||||
set_default_option(dflt);
|
||||
set_fixed(false);
|
||||
}
|
||||
|
||||
c64_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); }
|
||||
@ -109,6 +119,12 @@ public:
|
||||
template <class Object> devcb_base &set_cd_rd_callback(Object &&cb) { return m_read_dma_cd.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_cd_wr_callback(Object &&cb) { return m_write_dma_cd.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_dma_wr_callback(Object &&cb) { return m_write_dma.set_callback(std::forward<Object>(cb)); }
|
||||
auto irq_wr_callback() { return m_write_irq.bind(); }
|
||||
auto nmi_wr_callback() { return m_write_nmi.bind(); }
|
||||
auto reset_wr_callback() { return m_write_reset.bind(); }
|
||||
auto cd_rd_callback() { return m_read_dma_cd.bind(); }
|
||||
auto cd_wr_callback() { return m_write_dma_cd.bind(); }
|
||||
auto dma_wr_callback() { return m_write_dma.bind(); }
|
||||
|
||||
// computer interface
|
||||
uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2);
|
||||
@ -127,6 +143,8 @@ public:
|
||||
int dotclock() { return phi2() * 8; }
|
||||
int hiram() { return m_hiram; }
|
||||
|
||||
void set_passthrough();
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_validity_check(validity_checker &valid) const override;
|
||||
|
@ -141,18 +141,22 @@ WRITE8_MEMBER( c64_ieee488_device::tpi_pc_w )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(c64_ieee488_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD(MOS6525_TAG, TPI6525, 0)
|
||||
MCFG_TPI6525_IN_PA_CB(READ8(*this, c64_ieee488_device, tpi_pa_r))
|
||||
MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, c64_ieee488_device, tpi_pa_w))
|
||||
MCFG_TPI6525_IN_PB_CB(READ8(IEEE488_TAG, ieee488_device, dio_r))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(IEEE488_TAG, ieee488_device, host_dio_w))
|
||||
MCFG_TPI6525_IN_PC_CB(READ8(*this, c64_ieee488_device, tpi_pc_r))
|
||||
MCFG_TPI6525_OUT_PC_CB(WRITE8(*this, c64_ieee488_device, tpi_pc_w))
|
||||
void c64_ieee488_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
TPI6525(config, m_tpi, 0);
|
||||
m_tpi->in_pa_cb().set(FUNC(c64_ieee488_device::tpi_pa_r));
|
||||
m_tpi->out_pa_cb().set(FUNC(c64_ieee488_device::tpi_pa_w));
|
||||
m_tpi->in_pb_cb().set(m_bus, FUNC(ieee488_device::dio_r));
|
||||
m_tpi->out_pb_cb().set(m_bus, FUNC(ieee488_device::host_dio_w));
|
||||
m_tpi->in_pc_cb().set(FUNC(c64_ieee488_device::tpi_pc_r));
|
||||
m_tpi->out_pc_cb().set(FUNC(c64_ieee488_device::tpi_pc_w));
|
||||
|
||||
MCFG_CBM_IEEE488_ADD(nullptr)
|
||||
MCFG_C64_PASSTHRU_EXPANSION_SLOT_ADD()
|
||||
MACHINE_CONFIG_END
|
||||
IEEE488(config, m_bus, 0);
|
||||
ieee488_slot_device::add_cbm_defaults(config, nullptr);
|
||||
|
||||
C64_EXPANSION_SLOT(config, m_exp, c64_expansion_cards, nullptr);
|
||||
m_exp->set_passthrough();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -219,29 +219,31 @@ WRITE_LINE_MEMBER( c64_magic_voice_cartridge_device::apd_w )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(c64_magic_voice_cartridge_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD(MOS6525_TAG, TPI6525, 0)
|
||||
MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(*this, c64_magic_voice_cartridge_device, tpi_irq_w))
|
||||
MCFG_TPI6525_IN_PA_CB(READ8(*this, c64_magic_voice_cartridge_device, tpi_pa_r))
|
||||
MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, c64_magic_voice_cartridge_device, tpi_pa_w))
|
||||
MCFG_TPI6525_IN_PB_CB(READ8(*this, c64_magic_voice_cartridge_device, tpi_pb_r))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, c64_magic_voice_cartridge_device, tpi_pb_w))
|
||||
MCFG_TPI6525_OUT_CA_CB(WRITELINE(*this, c64_magic_voice_cartridge_device, tpi_ca_w))
|
||||
MCFG_TPI6525_OUT_CA_CB(WRITELINE(*this, c64_magic_voice_cartridge_device, tpi_cb_w))
|
||||
void c64_magic_voice_cartridge_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
TPI6525(config, m_tpi, 0);
|
||||
m_tpi->out_irq_cb().set(FUNC(c64_magic_voice_cartridge_device::tpi_irq_w));
|
||||
m_tpi->in_pa_cb().set(FUNC(c64_magic_voice_cartridge_device::tpi_pa_r));
|
||||
m_tpi->out_pa_cb().set(FUNC(c64_magic_voice_cartridge_device::tpi_pa_w));
|
||||
m_tpi->in_pb_cb().set(FUNC(c64_magic_voice_cartridge_device::tpi_pb_r));
|
||||
m_tpi->out_pb_cb().set(FUNC(c64_magic_voice_cartridge_device::tpi_pb_w));
|
||||
m_tpi->out_ca_cb().set(FUNC(c64_magic_voice_cartridge_device::tpi_ca_w));
|
||||
m_tpi->out_cb_cb().set(FUNC(c64_magic_voice_cartridge_device::tpi_cb_w));
|
||||
|
||||
MCFG_DEVICE_ADD(CD40105_TAG, CD40105, 0)
|
||||
MCFG_40105_DATA_IN_READY_CB(WRITELINE(MOS6525_TAG, tpi6525_device, i3_w))
|
||||
CD40105(config, m_fifo, 0);
|
||||
m_fifo->in_ready_cb().set(m_tpi, FUNC(tpi6525_device::i3_w));
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
MCFG_DEVICE_ADD(T6721A_TAG, T6721A, XTAL(640'000))
|
||||
MCFG_T6721A_EOS_HANDLER(WRITELINE(MOS6525_TAG, tpi6525_device, i2_w))
|
||||
MCFG_T6721A_PHI2_HANDLER(WRITELINE(DEVICE_SELF, c64_magic_voice_cartridge_device, phi2_w))
|
||||
MCFG_T6721A_DTRD_HANDLER(WRITELINE(DEVICE_SELF, c64_magic_voice_cartridge_device, dtrd_w))
|
||||
MCFG_T6721A_APD_HANDLER(WRITELINE(DEVICE_SELF, c64_magic_voice_cartridge_device, apd_w))
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
T6721A(config, m_vslsi, XTAL(640'000));
|
||||
m_vslsi->eos_handler().set(m_tpi, FUNC(tpi6525_device::i2_w));
|
||||
m_vslsi->phi2_handler().set(FUNC(c64_magic_voice_cartridge_device::phi2_w));
|
||||
m_vslsi->dtrd_handler().set(FUNC(c64_magic_voice_cartridge_device::dtrd_w));
|
||||
m_vslsi->apd_handler().set(FUNC(c64_magic_voice_cartridge_device::apd_w));
|
||||
m_vslsi->add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
|
||||
MCFG_C64_PASSTHRU_EXPANSION_SLOT_ADD()
|
||||
MACHINE_CONFIG_END
|
||||
C64_EXPANSION_SLOT(config, m_exp, c64_expansion_cards, nullptr);
|
||||
m_exp->set_passthrough();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -47,6 +47,7 @@ void (*arm7_coproc_dt_w_callback)(arm_state *arm, uint32_t insn, uint32_t *prn,
|
||||
|
||||
DEFINE_DEVICE_TYPE(ARM7, arm7_cpu_device, "arm7_le", "ARM7 (little)")
|
||||
DEFINE_DEVICE_TYPE(ARM7_BE, arm7_be_cpu_device, "arm7_be", "ARM7 (big)")
|
||||
DEFINE_DEVICE_TYPE(ARM710A, arm710a_cpu_device, "arm710a", "ARM710a")
|
||||
DEFINE_DEVICE_TYPE(ARM7500, arm7500_cpu_device, "arm7500", "ARM7500")
|
||||
DEFINE_DEVICE_TYPE(ARM9, arm9_cpu_device, "arm9", "ARM9")
|
||||
DEFINE_DEVICE_TYPE(ARM920T, arm920t_cpu_device, "arm920t", "ARM920T")
|
||||
@ -96,6 +97,15 @@ arm7_be_cpu_device::arm7_be_cpu_device(const machine_config &mconfig, const char
|
||||
}
|
||||
|
||||
|
||||
arm710a_cpu_device::arm710a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: arm7_cpu_device(mconfig, ARM710A, tag, owner, clock, 4, ARCHFLAG_MODE26, ENDIANNESS_LITTLE)
|
||||
{
|
||||
m_copro_id = ARM9_COPRO_ID_MFR_ARM
|
||||
| ARM9_COPRO_ID_ARCH_V4
|
||||
| ARM9_COPRO_ID_PART_ARM710;
|
||||
}
|
||||
|
||||
|
||||
arm7500_cpu_device::arm7500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: arm7_cpu_device(mconfig, ARM7500, tag, owner, clock, 4, ARCHFLAG_MODE26, ENDIANNESS_LITTLE)
|
||||
{
|
||||
|
@ -599,6 +599,12 @@ public:
|
||||
arm7500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
};
|
||||
|
||||
class arm710a_cpu_device : public arm7_cpu_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
arm710a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
};
|
||||
|
||||
class arm9_cpu_device : public arm7_cpu_device
|
||||
{
|
||||
@ -691,6 +697,7 @@ public:
|
||||
|
||||
DECLARE_DEVICE_TYPE(ARM7, arm7_cpu_device)
|
||||
DECLARE_DEVICE_TYPE(ARM7_BE, arm7_be_cpu_device)
|
||||
DECLARE_DEVICE_TYPE(ARM710A, arm710a_cpu_device)
|
||||
DECLARE_DEVICE_TYPE(ARM7500, arm7500_cpu_device)
|
||||
DECLARE_DEVICE_TYPE(ARM9, arm9_cpu_device)
|
||||
DECLARE_DEVICE_TYPE(ARM920T, arm920t_cpu_device)
|
||||
|
@ -56,6 +56,9 @@ public:
|
||||
template <class Object> devcb_base &set_dir_callback(Object &&dir) { return m_write_dir.set_callback(std::forward<Object>(dir)); }
|
||||
template <class Object> devcb_base &set_dor_callback(Object &&dor) { return m_write_dor.set_callback(std::forward<Object>(dor)); }
|
||||
template <class Object> devcb_base &set_data_out_callback(Object &&out) { return m_write_q.set_callback(std::forward<Object>(out)); }
|
||||
auto in_ready_cb() { return m_write_dir.bind(); }
|
||||
auto out_ready_cb() { return m_write_dor.bind(); }
|
||||
auto out_cb() { return m_write_q.bind(); }
|
||||
|
||||
u8 read();
|
||||
void write(u8 data);
|
||||
|
@ -43,16 +43,6 @@ class tpi6525_device : public device_t
|
||||
public:
|
||||
tpi6525_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
template <class Object> devcb_base &set_out_irq_callback(Object &&cb) { return m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_in_pa_callback(Object &&cb) { return m_in_pa_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_pa_callback(Object &&cb) { return m_out_pa_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_in_pb_callback(Object &&cb) { return m_in_pb_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_pb_callback(Object &&cb) { return m_out_pb_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_in_pc_callback(Object &&cb) { return m_in_pc_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_pc_callback(Object &&cb) { return m_out_pc_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_ca_callback(Object &&cb) { return m_out_ca_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_cb_callback(Object &&cb) { return m_out_cb_cb.set_callback(std::forward<Object>(cb)); }
|
||||
|
||||
auto out_irq_cb() { return m_out_irq_cb.bind(); }
|
||||
auto in_pa_cb() { return m_in_pa_cb.bind(); }
|
||||
auto out_pa_cb() { return m_out_pa_cb.bind(); }
|
||||
@ -133,33 +123,4 @@ private:
|
||||
|
||||
DECLARE_DEVICE_TYPE(TPI6525, tpi6525_device)
|
||||
|
||||
|
||||
#define MCFG_TPI6525_OUT_IRQ_CB(_devcb) \
|
||||
downcast<tpi6525_device &>(*device).set_out_irq_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TPI6525_IN_PA_CB(_devcb) \
|
||||
downcast<tpi6525_device &>(*device).set_in_pa_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TPI6525_OUT_PA_CB(_devcb) \
|
||||
downcast<tpi6525_device &>(*device).set_out_pa_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TPI6525_IN_PB_CB(_devcb) \
|
||||
downcast<tpi6525_device &>(*device).set_in_pb_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TPI6525_OUT_PB_CB(_devcb) \
|
||||
downcast<tpi6525_device &>(*device).set_out_pb_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TPI6525_IN_PC_CB(_devcb) \
|
||||
downcast<tpi6525_device &>(*device).set_in_pc_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TPI6525_OUT_PC_CB(_devcb) \
|
||||
downcast<tpi6525_device &>(*device).set_out_pc_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TPI6525_OUT_CA_CB(_devcb) \
|
||||
downcast<tpi6525_device &>(*device).set_out_ca_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TPI6525_OUT_CB_CB(_devcb) \
|
||||
downcast<tpi6525_device &>(*device).set_out_cb_callback(DEVCB_##_devcb);
|
||||
|
||||
|
||||
#endif // MAME_MACHINE_6525TPI_H
|
||||
|
@ -13,26 +13,6 @@
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_RIOT6532_IN_PA_CB(_devcb) \
|
||||
downcast<riot6532_device &>(*device).set_in_pa_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RIOT6532_OUT_PA_CB(_devcb) \
|
||||
downcast<riot6532_device &>(*device).set_out_pa_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RIOT6532_IN_PB_CB(_devcb) \
|
||||
downcast<riot6532_device &>(*device).set_in_pb_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RIOT6532_OUT_PB_CB(_devcb) \
|
||||
downcast<riot6532_device &>(*device).set_out_pb_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RIOT6532_IRQ_CB(_devcb) \
|
||||
downcast<riot6532_device &>(*device).set_irq_callback(DEVCB_##_devcb);
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
***************************************************************************/
|
||||
@ -46,11 +26,6 @@ public:
|
||||
// construction/destruction
|
||||
riot6532_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
template <class Object> devcb_base &set_in_pa_callback(Object &&cb) { return m_in_pa_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_pa_callback(Object &&cb) { return m_out_pa_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_in_pb_callback(Object &&cb) { return m_in_pb_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_pb_callback(Object &&cb) { return m_out_pb_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_irq_callback(Object &&cb) { return m_irq_cb.set_callback(std::forward<Object>(cb)); }
|
||||
auto in_pa_callback() { return m_in_pa_cb.bind(); }
|
||||
auto out_pa_callback() { return m_out_pa_cb.bind(); }
|
||||
auto in_pb_callback() { return m_in_pb_cb.bind(); }
|
||||
|
@ -73,6 +73,10 @@ public:
|
||||
template <class Object> devcb_base &set_phi2_callback(Object &&phi2) { return m_write_phi2.set_callback(std::forward<Object>(phi2)); }
|
||||
template <class Object> devcb_base &set_dtrd_callback(Object &&dtrd) { return m_write_dtrd.set_callback(std::forward<Object>(dtrd)); }
|
||||
template <class Object> devcb_base &set_apd_callback(Object &&apd) { return m_write_apd.set_callback(std::forward<Object>(apd)); }
|
||||
auto eos_handler() { return m_write_eos.bind(); }
|
||||
auto phi2_handler() { return m_write_phi2.bind(); }
|
||||
auto dtrd_handler() { return m_write_dtrd.bind(); }
|
||||
auto apd_handler() { return m_write_apd.bind(); }
|
||||
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
|
@ -754,12 +754,12 @@ MACHINE_CONFIG_START(venture_sound_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD("audiocpu", M6502, 3579545/4)
|
||||
MCFG_DEVICE_PROGRAM_MAP(venture_audio_map)
|
||||
|
||||
MCFG_DEVICE_ADD("riot", RIOT6532, SH6532_CLOCK)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, venture_sound_device, r6532_porta_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, venture_sound_device, r6532_porta_w))
|
||||
MCFG_RIOT6532_IN_PB_CB(READ8(*this, venture_sound_device, r6532_portb_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, venture_sound_device, r6532_portb_w))
|
||||
MCFG_RIOT6532_IRQ_CB(WRITELINE("audioirq", input_merger_device, in_w<0>))
|
||||
RIOT6532(config, m_riot, SH6532_CLOCK);
|
||||
m_riot->in_pa_callback().set(FUNC(venture_sound_device::r6532_porta_r));
|
||||
m_riot->out_pa_callback().set(FUNC(venture_sound_device::r6532_porta_w));
|
||||
m_riot->in_pb_callback().set(FUNC(venture_sound_device::r6532_portb_r));
|
||||
m_riot->out_pb_callback().set(FUNC(venture_sound_device::r6532_portb_w));
|
||||
m_riot->irq_callback().set("audioirq", FUNC(input_merger_device::in_w<0>));
|
||||
|
||||
MCFG_DEVICE_ADD("pia", PIA6821, 0)
|
||||
MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, venture_sound_device, pia_pa_w))
|
||||
@ -985,12 +985,12 @@ MACHINE_CONFIG_START(victory_sound_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD("audiocpu", M6502, VICTORY_AUDIO_CPU_CLOCK)
|
||||
MCFG_DEVICE_PROGRAM_MAP(victory_audio_map)
|
||||
|
||||
MCFG_DEVICE_ADD("riot", RIOT6532, SH6532_CLOCK)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, victory_sound_device, r6532_porta_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, victory_sound_device, r6532_porta_w))
|
||||
MCFG_RIOT6532_IN_PB_CB(READ8(*this, victory_sound_device, r6532_portb_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, victory_sound_device, r6532_portb_w))
|
||||
MCFG_RIOT6532_IRQ_CB(WRITELINE("audioirq", input_merger_device, in_w<0>))
|
||||
RIOT6532(config, m_riot, SH6532_CLOCK);
|
||||
m_riot->in_pa_callback().set(FUNC(victory_sound_device::r6532_porta_r));
|
||||
m_riot->out_pa_callback().set(FUNC(victory_sound_device::r6532_porta_w));
|
||||
m_riot->in_pb_callback().set(FUNC(victory_sound_device::r6532_portb_r));
|
||||
m_riot->out_pb_callback().set(FUNC(victory_sound_device::r6532_portb_w));
|
||||
m_riot->irq_callback().set("audioirq", FUNC(input_merger_device::in_w<0>));
|
||||
|
||||
MCFG_DEVICE_ADD("pia", PIA6821, 0)
|
||||
MCFG_PIA_CA2_HANDLER(WRITELINE(*this, victory_sound_device, irq_clear_w))
|
||||
|
@ -535,12 +535,12 @@ MACHINE_CONFIG_START(a2600_state::a2600)
|
||||
MCFG_MOS6530n_OUT_PB_CB(WRITE8(*this, a2600_state, switch_B_w))
|
||||
MCFG_MOS6530n_IRQ_CB(WRITELINE(*this, a2600_state, irq_callback))
|
||||
#else
|
||||
MCFG_DEVICE_ADD("riot", RIOT6532, MASTER_CLOCK_NTSC / 3)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, a2600_state, switch_A_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, a2600_state, switch_A_w))
|
||||
MCFG_RIOT6532_IN_PB_CB(READ8(*this, a2600_state, riot_input_port_8_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, a2600_state, switch_B_w))
|
||||
MCFG_RIOT6532_IRQ_CB(WRITELINE(*this, a2600_state, irq_callback))
|
||||
RIOT6532(config, m_riot, MASTER_CLOCK_NTSC / 3);
|
||||
m_riot->in_pa_callback().set(FUNC(a2600_state::switch_A_r));
|
||||
m_riot->out_pa_callback().set(FUNC(a2600_state::switch_A_w));
|
||||
m_riot->in_pb_callback().set(FUNC(a2600_state::riot_input_port_8_r));
|
||||
m_riot->out_pb_callback().set(FUNC(a2600_state::switch_B_w));
|
||||
m_riot->irq_callback().set(FUNC(a2600_state::irq_callback));
|
||||
#endif
|
||||
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, "joy")
|
||||
@ -583,12 +583,12 @@ MACHINE_CONFIG_START(a2600_state::a2600p)
|
||||
MCFG_MOS6530n_OUT_PB_CB(WRITE8(*this, a2600_state, switch_B_w))
|
||||
MCFG_MOS6530n_IRQ_CB(WRITELINE(*this, a2600_state, irq_callback))
|
||||
#else
|
||||
MCFG_DEVICE_ADD("riot", RIOT6532, MASTER_CLOCK_PAL / 3)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, a2600_state, switch_A_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, a2600_state, switch_A_w))
|
||||
MCFG_RIOT6532_IN_PB_CB(READ8(*this, a2600_state, riot_input_port_8_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, a2600_state, switch_B_w))
|
||||
MCFG_RIOT6532_IRQ_CB(WRITELINE(*this, a2600_state, irq_callback))
|
||||
RIOT6532(config, m_riot, MASTER_CLOCK_PAL / 3);
|
||||
m_riot->in_pa_callback().set(FUNC(a2600_state::switch_A_r));
|
||||
m_riot->out_pa_callback().set(FUNC(a2600_state::switch_A_w));
|
||||
m_riot->in_pb_callback().set(FUNC(a2600_state::riot_input_port_8_r));
|
||||
m_riot->out_pb_callback().set(FUNC(a2600_state::switch_B_w));
|
||||
m_riot->irq_callback().set(FUNC(a2600_state::irq_callback));
|
||||
#endif
|
||||
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, "joy")
|
||||
|
@ -1613,9 +1613,9 @@ MACHINE_CONFIG_START(cdtv_state::cdtv)
|
||||
m_dmac->io_write_handler().set(FUNC(cdtv_state::dmac_io_write));
|
||||
m_dmac->int_handler().set(FUNC(cdtv_state::dmac_int_w));
|
||||
|
||||
MCFG_DEVICE_ADD("u32", TPI6525, 0)
|
||||
MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(*this, cdtv_state, tpi_int_w))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cdtv_state, tpi_port_b_write))
|
||||
tpi6525_device &tpi(TPI6525(config, "u32", 0));
|
||||
tpi.out_irq_cb().set(FUNC(cdtv_state::tpi_int_w));
|
||||
tpi.out_pb_cb().set(FUNC(cdtv_state::tpi_port_b_write));
|
||||
|
||||
// cd-rom
|
||||
CR511B(config, m_cdrom, 0);
|
||||
|
@ -2343,19 +2343,22 @@ MACHINE_CONFIG_START(p500_state::p500_ntsc)
|
||||
// devices
|
||||
MCFG_PLS100_ADD(PLA1_TAG)
|
||||
MCFG_PLS100_ADD(PLA2_TAG)
|
||||
MCFG_DEVICE_ADD(MOS6525_1_TAG, TPI6525, 0)
|
||||
MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(*this, p500_state, tpi1_irq_w))
|
||||
MCFG_TPI6525_IN_PA_CB(READ8(*this, cbm2_state, tpi1_pa_r))
|
||||
MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi1_pa_w))
|
||||
MCFG_TPI6525_IN_PB_CB(READ8(*this, cbm2_state, tpi1_pb_r))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi1_pb_w))
|
||||
MCFG_TPI6525_OUT_CA_CB(WRITELINE(*this, p500_state, tpi1_ca_w))
|
||||
MCFG_TPI6525_OUT_CB_CB(WRITELINE(*this, p500_state, tpi1_cb_w))
|
||||
MCFG_DEVICE_ADD(MOS6525_2_TAG, TPI6525, 0)
|
||||
MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi2_pa_w))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi2_pb_w))
|
||||
MCFG_TPI6525_IN_PC_CB(READ8(*this, p500_state, tpi2_pc_r))
|
||||
MCFG_TPI6525_OUT_PC_CB(WRITE8(*this, p500_state, tpi2_pc_w))
|
||||
|
||||
TPI6525(config, m_tpi1, 0);
|
||||
m_tpi1->out_irq_cb().set(FUNC(p500_state::tpi1_irq_w));
|
||||
m_tpi1->in_pa_cb().set(FUNC(cbm2_state::tpi1_pa_r));
|
||||
m_tpi1->out_pa_cb().set(FUNC(cbm2_state::tpi1_pa_w));
|
||||
m_tpi1->in_pb_cb().set(FUNC(cbm2_state::tpi1_pb_r));
|
||||
m_tpi1->out_pa_cb().set(FUNC(cbm2_state::tpi1_pb_w));
|
||||
m_tpi1->out_ca_cb().set(FUNC(p500_state::tpi1_ca_w));
|
||||
m_tpi1->out_cb_cb().set(FUNC(p500_state::tpi1_cb_w));
|
||||
|
||||
TPI6525(config, m_tpi2, 0);
|
||||
m_tpi2->out_pa_cb().set(FUNC(cbm2_state::tpi2_pa_w));
|
||||
m_tpi2->out_pb_cb().set(FUNC(cbm2_state::tpi2_pb_w));
|
||||
m_tpi2->in_pc_cb().set(FUNC(p500_state::tpi2_pc_r));
|
||||
m_tpi2->out_pc_cb().set(FUNC(p500_state::tpi2_pc_w));
|
||||
|
||||
MCFG_DEVICE_ADD(MOS6551A_TAG, MOS6551, VIC6567_CLOCK)
|
||||
MCFG_MOS6551_XTAL(XTAL(1'843'200))
|
||||
MCFG_MOS6551_IRQ_HANDLER(WRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w))
|
||||
@ -2459,19 +2462,22 @@ MACHINE_CONFIG_START(p500_state::p500_pal)
|
||||
// devices
|
||||
MCFG_PLS100_ADD(PLA1_TAG)
|
||||
MCFG_PLS100_ADD(PLA2_TAG)
|
||||
MCFG_DEVICE_ADD(MOS6525_1_TAG, TPI6525, 0)
|
||||
MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(*this, p500_state, tpi1_irq_w))
|
||||
MCFG_TPI6525_IN_PA_CB(READ8(*this, cbm2_state, tpi1_pa_r))
|
||||
MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi1_pa_w))
|
||||
MCFG_TPI6525_IN_PB_CB(READ8(*this, cbm2_state, tpi1_pb_r))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi1_pb_w))
|
||||
MCFG_TPI6525_OUT_CA_CB(WRITELINE(*this, p500_state, tpi1_ca_w))
|
||||
MCFG_TPI6525_OUT_CB_CB(WRITELINE(*this, p500_state, tpi1_cb_w))
|
||||
MCFG_DEVICE_ADD(MOS6525_2_TAG, TPI6525, 0)
|
||||
MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi2_pa_w))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi2_pb_w))
|
||||
MCFG_TPI6525_IN_PC_CB(READ8(*this, p500_state, tpi2_pc_r))
|
||||
MCFG_TPI6525_OUT_PC_CB(WRITE8(*this, p500_state, tpi2_pc_w))
|
||||
|
||||
TPI6525(config, m_tpi1, 0);
|
||||
m_tpi1->out_irq_cb().set(FUNC(p500_state::tpi1_irq_w));
|
||||
m_tpi1->in_pa_cb().set(FUNC(cbm2_state::tpi1_pa_r));
|
||||
m_tpi1->out_pa_cb().set(FUNC(cbm2_state::tpi1_pa_w));
|
||||
m_tpi1->in_pb_cb().set(FUNC(cbm2_state::tpi1_pb_r));
|
||||
m_tpi1->out_pa_cb().set(FUNC(cbm2_state::tpi1_pb_w));
|
||||
m_tpi1->out_ca_cb().set(FUNC(p500_state::tpi1_ca_w));
|
||||
m_tpi1->out_cb_cb().set(FUNC(p500_state::tpi1_cb_w));
|
||||
|
||||
TPI6525(config, m_tpi2, 0);
|
||||
m_tpi2->out_pa_cb().set(FUNC(cbm2_state::tpi2_pa_w));
|
||||
m_tpi2->out_pb_cb().set(FUNC(cbm2_state::tpi2_pb_w));
|
||||
m_tpi2->in_pc_cb().set(FUNC(p500_state::tpi2_pc_r));
|
||||
m_tpi2->out_pc_cb().set(FUNC(p500_state::tpi2_pc_w));
|
||||
|
||||
MCFG_DEVICE_ADD(MOS6551A_TAG, MOS6551, 0)
|
||||
MCFG_MOS6551_XTAL(XTAL(1'843'200))
|
||||
MCFG_MOS6551_IRQ_HANDLER(WRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w))
|
||||
@ -2574,17 +2580,20 @@ MACHINE_CONFIG_START(cbm2_state::cbm2lp_ntsc)
|
||||
|
||||
// devices
|
||||
MCFG_PLS100_ADD(PLA1_TAG)
|
||||
MCFG_DEVICE_ADD(MOS6525_1_TAG, TPI6525, 0)
|
||||
MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(*this, cbm2_state, tpi1_irq_w))
|
||||
MCFG_TPI6525_IN_PA_CB(READ8(*this, cbm2_state, tpi1_pa_r))
|
||||
MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi1_pa_w))
|
||||
MCFG_TPI6525_IN_PA_CB(READ8(*this, cbm2_state, tpi1_pb_r))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi1_pb_w))
|
||||
MCFG_TPI6525_OUT_CA_CB(WRITELINE(*this, cbm2_state, tpi1_ca_w))
|
||||
MCFG_DEVICE_ADD(MOS6525_2_TAG, TPI6525, 0)
|
||||
MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi2_pa_w))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi2_pb_w))
|
||||
MCFG_TPI6525_IN_PC_CB(READ8(*this, cbm2_state, tpi2_pc_r))
|
||||
|
||||
TPI6525(config, m_tpi1, 0);
|
||||
m_tpi1->out_irq_cb().set(FUNC(cbm2_state::tpi1_irq_w));
|
||||
m_tpi1->in_pa_cb().set(FUNC(cbm2_state::tpi1_pa_r));
|
||||
m_tpi1->out_pa_cb().set(FUNC(cbm2_state::tpi1_pa_w));
|
||||
m_tpi1->in_pb_cb().set(FUNC(cbm2_state::tpi1_pb_r));
|
||||
m_tpi1->out_pb_cb().set(FUNC(cbm2_state::tpi1_pb_w));
|
||||
m_tpi1->out_ca_cb().set(FUNC(cbm2_state::tpi1_ca_w));
|
||||
|
||||
TPI6525(config, m_tpi2, 0);
|
||||
m_tpi2->out_pa_cb().set(FUNC(cbm2_state::tpi2_pa_w));
|
||||
m_tpi2->out_pb_cb().set(FUNC(cbm2_state::tpi2_pb_w));
|
||||
m_tpi2->in_pc_cb().set(FUNC(cbm2_state::tpi2_pc_r));
|
||||
|
||||
MCFG_DEVICE_ADD(MOS6551A_TAG, MOS6551, 0)
|
||||
MCFG_MOS6551_XTAL(XTAL(1'843'200))
|
||||
MCFG_MOS6551_IRQ_HANDLER(WRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w))
|
||||
@ -2703,8 +2712,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(cbm2_state::cbm2hp_ntsc)
|
||||
cbm2lp_ntsc(config);
|
||||
MCFG_DEVICE_MODIFY(MOS6525_2_TAG)
|
||||
MCFG_TPI6525_IN_PC_CB(READ8(*this, cbm2hp_state, tpi2_pc_r))
|
||||
m_tpi2->in_pc_cb().set(FUNC(cbm2hp_state::tpi2_pc_r));
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -2744,11 +2752,11 @@ MACHINE_CONFIG_START(cbm2hp_state::bx256hp)
|
||||
MCFG_DEVICE_ADD(EXT_I8259A_TAG, PIC8259, 0)
|
||||
MCFG_PIC8259_OUT_INT_CB(INPUTLINE(EXT_I8088_TAG, INPUT_LINE_IRQ0))
|
||||
|
||||
MCFG_DEVICE_ADD(EXT_MOS6525_TAG, TPI6525, 0)
|
||||
MCFG_TPI6525_IN_PA_CB(READ8(EXT_MOS6526_TAG, mos6526_device, pa_r))
|
||||
MCFG_TPI6525_IN_PB_CB(READ8(*this, cbm2_state, ext_tpi_pb_r))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, ext_tpi_pb_w))
|
||||
MCFG_TPI6525_OUT_PC_CB(WRITE8(*this, cbm2_state, ext_tpi_pc_w))
|
||||
TPI6525(config, m_ext_tpi, 0);
|
||||
m_ext_tpi->in_pa_cb().set(EXT_MOS6526_TAG, FUNC(mos6526_device::pa_r));
|
||||
m_ext_tpi->in_pb_cb().set(FUNC(cbm2_state::ext_tpi_pb_r));
|
||||
m_ext_tpi->out_pb_cb().set(FUNC(cbm2_state::ext_tpi_pb_w));
|
||||
m_ext_tpi->out_pc_cb().set(FUNC(cbm2_state::ext_tpi_pc_w));
|
||||
|
||||
MCFG_DEVICE_ADD(EXT_MOS6526_TAG, MOS6526, XTAL(18'000'000)/9)
|
||||
MCFG_MOS6526_TOD(60)
|
||||
@ -2770,8 +2778,7 @@ MACHINE_CONFIG_START(cbm2_state::cbm2hp_pal)
|
||||
MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2_pal)
|
||||
|
||||
// devices
|
||||
MCFG_DEVICE_MODIFY(MOS6525_2_TAG)
|
||||
MCFG_TPI6525_IN_PC_CB(READ8(*this, cbm2hp_state, tpi2_pc_r))
|
||||
m_tpi2->in_pc_cb().set(FUNC(cbm2hp_state::tpi2_pc_r));
|
||||
|
||||
MCFG_DEVICE_MODIFY(MOS6526_TAG)
|
||||
MCFG_MOS6526_TOD(50)
|
||||
@ -2814,11 +2821,11 @@ MACHINE_CONFIG_START(cbm2hp_state::cbm730)
|
||||
MCFG_DEVICE_ADD(EXT_I8259A_TAG, PIC8259, 0)
|
||||
MCFG_PIC8259_OUT_INT_CB(INPUTLINE(EXT_I8088_TAG, INPUT_LINE_IRQ0))
|
||||
|
||||
MCFG_DEVICE_ADD(EXT_MOS6525_TAG, TPI6525, 0)
|
||||
MCFG_TPI6525_IN_PA_CB(READ8(EXT_MOS6526_TAG, mos6526_device, pa_r))
|
||||
MCFG_TPI6525_IN_PB_CB(READ8(*this, cbm2_state, ext_tpi_pb_r))
|
||||
MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, ext_tpi_pb_w))
|
||||
MCFG_TPI6525_OUT_PC_CB(WRITE8(*this, cbm2_state, ext_tpi_pc_w))
|
||||
TPI6525(config, m_ext_tpi, 0);
|
||||
m_ext_tpi->in_pa_cb().set(EXT_MOS6526_TAG, FUNC(mos6526_device::pa_r));
|
||||
m_ext_tpi->in_pb_cb().set(FUNC(cbm2_state::ext_tpi_pb_r));
|
||||
m_ext_tpi->out_pb_cb().set(FUNC(cbm2_state::ext_tpi_pb_w));
|
||||
m_ext_tpi->out_pc_cb().set(FUNC(cbm2_state::ext_tpi_pc_w));
|
||||
|
||||
MCFG_DEVICE_ADD(EXT_MOS6526_TAG, MOS6526, XTAL(18'000'000)/9)
|
||||
MCFG_MOS6526_TOD(50)
|
||||
|
@ -701,12 +701,12 @@ MACHINE_CONFIG_START(firefox_state::firefox)
|
||||
X2212(config, "nvram_1c").set_auto_save(true);
|
||||
X2212(config, "nvram_1d").set_auto_save(true);
|
||||
|
||||
MCFG_DEVICE_ADD("riot", RIOT6532, MASTER_XTAL/8)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, firefox_state, riot_porta_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, firefox_state, riot_porta_w))
|
||||
MCFG_RIOT6532_IN_PB_CB(READ8("tms", tms5220_device, status_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8("tms", tms5220_device, data_w))
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("audiocpu", M6502_IRQ_LINE))
|
||||
riot6532_device &riot(RIOT6532(config, "riot", MASTER_XTAL/8));
|
||||
riot.in_pa_callback().set(FUNC(firefox_state::riot_porta_r));
|
||||
riot.out_pa_callback().set(FUNC(firefox_state::riot_porta_w));
|
||||
riot.in_pb_callback().set("tms", FUNC(tms5220_device::status_r));
|
||||
riot.out_pb_callback().set("tms", FUNC(tms5220_device::data_w));
|
||||
riot.irq_callback().set_inputline("audiocpu", M6502_IRQ_LINE);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
|
@ -367,24 +367,26 @@ MACHINE_CONFIG_START(gts80_state::gts80)
|
||||
config.set_default_layout(layout_gts80);
|
||||
|
||||
/* Devices */
|
||||
MCFG_DEVICE_ADD("riot1", RIOT6532, XTAL(3'579'545)/4)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, gts80_state, port1a_r)) // sw_r
|
||||
//MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, gts80_state, port1a_w))
|
||||
//MCFG_RIOT6532_IN_PB_CB(READ8(*this, gts80_state, port1b_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, gts80_state, port1b_w)) // sw_w
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
MCFG_DEVICE_ADD("riot2", RIOT6532, XTAL(3'579'545)/4)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, gts80_state, port2a_r)) // pa7 - slam tilt
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, gts80_state, port2a_w)) // digit select
|
||||
//MCFG_RIOT6532_IN_PB_CB(READ8(*this, gts80_state, port2b_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, gts80_state, port2b_w)) // seg
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
MCFG_DEVICE_ADD("riot3", RIOT6532, XTAL(3'579'545)/4)
|
||||
//MCFG_RIOT6532_IN_PA_CB(READ8(*this, gts80_state, port3a_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, gts80_state, port3a_w)) // sol, snd
|
||||
//MCFG_RIOT6532_IN_PB_CB(READ8(*this, gts80_state, port3b_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, gts80_state, port3b_w)) // lamps
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
riot6532_device &riot1(RIOT6532(config, "riot1", XTAL(3'579'545)/4));
|
||||
riot1.in_pa_callback().set(FUNC(gts80_state::port1a_r)); // sw_r
|
||||
//riot1.out_pa_callback().set(FUNC(gts80_state::port1a_w));
|
||||
//riot1.in_pb_callback().set(FUNC(gts80_state::port1b_r));
|
||||
riot1.out_pb_callback().set(FUNC(gts80_state::port1b_w)); // sw_w
|
||||
riot1.irq_callback().set_inputline("maincpu", M6502_IRQ_LINE);
|
||||
|
||||
riot6532_device &riot2(RIOT6532(config, "riot2", XTAL(3'579'545)/4));
|
||||
riot2.in_pa_callback().set(FUNC(gts80_state::port2a_r)); // pa7 - slam tilt
|
||||
riot2.out_pa_callback().set(FUNC(gts80_state::port2a_w)); // digit select
|
||||
//riot2.in_pb_callback().set(FUNC(gts80_state::port2b_r));
|
||||
riot2.out_pb_callback().set(FUNC(gts80_state::port2b_w)); // seg
|
||||
riot2.irq_callback().set_inputline("maincpu", M6502_IRQ_LINE);
|
||||
|
||||
riot6532_device &riot3(RIOT6532(config, "riot3", XTAL(3'579'545)/4));
|
||||
//riot3.in_pa_callback().set(FUNC(gts80_state::port3a_r));
|
||||
riot3.out_pa_callback().set(FUNC(gts80_state::port3a_w)); // sol, snd
|
||||
//riot3.in_pb_callback().set(FUNC(gts80_state::port3b_r));
|
||||
riot3.out_pb_callback().set(FUNC(gts80_state::port3b_w)); // lamps
|
||||
riot3.irq_callback().set_inputline("maincpu", M6502_IRQ_LINE);
|
||||
|
||||
/* Sound */
|
||||
genpin_audio(config);
|
||||
|
@ -358,24 +358,26 @@ MACHINE_CONFIG_START(gts80a_state::gts80a)
|
||||
config.set_default_layout(layout_gts80a);
|
||||
|
||||
/* Devices */
|
||||
MCFG_DEVICE_ADD("riot1", RIOT6532, XTAL(3'579'545)/4)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, gts80a_state, port1a_r)) // sw_r
|
||||
//MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, gts80a_state, port1a_w))
|
||||
//MCFG_RIOT6532_IN_PB_CB(READ8(*this, gts80a_state, port1b_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, gts80a_state, port1b_w)) // sw_w
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
MCFG_DEVICE_ADD("riot2", RIOT6532, XTAL(3'579'545)/4)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, gts80a_state, port2a_r)) // pa7 - slam tilt
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, gts80a_state, port2a_w)) // digit select
|
||||
//MCFG_RIOT6532_IN_PB_CB(READ8(*this, gts80a_state, port2b_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, gts80a_state, port2b_w)) // seg
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
MCFG_DEVICE_ADD("riot3", RIOT6532, XTAL(3'579'545)/4)
|
||||
//MCFG_RIOT6532_IN_PA_CB(READ8(*this, gts80a_state, port3a_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, gts80a_state, port3a_w)) // sol, snd
|
||||
//MCFG_RIOT6532_IN_PB_CB(READ8(*this, gts80a_state, port3b_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, gts80a_state, port3b_w)) // lamps
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
riot6532_device &riot1(RIOT6532(config, "riot1", XTAL(3'579'545)/4));
|
||||
riot1.in_pa_callback().set(FUNC(gts80a_state::port1a_r)); // sw_r
|
||||
//riot1.out_pa_callback().set(FUNC(gts80a_state::port1a_w));
|
||||
//riot1.in_pb_callback().set(FUNC(gts80a_state::port1b_r));
|
||||
riot1.out_pb_callback().set(FUNC(gts80a_state::port1b_w)); // sw_w
|
||||
riot1.irq_callback().set_inputline("maincpu", M6502_IRQ_LINE);
|
||||
|
||||
riot6532_device &riot2(RIOT6532(config, "riot2", XTAL(3'579'545)/4));
|
||||
riot2.in_pa_callback().set(FUNC(gts80a_state::port2a_r)); // pa7 - slam tilt
|
||||
riot2.out_pa_callback().set(FUNC(gts80a_state::port2a_w)); // digit select
|
||||
//riot2.in_pb_callback().set(FUNC(gts80a_state::port2b_r));
|
||||
riot2.out_pb_callback().set(FUNC(gts80a_state::port2b_w)); // seg
|
||||
riot2.irq_callback().set_inputline("maincpu", M6502_IRQ_LINE);
|
||||
|
||||
riot6532_device &riot3(RIOT6532(config, "riot3", XTAL(3'579'545)/4));
|
||||
//riot3.in_pa_callback().set(FUNC(gts80a_state::port3a_r));
|
||||
riot3.out_pa_callback().set(FUNC(gts80a_state::port3a_w)); // sol, snd
|
||||
//riot3.in_pb_callback().set(FUNC(gts80a_state::port3b_r));
|
||||
riot3.out_pb_callback().set(FUNC(gts80a_state::port3b_w)); // lamps
|
||||
riot3.irq_callback().set_inputline("maincpu", M6502_IRQ_LINE);
|
||||
|
||||
/* Sound */
|
||||
genpin_audio(config);
|
||||
|
@ -399,24 +399,26 @@ MACHINE_CONFIG_START(gts80b_state::gts80b)
|
||||
config.set_default_layout(layout_gts80b);
|
||||
|
||||
/* Devices */
|
||||
MCFG_DEVICE_ADD("riot1", RIOT6532, XTAL(3'579'545)/4)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, gts80b_state, port1a_r)) // sw_r
|
||||
//MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, gts80b_state, port1a_w))
|
||||
//MCFG_RIOT6532_IN_PB_CB(READ8(*this, gts80b_state, port1b_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, gts80b_state, port1b_w)) // sw_w
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
MCFG_DEVICE_ADD("riot2", RIOT6532, XTAL(3'579'545)/4)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, gts80b_state, port2a_r)) // pa7 - slam tilt
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, gts80b_state, port2a_w)) // digit select
|
||||
//MCFG_RIOT6532_IN_PB_CB(READ8(*this, gts80b_state, port2b_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, gts80b_state, port2b_w)) // seg
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
MCFG_DEVICE_ADD("riot3", RIOT6532, XTAL(3'579'545)/4)
|
||||
//MCFG_RIOT6532_IN_PA_CB(READ8(*this, gts80b_state, port3a_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, gts80b_state, port3a_w)) // sol, snd
|
||||
//MCFG_RIOT6532_IN_PB_CB(READ8(*this, gts80b_state, port3b_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, gts80b_state, port3b_w)) // lamps
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
riot6532_device &riot1(RIOT6532(config, "riot1", XTAL(3'579'545)/4));
|
||||
riot1.in_pa_callback().set(FUNC(gts80b_state::port1a_r)); // sw_r
|
||||
//riot1.out_pa_callback().set(FUNC(gts80b_state::port1a_w));
|
||||
//riot1.in_pb_callback().set(FUNC(gts80b_state::port1b_r));
|
||||
riot1.out_pb_callback().set(FUNC(gts80b_state::port1b_w)); // sw_w
|
||||
riot1.irq_callback().set_inputline("maincpu", M6502_IRQ_LINE);
|
||||
|
||||
riot6532_device &riot2(RIOT6532(config, "riot2", XTAL(3'579'545)/4));
|
||||
riot2.in_pa_callback().set(FUNC(gts80b_state::port2a_r)); // pa7 - slam tilt
|
||||
riot2.out_pa_callback().set(FUNC(gts80b_state::port2a_w)); // digit select
|
||||
//riot2.in_pb_callback().set(FUNC(gts80b_state::port2b_r));
|
||||
riot2.out_pb_callback().set(FUNC(gts80b_state::port2b_w)); // seg
|
||||
riot2.irq_callback().set_inputline("maincpu", M6502_IRQ_LINE);
|
||||
|
||||
riot6532_device &riot3(RIOT6532(config, "riot3", XTAL(3'579'545)/4));
|
||||
//riot3.in_pa_callback().set(FUNC(gts80b_state::port3a_r));
|
||||
riot3.out_pa_callback().set(FUNC(gts80b_state::port3a_w)); // sol, snd
|
||||
//riot3.in_pb_callback().set(FUNC(gts80b_state::port3b_r));
|
||||
riot3.out_pb_callback().set(FUNC(gts80b_state::port3b_w)); // lamps
|
||||
riot3.irq_callback().set_inputline("maincpu", M6502_IRQ_LINE);
|
||||
|
||||
/* Sound */
|
||||
genpin_audio(config);
|
||||
|
@ -234,12 +234,12 @@ MACHINE_CONFIG_START(spectra_state::spectra)
|
||||
MCFG_DEVICE_ADD("maincpu", M6502, XTAL(3'579'545)/4) // actually a M6503
|
||||
MCFG_DEVICE_PROGRAM_MAP(spectra_map)
|
||||
|
||||
MCFG_DEVICE_ADD("riot", RIOT6532, XTAL(3'579'545)/4)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, spectra_state, porta_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, spectra_state, porta_w))
|
||||
MCFG_RIOT6532_IN_PB_CB(READ8(*this, spectra_state, portb_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, spectra_state, portb_w))
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
riot6532_device &riot(RIOT6532(config, "riot", XTAL(3'579'545)/4));
|
||||
riot.in_pa_callback().set(FUNC(spectra_state::porta_r));
|
||||
riot.out_pa_callback().set(FUNC(spectra_state::porta_w));
|
||||
riot.in_pb_callback().set(FUNC(spectra_state::portb_r));
|
||||
riot.out_pb_callback().set(FUNC(spectra_state::portb_w));
|
||||
riot.irq_callback().set_inputline("maincpu", M6502_IRQ_LINE);
|
||||
|
||||
MCFG_NVRAM_ADD_1FILL("nvram")
|
||||
|
||||
|
@ -316,12 +316,12 @@ MACHINE_CONFIG_START(starwars_state::starwars)
|
||||
MCFG_ADC0808_IN1_CB(IOPORT("STICKX")) // yaw
|
||||
MCFG_ADC0808_IN2_CB(CONSTANT(0)) // thrust (unused)
|
||||
|
||||
MCFG_DEVICE_ADD("riot", RIOT6532, MASTER_CLOCK / 8)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, starwars_state, r6532_porta_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, starwars_state, r6532_porta_w))
|
||||
MCFG_RIOT6532_IN_PB_CB(READ8("tms", tms5220_device, status_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8("tms", tms5220_device, data_w))
|
||||
MCFG_RIOT6532_IRQ_CB(INPUTLINE("audiocpu", M6809_IRQ_LINE))
|
||||
RIOT6532(config, m_riot, MASTER_CLOCK / 8);
|
||||
m_riot->in_pa_callback().set(FUNC(starwars_state::r6532_porta_r));
|
||||
m_riot->out_pa_callback().set(FUNC(starwars_state::r6532_porta_w));
|
||||
m_riot->in_pb_callback().set("tms", FUNC(tms5220_device::status_r));
|
||||
m_riot->out_pb_callback().set("tms", FUNC(tms5220_device::data_w));
|
||||
m_riot->irq_callback().set_inputline("audiocpu", M6809_IRQ_LINE);
|
||||
|
||||
X2212(config, "x2212").set_auto_save(true); /* nvram */
|
||||
|
||||
|
@ -160,15 +160,15 @@ MACHINE_CONFIG_START(tourtabl_state::tourtabl)
|
||||
MCFG_DEVICE_ADD("maincpu", M6502, MASTER_CLOCK / 3) /* actually M6507 */
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
|
||||
MCFG_DEVICE_ADD("riot1", RIOT6532, MASTER_CLOCK / 3)
|
||||
MCFG_RIOT6532_IN_PA_CB(IOPORT("RIOT0_SWA"))
|
||||
MCFG_RIOT6532_IN_PB_CB(IOPORT("RIOT0_SWB"))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8("watchdog", watchdog_timer_device, reset_w))
|
||||
riot6532_device &riot1(RIOT6532(config, "riot1", MASTER_CLOCK / 3));
|
||||
riot1.in_pa_callback().set_ioport("RIOT0_SWA");
|
||||
riot1.in_pb_callback().set_ioport("RIOT0_SWB");
|
||||
riot1.out_pb_callback().set("watchdog", FUNC(watchdog_timer_device::reset_w));
|
||||
|
||||
MCFG_DEVICE_ADD("riot2", RIOT6532, MASTER_CLOCK / 3)
|
||||
MCFG_RIOT6532_IN_PA_CB(IOPORT("RIOT1_SWA"))
|
||||
MCFG_RIOT6532_IN_PB_CB(IOPORT("RIOT1_SWB"))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, tourtabl_state, tourtabl_led_w))
|
||||
riot6532_device &riot2(RIOT6532(config, "riot2", MASTER_CLOCK / 3));
|
||||
riot2.in_pa_callback().set_ioport("RIOT1_SWA");
|
||||
riot2.in_pb_callback().set_ioport("RIOT1_SWB");
|
||||
riot2.out_pb_callback().set(FUNC(tourtabl_state::tourtabl_led_w));
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
||||
|
@ -107,12 +107,12 @@ MACHINE_CONFIG_START(tvboy_state::tvboyii)
|
||||
MCFG_MOS6530n_OUT_PB_CB(WRITE8(*this, tvboy_state, switch_B_w))
|
||||
MCFG_MOS6530n_IRQ_CB(WRITELINE(*this, tvboy_state, irq_callback))
|
||||
#else
|
||||
MCFG_DEVICE_ADD("riot", RIOT6532, MASTER_CLOCK_PAL / 3)
|
||||
MCFG_RIOT6532_IN_PA_CB(READ8(*this, tvboy_state, switch_A_r))
|
||||
MCFG_RIOT6532_OUT_PA_CB(WRITE8(*this, tvboy_state, switch_A_w))
|
||||
MCFG_RIOT6532_IN_PB_CB(READ8(*this, tvboy_state, riot_input_port_8_r))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, tvboy_state, switch_B_w))
|
||||
MCFG_RIOT6532_IRQ_CB(WRITELINE(*this, tvboy_state, irq_callback))
|
||||
RIOT6532(config, m_riot, MASTER_CLOCK_PAL / 3);
|
||||
m_riot->in_pa_callback().set(FUNC(tvboy_state::switch_A_r));
|
||||
m_riot->out_pa_callback().set(FUNC(tvboy_state::switch_A_w));
|
||||
m_riot->in_pb_callback().set(FUNC(tvboy_state::riot_input_port_8_r));
|
||||
m_riot->out_pb_callback().set(FUNC(tvboy_state::switch_B_w));
|
||||
m_riot->irq_callback().set(FUNC(tvboy_state::irq_callback));
|
||||
#endif
|
||||
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, "joy")
|
||||
|
Loading…
Reference in New Issue
Block a user