summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-02-23 11:35:29 -0500
committer AJR <ajrhacker@users.noreply.github.com>2020-02-23 11:38:36 -0500
commit6b02c2bb13254bd0754d9284fb3a4e9ea6802f46 (patch)
tree9a68dd526a78e1116493f876b53cbbcaab12b0ad /src/mame
parentab21d3bf5a50609e550e900c1912813227e4fc5d (diff)
Eliminate legacy Z80 SIO emulation
trs80m2: Modernize CTC clocking (nw)
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/huebler.cpp6
-rw-r--r--src/mame/drivers/mcr.cpp4
-rw-r--r--src/mame/drivers/pve500.cpp9
-rw-r--r--src/mame/drivers/pwrview.cpp6
-rw-r--r--src/mame/drivers/rmnimbus.cpp18
-rw-r--r--src/mame/drivers/tdv2324.cpp12
-rw-r--r--src/mame/drivers/trs80m2.cpp40
-rw-r--r--src/mame/drivers/x1.cpp4
-rw-r--r--src/mame/drivers/xerox820.cpp26
-rw-r--r--src/mame/includes/huebler.h4
-rw-r--r--src/mame/includes/mcr.h4
-rw-r--r--src/mame/includes/rmnimbus.h4
-rw-r--r--src/mame/includes/tdv2324.h4
-rw-r--r--src/mame/includes/trs80m2.h4
-rw-r--r--src/mame/includes/x1.h2
-rw-r--r--src/mame/includes/xerox820.h4
16 files changed, 70 insertions, 81 deletions
diff --git a/src/mame/drivers/huebler.cpp b/src/mame/drivers/huebler.cpp
index f15cf98e907..fecc51f7567 100644
--- a/src/mame/drivers/huebler.cpp
+++ b/src/mame/drivers/huebler.cpp
@@ -119,7 +119,7 @@ void amu880_state::amu880_io(address_map &map)
map(0x0c, 0x0f).rw(Z80PIO2_TAG, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt));
map(0x10, 0x13).rw(Z80PIO1_TAG, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt));
map(0x14, 0x17).rw(Z80CTC_TAG, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
- map(0x18, 0x1b).rw(m_sio, FUNC(z80sio0_device::ba_cd_r), FUNC(z80sio0_device::ba_cd_w));
+ map(0x18, 0x1b).rw(m_sio, FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w));
}
/* Input Ports */
@@ -369,7 +369,7 @@ void amu880_state::amu880(machine_config &config)
z80ctc_device& ctc(Z80CTC(config, Z80CTC_TAG, XTAL(10'000'000)/4));
ctc.intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
ctc.zc_callback<0>().set(FUNC(amu880_state::ctc_z0_w));
- ctc.zc_callback<1>().set(m_sio, FUNC(z80dart_device::rxtxcb_w));
+ ctc.zc_callback<1>().set(m_sio, FUNC(z80sio_device::rxtxcb_w));
ctc.zc_callback<2>().set(FUNC(amu880_state::ctc_z2_w));
z80pio_device& pio1(Z80PIO(config, Z80PIO1_TAG, XTAL(10'000'000)/4));
@@ -378,7 +378,7 @@ void amu880_state::amu880(machine_config &config)
z80pio_device& pio2(Z80PIO(config, Z80PIO2_TAG, XTAL(10'000'000)/4));
pio2.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
- Z80SIO0(config, m_sio, XTAL(10'000'000)/4); // U856
+ Z80SIO(config, m_sio, XTAL(10'000'000)/4); // U856
m_sio->out_txda_callback().set(FUNC(amu880_state::cassette_w));
m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
diff --git a/src/mame/drivers/mcr.cpp b/src/mame/drivers/mcr.cpp
index ee2acf5d34c..75e23c47632 100644
--- a/src/mame/drivers/mcr.cpp
+++ b/src/mame/drivers/mcr.cpp
@@ -796,7 +796,7 @@ void mcr_nflfoot_state::ipu_91695_portmap(address_map &map)
map.unmap_value_high();
map.global_mask(0xff);
map(0x00, 0x03).mirror(0xe0).rw(m_ipu_pio0, FUNC(z80pio_device::read), FUNC(z80pio_device::write));
- map(0x04, 0x07).mirror(0xe0).rw(m_ipu_sio, FUNC(z80dart_device::cd_ba_r), FUNC(z80dart_device::cd_ba_w));
+ map(0x04, 0x07).mirror(0xe0).rw(m_ipu_sio, FUNC(z80sio_device::cd_ba_r), FUNC(z80sio_device::cd_ba_w));
map(0x08, 0x0b).mirror(0xe0).rw(m_ipu_ctc, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
map(0x0c, 0x0f).mirror(0xe0).rw(m_ipu_pio1, FUNC(z80pio_device::read), FUNC(z80pio_device::write));
map(0x10, 0x13).mirror(0xe0).w(FUNC(mcr_nflfoot_state::ipu_laserdisk_w));
@@ -1891,7 +1891,7 @@ void mcr_nflfoot_state::mcr_91490_ipu(machine_config &config)
Z80PIO(config, m_ipu_pio1, 7372800/2);
m_ipu_pio1->out_int_callback().set_inputline(m_ipu, INPUT_LINE_IRQ0);
- Z80SIO0(config, m_ipu_sio, 7372800/2);
+ Z80SIO(config, m_ipu_sio, 7372800/2); // Z8440BB1
m_ipu_sio->out_int_callback().set_inputline(m_ipu, INPUT_LINE_IRQ0);
m_ipu_sio->out_txda_callback().set(FUNC(mcr_nflfoot_state::sio_txda_w));
m_ipu_sio->out_txdb_callback().set(FUNC(mcr_nflfoot_state::sio_txdb_w));
diff --git a/src/mame/drivers/pve500.cpp b/src/mame/drivers/pve500.cpp
index c8844ff77bd..30e3be2c217 100644
--- a/src/mame/drivers/pve500.cpp
+++ b/src/mame/drivers/pve500.cpp
@@ -52,6 +52,7 @@
#include "machine/cxd1095.h"
#include "machine/eepromser.h"
#include "machine/mb8421.h"
+#include "machine/z80sio.h"
#include "sound/beep.h"
#include "speaker.h"
@@ -138,7 +139,7 @@ static const z80_daisy_config maincpu_daisy_chain[] =
void pve500_state::maincpu_io(address_map &map)
{
- map(0x00, 0x03).mirror(0xff00).rw("external_sio", FUNC(z80sio0_device::cd_ba_r), FUNC(z80sio0_device::cd_ba_w));
+ map(0x00, 0x03).mirror(0xff00).rw("external_sio", FUNC(z80sio_device::cd_ba_r), FUNC(z80sio_device::cd_ba_w));
map(0x08, 0x0B).mirror(0xff00).rw("external_ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
}
@@ -375,7 +376,7 @@ void pve500_state::pve500(machine_config &config)
z80ctc_device& ctc(Z80CTC(config, "external_ctc", 12_MHz_XTAL / 2));
ctc.intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
- z80sio0_device& sio(Z80SIO0(config, "external_sio", 12_MHz_XTAL / 2));
+ z80sio_device& sio(Z80SIO(config, "external_sio", 12_MHz_XTAL / 2)); // TMPZ84C40AP-8
sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
sio.out_txda_callback().set("player2", FUNC(rs232_port_device::write_txd));
sio.out_txdb_callback().set("edl_inout", FUNC(rs232_port_device::write_txd));
@@ -417,10 +418,10 @@ void pve500_state::pve500(machine_config &config)
player1.rxd_handler().set(m_maincpu, FUNC(tmpz84c015_device::rxb_w));
rs232_port_device &player2(RS232_PORT(config, "player2", default_rs232_devices, nullptr));
- player2.rxd_handler().set("external_sio", FUNC(z80dart_device::rxa_w));
+ player2.rxd_handler().set("external_sio", FUNC(z80sio_device::rxa_w));
rs232_port_device &edl_inout(RS232_PORT(config, "edl_inout", default_rs232_devices, nullptr));
- edl_inout.rxd_handler().set("external_sio", FUNC(z80dart_device::rxb_w));
+ edl_inout.rxd_handler().set("external_sio", FUNC(z80sio_device::rxb_w));
rs232_port_device &switcher(RS232_PORT(config, "switcher", default_rs232_devices, nullptr));
switcher.rxd_handler().set(m_subcpu, FUNC(tmpz84c015_device::rxa_w));
diff --git a/src/mame/drivers/pwrview.cpp b/src/mame/drivers/pwrview.cpp
index 36ca813386e..8a02e68a93a 100644
--- a/src/mame/drivers/pwrview.cpp
+++ b/src/mame/drivers/pwrview.cpp
@@ -11,7 +11,7 @@
#include "imagedev/floppy.h"
#include "machine/upd765.h"
#include "machine/i8251.h"
-#include "machine/z80dart.h"
+#include "machine/z80sio.h"
#include "machine/pit8253.h"
#include "machine/bankdev.h"
#include "screen.h"
@@ -392,7 +392,7 @@ void pwrview_state::pwrview_io(address_map &map)
map(0xc08a, 0xc08a).rw("crtc", FUNC(hd6845s_device::register_r), FUNC(hd6845s_device::register_w));
map(0xc280, 0xc287).rw(FUNC(pwrview_state::unk3_r), FUNC(pwrview_state::unk3_w)).umask16(0x00ff);
map(0xc288, 0xc28f).rw(m_pit, FUNC(pit8253_device::read), FUNC(pit8253_device::write)).umask16(0x00ff);
- map(0xc2a0, 0xc2a7).rw("sio", FUNC(z80sio2_device::cd_ba_r), FUNC(z80sio2_device::cd_ba_w)).umask16(0x00ff);
+ map(0xc2a0, 0xc2a7).rw("sio", FUNC(z80sio_device::cd_ba_r), FUNC(z80sio_device::cd_ba_w)).umask16(0x00ff);
map(0xc2c0, 0xc2c3).rw("uart", FUNC(i8251_device::read), FUNC(i8251_device::write)).umask16(0x00ff);
map(0xc2e0, 0xc2e3).m("fdc", FUNC(upd765a_device::map)).umask16(0x00ff);
map(0xc2e4, 0xc2e5).ram();
@@ -429,7 +429,7 @@ void pwrview_state::pwrview(machine_config &config)
I8251(config, "uart", 0);
- Z80SIO2(config, "sio", 4000000);
+ Z80SIO(config, "sio", 4000000); // Z8442BPS (SIO/2)
hd6845s_device &crtc(HD6845S(config, "crtc", XTAL(64'000'000)/64)); // clock unknown
crtc.set_char_width(32); /* ? */
diff --git a/src/mame/drivers/rmnimbus.cpp b/src/mame/drivers/rmnimbus.cpp
index a9ce8c7e1cc..fcf5857e60b 100644
--- a/src/mame/drivers/rmnimbus.cpp
+++ b/src/mame/drivers/rmnimbus.cpp
@@ -59,7 +59,7 @@ void rmnimbus_state::nimbus_io(address_map &map)
map(0x00a4, 0x00a4).rw(FUNC(rmnimbus_state::nimbus_mouse_js_r), FUNC(rmnimbus_state::nimbus_mouse_js_w));
map(0x00c0, 0x00cf).rw(FUNC(rmnimbus_state::nimbus_pc8031_r), FUNC(rmnimbus_state::nimbus_pc8031_w)).umask16(0x00ff);
map(0x00e0, 0x00ef).rw(AY8910_TAG, FUNC(ay8910_device::data_r), FUNC(ay8910_device::address_data_w)).umask16(0x00ff);
- map(0x00f0, 0x00f7).rw(m_z80sio, FUNC(z80sio2_device::cd_ba_r), FUNC(z80sio2_device::cd_ba_w)).umask16(0x00ff);
+ map(0x00f0, 0x00f7).rw(m_z80sio, FUNC(z80sio_device::cd_ba_r), FUNC(z80sio_device::cd_ba_w)).umask16(0x00ff);
map(0x0400, 0x0400).w(FUNC(rmnimbus_state::fdc_ctl_w));
map(0x0408, 0x040f).rw(m_fdc, FUNC(wd2793_device::read), FUNC(wd2793_device::write)).umask16(0x00ff);
map(0x0410, 0x041f).rw(FUNC(rmnimbus_state::scsi_r), FUNC(rmnimbus_state::scsi_w)).umask16(0x00ff);
@@ -112,8 +112,8 @@ void rmnimbus_state::nimbus(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &rmnimbus_state::nimbus_mem);
m_maincpu->set_addrmap(AS_IO, &rmnimbus_state::nimbus_io);
m_maincpu->read_slave_ack_callback().set(FUNC(rmnimbus_state::cascade_callback));
- m_maincpu->tmrout0_handler().set(Z80SIO_TAG, FUNC(z80dart_device::rxca_w));
- m_maincpu->tmrout1_handler().set(Z80SIO_TAG, FUNC(z80dart_device::rxtxcb_w));
+ m_maincpu->tmrout0_handler().set(m_z80sio, FUNC(z80sio_device::rxca_w));
+ m_maincpu->tmrout1_handler().set(m_z80sio, FUNC(z80sio_device::rxtxcb_w));
I8031(config, m_iocpu, 11059200);
m_iocpu->set_addrmap(AS_PROGRAM, &rmnimbus_state::nimbus_iocpu_mem);
@@ -168,20 +168,20 @@ void rmnimbus_state::nimbus(machine_config &config)
m_ram->set_extra_options("128K,256K,384K,512K,640K,1024K");
/* Peripheral chips */
- Z80SIO2(config, m_z80sio, 4000000);
+ Z80SIO(config, m_z80sio, 4000000); // Z0844006PSC (SIO/0)
m_z80sio->out_txdb_callback().set("rs232b", FUNC(rs232_port_device::write_txd));
m_z80sio->out_dtrb_callback().set("rs232b", FUNC(rs232_port_device::write_dtr));
m_z80sio->out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts));
m_z80sio->out_int_callback().set(FUNC(rmnimbus_state::sio_interrupt));
rs232_port_device &rs232a(RS232_PORT(config, "rs232a", keyboard, "rmnkbd"));
- rs232a.rxd_handler().set(Z80SIO_TAG, FUNC(z80dart_device::rxa_w));
+ rs232a.rxd_handler().set(m_z80sio, FUNC(z80sio_device::rxa_w));
rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr));
- rs232b.rxd_handler().set(Z80SIO_TAG, FUNC(z80dart_device::rxb_w));
- rs232b.dcd_handler().set(Z80SIO_TAG, FUNC(z80dart_device::dcdb_w));
- rs232b.ri_handler().set(Z80SIO_TAG, FUNC(z80dart_device::rib_w));
- rs232b.cts_handler().set(Z80SIO_TAG, FUNC(z80dart_device::ctsb_w));
+ rs232b.rxd_handler().set(m_z80sio, FUNC(z80sio_device::rxb_w));
+ rs232b.dcd_handler().set(m_z80sio, FUNC(z80sio_device::dcdb_w));
+ rs232b.ri_handler().set(m_z80sio, FUNC(z80sio_device::syncb_w));
+ rs232b.cts_handler().set(m_z80sio, FUNC(z80sio_device::ctsb_w));
EEPROM_93C06_16BIT(config, m_eeprom);
diff --git a/src/mame/drivers/tdv2324.cpp b/src/mame/drivers/tdv2324.cpp
index f1f47245bab..a5add5199fa 100644
--- a/src/mame/drivers/tdv2324.cpp
+++ b/src/mame/drivers/tdv2324.cpp
@@ -28,7 +28,7 @@
*40-pin: P8085AH-2, F4265030, C INTEL '80 (cpus, there are 2 of these)
*28-pin: JAPAN 8442, 00009SS0, HN4827128G-25 (eprom, sticker: "962107")
*22-pin: ER3400, GI 8401HHA (EAROM)
- * -pin: MOSTEK C 8424, MK3887N-4 (Z80 Serial I/O Controller)
+ * -pin: MOSTEK C 8424, MK3887N-4 (Z80-SIO/2 Serial I/O Controller)
*20-pin: (pal, sticker: "961420 0")
*24-pin: D2716, L3263271, INTEL '77 (eprom, sticker: "962058 1")
*3 tiny 16-pins which look socketed (proms)
@@ -158,7 +158,7 @@ void tdv2324_state::tdv2324_io(address_map &map)
// map(0xe2, 0xe2).w(FUNC(tdv2324_state::tdv2324_main_io_e2)); console output
map(0xe6, 0xe6).r(FUNC(tdv2324_state::tdv2324_main_io_e6));
// map(0x, 0x).rw(P8253_5_0_TAG, FUNC(pit8253_device::read), FUNC(pit8253_device::write));
-// map(0x, 0x).rw(MK3887N4_TAG, FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w));
+// map(0x, 0x).rw(MK3887N4_TAG, FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w));
// map(0x, 0x).rw(P8259A_TAG, FUNC(pic8259_device::read), FUNC(pic8259_device::write));
}
@@ -291,13 +291,13 @@ void tdv2324_state::tdv2324(machine_config &config)
TMS9927(config, m_tms, 25.39836_MHz_XTAL / 8).set_char_width(8);
// devices
- PIC8259(config, m_pic, 0);
+ PIC8259(config, m_pic);
- PIT8253(config, m_pit0, 0);
+ PIT8253(config, m_pit0);
- PIT8253(config, m_pit1, 0);
+ PIT8253(config, m_pit1);
- Z80SIO2(config, MK3887N4_TAG, 8000000/2);
+ Z80SIO(config, MK3887N4_TAG, 8000000/2);
FD1797(config, FD1797PL02_TAG, 8000000/4);
FLOPPY_CONNECTOR(config, FD1797PL02_TAG":0", tdv2324_floppies, "8dsdd", floppy_image_device::default_floppy_formats);
diff --git a/src/mame/drivers/trs80m2.cpp b/src/mame/drivers/trs80m2.cpp
index 85e9e14fb61..9c9f8d74c44 100644
--- a/src/mame/drivers/trs80m2.cpp
+++ b/src/mame/drivers/trs80m2.cpp
@@ -336,7 +336,7 @@ void trs80m2_state::z80_io(address_map &map)
map(0xe4, 0xe7).rw(FUNC(trs80m2_state::fdc_r), FUNC(trs80m2_state::fdc_w));
map(0xef, 0xef).w(FUNC(trs80m2_state::drvslt_w));
map(0xf0, 0xf3).rw(m_ctc, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
- map(0xf4, 0xf7).rw(Z80SIO_TAG, FUNC(z80sio0_device::cd_ba_r), FUNC(z80sio0_device::cd_ba_w));
+ map(0xf4, 0xf7).rw(Z80SIO_TAG, FUNC(z80sio_device::cd_ba_r), FUNC(z80sio_device::cd_ba_w));
map(0xf8, 0xf8).rw(m_dmac, FUNC(z80dma_device::bus_r), FUNC(z80dma_device::bus_w));
map(0xf9, 0xf9).w(FUNC(trs80m2_state::rom_enable_w));
map(0xfc, 0xfc).r(FUNC(trs80m2_state::keyboard_r)).w(m_crtc, FUNC(mc6845_device::address_w));
@@ -609,18 +609,6 @@ WRITE_LINE_MEMBER( trs80m2_state::strobe_w )
// Z80CTC
//-------------------------------------------------
-TIMER_DEVICE_CALLBACK_MEMBER(trs80m2_state::ctc_tick)
-{
- m_ctc->trg0(1);
- m_ctc->trg0(0);
-
- m_ctc->trg1(1);
- m_ctc->trg1(0);
-
- m_ctc->trg2(1);
- m_ctc->trg2(0);
-}
-
static void trs80m2_floppies(device_slot_interface &device)
{
device.option_add("8ssdd", FLOPPY_8_SSDD); // Shugart SA-800
@@ -744,11 +732,12 @@ void trs80m2_state::trs80m2(machine_config &config)
Z80CTC(config, m_ctc, 8_MHz_XTAL / 2);
m_ctc->intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
- m_ctc->zc_callback<0>().set(Z80SIO_TAG, FUNC(z80dart_device::rxca_w));
- m_ctc->zc_callback<1>().set(Z80SIO_TAG, FUNC(z80dart_device::txca_w));
- m_ctc->zc_callback<2>().set(Z80SIO_TAG, FUNC(z80dart_device::rxtxcb_w));
-
- TIMER(config, "ctc").configure_periodic(FUNC(trs80m2_state::ctc_tick), attotime::from_hz(8_MHz_XTAL / 2 / 2));
+ m_ctc->set_clk<0>(8_MHz_XTAL / 2 / 2);
+ m_ctc->set_clk<1>(8_MHz_XTAL / 2 / 2);
+ m_ctc->set_clk<2>(8_MHz_XTAL / 2 / 2);
+ m_ctc->zc_callback<0>().set(Z80SIO_TAG, FUNC(z80sio_device::rxca_w));
+ m_ctc->zc_callback<1>().set(Z80SIO_TAG, FUNC(z80sio_device::txca_w));
+ m_ctc->zc_callback<2>().set(Z80SIO_TAG, FUNC(z80sio_device::rxtxcb_w));
Z80DMA(config, m_dmac, 8_MHz_XTAL / 2);
m_dmac->out_busreq_callback().set_inputline(m_maincpu, INPUT_LINE_HALT);
@@ -765,7 +754,7 @@ void trs80m2_state::trs80m2(machine_config &config)
m_pio->out_pb_callback().set("cent_data_out", FUNC(output_latch_device::bus_w));
m_pio->out_brdy_callback().set(FUNC(trs80m2_state::strobe_w));
- z80sio0_device& sio(Z80SIO0(config, Z80SIO_TAG, 8_MHz_XTAL / 2));
+ z80sio_device& sio(Z80SIO(config, Z80SIO_TAG, 8_MHz_XTAL / 2)); // SIO/0
sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
CENTRONICS(config, m_centronics, centronics_devices, "printer");
@@ -836,11 +825,12 @@ void trs80m16_state::trs80m16(machine_config &config)
Z80CTC(config, m_ctc, 8_MHz_XTAL / 2);
m_ctc->intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
- m_ctc->zc_callback<0>().set(Z80SIO_TAG, FUNC(z80dart_device::rxca_w));
- m_ctc->zc_callback<1>().set(Z80SIO_TAG, FUNC(z80dart_device::txca_w));
- m_ctc->zc_callback<2>().set(Z80SIO_TAG, FUNC(z80dart_device::rxtxcb_w));
-
- TIMER(config, "ctc").configure_periodic(FUNC(trs80m2_state::ctc_tick), attotime::from_hz(8_MHz_XTAL / 2 / 2));
+ m_ctc->set_clk<0>(8_MHz_XTAL / 2 / 2);
+ m_ctc->set_clk<1>(8_MHz_XTAL / 2 / 2);
+ m_ctc->set_clk<2>(8_MHz_XTAL / 2 / 2);
+ m_ctc->zc_callback<0>().set(Z80SIO_TAG, FUNC(z80sio_device::rxca_w));
+ m_ctc->zc_callback<1>().set(Z80SIO_TAG, FUNC(z80sio_device::txca_w));
+ m_ctc->zc_callback<2>().set(Z80SIO_TAG, FUNC(z80sio_device::rxtxcb_w));
Z80DMA(config, m_dmac, 8_MHz_XTAL / 2);
m_dmac->out_busreq_callback().set_inputline(m_maincpu, INPUT_LINE_HALT);
@@ -857,7 +847,7 @@ void trs80m16_state::trs80m16(machine_config &config)
m_pio->out_pb_callback().set("cent_data_out", FUNC(output_latch_device::bus_w));
m_pio->out_brdy_callback().set(FUNC(trs80m2_state::strobe_w));
- z80sio0_device& sio(Z80SIO0(config, Z80SIO_TAG, 8_MHz_XTAL / 2));
+ z80sio_device& sio(Z80SIO(config, Z80SIO_TAG, 8_MHz_XTAL / 2));
sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
AM9519(config, m_uic, 0);
diff --git a/src/mame/drivers/x1.cpp b/src/mame/drivers/x1.cpp
index b0ab8b7bee3..b55affe33ed 100644
--- a/src/mame/drivers/x1.cpp
+++ b/src/mame/drivers/x1.cpp
@@ -1404,7 +1404,7 @@ void x1_state::x1turbo_io_banks(address_map &map)
map(0x1000, 0x12ff).w(FUNC(x1_state::x1turboz_4096_palette_w));
map(0x1f80, 0x1f80).mirror(0x000f).rw(m_dma, FUNC(z80dma_device::bus_r), FUNC(z80dma_device::bus_w));
- map(0x1f90, 0x1f93).rw("sio", FUNC(z80sio0_device::ba_cd_r), FUNC(z80sio0_device::ba_cd_w));
+ map(0x1f90, 0x1f93).rw("sio", FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w));
map(0x1f98, 0x1f9f).rw(FUNC(x1_state::ext_sio_ctc_r), FUNC(x1_state::ext_sio_ctc_w));
map(0x1fb0, 0x1fb0).rw(FUNC(x1_state::x1turbo_pal_r), FUNC(x1_state::x1turbo_pal_w)); // Z only!
map(0x1fb8, 0x1fbf).rw(FUNC(x1_state::x1turbo_txpal_r), FUNC(x1_state::x1turbo_txpal_w)); // Z only!
@@ -2299,7 +2299,7 @@ void x1_state::x1turbo(machine_config &config)
m_iobank->set_map(&x1_state::x1turbo_io_banks);
- z80sio0_device& sio(Z80SIO0(config, "sio", MAIN_CLOCK/4));
+ z80sio_device& sio(Z80SIO(config, "sio", MAIN_CLOCK/4));
sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
Z80DMA(config, m_dma, MAIN_CLOCK/4);
diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp
index f208d96f4c1..ef9b7abe611 100644
--- a/src/mame/drivers/xerox820.cpp
+++ b/src/mame/drivers/xerox820.cpp
@@ -181,7 +181,7 @@ void xerox820_state::xerox820_mem(address_map &map)
void xerox820_state::xerox820_io(address_map &map)
{
map(0x00, 0x00).mirror(0xff03).w(COM8116_TAG, FUNC(com8116_device::str_w));
- map(0x04, 0x07).mirror(0xff00).rw(m_sio, FUNC(z80sio0_device::ba_cd_r), FUNC(z80sio0_device::ba_cd_w));
+ map(0x04, 0x07).mirror(0xff00).rw(m_sio, FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w));
map(0x08, 0x0b).mirror(0xff00).rw(Z80PIO_GP_TAG, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt));
map(0x0c, 0x0c).mirror(0xff03).w(COM8116_TAG, FUNC(com8116_device::stt_w));
map(0x10, 0x13).mirror(0xff00).rw(FUNC(xerox820_state::fdc_r), FUNC(xerox820_state::fdc_w));
@@ -639,7 +639,7 @@ void xerox820_state::xerox820(machine_config &config)
FLOPPY_CONNECTOR(config, FD1771_TAG":0", xerox820_floppies, "sa400l", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, FD1771_TAG":1", xerox820_floppies, "sa400l", floppy_image_device::default_floppy_formats);
- Z80SIO0(config, m_sio, 20_MHz_XTAL / 8);
+ Z80SIO(config, m_sio, 20_MHz_XTAL / 8); // MK3884 (SIO/0)
m_sio->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd));
m_sio->out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr));
m_sio->out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts));
@@ -649,15 +649,15 @@ void xerox820_state::xerox820(machine_config &config)
m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, nullptr));
- rs232a.rxd_handler().set(m_sio, FUNC(z80sio0_device::rxa_w));
+ rs232a.rxd_handler().set(m_sio, FUNC(z80sio_device::rxa_w));
rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr));
- rs232b.rxd_handler().set(m_sio, FUNC(z80sio0_device::rxb_w));
+ rs232b.rxd_handler().set(m_sio, FUNC(z80sio_device::rxb_w));
com8116_device &dbrg(COM8116(config, COM8116_TAG, 5.0688_MHz_XTAL));
- dbrg.fr_handler().set(m_sio, FUNC(z80dart_device::rxca_w));
- dbrg.fr_handler().append(m_sio, FUNC(z80dart_device::txca_w));
- dbrg.ft_handler().set(m_sio, FUNC(z80dart_device::rxtxcb_w));
+ dbrg.fr_handler().set(m_sio, FUNC(z80sio_device::rxca_w));
+ dbrg.fr_handler().append(m_sio, FUNC(z80sio_device::txca_w));
+ dbrg.ft_handler().set(m_sio, FUNC(z80sio_device::rxtxcb_w));
XEROX_820_KEYBOARD(config, m_kb, 0);
m_kb->kbstb_wr_callback().set(m_kbpio, FUNC(z80pio_device::strobe_b));
@@ -728,7 +728,7 @@ void xerox820ii_state::xerox820ii(machine_config &config)
FLOPPY_CONNECTOR(config, FD1797_TAG":0", xerox820_floppies, "sa450", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, FD1797_TAG":1", xerox820_floppies, "sa450", floppy_image_device::default_floppy_formats);
- Z80SIO0(config, m_sio, 16_MHz_XTAL / 4);
+ Z80SIO(config, m_sio, 16_MHz_XTAL / 4); // MK3884 (SIO/0)
m_sio->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd));
m_sio->out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr));
m_sio->out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts));
@@ -738,15 +738,15 @@ void xerox820ii_state::xerox820ii(machine_config &config)
m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, nullptr));
- rs232a.rxd_handler().set(m_sio, FUNC(z80sio0_device::rxa_w));
+ rs232a.rxd_handler().set(m_sio, FUNC(z80sio_device::rxa_w));
rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr));
- rs232b.rxd_handler().set(m_sio, FUNC(z80sio0_device::rxb_w));
+ rs232b.rxd_handler().set(m_sio, FUNC(z80sio_device::rxb_w));
com8116_device &dbrg(COM8116(config, COM8116_TAG, 5.0688_MHz_XTAL));
- dbrg.fr_handler().set(m_sio, FUNC(z80dart_device::rxca_w));
- dbrg.fr_handler().append(m_sio, FUNC(z80dart_device::txca_w));
- dbrg.ft_handler().set(m_sio, FUNC(z80dart_device::rxtxcb_w));
+ dbrg.fr_handler().set(m_sio, FUNC(z80sio_device::rxca_w));
+ dbrg.fr_handler().append(m_sio, FUNC(z80sio_device::txca_w));
+ dbrg.ft_handler().set(m_sio, FUNC(z80sio_device::rxtxcb_w));
XEROX_820_KEYBOARD(config, m_kb, 0);
m_kb->kbstb_wr_callback().set(m_kbpio, FUNC(z80pio_device::strobe_b));
diff --git a/src/mame/includes/huebler.h b/src/mame/includes/huebler.h
index 5df0dcb8ce6..6d679fae324 100644
--- a/src/mame/includes/huebler.h
+++ b/src/mame/includes/huebler.h
@@ -17,7 +17,7 @@
#include "machine/ram.h"
#include "machine/timer.h"
#include "machine/z80pio.h"
-#include "machine/z80dart.h"
+#include "machine/z80sio.h"
#include "machine/z80ctc.h"
#include "emupal.h"
@@ -49,7 +49,7 @@ protected:
private:
required_device<z80_device> m_maincpu;
required_device<cassette_image_device> m_cassette;
- required_device<z80dart_device> m_sio;
+ required_device<z80sio_device> m_sio;
required_device<palette_device> m_palette;
required_memory_region m_kb_rom;
required_memory_region m_char_rom;
diff --git a/src/mame/includes/mcr.h b/src/mame/includes/mcr.h
index 8276bd32bcf..15e3a1cc098 100644
--- a/src/mame/includes/mcr.h
+++ b/src/mame/includes/mcr.h
@@ -15,7 +15,7 @@
#include "machine/timer.h"
#include "machine/z80ctc.h"
#include "machine/z80pio.h"
-#include "machine/z80dart.h"
+#include "machine/z80sio.h"
#include "machine/watchdog.h"
#include "audio/bally.h"
#include "audio/midway.h"
@@ -214,7 +214,7 @@ private:
emu_timer *m_ipu_watchdog_timer;
required_device<z80_device> m_ipu;
- required_device<z80dart_device> m_ipu_sio;
+ required_device<z80sio_device> m_ipu_sio;
required_device<z80ctc_device> m_ipu_ctc;
required_device<z80pio_device> m_ipu_pio0;
required_device<z80pio_device> m_ipu_pio1;
diff --git a/src/mame/includes/rmnimbus.h b/src/mame/includes/rmnimbus.h
index d2f83a6edb6..ad9feff9319 100644
--- a/src/mame/includes/rmnimbus.h
+++ b/src/mame/includes/rmnimbus.h
@@ -14,7 +14,7 @@
#include "cpu/i86/i186.h"
#include "cpu/mcs51/mcs51.h"
-#include "machine/z80dart.h"
+#include "machine/z80sio.h"
#include "machine/wd_fdc.h"
#include "bus/scsi/scsi.h"
#include "machine/6522via.h"
@@ -106,7 +106,7 @@ private:
required_device<input_buffer_device> m_scsi_data_in;
required_device<output_latch_device> m_scsi_ctrl_out;
required_device<wd2793_device> m_fdc;
- required_device<z80sio2_device> m_z80sio;
+ required_device<z80sio_device> m_z80sio;
required_device<screen_device> m_screen;
required_ioport m_io_config;
required_ioport m_io_joystick0;
diff --git a/src/mame/includes/tdv2324.h b/src/mame/includes/tdv2324.h
index 69b4c2fa512..f111e2db1c6 100644
--- a/src/mame/includes/tdv2324.h
+++ b/src/mame/includes/tdv2324.h
@@ -14,7 +14,7 @@
#include "machine/pic8259.h"
#include "machine/ram.h"
#include "machine/wd_fdc.h"
-#include "machine/z80dart.h"
+#include "machine/z80sio.h"
#include "video/tms9927.h"
@@ -66,7 +66,7 @@ private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_subcpu;
required_device<m6802_cpu_device> m_fdccpu;
- required_device<z80dart_device> m_sio;
+ required_device<z80sio_device> m_sio;
required_device<pic8259_device> m_pic;
required_device<pit8253_device> m_pit0;
required_device<pit8253_device> m_pit1;
diff --git a/src/mame/includes/trs80m2.h b/src/mame/includes/trs80m2.h
index b60215aaa85..d70c41c9933 100644
--- a/src/mame/includes/trs80m2.h
+++ b/src/mame/includes/trs80m2.h
@@ -15,13 +15,12 @@
#include "machine/am9519.h"
#include "machine/keyboard.h"
#include "machine/ram.h"
-#include "machine/timer.h"
#include "machine/trs80m2kb.h"
#include "machine/wd_fdc.h"
#include "machine/z80ctc.h"
#include "machine/z80dma.h"
#include "machine/z80pio.h"
-#include "machine/z80dart.h"
+#include "machine/z80sio.h"
#include "video/mc6845.h"
#include "emupal.h"
@@ -87,7 +86,6 @@ public:
MC6845_UPDATE_ROW( crtc_update_row );
- TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
DECLARE_READ8_MEMBER(io_read_byte);
DECLARE_WRITE8_MEMBER(io_write_byte);
diff --git a/src/mame/includes/x1.h b/src/mame/includes/x1.h
index f86a47784f5..b12867bc522 100644
--- a/src/mame/includes/x1.h
+++ b/src/mame/includes/x1.h
@@ -22,8 +22,8 @@
#include "machine/timer.h"
#include "machine/wd_fdc.h"
#include "machine/z80ctc.h"
-#include "machine/z80dart.h"
#include "machine/z80dma.h"
+#include "machine/z80sio.h"
#include "sound/ay8910.h"
#include "sound/ym2151.h"
#include "video/mc6845.h"
diff --git a/src/mame/includes/xerox820.h b/src/mame/includes/xerox820.h
index 20ec0f5258f..4627c469fe1 100644
--- a/src/mame/includes/xerox820.h
+++ b/src/mame/includes/xerox820.h
@@ -19,7 +19,7 @@
#include "machine/x820kb.h"
#include "machine/z80pio.h"
#include "machine/z80ctc.h"
-#include "machine/z80dart.h"
+#include "machine/z80sio.h"
#include "sound/spkrdev.h"
#include "sound/beep.h"
#include "imagedev/floppy.h"
@@ -101,7 +101,7 @@ protected:
required_device<z80_device> m_maincpu;
required_device<z80pio_device> m_kbpio;
required_device<z80ctc_device> m_ctc;
- required_device<z80sio0_device> m_sio;
+ required_device<z80sio_device> m_sio;
required_device<wd_fdc_device_base> m_fdc;
required_device<ram_device> m_ram;
required_device<palette_device> m_palette;