mirror of
https://github.com/holub/mame
synced 2025-06-07 05:13:46 +03:00
z8536.cpp, z80sti.cpp: deMCGF; z80sio.cpp: started deMCFG (nw)
This commit is contained in:
parent
dabf58e85a
commit
1e445ab370
@ -148,7 +148,7 @@ void ecb_grip21_device::grip_io(address_map &map)
|
||||
// AM_RANGE(0x15, 0x15) AM_WRITE(cc2_w)
|
||||
map(0x16, 0x16).w(FUNC(ecb_grip21_device::flash_w));
|
||||
map(0x17, 0x17).w(FUNC(ecb_grip21_device::vol1_w));
|
||||
map(0x20, 0x2f).rw(Z80STI_TAG, FUNC(z80sti_device::read), FUNC(z80sti_device::write));
|
||||
map(0x20, 0x2f).rw(m_sti, FUNC(z80sti_device::read), FUNC(z80sti_device::write));
|
||||
map(0x30, 0x30).rw(FUNC(ecb_grip21_device::lrs_r), FUNC(ecb_grip21_device::lrs_w));
|
||||
map(0x40, 0x40).r(FUNC(ecb_grip21_device::stat_r));
|
||||
map(0x50, 0x50).w(MC6845_TAG, FUNC(mc6845_device::address_w));
|
||||
@ -433,8 +433,8 @@ MACHINE_CONFIG_START(ecb_grip21_device::device_add_mconfig)
|
||||
MCFG_MC6845_SHOW_BORDER_AREA(true)
|
||||
MCFG_MC6845_CHAR_WIDTH(8)
|
||||
MCFG_MC6845_UPDATE_ROW_CB(ecb_grip21_device, crtc_update_row)
|
||||
MCFG_MC6845_OUT_DE_CB(WRITELINE(Z80STI_TAG, z80sti_device, i1_w))
|
||||
MCFG_MC6845_OUT_CUR_CB(WRITELINE(Z80STI_TAG, z80sti_device, i1_w))
|
||||
MCFG_MC6845_OUT_DE_CB(WRITELINE(m_sti, z80sti_device, i1_w))
|
||||
MCFG_MC6845_OUT_CUR_CB(WRITELINE(m_sti, z80sti_device, i1_w))
|
||||
|
||||
// MCFG_MC6845_ADD(HD6345_TAG, HD6345, SCREEN_TAG, XTAL(16'000'000)/4)
|
||||
|
||||
@ -444,12 +444,12 @@ MACHINE_CONFIG_START(ecb_grip21_device::device_add_mconfig)
|
||||
MCFG_I8255_IN_PORTB_CB(READ8(*this, ecb_grip21_device, ppi_pb_r))
|
||||
MCFG_I8255_OUT_PORTC_CB(WRITE8(*this, ecb_grip21_device, ppi_pc_w))
|
||||
|
||||
MCFG_DEVICE_ADD(Z80STI_TAG, Z80STI, XTAL(16'000'000)/4)
|
||||
MCFG_Z80STI_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
|
||||
MCFG_Z80STI_IN_GPIO_CB(READ8(*this, ecb_grip21_device, sti_gpio_r))
|
||||
MCFG_Z80STI_OUT_TBO_CB(WRITELINE(*this, ecb_grip21_device, speaker_w))
|
||||
MCFG_Z80STI_OUT_TCO_CB(WRITELINE(Z80STI_TAG, z80sti_device, tc_w))
|
||||
MCFG_Z80STI_OUT_TDO_CB(WRITELINE(Z80STI_TAG, z80sti_device, tc_w))
|
||||
Z80STI(config, m_sti, XTAL(16'000'000)/4);
|
||||
m_sti->out_int_cb().set_inputline(Z80_TAG, INPUT_LINE_IRQ0);
|
||||
m_sti->in_gpio_cb().set(FUNC(ecb_grip21_device::sti_gpio_r));
|
||||
m_sti->out_tbo_cb().set(FUNC(ecb_grip21_device::speaker_w));
|
||||
m_sti->out_tco_cb().set(m_sti, FUNC(z80sti_device::tc_w));
|
||||
m_sti->out_tdo_cb().set(m_sti, FUNC(z80sti_device::tc_w));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, ecb_grip21_device, write_centronics_busy))
|
||||
|
@ -38,40 +38,6 @@
|
||||
#include "diserial.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_Z80STI_RXCLOCK(_clock) \
|
||||
downcast<z80sti_device &>(*device).set_rx_clock(_clock);
|
||||
|
||||
#define MCFG_Z80STI_TXCLOCK(_clock) \
|
||||
downcast<z80sti_device &>(*device).set_tx_clock(_clock);
|
||||
|
||||
#define MCFG_Z80STI_OUT_INT_CB(_devcb) \
|
||||
downcast<z80sti_device &>(*device).set_out_int_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_Z80STI_IN_GPIO_CB(_devcb) \
|
||||
downcast<z80sti_device &>(*device).set_in_gpio_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_Z80STI_OUT_GPIO_CB(_devcb) \
|
||||
downcast<z80sti_device &>(*device).set_out_gpio_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_Z80STI_OUT_SO_CB(_devcb) \
|
||||
downcast<z80sti_device &>(*device).set_out_so_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_Z80STI_OUT_TAO_CB(_devcb) \
|
||||
downcast<z80sti_device &>(*device).set_out_tao_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_Z80STI_OUT_TBO_CB(_devcb) \
|
||||
downcast<z80sti_device &>(*device).set_out_tbo_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_Z80STI_OUT_TCO_CB(_devcb) \
|
||||
downcast<z80sti_device &>(*device).set_out_tco_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_Z80STI_OUT_TDO_CB(_devcb) \
|
||||
downcast<z80sti_device &>(*device).set_out_tdo_callback(DEVCB_##_devcb);
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
@ -86,14 +52,14 @@ public:
|
||||
// construction/destruction
|
||||
z80sti_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
template <class Object> devcb_base &set_out_int_callback(Object &&cb) { return m_out_int_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_in_gpio_callback(Object &&cb) { return m_in_gpio_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_gpio_callback(Object &&cb) { return m_out_gpio_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_so_callback(Object &&cb) { return m_out_so_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_tao_callback(Object &&cb) { return m_out_tao_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_tbo_callback(Object &&cb) { return m_out_tbo_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_tco_callback(Object &&cb) { return m_out_tco_cb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_out_tdo_callback(Object &&cb) { return m_out_tdo_cb.set_callback(std::forward<Object>(cb)); }
|
||||
auto out_int_cb() { return m_out_int_cb.bind(); }
|
||||
auto in_gpio_cb() { return m_in_gpio_cb.bind(); }
|
||||
auto out_gpio_cb() { return m_out_gpio_cb.bind(); }
|
||||
auto out_so_cb() { return m_out_so_cb.bind(); }
|
||||
auto out_tao_cb() { return m_out_tao_cb.bind(); }
|
||||
auto out_tbo_cb() { return m_out_tbo_cb.bind(); }
|
||||
auto out_tco_cb() { return m_out_tco_cb.bind(); }
|
||||
auto out_tdo_cb() { return m_out_tdo_cb.bind(); }
|
||||
|
||||
void set_rx_clock(int clock) { m_rx_clock = clock; }
|
||||
void set_tx_clock(int clock) { m_tx_clock = clock; }
|
||||
|
@ -59,34 +59,6 @@
|
||||
#include "machine/z80daisy.h"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_Z8536_IRQ_CALLBACK(_write) \
|
||||
downcast<z8536_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_Z8536_PA_IN_CALLBACK(_read) \
|
||||
downcast<z8536_device &>(*device).set_pa_rd_callback(DEVCB_##_read);
|
||||
|
||||
#define MCFG_Z8536_PA_OUT_CALLBACK(_write) \
|
||||
downcast<z8536_device &>(*device).set_pa_wr_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_Z8536_PB_IN_CALLBACK(_read) \
|
||||
downcast<z8536_device &>(*device).set_pb_rd_callback(DEVCB_##_read);
|
||||
|
||||
#define MCFG_Z8536_PB_OUT_CALLBACK(_write) \
|
||||
downcast<z8536_device &>(*device).set_pb_wr_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_Z8536_PC_IN_CALLBACK(_read) \
|
||||
downcast<z8536_device &>(*device).set_pc_rd_callback(DEVCB_##_read);
|
||||
|
||||
#define MCFG_Z8536_PC_OUT_CALLBACK(_write) \
|
||||
downcast<z8536_device &>(*device).set_pc_wr_callback(DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
@ -97,13 +69,13 @@ class cio_base_device : public device_t
|
||||
{
|
||||
public:
|
||||
|
||||
template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_pa_rd_callback(Object &&cb) { return m_read_pa.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_pa_wr_callback(Object &&cb) { return m_write_pa.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_pb_rd_callback(Object &&cb) { return m_read_pb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_pb_wr_callback(Object &&cb) { return m_write_pb.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_pc_rd_callback(Object &&cb) { return m_read_pc.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_pc_wr_callback(Object &&cb) { return m_write_pc.set_callback(std::forward<Object>(cb)); }
|
||||
auto irq_wr_cb() { return m_write_irq.bind(); }
|
||||
auto pa_rd_cb() { return m_read_pa.bind(); }
|
||||
auto pa_wr_cb() { return m_write_pa.bind(); }
|
||||
auto pb_rd_cb() { return m_read_pb.bind(); }
|
||||
auto pb_wr_cb() { return m_write_pb.bind(); }
|
||||
auto pc_rd_cb() { return m_read_pc.bind(); }
|
||||
auto pc_wr_cb() { return m_write_pc.bind(); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( pa0_w ) { external_port_w(PORT_A, 0, state); }
|
||||
DECLARE_WRITE_LINE_MEMBER( pa1_w ) { external_port_w(PORT_A, 1, state); }
|
||||
|
@ -540,14 +540,14 @@ MACHINE_CONFIG_START(a7150_state::a7150)
|
||||
m_ctc->zc_callback<0>().append(Z80SIO_TAG, FUNC(z80sio_device::txca_w));
|
||||
m_ctc->zc_callback<1>().set(Z80SIO_TAG, FUNC(z80sio_device::rxtxcb_w));
|
||||
|
||||
MCFG_DEVICE_ADD(Z80SIO_TAG, Z80SIO, XTAL(16'000'000)/4)
|
||||
MCFG_Z80SIO_OUT_INT_CB(INPUTLINE("gfxcpu", INPUT_LINE_IRQ0))
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
|
||||
MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRB_CB(WRITELINE(*this, a7150_state, kgs_iml_w))
|
||||
// MCFG_Z80SIO_OUT_RTSB_CB(WRITELINE(*this, a7150_state, kgs_ifss_loopback_w))
|
||||
z80sio_device& sio(Z80SIO(config, Z80SIO_TAG, XTAL(16'000'000)/4));
|
||||
sio.out_int_callback().set_inputline(m_gfxcpu, INPUT_LINE_IRQ0);
|
||||
sio.out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd));
|
||||
sio.out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr));
|
||||
sio.out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts));
|
||||
sio.out_txdb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd));
|
||||
sio.out_dtrb_callback().set(FUNC(a7150_state::kgs_iml_w));
|
||||
//sio.out_rtsb_callback().set(FUNC(a7150_state::kgs_ifss_loopback_w));
|
||||
|
||||
// V.24 port (graphics tablet)
|
||||
MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, "loopback")
|
||||
|
@ -921,20 +921,20 @@ MACHINE_CONFIG_START(abc1600_state::abc1600)
|
||||
SCC8530(config, m_scc, 64_MHz_XTAL / 16);
|
||||
m_scc->intrq_callback().set_inputline(MC68008P8_TAG, M68K_IRQ_5);
|
||||
|
||||
MCFG_DEVICE_ADD(Z8536B1_TAG, Z8536, 64_MHz_XTAL / 16)
|
||||
MCFG_Z8536_IRQ_CALLBACK(INPUTLINE(MC68008P8_TAG, M68K_IRQ_2))
|
||||
MCFG_Z8536_PA_IN_CALLBACK(READ8(*this, abc1600_state, cio_pa_r))
|
||||
MCFG_Z8536_PB_IN_CALLBACK(READ8(*this, abc1600_state, cio_pb_r))
|
||||
MCFG_Z8536_PB_OUT_CALLBACK(WRITE8(*this, abc1600_state, cio_pb_w))
|
||||
MCFG_Z8536_PC_IN_CALLBACK(READ8(*this, abc1600_state, cio_pc_r))
|
||||
MCFG_Z8536_PC_OUT_CALLBACK(WRITE8(*this, abc1600_state, cio_pc_w))
|
||||
Z8536(config, m_cio, 64_MHz_XTAL / 16);
|
||||
m_cio->irq_wr_cb().set_inputline(MC68008P8_TAG, M68K_IRQ_2);
|
||||
m_cio->pa_rd_cb().set(FUNC(abc1600_state::cio_pa_r));
|
||||
m_cio->pb_rd_cb().set(FUNC(abc1600_state::cio_pb_r));
|
||||
m_cio->pb_wr_cb().set(FUNC(abc1600_state::cio_pb_w));
|
||||
m_cio->pc_rd_cb().set(FUNC(abc1600_state::cio_pc_r));
|
||||
m_cio->pc_wr_cb().set(FUNC(abc1600_state::cio_pc_w));
|
||||
|
||||
MCFG_NMC9306_ADD(NMC9306_TAG)
|
||||
|
||||
MCFG_E0516_ADD(E050_C16PC_TAG, 32.768_kHz_XTAL)
|
||||
|
||||
MCFG_DEVICE_ADD(SAB1797_02P_TAG, FD1797, 64_MHz_XTAL / 64)
|
||||
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(Z8536B1_TAG, z8536_device, pb7_w))
|
||||
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pb7_w))
|
||||
MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(*this, abc1600_state, fdc_drq_w))
|
||||
|
||||
MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":0", abc1600_floppies, nullptr, floppy_image_device::default_floppy_formats)
|
||||
@ -952,18 +952,18 @@ MACHINE_CONFIG_START(abc1600_state::abc1600)
|
||||
MCFG_ABC_KEYBOARD_OUT_KEYDOWN_HANDLER(WRITELINE(Z8470AB1_TAG, z80dart_device, dcdb_w))
|
||||
|
||||
MCFG_ABCBUS_SLOT_ADD("bus0i", abc1600bus_cards, nullptr)
|
||||
MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(Z8536B1_TAG, z8536_device, pa7_w))
|
||||
MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pa7_w))
|
||||
MCFG_ABCBUS_SLOT_ADD("bus0x", abc1600bus_cards, nullptr)
|
||||
MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(Z8536B1_TAG, z8536_device, pa6_w))
|
||||
MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pa6_w))
|
||||
MCFG_ABCBUS_SLOT_NMI_CALLBACK(WRITELINE(*this, abc1600_state, nmi_w))
|
||||
MCFG_ABCBUS_SLOT_XINT2_CALLBACK(WRITELINE(Z8536B1_TAG, z8536_device, pa2_w))
|
||||
MCFG_ABCBUS_SLOT_XINT3_CALLBACK(WRITELINE(Z8536B1_TAG, z8536_device, pa3_w))
|
||||
MCFG_ABCBUS_SLOT_XINT4_CALLBACK(WRITELINE(Z8536B1_TAG, z8536_device, pa4_w))
|
||||
MCFG_ABCBUS_SLOT_XINT5_CALLBACK(WRITELINE(Z8536B1_TAG, z8536_device, pa5_w))
|
||||
MCFG_ABCBUS_SLOT_XINT2_CALLBACK(WRITELINE(m_cio, z8536_device, pa2_w))
|
||||
MCFG_ABCBUS_SLOT_XINT3_CALLBACK(WRITELINE(m_cio, z8536_device, pa3_w))
|
||||
MCFG_ABCBUS_SLOT_XINT4_CALLBACK(WRITELINE(m_cio, z8536_device, pa4_w))
|
||||
MCFG_ABCBUS_SLOT_XINT5_CALLBACK(WRITELINE(m_cio, z8536_device, pa5_w))
|
||||
MCFG_ABCBUS_SLOT_ADD("bus1", abc1600bus_cards, nullptr)
|
||||
MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(Z8536B1_TAG, z8536_device, pa1_w))
|
||||
MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pa1_w))
|
||||
MCFG_ABCBUS_SLOT_ADD("bus2", abc1600bus_cards, "4105")
|
||||
MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(Z8536B1_TAG, z8536_device, pa0_w))
|
||||
MCFG_ABCBUS_SLOT_IRQ_CALLBACK(WRITELINE(m_cio, z8536_device, pa0_w))
|
||||
//MCFG_ABCBUS_SLOT_PREN_CALLBACK(WRITELINE(Z8410AB1_2_TAG, z80dma_device, iei_w))
|
||||
MCFG_ABCBUS_SLOT_TRRQ_CALLBACK(WRITELINE(Z8410AB1_2_TAG, z80dma_device, rdy_w))
|
||||
|
||||
|
@ -1067,14 +1067,14 @@ MACHINE_CONFIG_START(abc800_state::common)
|
||||
m_ctc->zc_callback<2>().append(m_dart, FUNC(z80dart_device::txca_w));
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC(TIMER_CTC_TAG, abc800_state, ctc_tick, attotime::from_hz(ABC800_X01/2/2/2))
|
||||
|
||||
MCFG_DEVICE_ADD(Z80SIO_TAG, Z80SIO, ABC800_X01/2/2)
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRA_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSA_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
|
||||
MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE(*this, abc800_state, sio_txdb_w))
|
||||
MCFG_Z80SIO_OUT_DTRB_CB(WRITELINE(*this, abc800_state, sio_dtrb_w))
|
||||
MCFG_Z80SIO_OUT_RTSB_CB(WRITELINE(*this, abc800_state, sio_rtsb_w))
|
||||
MCFG_Z80SIO_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
|
||||
Z80SIO(config, m_sio, ABC800_X01/2/2);
|
||||
m_sio->out_txda_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd));
|
||||
m_sio->out_dtra_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_dtr));
|
||||
m_sio->out_rtsa_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_rts));
|
||||
m_sio->out_txdb_callback().set(FUNC(abc800_state::sio_txdb_w));
|
||||
m_sio->out_dtrb_callback().set(FUNC(abc800_state::sio_dtrb_w));
|
||||
m_sio->out_rtsb_callback().set(FUNC(abc800_state::sio_rtsb_w));
|
||||
m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
|
||||
MCFG_DEVICE_ADD(Z80DART_TAG, Z80DART, ABC800_X01/2/2)
|
||||
MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
|
||||
@ -1093,9 +1093,9 @@ MACHINE_CONFIG_START(abc800_state::common)
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(Z80DART_TAG, z80dart_device, ctsa_w))
|
||||
|
||||
MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, ctsa_w))
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_sio, z80sio_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_sio, z80sio_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_sio, z80sio_device, ctsa_w))
|
||||
|
||||
MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, nullptr)
|
||||
MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(WRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
|
||||
|
@ -445,14 +445,14 @@ MACHINE_CONFIG_START(altos5_state::altos5)
|
||||
// Channel B - printer
|
||||
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
|
||||
MCFG_DEVICE_ADD("sio", Z80SIO, 8_MHz_XTAL / 2)
|
||||
z80sio_device& sio(Z80SIO(config, "sio", 8_MHz_XTAL / 2));
|
||||
// Channel A - console #2
|
||||
// WRDY connects to (altos5_state, fdc_intrq_w)
|
||||
// Channel B - console #1
|
||||
MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE("rs232", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRB_CB(WRITELINE("rs232", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSB_CB(WRITELINE("rs232", rs232_port_device, write_rts))
|
||||
MCFG_Z80SIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
sio.out_txdb_callback().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
sio.out_dtrb_callback().set("rs232", FUNC(rs232_port_device::write_dtr));
|
||||
sio.out_rtsb_callback().set("rs232", FUNC(rs232_port_device::write_rts));
|
||||
sio.out_int_callback().set_inputline("maincpu", INPUT_LINE_IRQ0);
|
||||
|
||||
z80ctc_device &ctc(Z80CTC(config, "ctc", 8_MHz_XTAL / 2));
|
||||
ctc.intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
|
@ -757,24 +757,24 @@ MACHINE_CONFIG_START(altos8600_state::altos8600)
|
||||
|
||||
RAM(config, RAM_TAG).set_default_size("1M");//.set_extra_options("512K");
|
||||
|
||||
MCFG_DEVICE_ADD("uart8274", I8274_NEW, 16_MHz_XTAL/4)
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE("rs232a", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRA_CB(WRITELINE("rs232a", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSA_CB(WRITELINE("rs232a", rs232_port_device, write_rts))
|
||||
MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE("rs232b", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRB_CB(WRITELINE("rs232b", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSB_CB(WRITELINE("rs232b", rs232_port_device, write_rts))
|
||||
MCFG_Z80SIO_OUT_INT_CB(WRITELINE("pic8259_1", pic8259_device, ir7_w))
|
||||
I8274_NEW(config, m_uart8274, 16_MHz_XTAL/4);
|
||||
m_uart8274->out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd));
|
||||
m_uart8274->out_dtra_callback().set("rs232a", FUNC(rs232_port_device::write_dtr));
|
||||
m_uart8274->out_rtsa_callback().set("rs232a", FUNC(rs232_port_device::write_rts));
|
||||
m_uart8274->out_txdb_callback().set("rs232b", FUNC(rs232_port_device::write_txd));
|
||||
m_uart8274->out_dtrb_callback().set("rs232b", FUNC(rs232_port_device::write_dtr));
|
||||
m_uart8274->out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts));
|
||||
m_uart8274->out_int_callback().set("pic8259_1", FUNC(pic8259_device::ir7_w));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("uart8274", i8274_new_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("uart8274", i8274_new_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("uart8274", i8274_new_device, ctsa_w))
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart8274, i8274_new_device, ctsa_w))
|
||||
|
||||
MCFG_DEVICE_ADD("rs232b", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("uart8274", i8274_new_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("uart8274", i8274_new_device, dcdb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("uart8274", i8274_new_device, ctsb_w))
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, dcdb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart8274, i8274_new_device, ctsb_w))
|
||||
|
||||
MCFG_DEVICE_ADD("ppi", I8255A, 0)
|
||||
|
||||
|
@ -369,8 +369,8 @@ MACHINE_CONFIG_START(f1_state::act_f1)
|
||||
/* Devices */
|
||||
MCFG_DEVICE_ADD(APRICOT_KEYBOARD_TAG, APRICOT_KEYBOARD, 0)
|
||||
|
||||
MCFG_DEVICE_ADD(Z80SIO2_TAG, Z80SIO, 2500000)
|
||||
MCFG_Z80SIO_OUT_INT_CB(WRITELINE("irqs", input_merger_device, in_w<0>))
|
||||
Z80SIO(config, m_sio, 2500000);
|
||||
m_sio->out_int_callback().set("irqs", FUNC(input_merger_device::in_w<0>));
|
||||
|
||||
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, 2500000)
|
||||
MCFG_Z80CTC_INTR_CB(WRITELINE("irqs", input_merger_device, in_w<1>))
|
||||
@ -378,7 +378,7 @@ MACHINE_CONFIG_START(f1_state::act_f1)
|
||||
MCFG_Z80CTC_ZC2_CB(WRITELINE(*this, f1_state, ctc_z2_w))
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(Z80SIO2_TAG, z80sio_device, ctsa_w))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(m_sio, z80sio_device, ctsa_w))
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
|
||||
|
@ -260,27 +260,27 @@ MACHINE_CONFIG_START(att4425_state::att4425)
|
||||
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL(32'000'000)) // XXX
|
||||
MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
|
||||
#ifdef notdef
|
||||
MCFG_Z80CTC_ZC0_CB(WRITELINE(Z80SIO_TAG, z80sio_device, rxca_w))
|
||||
MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE(Z80SIO_TAG, z80sio_device, txca_w))
|
||||
MCFG_Z80CTC_ZC2_CB(WRITELINE(Z80SIO_TAG, z80sio_device, rxtxcb_w))
|
||||
MCFG_Z80CTC_ZC0_CB(WRITELINE(m_sio, z80sio_device, rxca_w))
|
||||
MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE(m_sio, z80sio_device, txca_w))
|
||||
MCFG_Z80CTC_ZC2_CB(WRITELINE(m_sio, z80sio_device, rxtxcb_w))
|
||||
#endif
|
||||
|
||||
MCFG_DEVICE_ADD(Z80SIO_TAG, Z80SIO, 4800) // XXX
|
||||
MCFG_Z80SIO_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
|
||||
MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
|
||||
Z80SIO(config, m_sio, 4800); // XXX
|
||||
m_sio->out_int_callback().set_inputline(Z80_TAG, INPUT_LINE_IRQ0);
|
||||
m_sio->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd));
|
||||
m_sio->out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr));
|
||||
m_sio->out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts));
|
||||
m_sio->out_txdb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd));
|
||||
|
||||
// host
|
||||
MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, "null_modem")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, ctsa_w))
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_sio, z80sio_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_sio, z80sio_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_sio, z80sio_device, ctsa_w))
|
||||
|
||||
// aux printer?
|
||||
MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, "printer")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, rxb_w))
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_sio, z80sio_device, rxb_w))
|
||||
|
||||
// XXX
|
||||
MCFG_DEVICE_ADD("line_clock", CLOCK, 9600*64)
|
||||
|
@ -103,7 +103,7 @@ MACHINE_CONFIG_START(c900_state::c900)
|
||||
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_c900)
|
||||
MCFG_PALETTE_ADD_MONOCHROME("palette")
|
||||
|
||||
MCFG_DEVICE_ADD("cio", Z8036, 6'000'000)
|
||||
Z8036(config, "cio", 6'000'000);
|
||||
|
||||
MCFG_DEVICE_ADD("scc", SCC8030, 6'000'000) // 5'850'000 is the ideal figure
|
||||
/* Port B */
|
||||
|
@ -129,11 +129,11 @@ MACHINE_CONFIG_START(ccs300_state::ccs300)
|
||||
uart_clock.signal_handler().append("sio", FUNC(z80sio_device::rxca_w));
|
||||
|
||||
/* Devices */
|
||||
MCFG_DEVICE_ADD("sio", Z80SIO, XTAL(4'000'000))
|
||||
MCFG_Z80SIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE("rs232", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRA_CB(WRITELINE("rs232", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSA_CB(WRITELINE("rs232", rs232_port_device, write_rts))
|
||||
z80sio_device& sio(Z80SIO(config, "sio", XTAL(4'000'000)));
|
||||
sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
sio.out_txda_callback().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
sio.out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr));
|
||||
sio.out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("sio", z80sio_device, rxa_w))
|
||||
|
@ -777,8 +777,8 @@ MACHINE_CONFIG_START(dlair_state::dleuro)
|
||||
MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
MCFG_Z80CTC_ZC0_CB(WRITELINE(*this, dlair_state, write_speaker))
|
||||
|
||||
MCFG_DEVICE_ADD("sio", Z80SIO, MASTER_CLOCK_EURO/4 /* same as "maincpu" */)
|
||||
MCFG_Z80SIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
z80sio_device& sio(Z80SIO(config, "sio", MASTER_CLOCK_EURO/4 /* same as "maincpu" */));
|
||||
sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
// TODO: hook up tx and rx callbacks
|
||||
|
||||
MCFG_WATCHDOG_ADD("watchdog")
|
||||
|
@ -388,8 +388,8 @@ MACHINE_CONFIG_START(duet16_state::duet16)
|
||||
itm.o3_callback().append("itm", FUNC(ptm6840_device::set_c2));
|
||||
itm.irq_callback().set(m_tmint, FUNC(input_merger_device::in_w<0>));
|
||||
|
||||
MCFG_DEVICE_ADD("sio", UPD7201_NEW, 8_MHz_XTAL / 2)
|
||||
MCFG_Z80SIO_OUT_INT_CB(WRITELINE("pic", pic8259_device, ir1_w)) // INT5
|
||||
upd7201_new_device& sio(UPD7201_NEW(config, "sio", 8_MHz_XTAL / 2));
|
||||
sio.out_int_callback().set("pic", FUNC(pic8259_device::ir1_w)); // INT5
|
||||
|
||||
MCFG_DEVICE_ADD("kbusart", I8251, 8_MHz_XTAL / 4)
|
||||
MCFG_I8251_TXD_HANDLER(WRITELINE("kbd", rs232_port_device, write_txd))
|
||||
|
@ -421,7 +421,7 @@ MACHINE_CONFIG_START(gridcomp_state::grid1101)
|
||||
MCFG_IEEE488_REN_CALLBACK(WRITELINE("hpib", tms9914_device, ren_w))
|
||||
MCFG_IEEE488_SLOT_ADD("ieee_rem", 0, remote488_devices, nullptr)
|
||||
|
||||
MCFG_DEVICE_ADD("uart8274", I8274_NEW, XTAL(4'032'000))
|
||||
I8274_NEW(config, m_uart8274, XTAL(4'032'000));
|
||||
|
||||
MCFG_DEVICE_ADD("modem", I8255, 0)
|
||||
|
||||
|
@ -342,7 +342,7 @@ MACHINE_CONFIG_START(hk68v10_state::hk68v10)
|
||||
MCFG_DEVICE_ADD("maincpu", M68010, 10_MHz_XTAL)
|
||||
MCFG_DEVICE_PROGRAM_MAP (hk68v10_mem)
|
||||
|
||||
MCFG_DEVICE_ADD("cio", Z8536, SCC_CLOCK)
|
||||
Z8536(config, "cio", SCC_CLOCK);
|
||||
|
||||
/* Terminal Port config */
|
||||
MCFG_DEVICE_ADD("scc", SCC8530N, SCC_CLOCK)
|
||||
|
@ -449,7 +449,7 @@ MACHINE_CONFIG_START(isbc_state::isbc286)
|
||||
MCFG_PIT8253_OUT0_HANDLER(WRITELINE("pic_0", pic8259_device, ir0_w))
|
||||
MCFG_PIT8253_CLK1(XTAL(22'118'400)/18)
|
||||
// MCFG_PIT8253_OUT1_HANDLER(WRITELINE("uart8274", z80dart_device, rxtxcb_w))
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE("uart8274", i8274_new_device, rxtxcb_w))
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(m_uart8274, i8274_new_device, rxtxcb_w))
|
||||
MCFG_PIT8253_CLK2(XTAL(22'118'400)/18)
|
||||
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(*this, isbc_state, isbc286_tmr2_w))
|
||||
|
||||
@ -477,15 +477,15 @@ MACHINE_CONFIG_START(isbc_state::isbc286)
|
||||
MCFG_Z80DART_OUT_RTSB_CB(WRITELINE("rs232b", rs232_port_device, write_rts))
|
||||
MCFG_Z80DART_OUT_INT_CB(WRITELINE(*this, isbc_state, isbc_uart8274_irq))
|
||||
#else
|
||||
MCFG_DEVICE_ADD("uart8274", I8274_NEW, XTAL(16'000'000)/4)
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE("rs232a", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRA_CB(WRITELINE("rs232a", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSA_CB(WRITELINE("rs232a", rs232_port_device, write_rts))
|
||||
MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE("rs232b", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRB_CB(WRITELINE("rs232b", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSB_CB(WRITELINE("rs232b", rs232_port_device, write_rts))
|
||||
I8274_NEW(config, m_uart8274, XTAL(16'000'000)/4);
|
||||
m_uart8274->out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd));
|
||||
m_uart8274->out_dtra_callback().set("rs232a", FUNC(rs232_port_device::write_dtr));
|
||||
m_uart8274->out_rtsa_callback().set("rs232a", FUNC(rs232_port_device::write_rts));
|
||||
m_uart8274->out_txdb_callback().set("rs232b", FUNC(rs232_port_device::write_txd));
|
||||
m_uart8274->out_dtrb_callback().set("rs232b", FUNC(rs232_port_device::write_dtr));
|
||||
m_uart8274->out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts));
|
||||
// MCFG_Z80SIO_OUT_INT_CB(WRITELINE(*this, isbc_state, isbc_uart8274_irq))
|
||||
MCFG_Z80SIO_OUT_INT_CB(WRITELINE("pic_0", pic8259_device, ir6_w))
|
||||
m_uart8274->out_int_callback().set("pic_0", FUNC(pic8259_device::ir6_w));
|
||||
#endif
|
||||
|
||||
MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, nullptr)
|
||||
@ -494,9 +494,9 @@ MACHINE_CONFIG_START(isbc_state::isbc286)
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("uart8274", z80dart_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("uart8274", z80dart_device, ctsa_w))
|
||||
#else
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("uart8274", i8274_new_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("uart8274", i8274_new_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("uart8274", i8274_new_device, ctsa_w))
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, rxa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, dcda_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart8274, i8274_new_device, ctsa_w))
|
||||
#endif
|
||||
|
||||
MCFG_DEVICE_ADD("rs232b", RS232_PORT, default_rs232_devices, "terminal")
|
||||
@ -505,9 +505,9 @@ MACHINE_CONFIG_START(isbc_state::isbc286)
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("uart8274", z80dart_device, dcdb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("uart8274", z80dart_device, ctsb_w))
|
||||
#else
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("uart8274", i8274_new_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("uart8274", i8274_new_device, dcdb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("uart8274", i8274_new_device, ctsb_w))
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, dcdb_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart8274, i8274_new_device, ctsb_w))
|
||||
#endif
|
||||
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal)
|
||||
|
||||
|
@ -158,10 +158,10 @@ MACHINE_CONFIG_START(k8915_state::k8915)
|
||||
MCFG_DEVICE_ADD("ctc", Z80CTC, XTAL(4'915'200) / 2)
|
||||
MCFG_Z80CTC_ZC2_CB(WRITELINE("sio", z80sio_device, rxtxcb_w))
|
||||
|
||||
MCFG_DEVICE_ADD("sio", Z80SIO, XTAL(4'915'200) / 2)
|
||||
MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE("rs232", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRB_CB(WRITELINE("rs232", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSB_CB(WRITELINE("rs232", rs232_port_device, write_rts))
|
||||
z80sio_device& sio(Z80SIO(config, "sio", XTAL(4'915'200) / 2));
|
||||
sio.out_txdb_callback().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
sio.out_dtrb_callback().set("rs232", FUNC(rs232_port_device::write_dtr));
|
||||
sio.out_rtsb_callback().set("rs232", FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "keyboard")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("sio", z80sio_device, rxb_w))
|
||||
|
@ -255,12 +255,12 @@ MACHINE_CONFIG_START(kaypro_state::kayproii)
|
||||
MCFG_Z80PIO_IN_PA_CB(READ8(*this, kaypro_state, pio_system_r))
|
||||
MCFG_Z80PIO_OUT_PA_CB(WRITE8(*this, kaypro_state, kayproii_pio_system_w))
|
||||
|
||||
MCFG_DEVICE_ADD("sio", Z80SIO, 20_MHz_XTAL / 8)
|
||||
MCFG_Z80SIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE("serial", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_RTSA_CB(WRITELINE("serial", rs232_port_device, write_rts))
|
||||
MCFG_Z80SIO_OUT_DTRA_CB(WRITELINE("serial", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE("kbd", kaypro_10_keyboard_device, txd_w))
|
||||
z80sio_device& sio(Z80SIO(config, "sio", 20_MHz_XTAL / 8));
|
||||
sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
sio.out_txda_callback().set("serial", FUNC(rs232_port_device::write_txd));
|
||||
sio.out_dtra_callback().set("serial", FUNC(rs232_port_device::write_dtr));
|
||||
sio.out_rtsa_callback().set("serial", FUNC(rs232_port_device::write_rts));
|
||||
sio.out_txdb_callback().set("kbd", FUNC(kaypro_10_keyboard_device::txd_w));
|
||||
|
||||
MCFG_DEVICE_ADD("fdc", FD1793, 20_MHz_XTAL / 20)
|
||||
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(*this, kaypro_state, fdc_intrq_w))
|
||||
@ -344,16 +344,16 @@ MACHINE_CONFIG_START(kaypro_state::kaypro484)
|
||||
serprn.rxd_handler().append("sio_2", FUNC(z80sio_device::synca_w));
|
||||
serprn.cts_handler().set("sio_2", FUNC(z80sio_device::ctsa_w));
|
||||
|
||||
MCFG_DEVICE_ADD("sio_1", Z80SIO, 16_MHz_XTAL / 4)
|
||||
MCFG_Z80SIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) // FIXME: use a combiner
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE("modem", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_RTSA_CB(WRITELINE("modem", rs232_port_device, write_rts))
|
||||
MCFG_Z80SIO_OUT_DTRA_CB(WRITELINE("modem", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE("kbd", kaypro_10_keyboard_device, txd_w))
|
||||
z80sio_device& sio_1(Z80SIO(config, "sio_1", 16_MHz_XTAL / 4));
|
||||
sio_1.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); // FIXME: use a combiner
|
||||
sio_1.out_txda_callback().set("modem", FUNC(rs232_port_device::write_txd));
|
||||
sio_1.out_dtra_callback().set("modem", FUNC(rs232_port_device::write_dtr));
|
||||
sio_1.out_rtsa_callback().set("modem", FUNC(rs232_port_device::write_rts));
|
||||
sio_1.out_txdb_callback().set("kbd", FUNC(kaypro_10_keyboard_device::txd_w));
|
||||
|
||||
MCFG_DEVICE_ADD("sio_2", Z80SIO, 16_MHz_XTAL / 4) /* extra sio for modem and printer */
|
||||
MCFG_Z80SIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) // FIXME: use a combiner
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE("serprn", rs232_port_device, write_txd))
|
||||
z80sio_device& sio_2(Z80SIO(config, "sio_2", 16_MHz_XTAL / 4)); /* extra sio for modem and printer */
|
||||
sio_2.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); // FIXME: use a combiner
|
||||
sio_2.out_txda_callback().set("serprn", FUNC(rs232_port_device::write_txd));
|
||||
|
||||
com8116_device &brg(COM8116(config, "brg", XTAL(5'068'800))); // WD1943, SMC8116
|
||||
brg.fr_handler().set("sio_1", FUNC(z80sio_device::rxca_w));
|
||||
|
@ -161,21 +161,21 @@ MACHINE_CONFIG_START(m79152pc_state::m79152pc)
|
||||
MCFG_DEVICE_ADD("ctc", Z80CTC, XTAL(4'000'000))
|
||||
//MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
|
||||
MCFG_DEVICE_ADD("uart", Z80SIO, XTAL(4'000'000))
|
||||
//MCFG_Z80SIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE("rs232", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRA_CB(WRITELINE("rs232", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSA_CB(WRITELINE("rs232", rs232_port_device, write_rts))
|
||||
//MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE("rs232a", rs232_port_device, write_txd))
|
||||
//MCFG_Z80SIO_OUT_DTRB_CB(WRITELINE("rs232a", rs232_port_device, write_dtr))
|
||||
//MCFG_Z80SIO_OUT_RTSB_CB(WRITELINE("rs232a", rs232_port_device, write_rts))
|
||||
Z80SIO(config, m_uart, XTAL(4'000'000));
|
||||
//m_uart->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
m_uart->out_txda_callback().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
m_uart->out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr));
|
||||
m_uart->out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts));
|
||||
//m_uart->out_txdb_callback().set("rs232a", FUNC(rs232_port_device::write_txd));
|
||||
//m_uart->out_dtrb_callback().set("rs232a", FUNC(rs232_port_device::write_dtr));
|
||||
//m_uart->out_rtsb_callback().set("rs232a", FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "keyboard")
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("uart", z80sio_device, rxa_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("uart", z80sio_device, ctsa_w))
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, z80sio_device, rxa_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart, z80sio_device, ctsa_w))
|
||||
//MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, "terminal")
|
||||
//MCFG_RS232_RXD_HANDLER(WRITELINE("uart", z80sio_device, rxb_w))
|
||||
//MCFG_RS232_CTS_HANDLER(WRITELINE("uart", z80sio_device, ctsb_w))
|
||||
//MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, z80sio_device, rxb_w))
|
||||
//MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart, z80sio_device, ctsb_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/* ROM definition */
|
||||
|
@ -1819,7 +1819,7 @@ MACHINE_CONFIG_START(mz2500_state::mz2500)
|
||||
MCFG_Z80PIO_OUT_PA_CB(WRITE8(*this, mz2500_state, mz2500_pio1_porta_w))
|
||||
MCFG_Z80PIO_IN_PB_CB(READ8(*this, mz2500_state, mz2500_pio1_porta_r))
|
||||
|
||||
MCFG_DEVICE_ADD("z80sio", Z80SIO, 6000000)
|
||||
Z80SIO(config, "z80sio", 6000000);
|
||||
|
||||
MCFG_DEVICE_ADD(RP5C15_TAG, RP5C15, 32.768_kHz_XTAL)
|
||||
MCFG_RP5C15_OUT_ALARM_CB(WRITELINE(*this, mz2500_state, mz2500_rtc_alarm_irq))
|
||||
|
@ -503,11 +503,11 @@ MACHINE_CONFIG_START(nanos_state::nanos)
|
||||
MCFG_DEVICE_ADD(m_pio_1, Z80PIO, XTAL(4'000'000))
|
||||
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
|
||||
MCFG_DEVICE_ADD(m_sio_0, Z80SIO, XTAL(4'000'000))
|
||||
MCFG_Z80SIO_OUT_INT_CB(WRITELINE(*this, nanos_state, z80daisy_interrupt))
|
||||
Z80SIO(config, m_sio_0, XTAL(4'000'000));
|
||||
m_sio_0->out_int_callback().set(FUNC(nanos_state::z80daisy_interrupt));
|
||||
|
||||
MCFG_DEVICE_ADD(m_sio_1, Z80SIO, XTAL(4'000'000))
|
||||
MCFG_Z80SIO_OUT_INT_CB(WRITELINE(*this, nanos_state, z80daisy_interrupt))
|
||||
Z80SIO(config, m_sio_1, XTAL(4'000'000));
|
||||
m_sio_1->out_int_callback().set(FUNC(nanos_state::z80daisy_interrupt));
|
||||
|
||||
MCFG_DEVICE_ADD(m_pio, Z80PIO, XTAL(4'000'000))
|
||||
MCFG_Z80PIO_IN_PA_CB(READ8(*this, nanos_state, port_a_r))
|
||||
|
@ -293,7 +293,7 @@ MACHINE_CONFIG_START(pcm_state::pcm)
|
||||
MCFG_Z80PIO_IN_PB_CB(READ8(*this, pcm_state, pcm_85_r))
|
||||
MCFG_Z80PIO_OUT_PB_CB(WRITE8(*this, pcm_state, pcm_85_w))
|
||||
|
||||
MCFG_DEVICE_ADD("sio", Z80SIO, XTAL(10'000'000) /4)
|
||||
Z80SIO(config, "sio", XTAL(10'000'000) /4);
|
||||
|
||||
Z80CTC(config, m_ctc_u, 10_MHz_XTAL / 4);
|
||||
m_ctc_u->intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
|
@ -329,8 +329,8 @@ MACHINE_CONFIG_START(polyplay_state::polyplay_zrepp)
|
||||
MCFG_DEVICE_IO_MAP(polyplay_io_zrepp)
|
||||
|
||||
/* devices */
|
||||
MCFG_DEVICE_ADD(Z80SIO_TAG, Z80SIO, POLYPLAY_MAIN_CLOCK / 4) /* UB8560D */
|
||||
MCFG_Z80SIO_OUT_INT_CB(INPUTLINE(Z80CPU_TAG, INPUT_LINE_IRQ0))
|
||||
Z80SIO(config, m_z80sio, POLYPLAY_MAIN_CLOCK / 4); /* UB8560D */
|
||||
m_z80sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -320,7 +320,7 @@ MACHINE_CONFIG_START(proconn_state::proconn)
|
||||
MCFG_DEVICE_ADD("z80ctc", Z80CTC, 4000000)
|
||||
MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
|
||||
MCFG_DEVICE_ADD("z80sio", Z80SIO, 4000000) /* ?? Mhz */
|
||||
Z80SIO(config, m_z80sio, 4000000); /* ?? Mhz */
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
@ -3310,20 +3310,20 @@ MACHINE_CONFIG_START(rainbow_state::rainbow)
|
||||
m_dbrg->fr_handler().set(FUNC(rainbow_state::dbrg_fr_w));
|
||||
m_dbrg->ft_handler().set(FUNC(rainbow_state::dbrg_ft_w));
|
||||
|
||||
MCFG_DEVICE_ADD("mpsc", UPD7201_NEW, 24.0734_MHz_XTAL / 5 / 2) // 2.4073 MHz (nominally 2.5 MHz)
|
||||
MCFG_Z80SIO_OUT_INT_CB(WRITELINE(*this, rainbow_state, mpsc_irq))
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE("comm", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_TXDB_CB(WRITELINE("printer", rs232_port_device, write_txd))
|
||||
UPD7201_NEW(config, m_mpsc, 24.0734_MHz_XTAL / 5 / 2); // 2.4073 MHz (nominally 2.5 MHz)
|
||||
m_mpsc->out_int_callback().set(FUNC(rainbow_state::mpsc_irq));
|
||||
m_mpsc->out_txda_callback().set("comm", FUNC(rs232_port_device::write_txd));
|
||||
m_mpsc->out_txdb_callback().set("printer", FUNC(rs232_port_device::write_txd));
|
||||
// RTS and DTR outputs are not connected
|
||||
|
||||
MCFG_DEVICE_ADD("comm", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("mpsc", upd7201_new_device, rxa_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE("mpsc", upd7201_new_device, ctsa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("mpsc", upd7201_new_device, dcda_w))
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_mpsc, upd7201_new_device, rxa_w))
|
||||
MCFG_RS232_CTS_HANDLER(WRITELINE(m_mpsc, upd7201_new_device, ctsa_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_mpsc, upd7201_new_device, dcda_w))
|
||||
|
||||
MCFG_DEVICE_ADD("printer", RS232_PORT, default_rs232_devices, nullptr)
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE("mpsc", upd7201_new_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE("mpsc", upd7201_new_device, ctsb_w)) // actually DTR
|
||||
MCFG_RS232_RXD_HANDLER(WRITELINE(m_mpsc, upd7201_new_device, rxb_w))
|
||||
MCFG_RS232_DCD_HANDLER(WRITELINE(m_mpsc, upd7201_new_device, ctsb_w)) // actually DTR
|
||||
|
||||
MCFG_DEVICE_MODIFY("comm")
|
||||
MCFG_SLOT_OPTION_ADD("microsoft_mouse", MSFT_SERIAL_MOUSE)
|
||||
|
@ -314,7 +314,7 @@ MACHINE_CONFIG_START(rt1715_state::rt1715)
|
||||
MCFG_Z80CTC_ZC0_CB(WRITELINE("a29", z80sio_device, txca_w))
|
||||
MCFG_Z80CTC_ZC2_CB(WRITELINE("a29", z80sio_device, rxtxcb_w))
|
||||
|
||||
MCFG_DEVICE_ADD("a29", Z80SIO, 9.832_MHz_XTAL / 4)
|
||||
Z80SIO(config, "a29", 9.832_MHz_XTAL / 4);
|
||||
|
||||
/* floppy */
|
||||
MCFG_DEVICE_ADD("a71", Z80PIO, 9.832_MHz_XTAL / 4)
|
||||
|
@ -450,9 +450,9 @@ MACHINE_CONFIG_START(ts803_state::ts803)
|
||||
dart_clock.signal_handler().set("dart", FUNC(z80dart_device::txca_w));
|
||||
dart_clock.signal_handler().append("dart", FUNC(z80dart_device::rxca_w));
|
||||
|
||||
MCFG_DEVICE_ADD("sti", Z80STI, 16_MHz_XTAL / 4)
|
||||
MCFG_Z80STI_OUT_TBO_CB(WRITELINE("dart", z80dart_device, rxtxcb_w))
|
||||
MCFG_Z80STI_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
z80sti_device& sti(Z80STI(config, "sti", 16_MHz_XTAL / 4));
|
||||
sti.out_tbo_cb().set("dart", FUNC(z80dart_device::rxtxcb_w));
|
||||
sti.out_int_cb().set_inputline("maincpu", INPUT_LINE_IRQ0);
|
||||
|
||||
MCFG_DEVICE_ADD("dart", Z80DART, 16_MHz_XTAL / 4)
|
||||
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
|
@ -385,10 +385,10 @@ MACHINE_CONFIG_START(unixpc_state::unixpc)
|
||||
MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(*this, unixpc_state, wd2797_drq_w))
|
||||
MCFG_FLOPPY_DRIVE_ADD("wd2797:0", unixpc_floppies, "525dd", floppy_image_device::default_floppy_formats)
|
||||
|
||||
MCFG_DEVICE_ADD("mpsc", UPD7201_NEW, 19.6608_MHz_XTAL / 8)
|
||||
MCFG_Z80SIO_OUT_TXDA_CB(WRITELINE("rs232", rs232_port_device, write_txd))
|
||||
MCFG_Z80SIO_OUT_DTRA_CB(WRITELINE("rs232", rs232_port_device, write_dtr))
|
||||
MCFG_Z80SIO_OUT_RTSA_CB(WRITELINE("rs232", rs232_port_device, write_rts))
|
||||
upd7201_new_device& mpsc(UPD7201_NEW(config, "mpsc", 19.6608_MHz_XTAL / 8));
|
||||
mpsc.out_txda_callback().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
mpsc.out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr));
|
||||
mpsc.out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD("kbc", ACIA6850, 0)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user