mirror of
https://github.com/holub/mame
synced 2025-04-23 17:00:53 +03:00
-mb87078,mb8795,mb89363b,mc14411: De-MCFG, nw
This commit is contained in:
parent
b726779643
commit
bb0e5c9b7c
@ -148,7 +148,8 @@ namespace
|
||||
IMPLEMENTATION
|
||||
***************************************************************************/
|
||||
|
||||
MACHINE_CONFIG_START(coco_t4426_device::device_add_mconfig)
|
||||
void coco_t4426_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
PIA6821(config, m_pia, 0);
|
||||
m_pia->writepa_handler().set(FUNC(coco_t4426_device::pia_A_w));
|
||||
|
||||
@ -156,22 +157,22 @@ MACHINE_CONFIG_START(coco_t4426_device::device_add_mconfig)
|
||||
m_uart->txd_handler().set(SERIAL_TAG, FUNC(rs232_port_device::write_txd));
|
||||
m_uart->rts_handler().set(SERIAL_TAG, FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD(SERIAL_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(UART_TAG, acia6850_device, write_rxd))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(UART_TAG, acia6850_device, write_cts))
|
||||
rs232_port_device &rs232(RS232_PORT(config, SERIAL_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(UART_TAG, FUNC(acia6850_device::write_rxd));
|
||||
rs232.cts_handler().set(UART_TAG, FUNC(acia6850_device::write_cts));
|
||||
|
||||
/* Bit Rate Generator */
|
||||
MCFG_DEVICE_ADD(BRG_TAG, MC14411, 1.8432_MHz_XTAL)
|
||||
MCFG_MC14411_F1_CB(WRITELINE(*this, coco_t4426_device, write_f1_clock))
|
||||
MCFG_MC14411_F3_CB(WRITELINE(*this, coco_t4426_device, write_f3_clock))
|
||||
MCFG_MC14411_F5_CB(WRITELINE(*this, coco_t4426_device, write_f5_clock))
|
||||
MCFG_MC14411_F7_CB(WRITELINE(*this, coco_t4426_device, write_f7_clock))
|
||||
MCFG_MC14411_F8_CB(WRITELINE(*this, coco_t4426_device, write_f8_clock))
|
||||
MCFG_MC14411_F9_CB(WRITELINE(*this, coco_t4426_device, write_f9_clock))
|
||||
MCFG_MC14411_F11_CB(WRITELINE(*this, coco_t4426_device, write_f11_clock))
|
||||
MCFG_MC14411_F13_CB(WRITELINE(*this, coco_t4426_device, write_f13_clock))
|
||||
MCFG_MC14411_F15_CB(WRITELINE(*this, coco_t4426_device, write_f15_clock))
|
||||
MACHINE_CONFIG_END
|
||||
MC14411(config, m_brg, 1.8432_MHz_XTAL);
|
||||
m_brg->out_f<1>().set(FUNC(coco_t4426_device::write_f1_clock));
|
||||
m_brg->out_f<3>().set(FUNC(coco_t4426_device::write_f3_clock));
|
||||
m_brg->out_f<5>().set(FUNC(coco_t4426_device::write_f5_clock));
|
||||
m_brg->out_f<7>().set(FUNC(coco_t4426_device::write_f7_clock));
|
||||
m_brg->out_f<8>().set(FUNC(coco_t4426_device::write_f8_clock));
|
||||
m_brg->out_f<9>().set(FUNC(coco_t4426_device::write_f9_clock));
|
||||
m_brg->out_f<11>().set(FUNC(coco_t4426_device::write_f11_clock));
|
||||
m_brg->out_f<13>().set(FUNC(coco_t4426_device::write_f13_clock));
|
||||
m_brg->out_f<15>().set(FUNC(coco_t4426_device::write_f15_clock));
|
||||
}
|
||||
|
||||
ROM_START( coco_t4426 )
|
||||
// Part of this region is filled by set_bank
|
||||
|
@ -12,24 +12,12 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
DEVICE CONFIGURATION MACROS
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_MB87078_GAIN_CHANGED_CB(_devcb) \
|
||||
downcast<mb87078_device &>(*device).set_gain_changed_callback(DEVCB_##_devcb);
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
***************************************************************************/
|
||||
|
||||
class mb87078_device : public device_t
|
||||
{
|
||||
public:
|
||||
mb87078_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
mb87078_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||
|
||||
template <class Object> devcb_base &set_gain_changed_callback(Object &&cb) { return m_gain_changed_cb.set_callback(std::forward<Object>(cb)); }
|
||||
auto gain_changed() { return m_gain_changed_cb.bind(); }
|
||||
|
||||
void data_w(int data, int dsel);
|
||||
void reset_comp_w(int level);
|
||||
|
@ -3,33 +3,16 @@
|
||||
#ifndef MAME_MACHINE_MB8795_H
|
||||
#define MAME_MACHINE_MB8795_H
|
||||
|
||||
#define MCFG_MB8795_ADD(_tag, _tx_irq, _rx_irq, _tx_drq, _rx_drq) \
|
||||
MCFG_DEVICE_ADD(_tag, MB8795, 0) \
|
||||
downcast<mb8795_device *>(device)->set_irq_cb(_tx_irq, _rx_irq); \
|
||||
downcast<mb8795_device *>(device)->set_drq_cb(_tx_drq, _rx_drq);
|
||||
|
||||
#define MCFG_MB8795_TX_IRQ_CALLBACK(_write) \
|
||||
downcast<mb8795_device &>(*device).set_tx_irq_wr_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_MB8795_RX_IRQ_CALLBACK(_write) \
|
||||
downcast<mb8795_device &>(*device).set_rx_irq_wr_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_MB8795_TX_DRQ_CALLBACK(_write) \
|
||||
downcast<mb8795_device &>(*device).set_tx_drq_wr_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_MB8795_RX_DRQ_CALLBACK(_write) \
|
||||
downcast<mb8795_device &>(*device).set_rx_drq_wr_callback(DEVCB_##_write);
|
||||
|
||||
class mb8795_device : public device_t,
|
||||
public device_network_interface
|
||||
{
|
||||
public:
|
||||
mb8795_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
template <class Object> devcb_base &set_tx_irq_wr_callback(Object &&cb) { return irq_tx_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_rx_irq_wr_callback(Object &&cb) { return irq_rx_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_tx_drq_wr_callback(Object &&cb) { return drq_tx_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_rx_drq_wr_callback(Object &&cb) { return drq_rx_cb.set_callback(std::forward<Object>(cb)); }
|
||||
auto tx_irq() { return irq_tx_cb.bind(); }
|
||||
auto rx_irq() { return irq_rx_cb.bind(); }
|
||||
auto tx_drq() { return drq_tx_cb.bind(); }
|
||||
auto rx_drq() { return drq_rx_cb.bind(); }
|
||||
|
||||
void tx_dma_w(uint8_t data, bool eof);
|
||||
void rx_dma_r(uint8_t &data, bool &eof);
|
||||
|
@ -12,78 +12,33 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "machine/i8255.h"
|
||||
|
||||
|
||||
DECLARE_DEVICE_TYPE(MB89363B, mb89363b_device)
|
||||
|
||||
#define MCFG_MB89363B_ADD(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, MB89363B, 0)
|
||||
|
||||
|
||||
|
||||
#define MCFG_MB89363B_IN_PORTA_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_in_a_pa_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_MB89363B_IN_PORTB_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_in_a_pb_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_MB89363B_IN_PORTC_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_in_a_pc_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_MB89363B_OUT_PORTA_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_out_a_pa_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_MB89363B_OUT_PORTB_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_out_a_pb_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_MB89363B_OUT_PORTC_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_out_a_pc_callback(DEVCB_##_devcb);
|
||||
|
||||
|
||||
#define MCFG_MB89363B_IN_PORTD_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_in_b_pa_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_MB89363B_IN_PORTE_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_in_b_pb_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_MB89363B_IN_PORTF_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_in_b_pc_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_MB89363B_OUT_PORTD_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_out_b_pa_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_MB89363B_OUT_PORTE_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_out_b_pb_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_MB89363B_OUT_PORTF_CB(_devcb) \
|
||||
downcast<mb89363b_device &>(*device).set_out_b_pc_callback(DEVCB_##_devcb);
|
||||
|
||||
|
||||
|
||||
class mb89363b_device : public device_t
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
mb89363b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
mb89363b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||
|
||||
DECLARE_READ8_MEMBER(read);
|
||||
DECLARE_WRITE8_MEMBER(write);
|
||||
|
||||
template <class Object> devcb_base &set_in_a_pa_callback(Object &&cb) { return m_in_a_pa_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_in_a_pb_callback(Object &&cb) { return m_in_a_pb_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_in_a_pc_callback(Object &&cb) { return m_in_a_pc_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_a_pa_callback(Object &&cb) { return m_out_a_pa_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_a_pb_callback(Object &&cb) { return m_out_a_pb_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_a_pc_callback(Object &&cb) { return m_out_a_pc_cb.set_callback(std::forward<Object>(cb)); }
|
||||
auto in_pa() { return m_in_a_pa_cb.bind(); }
|
||||
auto in_pb() { return m_in_a_pb_cb.bind(); }
|
||||
auto in_pc() { return m_in_a_pc_cb.bind(); }
|
||||
auto out_pa() { return m_out_a_pa_cb.bind(); }
|
||||
auto out_pb() { return m_out_a_pb_cb.bind(); }
|
||||
auto out_pc() { return m_out_a_pc_cb.bind(); }
|
||||
|
||||
template <class Object> devcb_base &set_in_b_pa_callback(Object &&cb) { return m_in_b_pa_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_in_b_pb_callback(Object &&cb) { return m_in_b_pb_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_in_b_pc_callback(Object &&cb) { return m_in_b_pc_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_b_pa_callback(Object &&cb) { return m_out_b_pa_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_b_pb_callback(Object &&cb) { return m_out_b_pb_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_b_pc_callback(Object &&cb) { return m_out_b_pc_cb.set_callback(std::forward<Object>(cb)); }
|
||||
auto in_pd() { return m_in_b_pa_cb.bind(); }
|
||||
auto in_pe() { return m_in_b_pb_cb.bind(); }
|
||||
auto in_pf() { return m_in_b_pc_cb.bind(); }
|
||||
auto out_pd() { return m_out_b_pa_cb.bind(); }
|
||||
auto out_pe() { return m_out_b_pb_cb.bind(); }
|
||||
auto out_pf() { return m_out_b_pc_cb.bind(); }
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
@ -26,31 +26,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_MC14411_F1_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb( 0, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F2_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb( 1, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F3_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb( 2, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F4_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb( 3, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F5_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb( 4, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F6_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb( 5, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F7_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb( 6, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F8_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb( 7, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F9_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb( 8, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F10_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb( 9, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F11_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb(10, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F12_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb(11, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F13_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb(12, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F14_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb(13, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F15_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb(14, DEVCB_##_devcb);
|
||||
#define MCFG_MC14411_F16_CB(_devcb) downcast<mc14411_device &>(*device).set_out_fx_cb(15, DEVCB_##_devcb);
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
class mc14411_device : public device_t
|
||||
{
|
||||
public:
|
||||
@ -86,23 +61,7 @@ public:
|
||||
// construction/destruction
|
||||
mc14411_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
template <class Object> devcb_base &set_out_fx_cb(int index, Object &&cb) { return m_out_fx_cbs[index].set_callback(std::forward<Object>(cb)); }
|
||||
auto out_f1_cb() { return m_out_fx_cbs[0].bind(); }
|
||||
auto out_f2_cb() { return m_out_fx_cbs[1].bind(); }
|
||||
auto out_f3_cb() { return m_out_fx_cbs[2].bind(); }
|
||||
auto out_f4_cb() { return m_out_fx_cbs[3].bind(); }
|
||||
auto out_f5_cb() { return m_out_fx_cbs[4].bind(); }
|
||||
auto out_f6_cb() { return m_out_fx_cbs[5].bind(); }
|
||||
auto out_f7_cb() { return m_out_fx_cbs[6].bind(); }
|
||||
auto out_f8_cb() { return m_out_fx_cbs[7].bind(); }
|
||||
auto out_f9_cb() { return m_out_fx_cbs[8].bind(); }
|
||||
auto out_f10_cb() { return m_out_fx_cbs[9].bind(); }
|
||||
auto out_f11_cb() { return m_out_fx_cbs[10].bind(); }
|
||||
auto out_f12_cb() { return m_out_fx_cbs[11].bind(); }
|
||||
auto out_f13_cb() { return m_out_fx_cbs[12].bind(); }
|
||||
auto out_f14_cb() { return m_out_fx_cbs[13].bind(); }
|
||||
auto out_f15_cb() { return m_out_fx_cbs[14].bind(); }
|
||||
auto out_f16_cb() { return m_out_fx_cbs[15].bind(); }
|
||||
template <std::size_t Line> auto out_f() { return m_out_fx_cbs[Line-1].bind(); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(reset_w);
|
||||
DECLARE_WRITE8_MEMBER(rate_select_w);
|
||||
@ -141,7 +100,6 @@ private:
|
||||
bool m_timer_enabled[16];
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(MC14411, mc14411_device)
|
||||
|
||||
#endif // MAME_MACHINE_MC14411_H
|
||||
|
@ -210,8 +210,8 @@ MACHINE_CONFIG_START(taito_en_device::device_add_mconfig)
|
||||
MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, taito_en_device, duart_irq_handler))
|
||||
MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(*this, taito_en_device, duart_output))
|
||||
|
||||
MCFG_DEVICE_ADD("mb87078", MB87078, 0)
|
||||
MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taito_en_device, mb87078_gain_changed))
|
||||
MB87078(config, m_mb87078);
|
||||
m_mb87078->gain_changed().set(FUNC(taito_en_device::mb87078_gain_changed));
|
||||
|
||||
MCFG_DEVICE_ADD("dpram", MB8421, 0) // host accesses this from the other side
|
||||
|
||||
|
@ -575,19 +575,19 @@ MACHINE_CONFIG_START(force68k_state::fccpu1)
|
||||
ACIA6850(config, m_aciaremt, 0);
|
||||
|
||||
/* Bit Rate Generator */
|
||||
MCFG_DEVICE_ADD("brg", MC14411, XTAL(1'843'200))
|
||||
MCFG_MC14411_F1_CB(WRITELINE (*this, force68k_state, write_f1_clock))
|
||||
MCFG_MC14411_F3_CB(WRITELINE (*this, force68k_state, write_f3_clock))
|
||||
MCFG_MC14411_F5_CB(WRITELINE (*this, force68k_state, write_f5_clock))
|
||||
MCFG_MC14411_F7_CB(WRITELINE (*this, force68k_state, write_f7_clock))
|
||||
MCFG_MC14411_F8_CB(WRITELINE (*this, force68k_state, write_f8_clock))
|
||||
MCFG_MC14411_F9_CB(WRITELINE (*this, force68k_state, write_f9_clock))
|
||||
MCFG_MC14411_F11_CB(WRITELINE (*this, force68k_state, write_f11_clock))
|
||||
MCFG_MC14411_F13_CB(WRITELINE (*this, force68k_state, write_f13_clock))
|
||||
MCFG_MC14411_F15_CB(WRITELINE (*this, force68k_state, write_f15_clock))
|
||||
MC14411(config, m_brg, XTAL(1'843'200));
|
||||
m_brg->out_f<1>().set(FUNC(force68k_state::write_f1_clock));
|
||||
m_brg->out_f<3>().set(FUNC(force68k_state::write_f3_clock));
|
||||
m_brg->out_f<5>().set(FUNC(force68k_state::write_f5_clock));
|
||||
m_brg->out_f<7>().set(FUNC(force68k_state::write_f7_clock));
|
||||
m_brg->out_f<8>().set(FUNC(force68k_state::write_f8_clock));
|
||||
m_brg->out_f<9>().set(FUNC(force68k_state::write_f9_clock));
|
||||
m_brg->out_f<11>().set(FUNC(force68k_state::write_f11_clock));
|
||||
m_brg->out_f<13>().set(FUNC(force68k_state::write_f13_clock));
|
||||
m_brg->out_f<15>().set(FUNC(force68k_state::write_f15_clock));
|
||||
|
||||
/* RTC Real Time Clock device */
|
||||
MCFG_DEVICE_ADD("rtc", MM58167, XTAL(32'768))
|
||||
MM58167(config, m_rtc, XTAL(32'768));
|
||||
|
||||
/* PIT Parallel Interface and Timer device, assuming strapped for on board clock */
|
||||
PIT68230(config, m_pit, XTAL(16'000'000) / 2);
|
||||
|
@ -477,7 +477,8 @@ static const z80_daisy_config daisy_chain_gamecpu[] =
|
||||
{ nullptr }
|
||||
};
|
||||
|
||||
MACHINE_CONFIG_START(kenseim_state::kenseim)
|
||||
void kenseim_state::kenseim(machine_config &config)
|
||||
{
|
||||
cps1_12MHz(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -493,18 +494,18 @@ MACHINE_CONFIG_START(kenseim_state::kenseim)
|
||||
gamecpu.in_pc_callback().set_ioport("CAB-IN");
|
||||
gamecpu.in_pd_callback().set(FUNC(kenseim_state::cpu_portd_r));
|
||||
|
||||
MCFG_MB89363B_ADD("mb89363b")
|
||||
mb89363b_device &ppi_x2(MB89363B(config, "mb89363b"));
|
||||
// a,b,c always $80: all ports set as output
|
||||
// d,e,f always $92: port D and E as input, port F as output
|
||||
MCFG_MB89363B_OUT_PORTA_CB(WRITE8(*this, kenseim_state, mb8936_porta_w))
|
||||
MCFG_MB89363B_OUT_PORTB_CB(WRITE8(*this, kenseim_state, mb8936_portb_w))
|
||||
MCFG_MB89363B_OUT_PORTC_CB(WRITE8(*this, kenseim_state, mb8936_portc_w))
|
||||
MCFG_MB89363B_IN_PORTD_CB(IOPORT("MOLEA"))
|
||||
MCFG_MB89363B_IN_PORTE_CB(IOPORT("MOLEB"))
|
||||
MCFG_MB89363B_OUT_PORTF_CB(WRITE8(*this, kenseim_state, mb8936_portf_w))
|
||||
ppi_x2.out_pa().set(FUNC(kenseim_state::mb8936_porta_w));
|
||||
ppi_x2.out_pb().set(FUNC(kenseim_state::mb8936_portb_w));
|
||||
ppi_x2.out_pc().set(FUNC(kenseim_state::mb8936_portc_w));
|
||||
ppi_x2.in_pd().set_ioport("MOLEA");
|
||||
ppi_x2.in_pe().set_ioport("MOLEB");
|
||||
ppi_x2.out_pf().set(FUNC(kenseim_state::mb8936_portf_w));
|
||||
|
||||
MCFG_QUANTUM_PERFECT_CPU("maincpu")
|
||||
MACHINE_CONFIG_END
|
||||
config.m_perfect_cpu_quantum = subtag("maincpu");
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( kenseim )
|
||||
// the regular CPS1 input ports are used for comms with the extra board
|
||||
|
@ -1036,11 +1036,11 @@ MACHINE_CONFIG_START(next_state::next_base)
|
||||
MCFG_NSCSI_ADD("scsibus:7", next_scsi_devices, "ncr5390", true)
|
||||
MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5390", [this] (device_t *device) { ncr5390(device); })
|
||||
|
||||
MCFG_DEVICE_ADD("net", MB8795, 0)
|
||||
MCFG_MB8795_TX_IRQ_CALLBACK(WRITELINE(*this, next_state, net_tx_irq))
|
||||
MCFG_MB8795_RX_IRQ_CALLBACK(WRITELINE(*this, next_state, net_rx_irq))
|
||||
MCFG_MB8795_TX_DRQ_CALLBACK(WRITELINE(*this, next_state, net_tx_drq))
|
||||
MCFG_MB8795_RX_DRQ_CALLBACK(WRITELINE(*this, next_state, net_rx_drq))
|
||||
MB8795(config, net, 0);
|
||||
net->tx_irq().set(FUNC(next_state::net_tx_irq));
|
||||
net->rx_irq().set(FUNC(next_state::net_rx_irq));
|
||||
net->tx_drq().set(FUNC(next_state::net_tx_drq));
|
||||
net->rx_drq().set(FUNC(next_state::net_rx_drq));
|
||||
|
||||
MCFG_DEVICE_ADD("mo", NEXTMO, 0)
|
||||
MCFG_NEXTMO_IRQ_CALLBACK(WRITELINE(*this, next_state, mo_irq))
|
||||
|
@ -426,22 +426,22 @@ MACHINE_CONFIG_START(proteus3_state::proteus3)
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("acia2", acia6850_device, write_cts))
|
||||
|
||||
/* Bit Rate Generator */
|
||||
MCFG_DEVICE_ADD ("brg", MC14411, XTAL(1'843'200)) // crystal needs verification but is the likely one
|
||||
MCFG_MC14411_F1_CB(WRITELINE (*this, proteus3_state, write_f1_clock))
|
||||
MCFG_MC14411_F2_CB(WRITELINE (*this, proteus3_state, write_f2_clock))
|
||||
MCFG_MC14411_F3_CB(WRITELINE (*this, proteus3_state, write_f3_clock))
|
||||
MCFG_MC14411_F4_CB(WRITELINE (*this, proteus3_state, write_f4_clock))
|
||||
MCFG_MC14411_F5_CB(WRITELINE (*this, proteus3_state, write_f5_clock))
|
||||
MCFG_MC14411_F6_CB(WRITELINE (*this, proteus3_state, write_f6_clock))
|
||||
MCFG_MC14411_F7_CB(WRITELINE (*this, proteus3_state, write_f7_clock))
|
||||
MCFG_MC14411_F8_CB(WRITELINE (*this, proteus3_state, write_f8_clock))
|
||||
MCFG_MC14411_F9_CB(WRITELINE (*this, proteus3_state, write_f9_clock))
|
||||
MCFG_MC14411_F10_CB(WRITELINE (*this, proteus3_state, write_f10_clock))
|
||||
MCFG_MC14411_F11_CB(WRITELINE (*this, proteus3_state, write_f11_clock))
|
||||
MCFG_MC14411_F12_CB(WRITELINE (*this, proteus3_state, write_f12_clock))
|
||||
MCFG_MC14411_F13_CB(WRITELINE (*this, proteus3_state, write_f13_clock))
|
||||
MCFG_MC14411_F14_CB(WRITELINE (*this, proteus3_state, write_f14_clock))
|
||||
MCFG_MC14411_F15_CB(WRITELINE (*this, proteus3_state, write_f15_clock))
|
||||
MC14411(config, m_brg, XTAL(1'843'200)); // crystal needs verification but is the likely one
|
||||
m_brg->out_f<1>().set(FUNC(proteus3_state::write_f1_clock));
|
||||
m_brg->out_f<2>().set(FUNC(proteus3_state::write_f2_clock));
|
||||
m_brg->out_f<3>().set(FUNC(proteus3_state::write_f3_clock));
|
||||
m_brg->out_f<4>().set(FUNC(proteus3_state::write_f4_clock));
|
||||
m_brg->out_f<5>().set(FUNC(proteus3_state::write_f5_clock));
|
||||
m_brg->out_f<6>().set(FUNC(proteus3_state::write_f6_clock));
|
||||
m_brg->out_f<7>().set(FUNC(proteus3_state::write_f7_clock));
|
||||
m_brg->out_f<8>().set(FUNC(proteus3_state::write_f8_clock));
|
||||
m_brg->out_f<9>().set(FUNC(proteus3_state::write_f9_clock));
|
||||
m_brg->out_f<10>().set(FUNC(proteus3_state::write_f10_clock));
|
||||
m_brg->out_f<11>().set(FUNC(proteus3_state::write_f11_clock));
|
||||
m_brg->out_f<12>().set(FUNC(proteus3_state::write_f12_clock));
|
||||
m_brg->out_f<13>().set(FUNC(proteus3_state::write_f13_clock));
|
||||
m_brg->out_f<14>().set(FUNC(proteus3_state::write_f14_clock));
|
||||
m_brg->out_f<15>().set(FUNC(proteus3_state::write_f15_clock));
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -103,46 +103,46 @@ MACHINE_CONFIG_START(swtpc_state::swtpc)
|
||||
MCFG_DEVICE_PROGRAM_MAP(mem_map)
|
||||
|
||||
MC14411(config, m_brg, XTAL(1'843'200));
|
||||
m_brg->out_f7_cb().set("io0", FUNC(ss50_interface_port_device::f600_1200_w)); // 1200b
|
||||
m_brg->out_f7_cb().append("io1", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f7_cb().append("io2", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f7_cb().append("io3", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f7_cb().append("io4", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f7_cb().append("io5", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f7_cb().append("io6", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f7_cb().append("io7", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f8_cb().set("io0", FUNC(ss50_interface_port_device::f600_4800_w)); // 600b
|
||||
m_brg->out_f8_cb().append("io1", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f8_cb().append("io2", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f8_cb().append("io3", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f8_cb().append("io4", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f8_cb().append("io5", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f8_cb().append("io6", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f8_cb().append("io7", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f9_cb().set("io0", FUNC(ss50_interface_port_device::f300_w)); // 300b
|
||||
m_brg->out_f9_cb().append("io1", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f9_cb().append("io2", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f9_cb().append("io3", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f9_cb().append("io4", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f9_cb().append("io5", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f9_cb().append("io6", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f9_cb().append("io7", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f11_cb().set("io0", FUNC(ss50_interface_port_device::f150_9600_w)); // 150b
|
||||
m_brg->out_f11_cb().append("io1", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f11_cb().append("io2", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f11_cb().append("io3", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f11_cb().append("io4", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f11_cb().append("io5", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f11_cb().append("io6", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f11_cb().append("io7", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f13_cb().set("io0", FUNC(ss50_interface_port_device::f110_w)); // 110b
|
||||
m_brg->out_f13_cb().append("io1", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f13_cb().append("io2", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f13_cb().append("io3", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f13_cb().append("io4", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f13_cb().append("io5", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f13_cb().append("io6", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f13_cb().append("io7", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f<7>().set("io0", FUNC(ss50_interface_port_device::f600_1200_w)); // 1200b
|
||||
m_brg->out_f<7>().append("io1", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f<7>().append("io2", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f<7>().append("io3", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f<7>().append("io4", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f<7>().append("io5", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f<7>().append("io6", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f<7>().append("io7", FUNC(ss50_interface_port_device::f600_1200_w));
|
||||
m_brg->out_f<8>().set("io0", FUNC(ss50_interface_port_device::f600_4800_w)); // 600b
|
||||
m_brg->out_f<8>().append("io1", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f<8>().append("io2", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f<8>().append("io3", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f<8>().append("io4", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f<8>().append("io5", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f<8>().append("io6", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f<8>().append("io7", FUNC(ss50_interface_port_device::f600_4800_w));
|
||||
m_brg->out_f<9>().set("io0", FUNC(ss50_interface_port_device::f300_w)); // 300b
|
||||
m_brg->out_f<9>().append("io1", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f<9>().append("io2", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f<9>().append("io3", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f<9>().append("io4", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f<9>().append("io5", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f<9>().append("io6", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f<9>().append("io7", FUNC(ss50_interface_port_device::f300_w));
|
||||
m_brg->out_f<11>().set("io0", FUNC(ss50_interface_port_device::f150_9600_w)); // 150b
|
||||
m_brg->out_f<11>().append("io1", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f<11>().append("io2", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f<11>().append("io3", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f<11>().append("io4", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f<11>().append("io5", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f<11>().append("io6", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f<11>().append("io7", FUNC(ss50_interface_port_device::f150_9600_w));
|
||||
m_brg->out_f<13>().set("io0", FUNC(ss50_interface_port_device::f110_w)); // 110b
|
||||
m_brg->out_f<13>().append("io1", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f<13>().append("io2", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f<13>().append("io3", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f<13>().append("io4", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f<13>().append("io5", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f<13>().append("io6", FUNC(ss50_interface_port_device::f110_w));
|
||||
m_brg->out_f<13>().append("io7", FUNC(ss50_interface_port_device::f110_w));
|
||||
|
||||
MCFG_SS50_INTERFACE_PORT_ADD("io0", default_2rs_devices, nullptr)
|
||||
MCFG_SS50_INTERFACE_IRQ_CALLBACK(WRITELINE("mainirq", input_merger_device, in_w<0>))
|
||||
|
@ -198,8 +198,8 @@ void swtpc09_state::swtpc09_base(machine_config &config)
|
||||
m_acia->irq_handler().set(FUNC(swtpc09_state::acia_interrupt));
|
||||
|
||||
MC14411(config, m_brg, 1.8432_MHz_XTAL);
|
||||
m_brg->out_f1_cb().set(m_acia, FUNC(acia6850_device::write_txc));
|
||||
m_brg->out_f1_cb().append(m_acia, FUNC(acia6850_device::write_rxc));
|
||||
m_brg->out_f<1>().set(m_acia, FUNC(acia6850_device::write_txc));
|
||||
m_brg->out_f<1>().append(m_acia, FUNC(acia6850_device::write_rxc));
|
||||
|
||||
FD1793(config, m_fdc, 1_MHz_XTAL);
|
||||
FLOPPY_CONNECTOR(config, "fdc:0", swtpc09_floppies, "dd", swtpc09_state::floppy_formats);
|
||||
|
@ -2203,8 +2203,8 @@ MACHINE_CONFIG_START(taitob_state::pbobble)
|
||||
m_tc0640fio->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w));
|
||||
m_tc0640fio->read_7_callback().set_ioport("P1_P2_B");
|
||||
|
||||
MCFG_DEVICE_ADD("mb87078", MB87078, 0)
|
||||
MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taitob_state, mb87078_gain_changed))
|
||||
MB87078(config, m_mb87078);
|
||||
m_mb87078->gain_changed().set(FUNC(taitob_state::mb87078_gain_changed));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -2267,8 +2267,8 @@ MACHINE_CONFIG_START(taitob_state::spacedx)
|
||||
m_tc0640fio->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w));
|
||||
m_tc0640fio->read_7_callback().set_ioport("P1_P2_B");
|
||||
|
||||
MCFG_DEVICE_ADD("mb87078", MB87078, 0)
|
||||
MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taitob_state, mb87078_gain_changed))
|
||||
MB87078(config, m_mb87078);
|
||||
m_mb87078->gain_changed().set(FUNC(taitob_state::mb87078_gain_changed));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -2389,8 +2389,8 @@ MACHINE_CONFIG_START(taitob_state::qzshowby)
|
||||
m_tc0640fio->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w));
|
||||
m_tc0640fio->read_7_callback().set_ioport("P1_P2_B");
|
||||
|
||||
MCFG_DEVICE_ADD("mb87078", MB87078, 0)
|
||||
MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taitob_state, mb87078_gain_changed))
|
||||
MB87078(config, m_mb87078);
|
||||
m_mb87078->gain_changed().set(FUNC(taitob_state::mb87078_gain_changed));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
Loading…
Reference in New Issue
Block a user