z80dart: converted to use devcb2. nw.

This commit is contained in:
Fabio Priuli 2014-04-29 14:22:11 +00:00
parent e9bd9df3df
commit b30a898e13
45 changed files with 483 additions and 1556 deletions

View File

@ -71,41 +71,13 @@ const rom_entry *abc_sio_device::device_rom_region() const
}
//-------------------------------------------------
// Z80DART_INTERFACE( sio_intf )
//-------------------------------------------------
static Z80DART_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// MACHINE_DRIVER( abc_sio )
//-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( abc_sio )
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL_4_9152MHz)
MCFG_Z80DART_ADD(Z80SIO_TAG, 0, sio_intf)
MCFG_Z80DART_ADD(Z80SIO_TAG, 0, 0, 0, 0, 0)
MACHINE_CONFIG_END

View File

@ -13,33 +13,6 @@
const device_type CPC_RS232 = &device_creator<cpc_rs232_device>;
Z80DART_INTERFACE(dart_intf)
{
0, //m_rxca;
0, //m_txca;
0, //m_rxcb;
0, //m_txcb;
DEVCB_DEVICE_LINE_MEMBER("rs232",rs232_port_device,write_txd), //m_out_txda_cb;
DEVCB_DEVICE_LINE_MEMBER("rs232",rs232_port_device,write_dtr), //m_out_dtra_cb;
DEVCB_DEVICE_LINE_MEMBER("rs232",rs232_port_device,write_rts), //m_out_rtsa_cb;
DEVCB_NULL, //m_out_wrdya_cb;
DEVCB_NULL, //m_out_synca_cb;
DEVCB_NULL, //m_out_txdb_cb;
DEVCB_NULL, //m_out_dtrb_cb;
DEVCB_NULL, //m_out_rtsb_cb;
DEVCB_NULL, //m_out_wrdyb_cb;
DEVCB_NULL, //m_out_syncb_cb;
DEVCB_NULL, //m_out_int_cb;
DEVCB_NULL, //m_out_rxdrqa_cb;
DEVCB_NULL, //m_out_txdrqa_cb;
DEVCB_NULL, //m_out_rxdrqb_cb;
DEVCB_NULL //m_out_txdrqb_cb;
};
// device machine config
static MACHINE_CONFIG_FRAGMENT( cpc_rs232 )
MCFG_DEVICE_ADD("pit", PIT8253, 0)
@ -50,7 +23,10 @@ static MACHINE_CONFIG_FRAGMENT( cpc_rs232 )
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(cpc_rs232_device, pit_out1_w))
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(cpc_rs232_device, pit_out2_w))
MCFG_Z80DART_ADD("dart", XTAL_4MHz, dart_intf)
MCFG_Z80DART_ADD("dart", XTAL_4MHz, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE("rs232", rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_RS232_PORT_ADD("rs232",default_rs232_devices,NULL)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("dart",z80dart_device,rxa_w))

View File

@ -80,29 +80,6 @@ ioport_constructor epson_tf20_device::device_input_ports() const
// machine configurations
//-------------------------------------------------
static UPD7201_INTERFACE( tf20_upd7201_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, epson_tf20_device, txda_w),
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, epson_tf20_device, dtra_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
static SLOT_INTERFACE_START( tf20_floppies )
SLOT_INTERFACE( "sd320", EPSON_SD_320 )
SLOT_INTERFACE_END
@ -118,7 +95,9 @@ static MACHINE_CONFIG_FRAGMENT( tf20 )
MCFG_RAM_DEFAULT_SIZE("64k")
// upd7201 serial interface
MCFG_UPD7201_ADD("3a", XTAL_CR1 / 2, tf20_upd7201_intf)
MCFG_UPD7201_ADD("3a", XTAL_CR1 / 2, 0, 0, 0, 0)
MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(epson_tf20_device, txda_w))
MCFG_Z80DART_OUT_DTRA_CB(WRITELINE(epson_tf20_device, dtra_w))
// floppy disk controller
MCFG_UPD765A_ADD("5a", true, true)

View File

@ -53,69 +53,13 @@
const device_type WANGPC_MCC = &device_creator<wangpc_mcc_device>;
//-------------------------------------------------
// Z80SIO_INTERFACE( sio_intf )
//-------------------------------------------------
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// Z80DART_INTERFACE( dart_intf )
//-------------------------------------------------
static Z80DART_INTERFACE( dart_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// MACHINE_CONFIG_FRAGMENT( wangpc_mcc )
//-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( wangpc_mcc )
MCFG_Z80SIO2_ADD(Z80SIO2_TAG, 4000000, sio_intf)
MCFG_Z80DART_ADD(Z80DART_TAG, 4000000, dart_intf)
MCFG_Z80SIO2_ADD(Z80SIO2_TAG, 4000000, 0, 0, 0, 0)
MCFG_Z80DART_ADD(Z80DART_TAG, 4000000, 0, 0, 0, 0)
MACHINE_CONFIG_END

View File

@ -126,34 +126,6 @@ static I8237_INTERFACE( dmac_intf )
DEVCB_NULL }
};
//-------------------------------------------------
// Z80SIO_INTERFACE( sio_intf )
//-------------------------------------------------
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// MACHINE_CONFIG_FRAGMENT( wangpc_rtc )
//-------------------------------------------------
@ -172,7 +144,8 @@ static MACHINE_CONFIG_FRAGMENT( wangpc_rtc )
MCFG_DEVICE_ADD(Z80CTC_1_TAG, Z80CTC, 2000000)
MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_Z80SIO0_ADD(Z80SIO_TAG, 2000000, sio_intf)
MCFG_Z80SIO0_ADD(Z80SIO_TAG, 2000000, 0, 0, 0, 0)
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MACHINE_CONFIG_END

View File

@ -95,6 +95,25 @@ z80dart_device::z80dart_device(const machine_config &mconfig, device_type type,
device_z80daisy_interface(mconfig, *this),
m_chanA(*this, CHANA_TAG),
m_chanB(*this, CHANB_TAG),
m_rxca(0),
m_txca(0),
m_rxcb(0),
m_txcb(0),
m_out_txda_cb(*this),
m_out_dtra_cb(*this),
m_out_rtsa_cb(*this),
m_out_wrdya_cb(*this),
m_out_synca_cb(*this),
m_out_txdb_cb(*this),
m_out_dtrb_cb(*this),
m_out_rtsb_cb(*this),
m_out_wrdyb_cb(*this),
m_out_syncb_cb(*this),
m_out_int_cb(*this),
m_out_rxdrqa_cb(*this),
m_out_txdrqa_cb(*this),
m_out_rxdrqb_cb(*this),
m_out_txdrqb_cb(*this),
m_variant(variant)
{
for (int i = 0; i < 8; i++)
@ -106,6 +125,25 @@ z80dart_device::z80dart_device(const machine_config &mconfig, const char *tag, d
device_z80daisy_interface(mconfig, *this),
m_chanA(*this, CHANA_TAG),
m_chanB(*this, CHANB_TAG),
m_rxca(0),
m_txca(0),
m_rxcb(0),
m_txcb(0),
m_out_txda_cb(*this),
m_out_dtra_cb(*this),
m_out_rtsa_cb(*this),
m_out_wrdya_cb(*this),
m_out_synca_cb(*this),
m_out_txdb_cb(*this),
m_out_dtrb_cb(*this),
m_out_rtsb_cb(*this),
m_out_wrdyb_cb(*this),
m_out_syncb_cb(*this),
m_out_int_cb(*this),
m_out_rxdrqa_cb(*this),
m_out_txdrqa_cb(*this),
m_out_rxdrqb_cb(*this),
m_out_txdrqb_cb(*this),
m_variant(TYPE_DART)
{
for (int i = 0; i < 8; i++)
@ -148,43 +186,6 @@ upd7201_device::upd7201_device(const machine_config &mconfig, const char *tag, d
}
//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
//-------------------------------------------------
void z80dart_device::device_config_complete()
{
// inherit a copy of the static data
const z80dart_interface *intf = reinterpret_cast<const z80dart_interface *>(static_config());
if (intf != NULL)
*static_cast<z80dart_interface *>(this) = *intf;
// or initialize to defaults if none provided
else
{
m_rxca = m_txca = m_rxcb = m_txcb = 0;
memset(&m_out_txda_cb, 0, sizeof(m_out_txda_cb));
memset(&m_out_dtra_cb, 0, sizeof(m_out_dtra_cb));
memset(&m_out_rtsa_cb, 0, sizeof(m_out_rtsa_cb));
memset(&m_out_wrdya_cb, 0, sizeof(m_out_wrdya_cb));
memset(&m_out_synca_cb, 0, sizeof(m_out_synca_cb));
memset(&m_out_txdb_cb, 0, sizeof(m_out_txdb_cb));
memset(&m_out_dtrb_cb, 0, sizeof(m_out_dtrb_cb));
memset(&m_out_rtsb_cb, 0, sizeof(m_out_rtsb_cb));
memset(&m_out_wrdyb_cb, 0, sizeof(m_out_wrdyb_cb));
memset(&m_out_syncb_cb, 0, sizeof(m_out_syncb_cb));
memset(&m_out_int_cb, 0, sizeof(m_out_int_cb));
memset(&m_out_rxdrqa_cb, 0, sizeof(m_out_rxdrqa_cb));
memset(&m_out_txdrqa_cb, 0, sizeof(m_out_txdrqa_cb));
memset(&m_out_rxdrqb_cb, 0, sizeof(m_out_rxdrqb_cb));
memset(&m_out_txdrqb_cb, 0, sizeof(m_out_txdrqb_cb));
}
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
@ -192,32 +193,30 @@ void z80dart_device::device_config_complete()
void z80dart_device::device_start()
{
// resolve callbacks
m_out_int_func.resolve(m_out_int_cb, *this);
m_out_txda_cb.resolve_safe();
m_out_dtra_cb.resolve_safe();
m_out_rtsa_cb.resolve_safe();
m_out_wrdya_cb.resolve_safe();
m_out_synca_cb.resolve_safe();
m_out_txdb_cb.resolve_safe();
m_out_dtrb_cb.resolve_safe();
m_out_rtsb_cb.resolve_safe();
m_out_wrdyb_cb.resolve_safe();
m_out_syncb_cb.resolve_safe();
m_out_int_cb.resolve_safe();
m_out_rxdrqa_cb.resolve_safe();
m_out_txdrqa_cb.resolve_safe();
m_out_rxdrqb_cb.resolve_safe();
m_out_txdrqb_cb.resolve_safe();
// configure channel A
m_chanA->m_rxc = m_rxca;
m_chanA->m_txc = m_txca;
m_chanA->m_out_txd_cb = m_out_txda_cb;
m_chanA->m_out_dtr_cb = m_out_dtra_cb;
m_chanA->m_out_rts_cb = m_out_rtsa_cb;
m_chanA->m_out_wrdy_cb = m_out_wrdya_cb;
m_chanA->m_out_sync_cb = m_out_synca_cb;
m_chanA->m_out_rxdrq_cb = m_out_rxdrqa_cb;
m_chanA->m_out_txdrq_cb = m_out_txdrqa_cb;
// configure channel B
m_chanB->m_rxc = m_rxcb;
m_chanB->m_txc = m_txcb;
m_chanB->m_out_txd_cb = m_out_txdb_cb;
m_chanB->m_out_dtr_cb = m_out_dtrb_cb;
m_chanB->m_out_rts_cb = m_out_rtsb_cb;
m_chanB->m_out_wrdy_cb = m_out_wrdyb_cb;
m_chanB->m_out_sync_cb = m_out_syncb_cb;
m_chanB->m_out_rxdrq_cb = m_out_rxdrqb_cb;
m_chanB->m_out_txdrq_cb = m_out_txdrqb_cb;
// state saving
save_item(NAME(m_int_state));
}
@ -333,7 +332,7 @@ void z80dart_device::z80daisy_irq_reti()
void z80dart_device::check_interrupts()
{
int state = (z80daisy_irq_state() & Z80_DAISY_INT) ? ASSERT_LINE : CLEAR_LINE;
m_out_int_func(state);
m_out_int_cb(state);
}
@ -546,15 +545,6 @@ void z80dart_channel::device_start()
m_uart = downcast<z80dart_device *>(owner());
m_index = m_uart->get_channel_index(this);
// resolve callbacks
m_out_txd_func.resolve(m_out_txd_cb, *m_uart);
m_out_dtr_func.resolve(m_out_dtr_cb, *m_uart);
m_out_rts_func.resolve(m_out_rts_cb, *m_uart);
m_out_wrdy_func.resolve(m_out_wrdy_cb, *m_uart);
m_out_sync_func.resolve(m_out_sync_cb, *m_uart);
m_out_rxdrq_func.resolve(m_out_rxdrq_cb, *m_uart);
m_out_txdrq_func.resolve(m_out_txdrq_cb, *m_uart);
// state saving
save_item(NAME(m_rr));
save_item(NAME(m_wr));
@ -620,17 +610,26 @@ void z80dart_channel::tra_callback()
if (!(m_wr[5] & WR5_TX_ENABLE))
{
// transmit mark
m_out_txd_func(1);
if (m_index == z80dart_device::CHANNEL_A)
m_uart->m_out_txda_cb(1);
else
m_uart->m_out_txdb_cb(1);
}
else if (m_wr[5] & WR5_SEND_BREAK)
{
// transmit break
m_out_txd_func(0);
if (m_index == z80dart_device::CHANNEL_A)
m_uart->m_out_txda_cb(0);
else
m_uart->m_out_txdb_cb(0);
}
else if (!is_transmit_register_empty())
{
// transmit data
m_out_txd_func(transmit_register_get_data_bit());
if (m_index == z80dart_device::CHANNEL_A)
m_uart->m_out_txda_cb(transmit_register_get_data_bit());
else
m_uart->m_out_txdb_cb(transmit_register_get_data_bit());
}
}
@ -656,12 +655,18 @@ void z80dart_channel::tra_complete()
else if (m_wr[5] & WR5_SEND_BREAK)
{
// transmit break
m_out_txd_func(0);
if (m_index == z80dart_device::CHANNEL_A)
m_uart->m_out_txda_cb(0);
else
m_uart->m_out_txdb_cb(0);
}
else
{
// transmit mark
m_out_txd_func(1);
if (m_index == z80dart_device::CHANNEL_A)
m_uart->m_out_txda_cb(1);
else
m_uart->m_out_txdb_cb(1);
}
// if transmit buffer is empty
@ -1321,7 +1326,10 @@ void z80dart_channel::set_dtr(int state)
{
m_dtr = state;
m_out_dtr_func(m_dtr);
if (m_index == z80dart_device::CHANNEL_A)
m_uart->m_out_dtra_cb(m_dtr);
else
m_uart->m_out_dtrb_cb(m_dtr);
}
@ -1331,7 +1339,10 @@ void z80dart_channel::set_dtr(int state)
void z80dart_channel::set_rts(int state)
{
m_out_rts_func(state);
if (m_index == z80dart_device::CHANNEL_A)
m_uart->m_out_rtsa_cb(state);
else
m_uart->m_out_rtsb_cb(state);
}

View File

@ -152,92 +152,96 @@
#include "cpu/z80/z80daisy.h"
//**************************************************************************
// DEVICE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_Z80DART_ADD(_tag, _clock, _config) \
#define MCFG_Z80DART_ADD(_tag, _clock, _rxa, _txa, _rxb, _txb) \
MCFG_DEVICE_ADD(_tag, Z80DART, _clock) \
MCFG_DEVICE_CONFIG(_config)
MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb)
#define MCFG_Z80SIO0_ADD(_tag, _clock, _config) \
#define MCFG_Z80SIO0_ADD(_tag, _clock, _rxa, _txa, _rxb, _txb) \
MCFG_DEVICE_ADD(_tag, Z80SIO0, _clock) \
MCFG_DEVICE_CONFIG(_config)
MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb)
#define MCFG_Z80SIO1_ADD(_tag, _clock, _config) \
#define MCFG_Z80SIO1_ADD(_tag, _clock, _rxa, _txa, _rxb, _txb) \
MCFG_DEVICE_ADD(_tag, Z80SIO1, _clock) \
MCFG_DEVICE_CONFIG(_config)
MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb)
#define MCFG_Z80SIO2_ADD(_tag, _clock, _config) \
#define MCFG_Z80SIO2_ADD(_tag, _clock, _rxa, _txa, _rxb, _txb) \
MCFG_DEVICE_ADD(_tag, Z80SIO2, _clock) \
MCFG_DEVICE_CONFIG(_config)
MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb)
#define MCFG_Z80SIO3_ADD(_tag, _clock, _config) \
#define MCFG_Z80SIO3_ADD(_tag, _clock, _rxa, _txa, _rxb, _txb) \
MCFG_DEVICE_ADD(_tag, Z80SIO3, _clock) \
MCFG_DEVICE_CONFIG(_config)
MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb)
#define MCFG_Z80SIO4_ADD(_tag, _clock, _config) \
#define MCFG_Z80SIO4_ADD(_tag, _clock, _rxa, _txa, _rxb, _txb) \
MCFG_DEVICE_ADD(_tag, Z80SIO4, _clock) \
MCFG_DEVICE_CONFIG(_config)
MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb)
#define MCFG_I8274_ADD(_tag, _clock, _config) \
#define MCFG_I8274_ADD(_tag, _clock, _rxa, _txa, _rxb, _txb) \
MCFG_DEVICE_ADD(_tag, I8274, _clock) \
MCFG_DEVICE_CONFIG(_config)
MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb)
#define MCFG_UPD7201_ADD(_tag, _clock, _config) \
#define MCFG_UPD7201_ADD(_tag, _clock, _rxa, _txa, _rxb, _txb) \
MCFG_DEVICE_ADD(_tag, UPD7201, _clock) \
MCFG_DEVICE_CONFIG(_config)
MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb)
#define MCFG_Z80DART_REMOVE(_tag) \
MCFG_DEVICE_REMOVE(_tag)
#define Z80DART_INTERFACE(_name) \
const z80dart_interface (_name) =
#define MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb) \
z80dart_device::configure_channels(*device, _rxa, _txa, _rxb, _txb);
#define Z80SIO_INTERFACE(_name) \
const z80dart_interface (_name) =
#define MCFG_Z80DART_OUT_TXDA_CB(_devcb) \
devcb = &z80dart_device::set_out_txda_callback(*device, DEVCB2_##_devcb);
#define UPD7201_INTERFACE(_name) \
const z80dart_interface (_name) =
#define MCFG_Z80DART_OUT_DTRA_CB(_devcb) \
devcb = &z80dart_device::set_out_dtra_callback(*device, DEVCB2_##_devcb);
#define I8274_INTERFACE(_name) \
const z80dart_interface (_name) =
#define MCFG_Z80DART_OUT_RTSA_CB(_devcb) \
devcb = &z80dart_device::set_out_rtsa_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_WRDYA_CB(_devcb) \
devcb = &z80dart_device::set_out_wrdya_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_SYNCA_CB(_devcb) \
devcb = &z80dart_device::set_out_synca_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_TXDB_CB(_devcb) \
devcb = &z80dart_device::set_out_txdb_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_DTRB_CB(_devcb) \
devcb = &z80dart_device::set_out_dtrb_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_RTSB_CB(_devcb) \
devcb = &z80dart_device::set_out_rtsb_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_WRDYB_CB(_devcb) \
devcb = &z80dart_device::set_out_wrdyb_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_SYNCB_CB(_devcb) \
devcb = &z80dart_device::set_out_syncb_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_INT_CB(_devcb) \
devcb = &z80dart_device::set_out_int_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_RXDRQA_CB(_devcb) \
devcb = &z80dart_device::set_out_rxdrqa_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_TXDRQA_CB(_devcb) \
devcb = &z80dart_device::set_out_txdrqa_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_RXDRQB_CB(_devcb) \
devcb = &z80dart_device::set_out_rxdrqb_callback(*device, DEVCB2_##_devcb);
#define MCFG_Z80DART_OUT_TXDRQB_CB(_devcb) \
devcb = &z80dart_device::set_out_txdrqb_callback(*device, DEVCB2_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> z80dart_interface
struct z80dart_interface
{
int m_rxca;
int m_txca;
int m_rxcb;
int m_txcb;
devcb_write_line m_out_txda_cb;
devcb_write_line m_out_dtra_cb;
devcb_write_line m_out_rtsa_cb;
devcb_write_line m_out_wrdya_cb;
devcb_write_line m_out_synca_cb;
devcb_write_line m_out_txdb_cb;
devcb_write_line m_out_dtrb_cb;
devcb_write_line m_out_rtsb_cb;
devcb_write_line m_out_wrdyb_cb;
devcb_write_line m_out_syncb_cb;
devcb_write_line m_out_int_cb;
devcb_write_line m_out_rxdrqa_cb;
devcb_write_line m_out_txdrqa_cb;
devcb_write_line m_out_rxdrqb_cb;
devcb_write_line m_out_txdrqb_cb;
};
// ======================> z80dart_channel
class z80dart_device;
@ -277,14 +281,6 @@ public:
DECLARE_WRITE_LINE_MEMBER( txc_w );
DECLARE_WRITE_LINE_MEMBER( sync_w );
devcb_write_line m_out_txd_cb;
devcb_write_line m_out_dtr_cb;
devcb_write_line m_out_rts_cb;
devcb_write_line m_out_wrdy_cb;
devcb_write_line m_out_sync_cb;
devcb_write_line m_out_rxdrq_cb;
devcb_write_line m_out_txdrq_cb;
int m_rxc;
int m_txc;
@ -434,14 +430,6 @@ protected:
int get_rx_word_length();
int get_tx_word_length();
devcb_resolved_write_line m_out_txd_func;
devcb_resolved_write_line m_out_dtr_func;
devcb_resolved_write_line m_out_rts_func;
devcb_resolved_write_line m_out_wrdy_func;
devcb_resolved_write_line m_out_sync_func;
devcb_resolved_write_line m_out_rxdrq_func;
devcb_resolved_write_line m_out_txdrq_func;
// receiver state
UINT8 m_rx_data_fifo[3]; // receive data FIFO
UINT8 m_rx_error_fifo[3]; // receive error FIFO
@ -476,8 +464,7 @@ protected:
// ======================> z80dart_device
class z80dart_device : public device_t,
public device_z80daisy_interface,
public z80dart_interface
public device_z80daisy_interface
{
friend class z80dart_channel;
@ -486,6 +473,31 @@ public:
z80dart_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, UINT32 variant, const char *shortname, const char *source);
z80dart_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
template<class _Object> static devcb2_base &set_out_txda_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_txda_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_dtra_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_dtra_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_rtsa_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_rtsa_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_wrdya_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_wrdya_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_synca_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_synca_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_txdb_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_txdb_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_dtrb_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_dtrb_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_rtsb_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_rtsb_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_wrdyb_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_wrdyb_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_syncb_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_syncb_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_int_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_int_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_rxdrqa_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_rxdrqa_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_txdrqa_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_txdrqa_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_rxdrqb_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_rxdrqb_cb.set_callback(object); }
template<class _Object> static devcb2_base &set_out_txdrqb_callback(device_t &device, _Object object) { return downcast<z80dart_device &>(device).m_out_txdrqb_cb.set_callback(object); }
static void configure_channels(device_t &device, int rxa, int txa, int rxb, int txb)
{
z80dart_device &dev = downcast<z80dart_device &>(device);
dev.m_rxca = rxa;
dev.m_txca = txa;
dev.m_rxcb = rxb;
dev.m_txcb = txb;
}
DECLARE_READ8_MEMBER( cd_ba_r );
DECLARE_WRITE8_MEMBER( cd_ba_w );
DECLARE_READ8_MEMBER( ba_cd_r );
@ -512,7 +524,6 @@ public:
protected:
// device-level overrides
virtual void device_config_complete();
virtual void device_start();
virtual void device_reset();
virtual machine_config_constructor device_mconfig_additions() const;
@ -550,8 +561,30 @@ protected:
required_device<z80dart_channel> m_chanB;
// internal state
devcb_resolved_write_line m_out_int_func;
int m_int_state[8]; // interrupt state
int m_rxca;
int m_txca;
int m_rxcb;
int m_txcb;
devcb2_write_line m_out_txda_cb;
devcb2_write_line m_out_dtra_cb;
devcb2_write_line m_out_rtsa_cb;
devcb2_write_line m_out_wrdya_cb;
devcb2_write_line m_out_synca_cb;
devcb2_write_line m_out_txdb_cb;
devcb2_write_line m_out_dtrb_cb;
devcb2_write_line m_out_rtsb_cb;
devcb2_write_line m_out_wrdyb_cb;
devcb2_write_line m_out_syncb_cb;
devcb2_write_line m_out_int_cb;
devcb2_write_line m_out_rxdrqa_cb;
devcb2_write_line m_out_txdrqa_cb;
devcb2_write_line m_out_rxdrqb_cb;
devcb2_write_line m_out_txdrqb_cb;
int m_int_state[8]; // interrupt state
int m_variant;
};
@ -641,5 +674,4 @@ extern const device_type I8274;
extern const device_type UPD7201;
#endif

View File

@ -563,7 +563,7 @@ void abc1600_state::update_drdy2()
}
//-------------------------------------------------
// Z80DART_INTERFACE( dart_intf )
// Z80DART
//-------------------------------------------------
READ8_MEMBER( abc1600_state::dart_r )
@ -576,30 +576,6 @@ WRITE8_MEMBER( abc1600_state::dart_w )
m_dart->ba_cd_w(space, A2_A1 ^ 0x03, data);
}
static Z80DART_INTERFACE( dart_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(MC68008P8_TAG, M68K_IRQ_5), // shared with SCC
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// SCC8530_INTERFACE( sc_intf )
//-------------------------------------------------
@ -904,7 +880,12 @@ static MACHINE_CONFIG_START( abc1600, abc1600_state )
MCFG_Z80DMA_IN_IORQ_CB(DEVREAD8(ABC1600_MAC_TAG, abc1600_mac_device, dma2_iorq_r))
MCFG_Z80DMA_OUT_IORQ_CB(DEVWRITE8(ABC1600_MAC_TAG, abc1600_mac_device, dma2_iorq_w))
MCFG_Z80DART_ADD(Z8470AB1_TAG, XTAL_64MHz/16, dart_intf)
MCFG_Z80DART_ADD(Z8470AB1_TAG, XTAL_64MHz/16, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(MC68008P8_TAG, M68K_IRQ_5)) // shared with SCC
MCFG_DEVICE_ADD(Z8530B1_TAG, SCC8530, XTAL_64MHz/16)
MCFG_Z8530_INTRQ_CALLBACK(INPUTLINE(MC68008P8_TAG, M68K_IRQ_5))

View File

@ -662,7 +662,7 @@ WRITE_LINE_MEMBER( abc800_state::ctc_z2_w )
}
//-------------------------------------------------
// Z80SIO_INTERFACE( sio_intf )
// Z80SIO
//-------------------------------------------------
void abc800_state::clock_cassette(int state)
@ -724,60 +724,8 @@ WRITE_LINE_MEMBER( abc800_state::sio_rtsb_w )
}
}
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DRIVER_LINE_MEMBER(abc800_state, sio_txdb_w),
DEVCB_DRIVER_LINE_MEMBER(abc800_state, sio_dtrb_w),
DEVCB_DRIVER_LINE_MEMBER(abc800_state, sio_rtsb_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// Z80DART_INTERFACE( abc800_dart_intf )
//-------------------------------------------------
static Z80DART_INTERFACE( abc800_dart_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// Z80DART_INTERFACE( abc802_dart_intf )
// Z80DART abc802
//-------------------------------------------------
WRITE_LINE_MEMBER( abc802_state::lrs_w )
@ -792,32 +740,8 @@ WRITE_LINE_MEMBER( abc802_state::mux80_40_w )
m_80_40_mux = state;
}
static Z80DART_INTERFACE( abc802_dart_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w),
DEVCB_DRIVER_LINE_MEMBER(abc802_state, lrs_w),
DEVCB_DRIVER_LINE_MEMBER(abc802_state, mux80_40_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// Z80DART_INTERFACE( abc806_dart_intf )
// Z80DART abc806
//-------------------------------------------------
WRITE_LINE_MEMBER( abc806_state::keydtr_w )
@ -827,29 +751,6 @@ WRITE_LINE_MEMBER( abc806_state::keydtr_w )
bankswitch();
}
static Z80DART_INTERFACE( abc806_dart_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w),
DEVCB_DRIVER_LINE_MEMBER(abc806_state, keydtr_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// z80_daisy_config abc800_daisy_chain
//-------------------------------------------------
@ -1138,8 +1039,22 @@ static MACHINE_CONFIG_START( abc800c, abc800c_state )
MCFG_Z80CTC_ZC1_CB(WRITELINE(abc800_state, ctc_z1_w))
MCFG_Z80CTC_ZC2_CB(WRITELINE(abc800_state, ctc_z2_w))
MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, sio_intf)
MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, abc800_dart_intf)
MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_CASSETTE_ADD("cassette", cass_intf)
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
@ -1198,8 +1113,22 @@ static MACHINE_CONFIG_START( abc800m, abc800m_state )
MCFG_Z80CTC_ZC1_CB(WRITELINE(abc800_state, ctc_z1_w))
MCFG_Z80CTC_ZC2_CB(WRITELINE(abc800_state, ctc_z2_w))
MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, sio_intf)
MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, abc800_dart_intf)
MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_CASSETTE_ADD("cassette", cass_intf)
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
@ -1258,8 +1187,24 @@ static MACHINE_CONFIG_START( abc802, abc802_state )
MCFG_Z80CTC_ZC1_CB(WRITELINE(abc800_state, ctc_z1_w))
MCFG_Z80CTC_ZC2_CB(WRITELINE(abc800_state, ctc_z2_w))
MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, sio_intf)
MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, abc802_dart_intf)
MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w))
MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(abc802_state, lrs_w))
MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(abc802_state, mux80_40_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_CASSETTE_ADD("cassette", cass_intf)
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
@ -1313,8 +1258,22 @@ static MACHINE_CONFIG_START( abc806, abc806_state )
MCFG_Z80CTC_ZC1_CB(WRITELINE(abc800_state, ctc_z1_w))
MCFG_Z80CTC_ZC2_CB(WRITELINE(abc800_state, ctc_z2_w))
MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, sio_intf)
MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, abc806_dart_intf)
MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(abc800_state, sio_txdb_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w))
MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(abc806_state, keydtr_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))

View File

@ -326,58 +326,6 @@ WRITE8_MEMBER( altos5_state::port09_w )
setup_banks(2);
}
// serial printer and console#3
static Z80DART_INTERFACE( dart_intf )
{
0, 0, 0, 0,
// console#3
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
// printer
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
// consoles#1 and 2
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
// console#2
DEVCB_NULL, // out data
DEVCB_NULL, // DTR
DEVCB_NULL, // RTS
DEVCB_NULL, // WRDY connects to (altos5_state, fdc_intrq_w),
DEVCB_NULL, // SYNC
// console#1
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0),
DEVCB_NULL, // unused DRQ pins
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
static SLOT_INTERFACE_START( altos5_floppies )
SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
SLOT_INTERFACE_END
@ -455,8 +403,19 @@ static MACHINE_CONFIG_START( altos5, altos5_state )
MCFG_DEVICE_ADD("z80pio_1", Z80PIO, XTAL_8MHz / 2)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
MCFG_Z80DART_ADD("z80dart", XTAL_8MHz / 2, dart_intf )
MCFG_Z80SIO0_ADD("z80sio", XTAL_8MHz / 2, sio_intf )
MCFG_Z80DART_ADD("z80dart", XTAL_8MHz / 2, 0, 0, 0, 0 )
// Channel A - console #3
// Channel B - printer
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
MCFG_Z80SIO0_ADD("z80sio", XTAL_8MHz / 2, 0, 0, 0, 0 )
// Channel A - console #2
// WRDY connects to (altos5_state, fdc_intrq_w)
// Channel B - console #1
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE("rs232", rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
MCFG_DEVICE_ADD("z80ctc", Z80CTC, XTAL_8MHz / 2)
MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))

View File

@ -117,29 +117,6 @@ static const z80_daisy_config daisy_chain_intf[] =
{ NULL }
};
static Z80DART_INTERFACE( dart_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL, // out data
DEVCB_NULL, // DTR
DEVCB_NULL, // RTS
DEVCB_NULL, // WRDY
DEVCB_NULL, // SYNC
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
// Baud rate generator. All inputs are 2MHz.
TIMER_DEVICE_CALLBACK_MEMBER( ampro_state::ctc_tick )
{
@ -192,7 +169,12 @@ static MACHINE_CONFIG_START( ampro, ampro_state )
MCFG_Z80CTC_ZC0_CB(WRITELINE(ampro_state, ctc_z0_w)) // Z80DART Ch A, SIO Ch A
MCFG_Z80CTC_ZC1_CB(DEVWRITELINE("z80dart", z80dart_device, rxtxcb_w)) // SIO Ch B
MCFG_Z80DART_ADD("z80dart", XTAL_16MHz / 4, dart_intf )
MCFG_Z80DART_ADD("z80dart", XTAL_16MHz / 4, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE("rs232", rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("z80dart", z80dart_device, rxa_w))

View File

@ -194,33 +194,6 @@ WRITE_LINE_MEMBER( apricot_state::timer_out2 )
}
}
static Z80SIO_INTERFACE( apricot_z80sio_intf )
{
0, 0,
XTAL_4MHz / 16, XTAL_4MHz / 16,
// channel a
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts),
DEVCB_DEVICE_LINE_MEMBER("ic71", i8089_device, drq2_w),
DEVCB_NULL,
// channel b
DEVCB_NULL,
DEVCB_DRIVER_LINE_MEMBER(apricot_state, data_selector_dtr_w),
DEVCB_DRIVER_LINE_MEMBER(apricot_state, data_selector_rts_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER("ic31", pic8259_device, ir5_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//**************************************************************************
// FLOPPY
//**************************************************************************
@ -403,7 +376,14 @@ static MACHINE_CONFIG_START( apricot, apricot_state )
MCFG_PIT8253_CLK2(XTAL_4MHz / 2)
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(apricot_state, timer_out2))
MCFG_Z80SIO0_ADD("ic15", XTAL_15MHz / 6, apricot_z80sio_intf)
MCFG_Z80SIO0_ADD("ic15", XTAL_15MHz / 6, 0, 0, XTAL_4MHz / 16, XTAL_4MHz / 16)
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE("rs232", rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_Z80DART_OUT_WRDYA_CB(DEVWRITELINE("ic71", i8089_device, drq2_w))
MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(apricot_state, data_selector_dtr_w))
MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(apricot_state, data_selector_rts_w))
MCFG_Z80DART_OUT_INT_CB(DEVWRITELINE("ic31", pic8259_device, ir5_w))
// rs232 port
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, NULL)

View File

@ -214,7 +214,7 @@ INPUT_PORTS_END
//**************************************************************************
//-------------------------------------------------
// Z80SIO_INTERFACE( sio_intf )
// Z80SIO
//-------------------------------------------------
WRITE_LINE_MEMBER( f1_state::sio_int_w )
@ -224,30 +224,6 @@ WRITE_LINE_MEMBER( f1_state::sio_int_w )
m_maincpu->set_input_line(INPUT_LINE_IRQ0, m_ctc_int || m_sio_int);
}
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DRIVER_LINE_MEMBER(f1_state, sio_int_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// Z80CTC
//-------------------------------------------------
@ -309,7 +285,9 @@ static MACHINE_CONFIG_START( act_f1, f1_state )
/* Devices */
MCFG_DEVICE_ADD(APRICOT_KEYBOARD_TAG, APRICOT_KEYBOARD, 0)
MCFG_Z80SIO2_ADD(Z80SIO2_TAG, 2500000, sio_intf)
MCFG_Z80SIO2_ADD(Z80SIO2_TAG, 2500000, 0, 0, 0, 0)
MCFG_Z80DART_OUT_INT_CB(WRITELINE(f1_state, sio_int_w))
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, 2500000)
MCFG_Z80CTC_INTR_CB(WRITELINE(f1_state, ctc_int_w))

View File

@ -437,34 +437,6 @@ static I8237_INTERFACE( dmac_intf )
};
//-------------------------------------------------
// Z80SIO_INTERFACE( sio_intf )
//-------------------------------------------------
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir4_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// wd17xx_interface fdc_intf
//-------------------------------------------------
@ -591,7 +563,9 @@ static MACHINE_CONFIG_START( fp, fp_state )
MCFG_PIT8253_CLK1(2000000)
MCFG_PIT8253_CLK2(2000000)
MCFG_Z80SIO0_ADD(Z80SIO0_TAG, 2500000, sio_intf)
MCFG_Z80SIO0_ADD(Z80SIO0_TAG, 2500000, 0, 0, 0, 0)
MCFG_Z80DART_OUT_INT_CB(DEVWRITELINE(I8259A_TAG, pic8259_device, ir4_w))
MCFG_WD2797x_ADD(WD2797_TAG, 2000000)
MCFG_WD_FDC_INTRQ_CALLBACK(DEVWRITELINE(I8259A_TAG, pic8259_device, ir1_w))
MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE(I8237_TAG, am9517a_device, dreq1_w))

View File

@ -871,29 +871,6 @@ static const ay8910_interface ay8912_interface =
DEVCB_NULL /* portB write */
};
static Z80SIO_INTERFACE( sio_interface )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
static const am9517a_interface dma_interface =
{
DEVCB_DRIVER_LINE_MEMBER(attache_state,hreq_w), // out_hreq_cb
@ -1003,7 +980,7 @@ static MACHINE_CONFIG_START( attache, attache_state )
MCFG_Z80PIO_IN_PB_CB(READ8(attache_state, pio_portB_r))
MCFG_Z80PIO_OUT_PB_CB(WRITE8(attache_state, pio_portB_w))
MCFG_Z80SIO0_ADD("sio",XTAL_8MHz / 26, sio_interface)
MCFG_Z80SIO0_ADD("sio",XTAL_8MHz / 26, 0, 0, 0, 0)
MCFG_DEVICE_ADD("ctc", Z80CTC, XTAL_8MHz / 4)
MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))

View File

@ -399,32 +399,6 @@ static INPUT_PORTS_START( bigbord2 )
INPUT_PORTS_END
/* Z80 SIO */
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
/* Z80 CTC */
TIMER_DEVICE_CALLBACK_MEMBER(bigbord2_state::ctc_tick)
@ -613,7 +587,8 @@ static MACHINE_CONFIG_START( bigbord2, bigbord2_state )
MCFG_Z80DMA_IN_IORQ_CB(READ8(bigbord2_state, io_read_byte))
MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(bigbord2_state, io_write_byte))
MCFG_Z80SIO0_ADD(Z80SIO_TAG, MAIN_CLOCK, sio_intf)
MCFG_Z80SIO0_ADD(Z80SIO_TAG, MAIN_CLOCK, 0, 0, 0, 0)
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_DEVICE_ADD(Z80CTCA_TAG, Z80CTC, MAIN_CLOCK)
MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))

View File

@ -733,7 +733,7 @@ WRITE_LINE_MEMBER( bullet_state::dart_rxtxca_w )
}
//-------------------------------------------------
// Z80DART_INTERFACE( dart_intf )
// Z80DART
//-------------------------------------------------
WRITE_LINE_MEMBER( bullet_state::dartardy_w )
@ -748,30 +748,6 @@ WRITE_LINE_MEMBER( bullet_state::dartbrdy_w )
update_dma_rdy();
}
static Z80DART_INTERFACE( dart_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_DRIVER_LINE_MEMBER(bullet_state, dartardy_w),
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts),
DEVCB_DRIVER_LINE_MEMBER(bullet_state, dartbrdy_w),
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// Z80DMA
//-------------------------------------------------
@ -1141,7 +1117,16 @@ static MACHINE_CONFIG_START( bullet, bullet_state )
MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", bullet_state, ctc_tick, attotime::from_hz(XTAL_4_9152MHz/4))
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_16MHz/4, dart_intf)
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_16MHz/4, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_WRDYA_CB(WRITELINE(bullet_state, dartardy_w))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_WRDYB_CB(WRITELINE(bullet_state, dartbrdy_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_DEVICE_ADD(Z80DMA_TAG, Z80DMA, XTAL_16MHz/4)
MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE(Z80_TAG, INPUT_LINE_HALT))
@ -1212,7 +1197,16 @@ static MACHINE_CONFIG_START( bulletf, bulletf_state )
MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", bullet_state, ctc_tick, attotime::from_hz(XTAL_4_9152MHz/4))
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_16MHz/4, dart_intf)
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_16MHz/4, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_WRDYA_CB(WRITELINE(bullet_state, dartardy_w))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_WRDYB_CB(WRITELINE(bullet_state, dartbrdy_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_DEVICE_ADD(Z80DMA_TAG, Z80DMA, XTAL_16MHz/4)
MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE(Z80_TAG, INPUT_LINE_HALT))

View File

@ -431,31 +431,6 @@ WRITE_LINE_MEMBER( bw12_state::pia_cb2_w )
}
}
/* Z80-SIO/0 Interface */
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
/* PIT8253 Interface */
WRITE_LINE_MEMBER( bw12_state::pit_out0_w )
@ -609,7 +584,14 @@ static MACHINE_CONFIG_START( common, bw12_state )
MCFG_PIA_IRQA_HANDLER(DEVWRITELINE(Z80_TAG, z80_device, irq_line))
MCFG_PIA_IRQB_HANDLER(DEVWRITELINE(Z80_TAG, z80_device, irq_line))
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_16MHz/4, sio_intf)
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_16MHz/4, 0, 0, 0, 0)
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_DEVICE_ADD(PIT8253_TAG, PIT8253, 0)
MCFG_PIT8253_CLK0(XTAL_1_8432MHz)

View File

@ -585,34 +585,6 @@ WRITE8_MEMBER( compis_state::ppi_pc_w )
m_isbx0->opt0_w(BIT(data, 7));
}
//-------------------------------------------------
// I8274_INTERFACE( mpsc_intf )
//-------------------------------------------------
static I8274_INTERFACE( mpsc_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(I80186_TAG, i80186_cpu_device, int3_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// cassette_interface compis_cassette_interface
//-------------------------------------------------
@ -725,7 +697,14 @@ static MACHINE_CONFIG_START( compis, compis_state )
MCFG_DEVICE_ADD(COMPIS_KEYBOARD_TAG, COMPIS_KEYBOARD, 0)
MCFG_COMPIS_KEYBOARD_OUT_TX_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_rxd))
MCFG_I8274_ADD(I8274_TAG, XTAL_16MHz/4, mpsc_intf)
MCFG_I8274_ADD(I8274_TAG, XTAL_16MHz/4, 0, 0, 0, 0)
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(DEVWRITELINE(I80186_TAG, i80186_cpu_device, int3_w))
MCFG_DEVICE_ADD(MM58174A_TAG, MM58274C, 0)
MCFG_MM58274C_MODE24(0) // 12 hour

View File

@ -151,29 +151,6 @@ WRITE_LINE_MEMBER( czk80_state::ctc_z2_w )
{
}
static Z80DART_INTERFACE( dart_intf )
{
0, 0, 0, 0,
DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx),
DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr),
DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL, // out data
DEVCB_NULL, // DTR
DEVCB_NULL, // RTS
DEVCB_NULL, // WRDY
DEVCB_NULL, // SYNC
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
/* after the first 4 bytes have been read from ROM, switch the ram back in */
TIMER_CALLBACK_MEMBER( czk80_state::czk80_reset)
{
@ -230,7 +207,11 @@ static MACHINE_CONFIG_START( czk80, czk80_state )
MCFG_Z80CTC_ZC1_CB(WRITELINE(czk80_state, ctc_z1_w))
MCFG_Z80CTC_ZC2_CB(WRITELINE(czk80_state, ctc_z2_w))
MCFG_Z80DART_ADD("z80dart", XTAL_16MHz / 4, dart_intf)
MCFG_Z80DART_ADD("z80dart", XTAL_16MHz / 4, 0, 0, 0, 0 )
//MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE("rs232", rs232_port_device, write_txd))
//MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
//MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
MCFG_DEVICE_ADD("z80pio", Z80PIO, XTAL_16MHz/4)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))

View File

@ -263,29 +263,6 @@ WRITE_LINE_MEMBER(amu880_state::cassette_w)
m_cassette->output(state ? -1.0 : +1.0);
}
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_DRIVER_LINE_MEMBER(amu880_state, cassette_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
/* Z80 Daisy Chain */
static const z80_daisy_config amu880_daisy_chain[] =
@ -387,7 +364,9 @@ static MACHINE_CONFIG_START( amu880, amu880_state )
MCFG_DEVICE_ADD(Z80PIO2_TAG, Z80PIO, XTAL_10MHz/4)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_10MHz/4, sio_intf) // U856
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_10MHz/4, 0, 0, 0, 0) // U856
MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(amu880_state, cassette_w))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_CASSETTE_ADD("cassette", amu880_cassette_interface)
MCFG_TIMER_DRIVER_ADD_PERIODIC("tape", amu880_state, tape_tick, attotime::from_hz(44100))

View File

@ -187,29 +187,6 @@ WRITE8_MEMBER( isbc_state::ppi_c_w )
m_pic_1->ir7_w(0);
}
static I8274_INTERFACE(isbc286_uart8274_interface)
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER("rs232a", rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER("rs232a", rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER("rs232a", rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER("rs232b", rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER("rs232b", rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER("rs232b", rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DRIVER_LINE_MEMBER(isbc_state, isbc_uart8274_irq),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
WRITE_LINE_MEMBER(isbc_state::isbc_uart8274_irq)
{
m_uart8274->m1_r(); // always set
@ -315,7 +292,14 @@ static MACHINE_CONFIG_START( isbc286, isbc_state )
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
MCFG_I8274_ADD("uart8274", XTAL_16MHz/4, isbc286_uart8274_interface)
MCFG_I8274_ADD("uart8274", XTAL_16MHz/4, 0, 0, 0, 0)
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE("rs232a", rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE("rs232a", rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE("rs232a", rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE("rs232b", rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE("rs232b", rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE("rs232b", rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(WRITELINE(isbc_state, isbc_uart8274_irq))
MCFG_RS232_PORT_ADD("rs232a", default_rs232_devices, NULL)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8274", z80dart_device, rxa_w))

View File

@ -241,7 +241,8 @@ static MACHINE_CONFIG_START( mc8030, mc80_state )
// ZC1: to SIO CLK CH B
// ZC2: KMBG (??)
MCFG_Z80SIO0_ADD( "asp_sio", 4800, mc8030_asp_z80sio_intf )
MCFG_Z80SIO0_ADD("asp_sio", 4800, 0, 0, 0, 0 )
// SIO CH A in = keyboard; out = beeper; CH B = IFSS (??)
MACHINE_CONFIG_END
/* ROM definition */

View File

@ -380,7 +380,7 @@ WRITE_LINE_MEMBER( mm1_state::auxc_w )
}
//-------------------------------------------------
// UPD7201_INTERFACE( mpsc_intf )
// UPD7201
//-------------------------------------------------
WRITE_LINE_MEMBER( mm1_state::drq2_w )
@ -399,30 +399,6 @@ WRITE_LINE_MEMBER( mm1_state::drq1_w )
}
}
static UPD7201_INTERFACE( mpsc_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DRIVER_LINE_MEMBER(mm1_state, drq2_w), // receive DRQ
DEVCB_DRIVER_LINE_MEMBER(mm1_state, drq1_w), // transmit DRQ
DEVCB_NULL,
DEVCB_NULL
};
READ_LINE_MEMBER( mm1_state::dsra_r )
{
return 1;
@ -519,7 +495,13 @@ static MACHINE_CONFIG_START( mm1, mm1_state )
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", mm1_floppies, "525qd", mm1_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", mm1_floppies, "525qd", mm1_state::floppy_formats)
MCFG_UPD7201_ADD(UPD7201_TAG, XTAL_6_144MHz/2, mpsc_intf)
MCFG_UPD7201_ADD(UPD7201_TAG, XTAL_6_144MHz/2, 0, 0, 0, 0)
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_RXDRQA_CB(WRITELINE(mm1_state, drq2_w))
MCFG_Z80DART_OUT_TXDRQA_CB(WRITELINE(mm1_state, drq1_w))
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxa_w))
MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)

View File

@ -235,36 +235,6 @@ WRITE_LINE_MEMBER(mtx_state::ctc_trg2_w)
}
}
/*-------------------------------------------------
Z80DART_INTERFACE( dart_intf )
-------------------------------------------------*/
static Z80DART_INTERFACE( dart_intf )
{
0,
0,
0,
0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
/*-------------------------------------------------
z80_daisy_config mtx_daisy_chain
-------------------------------------------------*/
@ -396,7 +366,8 @@ static MACHINE_CONFIG_DERIVED( rs128, mtx512 )
MCFG_CPU_CONFIG(rs128_daisy_chain)
/* devices */
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_4MHz, dart_intf)
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_4MHz, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)

View File

@ -2068,30 +2068,6 @@ WRITE_LINE_MEMBER(mz2500_state::mz2500_rtc_alarm_irq)
// m_maincpu->set_input_line_and_vector(0, HOLD_LINE,drvm_irq_vector[3]);
}
static Z80SIO_INTERFACE( mz2500_sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
static MACHINE_CONFIG_START( mz2500, mz2500_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 6000000)
@ -2112,7 +2088,7 @@ static MACHINE_CONFIG_START( mz2500, mz2500_state )
MCFG_Z80PIO_OUT_PA_CB(WRITE8(mz2500_state, mz2500_pio1_porta_w))
MCFG_Z80PIO_IN_PB_CB(READ8(mz2500_state, mz2500_pio1_porta_r))
MCFG_Z80SIO0_ADD( "z80sio", 6000000, mz2500_sio_intf )
MCFG_Z80SIO0_ADD("z80sio", 6000000, 0, 0, 0, 0)
MCFG_DEVICE_ADD(RP5C15_TAG, RP5C15, XTAL_32_768kHz)
MCFG_RP5C15_OUT_ALARM_CB(WRITELINE(mz2500_state, mz2500_rtc_alarm_irq))

View File

@ -127,52 +127,6 @@ WRITE_LINE_MEMBER(nanos_state::z80daisy_interrupt)
m_maincpu->set_input_line(INPUT_LINE_IRQ0, state);
}
static Z80SIO_INTERFACE( sio1_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DRIVER_LINE_MEMBER(nanos_state, z80daisy_interrupt),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
static Z80SIO_INTERFACE( sio2_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DRIVER_LINE_MEMBER(nanos_state, z80daisy_interrupt),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
/* Z80 Daisy Chain */
static const z80_daisy_config nanos_daisy_chain[] =
@ -550,8 +504,11 @@ static MACHINE_CONFIG_START( nanos, nanos_state )
MCFG_DEVICE_ADD("z80pio_1", Z80PIO, XTAL_4MHz)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
MCFG_Z80SIO0_ADD( "z80sio_0", XTAL_4MHz, sio1_intf)
MCFG_Z80SIO0_ADD( "z80sio_1", XTAL_4MHz, sio2_intf)
MCFG_Z80SIO0_ADD("z80sio_0", XTAL_4MHz, 0, 0, 0, 0)
MCFG_Z80DART_OUT_INT_CB(WRITELINE(nanos_state, z80daisy_interrupt))
MCFG_Z80SIO0_ADD("z80sio_1", XTAL_4MHz, 0, 0, 0, 0)
MCFG_Z80DART_OUT_INT_CB(WRITELINE(nanos_state, z80daisy_interrupt))
MCFG_DEVICE_ADD("z80pio", Z80PIO, XTAL_4MHz)
MCFG_Z80PIO_IN_PA_CB(READ8(nanos_state, nanos_port_a_r))

View File

@ -29,7 +29,7 @@ and be connected to a RS422 network.
//#include "cpu/z80/z80daisy.h"
//#include "machine/z80ctc.h"
//#include "machine/z80pio.h"
//#include "machine/z80sio.h"
//#include "machine/z80dart.h"
//#include "machine/z80dma.h"
#include "machine/terminal.h"
@ -68,56 +68,6 @@ WRITE8_MEMBER( onyx_state::kbd_put )
m_term_data = data;
}
#if 0
/* Z80 SIO 0 */
WRITE16_MEMBER( onyx_state::pk8_sio_0_serial_transmit )
{
// send character to terminal
}
static const z80sio_interface p8k_sio_0_intf =
{
DEVCB_DRIVER_LINE_MEMBER(onyx_state, p8k_daisy_interrupt), /* interrupt handler */
DEVCB_NULL, /* DTR changed handler */
DEVCB_NULL, /* RTS changed handler */
DEVCB_NULL, /* BREAK changed handler */
DEVCB_DRIVER_MEMBER16(onyx_state, pk8_sio_0_serial_transmit), /* transmit handler */
DEVCB_NULL /* receive handler */
};
/* Z80 SIO 1 */
WRITE16_MEMBER( onyx_state::pk8_sio_1_serial_transmit )
{
// send character to terminal
}
static const z80sio_interface p8k_sio_1_intf =
{
DEVCB_DRIVER_LINE_MEMBER(onyx_state, p8k_daisy_interrupt), /* interrupt handler */
DEVCB_NULL, /* DTR changed handler */
DEVCB_NULL, /* RTS changed handler */
DEVCB_NULL, /* BREAK changed handler */
DEVCB_DRIVER_MEMBER16(onyx_state, pk8_sio_1_serial_transmit), /* transmit handler */
DEVCB_NULL /* receive handler */
};
/* Z80 Daisy Chain */
static const z80_daisy_config p8k_daisy_chain[] =
{
{ "z80dma" }, /* FDC related */
{ "z80pio_2" },
{ "z80ctc_0" },
{ "z80sio_0" },
{ "z80sio_1" },
{ "z80pio_0" },
{ "z80pio_1" },
{ "z80ctc_1" },
{ NULL }
};
#endif
/* Input ports */
static INPUT_PORTS_START( c8002 )
@ -155,58 +105,6 @@ static ADDRESS_MAP_START(subio, AS_IO, 8, onyx_state)
ADDRESS_MAP_END
#if 0
/* Z80 SIO 0 */
WRITE16_MEMBER( onyx_state::pk8_16_sio_0_serial_transmit )
{
// send character to terminal
}
static const z80sio_interface p8k_16_sio_0_intf =
{
DEVCB_DRIVER_LINE_MEMBER(onyx_state, p8k_16_daisy_interrupt), /* interrupt handler */
DEVCB_NULL, /* DTR changed handler */
DEVCB_NULL, /* RTS changed handler */
DEVCB_NULL, /* BREAK changed handler */
DEVCB_DRIVER_MEMBER16(onyx_state, pk8_16_sio_0_serial_transmit), /* transmit handler */
DEVCB_NULL /* receive handler */
};
/* Z80 SIO 1 */
WRITE16_MEMBER( onyx_state::pk8_16_sio_1_serial_transmit )
{
// send character to terminal
}
static const z80sio_interface p8k_16_sio_1_intf =
{
DEVCB_DRIVER_LINE_MEMBER(onyx_state, p8k_16_daisy_interrupt), /* interrupt handler */
DEVCB_NULL, /* DTR changed handler */
DEVCB_NULL, /* RTS changed handler */
DEVCB_NULL, /* BREAK changed handler */
DEVCB_DRIVER_MEMBER16(onyx_state, pk8_16_sio_1_serial_transmit), /* transmit handler */
DEVCB_NULL /* receive handler */
};
/* Z80 Daisy Chain */
static const z80_daisy_config p8k_16_daisy_chain[] =
{
{ "z80ctc_0" },
{ "z80ctc_1" },
{ "z80sio_0" },
{ "z80sio_1" },
{ "z80pio_0" },
{ "z80pio_1" },
{ "z80pio_2" },
{ NULL }
};
#endif
/***************************************************************************
Machine Drivers
@ -230,8 +128,8 @@ static MACHINE_CONFIG_START( c8002, onyx_state )
/* peripheral hardware */
//MCFG_DEVICE_ADD("z80ctc_0", Z80CTC, XTAL_4MHz)
//MCFG_DEVICE_ADD("z80ctc_1", Z80CTC, XTAL_4MHz)
//MCFG_Z80SIO_ADD("z80sio_0", 9600, p8k_16_sio_0_intf)
//MCFG_Z80SIO_ADD("z80sio_1", 9600, p8k_16_sio_1_intf)
//MCFG_Z80SIO0_ADD("z80sio_0", 9600, 0, 0, 0, 0)
//MCFG_Z80SIO0_ADD("z80sio_1", 9600, 0, 0, 0, 0)
//MCFG_DEVICE_ADD("z80pio_0", Z80CTC, XTAL_4MHz)
//MCFG_DEVICE_ADD("z80pio_1", Z80CTC, XTAL_4MHz)
//MCFG_DEVICE_ADD("z80pio_2", Z80CTC, XTAL_4MHz)

View File

@ -421,30 +421,6 @@ WRITE_LINE_MEMBER(osbexec_state::osbexec_pia1_irq)
}
static Z80SIO_INTERFACE( osbexec_sio_config )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL, //DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
#if 0
static const wd17xx_interface osbexec_wd17xx_interface =
{
@ -606,7 +582,6 @@ static MACHINE_CONFIG_START( osbexec, osbexec_state )
MCFG_CPU_IO_MAP( osbexec_io)
MCFG_CPU_CONFIG( osbexec_daisy_config )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_UPDATE_DRIVER(osbexec_state, screen_update)
MCFG_SCREEN_RAW_PARAMS( MAIN_CLOCK/2, 768, 0, 640, 260, 0, 240 ) /* May not be correct */
@ -619,7 +594,7 @@ static MACHINE_CONFIG_START( osbexec, osbexec_state )
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.00 )
// MCFG_PIT8253_ADD( "pit", osbexec_pit_config )
// MCFG_PIT8253_ADD("pit", osbexec_pit_config)
MCFG_DEVICE_ADD("pia_0", PIA6821, 0)
MCFG_PIA_READPA_HANDLER(READ8(osbexec_state, osbexec_pia0_a_r))
@ -635,7 +610,7 @@ static MACHINE_CONFIG_START( osbexec, osbexec_state )
MCFG_PIA_IRQA_HANDLER(WRITELINE(osbexec_state, osbexec_pia1_irq))
MCFG_PIA_IRQB_HANDLER(WRITELINE(osbexec_state, osbexec_pia1_irq))
MCFG_Z80SIO2_ADD( "sio", MAIN_CLOCK/6, osbexec_sio_config )
MCFG_Z80SIO2_ADD("sio", MAIN_CLOCK/6, 0, 0, 0, 0)
MCFG_MB8877_ADD("mb8877", default_wd17xx_interface_2_drives )

View File

@ -231,30 +231,6 @@ static const z80_daisy_config pcm_daisy_chain[] =
{ NULL }
};
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
/* F4 Character Displayer */
static const gfx_layout pcm_charlayout =
@ -302,7 +278,7 @@ static MACHINE_CONFIG_START( pcm, pcm_state )
/* Devices */
MCFG_K7659_KEYBOARD_ADD()
MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
MCFG_CASSETTE_ADD("cassette", default_cassette_interface)
MCFG_DEVICE_ADD("z80pio_u", Z80PIO, XTAL_10MHz/4)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
@ -313,7 +289,7 @@ static MACHINE_CONFIG_START( pcm, pcm_state )
MCFG_Z80PIO_IN_PB_CB(READ8(pcm_state, pcm_85_r))
MCFG_Z80PIO_OUT_PB_CB(WRITE8(pcm_state, pcm_85_w))
MCFG_Z80SIO0_ADD( "z80sio", 4800, sio_intf ) // clocks come from the system ctc
MCFG_Z80SIO0_ADD("z80sio", 4800, 0, 0, 0, 0) // clocks come from the system ctc
MCFG_DEVICE_ADD("z80ctc_u", Z80CTC, XTAL_10MHz /4)
MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))

View File

@ -184,29 +184,6 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 )
DEVICE_INPUT_DEFAULTS_END
static Z80DART_INTERFACE( dart_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL, // out data
DEVCB_NULL, // DTR
DEVCB_NULL, // RTS
DEVCB_NULL, // WRDY
DEVCB_NULL, // SYNC
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
static SLOT_INTERFACE_START( pulsar_floppies )
SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
SLOT_INTERFACE_END
@ -255,7 +232,11 @@ static MACHINE_CONFIG_START( pulsar, pulsar_state )
MCFG_MSM5832_ADD("rtc", XTAL_32_768kHz)
MCFG_Z80DART_ADD("z80dart", XTAL_4MHz, dart_intf )
MCFG_Z80DART_ADD("z80dart", XTAL_4MHz, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE("rs232", rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("z80dart", z80dart_device, rxa_w))

View File

@ -438,35 +438,6 @@ READ8_MEMBER(qx10_state::mc146818_r)
return m_rtc->read(space, !offset);
}
/*
UPD7201
Channel A: Keyboard
Channel B: RS232
*/
static UPD7201_INTERFACE(qx10_upd7201_interface)
{
0, 0, 0, 0, // channel b clock set by pit2 channel 2
DEVCB_DEVICE_LINE_MEMBER("kbd", rs232_port_device, write_txd),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DRIVER_LINE_MEMBER(qx10_state, keyboard_irq),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
WRITE_LINE_MEMBER(qx10_state::keyboard_irq)
{
m_scc->m1_r(); // always set
@ -825,7 +796,16 @@ static MACHINE_CONFIG_START( qx10, qx10_state )
MCFG_PIC8259_ADD("pic8259_master", INPUTLINE("maincpu", 0), VCC, READ8(qx10_state, get_slave_ack))
MCFG_PIC8259_ADD("pic8259_slave", DEVWRITELINE("pic8259_master", pic8259_device, ir7_w), GND, NULL)
MCFG_UPD7201_ADD("upd7201", MAIN_CLK/4, qx10_upd7201_interface)
MCFG_UPD7201_ADD("upd7201", MAIN_CLK/4, 0, 0, 0, 0) // channel b clock set by pit2 channel 2
// Channel A: Keyboard
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE("kbd", rs232_port_device, write_txd))
// Channel B: RS232
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(WRITELINE(qx10_state, keyboard_irq))
MCFG_I8237_ADD("8237dma_1", MAIN_CLK/4, qx10_dma8237_1_interface)
MCFG_I8237_ADD("8237dma_2", MAIN_CLK/4, qx10_dma8237_2_interface)

View File

@ -263,29 +263,6 @@ INPUT_PORTS_END
MACHINE DRIVERS
***************************************************************************/
static Z80SIO_INTERFACE( rt1715_sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
/* priority unknown */
static const z80_daisy_config rt1715_daisy_chain[] =
{
@ -325,7 +302,7 @@ static MACHINE_CONFIG_START( rt1715, rt1715_state )
MCFG_DEVICE_ADD("a30", Z80CTC, XTAL_10MHz/4 /* ? */)
MCFG_Z80SIO0_ADD("a29", XTAL_10MHz/4 /* ? */, rt1715_sio_intf)
MCFG_Z80SIO0_ADD("a29", XTAL_10MHz/4 /* ? */, 0, 0, 0, 0)
/* floppy */
MCFG_DEVICE_ADD("a71", Z80PIO, XTAL_10MHz/4 /* ? */)

View File

@ -355,34 +355,6 @@ TIMER_DEVICE_CALLBACK_MEMBER( super6_state::ctc_tick )
m_ctc->trg0(0);
}
//-------------------------------------------------
// Z80DART_INTERFACE( dart_intf )
//-------------------------------------------------
static Z80DART_INTERFACE( dart_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// Z80DMA
//-------------------------------------------------
@ -541,7 +513,14 @@ static MACHINE_CONFIG_START( super6, super6_state )
MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":0", super6_floppies, "525dd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":1", super6_floppies, NULL, floppy_image_device::default_floppy_formats)
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_24MHz/4, dart_intf)
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_24MHz/4, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))

View File

@ -268,62 +268,6 @@ WRITE_LINE_MEMBER( superslave_state::ft_w )
}
//-------------------------------------------------
// Z80DART_INTERFACE( dart0_intf )
//-------------------------------------------------
static Z80DART_INTERFACE( dart0_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// Z80DART_INTERFACE( dart1_intf )
//-------------------------------------------------
static Z80DART_INTERFACE( dart1_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "RS232_TXBAUD", 0xff, RS232_BAUD_9600 )
DEVICE_INPUT_DEFAULTS( "RS232_RXBAUD", 0xff, RS232_BAUD_9600 )
@ -393,7 +337,14 @@ static MACHINE_CONFIG_START( superslave, superslave_state )
MCFG_DEVICE_ADD(Z80PIO_TAG, Z80PIO, XTAL_8MHz/2)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_Z80DART_ADD(Z80DART_0_TAG, XTAL_8MHz/2, dart0_intf)
MCFG_Z80DART_ADD(Z80DART_0_TAG, XTAL_8MHz/2, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxa_w))
@ -406,7 +357,14 @@ static MACHINE_CONFIG_START( superslave, superslave_state )
MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcdb_w))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsb_w))
MCFG_Z80DART_ADD(Z80DART_1_TAG, XTAL_8MHz/2, dart1_intf)
MCFG_Z80DART_ADD(Z80DART_1_TAG, XTAL_8MHz/2, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_C_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_C_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_C_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_D_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_D_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_D_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_RS232_PORT_ADD(RS232_C_TAG, default_rs232_devices, NULL)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, rxa_w))

View File

@ -235,34 +235,6 @@ UINT32 tdv2324_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
// DEVICE CONFIGURATION
//**************************************************************************
//-------------------------------------------------
// Z80SIO_INTERFACE( sio_intf )
//-------------------------------------------------
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// tms9927_interface vtac_intf
//-------------------------------------------------
@ -323,7 +295,8 @@ static MACHINE_CONFIG_START( tdv2324, tdv2324_state )
MCFG_DEVICE_ADD(P8253_5_1_TAG, PIT8253, 0)
MCFG_Z80SIO2_ADD(MK3887N4_TAG, 8000000/2, sio_intf)
MCFG_Z80SIO2_ADD(MK3887N4_TAG, 8000000/2, 0, 0, 0, 0)
MCFG_FD1797x_ADD(FD1797PL02_TAG, 8000000/4)
MCFG_FLOPPY_DRIVE_ADD(FD1797PL02_TAG":0", tdv2324_floppies, "8dsdd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FD1797PL02_TAG":1", tdv2324_floppies, "8dsdd", floppy_image_device::default_floppy_formats)

View File

@ -463,30 +463,6 @@ UINT32 tiki100_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
return 0;
}
/* Z80-DART Interface */
static Z80DART_INTERFACE( dart_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
/* Z80-PIO Interface */
DECLARE_WRITE_LINE_MEMBER( tiki100_state::write_centronics_ack )
@ -698,7 +674,14 @@ static MACHINE_CONFIG_START( tiki100, tiki100_state )
// pixel clock 20.01782 MHz
/* devices */
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_8MHz/4, dart_intf)
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_8MHz/4, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_DEVICE_ADD(Z80PIO_TAG, Z80PIO, XTAL_8MHz/4)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))

View File

@ -612,34 +612,6 @@ WRITE_LINE_MEMBER( trs80m2_state::strobe_w )
m_centronics->write_strobe(!state);
}
//-------------------------------------------------
// Z80SIO_INTERFACE( sio_intf )
//-------------------------------------------------
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// Z80CTC
//-------------------------------------------------
@ -796,7 +768,8 @@ static MACHINE_CONFIG_START( trs80m2, trs80m2_state )
MCFG_Z80PIO_OUT_PB_CB(DEVWRITE8("cent_data_out", output_latch_device, write))
MCFG_Z80PIO_OUT_BRDY_CB(WRITELINE(trs80m2_state, strobe_w))
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_8MHz/2, sio_intf)
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_8MHz/2, 0, 0, 0, 0)
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "printer")
MCFG_CENTRONICS_ACK_HANDLER(DEVWRITELINE(Z80PIO_TAG, z80pio_device, strobe_b))
@ -880,7 +853,9 @@ static MACHINE_CONFIG_START( trs80m16, trs80m16_state )
MCFG_Z80PIO_OUT_PB_CB(DEVWRITE8("cent_data_out", output_latch_device, write))
MCFG_Z80PIO_OUT_BRDY_CB(WRITELINE(trs80m2_state, strobe_w))
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_8MHz/2, sio_intf)
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_8MHz/2, 0, 0, 0, 0)
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_PIC8259_ADD(AM9519A_TAG, INPUTLINE(M68000_TAG, M68K_IRQ_5), VCC, NULL )
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "printer")

View File

@ -135,52 +135,6 @@ WRITE8_MEMBER( ts802_state::io_write_byte )
m_io->write_byte(offset, data);
}
static Z80DART_INTERFACE( dart0_intf )
{
0, 0, 0, 0,
DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx),
DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr),
DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL, // out data
DEVCB_NULL, // DTR
DEVCB_NULL, // RTS
DEVCB_NULL, // WRDY
DEVCB_NULL, // SYNC
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
static Z80DART_INTERFACE( dart1_intf )
{
0, 0, 0, 0,
DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx),
DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr),
DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL, // out data
DEVCB_NULL, // DTR
DEVCB_NULL, // RTS
DEVCB_NULL, // WRDY
DEVCB_NULL, // SYNC
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
static SLOT_INTERFACE_START( ts802_floppies )
SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
SLOT_INTERFACE_END
@ -247,8 +201,11 @@ static MACHINE_CONFIG_START( ts802, ts802_state )
MCFG_Z80DMA_IN_IORQ_CB(READ8(ts802_state, io_read_byte))
MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(ts802_state, io_write_byte))
MCFG_Z80DART_ADD("z80dart1", XTAL_16MHz / 4, dart0_intf )
MCFG_Z80DART_ADD("z80dart2", XTAL_16MHz / 4, dart1_intf )
MCFG_Z80DART_ADD("z80dart1", XTAL_16MHz / 4, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
MCFG_Z80DART_ADD("z80dart2", XTAL_16MHz / 4, 0, 0, 0, 0 )
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
MCFG_DEVICE_ADD("z80ctc", Z80CTC, XTAL_16MHz / 4)
MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))

View File

@ -348,34 +348,6 @@ WRITE_LINE_MEMBER(victor9k_state::mux_serial_a_w)
*/
//-------------------------------------------------
// UPD7201_INTERFACE( mpsc_intf )
//-------------------------------------------------
static UPD7201_INTERFACE( mpsc_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir1_w),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
//-------------------------------------------------
// MC6852_INTERFACE( ssda_intf )
//-------------------------------------------------
@ -962,7 +934,15 @@ static MACHINE_CONFIG_START( victor9k, victor9k_state )
MCFG_PIT8253_CLK2(100000)
MCFG_PIT8253_OUT2_HANDLER(DEVWRITELINE(I8259A_TAG, pic8259_device, ir2_w))
MCFG_UPD7201_ADD(UPD7201_TAG, XTAL_30MHz/30, mpsc_intf)
MCFG_UPD7201_ADD(UPD7201_TAG, XTAL_30MHz/30, 0, 0, 0, 0)
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(DEVWRITELINE(I8259A_TAG, pic8259_device, ir1_w))
MCFG_DEVICE_ADD(MC6852_TAG, MC6852, XTAL_30MHz/30)
MCFG_MC6852_TX_DATA_CALLBACK(DEVWRITELINE(HC55516_TAG, hc55516_device, digit_w))
MCFG_MC6852_IRQ_CALLBACK(WRITELINE(victor9k_state, ssda_irq_w))

View File

@ -2241,29 +2241,6 @@ static GFXDECODE_START( x1 )
// GFXDECODE_ENTRY( "pcg", 0x00000, x1_pcg_8x8, 0, 1 )
GFXDECODE_END
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE("x1_cpu", INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
static const z80_daisy_config x1_daisy[] =
{
{ "x1kb" },
@ -2602,7 +2579,8 @@ static MACHINE_CONFIG_DERIVED( x1turbo, x1 )
MCFG_CPU_CONFIG(x1turbo_daisy)
MCFG_MACHINE_RESET_OVERRIDE(x1_state,x1turbo)
MCFG_Z80SIO0_ADD("sio", MAIN_CLOCK/4 , sio_intf )
MCFG_Z80SIO0_ADD("sio", MAIN_CLOCK/4 , 0, 0, 0, 0)
MCFG_Z80DART_OUT_INT_CB(INPUTLINE("x1_cpu", INPUT_LINE_IRQ0))
MCFG_DEVICE_ADD("dma", Z80DMA, MAIN_CLOCK/4)
MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE("x1_cpu", INPUT_LINE_HALT))

View File

@ -410,43 +410,6 @@ static GFXDECODE_START( x1 )
GFXDECODE_ENTRY( "kanji", 0x00000, x1_chars_16x16, 0, 1 )
GFXDECODE_END
#if 0
static const z80sio_interface sio_intf =
{
DEVCB_NULL, /* interrupt handler */
DEVCB_NULL, /* DTR changed handler */
DEVCB_NULL, /* RTS changed handler */
DEVCB_NULL, /* BREAK changed handler */
DEVCB_NULL, /* transmit handler */
DEVCB_NULL /* receive handler */
};
static Z80DART_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE("x1_cpu", INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
#endif
static const z80_daisy_config x1_daisy[] =
{
{ "x1kb" },

View File

@ -348,31 +348,6 @@ WRITE_LINE_MEMBER( xerox820ii_state::rdpio_pardy_w )
// TODO
}
/* Z80 SIO */
static Z80SIO_INTERFACE( sio_intf )
{
0, 0, 0, 0,
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};
/* Z80 CTC */
TIMER_DEVICE_CALLBACK_MEMBER( xerox820_state::ctc_tick )
@ -632,7 +607,14 @@ static MACHINE_CONFIG_START( xerox820, xerox820_state )
MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":0", xerox820_floppies, "sa400", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":1", xerox820_floppies, "sa400", floppy_image_device::default_floppy_formats)
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_20MHz/8, sio_intf)
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_20MHz/8, 0, 0, 0, 0)
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80sio0_device, rxa_w))
@ -712,7 +694,14 @@ static MACHINE_CONFIG_START( xerox820ii, xerox820ii_state )
MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":0", xerox820_floppies, "sa450", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":1", xerox820_floppies, "sa450", floppy_image_device::default_floppy_formats)
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_16MHz/4, sio_intf)
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_16MHz/4, 0, 0, 0, 0)
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80sio0_device, rxa_w))

View File

@ -52,13 +52,4 @@ public:
required_device<cpu_device> m_maincpu;
};
/*----------- defined in machine/mc80.c -----------*/
/*****************************************************************************/
/* Implementation for MC80.3x */
/*****************************************************************************/
extern const z80dart_interface mc8030_asp_z80sio_intf;
#endif /* MC80_H_ */
#endif

View File

@ -130,27 +130,3 @@ WRITE8_MEMBER( mc80_state::asp_port_a_w )
WRITE8_MEMBER( mc80_state::asp_port_b_w )
{
}
// SIO CH A in = keyboard; out = beeper; CH B = IFSS (??)
Z80SIO_INTERFACE( mc8030_asp_z80sio_intf )
{
0, 0, 0, 0,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
};