z8536.cpp, z80sti.cpp: deMCGF; z80sio.cpp: started deMCFG (nw)

This commit is contained in:
Ivan Vangelista 2018-08-24 23:02:43 +02:00
parent dabf58e85a
commit 1e445ab370
29 changed files with 178 additions and 240 deletions

View File

@ -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))

View File

@ -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; }

View File

@ -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); }

View File

@ -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")

View File

@ -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))

View File

@ -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))

View File

@ -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);

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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 */

View File

@ -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))

View File

@ -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")

View File

@ -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))

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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))

View File

@ -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));

View File

@ -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 */

View File

@ -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))

View File

@ -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))

View File

@ -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);

View File

@ -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

View File

@ -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();

View File

@ -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)

View File

@ -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)

View File

@ -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))

View File

@ -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)