From c92a21ebb9edf428c8011ac727491a11dd511c8c Mon Sep 17 00:00:00 2001 From: AJR Date: Wed, 12 Jun 2019 19:44:59 -0400 Subject: z80scc: Read/write handler cleanups (nw) - Simplify handler signatures - Rename cd_ab_r/w and ba_cd_inv_r/w to dc_ab_r/w and ab_dc_r/w to be more hardware-accurate - Eliminate cd_ba_r/w and ba_cd_r/w (no legitimate uses in existing code) mvme162: Fix SCC addressing (nw) Note that the SCC's address inputs are A/~B and D/~C, rather than the Z80 SIO's B/~A and C/~D. --- src/devices/bus/interpro/sr/edge.cpp | 4 +- src/devices/bus/interpro/sr/gt.cpp | 2 +- src/devices/machine/z80scc.cpp | 153 ++++++++--------------------------- src/devices/machine/z80scc.h | 12 +-- src/mame/drivers/applix.cpp | 2 +- src/mame/drivers/hotstuff.cpp | 4 +- src/mame/drivers/interpro.cpp | 4 +- src/mame/drivers/lft.cpp | 2 +- src/mame/drivers/mac128.cpp | 8 +- src/mame/drivers/micro3d.cpp | 2 +- src/mame/drivers/mips.cpp | 4 +- src/mame/drivers/mvme147.cpp | 4 +- src/mame/drivers/mvme162.cpp | 2 +- src/mame/drivers/sun2.cpp | 4 +- src/mame/drivers/sun3.cpp | 4 +- src/mame/drivers/sun3x.cpp | 8 +- src/mame/drivers/sun4.cpp | 8 +- src/mame/machine/hpc1.cpp | 16 ++-- src/mame/machine/ioc2.cpp | 2 +- 19 files changed, 76 insertions(+), 169 deletions(-) diff --git a/src/devices/bus/interpro/sr/edge.cpp b/src/devices/bus/interpro/sr/edge.cpp index 390b3459079..1228450375a 100644 --- a/src/devices/bus/interpro/sr/edge.cpp +++ b/src/devices/bus/interpro/sr/edge.cpp @@ -285,7 +285,7 @@ void edge1_device_base::map(address_map &map) */ map(0x000, 0x003).rw(FUNC(edge1_device_base::reg0_r), FUNC(edge1_device_base::reg0_w)); - map(0x010, 0x01f).rw("scc", FUNC(z80scc_device::cd_ab_r), FUNC(z80scc_device::cd_ab_w)).umask32(0x000000ff); + map(0x010, 0x01f).rw("scc", FUNC(z80scc_device::dc_ab_r), FUNC(z80scc_device::dc_ab_w)).umask32(0x000000ff); map(0x100, 0x103).rw(FUNC(edge1_device_base::control_r), FUNC(edge1_device_base::control_w)); map(0x104, 0x107).rw(FUNC(edge1_device_base::status_r), FUNC(edge1_device_base::status_w)); @@ -353,7 +353,7 @@ void edge2plus_processor_device_base::map(address_map &map) map(0x008, 0x008).lr8("mouse_x", []() { return 0; }); map(0x00c, 0x00c).lr8("mouse_y", []() { return 0; }); - map(0x010, 0x01f).rw("scc", FUNC(z80scc_device::cd_ab_r), FUNC(z80scc_device::cd_ab_w)).umask32(0x000000ff); + map(0x010, 0x01f).rw("scc", FUNC(z80scc_device::dc_ab_r), FUNC(z80scc_device::dc_ab_w)).umask32(0x000000ff); map(0x100, 0x103).rw(FUNC(edge2plus_processor_device_base::control_r), FUNC(edge2plus_processor_device_base::control_w)); map(0x104, 0x107).rw(FUNC(edge2plus_processor_device_base::status_r), FUNC(edge2plus_processor_device_base::status_w)); diff --git a/src/devices/bus/interpro/sr/gt.cpp b/src/devices/bus/interpro/sr/gt.cpp index d4babdfc17f..d3a7d99d2c7 100644 --- a/src/devices/bus/interpro/sr/gt.cpp +++ b/src/devices/bus/interpro/sr/gt.cpp @@ -224,7 +224,7 @@ void gtdb_device::map(address_map &map) // Note: FDMDISK GTII register ODT gives a different serial mapping, but does // not seem to be correct; the mapping here matches software usage elsewhere. - map(0x210, 0x21f).rw(m_scc, FUNC(z80scc_device::cd_ab_r), FUNC(z80scc_device::cd_ab_w)).umask32(0x000000ff); + map(0x210, 0x21f).rw(m_scc, FUNC(z80scc_device::dc_ab_r), FUNC(z80scc_device::dc_ab_w)).umask32(0x000000ff); map(0x300, 0x303).r(FUNC(gtdb_device::fifo_control_r)); diff --git a/src/devices/machine/z80scc.cpp b/src/devices/machine/z80scc.cpp index 3bf2905d02b..9dfe0e462ff 100644 --- a/src/devices/machine/z80scc.cpp +++ b/src/devices/machine/z80scc.cpp @@ -927,177 +927,88 @@ WRITE8_MEMBER( z80scc_device::zbus_w ) } //------------------------------------------------- -// cd_ab_r - Universal Bus read +// dc_ab_r - Universal Bus read //------------------------------------------------- -READ8_MEMBER( z80scc_device::cd_ab_r ) +uint8_t z80scc_device::z80scc_device::dc_ab_r(offs_t offset) { - int ba = BIT(offset, 0); - int cd = BIT(offset, 1); - z80scc_channel *channel = ba ? m_chanA : m_chanB; + int ab = BIT(offset, 0); + int dc = BIT(offset, 1); + z80scc_channel *channel = ab ? m_chanA : m_chanB; /* Expell non-Universal Bus variants */ if ( !(m_variant & SET_Z85X3X)) { - logerror(" cd_ab_r not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); + logerror(" dc_ab_r not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); return 0; } - // LOG("z80scc_device::cd_ba_r ba:%02x cd:%02x\n", ba, cd); - return cd ? channel->data_read() : channel->control_read(); + // LOG("z80scc_device::dc_ab_r ab:%02x dc:%02x\n", ab, dc); + return dc ? channel->data_read() : channel->control_read(); } //------------------------------------------------- -// cd_ab_w - Universal Bus write +// dc_ab_w - Universal Bus write //------------------------------------------------- -WRITE8_MEMBER( z80scc_device::cd_ab_w ) +void z80scc_device::dc_ab_w(offs_t offset, uint8_t data) { - int ba = BIT(offset, 0); - int cd = BIT(offset, 1); - z80scc_channel *channel = ba ? m_chanA : m_chanB; + int ab = BIT(offset, 0); + int dc = BIT(offset, 1); + z80scc_channel *channel = ab ? m_chanA : m_chanB; /* Expell non-Universal Bus variants */ if ( !(m_variant & SET_Z85X3X) ) { - logerror(" cd_ab_w not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); + logerror(" dc_ab_w not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); return; } - LOG(" cd_ab_w %02x => ba:%02x cd:%02x (ofs %d)\n", data, ba, cd, offset&3); - if (cd) + LOG(" dc_ab_w %02x => ab:%02x dc:%02x (ofs %d)\n", data, ab, dc, offset&3); + if (dc) channel->data_write(data); else channel->control_write(data); } //------------------------------------------------- -// cd_ba_r - Universal Bus read +// ab_dc_r - Universal Bus read //------------------------------------------------- -READ8_MEMBER( z80scc_device::cd_ba_r ) +uint8_t z80scc_device::ab_dc_r(offs_t offset) { - int ba = BIT(offset, 0); - int cd = BIT(offset, 1); - z80scc_channel *channel = ba ? m_chanB : m_chanA; - - /* Expell non-Universal Bus variants */ - if ( !(m_variant & SET_Z85X3X)) - { - logerror(" cd_ba_r not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); - return 0; - } - - // LOG("z80scc_device::cd_ba_r ba:%02x cd:%02x\n", ba, cd); - return cd ? channel->control_read() : channel->data_read(); -} - -//------------------------------------------------- -// cd_ba_w - Universal Bus write -//------------------------------------------------- -WRITE8_MEMBER( z80scc_device::cd_ba_w ) -{ - int ba = BIT(offset, 0); - int cd = BIT(offset, 1); - z80scc_channel *channel = ba ? m_chanB : m_chanA; - - /* Expell non-Universal Bus variants */ - if ( !(m_variant & SET_Z85X3X) ) - { - logerror(" cd_ba_w not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); - return; - } - - // LOG("z80scc_device::cd_ba_w ba:%02x cd:%02x\n", ba, cd); - if (cd) - channel->control_write(data); - else - channel->data_write(data); -} - - -//------------------------------------------------- -// ba_cd_r - Universal Bus read -//------------------------------------------------- -READ8_MEMBER( z80scc_device::ba_cd_r ) -{ - int ba = BIT(offset, 1); - int cd = BIT(offset, 0); - z80scc_channel *channel = ba ? m_chanB : m_chanA; - - /* Expell non-Universal Bus variants */ - if ( !(m_variant & SET_Z85X3X) ) - { - logerror(" ba_cd_r not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); - return 0; - } - - // LOG("z80scc_device::ba_cd_r ba:%02x cd:%02x\n", ba, cd); - return cd ? channel->control_read() : channel->data_read(); -} - - -//------------------------------------------------- -// ba_cd_w - Universal Bus write -//------------------------------------------------- -WRITE8_MEMBER( z80scc_device::ba_cd_w ) -{ - int ba = BIT(offset, 1); - int cd = BIT(offset, 0); - z80scc_channel *channel = ba ? m_chanB : m_chanA; - - /* Expell non-Universal Bus variants */ - if ( !(m_variant & SET_Z85X3X) ) - { - logerror(" ba_cd_w not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); - return; - } - - LOG("z80scc_device::ba_cd_w ba:%02x cd:%02x\n", ba, cd); - - if (cd) - channel->control_write(data); - else - channel->data_write(data); -} - -//------------------------------------------------- -// ba_cd_inv_r - Universal Bus read -//------------------------------------------------- -READ8_MEMBER( z80scc_device::ba_cd_inv_r ) -{ - int ba = BIT(offset, 1); - int cd = BIT(offset, 0); - z80scc_channel *channel = ba ? m_chanA : m_chanB; + int ab = BIT(offset, 1); + int dc = BIT(offset, 0); + z80scc_channel *channel = ab ? m_chanA : m_chanB; /* Expell non-Universal Bus variants */ if ( !(m_variant & SET_Z85X3X) ) { - logerror(" ba_cd_inv_r not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); + logerror(" ab_dc_r not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); return 0; } - // LOG("z80scc_device::ba_cd_inv_r ba:%02x cd:%02x\n", ba, cd); - return cd ? channel->data_read() : channel->control_read(); + // LOG("z80scc_device::ab_dc_r ab:%02x dc:%02x\n", ab, dc); + return dc ? channel->data_read() : channel->control_read(); } //------------------------------------------------- -// ba_cd_inv_w - Universal Bus read +// ab_dc_w - Universal Bus read //------------------------------------------------- -WRITE8_MEMBER( z80scc_device::ba_cd_inv_w ) +void z80scc_device::ab_dc_w(offs_t offset, uint8_t data) { - int ba = BIT(offset, 1); - int cd = BIT(offset, 0); - z80scc_channel *channel = ba ? m_chanA : m_chanB; + int ab = BIT(offset, 1); + int dc = BIT(offset, 0); + z80scc_channel *channel = ab ? m_chanA : m_chanB; /* Expell non-Universal Bus variants */ if ( !(m_variant & SET_Z85X3X) ) { - logerror(" ba_cd_inv_w not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); + logerror(" ab_dc_w not supported by this device variant, you should probably use combinations of c*_r/w and d*_r/w (see z80scc.h)\n"); return; } - LOG("z80scc_device::ba_cd_inv_w ba:%02x cd:%02x\n", ba, cd); + LOG("z80scc_device::ab_dc_w ab:%02x dc:%02x\n", ab, dc); - if (cd) + if (dc) channel->data_write(data); else channel->control_write(data); diff --git a/src/devices/machine/z80scc.h b/src/devices/machine/z80scc.h index 3e8812707dc..a02477b6544 100644 --- a/src/devices/machine/z80scc.h +++ b/src/devices/machine/z80scc.h @@ -353,14 +353,10 @@ public: m_txcb = txb; } - DECLARE_READ8_MEMBER( cd_ab_r ); - DECLARE_WRITE8_MEMBER( cd_ab_w ); - DECLARE_READ8_MEMBER( cd_ba_r ); - DECLARE_WRITE8_MEMBER( cd_ba_w ); - DECLARE_READ8_MEMBER( ba_cd_r ); - DECLARE_WRITE8_MEMBER( ba_cd_w ); - DECLARE_READ8_MEMBER( ba_cd_inv_r ); - DECLARE_WRITE8_MEMBER( ba_cd_inv_w ); + uint8_t dc_ab_r(offs_t offset); + void dc_ab_w(offs_t offset, uint8_t data); + uint8_t ab_dc_r(offs_t offset); + void ab_dc_w(offs_t offset, uint8_t data); /* Definitions moved to z80scc.c for enhancements */ uint8_t da_r(offs_t offset); diff --git a/src/mame/drivers/applix.cpp b/src/mame/drivers/applix.cpp index 92ac36d3ee3..da61d451f63 100644 --- a/src/mame/drivers/applix.cpp +++ b/src/mame/drivers/applix.cpp @@ -468,7 +468,7 @@ void applix_state::applix_mem(address_map &map) map(0x600080, 0x6000ff).w(FUNC(applix_state::dac_latch_w)); map(0x600100, 0x60017f).w(FUNC(applix_state::video_latch_w)); //video latch (=border colour, high nybble; video base, low nybble) (odd) map(0x600180, 0x6001ff).w(FUNC(applix_state::analog_latch_w)); - map(0x700000, 0x700007).mirror(0x78).rw("scc", FUNC(scc8530_device::ba_cd_inv_r), FUNC(scc8530_device::ba_cd_inv_w)).umask16(0xff00).cswidth(16); + map(0x700000, 0x700007).mirror(0x78).rw("scc", FUNC(scc8530_device::ab_dc_r), FUNC(scc8530_device::ab_dc_w)).umask16(0xff00).cswidth(16); map(0x700080, 0x7000ff).r(FUNC(applix_state::applix_inputs_r)); map(0x700100, 0x70011f).mirror(0x60).rw(m_via, FUNC(via6522_device::read), FUNC(via6522_device::write)).umask16(0xff00).cswidth(16); map(0x700180, 0x700180).mirror(0x7c).rw(m_crtc, FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w)).cswidth(16); diff --git a/src/mame/drivers/hotstuff.cpp b/src/mame/drivers/hotstuff.cpp index 2bcec1734c5..f7b13588a06 100644 --- a/src/mame/drivers/hotstuff.cpp +++ b/src/mame/drivers/hotstuff.cpp @@ -85,8 +85,8 @@ void hotstuff_state::hotstuff_map(address_map &map) map(0x400000, 0x40ffff).ram(); - map(0x600000, 0x600003).rw("scc1", FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)); - map(0x620000, 0x620003).rw("scc2", FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)); + map(0x600000, 0x600003).rw("scc1", FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)); + map(0x620000, 0x620003).rw("scc2", FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)); map(0x680000, 0x680001).lrw8("rtc_rw", [this](offs_t offset) { return m_rtc->read(offset^1); diff --git a/src/mame/drivers/interpro.cpp b/src/mame/drivers/interpro.cpp index 9fe4fba37bd..c91aba9d9fe 100644 --- a/src/mame/drivers/interpro.cpp +++ b/src/mame/drivers/interpro.cpp @@ -529,8 +529,8 @@ void interpro_state::interpro_common_map(address_map &map) map(0x7f000308, 0x7f000309).rw(FUNC(interpro_state::ctrl1_r), FUNC(interpro_state::ctrl1_w)); map(0x7f00030c, 0x7f00030d).rw(FUNC(interpro_state::ctrl2_r), FUNC(interpro_state::ctrl2_w)); - map(0x7f000400, 0x7f00040f).rw(m_scc1, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0x000000ff); - map(0x7f000410, 0x7f00041f).rw(m_scc2, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0x000000ff); + map(0x7f000400, 0x7f00040f).rw(m_scc1, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0x000000ff); + map(0x7f000410, 0x7f00041f).rw(m_scc2, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0x000000ff); map(0x7f000500, 0x7f000503).lrw8("rtc_rw", [this](offs_t offset) { return m_rtc->read(offset^1); diff --git a/src/mame/drivers/lft.cpp b/src/mame/drivers/lft.cpp index 5d8a88c93c5..f51d4d41be1 100644 --- a/src/mame/drivers/lft.cpp +++ b/src/mame/drivers/lft.cpp @@ -69,7 +69,7 @@ void lft_state::io_map(address_map &map) //map(0x0080, 0x0087) // unknown device //map(0x00a0, 0x00a?) // unknown device //map(0x00c0, 0x00c7) // unknown device - map(0x0100, 0x0107).rw(m_scc, FUNC(z80scc_device::cd_ab_r), FUNC(z80scc_device::cd_ab_w)).umask16(0x00ff); + map(0x0100, 0x0107).rw(m_scc, FUNC(z80scc_device::dc_ab_r), FUNC(z80scc_device::dc_ab_w)).umask16(0x00ff); map(0x0180, 0x01bf).rw(m_rtc, FUNC(mm58167_device::read), FUNC(mm58167_device::write)).umask16(0x00ff); //map(0x0200, 0x0207) // unknown device } diff --git a/src/mame/drivers/mac128.cpp b/src/mame/drivers/mac128.cpp index 5b553a1eb40..0100d89a58d 100644 --- a/src/mame/drivers/mac128.cpp +++ b/src/mame/drivers/mac128.cpp @@ -1293,8 +1293,8 @@ void mac128_state::mac512ke_map(address_map &map) map(0x000000, 0x3fffff).rw(FUNC(mac128_state::ram_r), FUNC(mac128_state::ram_w)); map(0x400000, 0x4fffff).rom().region("bootrom", 0).mirror(0x100000); map(0x600000, 0x6fffff).rw(FUNC(mac128_state::ram_600000_r), FUNC(mac128_state::ram_600000_w)); - map(0x800000, 0x9fffff).r(m_scc, FUNC(z80scc_device::cd_ab_r)).umask16(0xff00); - map(0xa00000, 0xbfffff).w(m_scc, FUNC(z80scc_device::cd_ab_w)).umask16(0x00ff); + map(0x800000, 0x9fffff).r(m_scc, FUNC(z80scc_device::dc_ab_r)).umask16(0xff00); + map(0xa00000, 0xbfffff).w(m_scc, FUNC(z80scc_device::dc_ab_w)).umask16(0x00ff); map(0xc00000, 0xdfffff).rw(FUNC(mac128_state::mac_iwm_r), FUNC(mac128_state::mac_iwm_w)); map(0xe80000, 0xefffff).rw(FUNC(mac128_state::mac_via_r), FUNC(mac128_state::mac_via_w)); map(0xfffff0, 0xffffff).rw(FUNC(mac128_state::mac_autovector_r), FUNC(mac128_state::mac_autovector_w)); @@ -1305,8 +1305,8 @@ void mac128_state::macplus_map(address_map &map) map(0x000000, 0x3fffff).rw(FUNC(mac128_state::ram_r), FUNC(mac128_state::ram_w)); map(0x400000, 0x4fffff).rom().region("bootrom", 0); map(0x580000, 0x5fffff).rw(FUNC(mac128_state::macplus_scsi_r), FUNC(mac128_state::macplus_scsi_w)); - map(0x800000, 0x9fffff).r(m_scc, FUNC(z80scc_device::cd_ab_r)).umask16(0xff00); - map(0xa00000, 0xbfffff).w(m_scc, FUNC(z80scc_device::cd_ab_w)).umask16(0x00ff); + map(0x800000, 0x9fffff).r(m_scc, FUNC(z80scc_device::dc_ab_r)).umask16(0xff00); + map(0xa00000, 0xbfffff).w(m_scc, FUNC(z80scc_device::dc_ab_w)).umask16(0x00ff); map(0xc00000, 0xdfffff).rw(FUNC(mac128_state::mac_iwm_r), FUNC(mac128_state::mac_iwm_w)); map(0xe80000, 0xefffff).rw(FUNC(mac128_state::mac_via_r), FUNC(mac128_state::mac_via_w)); map(0xfffff0, 0xffffff).rw(FUNC(mac128_state::mac_autovector_r), FUNC(mac128_state::mac_autovector_w)); diff --git a/src/mame/drivers/micro3d.cpp b/src/mame/drivers/micro3d.cpp index f195a86007e..6077a7cb88a 100644 --- a/src/mame/drivers/micro3d.cpp +++ b/src/mame/drivers/micro3d.cpp @@ -268,7 +268,7 @@ void micro3d_state::drmath_data(address_map &map) map(0x01400000, 0x01400003).rw(FUNC(micro3d_state::micro3d_pipe_r), FUNC(micro3d_state::micro3d_fifo_w)); map(0x01600000, 0x01600003).w(FUNC(micro3d_state::drmath_intr2_ack)); map(0x01800000, 0x01800003).w(FUNC(micro3d_state::micro3d_alt_fifo_w)); - map(0x03fffff0, 0x03ffffff).rw("scc", FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0x000000ff); + map(0x03fffff0, 0x03ffffff).rw("scc", FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0x000000ff); } /************************************* diff --git a/src/mame/drivers/mips.cpp b/src/mame/drivers/mips.cpp index aab011df6af..3c81f4f71d5 100644 --- a/src/mame/drivers/mips.cpp +++ b/src/mame/drivers/mips.cpp @@ -318,7 +318,7 @@ void rx2030_state::iop_io_map(address_map &map) map(0x00c0, 0x00c1).lrw8("kbdc_data", [this]() { return m_kbdc->data_r(); }, [this](u8 data) { m_kbdc->data_w(data == 0xff ? 0xf6 : data); }).umask16(0xff); map(0x00c4, 0x00c5).rw(m_kbdc, FUNC(at_keyboard_controller_device::status_r), FUNC(at_keyboard_controller_device::command_w)).umask16(0xff); - map(0x0100, 0x0107).rw(m_scc, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask16(0xff); + map(0x0100, 0x0107).rw(m_scc, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask16(0xff); map(0x0140, 0x0143).rw(m_net, FUNC(am7990_device::regs_r), FUNC(am7990_device::regs_w)); @@ -677,7 +677,7 @@ void rx3230_state::rx3230_map(address_map &map) map(0x19000004, 0x19000007).rw(m_kbdc, FUNC(at_keyboard_controller_device::status_r), FUNC(at_keyboard_controller_device::command_w)).umask32(0xff); map(0x19800000, 0x19800003).lr8("int_reg", [this]() { return m_int_reg; }).umask32(0xff); map(0x1a000000, 0x1a000007).rw(m_net, FUNC(am7990_device::regs_r), FUNC(am7990_device::regs_w)).umask32(0xffff); - map(0x1b000000, 0x1b00001f).rw(m_scc, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff); // TODO: order? + map(0x1b000000, 0x1b00001f).rw(m_scc, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff); // TODO: order? map(0x1c000000, 0x1c000fff).m(m_rambo, FUNC(mips_rambo_device::map)); diff --git a/src/mame/drivers/mvme147.cpp b/src/mame/drivers/mvme147.cpp index 6d3f012d7de..c164c65afdc 100644 --- a/src/mame/drivers/mvme147.cpp +++ b/src/mame/drivers/mvme147.cpp @@ -252,8 +252,8 @@ void mvme147_state::mvme147_mem(address_map &map) map(0xfffe1018, 0xfffe102f).rw(FUNC(mvme147_state::pcc8_r), FUNC(mvme147_state::pcc8_w)); /* PCC 8 bits registers */ map(0xfffe2000, 0xfffe201b).rw(FUNC(mvme147_state::vmechip_r), FUNC(mvme147_state::vmechip_w)).umask32(0x00ff00ff); /* VMEchip 8 bits registers on odd adresses */ - map(0xfffe3000, 0xfffe3003).rw(m_sccterm, FUNC(scc85c30_device::ba_cd_inv_r), FUNC(scc85c30_device::ba_cd_inv_w)); /* Port 1&2 - Dual serial port Z80-SCC */ - map(0xfffe3800, 0xfffe3803).rw(m_sccterm2, FUNC(scc85c30_device::ba_cd_inv_r), FUNC(scc85c30_device::ba_cd_inv_w)); /* Port 3&4 - Dual serial port Z80-SCC */ + map(0xfffe3000, 0xfffe3003).rw(m_sccterm, FUNC(scc85c30_device::ab_dc_r), FUNC(scc85c30_device::ab_dc_w)); /* Port 1&2 - Dual serial port Z80-SCC */ + map(0xfffe3800, 0xfffe3803).rw(m_sccterm2, FUNC(scc85c30_device::ab_dc_r), FUNC(scc85c30_device::ab_dc_w)); /* Port 3&4 - Dual serial port Z80-SCC */ //AM_RANGE(0x100000, 0xfeffff) AM_READWRITE(vme_a24_r, vme_a24_w) /* VMEbus Rev B addresses (24 bits) - not verified */ //AM_RANGE(0xff0000, 0xffffff) AM_READWRITE(vme_a16_r, vme_a16_w) /* VMEbus Rev B addresses (16 bits) - not verified */ diff --git a/src/mame/drivers/mvme162.cpp b/src/mame/drivers/mvme162.cpp index 84730bbe39b..9c2f40a4efd 100644 --- a/src/mame/drivers/mvme162.cpp +++ b/src/mame/drivers/mvme162.cpp @@ -244,7 +244,7 @@ void mvme162_state::mvme162_mem(address_map &map) /* SGS-Thompson M48T18 RAM and clock chip, only 4088 bytes used, and 8 bytes for the RTC, out of 8Kb though */ map(0xfffc0000, 0xfffc7fff).rw("m48t18", FUNC(timekeeper_device::read), FUNC(timekeeper_device::write)); - map(0xfff45000, 0xfff457ff).rw(m_sccterm, FUNC(scc85230_device::ba_cd_r), FUNC(scc85230_device::ba_cd_w)); /* Port 1&2 - Dual serial port Z80-SCC */ + map(0xfff45000, 0xfff457ff).rw(m_sccterm, FUNC(scc85230_device::ab_dc_r), FUNC(scc85230_device::ab_dc_w)).umask32(0x00ff00ff); /* Port 1&2 - Dual serial port Z80-SCC */ } /* Input ports */ diff --git a/src/mame/drivers/sun2.cpp b/src/mame/drivers/sun2.cpp index e63f5d6560f..d5b2e3794a4 100644 --- a/src/mame/drivers/sun2.cpp +++ b/src/mame/drivers/sun2.cpp @@ -596,7 +596,7 @@ void sun2_state::mbustype0space_map(address_map &map) { map(0x000000, 0x3fffff).rw(FUNC(sun2_state::ram_r), FUNC(sun2_state::ram_w)); // 7f80000-7f807ff: Keyboard/mouse SCC8530 - //AM_RANGE(0x7f8000, 0x7f8007) AM_DEVREADWRITE8(SCC1_TAG, z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0xff00) + //AM_RANGE(0x7f8000, 0x7f8007) AM_DEVREADWRITE8(SCC1_TAG, z80scc_device, ab_dc_r, ab_dc_w, 0xff00) map(0x700000, 0x71ffff).ram().share("bw2_vram"); map(0x781800, 0x781801).rw(FUNC(sun2_state::video_ctrl_r), FUNC(sun2_state::video_ctrl_w)); } @@ -607,7 +607,7 @@ void sun2_state::mbustype1space_map(address_map &map) map(0x000000, 0x0007ff).rom().region("bootprom", 0); // uses MMU loophole to read 32k from a 2k window // 001000-0017ff: AM9518 encryption processor // 001800-001fff: Parallel port - map(0x002000, 0x0027ff).rw(SCC2_TAG, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask16(0xff00); + map(0x002000, 0x0027ff).rw(SCC2_TAG, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask16(0xff00); map(0x002800, 0x002803).mirror(0x7fc).rw("timer", FUNC(am9513_device::read16), FUNC(am9513_device::write16)); map(0x003800, 0x00383f).mirror(0x7c0).rw("rtc", FUNC(mm58167_device::read), FUNC(mm58167_device::write)).umask16(0xff00); // 12 wait states generated by PAL16R6 (U415) } diff --git a/src/mame/drivers/sun3.cpp b/src/mame/drivers/sun3.cpp index 3ad3bf7ca45..78e65bf33da 100644 --- a/src/mame/drivers/sun3.cpp +++ b/src/mame/drivers/sun3.cpp @@ -778,8 +778,8 @@ void sun3_state::vmetype0space_novram_map(address_map &map) // type 1 device space void sun3_state::vmetype1space_map(address_map &map) { - map(0x00000000, 0x0000000f).rw(m_scc1, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff00ff00); - map(0x00020000, 0x0002000f).rw(m_scc2, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff00ff00); + map(0x00000000, 0x0000000f).rw(m_scc1, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff00ff00); + map(0x00020000, 0x0002000f).rw(m_scc2, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff00ff00); map(0x00040000, 0x000407ff).ram().share("nvram"); // type 2816 parallel EEPROM map(0x00060000, 0x0006ffff).rw(FUNC(sun3_state::rtc7170_r), FUNC(sun3_state::rtc7170_w)); map(0x00080000, 0x0008000f).rw(FUNC(sun3_state::parity_r), FUNC(sun3_state::parity_w)); diff --git a/src/mame/drivers/sun3x.cpp b/src/mame/drivers/sun3x.cpp index 7f6f891652a..7eda7de1c30 100644 --- a/src/mame/drivers/sun3x.cpp +++ b/src/mame/drivers/sun3x.cpp @@ -239,8 +239,8 @@ void sun3x_state::sun3_80_mem(address_map &map) map(0x61001000, 0x61001003).rw(FUNC(sun3x_state::memreg_r), FUNC(sun3x_state::memreg_w)); map(0x61001004, 0x61001007).rw(FUNC(sun3x_state::memrerraddr_r), FUNC(sun3x_state::memrerraddr_w)); map(0x61001400, 0x61001403).rw(FUNC(sun3x_state::irqctrl_r), FUNC(sun3x_state::irqctrl_w)); - map(0x62000000, 0x6200000f).rw(m_scc1, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff00ff00); - map(0x62002000, 0x6200200f).rw(m_scc2, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff00ff00); + map(0x62000000, 0x6200000f).rw(m_scc1, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff00ff00); + map(0x62002000, 0x6200200f).rw(m_scc2, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff00ff00); map(0x63000000, 0x6301ffff).rom().region("user1", 0); map(0x64000000, 0x640007ff).rw(TIMEKEEPER_TAG, FUNC(timekeeper_device::read), FUNC(timekeeper_device::write)); map(0x66000000, 0x6600003f).rw(ESP_TAG, FUNC(ncr539x_device::read), FUNC(ncr539x_device::write)).umask32(0xff000000); @@ -264,8 +264,8 @@ void sun3x_state::sun3_460_mem(address_map &map) map(0x61001000, 0x61001003).rw(FUNC(sun3x_state::memreg_r), FUNC(sun3x_state::memreg_w)); map(0x61001004, 0x61001007).rw(FUNC(sun3x_state::memrerraddr_r), FUNC(sun3x_state::memrerraddr_w)); map(0x61001400, 0x61001403).rw(FUNC(sun3x_state::irqctrl_r), FUNC(sun3x_state::irqctrl_w)); - map(0x62000000, 0x6200000f).rw(m_scc1, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff00ff00); - map(0x62002000, 0x6200200f).rw(m_scc2, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff00ff00); + map(0x62000000, 0x6200000f).rw(m_scc1, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff00ff00); + map(0x62002000, 0x6200200f).rw(m_scc2, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff00ff00); map(0x63000000, 0x6301ffff).rom().region("user1", 0); map(0x6f00003c, 0x6f00003f).rw(FUNC(sun3x_state::printer_r), FUNC(sun3x_state::printer_w)); diff --git a/src/mame/drivers/sun4.cpp b/src/mame/drivers/sun4.cpp index 92dad1ae2da..60b6973f541 100644 --- a/src/mame/drivers/sun4.cpp +++ b/src/mame/drivers/sun4.cpp @@ -1145,8 +1145,8 @@ void sun4_state::type0space_map(address_map &map) void sun4_state::type1space_map(address_map &map) { - map(0x00000000, 0x0000000f).rw(m_scc1, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff00ff00); - map(0x01000000, 0x0100000f).rw(m_scc2, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff00ff00); + map(0x00000000, 0x0000000f).rw(m_scc1, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff00ff00); + map(0x01000000, 0x0100000f).rw(m_scc2, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff00ff00); map(0x02000000, 0x020007ff).rw(m_timekpr, FUNC(timekeeper_device::read), FUNC(timekeeper_device::write)); map(0x03000000, 0x0300000f).rw(FUNC(sun4_state::timer_r), FUNC(sun4_state::timer_w)).mirror(0xfffff0); map(0x05000000, 0x05000003).rw(FUNC(sun4_state::irq_r), FUNC(sun4_state::irq_w)); @@ -1167,8 +1167,8 @@ void sun4_state::type1space_sbus_map(address_map &map) void sun4_state::type1space_s4_map(address_map &map) { - map(0x00000000, 0x0000000f).rw(m_scc1, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff00ff00); - map(0x01000000, 0x0100000f).rw(m_scc2, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)).umask32(0xff00ff00); + map(0x00000000, 0x0000000f).rw(m_scc1, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff00ff00); + map(0x01000000, 0x0100000f).rw(m_scc2, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)).umask32(0xff00ff00); } /* Input ports */ diff --git a/src/mame/machine/hpc1.cpp b/src/mame/machine/hpc1.cpp index 7d6dfd6fff3..a4c32d5d5c1 100644 --- a/src/mame/machine/hpc1.cpp +++ b/src/mame/machine/hpc1.cpp @@ -289,7 +289,7 @@ READ32_MEMBER(hpc1_device::read) case 0x0d20/4: { const uint32_t index = (offset >> 2) & 3; - uint32_t ret = m_scc[index]->ba_cd_r(space, 3); + uint32_t ret = m_scc[index]->ab_dc_r(0); LOGMASKED(LOG_DUART0 << index, "%s: HPC DUART%d Channel B Control Read: %08x & %08x\n", machine().describe_context(), index, ret, mem_mask); return ret; } @@ -298,7 +298,7 @@ READ32_MEMBER(hpc1_device::read) case 0x0d24/4: { const uint32_t index = (offset >> 2) & 3; - const uint32_t ret = m_scc[index]->ba_cd_r(space, 2); + const uint32_t ret = m_scc[index]->ab_dc_r(1); LOGMASKED(LOG_DUART0 << index, "%s: HPC DUART%d Channel B Data Read: %08x & %08x\n", machine().describe_context(), index, ret, mem_mask); return ret; } @@ -307,7 +307,7 @@ READ32_MEMBER(hpc1_device::read) case 0x0d28/4: { const uint32_t index = (offset >> 2) & 3; - const uint32_t ret = m_scc[index]->ba_cd_r(space, 1); + const uint32_t ret = m_scc[index]->ab_dc_r(2); LOGMASKED(LOG_DUART0 << index, "%s: HPC DUART%d Channel A Control Read: %08x & %08x\n", machine().describe_context(), index, ret, mem_mask); return ret; } @@ -316,7 +316,7 @@ READ32_MEMBER(hpc1_device::read) case 0x0d2c/4: { const uint32_t index = (offset >> 2) & 3; - const uint32_t ret = m_scc[index]->ba_cd_r(space, 0); + const uint32_t ret = m_scc[index]->ab_dc_r(3); LOGMASKED(LOG_DUART0 << index, "%s: HPC DUART%d Channel A Data Read: %08x & %08x\n", machine().describe_context(), index, ret, mem_mask); return ret; } @@ -461,7 +461,7 @@ WRITE32_MEMBER(hpc1_device::write) case 0x0d20/4: { const uint32_t index = (offset >> 2) & 3; - m_scc[index]->ba_cd_w(space, 3, (uint8_t)data); + m_scc[index]->ab_dc_w(0, (uint8_t)data); LOGMASKED(LOG_DUART0 << index, "%s: HPC DUART%d Channel B Control Write: %08x & %08x\n", machine().describe_context(), index, data, mem_mask); break; } @@ -470,7 +470,7 @@ WRITE32_MEMBER(hpc1_device::write) case 0x0d24/4: { const uint32_t index = (offset >> 2) & 3; - m_scc[index]->ba_cd_w(space, 2, (uint8_t)data); + m_scc[index]->ab_dc_w(1, (uint8_t)data); LOGMASKED(LOG_DUART0 << index, "%s: HPC DUART%d Channel B Data Write: %08x & %08x\n", machine().describe_context(), index, data, mem_mask); break; } @@ -479,7 +479,7 @@ WRITE32_MEMBER(hpc1_device::write) case 0x0d28/4: { const uint32_t index = (offset >> 2) & 3; - m_scc[index]->ba_cd_w(space, 1, (uint8_t)data); + m_scc[index]->ab_dc_w(2, (uint8_t)data); LOGMASKED(LOG_DUART0 << index, "%s: HPC DUART%d Channel A Control Write: %08x & %08x\n", machine().describe_context(), index, data, mem_mask); break; } @@ -488,7 +488,7 @@ WRITE32_MEMBER(hpc1_device::write) case 0x0d2c/4: { const uint32_t index = (offset >> 2) & 3; - m_scc[index]->ba_cd_w(space, 0, (uint8_t)data); + m_scc[index]->ab_dc_w(3, (uint8_t)data); LOGMASKED(LOG_DUART0 << index, "%s: HPC DUART%d Channel A Data Write: %08x & %08x\n", machine().describe_context(), index, data, mem_mask); break; } diff --git a/src/mame/machine/ioc2.cpp b/src/mame/machine/ioc2.cpp index ec3383bb7a0..fde355d9418 100644 --- a/src/mame/machine/ioc2.cpp +++ b/src/mame/machine/ioc2.cpp @@ -562,7 +562,7 @@ void ioc2_device::base_map(address_map &map) map(0x07, 0x07).rw(FUNC(ioc2_device::pi1_timer2_r), FUNC(ioc2_device::pi1_timer2_w)); map(0x08, 0x08).rw(FUNC(ioc2_device::pi1_timer3_r), FUNC(ioc2_device::pi1_timer3_w)); map(0x09, 0x09).rw(FUNC(ioc2_device::pi1_timer4_r), FUNC(ioc2_device::pi1_timer4_w)); - map(0x0c, 0x0f).rw(m_scc, FUNC(z80scc_device::ba_cd_inv_r), FUNC(z80scc_device::ba_cd_inv_w)); + map(0x0c, 0x0f).rw(m_scc, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w)); map(0x10, 0x10).rw(m_kbdc, FUNC(ps2_keyboard_controller_device::data_r), FUNC(ps2_keyboard_controller_device::data_w)); map(0x11, 0x11).rw(m_kbdc, FUNC(ps2_keyboard_controller_device::status_r), FUNC(ps2_keyboard_controller_device::command_w)); map(0x12, 0x12).rw(FUNC(ioc2_device::gc_select_r), FUNC(ioc2_device::gc_select_w)); -- cgit v1.2.3