diff options
30 files changed, 256 insertions, 314 deletions
diff --git a/src/devices/bus/epson_sio/tf20.h b/src/devices/bus/epson_sio/tf20.h index 236cd2e9059..058bd60a4d4 100644 --- a/src/devices/bus/epson_sio/tf20.h +++ b/src/devices/bus/epson_sio/tf20.h @@ -18,7 +18,7 @@ #include "imagedev/floppy.h" #include "machine/ram.h" #include "machine/upd765.h" -#include "machine/z80dart.h" +#include "machine/z80sio.h" //************************************************************************** diff --git a/src/devices/bus/isa/eis_sad8852.cpp b/src/devices/bus/isa/eis_sad8852.cpp index 6e22a5f6d76..cb1c62cb9c0 100644 --- a/src/devices/bus/isa/eis_sad8852.cpp +++ b/src/devices/bus/isa/eis_sad8852.cpp @@ -205,7 +205,7 @@ void isa16_sad8852_device::device_add_mconfig(machine_config &config) cpu.set_addrmap(AS_PROGRAM, &isa16_sad8852_device::sad8852_mem); cpu.set_addrmap(AS_IO, &isa16_sad8852_device::sad8852_io); - I8274_NEW(config, "terminal", XTAL(12'000'000) / 3); // Needs verification + I8274(config, "terminal", XTAL(12'000'000) / 3); // Needs verification } isa16_sad8852_device::isa16_sad8852_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : diff --git a/src/devices/bus/isa/eis_twib.cpp b/src/devices/bus/isa/eis_twib.cpp index 5d465cef327..6e677d33395 100644 --- a/src/devices/bus/isa/eis_twib.cpp +++ b/src/devices/bus/isa/eis_twib.cpp @@ -200,7 +200,7 @@ ioport_constructor isa8_eistwib_device::device_input_ports() const void isa8_eistwib_device::device_add_mconfig(machine_config &config) { SDLC_LOGGER(config, m_sdlclogger, 0); // To decode the frames - I8274_NEW(config, m_uart8274, (XTAL(14'318'181)/ 3) / 2); // Half the 4,77 MHz ISA bus CLK signal + I8274(config, m_uart8274, (XTAL(14'318'181)/ 3) / 2); // Half the 4,77 MHz ISA bus CLK signal //m_uart8274->out_rtsa_callback().set([this] (int state) { m_rts = state; }); m_uart8274->out_txda_callback().set([this] (int state) { m_txd = state; m_sdlclogger->data_w(state); }); m_uart8274->out_int_callback().set([this] (int state) diff --git a/src/devices/bus/isa/eis_twib.h b/src/devices/bus/isa/eis_twib.h index 368287483a6..bcc8f6a327d 100644 --- a/src/devices/bus/isa/eis_twib.h +++ b/src/devices/bus/isa/eis_twib.h @@ -27,7 +27,7 @@ protected: virtual void device_reset() override; // devices - required_device<i8274_new_device> m_uart8274; + required_device<i8274_device> m_uart8274; required_device<sdlc_logger_device> m_sdlclogger; // optional information overrides diff --git a/src/devices/bus/vme/vme_mzr8300.cpp b/src/devices/bus/vme/vme_mzr8300.cpp index a318ced143f..4aef834d395 100644 --- a/src/devices/bus/vme/vme_mzr8300.cpp +++ b/src/devices/bus/vme/vme_mzr8300.cpp @@ -126,26 +126,26 @@ DEFINE_DEVICE_TYPE(VME_MZR8300, vme_mzr8300_card_device, "mzr8300", "Mizar 8300 void vme_mzr8300_card_device::device_add_mconfig(machine_config &config) { - upd7201_new_device& sio0(UPD7201_NEW(config, "sio0", XTAL(4'000'000))); + upd7201_device& sio0(UPD7201(config, "sio0", XTAL(4'000'000))); sio0.out_txdb_callback().set("rs232p1", FUNC(rs232_port_device::write_txd)); sio0.out_dtrb_callback().set("rs232p1", FUNC(rs232_port_device::write_dtr)); sio0.out_rtsb_callback().set("rs232p1", FUNC(rs232_port_device::write_rts)); - UPD7201_NEW(config, "sio1", XTAL(4'000'000)); + UPD7201(config, "sio1", XTAL(4'000'000)); rs232_port_device &rs232p1(RS232_PORT(config, "rs232p1", default_rs232_devices, "terminal")); - rs232p1.rxd_handler().set("sio0", FUNC(upd7201_new_device::rxb_w)); - rs232p1.cts_handler().set("sio0", FUNC(upd7201_new_device::ctsb_w)); + rs232p1.rxd_handler().set("sio0", FUNC(upd7201_device::rxb_w)); + rs232p1.cts_handler().set("sio0", FUNC(upd7201_device::ctsb_w)); am9513_device &stc(AM9513(config, "stc", 4_MHz_XTAL)); - stc.out1_cb().set("sio0", FUNC(upd7201_new_device::rxca_w)); - stc.out1_cb().append("sio0", FUNC(upd7201_new_device::txca_w)); - stc.out2_cb().set("sio0", FUNC(upd7201_new_device::rxcb_w)); - stc.out2_cb().append("sio0", FUNC(upd7201_new_device::txcb_w)); - stc.out3_cb().set("sio1", FUNC(upd7201_new_device::rxca_w)); - stc.out3_cb().append("sio1", FUNC(upd7201_new_device::txca_w)); - stc.out4_cb().set("sio1", FUNC(upd7201_new_device::rxcb_w)); - stc.out4_cb().append("sio1", FUNC(upd7201_new_device::txcb_w)); + stc.out1_cb().set("sio0", FUNC(upd7201_device::rxca_w)); + stc.out1_cb().append("sio0", FUNC(upd7201_device::txca_w)); + stc.out2_cb().set("sio0", FUNC(upd7201_device::rxcb_w)); + stc.out2_cb().append("sio0", FUNC(upd7201_device::txcb_w)); + stc.out3_cb().set("sio1", FUNC(upd7201_device::rxca_w)); + stc.out3_cb().append("sio1", FUNC(upd7201_device::txca_w)); + stc.out4_cb().set("sio1", FUNC(upd7201_device::rxcb_w)); + stc.out4_cb().append("sio1", FUNC(upd7201_device::txcb_w)); } diff --git a/src/devices/machine/z80dart.cpp b/src/devices/machine/z80dart.cpp index 116f9264598..b0c61f083d0 100644 --- a/src/devices/machine/z80dart.cpp +++ b/src/devices/machine/z80dart.cpp @@ -2,8 +2,6 @@ // copyright-holders:Curt Coder /*************************************************************************** - Intel 8274 Multi-Protocol Serial Controller emulation - NEC µPD7201 Multiprotocol Serial Communications Controller emulation Z80-DART Dual Asynchronous Receiver/Transmitter emulation Z80-SIO/0/1/2/3/4 Serial Input/Output Controller emulation @@ -51,8 +49,6 @@ DEFINE_DEVICE_TYPE(Z80SIO1, z80sio1_device, "z80sio1", "Z80 SIO DEFINE_DEVICE_TYPE(Z80SIO2, z80sio2_device, "z80sio2", "Z80 SIO/2") DEFINE_DEVICE_TYPE(Z80SIO3, z80sio3_device, "z80sio3", "Z80 SIO/3") DEFINE_DEVICE_TYPE(Z80SIO4, z80sio4_device, "z80sio4", "Z80 SIO/4") -DEFINE_DEVICE_TYPE(I8274, i8274_device, "i8274", "Intel 8274 MPSC") -DEFINE_DEVICE_TYPE(UPD7201, upd7201_device, "upd7201", "NEC uPD7201 MPSC") //------------------------------------------------- @@ -134,16 +130,6 @@ z80sio4_device::z80sio4_device(const machine_config &mconfig, const char *tag, d { } -i8274_device::i8274_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : z80dart_device(mconfig, I8274, tag, owner, clock, TYPE_I8274) -{ -} - -upd7201_device::upd7201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : z80dart_device(mconfig, UPD7201, tag, owner, clock, TYPE_UPD7201) -{ -} - //------------------------------------------------- // device_start - device-specific startup diff --git a/src/devices/machine/z80dart.h b/src/devices/machine/z80dart.h index 976eafe7f7b..8e5aac52705 100644 --- a/src/devices/machine/z80dart.h +++ b/src/devices/machine/z80dart.h @@ -2,57 +2,11 @@ // copyright-holders:Curt Coder /*************************************************************************** - Intel 8274 Multi-Protocol Serial Controller emulation - NEC uPD7201 Multiprotocol Serial Communications Controller emulation Z80-DART Dual Asynchronous Receiver/Transmitter emulation Z80-SIO/0/1/2/3/4 Serial Input/Output Controller emulation **************************************************************************** _____ _____ - CLK 1 |* \_/ | 40 Vcc - _RESET 2 | | 39 _CTSA - _CDA 3 | | 38 _RTSA - _RxCB 4 | | 37 TxDA - _CDB 5 | | 36 _TxCA - _CTSB 6 | | 35 _RxCA - _TxCB 7 | | 34 RxDA - TxDB 8 | | 33 _SYNDETA - RxDB 9 | | 32 RDYA/RxDRQA - _RTSB/_SYNDETB 10 | I8274 | 31 _DTRA - RDYB/_TxDRQA 11 | | 30 _IPO/TxDRQB - D7 12 | | 29 _IPI/RxDRQB - D6 13 | | 28 _INT - D5 14 | | 27 _INTA - D4 15 | | 26 _DTRB - D3 16 | | 25 A0 - D2 17 | | 24 A1 - D1 18 | | 23 _CS - D0 19 | | 22 _RD - Vss 20 |_____________| 21 _WR - - _____ _____ - CLK 1 |* \_/ | 40 Vcc - _RESET 2 | | 39 _CTSA - _DCDA 3 | | 38 _RTSA - _RxCB 4 | | 37 TxDA - _DCDB 5 | | 36 _TxCA - _CTSB 6 | | 35 _RxCA - _TxCB 7 | | 34 RxDA - TxDB 8 | | 33 _SYNCA - RxDB 9 | | 32 _WAITA/DRQRxA - _RTSB/_SYNCB 10 | UPD7201 | 31 _DTRA/_HAO - _WAITB/_DRQTxA 11 | | 30 _PRO/DRQTxB - D7 12 | | 29 _PRI/DRQRxB - D6 13 | | 28 _INT - D5 14 | | 27 _INTAK - D4 15 | | 26 _DTRB/_HAI - D3 16 | | 25 B/_A - D2 17 | | 24 C/_D - D1 18 | | 23 _CS - D0 19 | | 22 _RD - Vss 20 |_____________| 21 _WR - - _____ _____ D1 1 |* \_/ | 40 D0 D3 2 | | 39 D2 D5 3 | | 38 D4 @@ -572,28 +526,6 @@ public: }; -// ======================> i8274_device - -class i8274_device : public z80dart_device -{ -public: - // construction/destruction - i8274_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - uint8_t inta_r() { return m1_r(); }; -}; - - -// ======================> upd7201_device - -class upd7201_device : public z80dart_device -{ -public: - // construction/destruction - upd7201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); -}; - - // device type definition DECLARE_DEVICE_TYPE(Z80DART_CHANNEL, z80dart_channel) DECLARE_DEVICE_TYPE(Z80DART, z80dart_device) @@ -602,7 +534,5 @@ DECLARE_DEVICE_TYPE(Z80SIO1, z80sio1_device) DECLARE_DEVICE_TYPE(Z80SIO2, z80sio2_device) DECLARE_DEVICE_TYPE(Z80SIO3, z80sio3_device) DECLARE_DEVICE_TYPE(Z80SIO4, z80sio4_device) -DECLARE_DEVICE_TYPE(I8274, i8274_device) -DECLARE_DEVICE_TYPE(UPD7201, upd7201_device) #endif // MAME_MACHINE_Z80DART_H diff --git a/src/devices/machine/z80sio.cpp b/src/devices/machine/z80sio.cpp index ae8b39a8195..e6c7532dc1f 100644 --- a/src/devices/machine/z80sio.cpp +++ b/src/devices/machine/z80sio.cpp @@ -3,6 +3,8 @@ /*************************************************************************** Z80-SIO Serial Input/Output emulation + Intel 8274 Multi-Protocol Serial Controller emulation + NEC µPD7201 Multiprotocol Serial Communications Controller emulation The variants in the SIO family are only different in the packaging but has the same register features. However, since some signals are @@ -252,8 +254,8 @@ DEFINE_DEVICE_TYPE(Z80SIO_CHANNEL, z80sio_channel, "z80sio_channel", "Z80 DEFINE_DEVICE_TYPE(I8274_CHANNEL, i8274_channel, "i8274_channel", "Intel 8274 MPSC channel") DEFINE_DEVICE_TYPE(MK68564_CHANNEL, mk68564_channel, "mk68564_channel", "Mostek MK68564 SIO channel") DEFINE_DEVICE_TYPE(Z80SIO, z80sio_device, "z80sio", "Z80 SIO") -DEFINE_DEVICE_TYPE(I8274_NEW, i8274_new_device, "i8274_new", "Intel 8274 MPSC (new)") // Remove trailing N when z80dart.cpp's 8274 implementation is fully replaced -DEFINE_DEVICE_TYPE(UPD7201_NEW, upd7201_new_device, "upd7201_new", "NEC uPD7201 MPSC (new)") // Remove trailing N when z80dart.cpp's 7201 implementation is fully replaced +DEFINE_DEVICE_TYPE(I8274, i8274_device, "i8274", "Intel 8274 MPSC") +DEFINE_DEVICE_TYPE(UPD7201, upd7201_device, "upd7201", "NEC uPD7201 MPSC") DEFINE_DEVICE_TYPE(MK68564, mk68564_device, "mk68564", "Mostek MK68564 SIO") //------------------------------------------------- @@ -265,7 +267,7 @@ void z80sio_device::device_add_mconfig(machine_config &config) Z80SIO_CHANNEL(config, CHANB_TAG, 0); } -void i8274_new_device::device_add_mconfig(machine_config &config) +void i8274_device::device_add_mconfig(machine_config &config) { I8274_CHANNEL(config, CHANA_TAG, 0); I8274_CHANNEL(config, CHANB_TAG, 0); @@ -402,23 +404,23 @@ z80sio_device::z80sio_device(const machine_config &mconfig, const char *tag, dev { } -i8274_new_device::i8274_new_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : +i8274_device::i8274_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : z80sio_device(mconfig, type, tag, owner, clock) { } -i8274_new_device::i8274_new_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - i8274_new_device(mconfig, I8274_NEW, tag, owner, clock) +i8274_device::i8274_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + i8274_device(mconfig, I8274, tag, owner, clock) { } -upd7201_new_device::upd7201_new_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - i8274_new_device(mconfig, UPD7201_NEW, tag, owner, clock) +upd7201_device::upd7201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + i8274_device(mconfig, UPD7201, tag, owner, clock) { } mk68564_device::mk68564_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - i8274_new_device(mconfig, MK68564, tag, owner, clock) + i8274_device(mconfig, MK68564, tag, owner, clock) { } @@ -534,7 +536,7 @@ int z80sio_device::z80daisy_irq_ack() return -1; } -int i8274_new_device::z80daisy_irq_ack() +int i8274_device::z80daisy_irq_ack() { // FIXME: we're not modelling the full behaviour of this chip // The 8274 is designed to work with Intel processors with multiple interrupt acknowledge cycles @@ -612,7 +614,7 @@ void z80sio_device::z80daisy_irq_reti() return_from_interrupt(); } -void i8274_new_device::z80daisy_irq_reti() +void i8274_device::z80daisy_irq_reti() { LOGINT("%s - i8274/uPD7201 lacks RETI detection, no action taken\n", FUNCNAME); } @@ -760,7 +762,7 @@ uint8_t z80sio_device::read_vector() interrrupt is generated, otherwise it will indicate the previous state." 8274: "If RR2 is specified but not read, no internal interrupts, regardless of priority, are accepted." */ -uint8_t i8274_new_device::read_vector() +uint8_t i8274_device::read_vector() { // 8086 and 8085 modes have different variable bits bool const aff(m_chanB->m_wr1 & WR1_STATUS_VECTOR); @@ -835,7 +837,7 @@ int const *z80sio_device::interrupt_priorities() const return prio; } -int const *i8274_new_device::interrupt_priorities() const +int const *i8274_device::interrupt_priorities() const { static constexpr EQUIVALENT_ARRAY(m_int_state, int) prio_a{ 0 + z80sio_channel::INT_RECEIVE, 3 + z80sio_channel::INT_RECEIVE, @@ -858,12 +860,6 @@ int z80sio_device::m1_r() return z80daisy_irq_ack(); } -int i8274_new_device::m1_r() -{ - LOGINT("%s %s \n",FUNCNAME, tag()); - return 0; -} - //------------------------------------------------- // cd_ba_r - diff --git a/src/devices/machine/z80sio.h b/src/devices/machine/z80sio.h index 1c0b9affd4a..8d0875e418b 100644 --- a/src/devices/machine/z80sio.h +++ b/src/devices/machine/z80sio.h @@ -3,6 +3,8 @@ /*************************************************************************** Z80-SIO Serial Input/Output + Intel 8274 Multi-Protocol Serial Controller + NEC µPD7201 Multiprotocol Serial Communications Controller **************************************************************************** _____ _____ _____ _____ @@ -50,6 +52,50 @@ A A A A E B B B B B A A A A E B B B B T T _____ _____ + CLK 1 |* \_/ | 40 Vcc + _RESET 2 | | 39 _CTSA + _CDA 3 | | 38 _RTSA + _RxCB 4 | | 37 TxDA + _CDB 5 | | 36 _TxCA + _CTSB 6 | | 35 _RxCA + _TxCB 7 | | 34 RxDA + TxDB 8 | | 33 _SYNDETA + RxDB 9 | DIP40 | 32 RDYA/RxDRQA + _RTSB/_SYNDETB 10 | I8274 | 31 _DTRA + RDYB/_TxDRQA 11 | | 30 _IPO/TxDRQB + D7 12 | | 29 _IPI/RxDRQB + D6 13 | | 28 _INT + D5 14 | | 27 _INTA + D4 15 | | 26 _DTRB + D3 16 | | 25 A0 + D2 17 | | 24 A1 + D1 18 | | 23 _CS + D0 19 | | 22 _RD + Vss 20 |_____________| 21 _WR + + _____ _____ + CLK 1 |* \_/ | 40 Vcc + _RESET 2 | | 39 _CTSA + _DCDA 3 | | 38 _RTSA + _RxCB 4 | | 37 TxDA + _DCDB 5 | | 36 _TxCA + _CTSB 6 | | 35 _RxCA + _TxCB 7 | | 34 RxDA + TxDB 8 | | 33 _SYNCA + RxDB 9 | DIP40 | 32 _WAITA/DRQRxA + _RTSB/_SYNCB 10 | D7201 | 31 _DTRA/_HAO + _WAITB/_DRQTxA 11 | | 30 _PRO/DRQTxB + D7 12 | | 29 _PRI/DRQRxB + D6 13 | | 28 _INT + D5 14 | | 27 _INTAK + D4 15 | | 26 _DTRB/_HAI + D3 16 | | 25 B/_A + D2 17 | | 24 C/_D + D1 18 | | 23 _CS + D0 19 | | 22 _RD + Vss 20 |_____________| 21 _WR + + _____ _____ D1 1|* \_/ |48 D0 D3 2| |47 D2 D5 3| |46 D4 @@ -103,8 +149,8 @@ class z80sio_device; class z80sio_channel : public device_t { friend class z80sio_device; - friend class i8274_new_device; - friend class upd7201_new_device; + friend class i8274_device; + friend class upd7201_device; friend class mk68564_device; public: @@ -488,15 +534,15 @@ protected: int m_int_source[8]; // interrupt source }; -class i8274_new_device : public z80sio_device +class i8274_device : public z80sio_device { public: - i8274_new_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + i8274_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual int m1_r() override; + uint8_t inta_r() { return m1_r(); } protected: - i8274_new_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + i8274_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); // device_t overrides virtual void device_add_mconfig(machine_config &config) override; @@ -509,13 +555,13 @@ protected: virtual int const *interrupt_priorities() const override; }; -class upd7201_new_device : public i8274_new_device +class upd7201_device : public i8274_device { public: - upd7201_new_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + upd7201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); }; -class mk68564_device : public i8274_new_device +class mk68564_device : public i8274_device { public: mk68564_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); @@ -536,8 +582,8 @@ private: // device type declaration DECLARE_DEVICE_TYPE(Z80SIO, z80sio_device) -DECLARE_DEVICE_TYPE(I8274_NEW, i8274_new_device) -DECLARE_DEVICE_TYPE(UPD7201_NEW, upd7201_new_device) +DECLARE_DEVICE_TYPE(I8274, i8274_device) +DECLARE_DEVICE_TYPE(UPD7201, upd7201_device) DECLARE_DEVICE_TYPE(MK68564, mk68564_device) #endif // MAME_MACHINE_Z80SIO_H diff --git a/src/mame/drivers/altos486.cpp b/src/mame/drivers/altos486.cpp index 57eaf43019b..0e976201b97 100644 --- a/src/mame/drivers/altos486.cpp +++ b/src/mame/drivers/altos486.cpp @@ -9,7 +9,7 @@ #include "imagedev/floppy.h" #include "machine/i8255.h" #include "machine/pic8259.h" -#include "machine/z80dart.h" +#include "machine/z80sio.h" #include "machine/pit8253.h" #include "machine/upd765.h" #include "machine/i8255.h" @@ -121,15 +121,15 @@ void altos486_state::altos486_z80_mem(address_map &map) { map.unmap_value_high(); map(0x0000, 0x0fff).rom().region("iocpu", 0); - map(0x2000, 0x27ff).ram(); + map(0x1000, 0x17ff).ram(); //map(0x8000, 0xffff).rw(FUNC(altos486_state::z80_shared_r), FUNC(altos486_state::z80_shared_w)): } void altos486_state::altos486_z80_io(address_map &map) { - //map(0x00, 0x03).rw("sio0", FUNC(z80sio0_device::read), FUNC(z80sio0_device::write)); - //map(0x04, 0x07).rw("sio1", FUNC(z80sio0_device::read), FUNC(z80sio0_device::write)); - //map(0x08, 0x0b).rw("sio2", FUNC(z80sio0_device::read), FUNC(z80sio0_device::write)); + //map(0x00, 0x03).rw("sio0", FUNC(z80sio_device::read), FUNC(z80sio_device::write)); + //map(0x04, 0x07).rw("sio1", FUNC(z80sio_device::read), FUNC(z80sio_device::write)); + //map(0x08, 0x0b).rw("sio2", FUNC(z80sio_device::read), FUNC(z80sio_device::write)); } void altos486_state::altos486(machine_config &config) @@ -153,7 +153,7 @@ void altos486_state::altos486(machine_config &config) UPD765A(config, "fdc", 32_MHz_XTAL / 4, false, false); FLOPPY_CONNECTOR(config, "fdc:0", altos486_floppies, "525qd", altos486_state::floppy_formats).set_fixed(true); - z80sio0_device& sio0(Z80SIO0(config, "sio0", 32_MHz_XTAL / 8)); + z80sio_device& sio0(Z80SIO(config, "sio0", 32_MHz_XTAL / 8)); // Z8440APS sio0.out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd)); sio0.out_dtra_callback().set("rs232a", FUNC(rs232_port_device::write_dtr)); sio0.out_rtsa_callback().set("rs232a", FUNC(rs232_port_device::write_rts)); @@ -162,7 +162,7 @@ void altos486_state::altos486(machine_config &config) sio0.out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts)); //sio0.out_int_callback().set(FUNC(altos486_state::sio_interrupt)); - z80sio0_device& sio1(Z80SIO0(config, "sio1", 32_MHz_XTAL / 8)); + z80sio_device& sio1(Z80SIO(config, "sio1", 32_MHz_XTAL / 8)); // Z8440APS sio1.out_txda_callback().set("rs232c", FUNC(rs232_port_device::write_txd)); sio1.out_dtra_callback().set("rs232c", FUNC(rs232_port_device::write_dtr)); sio1.out_rtsa_callback().set("rs232c", FUNC(rs232_port_device::write_rts)); @@ -171,7 +171,7 @@ void altos486_state::altos486(machine_config &config) sio1.out_rtsb_callback().set("rs232d", FUNC(rs232_port_device::write_rts)); //sio1.out_int_callback().set(FUNC(altos486_state::sio_interrupt)); - z80sio0_device& sio2(Z80SIO0(config, "sio2", 32_MHz_XTAL / 8)); + z80sio_device& sio2(Z80SIO(config, "sio2", 32_MHz_XTAL / 8)); // Z8440APS sio2.out_txda_callback().set("rs232_lp", FUNC(rs232_port_device::write_txd)); sio2.out_dtra_callback().set("rs232_lp", FUNC(rs232_port_device::write_dtr)); sio2.out_rtsa_callback().set("rs232_lp", FUNC(rs232_port_device::write_rts)); @@ -184,35 +184,35 @@ void altos486_state::altos486(machine_config &config) //i8274.out_int_callback().set(FUNC(altos486_state::sio_interrupt)); rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, "terminal")); - rs232a.rxd_handler().set("sio0", FUNC(z80dart_device::rxa_w)); - rs232a.dcd_handler().set("sio0", FUNC(z80dart_device::dcda_w)); - rs232a.cts_handler().set("sio0", FUNC(z80dart_device::ctsa_w)); + rs232a.rxd_handler().set("sio0", FUNC(z80sio_device::rxa_w)); + rs232a.dcd_handler().set("sio0", FUNC(z80sio_device::dcda_w)); + rs232a.cts_handler().set("sio0", FUNC(z80sio_device::ctsa_w)); //rs232a.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(altos486_terminal)); rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr)); - rs232b.rxd_handler().set("sio0", FUNC(z80dart_device::rxb_w)); - rs232b.dcd_handler().set("sio0", FUNC(z80dart_device::dcdb_w)); - rs232b.cts_handler().set("sio0", FUNC(z80dart_device::ctsb_w)); + rs232b.rxd_handler().set("sio0", FUNC(z80sio_device::rxb_w)); + rs232b.dcd_handler().set("sio0", FUNC(z80sio_device::dcdb_w)); + rs232b.cts_handler().set("sio0", FUNC(z80sio_device::ctsb_w)); rs232_port_device &rs232c(RS232_PORT(config, "rs232c", default_rs232_devices, nullptr)); - rs232c.rxd_handler().set("sio1", FUNC(z80dart_device::rxa_w)); - rs232c.dcd_handler().set("sio1", FUNC(z80dart_device::dcda_w)); - rs232c.cts_handler().set("sio1", FUNC(z80dart_device::ctsa_w)); + rs232c.rxd_handler().set("sio1", FUNC(z80sio_device::rxa_w)); + rs232c.dcd_handler().set("sio1", FUNC(z80sio_device::dcda_w)); + rs232c.cts_handler().set("sio1", FUNC(z80sio_device::ctsa_w)); rs232_port_device &rs232d(RS232_PORT(config, "rs232d", default_rs232_devices, nullptr)); - rs232d.rxd_handler().set("sio1", FUNC(z80dart_device::rxb_w)); - rs232d.dcd_handler().set("sio1", FUNC(z80dart_device::dcdb_w)); - rs232d.cts_handler().set("sio1", FUNC(z80dart_device::ctsb_w)); + rs232d.rxd_handler().set("sio1", FUNC(z80sio_device::rxb_w)); + rs232d.dcd_handler().set("sio1", FUNC(z80sio_device::dcdb_w)); + rs232d.cts_handler().set("sio1", FUNC(z80sio_device::ctsb_w)); rs232_port_device &rs232_lp(RS232_PORT(config, "rs232_lp", default_rs232_devices, nullptr)); - rs232_lp.rxd_handler().set("sio2", FUNC(z80dart_device::rxa_w)); - rs232_lp.dcd_handler().set("sio2", FUNC(z80dart_device::dcda_w)); - rs232_lp.cts_handler().set("sio2", FUNC(z80dart_device::ctsa_w)); + rs232_lp.rxd_handler().set("sio2", FUNC(z80sio_device::rxa_w)); + rs232_lp.dcd_handler().set("sio2", FUNC(z80sio_device::dcda_w)); + rs232_lp.cts_handler().set("sio2", FUNC(z80sio_device::ctsa_w)); rs232_port_device &rs422_wn(RS232_PORT(config, "rs422_wn", default_rs232_devices, nullptr)); - rs422_wn.rxd_handler().set("i8274", FUNC(z80dart_device::rxa_w)); - rs422_wn.dcd_handler().set("i8274", FUNC(z80dart_device::dcda_w)); - rs422_wn.cts_handler().set("i8274", FUNC(z80dart_device::ctsa_w)); + rs422_wn.rxd_handler().set("i8274", FUNC(i8274_device::rxa_w)); + rs422_wn.dcd_handler().set("i8274", FUNC(i8274_device::dcda_w)); + rs422_wn.cts_handler().set("i8274", FUNC(i8274_device::ctsa_w)); pit8253_device &pit0(PIT8253(config, "pit0", 0)); pit0.set_clk<0>(XTAL(22'118'400)/18); // FIXME diff --git a/src/mame/drivers/altos8600.cpp b/src/mame/drivers/altos8600.cpp index 004222fb86d..4fb3c4c8bb0 100644 --- a/src/mame/drivers/altos8600.cpp +++ b/src/mame/drivers/altos8600.cpp @@ -91,7 +91,7 @@ private: required_device<i8086_cpu_device> m_maincpu; required_device<i8089_device> m_dmac; required_device_array<pic8259_device, 3> m_pic; - required_device<i8274_new_device> m_uart8274; + required_device<i8274_device> m_uart8274; required_device<fd1797_device> m_fdc; required_device<ram_device> m_ram; required_device<acs8600_ics_device> m_ics; @@ -702,7 +702,7 @@ void altos8600_state::dmac_io(address_map &map) map(0x0038, 0x003f).w(FUNC(altos8600_state::cattn_w)); map(0x0040, 0x0047).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff); map(0x0040, 0x0047).rw(m_fdc, FUNC(fd1797_device::read), FUNC(fd1797_device::write)).umask16(0xff00); - map(0x0048, 0x004f).rw(m_uart8274, FUNC(i8274_new_device::cd_ba_r), FUNC(i8274_new_device::cd_ba_w)).umask16(0x00ff); + map(0x0048, 0x004f).rw(m_uart8274, FUNC(i8274_device::cd_ba_r), FUNC(i8274_device::cd_ba_w)).umask16(0x00ff); map(0x0048, 0x004f).rw("pit", FUNC(pit8253_device::read), FUNC(pit8253_device::write)).umask16(0xff00); map(0x0050, 0x0057).rw(FUNC(altos8600_state::romport_r), FUNC(altos8600_state::romport_w)); map(0x0058, 0x005f).rw(m_pic[0], FUNC(pic8259_device::read), FUNC(pic8259_device::write)).umask16(0x00ff); @@ -754,7 +754,7 @@ void altos8600_state::altos8600(machine_config &config) RAM(config, RAM_TAG).set_default_size("1M");//.set_extra_options("512K"); - I8274_NEW(config, m_uart8274, 16_MHz_XTAL/4); + I8274(config, m_uart8274, 16_MHz_XTAL/4); m_uart8274->out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd)); m_uart8274->out_dtra_callback().set("rs232a", FUNC(rs232_port_device::write_dtr)); m_uart8274->out_rtsa_callback().set("rs232a", FUNC(rs232_port_device::write_rts)); @@ -764,23 +764,23 @@ void altos8600_state::altos8600(machine_config &config) m_uart8274->out_int_callback().set(m_pic[0], FUNC(pic8259_device::ir7_w)); rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, nullptr)); - rs232a.rxd_handler().set(m_uart8274, FUNC(i8274_new_device::rxa_w)); - rs232a.dcd_handler().set(m_uart8274, FUNC(i8274_new_device::dcda_w)); - rs232a.cts_handler().set(m_uart8274, FUNC(i8274_new_device::ctsa_w)); + rs232a.rxd_handler().set(m_uart8274, FUNC(i8274_device::rxa_w)); + rs232a.dcd_handler().set(m_uart8274, FUNC(i8274_device::dcda_w)); + rs232a.cts_handler().set(m_uart8274, FUNC(i8274_device::ctsa_w)); rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr)); - rs232b.rxd_handler().set(m_uart8274, FUNC(i8274_new_device::rxb_w)); - rs232b.dcd_handler().set(m_uart8274, FUNC(i8274_new_device::dcdb_w)); - rs232b.cts_handler().set(m_uart8274, FUNC(i8274_new_device::ctsb_w)); + rs232b.rxd_handler().set(m_uart8274, FUNC(i8274_device::rxb_w)); + rs232b.dcd_handler().set(m_uart8274, FUNC(i8274_device::dcdb_w)); + rs232b.cts_handler().set(m_uart8274, FUNC(i8274_device::ctsb_w)); I8255A(config, "ppi", 0); pit8253_device &pit(PIT8253(config, "pit", 0)); pit.set_clk<0>(1228800); - pit.out_handler<0>().set(m_uart8274, FUNC(i8274_new_device::rxca_w)); - pit.out_handler<0>().append(m_uart8274, FUNC(i8274_new_device::txca_w)); + pit.out_handler<0>().set(m_uart8274, FUNC(i8274_device::rxca_w)); + pit.out_handler<0>().append(m_uart8274, FUNC(i8274_device::txca_w)); pit.set_clk<1>(1228800); - pit.out_handler<1>().set(m_uart8274, FUNC(i8274_new_device::rxtxcb_w)); + pit.out_handler<1>().set(m_uart8274, FUNC(i8274_device::rxtxcb_w)); pit.set_clk<2>(1228800); pit.out_handler<1>().set(m_pic[0], FUNC(pic8259_device::ir1_w)); diff --git a/src/mame/drivers/codata.cpp b/src/mame/drivers/codata.cpp index f2e31ac1d21..7a173c6e166 100644 --- a/src/mame/drivers/codata.cpp +++ b/src/mame/drivers/codata.cpp @@ -40,7 +40,7 @@ void codata_state::mem_map(address_map &map) map(0x000000, 0x1fffff).ram().share("rambase"); map(0x200000, 0x203fff).rom().region("bios", 0); map(0x400000, 0x403fff).rom().region("bios", 0x4000); - map(0x600000, 0x600007).mirror(0x1ffff8).rw("uart", FUNC(upd7201_new_device::ba_cd_r), FUNC(upd7201_new_device::ba_cd_w)).umask16(0xff00); + map(0x600000, 0x600007).mirror(0x1ffff8).rw("uart", FUNC(upd7201_device::ba_cd_r), FUNC(upd7201_device::ba_cd_w)).umask16(0xff00); map(0x800000, 0x800003).mirror(0x1ffffc).rw("timer", FUNC(am9513_device::read16), FUNC(am9513_device::write16)); map(0xe00000, 0xe00001).mirror(0x1ffffe).portr("INPUT"); //map(0xa00000, 0xbfffff) page map (rw) @@ -67,7 +67,7 @@ void codata_state::codata(machine_config &config) M68000(config, m_maincpu, 16_MHz_XTAL / 2); m_maincpu->set_addrmap(AS_PROGRAM, &codata_state::mem_map); - upd7201_new_device &uart(UPD7201_NEW(config, "uart", 16_MHz_XTAL / 4)); + upd7201_device &uart(UPD7201(config, "uart", 16_MHz_XTAL / 4)); uart.out_txda_callback().set("rs423a", FUNC(rs232_port_device::write_txd)); uart.out_dtra_callback().set("rs423a", FUNC(rs232_port_device::write_dtr)); uart.out_rtsa_callback().set("rs423a", FUNC(rs232_port_device::write_rts)); @@ -78,18 +78,18 @@ void codata_state::codata(machine_config &config) timer.out1_cb().set_nop(); // Timer 1 = "Abort/Reset" (watchdog) timer.out2_cb().set_inputline(m_maincpu, M68K_IRQ_6); // Timer 2 timer.out3_cb().set_inputline(m_maincpu, M68K_IRQ_7); // Refresh - timer.out4_cb().set("uart", FUNC(upd7201_new_device::rxca_w)); - timer.out4_cb().append("uart", FUNC(upd7201_new_device::txca_w)); - timer.out5_cb().set("uart", FUNC(upd7201_new_device::rxcb_w)); - timer.out5_cb().append("uart", FUNC(upd7201_new_device::txcb_w)); + timer.out4_cb().set("uart", FUNC(upd7201_device::rxca_w)); + timer.out4_cb().append("uart", FUNC(upd7201_device::txca_w)); + timer.out5_cb().set("uart", FUNC(upd7201_device::rxcb_w)); + timer.out5_cb().append("uart", FUNC(upd7201_device::txcb_w)); rs232_port_device &rs423a(RS232_PORT(config, "rs423a", default_rs232_devices, "terminal")); - rs423a.rxd_handler().set("uart", FUNC(upd7201_new_device::rxa_w)); - rs423a.dsr_handler().set("uart", FUNC(upd7201_new_device::dcda_w)); - rs423a.cts_handler().set("uart", FUNC(upd7201_new_device::ctsa_w)); + rs423a.rxd_handler().set("uart", FUNC(upd7201_device::rxa_w)); + rs423a.dsr_handler().set("uart", FUNC(upd7201_device::dcda_w)); + rs423a.cts_handler().set("uart", FUNC(upd7201_device::ctsa_w)); rs232_port_device &rs423b(RS232_PORT(config, "rs423b", default_rs232_devices, nullptr)); - rs423b.rxd_handler().set("uart", FUNC(upd7201_new_device::rxb_w)); + rs423b.rxd_handler().set("uart", FUNC(upd7201_device::rxb_w)); } /* ROM definition */ diff --git a/src/mame/drivers/compis.cpp b/src/mame/drivers/compis.cpp index 224590101a3..4e25c3ab1ab 100644 --- a/src/mame/drivers/compis.cpp +++ b/src/mame/drivers/compis.cpp @@ -63,7 +63,7 @@ #include "machine/pit8253.h" #include "machine/ram.h" #include "machine/timer.h" -#include "machine/z80dart.h" +#include "machine/z80sio.h" #define I80186_TAG "ic1" #define I80130_TAG "ic15" @@ -793,14 +793,14 @@ void compis_state::compis(machine_config &config) TIMER(config, "tape").configure_periodic(FUNC(compis_state::tape_tick), attotime::from_hz(44100)); rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, nullptr)); - rs232a.rxd_handler().set(m_mpsc, FUNC(z80dart_device::rxa_w)); - rs232a.dcd_handler().set(m_mpsc, FUNC(z80dart_device::dcda_w)); - rs232a.cts_handler().set(m_mpsc, FUNC(z80dart_device::ctsa_w)); + rs232a.rxd_handler().set(m_mpsc, FUNC(i8274_device::rxa_w)); + rs232a.dcd_handler().set(m_mpsc, FUNC(i8274_device::dcda_w)); + rs232a.cts_handler().set(m_mpsc, FUNC(i8274_device::ctsa_w)); rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr)); - rs232b.rxd_handler().set(m_mpsc, FUNC(z80dart_device::rxb_w)); - rs232b.dcd_handler().set(m_mpsc, FUNC(z80dart_device::dcdb_w)); - rs232b.cts_handler().set(m_mpsc, FUNC(z80dart_device::ctsb_w)); + rs232b.rxd_handler().set(m_mpsc, FUNC(i8274_device::rxb_w)); + rs232b.dcd_handler().set(m_mpsc, FUNC(i8274_device::dcdb_w)); + rs232b.cts_handler().set(m_mpsc, FUNC(i8274_device::ctsb_w)); CENTRONICS(config, m_centronics, centronics_devices, "printer"); m_centronics->busy_handler().set(FUNC(compis_state::write_centronics_busy)); diff --git a/src/mame/drivers/duet16.cpp b/src/mame/drivers/duet16.cpp index a72a95104f9..54ac9e340c8 100644 --- a/src/mame/drivers/duet16.cpp +++ b/src/mame/drivers/duet16.cpp @@ -158,7 +158,7 @@ void duet16_state::duet16_mem(address_map &map) map(0xf8020, 0xf8023).rw(FUNC(duet16_state::pic_r), FUNC(duet16_state::pic_w)).umask16(0x00ff); map(0xf8040, 0xf804f).rw("itm", FUNC(ptm6840_device::read), FUNC(ptm6840_device::write)).umask16(0x00ff); map(0xf8060, 0xf8067).rw("bgpit", FUNC(pit8253_device::read), FUNC(pit8253_device::write)).umask16(0x00ff); - map(0xf8080, 0xf8087).rw("sio", FUNC(upd7201_new_device::ba_cd_r), FUNC(upd7201_new_device::ba_cd_w)).umask16(0x00ff); + map(0xf8080, 0xf8087).rw("sio", FUNC(upd7201_device::ba_cd_r), FUNC(upd7201_device::ba_cd_w)).umask16(0x00ff); map(0xf80a0, 0xf80a3).rw("kbusart", FUNC(i8251_device::read), FUNC(i8251_device::write)).umask16(0x00ff); map(0xf80c0, 0xf80c0).rw("crtc", FUNC(hd6845s_device::status_r), FUNC(hd6845s_device::address_w)); map(0xf80c2, 0xf80c2).rw("crtc", FUNC(hd6845s_device::register_r), FUNC(hd6845s_device::register_w)); @@ -384,10 +384,10 @@ void duet16_state::duet16(machine_config &config) bgpit.set_clk<0>(8_MHz_XTAL / 13); bgpit.set_clk<1>(8_MHz_XTAL / 13); bgpit.set_clk<2>(8_MHz_XTAL / 13); - bgpit.out_handler<0>().set("sio", FUNC(upd7201_new_device::txca_w)); // TODO: selected through LS153 - bgpit.out_handler<0>().append("sio", FUNC(upd7201_new_device::rxca_w)); - bgpit.out_handler<1>().set("sio", FUNC(upd7201_new_device::txcb_w)); - bgpit.out_handler<1>().append("sio", FUNC(upd7201_new_device::rxcb_w)); + bgpit.out_handler<0>().set("sio", FUNC(upd7201_device::txca_w)); // TODO: selected through LS153 + bgpit.out_handler<0>().append("sio", FUNC(upd7201_device::rxca_w)); + bgpit.out_handler<1>().set("sio", FUNC(upd7201_device::txcb_w)); + bgpit.out_handler<1>().append("sio", FUNC(upd7201_device::rxcb_w)); bgpit.out_handler<2>().set("kbusart", FUNC(i8251_device::write_txc)); bgpit.out_handler<2>().append("kbusart", FUNC(i8251_device::write_rxc)); @@ -397,7 +397,7 @@ void duet16_state::duet16(machine_config &config) itm.o3_callback().append("itm", FUNC(ptm6840_device::set_c2)); itm.irq_callback().set(m_tmint, FUNC(input_merger_device::in_w<0>)); - upd7201_new_device& sio(UPD7201_NEW(config, "sio", 8_MHz_XTAL / 2)); + upd7201_device& sio(UPD7201(config, "sio", 8_MHz_XTAL / 2)); sio.out_int_callback().set("pic", FUNC(pic8259_device::ir1_w)); // INT5 i8251_device &kbusart(I8251(config, "kbusart", 8_MHz_XTAL / 4)); diff --git a/src/mame/drivers/ft68m.cpp b/src/mame/drivers/ft68m.cpp index 559c57da6ed..c106f7b2974 100644 --- a/src/mame/drivers/ft68m.cpp +++ b/src/mame/drivers/ft68m.cpp @@ -57,7 +57,7 @@ void ft68m_state::mem_map(address_map &map) map(0x000000, 0x1fffff).ram().share("rambase"); map(0x200000, 0x201fff).rom().region("roms", 0x0000); map(0x400000, 0x401fff).rom().region("roms", 0x2000); - map(0x600000, 0x600007).mirror(0x1ffff8).rw("mpsc", FUNC(upd7201_new_device::ba_cd_r), FUNC(upd7201_new_device::ba_cd_w)).umask16(0xff00); + map(0x600000, 0x600007).mirror(0x1ffff8).rw("mpsc", FUNC(upd7201_device::ba_cd_r), FUNC(upd7201_device::ba_cd_w)).umask16(0xff00); map(0x800000, 0x800003).mirror(0x1ffffc).rw("stc", FUNC(am9513_device::read16), FUNC(am9513_device::write16)); map(0xa00000, 0xbfffff).ram(); //Page Map map(0xc00000, 0xdfffff).ram(); //Segment Map @@ -88,7 +88,7 @@ void ft68m_state::ft68m(machine_config &config) M68000(config, m_maincpu, XTAL(19'660'800) / 2); m_maincpu->set_addrmap(AS_PROGRAM, &ft68m_state::mem_map); - upd7201_new_device& mpsc(UPD7201_NEW(config, "mpsc", 0)); + upd7201_device& mpsc(UPD7201(config, "mpsc", 0)); mpsc.out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd)); mpsc.out_dtra_callback().set("rs232a", FUNC(rs232_port_device::write_dtr)); mpsc.out_rtsa_callback().set("rs232a", FUNC(rs232_port_device::write_rts)); @@ -98,18 +98,18 @@ void ft68m_state::ft68m(machine_config &config) am9513_device &stc(AM9513A(config, "stc", XTAL(19'660'800) / 8)); stc.out2_cb().set_inputline(m_maincpu, M68K_IRQ_6); stc.out3_cb().set_inputline(m_maincpu, M68K_IRQ_7); - stc.out4_cb().set("mpsc", FUNC(upd7201_new_device::rxca_w)); - stc.out4_cb().append("mpsc", FUNC(upd7201_new_device::txca_w)); - stc.out5_cb().set("mpsc", FUNC(upd7201_new_device::rxcb_w)); - stc.out5_cb().append("mpsc", FUNC(upd7201_new_device::txcb_w)); + stc.out4_cb().set("mpsc", FUNC(upd7201_device::rxca_w)); + stc.out4_cb().append("mpsc", FUNC(upd7201_device::txca_w)); + stc.out5_cb().set("mpsc", FUNC(upd7201_device::rxcb_w)); + stc.out5_cb().append("mpsc", FUNC(upd7201_device::txcb_w)); rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, "terminal")); - rs232a.rxd_handler().set("mpsc", FUNC(upd7201_new_device::rxa_w)); - rs232a.dsr_handler().set("mpsc", FUNC(upd7201_new_device::dcda_w)); - rs232a.cts_handler().set("mpsc", FUNC(upd7201_new_device::ctsa_w)); + rs232a.rxd_handler().set("mpsc", FUNC(upd7201_device::rxa_w)); + rs232a.dsr_handler().set("mpsc", FUNC(upd7201_device::dcda_w)); + rs232a.cts_handler().set("mpsc", FUNC(upd7201_device::ctsa_w)); rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr)); - rs232b.rxd_handler().set("mpsc", FUNC(upd7201_new_device::rxb_w)); + rs232b.rxd_handler().set("mpsc", FUNC(upd7201_device::rxb_w)); } /* ROM definition */ diff --git a/src/mame/drivers/gridcomp.cpp b/src/mame/drivers/gridcomp.cpp index c30c166ee4f..5269eb99304 100644 --- a/src/mame/drivers/gridcomp.cpp +++ b/src/mame/drivers/gridcomp.cpp @@ -122,7 +122,7 @@ private: required_device<cpu_device> m_maincpu; required_device<i80130_device> m_osp; required_device<i8255_device> m_modem; - optional_device<i8274_new_device> m_uart8274; + optional_device<i8274_device> m_uart8274; required_device<speaker_sound_device> m_speaker; required_device<ram_device> m_ram; @@ -320,7 +320,7 @@ void gridcomp_state::grid1121_map(address_map &map) map(0x90000, 0x97fff).unmaprw(); // ?? ROM slot map(0x9ff00, 0x9ff0f).unmaprw(); // .r(FUNC(gridcomp_state::grid_9ff0_r)); // ?? ROM? map(0xc0000, 0xcffff).unmaprw(); // ?? ROM slot -- signature expected: 0x4554, 0x5048 - map(0xdfe00, 0xdfe1f).unmaprw(); // .rw("uart8274", FUNC(i8274_new_device::ba_cd_r), FUNC(i8274_new_device::ba_cd_w)).umask16(0x00ff); + map(0xdfe00, 0xdfe1f).unmaprw(); // .rw("uart8274", FUNC(i8274_device::ba_cd_r), FUNC(i8274_device::ba_cd_w)).umask16(0x00ff); map(0xdfe40, 0xdfe4f).unmaprw(); // ?? diagnostic 8274 map(0xdfe80, 0xdfe83).rw("i7220", FUNC(i7220_device::read), FUNC(i7220_device::write)).umask16(0x00ff); map(0xdfea0, 0xdfeaf).unmaprw(); // ?? @@ -406,7 +406,7 @@ void gridcomp_state::grid1101(machine_config &config) ieee.ren_callback().set("hpib", FUNC(tms9914_device::ren_w)); IEEE488_SLOT(config, "ieee_rem", 0, remote488_devices, nullptr); - I8274_NEW(config, m_uart8274, XTAL(4'032'000)); + I8274(config, m_uart8274, XTAL(4'032'000)); I8255(config, "modem", 0); diff --git a/src/mame/drivers/isbc.cpp b/src/mame/drivers/isbc.cpp index dcd2596cba4..a43104167ca 100644 --- a/src/mame/drivers/isbc.cpp +++ b/src/mame/drivers/isbc.cpp @@ -89,7 +89,7 @@ private: required_device<cpu_device> m_maincpu; optional_device<i8251_device> m_uart8251; // optional_device<i8274_device> m_uart8274; - optional_device<i8274_new_device> m_uart8274; + optional_device<i8274_device> m_uart8274; required_device<pic8259_device> m_pic_0; optional_device<pic8259_device> m_pic_1; optional_device<centronics_device> m_centronics; @@ -189,7 +189,7 @@ void isbc_state::isbc286_io(address_map &map) map(0x00c8, 0x00cf).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff); map(0x00c8, 0x00cf).w(FUNC(isbc_state::upperen_w)).umask16(0xff00); map(0x00d0, 0x00d7).rw("pit", FUNC(pit8254_device::read), FUNC(pit8254_device::write)).umask16(0x00ff); - map(0x00d8, 0x00df).rw(m_uart8274, FUNC(i8274_new_device::cd_ba_r), FUNC(i8274_new_device::cd_ba_w)).umask16(0x00ff); + map(0x00d8, 0x00df).rw(m_uart8274, FUNC(i8274_device::cd_ba_r), FUNC(i8274_device::cd_ba_w)).umask16(0x00ff); map(0x0100, 0x0100).w("isbc_215g", FUNC(isbc_215g_device::write)); } @@ -450,7 +450,7 @@ void isbc_state::isbc286(machine_config &config) pit.out_handler<0>().set(m_pic_0, FUNC(pic8259_device::ir0_w)); pit.set_clk<1>(XTAL(22'118'400)/18); // pit.out_handler<1>().set(m_uart8274, FUNC(z80dart_device::rxtxcb_w)); - pit.out_handler<1>().set(m_uart8274, FUNC(i8274_new_device::rxtxcb_w)); + pit.out_handler<1>().set(m_uart8274, FUNC(i8274_device::rxtxcb_w)); pit.set_clk<2>(XTAL(22'118'400)/18); pit.out_handler<2>().set(FUNC(isbc_state::isbc286_tmr2_w)); @@ -479,7 +479,7 @@ void isbc_state::isbc286(machine_config &config) m_uart8274->out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts)); m_uart8274->out_int_callback().set(FUNC(isbc_state::isbc_uart8274_irq)); #else - I8274_NEW(config, m_uart8274, XTAL(16'000'000)/4); + I8274(config, m_uart8274, XTAL(16'000'000)/4); m_uart8274->out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd)); m_uart8274->out_dtra_callback().set("rs232a", FUNC(rs232_port_device::write_dtr)); m_uart8274->out_rtsa_callback().set("rs232a", FUNC(rs232_port_device::write_rts)); @@ -496,9 +496,9 @@ void isbc_state::isbc286(machine_config &config) rs232a.dcd_handler().set(m_uart8274, FUNC(z80dart_device::dcda_w)); rs232a.cts_handler().set(m_uart8274, FUNC(z80dart_device::ctsa_w)); #else - rs232a.rxd_handler().set(m_uart8274, FUNC(i8274_new_device::rxa_w)); - rs232a.dcd_handler().set(m_uart8274, FUNC(i8274_new_device::dcda_w)); - rs232a.cts_handler().set(m_uart8274, FUNC(i8274_new_device::ctsa_w)); + rs232a.rxd_handler().set(m_uart8274, FUNC(i8274_device::rxa_w)); + rs232a.dcd_handler().set(m_uart8274, FUNC(i8274_device::dcda_w)); + rs232a.cts_handler().set(m_uart8274, FUNC(i8274_device::ctsa_w)); #endif rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, "terminal")); @@ -507,9 +507,9 @@ void isbc_state::isbc286(machine_config &config) rs232b.dcd_handler().set(m_uart8274, FUNC(z80dart_device::dcdb_w)); rs232b.cts_handler().set(m_uart8274, FUNC(z80dart_device::ctsb_w)); #else - rs232b.rxd_handler().set(m_uart8274, FUNC(i8274_new_device::rxb_w)); - rs232b.dcd_handler().set(m_uart8274, FUNC(i8274_new_device::dcdb_w)); - rs232b.cts_handler().set(m_uart8274, FUNC(i8274_new_device::ctsb_w)); + rs232b.rxd_handler().set(m_uart8274, FUNC(i8274_device::rxb_w)); + rs232b.dcd_handler().set(m_uart8274, FUNC(i8274_device::dcdb_w)); + rs232b.cts_handler().set(m_uart8274, FUNC(i8274_device::ctsb_w)); #endif rs232b.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(isbc286_terminal)); diff --git a/src/mame/drivers/lee1214.cpp b/src/mame/drivers/lee1214.cpp index 6d6f91864e9..d8e7be6ab04 100644 --- a/src/mame/drivers/lee1214.cpp +++ b/src/mame/drivers/lee1214.cpp @@ -46,7 +46,7 @@ void lee1214_state::mem_map(address_map &map) void lee1214_state::io_map(address_map &map) { - map(0x0000, 0x0003).rw("mpsc", FUNC(i8274_new_device::cd_ba_r), FUNC(i8274_new_device::cd_ba_w)); + map(0x0000, 0x0003).rw("mpsc", FUNC(i8274_device::cd_ba_r), FUNC(i8274_device::cd_ba_w)); //map(0x0100, 0x0100).w("crtc", FUNC(mc6845_device::address_w)); //map(0x0101, 0x0101).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); } @@ -69,7 +69,7 @@ void lee1214_state::lee1214(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &lee1214_state::mem_map); m_maincpu->set_addrmap(AS_IO, &lee1214_state::io_map); - i8274_new_device &mpsc(I8274_NEW(config, "mpsc", 4'000'000)); + i8274_device &mpsc(I8274(config, "mpsc", 4'000'000)); mpsc.out_int_callback().set("maincpu", FUNC(i80188_cpu_device::int0_w)); EEPROM_2816(config, "eeprom"); diff --git a/src/mame/drivers/mikromik.cpp b/src/mame/drivers/mikromik.cpp index 2de5455e601..a6d40dbebcc 100644 --- a/src/mame/drivers/mikromik.cpp +++ b/src/mame/drivers/mikromik.cpp @@ -491,10 +491,10 @@ void mm1_state::mm1(machine_config &config) m_mpsc->out_txdrqa_callback().set(FUNC(mm1_state::drq1_w)); RS232_PORT(config, m_rs232a, default_rs232_devices, nullptr); - m_rs232a->cts_handler().set(m_mpsc, FUNC(z80dart_device::rxa_w)); + m_rs232a->cts_handler().set(m_mpsc, FUNC(upd7201_device::rxa_w)); RS232_PORT(config, m_rs232b, default_rs232_devices, nullptr); RS232_PORT(config, m_rs232c, default_rs232_devices, nullptr); - m_rs232c->cts_handler().set(m_mpsc, FUNC(z80dart_device::ctsb_w)); + m_rs232c->cts_handler().set(m_mpsc, FUNC(upd7201_device::ctsb_w)); mm1_keyboard_device &kb(MM1_KEYBOARD(config, KB_TAG, 2500)); // actual KBCLK is 6.144_MHz_XTAL/2/16 kb.kbst_wr_callback().set(m_iop, FUNC(i8212_device::stb_w)); diff --git a/src/mame/drivers/ngen.cpp b/src/mame/drivers/ngen.cpp index 16190c4dd78..9528f0c096f 100644 --- a/src/mame/drivers/ngen.cpp +++ b/src/mame/drivers/ngen.cpp @@ -75,7 +75,7 @@ #include "machine/pit8253.h" #include "machine/wd2010.h" #include "machine/wd_fdc.h" -#include "machine/z80dart.h" +#include "machine/z80sio.h" #include "video/mc6845.h" #include "screen.h" @@ -978,13 +978,13 @@ void ngen_state::ngen(machine_config &config) rs232a.rxd_handler().set(m_iouart, FUNC(upd7201_device::rxa_w)); rs232a.cts_handler().set(m_iouart, FUNC(upd7201_device::ctsa_w)); rs232a.dcd_handler().set(m_iouart, FUNC(upd7201_device::dcda_w)); - rs232a.ri_handler().set(m_iouart, FUNC(upd7201_device::ria_w)); + rs232a.ri_handler().set(m_iouart, FUNC(upd7201_device::synca_w)); rs232_port_device &rs232b(RS232_PORT(config, "rs232_b", default_rs232_devices, nullptr)); rs232b.rxd_handler().set(m_iouart, FUNC(upd7201_device::rxb_w)); rs232b.cts_handler().set(m_iouart, FUNC(upd7201_device::ctsb_w)); rs232b.dcd_handler().set(m_iouart, FUNC(upd7201_device::dcdb_w)); - rs232b.ri_handler().set(m_iouart, FUNC(upd7201_device::rib_w)); + rs232b.ri_handler().set(m_iouart, FUNC(upd7201_device::syncb_w)); // TODO: SCN2652 MPCC (not implemented), used for RS-422 cluster communications? @@ -1091,13 +1091,13 @@ void ngen386_state::ngen386(machine_config &config) rs232a.rxd_handler().set(m_iouart, FUNC(upd7201_device::rxa_w)); rs232a.cts_handler().set(m_iouart, FUNC(upd7201_device::ctsa_w)); rs232a.dcd_handler().set(m_iouart, FUNC(upd7201_device::dcda_w)); - rs232a.ri_handler().set(m_iouart, FUNC(upd7201_device::ria_w)); + rs232a.ri_handler().set(m_iouart, FUNC(upd7201_device::synca_w)); rs232_port_device &rs232b(RS232_PORT(config, "rs232_b", default_rs232_devices, nullptr)); rs232b.rxd_handler().set(m_iouart, FUNC(upd7201_device::rxb_w)); rs232b.cts_handler().set(m_iouart, FUNC(upd7201_device::ctsb_w)); rs232b.dcd_handler().set(m_iouart, FUNC(upd7201_device::dcdb_w)); - rs232b.ri_handler().set(m_iouart, FUNC(upd7201_device::rib_w)); + rs232b.ri_handler().set(m_iouart, FUNC(upd7201_device::syncb_w)); // TODO: SCN2652 MPCC (not implemented), used for RS-422 cluster communications? diff --git a/src/mame/drivers/pm68k.cpp b/src/mame/drivers/pm68k.cpp index 2b3470e992f..626fb411ea3 100644 --- a/src/mame/drivers/pm68k.cpp +++ b/src/mame/drivers/pm68k.cpp @@ -41,7 +41,7 @@ void pm68k_state::pm68k_mem(address_map &map) map.global_mask(0xffffff); map(0x000000, 0x1fffff).ram().share("rambase"); map(0x200000, 0x205fff).rom().region("roms", 0); - map(0x600000, 0x600007).rw("mpsc", FUNC(i8274_new_device::ba_cd_r), FUNC(i8274_new_device::ba_cd_w)).umask16(0xff00); + map(0x600000, 0x600007).rw("mpsc", FUNC(i8274_device::ba_cd_r), FUNC(i8274_device::ba_cd_w)).umask16(0xff00); map(0x800000, 0x800003).rw("stc", FUNC(am9513_device::read16), FUNC(am9513_device::write16)); } @@ -63,7 +63,7 @@ void pm68k_state::pm68k(machine_config &config) M68000(config, m_maincpu, 8000000); m_maincpu->set_addrmap(AS_PROGRAM, &pm68k_state::pm68k_mem); - i8274_new_device& mpsc(I8274_NEW(config, "mpsc", 0)); + i8274_device& mpsc(I8274(config, "mpsc", 0)); mpsc.out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd)); mpsc.out_dtra_callback().set("rs232a", FUNC(rs232_port_device::write_dtr)); mpsc.out_rtsa_callback().set("rs232a", FUNC(rs232_port_device::write_rts)); @@ -72,20 +72,20 @@ void pm68k_state::pm68k(machine_config &config) mpsc.out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts)); am9513_device &stc(AM9513(config, "stc", 4000000)); - stc.out4_cb().set("mpsc", FUNC(i8274_new_device::rxca_w)); - stc.out4_cb().append("mpsc", FUNC(i8274_new_device::txca_w)); - stc.out5_cb().set("mpsc", FUNC(i8274_new_device::rxcb_w)); - stc.out5_cb().append("mpsc", FUNC(i8274_new_device::txcb_w)); + stc.out4_cb().set("mpsc", FUNC(i8274_device::rxca_w)); + stc.out4_cb().append("mpsc", FUNC(i8274_device::txca_w)); + stc.out5_cb().set("mpsc", FUNC(i8274_device::rxcb_w)); + stc.out5_cb().append("mpsc", FUNC(i8274_device::txcb_w)); rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, "terminal")); - rs232a.rxd_handler().set("mpsc", FUNC(i8274_new_device::rxa_w)); - rs232a.dsr_handler().set("mpsc", FUNC(i8274_new_device::dcda_w)); - rs232a.cts_handler().set("mpsc", FUNC(i8274_new_device::ctsa_w)); + rs232a.rxd_handler().set("mpsc", FUNC(i8274_device::rxa_w)); + rs232a.dsr_handler().set("mpsc", FUNC(i8274_device::dcda_w)); + rs232a.cts_handler().set("mpsc", FUNC(i8274_device::ctsa_w)); rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr)); - rs232b.rxd_handler().set("mpsc", FUNC(i8274_new_device::rxb_w)); - rs232b.dsr_handler().set("mpsc", FUNC(i8274_new_device::dcdb_w)); - rs232b.cts_handler().set("mpsc", FUNC(i8274_new_device::ctsb_w)); + rs232b.rxd_handler().set("mpsc", FUNC(i8274_device::rxb_w)); + rs232b.dsr_handler().set("mpsc", FUNC(i8274_device::dcdb_w)); + rs232b.cts_handler().set("mpsc", FUNC(i8274_device::ctsb_w)); } /* ROM definition */ diff --git a/src/mame/drivers/qx10.cpp b/src/mame/drivers/qx10.cpp index 13e91067742..3e4ff612e69 100644 --- a/src/mame/drivers/qx10.cpp +++ b/src/mame/drivers/qx10.cpp @@ -44,7 +44,7 @@ #include "machine/qx10kbd.h" #include "machine/ram.h" #include "machine/upd765.h" -#include "machine/z80dart.h" +#include "machine/z80sio.h" #include "video/upd7220.h" #include "emupal.h" @@ -556,7 +556,7 @@ void qx10_state::qx10_io(address_map &map) map(0x04, 0x07).rw(m_pit_2, FUNC(pit8253_device::read), FUNC(pit8253_device::write)); map(0x08, 0x09).rw(m_pic_m, FUNC(pic8259_device::read), FUNC(pic8259_device::write)); map(0x0c, 0x0d).rw(m_pic_s, FUNC(pic8259_device::read), FUNC(pic8259_device::write)); - map(0x10, 0x13).rw(m_scc, FUNC(z80dart_device::cd_ba_r), FUNC(z80dart_device::cd_ba_w)); + map(0x10, 0x13).rw(m_scc, FUNC(upd7201_device::cd_ba_r), FUNC(upd7201_device::cd_ba_w)); map(0x14, 0x17).rw(m_ppi, FUNC(i8255_device::read), FUNC(i8255_device::write)); map(0x18, 0x1b).portr("DSW").w(FUNC(qx10_state::qx10_18_w)); map(0x1c, 0x1f).w(FUNC(qx10_state::prom_sel_w)); @@ -765,7 +765,7 @@ void qx10_state::qx10(machine_config &config) m_pit_2->set_clk<1>(MAIN_CLK / 8); m_pit_2->out_handler<1>().set(FUNC(qx10_state::keyboard_clk)); m_pit_2->set_clk<2>(MAIN_CLK / 8); - m_pit_2->out_handler<2>().set(m_scc, FUNC(z80dart_device::rxtxcb_w)); + m_pit_2->out_handler<2>().set(m_scc, FUNC(upd7201_device::rxtxcb_w)); PIC8259(config, m_pic_m, 0); m_pic_m->out_int_callback().set_inputline(m_maincpu, 0); diff --git a/src/mame/drivers/rainbow.cpp b/src/mame/drivers/rainbow.cpp index 331443d8df4..2d8fa1b174b 100644 --- a/src/mame/drivers/rainbow.cpp +++ b/src/mame/drivers/rainbow.cpp @@ -634,7 +634,7 @@ protected: required_device<corvus_hdc_device> m_corvus_hdc; - required_device<upd7201_new_device> m_mpsc; + required_device<upd7201_device> m_mpsc; required_device<com8116_003_device> m_dbrg; required_device<rs232_port_device> m_comm_port; @@ -2771,7 +2771,7 @@ WRITE8_MEMBER(rainbow_base_state::diagnostic_w) // 8088 (port 0A WRITTEN). Fig.4 // Install 8088 read / write handler once loopback test is over if ( !(data & 32) && (m_diagnostic & 32) ) { - io.install_readwrite_handler(0x40, 0x43, read8sm_delegate(*m_mpsc, FUNC(upd7201_new_device::cd_ba_r)), write8sm_delegate(*m_mpsc, FUNC(upd7201_new_device::cd_ba_w))); + io.install_readwrite_handler(0x40, 0x43, read8sm_delegate(*m_mpsc, FUNC(upd7201_device::cd_ba_r)), write8sm_delegate(*m_mpsc, FUNC(upd7201_device::cd_ba_w))); logerror("\n **** COMM HANDLER INSTALLED **** "); //popmessage("Autoboot from drive %c", m_p_nvram[0xab] ? (64 + m_p_nvram[0xab]) : 0x3F ); } @@ -3306,20 +3306,20 @@ void rainbow_base_state::rainbow_base(machine_config &config) m_dbrg->fr_handler().set(FUNC(rainbow_base_state::dbrg_fr_w)); m_dbrg->ft_handler().set(FUNC(rainbow_base_state::dbrg_ft_w)); - UPD7201_NEW(config, m_mpsc, 24.0734_MHz_XTAL / 5 / 2); // 2.4073 MHz (nominally 2.5 MHz) + UPD7201(config, m_mpsc, 24.0734_MHz_XTAL / 5 / 2); // 2.4073 MHz (nominally 2.5 MHz) m_mpsc->out_int_callback().set(FUNC(rainbow_base_state::mpsc_irq)); m_mpsc->out_txda_callback().set(m_comm_port, FUNC(rs232_port_device::write_txd)); m_mpsc->out_txdb_callback().set("printer", FUNC(rs232_port_device::write_txd)); // RTS and DTR outputs are not connected RS232_PORT(config, m_comm_port, default_rs232_devices, nullptr); - m_comm_port->rxd_handler().set(m_mpsc, FUNC(upd7201_new_device::rxa_w)); - m_comm_port->cts_handler().set(m_mpsc, FUNC(upd7201_new_device::ctsa_w)); - m_comm_port->dcd_handler().set(m_mpsc, FUNC(upd7201_new_device::dcda_w)); + m_comm_port->rxd_handler().set(m_mpsc, FUNC(upd7201_device::rxa_w)); + m_comm_port->cts_handler().set(m_mpsc, FUNC(upd7201_device::ctsa_w)); + m_comm_port->dcd_handler().set(m_mpsc, FUNC(upd7201_device::dcda_w)); rs232_port_device &printer(RS232_PORT(config, "printer", default_rs232_devices, nullptr)); - printer.rxd_handler().set(m_mpsc, FUNC(upd7201_new_device::rxb_w)); - printer.dcd_handler().set(m_mpsc, FUNC(upd7201_new_device::ctsb_w)); // actually DTR + printer.rxd_handler().set(m_mpsc, FUNC(upd7201_device::rxb_w)); + printer.dcd_handler().set(m_mpsc, FUNC(upd7201_device::ctsb_w)); // actually DTR m_comm_port->option_add("microsoft_mouse", MSFT_HLE_SERIAL_MOUSE); m_comm_port->option_add("logitech_mouse", LOGITECH_HLE_SERIAL_MOUSE); diff --git a/src/mame/drivers/sun1.cpp b/src/mame/drivers/sun1.cpp index aa0d859ced7..41a00ad9c85 100644 --- a/src/mame/drivers/sun1.cpp +++ b/src/mame/drivers/sun1.cpp @@ -82,7 +82,7 @@ private: virtual void machine_reset() override; required_device<cpu_device> m_maincpu; - required_device<upd7201_new_device> m_iouart; + required_device<upd7201_device> m_iouart; required_shared_ptr<uint16_t> m_p_ram; }; @@ -92,7 +92,7 @@ void sun1_state::sun1_mem(address_map &map) map.unmap_value_high(); map(0x00000000, 0x001fffff).ram().share("p_ram"); // 512 KB RAM / ROM at boot map(0x00200000, 0x00203fff).rom().region("user1", 0); - map(0x00600000, 0x00600007).mirror(0x1ffff8).rw(m_iouart, FUNC(upd7201_new_device::ba_cd_r), FUNC(upd7201_new_device::ba_cd_w)).umask16(0xff00); + map(0x00600000, 0x00600007).mirror(0x1ffff8).rw(m_iouart, FUNC(upd7201_device::ba_cd_r), FUNC(upd7201_device::ba_cd_w)).umask16(0xff00); map(0x00800000, 0x00800003).mirror(0x1ffffc).rw("timer", FUNC(am9513_device::read16), FUNC(am9513_device::write16)); map(0x00a00000, 0x00bfffff).unmaprw(); // page map map(0x00c00000, 0x00dfffff).unmaprw(); // segment map @@ -123,12 +123,12 @@ void sun1_state::sun1(machine_config &config) timer.out1_cb().set_nop(); // Watchdog; generates BERR/Reset timer.out2_cb().set_inputline(m_maincpu, M68K_IRQ_6); // User timer timer.out3_cb().set_inputline(m_maincpu, M68K_IRQ_7); // Refresh timer (2 ms) - timer.out4_cb().set(m_iouart, FUNC(upd7201_new_device::rxca_w)); - timer.out4_cb().append(m_iouart, FUNC(upd7201_new_device::txca_w)); - timer.out5_cb().set(m_iouart, FUNC(upd7201_new_device::rxcb_w)); - timer.out5_cb().append(m_iouart, FUNC(upd7201_new_device::txcb_w)); + timer.out4_cb().set(m_iouart, FUNC(upd7201_device::rxca_w)); + timer.out4_cb().append(m_iouart, FUNC(upd7201_device::txca_w)); + timer.out5_cb().set(m_iouart, FUNC(upd7201_device::rxcb_w)); + timer.out5_cb().append(m_iouart, FUNC(upd7201_device::txcb_w)); - UPD7201_NEW(config, m_iouart, 16_MHz_XTAL / 4); + UPD7201(config, m_iouart, 16_MHz_XTAL / 4); m_iouart->out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd)); m_iouart->out_dtra_callback().set("rs232a", FUNC(rs232_port_device::write_dtr)); m_iouart->out_rtsa_callback().set("rs232a", FUNC(rs232_port_device::write_rts)); @@ -138,14 +138,14 @@ void sun1_state::sun1(machine_config &config) m_iouart->out_int_callback().set_inputline(m_maincpu, M68K_IRQ_5); rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, "terminal")); - rs232a.rxd_handler().set(m_iouart, FUNC(upd7201_new_device::rxa_w)); - rs232a.cts_handler().set(m_iouart, FUNC(upd7201_new_device::ctsa_w)); - rs232a.dcd_handler().set(m_iouart, FUNC(upd7201_new_device::dcda_w)); + rs232a.rxd_handler().set(m_iouart, FUNC(upd7201_device::rxa_w)); + rs232a.cts_handler().set(m_iouart, FUNC(upd7201_device::ctsa_w)); + rs232a.dcd_handler().set(m_iouart, FUNC(upd7201_device::dcda_w)); rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr)); - rs232b.rxd_handler().set(m_iouart, FUNC(upd7201_new_device::rxb_w)); - rs232b.cts_handler().set(m_iouart, FUNC(upd7201_new_device::ctsb_w)); - rs232b.dcd_handler().set(m_iouart, FUNC(upd7201_new_device::dcdb_w)); + rs232b.rxd_handler().set(m_iouart, FUNC(upd7201_device::rxb_w)); + rs232b.cts_handler().set(m_iouart, FUNC(upd7201_device::ctsb_w)); + rs232b.dcd_handler().set(m_iouart, FUNC(upd7201_device::dcdb_w)); } /* ROM definition */ diff --git a/src/mame/drivers/telex274.cpp b/src/mame/drivers/telex274.cpp index c4605946191..aaa6f7bdce9 100644 --- a/src/mame/drivers/telex274.cpp +++ b/src/mame/drivers/telex274.cpp @@ -127,7 +127,7 @@ void telex274_state::main_mem(address_map &map) map(0x008000, 0x01ffff).ram(); map(0x080000, 0x09ffff).ram(); map(0xff811e, 0xff811f).nopr(); - map(0xff8810, 0xff8817).rw("mpsc", FUNC(i8274_new_device::cd_ba_r), FUNC(i8274_new_device::cd_ba_w)).umask16(0x00ff); + map(0xff8810, 0xff8817).rw("mpsc", FUNC(i8274_device::cd_ba_r), FUNC(i8274_device::cd_ba_w)).umask16(0x00ff); map(0xff8818, 0xff881b).rw("maintimer", FUNC(am9513a_device::read8), FUNC(am9513a_device::write8)).umask16(0x00ff); } @@ -150,11 +150,11 @@ void telex274_state::telex274(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &telex274_state::main_mem); am9513a_device &maintimer(AM9513A(config, "maintimer", 4_MHz_XTAL)); - maintimer.out4_cb().set("mpsc", FUNC(i8274_new_device::rxca_w)); // ? - maintimer.out4_cb().append("mpsc", FUNC(i8274_new_device::txca_w)); // ? - maintimer.out5_cb().set("mpsc", FUNC(i8274_new_device::rxtxcb_w)); // ? + maintimer.out4_cb().set("mpsc", FUNC(i8274_device::rxca_w)); // ? + maintimer.out4_cb().append("mpsc", FUNC(i8274_device::txca_w)); // ? + maintimer.out5_cb().set("mpsc", FUNC(i8274_device::rxtxcb_w)); // ? - I8274_NEW(config, "mpsc", 4'000'000); + I8274(config, "mpsc", 4'000'000); M68000(config, m_coaxcpu, 10'000'000); m_coaxcpu->set_addrmap(AS_PROGRAM, &telex274_state::coax_mem); diff --git a/src/mame/drivers/unixpc.cpp b/src/mame/drivers/unixpc.cpp index ab7eb7730ad..027f3b61d0e 100644 --- a/src/mame/drivers/unixpc.cpp +++ b/src/mame/drivers/unixpc.cpp @@ -338,7 +338,7 @@ void unixpc_state::unixpc_mem(address_map &map) map(0xe10000, 0xe10007).rw(m_wd2797, FUNC(wd_fdc_device_base::read), FUNC(wd_fdc_device_base::write)).umask16(0x00ff); map(0xe30000, 0xe30001).r(FUNC(unixpc_state::rtc_r)); map(0xe40000, 0xe40001).select(0x7000).w(FUNC(unixpc_state::gcr_w)); - map(0xe50000, 0xe50007).rw("mpsc", FUNC(upd7201_new_device::cd_ba_r), FUNC(upd7201_new_device::cd_ba_w)).umask16(0x00ff); + map(0xe50000, 0xe50007).rw("mpsc", FUNC(upd7201_device::cd_ba_r), FUNC(upd7201_device::cd_ba_w)).umask16(0x00ff); map(0xe70000, 0xe70003).rw("kbc", FUNC(acia6850_device::read), FUNC(acia6850_device::write)).umask16(0xff00); map(0x800000, 0x803fff).mirror(0x7fc000).rom().region("bootrom", 0); } @@ -420,7 +420,7 @@ void unixpc_state::unixpc(machine_config &config) m_hdc->out_intrq_callback().set(FUNC(unixpc_state::wd1010_intrq_w)); HARDDISK(config, m_hdr0, 0); - upd7201_new_device &mpsc(UPD7201_NEW(config, "mpsc", 19.6608_MHz_XTAL / 8)); + upd7201_device &mpsc(UPD7201(config, "mpsc", 19.6608_MHz_XTAL / 8)); mpsc.out_txda_callback().set("rs232", FUNC(rs232_port_device::write_txd)); mpsc.out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr)); mpsc.out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts)); @@ -433,9 +433,9 @@ void unixpc_state::unixpc(machine_config &config) //TC8250(config, "rtc", 32.768_kHz_XTAL); rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr)); - rs232.rxd_handler().set("mpsc", FUNC(upd7201_new_device::rxa_w)); - rs232.dsr_handler().set("mpsc", FUNC(upd7201_new_device::dcda_w)); - rs232.cts_handler().set("mpsc", FUNC(upd7201_new_device::ctsa_w)); + rs232.rxd_handler().set("mpsc", FUNC(upd7201_device::rxa_w)); + rs232.dsr_handler().set("mpsc", FUNC(upd7201_device::dcda_w)); + rs232.cts_handler().set("mpsc", FUNC(upd7201_device::ctsa_w)); centronics_device &printer(CENTRONICS(config, "printer", centronics_devices, nullptr)); output_latch_device &printlatch(OUTPUT_LATCH(config, "printlatch")); diff --git a/src/mame/drivers/v102.cpp b/src/mame/drivers/v102.cpp index 0a8071c354a..3bc68cfc117 100644 --- a/src/mame/drivers/v102.cpp +++ b/src/mame/drivers/v102.cpp @@ -46,7 +46,7 @@ private: void mem_map(address_map &map); required_device<cpu_device> m_maincpu; - required_device<upd7201_new_device> m_mpsc; + required_device<upd7201_device> m_mpsc; required_region_ptr<u8> m_chargen; bool m_hs_state; @@ -85,7 +85,7 @@ void v102_state::io_map(address_map &map) { map.global_mask(0xff); map(0x00, 0x3f).rw("vpac", FUNC(crt9007_device::read), FUNC(crt9007_device::write)); - map(0x40, 0x43).rw("mpsc", FUNC(upd7201_new_device::ba_cd_r), FUNC(upd7201_new_device::ba_cd_w)); + map(0x40, 0x43).rw("mpsc", FUNC(upd7201_device::ba_cd_r), FUNC(upd7201_device::ba_cd_w)); map(0x60, 0x61).rw("usart", FUNC(i8251_device::read), FUNC(i8251_device::write)); map(0x80, 0x83).w("pit", FUNC(pit8253_device::write)); map(0xa0, 0xa3).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write)); @@ -125,7 +125,7 @@ void v102_state::v102(machine_config &config) EEPROM_2804(config, "eeprom"); - UPD7201_NEW(config, m_mpsc, 18.575_MHz_XTAL / 5); // divider not verified + UPD7201(config, m_mpsc, 18.575_MHz_XTAL / 5); // divider not verified m_mpsc->out_int_callback().set("mainirq", FUNC(input_merger_device::in_w<0>)); m_mpsc->out_txda_callback().set("keyboard", FUNC(v102_keyboard_device::write_rxd)); m_mpsc->out_txdb_callback().set("aux", FUNC(rs232_port_device::write_txd)); @@ -146,13 +146,13 @@ void v102_state::v102(machine_config &config) pit.set_clk<2>(18.575_MHz_XTAL / 6); pit.out_handler<0>().set("usart", FUNC(i8251_device::write_txc)); pit.out_handler<1>().set("usart", FUNC(i8251_device::write_rxc)); - pit.out_handler<2>().set(m_mpsc, FUNC(upd7201_new_device::txcb_w)); - pit.out_handler<2>().append(m_mpsc, FUNC(upd7201_new_device::rxcb_w)); + pit.out_handler<2>().set(m_mpsc, FUNC(upd7201_device::txcb_w)); + pit.out_handler<2>().append(m_mpsc, FUNC(upd7201_device::rxcb_w)); I8255(config, "ppi"); v102_keyboard_device &keyboard(V102_KEYBOARD(config, "keyboard")); - keyboard.txd_callback().set(m_mpsc, FUNC(upd7201_new_device::rxa_w)); + keyboard.txd_callback().set(m_mpsc, FUNC(upd7201_device::rxa_w)); rs232_port_device &modem(RS232_PORT(config, "modem", default_rs232_devices, nullptr)); modem.rxd_handler().set("usart", FUNC(i8251_device::write_rxd)); @@ -160,8 +160,8 @@ void v102_state::v102(machine_config &config) modem.dcd_handler().set("usart", FUNC(i8251_device::write_dsr)); rs232_port_device &aux(RS232_PORT(config, "aux", default_rs232_devices, nullptr)); - aux.rxd_handler().set(m_mpsc, FUNC(upd7201_new_device::rxb_w)); - aux.dcd_handler().set(m_mpsc, FUNC(upd7201_new_device::dcdb_w)); // DTR (printer busy) + aux.rxd_handler().set(m_mpsc, FUNC(upd7201_device::rxb_w)); + aux.dcd_handler().set(m_mpsc, FUNC(upd7201_device::dcdb_w)); // DTR (printer busy) } diff --git a/src/mame/drivers/v550.cpp b/src/mame/drivers/v550.cpp index 541babd0877..31d703cec08 100644 --- a/src/mame/drivers/v550.cpp +++ b/src/mame/drivers/v550.cpp @@ -70,10 +70,10 @@ void v550_state::io_map(address_map &map) map(0x10, 0x10).w("brg1", FUNC(com8116_device::stt_str_w)); map(0x20, 0x23).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write)); map(0x30, 0x31).rw(m_usart, FUNC(i8251_device::read), FUNC(i8251_device::write)); - map(0x40, 0x40).rw("mpsc", FUNC(upd7201_new_device::da_r), FUNC(upd7201_new_device::da_w)); - map(0x41, 0x41).rw("mpsc", FUNC(upd7201_new_device::ca_r), FUNC(upd7201_new_device::ca_w)); - map(0x48, 0x48).rw("mpsc", FUNC(upd7201_new_device::db_r), FUNC(upd7201_new_device::db_w)); - map(0x49, 0x49).rw("mpsc", FUNC(upd7201_new_device::cb_r), FUNC(upd7201_new_device::cb_w)); + map(0x40, 0x40).rw("mpsc", FUNC(upd7201_device::da_r), FUNC(upd7201_device::da_w)); + map(0x41, 0x41).rw("mpsc", FUNC(upd7201_device::ca_r), FUNC(upd7201_device::ca_w)); + map(0x48, 0x48).rw("mpsc", FUNC(upd7201_device::db_r), FUNC(upd7201_device::db_w)); + map(0x49, 0x49).rw("mpsc", FUNC(upd7201_device::cb_r), FUNC(upd7201_device::cb_w)); map(0x50, 0x50).w("brg2", FUNC(com8116_device::stt_str_w)); map(0x60, 0x67).rw("pvtc", FUNC(scn2672_device::read), FUNC(scn2672_device::write)); map(0x70, 0x70).rw("pvtc", FUNC(scn2672_device::buffer_r), FUNC(scn2672_device::buffer_w)); @@ -117,20 +117,20 @@ void v550_state::v550(machine_config &config) m_usart->txd_handler().set("keyboard", FUNC(v550_keyboard_device::write_rxd)); m_usart->rxrdy_handler().set("mainint", FUNC(input_merger_device::in_w<1>)); - upd7201_new_device& mpsc(UPD7201_NEW(config, "mpsc", 34.846_MHz_XTAL / 16)); // NEC D7201C + upd7201_device& mpsc(UPD7201(config, "mpsc", 34.846_MHz_XTAL / 16)); // NEC D7201C mpsc.out_int_callback().set("mainint", FUNC(input_merger_device::in_w<0>)); INPUT_MERGER_ANY_HIGH(config, "mainint").output_handler().set_inputline(m_maincpu, INPUT_LINE_IRQ0); com8116_device &brg1(COM8116_020(config, "brg1", 1.8432_MHz_XTAL)); // SMC COM8116T-020 - brg1.ft_handler().set("mpsc", FUNC(upd7201_new_device::txcb_w)); - brg1.ft_handler().append("mpsc", FUNC(upd7201_new_device::rxcb_w)); + brg1.ft_handler().set("mpsc", FUNC(upd7201_device::txcb_w)); + brg1.ft_handler().append("mpsc", FUNC(upd7201_device::rxcb_w)); brg1.fr_handler().set("usart", FUNC(i8251_device::write_txc)); brg1.fr_handler().append("usart", FUNC(i8251_device::write_rxc)); com8116_device &brg2(COM8116_020(config, "brg2", 1.8432_MHz_XTAL)); // SMC COM8116T-020 - brg2.ft_handler().set("mpsc", FUNC(upd7201_new_device::txca_w)); - brg2.fr_handler().set("mpsc", FUNC(upd7201_new_device::rxca_w)); + brg2.ft_handler().set("mpsc", FUNC(upd7201_device::txca_w)); + brg2.fr_handler().set("mpsc", FUNC(upd7201_device::rxca_w)); v550_keyboard_device &keyboard(V550_KEYBOARD(config, "keyboard")); keyboard.txd_callback().set(m_usart, FUNC(i8251_device::write_rxd)); diff --git a/src/mame/drivers/victor9k.cpp b/src/mame/drivers/victor9k.cpp index 07089516f7f..f5fac9fa3e3 100644 --- a/src/mame/drivers/victor9k.cpp +++ b/src/mame/drivers/victor9k.cpp @@ -36,7 +36,7 @@ #include "machine/ram.h" #include "machine/victor9k_kb.h" #include "machine/victor9k_fdc.h" -#include "machine/z80dart.h" +#include "machine/z80sio.h" #include "sound/hc55516.h" #include "video/mc6845.h" #include "emupal.h" @@ -131,8 +131,6 @@ private: DECLARE_WRITE8_MEMBER( via2_pa_w ); DECLARE_WRITE8_MEMBER( via2_pb_w ); - DECLARE_WRITE_LINE_MEMBER( write_ria ); - DECLARE_WRITE_LINE_MEMBER( write_rib ); DECLARE_WRITE_LINE_MEMBER( via2_irq_w ); DECLARE_WRITE8_MEMBER( via3_pb_w ); @@ -518,20 +516,6 @@ WRITE_LINE_MEMBER( victor9k_state::via2_irq_w ) } -WRITE_LINE_MEMBER( victor9k_state::write_ria ) -{ - m_upd7201->ria_w(state); - m_via2->write_pa2(state); -} - - -WRITE_LINE_MEMBER( victor9k_state::write_rib ) -{ - m_upd7201->rib_w(state); - m_via2->write_pa4(state); -} - - /* bit description @@ -769,18 +753,18 @@ void victor9k_state::victor9k(machine_config &config) m_centronics->select_handler().set(M6522_1_TAG, FUNC(via6522_device::write_pb7)); RS232_PORT(config, m_rs232a, default_rs232_devices, nullptr); - m_rs232a->rxd_handler().set(UPD7201_TAG, FUNC(z80dart_device::rxa_w)); - m_rs232a->dcd_handler().set(UPD7201_TAG, FUNC(z80dart_device::dcda_w)); - m_rs232a->ri_handler().set(FUNC(victor9k_state::write_ria)); - m_rs232a->cts_handler().set(UPD7201_TAG, FUNC(z80dart_device::ctsa_w)); - m_rs232a->dsr_handler().set(M6522_2_TAG, FUNC(via6522_device::write_pa3)); + m_rs232a->rxd_handler().set(m_upd7201, FUNC(upd7201_device::rxa_w)); + m_rs232a->dcd_handler().set(m_upd7201, FUNC(upd7201_device::dcda_w)); + m_rs232a->ri_handler().set(m_via2, FUNC(via6522_device::write_pa2)); + m_rs232a->cts_handler().set(m_upd7201, FUNC(upd7201_device::ctsa_w)); + m_rs232a->dsr_handler().set(m_via2, FUNC(via6522_device::write_pa3)); RS232_PORT(config, m_rs232b, default_rs232_devices, nullptr); - m_rs232b->rxd_handler().set(UPD7201_TAG, FUNC(z80dart_device::rxb_w)); - m_rs232b->dcd_handler().set(UPD7201_TAG, FUNC(z80dart_device::dcdb_w)); - m_rs232b->ri_handler().set(FUNC(victor9k_state::write_ria)); - m_rs232b->cts_handler().set(UPD7201_TAG, FUNC(z80dart_device::ctsb_w)); - m_rs232b->dsr_handler().set(M6522_2_TAG, FUNC(via6522_device::write_pa5)); + m_rs232b->rxd_handler().set(m_upd7201, FUNC(upd7201_device::rxb_w)); + m_rs232b->dcd_handler().set(m_upd7201, FUNC(upd7201_device::dcdb_w)); + m_rs232b->ri_handler().set(m_via2, FUNC(via6522_device::write_pa4)); + m_rs232b->cts_handler().set(m_upd7201, FUNC(upd7201_device::ctsb_w)); + m_rs232b->dsr_handler().set(m_via2, FUNC(via6522_device::write_pa5)); VICTOR9K_KEYBOARD(config, m_kb, 0); m_kb->kbrdy_handler().set(FUNC(victor9k_state::kbrdy_w)); diff --git a/src/mame/includes/mikromik.h b/src/mame/includes/mikromik.h index 46c7dfa33c6..fbd5f080109 100644 --- a/src/mame/includes/mikromik.h +++ b/src/mame/includes/mikromik.h @@ -15,7 +15,7 @@ #include "machine/mm1kb.h" #include "machine/pit8253.h" #include "machine/ram.h" -#include "machine/z80dart.h" +#include "machine/z80sio.h" #include "machine/upd765.h" #include "video/i8275.h" #include "video/upd7220.h" |