summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/68ksbc.cpp22
-rw-r--r--src/mame/drivers/altair.cpp39
-rw-r--r--src/mame/drivers/bml3.cpp26
-rw-r--r--src/mame/drivers/bw2.cpp9
-rw-r--r--src/mame/drivers/fc100.cpp11
-rw-r--r--src/mame/drivers/h8.cpp21
-rw-r--r--src/mame/drivers/imsai.cpp30
-rw-r--r--src/mame/drivers/mekd2.cpp16
-rw-r--r--src/mame/drivers/mephistp.cpp28
-rw-r--r--src/mame/drivers/ob68k1a.cpp29
-rw-r--r--src/mame/drivers/poly.cpp31
-rw-r--r--src/mame/drivers/sdk86.cpp26
-rw-r--r--src/mame/drivers/swtpc09.cpp14
-rw-r--r--src/mame/drivers/tavernie.cpp12
-rw-r--r--src/mame/drivers/tim100.cpp18
-rw-r--r--src/mame/drivers/v6809.cpp20
-rw-r--r--src/mame/drivers/xor100.cpp20
-rw-r--r--src/mame/includes/bw2.h1
-rw-r--r--src/mame/includes/ob68k1a.h2
-rw-r--r--src/mame/includes/swtpc09.h1
-rw-r--r--src/mame/includes/xor100.h2
21 files changed, 114 insertions, 264 deletions
diff --git a/src/mame/drivers/68ksbc.cpp b/src/mame/drivers/68ksbc.cpp
index 507fb13f65a..baaf6a043b7 100644
--- a/src/mame/drivers/68ksbc.cpp
+++ b/src/mame/drivers/68ksbc.cpp
@@ -36,18 +36,13 @@
class c68ksbc_state : public driver_device
{
public:
- c68ksbc_state(const machine_config &mconfig, device_type type, const char *tag) :
- driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_acia(*this, "acia")
- {
- }
-
- DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
+ c68ksbc_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ { }
private:
required_device<cpu_device> m_maincpu;
- required_device<acia6850_device> m_acia;
};
static ADDRESS_MAP_START(c68ksbc_mem, AS_PROGRAM, 16, c68ksbc_state)
@@ -64,12 +59,6 @@ static INPUT_PORTS_START( c68ksbc )
INPUT_PORTS_END
-WRITE_LINE_MEMBER(c68ksbc_state::write_acia_clock)
-{
- m_acia->write_txc(state);
- m_acia->write_rxc(state);
-}
-
static MACHINE_CONFIG_START( c68ksbc )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 8000000) // text says 8MHz, schematic says 10MHz
@@ -84,7 +73,8 @@ static MACHINE_CONFIG_START( c68ksbc )
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(c68ksbc_state, write_acia_clock))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/altair.cpp b/src/mame/drivers/altair.cpp
index e4fe515b417..a1cb7132f21 100644
--- a/src/mame/drivers/altair.cpp
+++ b/src/mame/drivers/altair.cpp
@@ -34,23 +34,17 @@
class altair_state : public driver_device
{
public:
- altair_state(const machine_config &mconfig, device_type type, const char *tag) :
- driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_mc6850(*this, "mc6850"),
- m_ram(*this, "ram")
- {
- }
+ altair_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_ram(*this, "ram")
+ { }
DECLARE_QUICKLOAD_LOAD_MEMBER(altair);
- DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
-
-protected:
- virtual void machine_reset() override;
private:
+ virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
- required_device<acia6850_device> m_mc6850;
required_shared_ptr<uint8_t> m_ram;
};
@@ -67,8 +61,8 @@ static ADDRESS_MAP_START(altair_io, AS_IO, 8, altair_state)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
// TODO: Remove AM_MIRROR() and use SIO address S0-S7
- AM_RANGE( 0x00, 0x00 ) AM_MIRROR(0x10) AM_DEVREADWRITE("mc6850", acia6850_device, status_r, control_w)
- AM_RANGE( 0x01, 0x01 ) AM_MIRROR(0x10) AM_DEVREADWRITE("mc6850", acia6850_device, data_r, data_w)
+ AM_RANGE( 0x00, 0x00 ) AM_MIRROR(0x10) AM_DEVREADWRITE("acia", acia6850_device, status_r, control_w)
+ AM_RANGE( 0x01, 0x01 ) AM_MIRROR(0x10) AM_DEVREADWRITE("acia", acia6850_device, data_r, data_w)
ADDRESS_MAP_END
/* Input ports */
@@ -90,12 +84,6 @@ QUICKLOAD_LOAD_MEMBER( altair_state,altair)
return image_init_result::PASS;
}
-WRITE_LINE_MEMBER(altair_state::write_acia_clock)
-{
- m_mc6850->write_txc(state);
- m_mc6850->write_rxc(state);
-}
-
void altair_state::machine_reset()
{
// Set startup address done by turn-key
@@ -109,17 +97,18 @@ static MACHINE_CONFIG_START( altair )
MCFG_CPU_IO_MAP(altair_io)
/* video hardware */
- MCFG_DEVICE_ADD("mc6850", ACIA6850, 0)
+ MCFG_DEVICE_ADD("acia", ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
- MCFG_RS232_RXD_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_rxd))
- MCFG_RS232_DCD_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_dcd))
- MCFG_RS232_CTS_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_cts))
+ MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia", acia6850_device, write_rxd))
+ MCFG_RS232_DCD_HANDLER(DEVWRITELINE("acia", acia6850_device, write_dcd))
+ MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600) // TODO: this is set using jumpers S3/S2/S1/S0
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(altair_state, write_acia_clock))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
/* quickload */
MCFG_QUICKLOAD_ADD("quickload", altair_state, altair, "bin", 0)
diff --git a/src/mame/drivers/bml3.cpp b/src/mame/drivers/bml3.cpp
index 7c12982e91a..35df1363dd8 100644
--- a/src/mame/drivers/bml3.cpp
+++ b/src/mame/drivers/bml3.cpp
@@ -81,7 +81,7 @@ public:
, m_cass(*this, "cassette")
, m_speaker(*this, "speaker")
, m_ym2203(*this, "ym2203")
- , m_acia6850(*this, "acia6850")
+ , m_acia(*this, "acia")
, m_palette(*this, "palette")
{
}
@@ -111,7 +111,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(bml3_acia_tx_w);
DECLARE_WRITE_LINE_MEMBER(bml3_acia_rts_w);
DECLARE_WRITE_LINE_MEMBER(bml3_acia_irq_w);
- DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
DECLARE_READ8_MEMBER(bml3_a000_r); DECLARE_WRITE8_MEMBER(bml3_a000_w);
DECLARE_READ8_MEMBER(bml3_c000_r); DECLARE_WRITE8_MEMBER(bml3_c000_w);
@@ -161,7 +160,7 @@ private:
required_device<cassette_image_device> m_cass;
required_device<speaker_sound_device> m_speaker;
optional_device<ym2203_device> m_ym2203;
- required_device<acia6850_device> m_acia6850;
+ required_device<acia6850_device> m_acia;
required_device<palette_device> m_palette;
};
@@ -400,9 +399,9 @@ static ADDRESS_MAP_START(bml3_mem, AS_PROGRAM, 8, bml3_state)
AM_RANGE(0x0400, 0x43ff) AM_READWRITE(bml3_vram_r,bml3_vram_w)
AM_RANGE(0x4400, 0x9fff) AM_RAM
AM_RANGE(0xff40, 0xff46) AM_NOP // lots of unknown reads and writes
- AM_RANGE(0xffc0, 0xffc3) AM_DEVREADWRITE("pia6821", pia6821_device, read, write)
- AM_RANGE(0xffc4, 0xffc4) AM_DEVREADWRITE("acia6850", acia6850_device, status_r, control_w)
- AM_RANGE(0xffc5, 0xffc5) AM_DEVREADWRITE("acia6850", acia6850_device, data_r, data_w)
+ AM_RANGE(0xffc0, 0xffc3) AM_DEVREADWRITE("pia", pia6821_device, read, write)
+ AM_RANGE(0xffc4, 0xffc4) AM_DEVREADWRITE("acia", acia6850_device, status_r, control_w)
+ AM_RANGE(0xffc5, 0xffc5) AM_DEVREADWRITE("acia", acia6850_device, data_r, data_w)
AM_RANGE(0xffc6, 0xffc7) AM_READWRITE(bml3_6845_r,bml3_6845_w)
// KBNMI - Keyboard "Break" key non-maskable interrupt
AM_RANGE(0xffc8, 0xffc8) AM_READ(bml3_keyb_nmi_r) // keyboard nmi
@@ -745,7 +744,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( bml3_state::bml3_p )
if (cass_ws != m_cass_data[0])
{
m_cass_data[0] = cass_ws;
- m_acia6850->write_rxd((m_cass_data[1] < 12) ? 1 : 0);
+ m_acia->write_rxd((m_cass_data[1] < 12) ? 1 : 0);
m_cass_data[1] = 0;
}
}
@@ -923,12 +922,6 @@ WRITE_LINE_MEMBER( bml3_state::bml3_acia_irq_w )
logerror("%02x TAPE IRQ\n",state);
}
-WRITE_LINE_MEMBER( bml3_state::write_acia_clock )
-{
- m_acia6850->write_txc(state);
- m_acia6850->write_rxc(state);
-}
-
TIMER_DEVICE_CALLBACK_MEMBER( bml3_state::bml3_c )
{
m_cass_data[3]++;
@@ -994,16 +987,17 @@ static MACHINE_CONFIG_START( bml3_common )
MCFG_TIMER_DRIVER_ADD_PERIODIC("bml3_c", bml3_state, bml3_c, attotime::from_hz(4800))
MCFG_TIMER_DRIVER_ADD_PERIODIC("bml3_p", bml3_state, bml3_p, attotime::from_hz(40000))
- MCFG_DEVICE_ADD("pia6821", PIA6821, 0)
+ MCFG_DEVICE_ADD("pia", PIA6821, 0)
MCFG_PIA_WRITEPA_HANDLER(WRITE8(bml3_state, bml3_piaA_w))
- MCFG_DEVICE_ADD("acia6850", ACIA6850, 0)
+ MCFG_DEVICE_ADD("acia", ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(WRITELINE(bml3_state, bml3_acia_tx_w))
MCFG_ACIA6850_RTS_HANDLER(WRITELINE(bml3_state, bml3_acia_rts_w))
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(bml3_state, bml3_acia_irq_w))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 9600) // 600 baud x 16(divider) = 9600
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(bml3_state, write_acia_clock))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MCFG_CASSETTE_ADD( "cassette" )
diff --git a/src/mame/drivers/bw2.cpp b/src/mame/drivers/bw2.cpp
index a5d7853aae3..ad25efd928d 100644
--- a/src/mame/drivers/bw2.cpp
+++ b/src/mame/drivers/bw2.cpp
@@ -496,12 +496,6 @@ READ8_MEMBER( bw2_state::ppi_pc_r )
// pit8253_config pit_intf
//-------------------------------------------------
-WRITE_LINE_MEMBER( bw2_state::pit_out0_w )
-{
- m_uart->write_txc(state);
- m_uart->write_rxc(state);
-}
-
WRITE_LINE_MEMBER( bw2_state::mtron_w )
{
m_mtron = state;
@@ -595,7 +589,8 @@ static MACHINE_CONFIG_START( bw2 )
// devices
MCFG_DEVICE_ADD(I8253_TAG, PIT8253, 0)
MCFG_PIT8253_CLK0(XTAL_16MHz/4) // 8251 USART TXC, RXC
- MCFG_PIT8253_OUT0_HANDLER(WRITELINE(bw2_state, pit_out0_w))
+ MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(I8251_TAG, i8251_device, write_rxc))
MCFG_PIT8253_CLK1(11000) // LCD controller
MCFG_PIT8253_OUT1_HANDLER(DEVWRITELINE(I8253_TAG, pit8253_device, write_clk2))
MCFG_PIT8253_CLK2(0) // Floppy /MTRON
diff --git a/src/mame/drivers/fc100.cpp b/src/mame/drivers/fc100.cpp
index 6ef23b9fe4c..af65bca2946 100644
--- a/src/mame/drivers/fc100.cpp
+++ b/src/mame/drivers/fc100.cpp
@@ -74,7 +74,6 @@ public:
DECLARE_WRITE8_MEMBER(port60_w);
DECLARE_WRITE8_MEMBER(port70_w);
DECLARE_WRITE_LINE_MEMBER(txdata_callback);
- DECLARE_WRITE_LINE_MEMBER(uart_clock_w);
DECLARE_DRIVER_INIT(fc100);
TIMER_DEVICE_CALLBACK_MEMBER(timer_c);
TIMER_DEVICE_CALLBACK_MEMBER(timer_p);
@@ -419,12 +418,6 @@ WRITE_LINE_MEMBER( fc100_state::txdata_callback )
m_cass_state = state;
}
-WRITE_LINE_MEMBER( fc100_state::uart_clock_w )
-{
- m_uart->write_txc(state);
- m_uart->write_rxc(state);
-}
-
TIMER_DEVICE_CALLBACK_MEMBER( fc100_state::timer_c )
{
m_cass_data[3]++;
@@ -548,7 +541,9 @@ static MACHINE_CONFIG_START( fc100 )
MCFG_DEVICE_ADD("uart", I8251, 0)
MCFG_I8251_TXD_HANDLER(WRITELINE(fc100_state, txdata_callback))
MCFG_DEVICE_ADD("uart_clock", CLOCK, XTAL_4_9152MHz/16/16) // gives 19200
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(fc100_state, uart_clock_w))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc))
+
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_c", fc100_state, timer_c, attotime::from_hz(4800)) // cass write
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_p", fc100_state, timer_p, attotime::from_hz(40000)) // cass read
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_k", fc100_state, timer_k, attotime::from_hz(300)) // keyb scan
diff --git a/src/mame/drivers/h8.cpp b/src/mame/drivers/h8.cpp
index 470b8ca8bc1..7d17716e3e1 100644
--- a/src/mame/drivers/h8.cpp
+++ b/src/mame/drivers/h8.cpp
@@ -63,11 +63,11 @@ class h8_state : public driver_device
{
public:
h8_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_uart(*this, "uart"),
- m_cass(*this, "cassette"),
- m_beep(*this, "beeper")
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_uart(*this, "uart")
+ , m_cass(*this, "cassette")
+ , m_beep(*this, "beeper")
{ }
DECLARE_READ8_MEMBER(portf0_r);
@@ -76,10 +76,10 @@ public:
DECLARE_WRITE8_MEMBER(h8_status_callback);
DECLARE_WRITE_LINE_MEMBER(h8_inte_callback);
DECLARE_WRITE_LINE_MEMBER(txdata_callback);
- DECLARE_WRITE_LINE_MEMBER(write_cassette_clock);
TIMER_DEVICE_CALLBACK_MEMBER(h8_irq_pulse);
TIMER_DEVICE_CALLBACK_MEMBER(h8_c);
TIMER_DEVICE_CALLBACK_MEMBER(h8_p);
+
private:
uint8_t m_digit;
uint8_t m_segment;
@@ -271,12 +271,6 @@ WRITE_LINE_MEMBER( h8_state::txdata_callback )
m_cass_state = state;
}
-WRITE_LINE_MEMBER( h8_state::write_cassette_clock )
-{
- m_uart->write_txc(state);
- m_uart->write_rxc(state);
-}
-
TIMER_DEVICE_CALLBACK_MEMBER(h8_state::h8_c)
{
m_cass_data[3]++;
@@ -330,7 +324,8 @@ static MACHINE_CONFIG_START( h8 )
MCFG_I8251_TXD_HANDLER(WRITELINE(h8_state, txdata_callback))
MCFG_DEVICE_ADD("cassette_clock", CLOCK, 4800)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(h8_state, write_cassette_clock))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc))
MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
diff --git a/src/mame/drivers/imsai.cpp b/src/mame/drivers/imsai.cpp
index 6d118bbdb2c..65c4a649796 100644
--- a/src/mame/drivers/imsai.cpp
+++ b/src/mame/drivers/imsai.cpp
@@ -22,32 +22,27 @@
#include "machine/pit8253.h"
#include "machine/terminal.h"
-#define TERMINAL_TAG "terminal"
class imsai_state : public driver_device
{
public:
imsai_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_terminal(*this, TERMINAL_TAG),
- m_uart(*this, "uart"),
- m_pit(*this, "pit")
- {
- }
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_terminal(*this, "terminal")
+ , m_pit(*this, "pit")
+ { }
void kbd_put(u8 data);
DECLARE_READ8_MEMBER(keyin_r);
DECLARE_READ8_MEMBER(status_r);
DECLARE_WRITE8_MEMBER(control_w);
- DECLARE_WRITE_LINE_MEMBER(write_uart_clock);
private:
uint8_t m_term_data;
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
- required_device<i8251_device> m_uart;
required_device<pit8253_device> m_pit;
};
@@ -63,13 +58,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(imsai_io, AS_IO, 8, imsai_state)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x02, 0x02) AM_READ(keyin_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write)
+ AM_RANGE(0x02, 0x02) AM_READ(keyin_r) AM_DEVWRITE("terminal", generic_terminal_device, write)
AM_RANGE(0x03, 0x03) AM_READ(status_r)
AM_RANGE(0x04, 0x04) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
AM_RANGE(0x05, 0x05) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
AM_RANGE(0x12, 0x12) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w)
AM_RANGE(0x13, 0x13) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w)
- AM_RANGE(0x14, 0x14) AM_READ(keyin_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write)
+ AM_RANGE(0x14, 0x14) AM_READ(keyin_r) AM_DEVWRITE("terminal", generic_terminal_device, write)
AM_RANGE(0x15, 0x15) AM_READ(status_r)
AM_RANGE(0xf3, 0xf3) AM_WRITE(control_w)
ADDRESS_MAP_END
@@ -95,12 +90,6 @@ void imsai_state::kbd_put(u8 data)
m_term_data = data;
}
-WRITE_LINE_MEMBER(imsai_state::write_uart_clock)
-{
- m_uart->write_txc(state);
- m_uart->write_rxc(state);
-}
-
WRITE8_MEMBER( imsai_state::control_w )
{
}
@@ -117,7 +106,7 @@ static MACHINE_CONFIG_START( imsai )
MCFG_CPU_IO_MAP(imsai_io)
/* video hardware */
- MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0)
+ MCFG_DEVICE_ADD("terminal", GENERIC_TERMINAL, 0)
MCFG_GENERIC_TERMINAL_KEYBOARD_CB(PUT(imsai_state, kbd_put))
/* Devices */
@@ -125,7 +114,8 @@ static MACHINE_CONFIG_START( imsai )
MCFG_DEVICE_ADD("pit", PIT8253, 0)
MCFG_PIT8253_CLK0(XTAL_6MHz / 3) /* Timer 0: baud rate gen for 8251 */
- MCFG_PIT8253_OUT0_HANDLER(WRITELINE(imsai_state, write_uart_clock))
+ MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("uart", i8251_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart", i8251_device, write_rxc))
MCFG_PIT8253_CLK1(XTAL_6MHz / 3) /* Timer 1: user */
MCFG_PIT8253_CLK2(XTAL_6MHz / 3) /* Timer 2: user */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mekd2.cpp b/src/mame/drivers/mekd2.cpp
index 69b2269e7dc..87c50d1b848 100644
--- a/src/mame/drivers/mekd2.cpp
+++ b/src/mame/drivers/mekd2.cpp
@@ -95,12 +95,12 @@ public:
};
mekd2_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_pia_s(*this, "pia_s"),
- m_pia_u(*this, "pia_u"),
- m_acia(*this, "acia"),
- m_cass(*this, "cassette")
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_pia_s(*this, "pia_s")
+ , m_pia_u(*this, "pia_u")
+ , m_acia(*this, "acia")
+ , m_cass(*this, "cassette")
{ }
DECLARE_READ_LINE_MEMBER(mekd2_key40_r);
@@ -113,10 +113,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(mekd2_c);
TIMER_DEVICE_CALLBACK_MEMBER(mekd2_p);
-protected:
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
private:
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
uint8_t m_cass_data[4];
uint8_t m_segment;
uint8_t m_digit;
diff --git a/src/mame/drivers/mephistp.cpp b/src/mame/drivers/mephistp.cpp
index 103459f6e4d..f6983074be4 100644
--- a/src/mame/drivers/mephistp.cpp
+++ b/src/mame/drivers/mephistp.cpp
@@ -27,10 +27,10 @@ class mephisto_pinball_state : public driver_device
{
public:
mephisto_pinball_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_aysnd(*this, "aysnd"),
- m_soundbank(*this, "soundbank")
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_aysnd(*this, "aysnd")
+ , m_soundbank(*this, "soundbank")
{ }
DECLARE_WRITE8_MEMBER(shift_load_w);
@@ -41,24 +41,16 @@ public:
DECLARE_READ8_MEMBER(ay8910_inputs_r);
DECLARE_WRITE8_MEMBER(sound_rombank_w);
-protected:
-
- // devices
- required_device<cpu_device> m_maincpu;
- required_device<ay8910_device> m_aysnd;
- required_memory_bank m_soundbank;
-
- // driver_device overrides
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
- // internal data
+private:
u8 m_ay8910_data;
bool m_ay8910_bdir;
bool m_ay8910_bc1;
-
-private:
void ay8910_update();
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ required_device<cpu_device> m_maincpu;
+ required_device<ay8910_device> m_aysnd;
+ required_memory_bank m_soundbank;
};
diff --git a/src/mame/drivers/ob68k1a.cpp b/src/mame/drivers/ob68k1a.cpp
index 022dc66a5ed..a16adabb45a 100644
--- a/src/mame/drivers/ob68k1a.cpp
+++ b/src/mame/drivers/ob68k1a.cpp
@@ -148,29 +148,6 @@ INPUT_PORTS_END
//**************************************************************************
-// DEVICE CONFIGURATION
-//**************************************************************************
-
-
-//-------------------------------------------------
-// COM8116_INTERFACE( dbrg_intf )
-//-------------------------------------------------
-
-WRITE_LINE_MEMBER( ob68k1a_state::rx_tx_0_w )
-{
- m_acia0->write_txc(state);
- m_acia0->write_rxc(state);
-}
-
-WRITE_LINE_MEMBER( ob68k1a_state::rx_tx_1_w )
-{
- m_acia1->write_txc(state);
- m_acia1->write_rxc(state);
-}
-
-
-
-//**************************************************************************
// MACHINE INITIALIZATION
//**************************************************************************
@@ -247,8 +224,10 @@ static MACHINE_CONFIG_START( ob68k1a )
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_cts))
MCFG_DEVICE_ADD(COM8116_TAG, COM8116, XTAL_5_0688MHz)
- MCFG_COM8116_FR_HANDLER(WRITELINE(ob68k1a_state, rx_tx_0_w))
- MCFG_COM8116_FT_HANDLER(WRITELINE(ob68k1a_state, rx_tx_1_w))
+ MCFG_COM8116_FR_HANDLER(DEVWRITELINE(MC6850_0_TAG, acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(MC6850_0_TAG, acia6850_device, write_rxc))
+ MCFG_COM8116_FT_HANDLER(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_rxc))
// internal ram
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mame/drivers/poly.cpp b/src/mame/drivers/poly.cpp
index 369e1f8f021..0ef59544707 100644
--- a/src/mame/drivers/poly.cpp
+++ b/src/mame/drivers/poly.cpp
@@ -48,21 +48,18 @@ class poly_state : public driver_device
{
public:
poly_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_pia0(*this, "pia0"),
- m_pia1(*this, "pia1"),
- m_acia(*this, "acia"),
- m_ptm(*this, "ptm"),
- m_speaker(*this, "speaker"),
- m_videoram(*this, "videoram")
- {
- }
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_pia0(*this, "pia0")
+ , m_pia1(*this, "pia1")
+ , m_ptm(*this, "ptm")
+ , m_speaker(*this, "speaker")
+ , m_videoram(*this, "videoram")
+ { }
void kbd_put(u8 data);
DECLARE_READ8_MEMBER(pia1_b_in);
DECLARE_READ8_MEMBER(videoram_r);
- DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
DECLARE_WRITE_LINE_MEMBER( ptm_o2_callback );
DECLARE_WRITE_LINE_MEMBER( ptm_o3_callback );
@@ -73,7 +70,6 @@ private:
required_device<cpu_device> m_maincpu;
required_device<pia6821_device> m_pia0;
required_device<pia6821_device> m_pia1;
- required_device<acia6850_device> m_acia;
required_device<ptm6840_device> m_ptm;
required_device<speaker_sound_device> m_speaker;
required_shared_ptr<uint8_t> m_videoram;
@@ -135,12 +131,6 @@ void poly_state::kbd_put(u8 data)
m_pia1->cb1_w(0);
}
-WRITE_LINE_MEMBER( poly_state::write_acia_clock )
-{
- m_acia->write_txc(state);
- m_acia->write_rxc(state);
-}
-
WRITE_LINE_MEMBER( poly_state::ptm_o2_callback )
{
m_ptm->set_c1(state);
@@ -194,8 +184,9 @@ static MACHINE_CONFIG_START( poly )
//MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
//MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
- //MCFG_DEVICE_ADD("acia_clock", CLOCK, 1)
- //MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(poly_state, write_acia_clock))
+ //MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
+ //MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
+ //MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MCFG_DEVICE_ADD("adlc", MC6854, 0)
diff --git a/src/mame/drivers/sdk86.cpp b/src/mame/drivers/sdk86.cpp
index f2561185988..0ca083a2898 100644
--- a/src/mame/drivers/sdk86.cpp
+++ b/src/mame/drivers/sdk86.cpp
@@ -41,23 +41,18 @@ ToDo:
class sdk86_state : public driver_device
{
public:
- sdk86_state(const machine_config &mconfig, device_type type, const char *tag) :
- driver_device(mconfig, type, tag) ,
- m_maincpu(*this, "maincpu"),
- m_usart(*this, I8251_TAG)
- {
- }
-
- required_device<cpu_device> m_maincpu;
- required_device<i8251_device> m_usart;
+ sdk86_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ { }
DECLARE_WRITE8_MEMBER(scanlines_w);
DECLARE_WRITE8_MEMBER(digit_w);
DECLARE_READ8_MEMBER(kbd_r);
- DECLARE_WRITE_LINE_MEMBER( write_usart_clock );
-
+private:
uint8_t m_digit;
+ required_device<cpu_device> m_maincpu;
};
static ADDRESS_MAP_START(sdk86_mem, AS_PROGRAM, 16, sdk86_state)
@@ -131,12 +126,6 @@ READ8_MEMBER( sdk86_state::kbd_r )
return data;
}
-WRITE_LINE_MEMBER( sdk86_state::write_usart_clock )
-{
- m_usart->write_txc(state);
- m_usart->write_rxc(state);
-}
-
static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "RS232_TXBAUD", 0xff, RS232_BAUD_4800 )
DEVICE_INPUT_DEFAULTS( "RS232_RXBAUD", 0xff, RS232_BAUD_4800 )
@@ -167,7 +156,8 @@ static MACHINE_CONFIG_START( sdk86 )
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD("usart_clock", CLOCK, 307200)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(sdk86_state, write_usart_clock))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(I8251_TAG, i8251_device, write_rxc))
MCFG_DEVICE_ADD("i8279", I8279, 2500000) // based on divider
MCFG_I8279_OUT_SL_CB(WRITE8(sdk86_state, scanlines_w)) // scan SL lines
diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp
index 256535d1497..07c50da26b7 100644
--- a/src/mame/drivers/swtpc09.cpp
+++ b/src/mame/drivers/swtpc09.cpp
@@ -85,11 +85,6 @@ static SLOT_INTERFACE_START( swtpc09_floppies )
SLOT_INTERFACE("35hd", FLOPPY_35_HD) // flex 1.44mb disk from swtpc emu (emulator only?)
SLOT_INTERFACE_END
-WRITE_LINE_MEMBER(swtpc09_state::write_acia_clock)
-{
- m_acia->write_txc(state);
- m_acia->write_rxc(state);
-}
/***************************************************************************
Machine definitions
@@ -124,7 +119,8 @@ static MACHINE_CONFIG_START( swtpc09 )
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(swtpc09_state, acia_interrupt))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(swtpc09_state, write_acia_clock))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MCFG_FD1793_ADD("fdc", XTAL_1MHz)
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(swtpc09_state, fdc_intrq_w))
@@ -164,7 +160,8 @@ static MACHINE_CONFIG_START( swtpc09i )
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(swtpc09_state, acia_interrupt))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(swtpc09_state, write_acia_clock))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MCFG_FD1793_ADD("fdc", XTAL_1MHz)
@@ -213,7 +210,8 @@ static MACHINE_CONFIG_START( swtpc09d3 )
MCFG_ACIA6850_IRQ_HANDLER(INPUTLINE("maincpu", M6809_IRQ_LINE))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(swtpc09_state, write_acia_clock))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MCFG_FD1793_ADD("fdc", XTAL_1MHz)
diff --git a/src/mame/drivers/tavernie.cpp b/src/mame/drivers/tavernie.cpp
index 703b31c9226..4a341ae4609 100644
--- a/src/mame/drivers/tavernie.cpp
+++ b/src/mame/drivers/tavernie.cpp
@@ -80,7 +80,6 @@ public:
, m_floppy0(*this, "fdc:0")
, m_beep(*this, "beeper")
, m_maincpu(*this, "maincpu")
- , m_acia(*this, "acia")
, m_palette(*this, "palette")
, m_p_chargen(*this, "chargen")
{
@@ -96,7 +95,6 @@ public:
DECLARE_WRITE8_MEMBER(ds_w);
DECLARE_MACHINE_RESET(cpu09);
DECLARE_MACHINE_RESET(ivg09);
- DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
MC6845_UPDATE_ROW(crtc_update_row);
private:
@@ -109,7 +107,6 @@ private:
optional_device<floppy_connector> m_floppy0;
optional_device<beep_device> m_beep;
required_device<cpu_device> m_maincpu;
- required_device<acia6850_device> m_acia;
optional_device<palette_device> m_palette;
optional_region_ptr<u8> m_p_chargen;
};
@@ -291,12 +288,6 @@ void tavernie_state::kbd_put(u8 data)
m_pia_ivg->cb1_w(1);
}
-WRITE_LINE_MEMBER( tavernie_state::write_acia_clock )
-{
- m_acia->write_txc(state);
- m_acia->write_rxc(state);
-}
-
static MACHINE_CONFIG_START( cpu09 )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu",M6809E, XTAL_4MHz)
@@ -334,7 +325,8 @@ static MACHINE_CONFIG_START( cpu09 )
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts))
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(tavernie_state, write_acia_clock))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia", acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ivg09, cpu09 )
diff --git a/src/mame/drivers/tim100.cpp b/src/mame/drivers/tim100.cpp
index c885a3a66c9..e42f4cdb297 100644
--- a/src/mame/drivers/tim100.cpp
+++ b/src/mame/drivers/tim100.cpp
@@ -33,13 +33,10 @@ public:
, m_maincpu(*this, "maincpu")
, m_palette(*this, "palette")
, m_crtc(*this, "crtc")
- , m_uart17(*this, "uart_u17")
- , m_uart18(*this, "uart_u18")
{ }
DECLARE_WRITE_LINE_MEMBER(drq_w);
DECLARE_WRITE_LINE_MEMBER(irq_w);
- DECLARE_WRITE_LINE_MEMBER(clock_w);
I8275_DRAW_CHARACTER_MEMBER( crtc_display_pixels );
private:
@@ -50,8 +47,6 @@ private:
required_device<cpu_device> m_maincpu;
required_device<palette_device> m_palette;
required_device<i8275_device> m_crtc;
- required_device<i8251_device> m_uart17;
- required_device<i8251_device> m_uart18;
};
static ADDRESS_MAP_START(tim100_mem, AS_PROGRAM, 8, tim100_state)
@@ -159,14 +154,6 @@ WRITE_LINE_MEMBER( tim100_state::irq_w )
m_maincpu->set_input_line(I8085_RST65_LINE, CLEAR_LINE);
}
-WRITE_LINE_MEMBER( tim100_state::clock_w )
-{
- m_uart17->write_txc(state);
- m_uart17->write_rxc(state);
- m_uart18->write_txc(state);
- m_uart18->write_rxc(state);
-}
-
static MACHINE_CONFIG_START( tim100 )
/* basic machine hardware */
@@ -216,7 +203,10 @@ static MACHINE_CONFIG_START( tim100 )
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", tim100 )
MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(tim100_state, clock_w))
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart_u17", i8251_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart_u17", i8251_device, write_rxc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart_u18", i8251_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart_u18", i8251_device, write_rxc))
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/v6809.cpp b/src/mame/drivers/v6809.cpp
index 47b8037c64e..09eab4db5ff 100644
--- a/src/mame/drivers/v6809.cpp
+++ b/src/mame/drivers/v6809.cpp
@@ -75,8 +75,6 @@ public:
, m_fdc(*this, "fdc")
, m_floppy0(*this, "fdc:0")
, m_speaker(*this, "speaker")
- , m_acia0(*this, "acia0")
- , m_acia1(*this, "acia1")
, m_palette(*this, "palette")
, m_p_videoram(*this, "videoram")
, m_p_chargen(*this, "chargen")
@@ -91,7 +89,6 @@ public:
DECLARE_WRITE8_MEMBER(v6809_address_w);
DECLARE_WRITE8_MEMBER(v6809_register_w);
void kbd_put(u8 data);
- DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
DECLARE_MACHINE_RESET(v6809);
MC6845_UPDATE_ROW(crtc_update_row);
MC6845_ON_UPDATE_ADDR_CHANGED(crtc_update_addr);
@@ -108,8 +105,6 @@ private:
required_device<mb8876_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<speaker_sound_device> m_speaker;
- required_device<acia6850_device> m_acia0;
- required_device<acia6850_device> m_acia1;
required_device<palette_device> m_palette;
required_region_ptr<u8> m_p_videoram;
required_region_ptr<u8> m_p_chargen;
@@ -238,14 +233,6 @@ void v6809_state::kbd_put(u8 data)
m_pia0->cb1_w(1);
}
-WRITE_LINE_MEMBER( v6809_state::write_acia_clock )
-{
- m_acia0->write_txc(state);
- m_acia0->write_rxc(state);
- m_acia1->write_txc(state);
- m_acia1->write_rxc(state);
-}
-
READ8_MEMBER( v6809_state::pb_r )
{
uint8_t ret = m_term_data;
@@ -348,8 +335,11 @@ static MACHINE_CONFIG_START( v6809 )
MCFG_DEVICE_ADD("acia1", ACIA6850, 0)
- MCFG_DEVICE_ADD("acia_clock", CLOCK, 10)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(v6809_state, write_acia_clock))
+ MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600)
+ MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia0", acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia0", acia6850_device, write_rxc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia1", acia6850_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia1", acia6850_device, write_rxc))
MCFG_DEVICE_ADD("rtc", MM58274C, 0)
// this is all guess
diff --git a/src/mame/drivers/xor100.cpp b/src/mame/drivers/xor100.cpp
index 1b7cc7dbb03..09495540b9c 100644
--- a/src/mame/drivers/xor100.cpp
+++ b/src/mame/drivers/xor100.cpp
@@ -361,20 +361,6 @@ static INPUT_PORTS_START( xor100 )
PORT_CONFSETTING( 0x01, "Disabled" )
INPUT_PORTS_END
-/* COM5016 Interface */
-
-WRITE_LINE_MEMBER( xor100_state::com5016_fr_w )
-{
- m_uart_a->write_txc(state);
- m_uart_a->write_rxc(state);
-}
-
-WRITE_LINE_MEMBER( xor100_state::com5016_ft_w )
-{
- m_uart_b->write_txc(state);
- m_uart_b->write_rxc(state);
-}
-
/* Printer 8255A Interface */
WRITE_LINE_MEMBER( xor100_state::write_centronics_busy )
@@ -540,8 +526,10 @@ static MACHINE_CONFIG_START( xor100 )
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD(COM5016_TAG, COM8116, XTAL_5_0688MHz)
- MCFG_COM8116_FR_HANDLER(WRITELINE(xor100_state, com5016_fr_w))
- MCFG_COM8116_FT_HANDLER(WRITELINE(xor100_state, com5016_ft_w))
+ MCFG_COM8116_FR_HANDLER(DEVWRITELINE(I8251_A_TAG, i8251_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(I8251_A_TAG, i8251_device, write_rxc))
+ MCFG_COM8116_FT_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_txc))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(I8251_B_TAG, i8251_device, write_rxc))
MCFG_DEVICE_ADD(I8255A_TAG, I8255A, 0)
MCFG_I8255_OUT_PORTA_CB(DEVWRITE8("cent_data_out", output_latch_device, write))
diff --git a/src/mame/includes/bw2.h b/src/mame/includes/bw2.h
index f9a36bc9614..4266a40667d 100644
--- a/src/mame/includes/bw2.h
+++ b/src/mame/includes/bw2.h
@@ -72,7 +72,6 @@ public:
DECLARE_WRITE8_MEMBER( ppi_pc_w );
DECLARE_READ8_MEMBER( ppi_pc_r );
- DECLARE_WRITE_LINE_MEMBER( pit_out0_w );
DECLARE_WRITE_LINE_MEMBER( mtron_w );
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
diff --git a/src/mame/includes/ob68k1a.h b/src/mame/includes/ob68k1a.h
index 88f57f52d82..12303cc8e2d 100644
--- a/src/mame/includes/ob68k1a.h
+++ b/src/mame/includes/ob68k1a.h
@@ -55,8 +55,6 @@ public:
DECLARE_WRITE8_MEMBER( com8116_w );
DECLARE_READ8_MEMBER( pia_r );
DECLARE_WRITE8_MEMBER( pia_w );
- DECLARE_WRITE_LINE_MEMBER( rx_tx_0_w );
- DECLARE_WRITE_LINE_MEMBER( rx_tx_1_w );
};
#endif
diff --git a/src/mame/includes/swtpc09.h b/src/mame/includes/swtpc09.h
index af1317d7834..8b558c10b23 100644
--- a/src/mame/includes/swtpc09.h
+++ b/src/mame/includes/swtpc09.h
@@ -58,7 +58,6 @@ public:
DECLARE_WRITE_LINE_MEMBER( ptm_irq );
DECLARE_WRITE_LINE_MEMBER( acia_interrupt );
- DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
DECLARE_WRITE_LINE_MEMBER( fdc_intrq_w );
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
diff --git a/src/mame/includes/xor100.h b/src/mame/includes/xor100.h
index 1656fd18b3f..35ab15f261f 100644
--- a/src/mame/includes/xor100.h
+++ b/src/mame/includes/xor100.h
@@ -60,8 +60,6 @@ public:
void fdc_intrq_w(bool state);
void fdc_drq_w(bool state);
- DECLARE_WRITE_LINE_MEMBER(com5016_fr_w);
- DECLARE_WRITE_LINE_MEMBER(com5016_ft_w);
DECLARE_READ8_MEMBER(i8255_pc_r);
DECLARE_WRITE_LINE_MEMBER(ctc_z0_w);
DECLARE_WRITE_LINE_MEMBER(ctc_z1_w);