summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2021-01-21 10:51:37 -0500
committer AJR <ajrhacker@users.noreply.github.com>2021-01-21 10:51:37 -0500
commit5a4d710e2608672b44aa94d5af001c3c069656b4 (patch)
treec7005e890bf55140e0d82cb42ad937952266df41 /src/mame
parent40a05f4dbc1229e51a118e6c69998e52a5a12f65 (diff)
6522via.cpp: Distinguish some different VIA types
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/accomm.cpp2
-rw-r--r--src/mame/drivers/aci_ggm.cpp2
-rw-r--r--src/mame/drivers/aci_prodigy.cpp2
-rw-r--r--src/mame/drivers/acrnsys.cpp4
-rw-r--r--src/mame/drivers/aim65.cpp4
-rw-r--r--src/mame/drivers/aim65_40.cpp6
-rw-r--r--src/mame/drivers/apple3.cpp4
-rw-r--r--src/mame/drivers/applix.cpp2
-rw-r--r--src/mame/drivers/aristmk4.cpp2
-rw-r--r--src/mame/drivers/atarisy1.cpp2
-rw-r--r--src/mame/drivers/atom.cpp4
-rw-r--r--src/mame/drivers/ave_arb.cpp8
-rw-r--r--src/mame/drivers/bbc.cpp8
-rw-r--r--src/mame/drivers/beezer.cpp4
-rw-r--r--src/mame/drivers/bmcbowl.cpp2
-rw-r--r--src/mame/drivers/chexx.cpp2
-rw-r--r--src/mame/drivers/clcd.cpp4
-rw-r--r--src/mame/drivers/cms.cpp2
-rw-r--r--src/mame/drivers/concept.cpp2
-rw-r--r--src/mame/drivers/cops.cpp6
-rw-r--r--src/mame/drivers/ec65.cpp4
-rw-r--r--src/mame/drivers/electron.cpp2
-rw-r--r--src/mame/drivers/emma2.cpp2
-rw-r--r--src/mame/drivers/enmirage.cpp2
-rw-r--r--src/mame/drivers/epic14e.cpp2
-rw-r--r--src/mame/drivers/esprit.cpp2
-rw-r--r--src/mame/drivers/gameplan.cpp6
-rw-r--r--src/mame/drivers/goupil.cpp6
-rw-r--r--src/mame/drivers/gts3.cpp4
-rw-r--r--src/mame/drivers/gts3a.cpp4
-rw-r--r--src/mame/drivers/hhtiger.cpp4
-rw-r--r--src/mame/drivers/itech32.cpp2
-rw-r--r--src/mame/drivers/itech8.cpp2
-rw-r--r--src/mame/drivers/jr100.cpp2
-rw-r--r--src/mame/drivers/jvh.cpp2
-rw-r--r--src/mame/drivers/lisa.cpp4
-rw-r--r--src/mame/drivers/lwriter.cpp31
-rw-r--r--src/mame/drivers/mac.cpp6
-rw-r--r--src/mame/drivers/mac128.cpp5
-rw-r--r--src/mame/drivers/macpci.cpp2
-rw-r--r--src/mame/drivers/macprtb.cpp2
-rw-r--r--src/mame/drivers/macpwrbk030.cpp8
-rw-r--r--src/mame/drivers/macquadra700.cpp4
-rw-r--r--src/mame/drivers/mbc020.cpp4
-rw-r--r--src/mame/drivers/nsg6809.cpp2
-rw-r--r--src/mame/drivers/oric.cpp4
-rw-r--r--src/mame/drivers/pet.cpp2
-rw-r--r--src/mame/drivers/pntnpuzl.cpp2
-rw-r--r--src/mame/drivers/rmnimbus.cpp2
-rw-r--r--src/mame/drivers/saitek_intchess.cpp2
-rw-r--r--src/mame/drivers/saitek_ssystem3.cpp2
-rw-r--r--src/mame/drivers/shine.cpp4
-rw-r--r--src/mame/drivers/swtpc09.cpp2
-rw-r--r--src/mame/drivers/swyft.cpp4
-rw-r--r--src/mame/drivers/sym1.cpp6
-rw-r--r--src/mame/drivers/textelcomp.cpp12
-rw-r--r--src/mame/drivers/trvquest.cpp6
-rw-r--r--src/mame/drivers/tv950.cpp2
-rw-r--r--src/mame/drivers/ultim809.cpp3
-rw-r--r--src/mame/drivers/vectrex.cpp2
-rw-r--r--src/mame/drivers/vic20.cpp4
-rw-r--r--src/mame/drivers/victor9k.cpp6
-rw-r--r--src/mame/drivers/wicat.cpp2
-rw-r--r--src/mame/machine/victor9k_fdc.cpp6
64 files changed, 124 insertions, 135 deletions
diff --git a/src/mame/drivers/accomm.cpp b/src/mame/drivers/accomm.cpp
index 3af3d9f714d..9228cefd313 100644
--- a/src/mame/drivers/accomm.cpp
+++ b/src/mame/drivers/accomm.cpp
@@ -933,7 +933,7 @@ void accomm_state::accomm(machine_config &config)
m_cct->set_addrmap(0, &accomm_state::saa5240_map);
/* via */
- VIA6522(config, m_via, 16_MHz_XTAL / 16);
+ MOS6522(config, m_via, 16_MHz_XTAL / 16);
m_via->writepa_handler().set("cent_data_out", FUNC(output_latch_device::write));
m_via->ca2_handler().set("centronics", FUNC(centronics_device::write_strobe));
m_via->readpb_handler().set(m_rtc, FUNC(pcf8573_device::sda_r)).bit(0);
diff --git a/src/mame/drivers/aci_ggm.cpp b/src/mame/drivers/aci_ggm.cpp
index 83c98657b55..eb00fb377dd 100644
--- a/src/mame/drivers/aci_ggm.cpp
+++ b/src/mame/drivers/aci_ggm.cpp
@@ -420,7 +420,7 @@ void ggm_state::ggm(machine_config &config)
M6502(config, m_maincpu, 2000000);
m_maincpu->set_addrmap(AS_PROGRAM, &ggm_state::main_map);
- VIA6522(config, m_via, 2000000); // DDRA = 0xff, DDRB = 0x81
+ MOS6522(config, m_via, 2000000); // DDRA = 0xff, DDRB = 0x81
m_via->writepa_handler().set(FUNC(ggm_state::select_w));
m_via->writepb_handler().set(FUNC(ggm_state::control_w));
m_via->readpb_handler().set(FUNC(ggm_state::input_r));
diff --git a/src/mame/drivers/aci_prodigy.cpp b/src/mame/drivers/aci_prodigy.cpp
index 15254482257..8fc5530a496 100644
--- a/src/mame/drivers/aci_prodigy.cpp
+++ b/src/mame/drivers/aci_prodigy.cpp
@@ -258,7 +258,7 @@ void prodigy_state::prodigy(machine_config &config)
M6502(config, m_maincpu, 2_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &prodigy_state::main_map);
- VIA6522(config, m_via, 2_MHz_XTAL); // DDRA = 0x00, DDRB = 0x8f
+ MOS6522(config, m_via, 2_MHz_XTAL); // DDRA = 0x00, DDRB = 0x8f
m_via->readpa_handler().set(FUNC(prodigy_state::input1_r));
m_via->readpb_handler().set(FUNC(prodigy_state::input2_r));
m_via->writepb_handler().set(FUNC(prodigy_state::control_w));
diff --git a/src/mame/drivers/acrnsys.cpp b/src/mame/drivers/acrnsys.cpp
index 85ff19d44cd..c46551f5d39 100644
--- a/src/mame/drivers/acrnsys.cpp
+++ b/src/mame/drivers/acrnsys.cpp
@@ -388,7 +388,7 @@ void acrnsys_state::a6502a(machine_config &config)
INPUT_MERGER_ANY_HIGH(config, m_irqs).output_handler().set_inputline(m_maincpu, M6502_IRQ_LINE);
- VIA6522(config, m_via6522, 4_MHz_XTAL / 4);
+ MOS6522(config, m_via6522, 4_MHz_XTAL / 4);
m_via6522->readpa_handler().set(FUNC(acrnsys_state::kbd_r));
//m_via6522->cb2_handler().set(FUNC(acrnsys_state::cass_w));
m_via6522->irq_handler().set(m_irqs, FUNC(input_merger_device::in_w<0>));
@@ -409,7 +409,7 @@ void acrnsys_state::a6809(machine_config &config)
INPUT_MERGER_ANY_HIGH(config, m_irqs).output_handler().set_inputline(m_maincpu, M6809_IRQ_LINE);
- VIA6522(config, m_via6522, 4_MHz_XTAL / 4);
+ MOS6522(config, m_via6522, 4_MHz_XTAL / 4);
m_via6522->writepa_handler().set("cent_data_out", FUNC(output_latch_device::write));
m_via6522->ca2_handler().set("centronics", FUNC(centronics_device::write_strobe));
//m_via6522->cb2_handler().set(FUNC(acrnsys_state::cass_w));
diff --git a/src/mame/drivers/aim65.cpp b/src/mame/drivers/aim65.cpp
index 33bea272c6d..0619b52988e 100644
--- a/src/mame/drivers/aim65.cpp
+++ b/src/mame/drivers/aim65.cpp
@@ -253,7 +253,7 @@ void aim65_state::aim65(machine_config &config)
m_riot->pb_rd_callback().set([this] () { return aim65_state::z33_pb_r(); });
m_riot->irq_wr_callback().set_inputline(m_maincpu, M6502_IRQ_LINE);
- VIA6522(config, m_via0, AIM65_CLOCK);
+ MOS6522(config, m_via0, AIM65_CLOCK);
m_via0->readpb_handler().set([this] () { return aim65_state::z32_pb_r(); });
m_via0->writepa_handler().set([this] (u8 data) { aim65_state::z32_pa_w(data); });
m_via0->writepb_handler().set([this] (u8 data) { aim65_state::z32_pb_w(data); });
@@ -266,7 +266,7 @@ void aim65_state::aim65(machine_config &config)
m_via0->cb2_handler().set([this] (bool state) { aim65_state::z32_cb2_w(state); });
m_via0->irq_handler().set_inputline(m_maincpu, M6502_IRQ_LINE);
- VIA6522(config, m_via1, AIM65_CLOCK);
+ MOS6522(config, m_via1, AIM65_CLOCK);
m_via1->irq_handler().set_inputline(m_maincpu, M6502_IRQ_LINE);
PIA6821(config, m_pia, 0);
diff --git a/src/mame/drivers/aim65_40.cpp b/src/mame/drivers/aim65_40.cpp
index 92c3c103a88..ccb2f04d9b5 100644
--- a/src/mame/drivers/aim65_40.cpp
+++ b/src/mame/drivers/aim65_40.cpp
@@ -135,9 +135,9 @@ void aim65_40_state::aim65_40(machine_config &config)
/* sound hardware */
/* devices */
- VIA6522(config, M6522_0_TAG, 1000000);
- VIA6522(config, M6522_1_TAG, 1000000);
- VIA6522(config, M6522_2_TAG, 1000000);
+ MOS6522(config, M6522_0_TAG, 1000000);
+ MOS6522(config, M6522_1_TAG, 1000000);
+ MOS6522(config, M6522_2_TAG, 1000000);
mos6551_device &acia(MOS6551(config, M6551_TAG, 0));
acia.set_xtal(1.8432_MHz_XTAL);
diff --git a/src/mame/drivers/apple3.cpp b/src/mame/drivers/apple3.cpp
index 4e284c1d2aa..470825e3a36 100644
--- a/src/mame/drivers/apple3.cpp
+++ b/src/mame/drivers/apple3.cpp
@@ -141,12 +141,12 @@ void apple3_state::apple3(machine_config &config)
m_rtc->irq().set(m_via[1], FUNC(via6522_device::write_ca1));
/* via */
- VIA6522(config, m_via[0], 14.318181_MHz_XTAL / 14);
+ MOS6522(config, m_via[0], 14.318181_MHz_XTAL / 14);
m_via[0]->writepa_handler().set(FUNC(apple3_state::apple3_via_0_out_a));
m_via[0]->writepb_handler().set(FUNC(apple3_state::apple3_via_0_out_b));
m_via[0]->irq_handler().set("mainirq", FUNC(input_merger_device::in_w<2>));
- VIA6522(config, m_via[1], 14.318181_MHz_XTAL / 14);
+ MOS6522(config, m_via[1], 14.318181_MHz_XTAL / 14);
m_via[1]->writepa_handler().set(FUNC(apple3_state::apple3_via_1_out_a));
m_via[1]->writepb_handler().set(FUNC(apple3_state::apple3_via_1_out_b));
m_via[1]->irq_handler().set("mainirq", FUNC(input_merger_device::in_w<1>));
diff --git a/src/mame/drivers/applix.cpp b/src/mame/drivers/applix.cpp
index 584b6429b05..1aa400a060b 100644
--- a/src/mame/drivers/applix.cpp
+++ b/src/mame/drivers/applix.cpp
@@ -917,7 +917,7 @@ void applix_state::applix(machine_config &config)
m_crtc->set_begin_update_callback(FUNC(applix_state::crtc_update_border));
m_crtc->out_vsync_callback().set(FUNC(applix_state::vsync_w));
- VIA6522(config, m_via, 30_MHz_XTAL / 4 / 10); // VIA uses 68000 E clock
+ MOS6522(config, m_via, 30_MHz_XTAL / 4 / 10); // VIA uses 68000 E clock
m_via->readpb_handler().set(FUNC(applix_state::applix_pb_r));
// in CB1 kbd clk
// in CA2 vsync
diff --git a/src/mame/drivers/aristmk4.cpp b/src/mame/drivers/aristmk4.cpp
index 75251a03cb8..12b5a0c3146 100644
--- a/src/mame/drivers/aristmk4.cpp
+++ b/src/mame/drivers/aristmk4.cpp
@@ -1805,7 +1805,7 @@ void aristmk4_state::aristmk4(machine_config &config)
ppi.in_pb_callback().set(FUNC(aristmk4_state::pb1_r));
ppi.in_pc_callback().set(FUNC(aristmk4_state::pc1_r));
- via6522_device &via(VIA6522(config, "via6522_0", MAIN_CLOCK/8)); // R65C22P2
+ via6522_device &via(R65C22(config, "via6522_0", MAIN_CLOCK/8)); // R65C22P2
via.readpa_handler().set(FUNC(aristmk4_state::via_a_r));
via.readpb_handler().set(FUNC(aristmk4_state::via_b_r));
via.writepa_handler().set(FUNC(aristmk4_state::via_a_w));
diff --git a/src/mame/drivers/atarisy1.cpp b/src/mame/drivers/atarisy1.cpp
index ee40670efd1..dc2f3665a19 100644
--- a/src/mame/drivers/atarisy1.cpp
+++ b/src/mame/drivers/atarisy1.cpp
@@ -721,7 +721,7 @@ void atarisy1_state::add_speech(machine_config &config)
m_tms->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
m_tms->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
- VIA6522(config, m_via, 14.318181_MHz_XTAL/8);
+ MOS6522(config, m_via, 14.318181_MHz_XTAL/8);
m_via->readpa_handler().set(m_tms, FUNC(tms5220_device::status_r));
m_via->readpb_handler().set(FUNC(atarisy1_state::via_pb_r));
m_via->writepa_handler().set(m_tms, FUNC(tms5220_device::data_w));
diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp
index 7f4d8036c51..7ffdb800a3a 100644
--- a/src/mame/drivers/atom.cpp
+++ b/src/mame/drivers/atom.cpp
@@ -5,7 +5,7 @@ Acorn Atom:
Memory map.
-CPU: 65C02
+CPU: 6502
0000-00ff Zero page
0100-01ff Stack
0200-1fff RAM (expansion)
@@ -726,7 +726,7 @@ void atom_state::atom_common(machine_config &config)
clock_device &cass_clock(CLOCK(config, "cass_clock", X2/16/13/8));
cass_clock.signal_handler().set(FUNC(atom_state::cassette_output_tick)); // 2403.846Hz
- VIA6522(config, m_via, X2/4);
+ MOS6522(config, m_via, X2/4);
m_via->writepa_handler().set("cent_data_out", FUNC(output_latch_device::write));
m_via->ca2_handler().set(m_centronics, FUNC(centronics_device::write_strobe));
m_via->irq_handler().set_inputline(SY6502_TAG, M6502_IRQ_LINE);
diff --git a/src/mame/drivers/ave_arb.cpp b/src/mame/drivers/ave_arb.cpp
index 50316e8fc54..1ba8958eaf9 100644
--- a/src/mame/drivers/ave_arb.cpp
+++ b/src/mame/drivers/ave_arb.cpp
@@ -269,7 +269,7 @@ void arb_state::v2(machine_config &config)
M65C02(config, m_maincpu, 16_MHz_XTAL); // W65C02S6TPG-14
m_maincpu->set_addrmap(AS_PROGRAM, &arb_state::v2_map);
- VIA6522(config, m_via, 16_MHz_XTAL); // W65C22S6TPG-14
+ W65C22S(config, m_via, 16_MHz_XTAL); // W65C22S6TPG-14
m_via->writepa_handler().set(FUNC(arb_state::leds_w));
m_via->writepb_handler().set(FUNC(arb_state::control_w));
m_via->readpa_handler().set(FUNC(arb_state::input_r));
@@ -298,7 +298,11 @@ void arb_state::arb(machine_config &config)
M6502(config.replace(), m_maincpu, 4_MHz_XTAL/2); // R6502P
m_maincpu->set_addrmap(AS_PROGRAM, &arb_state::main_map);
- m_via->set_clock(4_MHz_XTAL/4); // R6522P
+ MOS6522(config.replace(), m_via, 4_MHz_XTAL/4); // R6522P
+ m_via->writepa_handler().set(FUNC(arb_state::leds_w));
+ m_via->writepb_handler().set(FUNC(arb_state::control_w));
+ m_via->readpa_handler().set(FUNC(arb_state::input_r));
+ m_via->irq_handler().set_inputline(m_maincpu, M6502_IRQ_LINE);
/* cartridge */
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "arb");
diff --git a/src/mame/drivers/bbc.cpp b/src/mame/drivers/bbc.cpp
index 46a64aa2ef0..a48bd30a15f 100644
--- a/src/mame/drivers/bbc.cpp
+++ b/src/mame/drivers/bbc.cpp
@@ -1136,7 +1136,7 @@ void bbc_state::bbca(machine_config &config)
m_acia_clock->signal_handler().set(FUNC(bbc_state::write_acia_clock));
/* system via */
- VIA6522(config, m_via6522_0, 16_MHz_XTAL / 16);
+ MOS6522(config, m_via6522_0, 16_MHz_XTAL / 16);
m_via6522_0->readpa_handler().set(FUNC(bbc_state::via_system_porta_r));
m_via6522_0->readpb_handler().set(FUNC(bbc_state::via_system_portb_r));
m_via6522_0->writepa_handler().set(FUNC(bbc_state::via_system_porta_w));
@@ -1175,7 +1175,7 @@ void bbc_state::bbcb(machine_config &config)
m_tms->add_route(ALL_OUTPUTS, "mono", 1.0);
/* user via */
- VIA6522(config, m_via6522_1, 16_MHz_XTAL / 16);
+ MOS6522(config, m_via6522_1, 16_MHz_XTAL / 16);
m_via6522_1->writepa_handler().set("cent_data_out", FUNC(output_latch_device::write));
m_via6522_1->readpb_handler().set(m_userport, FUNC(bbc_userport_slot_device::pb_r));
m_via6522_1->writepb_handler().set(m_userport, FUNC(bbc_userport_slot_device::pb_w));
@@ -1667,7 +1667,7 @@ void bbcm_state::bbcm(machine_config &config)
m_upd7002->set_eoc_callback(FUNC(bbc_state::upd7002_eoc));
/* system via */
- VIA6522(config, m_via6522_0, 16_MHz_XTAL / 16);
+ MOS6522(config, m_via6522_0, 16_MHz_XTAL / 16);
m_via6522_0->readpa_handler().set(FUNC(bbc_state::via_system_porta_r));
m_via6522_0->readpb_handler().set(FUNC(bbc_state::via_system_portb_r));
m_via6522_0->writepa_handler().set(FUNC(bbc_state::via_system_porta_w));
@@ -1675,7 +1675,7 @@ void bbcm_state::bbcm(machine_config &config)
m_via6522_0->irq_handler().set(m_irqs, FUNC(input_merger_device::in_w<1>));
/* user via */
- VIA6522(config, m_via6522_1, 16_MHz_XTAL / 16);
+ MOS6522(config, m_via6522_1, 16_MHz_XTAL / 16);
m_via6522_1->writepa_handler().set("cent_data_out", FUNC(output_latch_device::write));
m_via6522_1->readpb_handler().set(m_userport, FUNC(bbc_userport_slot_device::pb_r));
m_via6522_1->writepb_handler().set(m_userport, FUNC(bbc_userport_slot_device::pb_w));
diff --git a/src/mame/drivers/beezer.cpp b/src/mame/drivers/beezer.cpp
index 4d6a88944ce..9e6e456b886 100644
--- a/src/mame/drivers/beezer.cpp
+++ b/src/mame/drivers/beezer.cpp
@@ -508,7 +508,7 @@ void beezer_state::beezer(machine_config &config)
m_sysbank->set_addr_width(15);
m_sysbank->set_stride(0x1000);
- VIA6522(config, m_via_system, XTAL(12'000'000) / 12);
+ MOS6522(config, m_via_system, XTAL(12'000'000) / 12);
m_via_system->readpa_handler().set(FUNC(beezer_state::via_system_pa_r));
m_via_system->readpb_handler().set(FUNC(beezer_state::via_system_pb_r));
m_via_system->writepa_handler().set(FUNC(beezer_state::via_system_pa_w));
@@ -537,7 +537,7 @@ void beezer_state::beezer(machine_config &config)
input_merger_device &audio_irqs(INPUT_MERGER_ANY_HIGH(config, "audio_irqs"));
audio_irqs.output_handler().set_inputline(m_audiocpu, M6809_IRQ_LINE);
- VIA6522(config, m_via_audio, XTAL(4'000'000) / 4);
+ MOS6522(config, m_via_audio, XTAL(4'000'000) / 4);
m_via_audio->readpa_handler().set(FUNC(beezer_state::via_audio_pa_r));
m_via_audio->writepa_handler().set(FUNC(beezer_state::via_audio_pa_w));
m_via_audio->writepb_handler().set(FUNC(beezer_state::via_audio_pb_w));
diff --git a/src/mame/drivers/bmcbowl.cpp b/src/mame/drivers/bmcbowl.cpp
index 03ac876642d..d615f34538d 100644
--- a/src/mame/drivers/bmcbowl.cpp
+++ b/src/mame/drivers/bmcbowl.cpp
@@ -499,7 +499,7 @@ void bmcbowl_state::bmcbowl(machine_config &config)
oki.add_route(ALL_OUTPUTS, "rspeaker", 0.50);
/* via */
- via6522_device &via(VIA6522(config, "via6522_0", XTAL(3'579'545) / 4)); // clock not verified (controls music tempo)
+ via6522_device &via(MOS6522(config, "via6522_0", XTAL(3'579'545) / 4)); // clock not verified (controls music tempo)
via.readpb_handler().set_ioport("IN3");
via.writepa_handler().set(FUNC(bmcbowl_state::via_a_out));
via.writepb_handler().set(FUNC(bmcbowl_state::via_b_out));
diff --git a/src/mame/drivers/chexx.cpp b/src/mame/drivers/chexx.cpp
index a2c91723579..8b837c1d0c1 100644
--- a/src/mame/drivers/chexx.cpp
+++ b/src/mame/drivers/chexx.cpp
@@ -381,7 +381,7 @@ void chexx_state::chexx(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &chexx_state::mem);
// via
- VIA6522(config, m_via, MAIN_CLOCK/4);
+ MOS6522(config, m_via, MAIN_CLOCK/4);
m_via->readpa_handler().set(FUNC(chexx_state::via_a_in));
m_via->readpb_handler().set(FUNC(chexx_state::via_b_in));
diff --git a/src/mame/drivers/clcd.cpp b/src/mame/drivers/clcd.cpp
index aae6accb85e..2f8c678be13 100644
--- a/src/mame/drivers/clcd.cpp
+++ b/src/mame/drivers/clcd.cpp
@@ -667,13 +667,13 @@ void clcd_state::clcd(machine_config &config)
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", m65c02_device::IRQ_LINE);
- via6522_device &via0(VIA6522(config, "via0", 2000000));
+ via6522_device &via0(R65C22(config, "via0", 2000000));
via0.writepa_handler().set(FUNC(clcd_state::via0_pa_w));
via0.writepb_handler().set(FUNC(clcd_state::via0_pb_w));
via0.cb1_handler().set(FUNC(clcd_state::via0_cb1_w));
via0.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<0>));
- via6522_device &via1(VIA6522(config, "via1", 2000000));
+ via6522_device &via1(R65C22(config, "via1", 2000000));
via1.writepa_handler().set(FUNC(clcd_state::via1_pa_w));
via1.writepb_handler().set(FUNC(clcd_state::via1_pb_w));
via1.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<1>));
diff --git a/src/mame/drivers/cms.cpp b/src/mame/drivers/cms.cpp
index a6ca7622d3c..f80fc0bf391 100644
--- a/src/mame/drivers/cms.cpp
+++ b/src/mame/drivers/cms.cpp
@@ -164,7 +164,7 @@ void cms_state::cms6502(machine_config &config)
INPUT_MERGER_ANY_HIGH(config, m_irqs).output_handler().set_inputline(m_maincpu, M6502_IRQ_LINE);
- VIA6522(config, m_via, 1_MHz_XTAL);
+ MOS6522(config, m_via, 1_MHz_XTAL);
m_via->irq_handler().set("irqs", FUNC(input_merger_device::in_w<0>));
M3002(config, "rtc", 32.768_kHz_XTAL);
diff --git a/src/mame/drivers/concept.cpp b/src/mame/drivers/concept.cpp
index edb2b62c563..f4f8f8c9f7f 100644
--- a/src/mame/drivers/concept.cpp
+++ b/src/mame/drivers/concept.cpp
@@ -240,7 +240,7 @@ void concept_state::concept(machine_config &config)
MM58174(config, m_mm58174, 32.768_kHz_XTAL);
/* via */
- VIA6522(config, m_via0, 16.364_MHz_XTAL / 16);
+ MOS6522(config, m_via0, 16.364_MHz_XTAL / 16);
m_via0->readpa_handler().set(FUNC(concept_state::via_in_a));
m_via0->readpb_handler().set(FUNC(concept_state::via_in_b));
m_via0->writepa_handler().set(FUNC(concept_state::via_out_a));
diff --git a/src/mame/drivers/cops.cpp b/src/mame/drivers/cops.cpp
index 049a19e3328..f9167cd1f5a 100644
--- a/src/mame/drivers/cops.cpp
+++ b/src/mame/drivers/cops.cpp
@@ -915,7 +915,7 @@ void cops_state::base(machine_config &config)
screen.set_screen_update("laserdisc", FUNC(laserdisc_device::screen_update));
/* via */
- via6522_device &via1(VIA6522(config, "via6522_1", MAIN_CLOCK/2));
+ via6522_device &via1(MOS6522(config, "via6522_1", MAIN_CLOCK/2));
via1.irq_handler().set(FUNC(cops_state::via1_irq));
via1.writepb_handler().set(FUNC(cops_state::via1_b_w));
via1.cb1_handler().set(FUNC(cops_state::via1_cb1_w));
@@ -934,10 +934,10 @@ void cops_state::cops(machine_config &config)
base(config);
m_maincpu->set_addrmap(AS_PROGRAM, &cops_state::cops_map);
- via6522_device &via2(VIA6522(config, "via6522_2", MAIN_CLOCK/2));
+ via6522_device &via2(MOS6522(config, "via6522_2", MAIN_CLOCK/2));
via2.irq_handler().set(FUNC(cops_state::via2_irq));
- via6522_device &via3(VIA6522(config, "via6522_3", MAIN_CLOCK/2));
+ via6522_device &via3(MOS6522(config, "via6522_3", MAIN_CLOCK/2));
via3.readpa_handler().set(FUNC(cops_state::cdrom_data_r));
via3.writepa_handler().set(FUNC(cops_state::cdrom_data_w));
via3.writepb_handler().set(FUNC(cops_state::cdrom_ctrl_w));
diff --git a/src/mame/drivers/ec65.cpp b/src/mame/drivers/ec65.cpp
index 4ce325e34b5..17316a5b9da 100644
--- a/src/mame/drivers/ec65.cpp
+++ b/src/mame/drivers/ec65.cpp
@@ -233,9 +233,9 @@ void ec65_state::ec65(machine_config &config)
ACIA6850(config, "fdc", 0); // used as a FDC on separate card
PIA6821(config, "pia", 0); // assists 6850
- VIA6522(config, m_via0, XTAL(4'000'000) / 4);
+ MOS6522(config, m_via0, XTAL(4'000'000) / 4);
- VIA6522(config, m_via1, XTAL(4'000'000) / 4);
+ MOS6522(config, m_via1, XTAL(4'000'000) / 4);
mos6551_device &uart(MOS6551(config, "uart", 0));
uart.set_xtal(XTAL(1'843'200));
diff --git a/src/mame/drivers/electron.cpp b/src/mame/drivers/electron.cpp
index f60a6936a19..0e971a9e4b5 100644
--- a/src/mame/drivers/electron.cpp
+++ b/src/mame/drivers/electron.cpp
@@ -330,7 +330,7 @@ void electronsp_state::electronsp(machine_config &config)
m_romi[1]->set_device_load(FUNC(electronsp_state::rom2_load));
/* via */
- VIA6522(config, m_via, 16_MHz_XTAL / 16);
+ MOS6522(config, m_via, 16_MHz_XTAL / 16);
m_via->readpb_handler().set(m_userport, FUNC(bbc_userport_slot_device::pb_r));
m_via->writepb_handler().set(m_userport, FUNC(bbc_userport_slot_device::pb_w));
m_via->cb1_handler().set(m_userport, FUNC(bbc_userport_slot_device::write_cb1));
diff --git a/src/mame/drivers/emma2.cpp b/src/mame/drivers/emma2.cpp
index 6d965780f3c..8ccad2e2f96 100644
--- a/src/mame/drivers/emma2.cpp
+++ b/src/mame/drivers/emma2.cpp
@@ -197,7 +197,7 @@ void emma2_state::emma2(machine_config &config)
m_display->set_segmask(0xff, 0xff);
/* Devices */
- VIA6522(config, m_via, 1'000'000); // #2 from cpu
+ MOS6522(config, m_via, 1'000'000); // #2 from cpu
m_via->irq_handler().set_inputline(m_maincpu, m6502_device::IRQ_LINE);
PIA6821(config, m_pia, 0);
diff --git a/src/mame/drivers/enmirage.cpp b/src/mame/drivers/enmirage.cpp
index 4d5a226e1d7..e67c8c7abd8 100644
--- a/src/mame/drivers/enmirage.cpp
+++ b/src/mame/drivers/enmirage.cpp
@@ -179,7 +179,7 @@ void enmirage_state::mirage(machine_config &config)
es5503.add_route(0, "lspeaker", 1.0);
es5503.add_route(1, "rspeaker", 1.0);
- VIA6522(config, m_via, 1000000);
+ MOS6522(config, m_via, 1000000);
m_via->writepa_handler().set(FUNC(enmirage_state::mirage_via_write_porta));
m_via->writepb_handler().set(FUNC(enmirage_state::mirage_via_write_portb));
m_via->irq_handler().set_inputline(m_maincpu, M6809_IRQ_LINE);
diff --git a/src/mame/drivers/epic14e.cpp b/src/mame/drivers/epic14e.cpp
index 65647de0e8b..6f3eb99bf10 100644
--- a/src/mame/drivers/epic14e.cpp
+++ b/src/mame/drivers/epic14e.cpp
@@ -206,7 +206,7 @@ void epic14e_state::epic14e(machine_config &config)
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, m6502_device::IRQ_LINE);
- VIA6522(config, m_via, 17.01_MHz_XTAL / 9); // SY6522A
+ MOS6522(config, m_via, 17.01_MHz_XTAL / 9); // SY6522A
m_via->irq_handler().set("mainirq", FUNC(input_merger_device::in_w<0>));
I8748(config, "keybmcu", 4608000).set_disable();
diff --git a/src/mame/drivers/esprit.cpp b/src/mame/drivers/esprit.cpp
index 6969eabe52e..9214f1abe97 100644
--- a/src/mame/drivers/esprit.cpp
+++ b/src/mame/drivers/esprit.cpp
@@ -181,7 +181,7 @@ void esprit_state::esprit3(machine_config &config)
acia2.set_xtal(1.8432_MHz_XTAL);
acia2.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<1>));
- via6522_device &via(VIA6522(config, "via", 17.9712_MHz_XTAL / 18));
+ via6522_device &via(MOS6522(config, "via", 17.9712_MHz_XTAL / 18));
via.irq_handler().set_inputline(m_maincpu, m6502_device::NMI_LINE);
via.writepb_handler().set("acia", FUNC(acia6850_device::write_rxc)).bit(7);
via.writepb_handler().append("acia", FUNC(acia6850_device::write_txc)).bit(7);
diff --git a/src/mame/drivers/gameplan.cpp b/src/mame/drivers/gameplan.cpp
index 4659a5134e8..a2460fb8e8d 100644
--- a/src/mame/drivers/gameplan.cpp
+++ b/src/mame/drivers/gameplan.cpp
@@ -976,18 +976,18 @@ void gameplan_state::gameplan(machine_config &config)
aysnd.add_route(ALL_OUTPUTS, "mono", 0.33);
/* via */
- VIA6522(config, m_via_0, GAMEPLAN_MAIN_CPU_CLOCK);
+ MOS6522(config, m_via_0, GAMEPLAN_MAIN_CPU_CLOCK);
m_via_0->writepa_handler().set(FUNC(gameplan_state::video_data_w));
m_via_0->writepb_handler().set(FUNC(gameplan_state::gameplan_video_command_w));
m_via_0->ca2_handler().set(FUNC(gameplan_state::video_command_trigger_w));
m_via_0->irq_handler().set(FUNC(gameplan_state::via_irq));
- VIA6522(config, m_via_1, GAMEPLAN_MAIN_CPU_CLOCK);
+ MOS6522(config, m_via_1, GAMEPLAN_MAIN_CPU_CLOCK);
m_via_1->readpa_handler().set(FUNC(gameplan_state::io_port_r));
m_via_1->writepb_handler().set(FUNC(gameplan_state::io_select_w));
m_via_1->cb2_handler().set(FUNC(gameplan_state::coin_w));
- VIA6522(config, m_via_2, GAMEPLAN_MAIN_CPU_CLOCK);
+ MOS6522(config, m_via_2, GAMEPLAN_MAIN_CPU_CLOCK);
m_via_2->readpb_handler().set(m_soundlatch, FUNC(generic_latch_8_device::read));
m_via_2->writepa_handler().set(FUNC(gameplan_state::audio_cmd_w));
m_via_2->ca2_handler().set(FUNC(gameplan_state::audio_trigger_w));
diff --git a/src/mame/drivers/goupil.cpp b/src/mame/drivers/goupil.cpp
index c1129113d35..ba41c93b42f 100644
--- a/src/mame/drivers/goupil.cpp
+++ b/src/mame/drivers/goupil.cpp
@@ -537,12 +537,12 @@ void goupil_base_state::base(machine_config &config)
ACIA6850(config, m_acia, 0);
// TODO: Is this specific to the G1?
- VIA6522(config, m_via_video, CPU_CLOCK / 4);
+ MOS6522(config, m_via_video, CPU_CLOCK / 4);
- VIA6522(config, m_via_keyb, CPU_CLOCK / 4);
+ MOS6522(config, m_via_keyb, CPU_CLOCK / 4);
m_via_keyb->irq_handler().set_inputline(m_maincpu, M6808_IRQ_LINE);
- VIA6522(config, m_via_modem, CPU_CLOCK / 4);
+ MOS6522(config, m_via_modem, CPU_CLOCK / 4);
m_via_modem->irq_handler().set_inputline(m_maincpu, M6808_IRQ_LINE);
/* Floppy */
diff --git a/src/mame/drivers/gts3.cpp b/src/mame/drivers/gts3.cpp
index 0239e69af21..4e9019679f2 100644
--- a/src/mame/drivers/gts3.cpp
+++ b/src/mame/drivers/gts3.cpp
@@ -296,7 +296,7 @@ void gts3_state::gts3(machine_config &config)
genpin_audio(config);
- VIA6522(config, m_u4, XTAL(4'000'000) / 2);
+ R65C22(config, m_u4, XTAL(4'000'000) / 2);
m_u4->irq_handler().set_inputline(m_maincpu, M65C02_IRQ_LINE);
m_u4->readpa_handler().set(FUNC(gts3_state::u4a_r));
m_u4->readpb_handler().set(FUNC(gts3_state::u4b_r));
@@ -304,7 +304,7 @@ void gts3_state::gts3(machine_config &config)
//m_u4->ca2_handler().set(FUNC(gts3_state::u4ca2_w));
m_u4->cb2_handler().set(FUNC(gts3_state::nmi_w));
- VIA6522(config, m_u5, XTAL(4'000'000) / 2);
+ R65C22(config, m_u5, XTAL(4'000'000) / 2);
m_u5->irq_handler().set_inputline(m_maincpu, M65C02_IRQ_LINE);
//m_u5->readpa_handler().set(FUNC(gts3_state::u5a_r));
//m_u5->readpb_handler().set(FUNC(gts3_state::u5b_r));
diff --git a/src/mame/drivers/gts3a.cpp b/src/mame/drivers/gts3a.cpp
index 86a613df8b3..e70ae337197 100644
--- a/src/mame/drivers/gts3a.cpp
+++ b/src/mame/drivers/gts3a.cpp
@@ -371,7 +371,7 @@ void gts3a_state::gts3a(machine_config &config)
/* Sound */
genpin_audio(config);
- VIA6522(config, m_u4, XTAL(4'000'000) / 2);
+ R65C22(config, m_u4, XTAL(4'000'000) / 2);
m_u4->irq_handler().set_inputline(m_maincpu, M65C02_IRQ_LINE);
m_u4->readpa_handler().set(FUNC(gts3a_state::u4a_r));
m_u4->readpb_handler().set(FUNC(gts3a_state::u4b_r));
@@ -379,7 +379,7 @@ void gts3a_state::gts3a(machine_config &config)
//m_u4->ca2_handler().set(FUNC(gts3a_state::u4ca2_w));
m_u4->cb2_handler().set(FUNC(gts3a_state::nmi_w));
- VIA6522(config, m_u5, XTAL(4'000'000) / 2);
+ R65C22(config, m_u5, XTAL(4'000'000) / 2);
m_u5->irq_handler().set_inputline(m_maincpu, M65C02_IRQ_LINE);
//m_u5->readpa_handler().set(FUNC(gts3a_state::u5a_r));
//m_u5->readpb_handler().set(FUNC(gts3a_state::u5b_r));
diff --git a/src/mame/drivers/hhtiger.cpp b/src/mame/drivers/hhtiger.cpp
index 66449dbc73e..d09b83a02f6 100644
--- a/src/mame/drivers/hhtiger.cpp
+++ b/src/mame/drivers/hhtiger.cpp
@@ -512,7 +512,7 @@ void hhtiger_state::hhtiger(machine_config &config)
m_gdc->set_draw_text(FUNC(hhtiger_state::draw_text));
m_gdc->set_screen(m_screen);
- VIA6522(config, m_via[0], 16_MHz_XTAL / 16);
+ MOS6522(config, m_via[0], 16_MHz_XTAL / 16);
m_via[0]->readpa_handler().set(FUNC(hhtiger_state::via_0_in_a));
m_via[0]->writepa_handler().set(FUNC(hhtiger_state::via_0_out_a));
m_via[0]->writepb_handler().set(FUNC(hhtiger_state::via_0_out_b));
@@ -520,7 +520,7 @@ void hhtiger_state::hhtiger(machine_config &config)
m_via[0]->cb2_handler().set(FUNC(hhtiger_state::via_0_out_cb2));
m_via[0]->irq_handler().set(m_irqs, FUNC(input_merger_device::in_w<0>));
- VIA6522(config, m_via[1], 16_MHz_XTAL / 16);
+ MOS6522(config, m_via[1], 16_MHz_XTAL / 16);
m_via[1]->irq_handler().set(m_irqs, FUNC(input_merger_device::in_w<1>));
m_via[1]->writepa_handler().set(FUNC(hhtiger_state::via_1_out_a));
m_via[1]->writepb_handler().set(FUNC(hhtiger_state::via_1_out_b));
diff --git a/src/mame/drivers/itech32.cpp b/src/mame/drivers/itech32.cpp
index 225cf0bf99e..50fae1f92b9 100644
--- a/src/mame/drivers/itech32.cpp
+++ b/src/mame/drivers/itech32.cpp
@@ -1751,7 +1751,7 @@ void itech32_state::base_devices(machine_config &config)
void itech32_state::via(machine_config &config)
{
- VIA6522(config, m_via, SOUND_CLOCK/8);
+ MOS6522(config, m_via, SOUND_CLOCK/8);
m_via->writepb_handler().set(FUNC(itech32_state::pia_portb_out));
m_via->irq_handler().set_inputline(m_soundcpu, M6809_FIRQ_LINE);
}
diff --git a/src/mame/drivers/itech8.cpp b/src/mame/drivers/itech8.cpp
index 276963c6077..21b418e8b17 100644
--- a/src/mame/drivers/itech8.cpp
+++ b/src/mame/drivers/itech8.cpp
@@ -1744,7 +1744,7 @@ void itech8_state::itech8_core_devices(machine_config &config)
GENERIC_LATCH_8(config, m_soundlatch, 0);
m_soundlatch->data_pending_callback().set_inputline(m_soundcpu, M6809_IRQ_LINE);
- via6522_device &via(VIA6522(config, "via6522_0", CLOCK_8MHz/4));
+ via6522_device &via(MOS6522(config, "via6522_0", CLOCK_8MHz/4));
via.writepb_handler().set(FUNC(itech8_state::pia_portb_out));
via.irq_handler().set_inputline(m_soundcpu, M6809_FIRQ_LINE);
}
diff --git a/src/mame/drivers/jr100.cpp b/src/mame/drivers/jr100.cpp
index 3e750b71a52..0f1342e4fdf 100644
--- a/src/mame/drivers/jr100.cpp
+++ b/src/mame/drivers/jr100.cpp
@@ -397,7 +397,7 @@ void jr100_state::jr100(machine_config &config)
GFXDECODE(config, "gfxdecode", "palette", gfx_jr100);
PALETTE(config, "palette", palette_device::MONOCHROME);
- VIA6522(config, m_via, XTAL(14'318'181) / 16); // see note in TODO
+ MOS6522(config, m_via, XTAL(14'318'181) / 16); // see note in TODO
m_via->readpb_handler().set(FUNC(jr100_state::pb_r));
m_via->writepa_handler().set(FUNC(jr100_state::pa_w));
m_via->writepb_handler().set(FUNC(jr100_state::pb_w));
diff --git a/src/mame/drivers/jvh.cpp b/src/mame/drivers/jvh.cpp
index ca8311c20a5..e69f8c7fca3 100644
--- a/src/mame/drivers/jvh.cpp
+++ b/src/mame/drivers/jvh.cpp
@@ -131,7 +131,7 @@ void jvh_state::common(machine_config &config)
m6802_cpu_device &soundcpu(M6802(config, "soundcpu", XTAL(4'000'000)));
soundcpu.set_addrmap(AS_PROGRAM, &jvh_state::jvh_sub_map);
- via6522_device &via(VIA6522(config, "via", XTAL(4'000'000) / 4)); // MC6802 E clock
+ via6522_device &via(MOS6522(config, "via", XTAL(4'000'000) / 4)); // MC6802 E clock
via.irq_handler().set_inputline("soundcpu", M6802_IRQ_LINE);
}
diff --git a/src/mame/drivers/lisa.cpp b/src/mame/drivers/lisa.cpp
index 38ab487ab35..bda1882eb5c 100644
--- a/src/mame/drivers/lisa.cpp
+++ b/src/mame/drivers/lisa.cpp
@@ -154,14 +154,14 @@ void lisa_state::lisa(machine_config &config)
SOFTWARE_LIST(config, "disk_list").set_original("lisa");
/* via */
- VIA6522(config, m_via0, 20.37504_MHz_XTAL / 40); // CPU E clock (nominally 500 kHz)
+ MOS6522(config, m_via0, 20.37504_MHz_XTAL / 40); // CPU E clock (nominally 500 kHz)
m_via0->writepa_handler().set(FUNC(lisa_state::COPS_via_out_a));
m_via0->writepb_handler().set(FUNC(lisa_state::COPS_via_out_b));
m_via0->ca2_handler().set(FUNC(lisa_state::COPS_via_out_ca2));
m_via0->cb2_handler().set(FUNC(lisa_state::COPS_via_out_cb2));
m_via0->irq_handler().set(FUNC(lisa_state::COPS_via_irq_func));
- VIA6522(config, m_via1, 20.37504_MHz_XTAL / 40); // CPU E clock (nominally 500 kHz)
+ MOS6522(config, m_via1, 20.37504_MHz_XTAL / 40); // CPU E clock (nominally 500 kHz)
SCC8530(config, m_scc, 7833600);
}
diff --git a/src/mame/drivers/lwriter.cpp b/src/mame/drivers/lwriter.cpp
index 29757ff3ea9..014c69258d5 100644
--- a/src/mame/drivers/lwriter.cpp
+++ b/src/mame/drivers/lwriter.cpp
@@ -43,12 +43,14 @@
/*
* Hardware: 68000@11.16 MHz
8530 SCC
- 65C22 VIA on newer pcbs (older pcbs might have a 6523/6525 TPI but the pinout is completely different?)
+ "6523" VIA (actually a custom-marked Rockwell R65NC22, not to be confused with the MOS 6523/65C23 TPI;
+ may also be sourced as VLSI VL65C22V-02PC)
2MB DRAM
2KB SRAM
X2804 EEPROM (custom marked as 335-0022) [note that technically a 2808 or 2816 can go here and will work too]
1MB ROM
MMI67L401 64x4 FIFO, x2
+ 342-0440-A PIC (for ADB)
+------------------------------------------------------------------------------------------------------------------------+=====+
| 1 2 3 4 5 6 7 8 9 10 11 | #
@@ -70,7 +72,7 @@
|H |511000| | RP2H | +--------+ +-------+ |7705| +------+ | N #
| +------+ +------+ | F244 | +----+ +-----------------+ |26LS30| | #
|J |511000| | 0259 | +--------+-+----------+ o------o | 338-6523 | +------+ | T #
- | +------+ +------+ | TC531000 | TC531000 | | CONN | | TPI | |26LS30| | #
+ | +------+ +------+ | TC531000 | TC531000 | | CONN | | VIA | |26LS30| | #
|K |511000| +------+ | ROM H3 | ROM L3 | +------+ | == | +-----------------+ +------+ | #
| +------+ | RP2L | +----------+----------+ | F02 | | == | +-------+ | #
|L |511000| +------+ +----------+----------+ +------+ | == | | LS14 | | #
@@ -89,18 +91,11 @@
+------------------------------------------------------------------------------------------------------------------------+=====+
*/
-#define TPI 0 //The TPI is used on the original M6009 board but the first dump is from a newer that uses a VIA
-
#include "emu.h"
#include "cpu/m68000/m68000.h"
#include "bus/rs232/rs232.h"
-#include "machine/z80scc.h"
-
-#if TPI
-#include "machine/6525tpi.h"
-#else
#include "machine/6522via.h"
-#endif
+#include "machine/z80scc.h"
class lwriter_state : public driver_device
{
@@ -135,13 +130,7 @@ private:
required_device<cpu_device> m_maincpu;
required_device<scc8530_device> m_scc;
-
-#if TPI
-#define tpi6523_device tpi6525_device/* TODO: define a type for the TPI6523 of its own in the device header file */
- required_device<tpi6523_device> m_tpi;
-#else
required_device<via6522_device> m_via;
-#endif
uint16_t *m_dram_ptr, *m_sram_ptr, *m_rom_ptr;
bool m_overlay;
@@ -223,11 +212,7 @@ void lwriter_state::maincpu_map(address_map &map)
map(0xa00002, 0xa00002).r(m_scc, FUNC(scc8530_device::cb_r)).mirror(0x1ffff8);
map(0xa00006, 0xa00006).r(m_scc, FUNC(scc8530_device::db_r)).mirror(0x1ffff8);
-#if TPI
- map(0xe00010, 0xe0001f).rw("tpi", FUNC(tpi6523_device::read), FUNC(tpi6523_device::write)).umask16(0x00ff).mirror(0x17ffe0); // Used on older boards, needs proper mapping
-#else
map(0xe00000, 0xe0001f).m(m_via, FUNC(via6522_device::map)).umask16(0x00ff).mirror(0x17ffe0);
-#endif
}
static INPUT_PORTS_START( lwriter )
@@ -382,10 +367,7 @@ void lwriter_state::lwriter(machine_config &config)
rs232b.rxd_handler().set("scc", FUNC(scc8530_device::rxb_w));
rs232b.cts_handler().set("scc", FUNC(scc8530_device::ctsb_w));
-#if TPI
- TPI6525(config, "tpi", 0);
-#else
- VIA6522(config, m_via, CPU_CLK/10); // 68000 E clock presumed
+ R65NC22(config, m_via, CPU_CLK/10); // 68000 E clock presumed
m_via->readpa_handler().set(FUNC(lwriter_state::via_pa_r));
m_via->readpb_handler().set(FUNC(lwriter_state::via_pb_r));
m_via->writepa_handler().set(FUNC(lwriter_state::via_pa_w));
@@ -394,7 +376,6 @@ void lwriter_state::lwriter(machine_config &config)
m_via->ca2_handler().set(FUNC(lwriter_state::via_ca2_w));
m_via->cb2_handler().set(FUNC(lwriter_state::via_cb2_w));
m_via->irq_handler().set(FUNC(lwriter_state::via_int_w));
-#endif
}
/* SCC init sequence
diff --git a/src/mame/drivers/mac.cpp b/src/mame/drivers/mac.cpp
index 1810a154493..5e8d5f8586c 100644
--- a/src/mame/drivers/mac.cpp
+++ b/src/mame/drivers/mac.cpp
@@ -787,7 +787,7 @@ void mac_state::add_scsi(machine_config &config, bool cdrom)
void mac_state::add_via1_adb(machine_config &config, bool macii)
{
- VIA6522(config, m_via1, C7M/10);
+ R65NC22(config, m_via1, C7M/10);
m_via1->readpa_handler().set(FUNC(mac_state::mac_via_in_a));
if (macii)
m_via1->readpb_handler().set(FUNC(mac_state::mac_via_in_b_ii));
@@ -801,7 +801,7 @@ void mac_state::add_via1_adb(machine_config &config, bool macii)
void mac_state::add_via2(machine_config &config)
{
- VIA6522(config, m_via2, C7M/10);
+ R65NC22(config, m_via2, C7M/10);
m_via2->readpa_handler().set(FUNC(mac_state::mac_via2_in_a));
m_via2->readpb_handler().set(FUNC(mac_state::mac_via2_in_b));
m_via2->writepa_handler().set(FUNC(mac_state::mac_via2_out_a));
@@ -932,7 +932,7 @@ void mac_state::maciifx(machine_config &config)
add_base_devices(config, true, 1);
add_scsi(config);
- VIA6522(config, m_via1, C7M/10);
+ R65NC22(config, m_via1, C7M/10);
m_via1->readpa_handler().set(FUNC(mac_state::mac_via_in_a));
m_via1->readpb_handler().set(FUNC(mac_state::mac_via_in_b_ii));
m_via1->writepa_handler().set(FUNC(mac_state::mac_via_out_a));
diff --git a/src/mame/drivers/mac128.cpp b/src/mame/drivers/mac128.cpp
index 0bb4525482f..96678472ace 100644
--- a/src/mame/drivers/mac128.cpp
+++ b/src/mame/drivers/mac128.cpp
@@ -941,7 +941,7 @@ void mac128_state::mac512ke(machine_config &config)
m_scc->configure_channels(C3_7M, 0, C3_7M, 0);
m_scc->out_int_callback().set(FUNC(mac128_state::set_scc_interrupt));
- VIA6522(config, m_via, 1000000);
+ MOS6522(config, m_via, 1000000);
m_via->readpa_handler().set(FUNC(mac128_state::mac_via_in_a));
m_via->readpb_handler().set(FUNC(mac128_state::mac_via_in_b));
m_via->writepa_handler().set(FUNC(mac128_state::mac_via_out_a));
@@ -1009,10 +1009,13 @@ void mac128_state::macse(machine_config &config)
m_macadb->via_data_callback().set(m_via, FUNC(via6522_device::write_cb2));
m_macadb->adb_irq_callback().set(FUNC(mac128_state::adb_irq_w));
+ R65NC22(config.replace(), m_via, 1000000);
+ m_via->readpa_handler().set(FUNC(mac128_state::mac_via_in_a));
m_via->readpb_handler().set(FUNC(mac128_state::mac_via_in_b_se));
m_via->writepa_handler().set(FUNC(mac128_state::mac_via_out_a_se));
m_via->writepb_handler().set(FUNC(mac128_state::mac_via_out_b_se));
m_via->cb2_handler().set(m_macadb, FUNC(macadb_device::adb_data_w));
+ m_via->irq_handler().set(FUNC(mac128_state::mac_via_irq));
/* internal ram */
m_ram->set_default_size("4M");
diff --git a/src/mame/drivers/macpci.cpp b/src/mame/drivers/macpci.cpp
index 4b1dd06c512..269b4b19568 100644
--- a/src/mame/drivers/macpci.cpp
+++ b/src/mame/drivers/macpci.cpp
@@ -129,7 +129,7 @@ void macpci_state::pippin(machine_config &config)
RAM(config, m_ram);
m_ram->set_default_size("32M");
- VIA6522(config, m_via1, C7M/10);
+ R65NC22(config, m_via1, C7M/10);
m_via1->readpa_handler().set(FUNC(macpci_state::mac_via_in_a));
m_via1->readpb_handler().set(FUNC(macpci_state::mac_via_in_b));
m_via1->writepa_handler().set(FUNC(macpci_state::mac_via_out_a));
diff --git a/src/mame/drivers/macprtb.cpp b/src/mame/drivers/macprtb.cpp
index db39bdc4c6c..cdc6f0b1488 100644
--- a/src/mame/drivers/macprtb.cpp
+++ b/src/mame/drivers/macprtb.cpp
@@ -528,7 +528,7 @@ void macportable_state::macprtb(machine_config &config)
SCC85C30(config, m_scc, C7M);
// m_scc->intrq_callback().set(FUNC(macportable_state::set_scc_interrupt));
- VIA6522(config, m_via1, C7M/10);
+ R65NC22(config, m_via1, C7M/10);
m_via1->readpa_handler().set(FUNC(macportable_state::mac_via_in_a));
m_via1->readpb_handler().set(FUNC(macportable_state::mac_via_in_b));
m_via1->writepa_handler().set(FUNC(macportable_state::mac_via_out_a));
diff --git a/src/mame/drivers/macpwrbk030.cpp b/src/mame/drivers/macpwrbk030.cpp
index de727ba4c30..5c92ef275fa 100644
--- a/src/mame/drivers/macpwrbk030.cpp
+++ b/src/mame/drivers/macpwrbk030.cpp
@@ -867,7 +867,7 @@ void macpb030_state::macpb140(machine_config &config)
SCC85C30(config, m_scc, C7M);
// m_scc->intrq_callback().set(FUNC(macpb030_state::set_scc_interrupt));
- VIA6522(config, m_via1, C7M/10);
+ R65NC22(config, m_via1, C7M/10);
m_via1->readpa_handler().set(FUNC(macpb030_state::mac_via_in_a));
m_via1->readpb_handler().set(FUNC(macpb030_state::mac_via_in_b));
m_via1->writepa_handler().set(FUNC(macpb030_state::mac_via_out_a));
@@ -875,7 +875,7 @@ void macpb030_state::macpb140(machine_config &config)
m_via1->irq_handler().set(FUNC(macpb030_state::via_irq_w));
m_via1->cb2_handler().set(FUNC(macpb030_state::via_cb2_w));
- VIA6522(config, m_via2, C7M/10);
+ R65NC22(config, m_via2, C7M/10);
m_via2->readpa_handler().set(FUNC(macpb030_state::mac_via2_in_a));
m_via2->readpb_handler().set(FUNC(macpb030_state::mac_via2_in_b));
m_via2->writepa_handler().set(FUNC(macpb030_state::mac_via2_out_a));
@@ -959,7 +959,7 @@ void macpb030_state::macpb160(machine_config &config)
SCC85C30(config, m_scc, C7M);
// m_scc->intrq_callback().set(FUNC(macpb030_state::set_scc_interrupt));
- VIA6522(config, m_via1, C7M / 10);
+ R65NC22(config, m_via1, C7M / 10);
m_via1->readpa_handler().set(FUNC(macpb030_state::mac_via_in_a));
m_via1->readpb_handler().set(FUNC(macpb030_state::mac_via_in_b));
m_via1->writepa_handler().set(FUNC(macpb030_state::mac_via_out_a));
@@ -967,7 +967,7 @@ void macpb030_state::macpb160(machine_config &config)
m_via1->irq_handler().set(FUNC(macpb030_state::via_irq_w));
m_via1->cb2_handler().set(FUNC(macpb030_state::via_cb2_w));
- VIA6522(config, m_via2, C7M / 10);
+ R65NC22(config, m_via2, C7M / 10);
m_via2->readpa_handler().set(FUNC(macpb030_state::mac_via2_in_a));
m_via2->readpb_handler().set(FUNC(macpb030_state::mac_via2_in_b));
m_via2->writepa_handler().set(FUNC(macpb030_state::mac_via2_out_a));
diff --git a/src/mame/drivers/macquadra700.cpp b/src/mame/drivers/macquadra700.cpp
index 1c68b50f296..c043c90c490 100644
--- a/src/mame/drivers/macquadra700.cpp
+++ b/src/mame/drivers/macquadra700.cpp
@@ -944,7 +944,7 @@ void macquadra_state::macqd700(machine_config &config)
NUBUS_SLOT(config, "nbd", "nubus", mac_nubus_cards, nullptr);
NUBUS_SLOT(config, "nbe", "nubus", mac_nubus_cards, nullptr);
- VIA6522(config, m_via1, C7M/10);
+ R65NC22(config, m_via1, C7M/10);
m_via1->readpa_handler().set(FUNC(macquadra_state::mac_via_in_a));
m_via1->readpb_handler().set(FUNC(macquadra_state::mac_via_in_b));
m_via1->writepa_handler().set(FUNC(macquadra_state::mac_via_out_a));
@@ -952,7 +952,7 @@ void macquadra_state::macqd700(machine_config &config)
m_via1->irq_handler().set(FUNC(macquadra_state::mac_via_irq));
m_via1->cb2_handler().set(FUNC(macquadra_state::via_cb2_w));
- VIA6522(config, m_via2, C7M/10);
+ R65NC22(config, m_via2, C7M/10);
m_via2->readpa_handler().set(FUNC(macquadra_state::mac_via2_in_a));
m_via2->readpb_handler().set(FUNC(macquadra_state::mac_via2_in_b));
m_via2->writepa_handler().set(FUNC(macquadra_state::mac_via2_out_a));
diff --git a/src/mame/drivers/mbc020.cpp b/src/mame/drivers/mbc020.cpp
index 21cdb18b8ff..2adf1210b03 100644
--- a/src/mame/drivers/mbc020.cpp
+++ b/src/mame/drivers/mbc020.cpp
@@ -130,9 +130,9 @@ void mbc020_state::mbc020(machine_config &config)
M6512(config, m_maincpu, 16_MHz_XTAL / 8); // SYU6512A
m_maincpu->set_addrmap(AS_PROGRAM, &mbc020_state::mem_map);
- VIA6522(config, "via", 16_MHz_XTAL / 8); // R6522AP
+ MOS6522(config, "via", 16_MHz_XTAL / 8); // R6522AP
- via6522_device &extvia(VIA6522(config, "extvia", 16_MHz_XTAL / 8)); // not on main board
+ via6522_device &extvia(MOS6522(config, "extvia", 16_MHz_XTAL / 8)); // not on main board
extvia.readpa_handler().set_ioport("PA");
mos6551_device &acia(MOS6551(config, "acia", 16_MHz_XTAL / 8)); // S6551AP
diff --git a/src/mame/drivers/nsg6809.cpp b/src/mame/drivers/nsg6809.cpp
index 17b89691a70..77dfe7166f1 100644
--- a/src/mame/drivers/nsg6809.cpp
+++ b/src/mame/drivers/nsg6809.cpp
@@ -76,7 +76,7 @@ void nsg6809_state::pitchhit(machine_config &config)
MC6809(config, m_maincpu, XTAL(4'000'000)); // clock buffered through 74HC4060
m_maincpu->set_addrmap(AS_PROGRAM, &nsg6809_state::main_map);
- via6522_device &via(VIA6522(config, "via", XTAL(4'000'000) / 4));
+ via6522_device &via(MOS6522(config, "via", XTAL(4'000'000) / 4));
via.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<0>));
mos6551_device &acia(MOS6551(config, "acia", 0));
diff --git a/src/mame/drivers/oric.cpp b/src/mame/drivers/oric.cpp
index 803a2feb0dd..1910c73b5f2 100644
--- a/src/mame/drivers/oric.cpp
+++ b/src/mame/drivers/oric.cpp
@@ -845,7 +845,7 @@ void oric_state::oric(machine_config &config, bool add_ext) // this variable not
m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
/* via */
- VIA6522(config, m_via, 12_MHz_XTAL / 12);
+ MOS6522(config, m_via, 12_MHz_XTAL / 12);
m_via->writepa_handler().set(FUNC(oric_state::via_a_w));
m_via->writepb_handler().set(FUNC(oric_state::via_b_w));
m_via->ca2_handler().set(FUNC(oric_state::via_ca2_w));
@@ -881,7 +881,7 @@ void telestrat_state::telstrat(machine_config &config)
acia.irq_handler().set(FUNC(telestrat_state::acia_irq_w));
/* via */
- VIA6522(config, m_via2, 12_MHz_XTAL / 12);
+ MOS6522(config, m_via2, 12_MHz_XTAL / 12);
m_via2->writepa_handler().set(FUNC(telestrat_state::via2_a_w));
m_via2->writepb_handler().set(FUNC(telestrat_state::via2_b_w));
m_via2->ca2_handler().set(FUNC(telestrat_state::via2_ca2_w));
diff --git a/src/mame/drivers/pet.cpp b/src/mame/drivers/pet.cpp
index f411209ca49..c6520fffa3e 100644
--- a/src/mame/drivers/pet.cpp
+++ b/src/mame/drivers/pet.cpp
@@ -1663,7 +1663,7 @@ void pet_state::base_pet_devices(machine_config &config, const char *default_dri
PALETTE(config, m_palette, palette_device::MONOCHROME);
- VIA6522(config, m_via, XTAL(16'000'000)/16);
+ MOS6522(config, m_via, XTAL(16'000'000)/16);
m_via->readpb_handler().set(FUNC(pet_state::via_pb_r));
m_via->writepa_handler().set(FUNC(pet_state::via_pa_w));
m_via->writepb_handler().set(FUNC(pet_state::via_pb_w));
diff --git a/src/mame/drivers/pntnpuzl.cpp b/src/mame/drivers/pntnpuzl.cpp
index 68429d406d0..7bb9cdee1c7 100644
--- a/src/mame/drivers/pntnpuzl.cpp
+++ b/src/mame/drivers/pntnpuzl.cpp
@@ -360,7 +360,7 @@ void pntnpuzl_state::pntnpuzl(machine_config &config)
EEPROM_93C46_16BIT(config, "eeprom");
- VIA6522(config, m_via, 12_MHz_XTAL / 10);
+ MOS6522(config, m_via, 12_MHz_XTAL / 10);
m_via->readpa_handler().set_ioport("IN2");
m_via->readpb_handler().set_ioport("IN1");
m_via->writepb_handler().set("eeprom", FUNC(eeprom_serial_93cxx_device::di_write)).bit(4);
diff --git a/src/mame/drivers/rmnimbus.cpp b/src/mame/drivers/rmnimbus.cpp
index 71c8d1e1278..11b56579d81 100644
--- a/src/mame/drivers/rmnimbus.cpp
+++ b/src/mame/drivers/rmnimbus.cpp
@@ -185,7 +185,7 @@ void rmnimbus_state::nimbus(machine_config &config)
EEPROM_93C06_16BIT(config, m_eeprom);
- VIA6522(config, m_via, 1000000);
+ MOS6522(config, m_via, 1000000);
m_via->writepa_handler().set("cent_data_out", FUNC(output_latch_device::write));
m_via->writepb_handler().set(FUNC(rmnimbus_state::nimbus_via_write_portb));
m_via->ca2_handler().set(m_centronics, FUNC(centronics_device::write_strobe));
diff --git a/src/mame/drivers/saitek_intchess.cpp b/src/mame/drivers/saitek_intchess.cpp
index 04c5e030b28..9901fe598b8 100644
--- a/src/mame/drivers/saitek_intchess.cpp
+++ b/src/mame/drivers/saitek_intchess.cpp
@@ -297,7 +297,7 @@ void intchess_state::intchess(machine_config &config)
M6502(config, m_maincpu, 4.433619_MHz_XTAL / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &intchess_state::main_map);
- VIA6522(config, m_via, 4.433619_MHz_XTAL / 4); // DDRA = 0xff, DDRB = 0xef
+ MOS6522(config, m_via, 4.433619_MHz_XTAL / 4); // DDRA = 0xff, DDRB = 0xef
m_via->writepa_handler().set(FUNC(intchess_state::seg_w));
m_via->writepb_handler().set(FUNC(intchess_state::control_w));
m_via->readpb_handler().set(FUNC(intchess_state::control_r));
diff --git a/src/mame/drivers/saitek_ssystem3.cpp b/src/mame/drivers/saitek_ssystem3.cpp
index ae504cc2138..d65e8c30c98 100644
--- a/src/mame/drivers/saitek_ssystem3.cpp
+++ b/src/mame/drivers/saitek_ssystem3.cpp
@@ -461,7 +461,7 @@ void ssystem3_state::ssystem4(machine_config &config)
M6502(config, m_maincpu, 4_MHz_XTAL / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &ssystem3_state::ssystem4_map);
- VIA6522(config, m_via, 4_MHz_XTAL / 2);
+ MOS6522(config, m_via, 4_MHz_XTAL / 2);
m_via->writepa_handler().set(FUNC(ssystem3_state::input_w));
m_via->readpa_handler().set(FUNC(ssystem3_state::input_r));
m_via->writepb_handler().set(FUNC(ssystem3_state::control_w));
diff --git a/src/mame/drivers/shine.cpp b/src/mame/drivers/shine.cpp
index 4988a4e449a..fd4752cc16e 100644
--- a/src/mame/drivers/shine.cpp
+++ b/src/mame/drivers/shine.cpp
@@ -263,13 +263,13 @@ void shine_state::shine(machine_config &config)
m_ram->set_default_size("32K");
m_ram->set_extra_options("16K");
- VIA6522(config, m_via[0], 1000000);
+ MOS6522(config, m_via[0], 1000000);
m_via[0]->readpa_handler().set(FUNC(shine_state::via0_pa_r));
m_via[0]->writepb_handler().set(FUNC(shine_state::via0_pb_w));
m_via[0]->irq_handler().set(m_irqs, FUNC(input_merger_device::in_w<0>));
m_via[0]->cb2_handler().set(m_speaker, FUNC(speaker_sound_device::level_w));
- VIA6522(config, m_via[1], 1000000);
+ MOS6522(config, m_via[1], 1000000);
m_via[1]->irq_handler().set(m_irqs, FUNC(input_merger_device::in_w<1>));
CENTRONICS(config, m_centronics, centronics_devices, "printer");
diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp
index 678d9e8df51..ad475ac745c 100644
--- a/src/mame/drivers/swtpc09.cpp
+++ b/src/mame/drivers/swtpc09.cpp
@@ -552,7 +552,7 @@ void swtpc09_state::swtpc09d3(machine_config &config)
HARDDISK(config, "hdc:2", 0);
HARDDISK(config, "hdc:3", 0);
- via6522_device &via(VIA6522(config, "via", 4_MHz_XTAL / 4));
+ via6522_device &via(MOS6522(config, "via", 4_MHz_XTAL / 4));
via.readpa_handler().set(FUNC(swtpc09_state::dmaf3_via_read_porta));
via.readpb_handler().set(FUNC(swtpc09_state::dmaf3_via_read_portb));
via.writepa_handler().set(FUNC(swtpc09_state::dmaf3_via_write_porta));
diff --git a/src/mame/drivers/swyft.cpp b/src/mame/drivers/swyft.cpp
index a4d20d070d4..43d51e032ad 100644
--- a/src/mame/drivers/swyft.cpp
+++ b/src/mame/drivers/swyft.cpp
@@ -768,7 +768,7 @@ void swyft_state::swyft(machine_config &config)
clock_device &acia_clock(CLOCK(config, "acia_clock", (XTAL(15'897'600)/2)/5)); // out e clock from 68008, ~ 10in clocks per out clock
acia_clock.signal_handler().set(FUNC(swyft_state::write_acia_clock));
- via6522_device &via0(VIA6522(config, "via6522_0", (XTAL(15'897'600)/2)/5)); // out e clock from 68008
+ via6522_device &via0(MOS6522(config, "via6522_0", (XTAL(15'897'600)/2)/5)); // out e clock from 68008
via0.readpa_handler().set(FUNC(swyft_state::via0_pa_r));
via0.readpb_handler().set(FUNC(swyft_state::via0_pb_r));
via0.writepa_handler().set(FUNC(swyft_state::via0_pa_w));
@@ -778,7 +778,7 @@ void swyft_state::swyft(machine_config &config)
via0.cb2_handler().set(FUNC(swyft_state::via0_cb2_w));
via0.irq_handler().set("viairq", FUNC(input_merger_device::in_w<0>));
- via6522_device &via1(VIA6522(config, "via6522_1", (XTAL(15'897'600)/2)/5)); // out e clock from 68008
+ via6522_device &via1(MOS6522(config, "via6522_1", (XTAL(15'897'600)/2)/5)); // out e clock from 68008
via1.readpa_handler().set(FUNC(swyft_state::via1_pa_r));
via1.readpb_handler().set(FUNC(swyft_state::via1_pb_r));
via1.writepa_handler().set(FUNC(swyft_state::via1_pa_w));
diff --git a/src/mame/drivers/sym1.cpp b/src/mame/drivers/sym1.cpp
index f0aefa2a898..ce434444478 100644
--- a/src/mame/drivers/sym1.cpp
+++ b/src/mame/drivers/sym1.cpp
@@ -396,13 +396,13 @@ void sym1_state::sym1(machine_config &config)
m_ttl74145->output_line_callback<6>().set("speaker", FUNC(speaker_sound_device::level_w));
// lines 7-9 not connected
- via6522_device &via1(VIA6522(config, "via1", SYM1_CLOCK));
+ via6522_device &via1(MOS6522(config, "via1", SYM1_CLOCK));
via1.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<0>));
via1.ca2_handler().set(FUNC(sym1_state::via1_ca2_w));
- VIA6522(config, "via2", SYM1_CLOCK).irq_handler().set("mainirq", FUNC(input_merger_device::in_w<1>));
+ MOS6522(config, "via2", SYM1_CLOCK).irq_handler().set("mainirq", FUNC(input_merger_device::in_w<1>));
- via6522_device &via3(VIA6522(config, "via3", SYM1_CLOCK));
+ via6522_device &via3(MOS6522(config, "via3", SYM1_CLOCK));
via3.writepa_handler().set(FUNC(sym1_state::via3_a_w));
via3.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<2>));
diff --git a/src/mame/drivers/textelcomp.cpp b/src/mame/drivers/textelcomp.cpp
index 6a22919e773..1bc042d9464 100644
--- a/src/mame/drivers/textelcomp.cpp
+++ b/src/mame/drivers/textelcomp.cpp
@@ -323,30 +323,30 @@ INPUT_PORTS_END
void textelcomp_state::textelcomp(machine_config &config)
{
- M65SC02(config, m_maincpu, 3.6864_MHz_XTAL / 2); // GS65SC02P-2 (clock not verified)
+ M65SC02(config, m_maincpu, 3.6864_MHz_XTAL / 2); // G65SC02P-2 (clock not verified)
m_maincpu->set_addrmap(AS_PROGRAM, &textelcomp_state::mem_map);
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, m65sc02_device::IRQ_LINE);
- via6522_device &via0(VIA6522(config, "via0", 3.6864_MHz_XTAL / 2)); // GS65SC22P-2
+ via6522_device &via0(R65C22(config, "via0", 3.6864_MHz_XTAL / 2)); // G65SC22P-2
via0.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<0>));
- VIA6522(config, "via1", 3.6864_MHz_XTAL / 2); // GS65SC22P-2
+ R65C22(config, "via1", 3.6864_MHz_XTAL / 2); // G65SC22P-2
// IRQ might be connected on hardware, but is never enabled
- via6522_device &via2(VIA6522(config, "via2", 3.6864_MHz_XTAL / 2)); // GS65SC22P-2
+ via6522_device &via2(R65C22(config, "via2", 3.6864_MHz_XTAL / 2)); // G65SC22P-2
via2.readpa_handler().set(FUNC(textelcomp_state::keyboard_r));
via2.writepb_handler().set(FUNC(textelcomp_state::keyscan_w));
via2.cb1_handler().set(FUNC(textelcomp_state::shift_clock_w));
via2.cb2_handler().set(FUNC(textelcomp_state::shift_data_w));
- via6522_device &via3(VIA6522(config, "via3", 3.6864_MHz_XTAL / 2)); // GS65SC22P-2
+ via6522_device &via3(R65C22(config, "via3", 3.6864_MHz_XTAL / 2)); // G65SC22P-2
via3.writepa_handler().set(FUNC(textelcomp_state::rtc_w));
via3.ca2_handler().set(m_rtc, FUNC(msm58321_device::cs2_w)).invert();
via3.ca2_handler().append(m_rtc, FUNC(msm58321_device::stop_w)).invert();
// TODO: PB7 toggling generates beeps?
- mos6551_device &acia(MOS6551(config, "acia", 3.6864_MHz_XTAL / 2)); // GS65SC51P-2
+ mos6551_device &acia(MOS6551(config, "acia", 3.6864_MHz_XTAL / 2)); // G65SC51P-2
acia.set_xtal(3.6864_MHz_XTAL / 2);
acia.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<1>));
diff --git a/src/mame/drivers/trvquest.cpp b/src/mame/drivers/trvquest.cpp
index 303ac7fc8b7..3c7e64e2218 100644
--- a/src/mame/drivers/trvquest.cpp
+++ b/src/mame/drivers/trvquest.cpp
@@ -177,17 +177,17 @@ void trvquest_state::trvquest(machine_config &config)
AY8910(config, "ay2", XTAL(6'000'000)/2).add_route(ALL_OUTPUTS, "mono", 0.25);
/* via */
- VIA6522(config, m_via_0, XTAL(6'000'000)/4);
+ MOS6522(config, m_via_0, XTAL(6'000'000)/4);
m_via_0->writepa_handler().set(FUNC(trvquest_state::video_data_w));
m_via_0->writepb_handler().set(FUNC(trvquest_state::gameplan_video_command_w));
m_via_0->ca2_handler().set(FUNC(trvquest_state::video_command_trigger_w));
- VIA6522(config, m_via_1, XTAL(6'000'000)/4);
+ MOS6522(config, m_via_1, XTAL(6'000'000)/4);
m_via_1->readpa_handler().set_ioport("IN0");
m_via_1->readpb_handler().set_ioport("IN1");
m_via_1->ca2_handler().set(FUNC(trvquest_state::coin_w));
- VIA6522(config, m_via_2, XTAL(6'000'000)/4);
+ MOS6522(config, m_via_2, XTAL(6'000'000)/4);
m_via_2->readpa_handler().set_ioport("UNK");
m_via_2->readpb_handler().set_ioport("DSW");
m_via_2->ca2_handler().set(FUNC(trvquest_state::misc_w));
diff --git a/src/mame/drivers/tv950.cpp b/src/mame/drivers/tv950.cpp
index 3db629e060c..1efd7691227 100644
--- a/src/mame/drivers/tv950.cpp
+++ b/src/mame/drivers/tv950.cpp
@@ -304,7 +304,7 @@ void tv950_state::tv950(machine_config &config)
m_crtc->out_vsync_callback().set(FUNC(tv950_state::crtc_vs_w));
m_crtc->set_screen(nullptr);
- VIA6522(config, m_via, MASTER_CLOCK/14);
+ MOS6522(config, m_via, MASTER_CLOCK/14);
//m_via->irq_handler().set_inputline(m_maincpu, M6502_NMI_LINE);
m_via->writepa_handler().set(FUNC(tv950_state::via_a_w));
m_via->writepb_handler().set(FUNC(tv950_state::via_b_w));
diff --git a/src/mame/drivers/ultim809.cpp b/src/mame/drivers/ultim809.cpp
index 38ca62a6179..8f7e2220cc8 100644
--- a/src/mame/drivers/ultim809.cpp
+++ b/src/mame/drivers/ultim809.cpp
@@ -139,7 +139,8 @@ void ultim809_state::ultim809(machine_config &config)
m_crtc->int_callback().set_inputline(m_maincpu, M6809_IRQ_LINE);
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
- VIA6522(config, m_via, 8000000 / 4);
+ // TBD: what type of VIA is this? It replaced a MC68B21P at some point in development.
+ MOS6522(config, m_via, 8000000 / 4);
// Memory banking: up to 32 banks with inbuilt U8, or replace it with external memory to get the full 4 MB
m_via->writepa_handler().set([this] (u8 data) { m_membank = data & 0x1F; }); // memory banking
//m_via->readpb_handler().set(FUNC(ultim809_state::portb_r)); // serial
diff --git a/src/mame/drivers/vectrex.cpp b/src/mame/drivers/vectrex.cpp
index bbb5ddf98e1..0556d7d6b74 100644
--- a/src/mame/drivers/vectrex.cpp
+++ b/src/mame/drivers/vectrex.cpp
@@ -118,7 +118,7 @@ void vectrex_base_state::vectrex_base(machine_config &config)
m_ay8912->add_route(ALL_OUTPUTS, "speaker", 0.2);
/* via */
- VIA6522(config, m_via6522_0, 6_MHz_XTAL / 4);
+ MOS6522(config, m_via6522_0, 6_MHz_XTAL / 4);
m_via6522_0->readpa_handler().set(FUNC(vectrex_base_state::vectrex_via_pa_r));
m_via6522_0->readpb_handler().set(FUNC(vectrex_base_state::vectrex_via_pb_r));
m_via6522_0->writepa_handler().set(FUNC(vectrex_base_state::v_via_pa_w));
diff --git a/src/mame/drivers/vic20.cpp b/src/mame/drivers/vic20.cpp
index 2e37027a7d6..b3b030a876d 100644
--- a/src/mame/drivers/vic20.cpp
+++ b/src/mame/drivers/vic20.cpp
@@ -861,7 +861,7 @@ void vic20_state::add_clocked_devices(machine_config &config, uint32_t clock)
M6502(config, m_maincpu, clock);
m_maincpu->set_addrmap(AS_PROGRAM, &vic20_state::vic20_mem);
- VIA6522(config, m_via1, clock);
+ MOS6522(config, m_via1, clock);
m_via1->readpa_handler().set(FUNC(vic20_state::via1_pa_r));
m_via1->writepa_handler().set(FUNC(vic20_state::via1_pa_w));
m_via1->writepb_handler().set(FUNC(vic20_state::via1_pb_w));
@@ -870,7 +870,7 @@ void vic20_state::add_clocked_devices(machine_config &config, uint32_t clock)
m_via1->cb2_handler().set(m_user, FUNC(pet_user_port_device::write_m));
m_via1->irq_handler().set_inputline(m_maincpu, M6502_NMI_LINE);
- VIA6522(config, m_via2, clock);
+ MOS6522(config, m_via2, clock);
m_via2->readpa_handler().set(FUNC(vic20_state::via2_pa_r));
m_via2->readpb_handler().set(FUNC(vic20_state::via2_pb_r));
m_via2->writepb_handler().set(FUNC(vic20_state::via2_pb_w));
diff --git a/src/mame/drivers/victor9k.cpp b/src/mame/drivers/victor9k.cpp
index b42e75619b5..bb12a1ae6ae 100644
--- a/src/mame/drivers/victor9k.cpp
+++ b/src/mame/drivers/victor9k.cpp
@@ -731,19 +731,19 @@ void victor9k_state::victor9k(machine_config &config)
m_ssda->sm_dtr_callback().set(FUNC(victor9k_state::ssda_sm_dtr_w));
m_ssda->irq_callback().set(FUNC(victor9k_state::ssda_irq_w));
- VIA6522(config, m_via1, XTAL(30'000'000)/30);
+ MOS6522(config, m_via1, XTAL(30'000'000)/30);
m_via1->readpa_handler().set(IEEE488_TAG, FUNC(ieee488_device::dio_r));
m_via1->writepa_handler().set(FUNC(victor9k_state::via1_pa_w));
m_via1->writepb_handler().set(FUNC(victor9k_state::via1_pb_w));
m_via1->cb2_handler().set(FUNC(victor9k_state::codec_vol_w));
m_via1->irq_handler().set(FUNC(victor9k_state::via1_irq_w));
- VIA6522(config, m_via2, XTAL(30'000'000)/30);
+ MOS6522(config, m_via2, XTAL(30'000'000)/30);
m_via2->writepa_handler().set(FUNC(victor9k_state::via2_pa_w));
m_via2->writepb_handler().set(FUNC(victor9k_state::via2_pb_w));
m_via2->irq_handler().set(FUNC(victor9k_state::via2_irq_w));
- VIA6522(config, m_via3, XTAL(30'000'000)/30);
+ MOS6522(config, m_via3, XTAL(30'000'000)/30);
m_via3->writepb_handler().set(FUNC(victor9k_state::via3_pb_w));
m_via3->irq_handler().set(FUNC(victor9k_state::via3_irq_w));
diff --git a/src/mame/drivers/wicat.cpp b/src/mame/drivers/wicat.cpp
index de2d117124b..65c330c3a27 100644
--- a/src/mame/drivers/wicat.cpp
+++ b/src/mame/drivers/wicat.cpp
@@ -640,7 +640,7 @@ void wicat_state::wicat(machine_config &config)
M68000(config, m_maincpu, 8_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &wicat_state::main_mem);
- VIA6522(config, m_via, 8_MHz_XTAL);
+ MOS6522(config, m_via, 8_MHz_XTAL);
m_via->writepa_handler().set(FUNC(wicat_state::via_a_w));
m_via->writepb_handler().set(FUNC(wicat_state::via_b_w));
m_via->irq_handler().set_inputline(m_maincpu, M68K_IRQ_1);
diff --git a/src/mame/machine/victor9k_fdc.cpp b/src/mame/machine/victor9k_fdc.cpp
index 277a276ac47..e67359a7853 100644
--- a/src/mame/machine/victor9k_fdc.cpp
+++ b/src/mame/machine/victor9k_fdc.cpp
@@ -169,7 +169,7 @@ void victor_9000_fdc_device::device_add_mconfig(machine_config &config)
m_maincpu->t1_in_cb().set(FUNC(victor_9000_fdc_device::tach1_r));
m_maincpu->bus_out_cb().set(FUNC(victor_9000_fdc_device::da_w));
- VIA6522(config, m_via4, XTAL(30'000'000)/30);
+ MOS6522(config, m_via4, XTAL(30'000'000)/30);
m_via4->readpa_handler().set(FUNC(victor_9000_fdc_device::via4_pa_r));
m_via4->writepa_handler().set(FUNC(victor_9000_fdc_device::via4_pa_w));
m_via4->readpb_handler().set(FUNC(victor_9000_fdc_device::via4_pb_r));
@@ -177,12 +177,12 @@ void victor_9000_fdc_device::device_add_mconfig(machine_config &config)
m_via4->ca2_handler().set(FUNC(victor_9000_fdc_device::wrsync_w));
m_via4->irq_handler().set(FUNC(victor_9000_fdc_device::via4_irq_w));
- VIA6522(config, m_via5, XTAL(30'000'000)/30);
+ MOS6522(config, m_via5, XTAL(30'000'000)/30);
m_via5->irq_handler().set(FUNC(victor_9000_fdc_device::via5_irq_w));
m_via5->readpa_handler().set(FUNC(victor_9000_fdc_device::via5_pa_r));
m_via5->writepb_handler().set(FUNC(victor_9000_fdc_device::via5_pb_w));
- VIA6522(config, m_via6, XTAL(30'000'000)/30);
+ MOS6522(config, m_via6, XTAL(30'000'000)/30);
m_via6->readpa_handler().set(FUNC(victor_9000_fdc_device::via6_pa_r));
m_via6->readpb_handler().set(FUNC(victor_9000_fdc_device::via6_pb_r));
m_via6->writepa_handler().set(FUNC(victor_9000_fdc_device::via6_pa_w));