diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp index 815cf4f2032..76a0c668f9b 100644 --- a/src/mame/drivers/harddriv.cpp +++ b/src/mame/drivers/harddriv.cpp @@ -461,7 +461,8 @@ harddriv_state::harddriv_state(const machine_config &mconfig, const char *tag, d m_sound_int_state(0), m_video_int_state(0), m_palette(*this, "palette"), - m_slapstic_device(*this, "slapstic") + m_slapstic_device(*this, "slapstic"), + m_rs232(*this, "rs232") { int i; @@ -1445,6 +1446,10 @@ static MACHINE_CONFIG_FRAGMENT( driver_nomsp ) MCFG_MC68681_ADD("duartn68681", XTAL_3_6864MHz) MCFG_MC68681_IRQ_CALLBACK(WRITELINE(harddriv_state, harddriv_duart_irq_handler)) + MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE ("rs232", rs232_port_device, write_txd)) + + MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE ("duartn68681", mc68681_device, rx_a_w)) /* video hardware */ MCFG_PALETTE_ADD("palette", 1024) diff --git a/src/mame/includes/harddriv.h b/src/mame/includes/harddriv.h index 24cee21b4b1..1ed1894258a 100644 --- a/src/mame/includes/harddriv.h +++ b/src/mame/includes/harddriv.h @@ -16,6 +16,7 @@ #include "machine/mc68681.h" #include "machine/asic65.h" #include "machine/timekpr.h" +#include "bus/rs232/rs232.h" #define HARDDRIV_MASTER_CLOCK XTAL_32MHz #define HARDDRIV_GSP_CLOCK XTAL_48MHz @@ -453,6 +454,8 @@ protected: int get_hblank(screen_device &screen) const { return (screen.hpos() > (screen.width() * 9 / 10)); } optional_device m_slapstic_device; + optional_device m_rs232; + protected: //virtual machine_config_constructor device_mconfig_additions() const; virtual void device_start() override;