From c2e2560e043ecf596ff8d49fa1632f5944f1dcaa Mon Sep 17 00:00:00 2001 From: hap Date: Wed, 20 Sep 2023 16:32:55 +0200 Subject: mcfg pia6821: partial revert for the ones that set the clock to non-0 --- src/devices/bus/a2bus/mouse.cpp | 4 +++- src/devices/bus/a2bus/timemasterho.cpp | 2 +- src/devices/bus/bbc/exp/mertec.cpp | 2 +- src/mame/midway/starrider.cpp | 12 ++++++------ src/mame/skeleton/gimix.cpp | 4 ++-- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/devices/bus/a2bus/mouse.cpp b/src/devices/bus/a2bus/mouse.cpp index 09e716def40..144c6ed23b8 100644 --- a/src/devices/bus/a2bus/mouse.cpp +++ b/src/devices/bus/a2bus/mouse.cpp @@ -54,7 +54,9 @@ 68705 PB4 and 5 are N/C 68705 PB6 is IRQ for the slot 68705 PB7 is the mouse button + 68705 is clocked at 2M + PIA is clocked at 1M See the schematic at: http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/Digitizers/Apple%20Mouse%20Interface%20Card/Schematics/ @@ -188,7 +190,7 @@ void a2bus_mouse_device::device_add_mconfig(machine_config &config) m_mcu->portb_w().set(FUNC(a2bus_mouse_device::mcu_port_b_w)); m_mcu->portc_w().set(FUNC(a2bus_mouse_device::mcu_port_c_w)); - PIA6821(config, m_pia); + PIA6821(config, m_pia, 1021800); m_pia->writepa_handler().set(FUNC(a2bus_mouse_device::pia_out_a)); m_pia->writepb_handler().set(FUNC(a2bus_mouse_device::pia_out_b)); m_pia->tspb_handler().set_constant(0x00); diff --git a/src/devices/bus/a2bus/timemasterho.cpp b/src/devices/bus/a2bus/timemasterho.cpp index 94ecd5d88b6..b8f2b511971 100644 --- a/src/devices/bus/a2bus/timemasterho.cpp +++ b/src/devices/bus/a2bus/timemasterho.cpp @@ -138,7 +138,7 @@ ioport_constructor a2bus_timemasterho_device::device_input_ports() const void a2bus_timemasterho_device::device_add_mconfig(machine_config &config) { - PIA6821(config, m_pia); + PIA6821(config, m_pia, 1021800); m_pia->writepa_handler().set(FUNC(a2bus_timemasterho_device::pia_out_a)); m_pia->writepb_handler().set(FUNC(a2bus_timemasterho_device::pia_out_b)); m_pia->irqa_handler().set(FUNC(a2bus_timemasterho_device::pia_irqa_w)); diff --git a/src/devices/bus/bbc/exp/mertec.cpp b/src/devices/bus/bbc/exp/mertec.cpp index bd00f953bf7..c561f052460 100644 --- a/src/devices/bus/bbc/exp/mertec.cpp +++ b/src/devices/bus/bbc/exp/mertec.cpp @@ -46,7 +46,7 @@ const tiny_rom_entry *bbc_mertec_device::device_rom_region() const void bbc_mertec_device::device_add_mconfig(machine_config &config) { - PIA6821(config, m_pia); + PIA6821(config, m_pia, DERIVED_CLOCK(1, 8)); //m_pia->readpb_handler().set("userport", FUNC(bbc_userport_slot_device::pb_r)); //m_pia->writepb_handler().set("userport", FUNC(bbc_userport_slot_device::pb_w)); //m_pia->irq_handler().set("irqs", FUNC(input_merger_device::in_w<0>)); diff --git a/src/mame/midway/starrider.cpp b/src/mame/midway/starrider.cpp index 08a102ea606..4b7f7e917cc 100644 --- a/src/mame/midway/starrider.cpp +++ b/src/mame/midway/starrider.cpp @@ -394,7 +394,7 @@ void sr_state::starrider(machine_config &config) MC6809E(config, m_main_cpu, 24_MHz_XTAL / 2 / 12); // 6809E - clock patterns generated using 82S123 and 74F374 at VGG U114 and U101 m_main_cpu->set_addrmap(AS_PROGRAM, &sr_state::main_memory); - PIA6821(config, m_main_pia1); // 6820/21 + PIA6821(config, m_main_pia1, 24_MHz_XTAL / 2 / 12); // 6820/21 m_main_pia1->readpa_handler().set_ioport("IN2"); // CA1 is the /END SCREEN signal // CA2 is the 4MS signal @@ -403,7 +403,7 @@ void sr_state::starrider(machine_config &config) m_main_pia1->irqa_handler().set("main.irq", FUNC(input_merger_device::in_w<0>)); m_main_pia1->irqb_handler().set("main.irq", FUNC(input_merger_device::in_w<1>)); - PIA6821(config, m_main_pia2); // 6820/21 + PIA6821(config, m_main_pia2, 24_MHz_XTAL / 2 / 12); // 6820/21 m_main_pia2->readpa_handler().set_ioport("IN0"); m_main_pia2->ca1_w(0); // grounded m_main_pia2->ca2_handler().set(FUNC(sr_state::cpu_pia2_ca2_w)); @@ -423,7 +423,7 @@ void sr_state::starrider(machine_config &config) INPUT_MERGER_ANY_HIGH(config, "main.irq").output_handler().set_inputline(m_main_cpu, M6809_IRQ_LINE); // VGG - PIA6821(config, m_vgg_pia); // 6821 + PIA6821(config, m_vgg_pia, 24_MHz_XTAL / 2 / 12); // 6821 // PA0-8 and CA2 are outputs to the expander board // CA1 is the /HALT signal // PB0-7 and CB1-2 are the interface to the PIF board (bidirectional) @@ -436,7 +436,7 @@ void sr_state::starrider(machine_config &config) MC6809E(config, m_pif_cpu, 4_MHz_XTAL / 4); // 6809E m_pif_cpu->set_addrmap(AS_PROGRAM, &sr_state::pif_memory); - PIA6821(config, m_pif_pia); // 6821 + PIA6821(config, m_pif_pia, 4_MHz_XTAL / 4); // 6821 m_pif_pia->irqa_handler().set_inputline(m_pif_cpu, M6809_FIRQ_LINE); m_pif_pia->irqb_handler().set_inputline(m_pif_cpu, INPUT_LINE_NMI); @@ -452,14 +452,14 @@ void sr_state::starrider(machine_config &config) m_sound_ptm->o3_callback().set(m_sound_ptm, FUNC(ptm6840_device::set_c3)); m_sound_ptm->irq_callback().set("sound.irq", FUNC(input_merger_device::in_w<0>)); - PIA6821(config, m_sound_pia1); // 68B21 + PIA6821(config, m_sound_pia1, 8_MHz_XTAL / 4); // 68B21 m_sound_pia1->ca2_handler().set(m_main_pia1, FUNC(pia6821_device::cb1_w)); // PB0-7 are for unpopulated 5220 at U55 // CB1-2 are unused m_sound_pia1->irqa_handler().set_inputline(m_sound_cpu, M6809_FIRQ_LINE); m_sound_pia1->irqb_handler().set("sound.irq", FUNC(input_merger_device::in_w<1>)); - PIA6821(config, m_sound_pia2); // 68B21 + PIA6821(config, m_sound_pia2, 8_MHz_XTAL / 4); // 68B21 m_sound_pia2->writepa_handler().set(FUNC(sr_state::sound_pia2_pa)); // PA3 is the IR output from the unpopulated third FIFO (active low) // PA7 is the RDY output from the unpopulated 5220 (active low) diff --git a/src/mame/skeleton/gimix.cpp b/src/mame/skeleton/gimix.cpp index 1debbdaca3b..e7287c3c456 100644 --- a/src/mame/skeleton/gimix.cpp +++ b/src/mame/skeleton/gimix.cpp @@ -702,13 +702,13 @@ void gimix_state::gimix(machine_config &config) FLOPPY_CONNECTOR(config, "fdc:3", gimix_floppies, "525hd", gimix_state::floppy_formats).enable_sound(true); /* parallel ports */ - pia6821_device &pia1(PIA6821(config, "pia1")); + pia6821_device &pia1(PIA6821(config, "pia1", 2'000'000)); pia1.writepa_handler().set(FUNC(gimix_state::pia_pa_w)); pia1.writepb_handler().set(FUNC(gimix_state::pia_pb_w)); pia1.readpa_handler().set(FUNC(gimix_state::pia_pa_r)); pia1.readpb_handler().set(FUNC(gimix_state::pia_pb_r)); - PIA6821(config, "pia2"); + PIA6821(config, "pia2", 2'000'000); /* serial ports */ ACIA6850(config, m_acia1, 2'000'000); -- cgit v1.2.3