diff options
author | smf- <smf-@users.noreply.github.com> | 2022-05-17 13:28:41 +0100 |
---|---|---|
committer | smf- <smf-@users.noreply.github.com> | 2022-05-18 18:37:50 +0100 |
commit | 1158318356a5724eb8a888026dbada448a029b9b (patch) | |
tree | 41e7f48bad8a87c96cabacba15f8e4bfc0b5bdb6 /src/mame/drivers | |
parent | 0d57bab2e427de3608584e231eb969d40c963f2a (diff) |
removed some unnecessary 6821 readca1_handler/readca2_handler/readcb1_handler hookups [smf]
Diffstat (limited to 'src/mame/drivers')
-rw-r--r-- | src/mame/drivers/alfaskop41xx.cpp | 12 | ||||
-rw-r--r-- | src/mame/drivers/arachnid.cpp | 12 | ||||
-rw-r--r-- | src/mame/drivers/by17.cpp | 40 | ||||
-rw-r--r-- | src/mame/drivers/by35.cpp | 40 | ||||
-rw-r--r-- | src/mame/drivers/calomega.cpp | 41 | ||||
-rw-r--r-- | src/mame/drivers/cmi.cpp | 9 | ||||
-rw-r--r-- | src/mame/drivers/e100.cpp | 17 | ||||
-rw-r--r-- | src/mame/drivers/eacc.cpp | 11 | ||||
-rw-r--r-- | src/mame/drivers/eurocom2.cpp | 38 | ||||
-rw-r--r-- | src/mame/drivers/exorciser.cpp | 9 | ||||
-rw-r--r-- | src/mame/drivers/mekd3.cpp | 54 | ||||
-rw-r--r-- | src/mame/drivers/mekd4.cpp | 38 | ||||
-rw-r--r-- | src/mame/drivers/pegasus.cpp | 13 | ||||
-rw-r--r-- | src/mame/drivers/pet.cpp | 3 | ||||
-rw-r--r-- | src/mame/drivers/s8.cpp | 9 | ||||
-rw-r--r-- | src/mame/drivers/s9.cpp | 9 | ||||
-rw-r--r-- | src/mame/drivers/starrider.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/swtpc09.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/tavernie.cpp | 9 |
19 files changed, 62 insertions, 308 deletions
diff --git a/src/mame/drivers/alfaskop41xx.cpp b/src/mame/drivers/alfaskop41xx.cpp index 60f4562ab75..cacc30138fc 100644 --- a/src/mame/drivers/alfaskop41xx.cpp +++ b/src/mame/drivers/alfaskop41xx.cpp @@ -373,7 +373,7 @@ void alfaskop4110_state::alfaskop4110(machine_config &config) m_screen->set_screen_update("crtc", FUNC(mc6845_device::screen_update)); PIA6821(config, m_mic_pia, 0); // Main board PIA - m_mic_pia->readcb1_handler().set([this](offs_t offset) -> uint8_t { LOGMIC("<-MIC PIA: CB1 read\n"); return 0;}); + m_mic_pia->cb1_w(0); m_mic_pia->cb2_handler().set([this](offs_t offset, uint8_t data) { LOGMIC("->MIC PIA: CB2 write %d\n", data); }); /* @@ -431,18 +431,18 @@ void alfaskop4110_state::alfaskop4110(machine_config &config) return 0; }); m_mic_pia->readpb_handler().set([this](offs_t offset) -> uint8_t { LOGMIC("<-MIC PIA: Port B read\n"); return 0;}); - m_mic_pia->readca1_handler().set([this](offs_t offset) -> uint8_t { LOGMIC("<-MIC PIA: CA1 read\n"); return 0;}); - m_mic_pia->readca2_handler().set([this](offs_t offset) -> uint8_t { LOGMIC("<-MIC PIA: CA2 read\n"); return 0;}); + m_mic_pia->ca1_w(0); + m_mic_pia->ca2_w(0); PIA6821(config, m_dia_pia, 0); // Display PIA, controls how the CRTC accesses memory etc - m_dia_pia->readcb1_handler().set([this](offs_t offset) -> uint8_t { LOGDIA("DIA PIA: CB1_r\n"); return 0;}); + m_dia_pia->cb1_w(0); m_dia_pia->cb2_handler().set([this](offs_t offset, uint8_t data) { LOGDIA("DIA PIA: CB2_w %d\n", data); }); m_dia_pia->writepa_handler().set([this](offs_t offset, uint8_t data) { LOGDIA("DIA PIA: PA_w %02x\n", data); }); m_dia_pia->writepb_handler().set([this](offs_t offset, uint8_t data) { LOGDIA("DIA PIA: PB_w %02x\n", data); }); m_dia_pia->readpa_handler().set([this](offs_t offset) -> uint8_t { LOGDIA("DIA PIA: PA_r\n"); return 0;}); m_dia_pia->readpb_handler().set([this](offs_t offset) -> uint8_t { LOGDIA("DIA PIA: PB_r\n"); return 0;}); - m_dia_pia->readca1_handler().set([this](offs_t offset) -> uint8_t { LOGDIA("DIA PIA: CA1_r\n"); return 0;}); - m_dia_pia->readca2_handler().set([this](offs_t offset) -> uint8_t { LOGDIA("DIA PIA: CA2_r\n"); return 0;}); + m_dia_pia->ca1_w(0); + m_dia_pia->ca2_w(0); ACIA6850(config, m_kbd_acia, 0); //CLOCK(config, "acia_clock", ACIA_CLOCK).signal_handler().set(FUNC(alfaskop4110_state::write_acia_clock)); diff --git a/src/mame/drivers/arachnid.cpp b/src/mame/drivers/arachnid.cpp index 4dde1e1838d..f2b65143876 100644 --- a/src/mame/drivers/arachnid.cpp +++ b/src/mame/drivers/arachnid.cpp @@ -183,7 +183,6 @@ private: DECLARE_WRITE_LINE_MEMBER( pia_u4_pcb_w ); uint8_t pia_u17_pa_r(); - DECLARE_READ_LINE_MEMBER( pia_u17_pca_r ); void pia_u17_pb_w(uint8_t data); DECLARE_WRITE_LINE_MEMBER( pia_u17_pcb_w ); @@ -434,15 +433,6 @@ uint8_t arachnid_state::pia_u17_pa_r() return data; } -READ_LINE_MEMBER( arachnid_state::pia_u17_pca_r ) -{ - // CA1 - 1000 HZ Input - - uint8_t data = 1; - - return data; -} - void arachnid_state::pia_u4_pa_w(uint8_t data) { // PA0 thru PA7 Pulses to Switch Matrix Part I @@ -521,7 +511,7 @@ void arachnid_state::arachnid(machine_config &config) PIA6821(config, m_pia_u17, 0); m_pia_u17->readpa_handler().set(FUNC(arachnid_state::pia_u17_pa_r)); - m_pia_u17->readca1_handler().set(FUNC(arachnid_state::pia_u17_pca_r)); + m_pia_u17->ca1_w(1); // CA1 - 1000 HZ Input m_pia_u17->writepb_handler().set(FUNC(arachnid_state::pia_u17_pb_w)); m_pia_u17->cb2_handler().set(FUNC(arachnid_state::pia_u17_pcb_w)); diff --git a/src/mame/drivers/by17.cpp b/src/mame/drivers/by17.cpp index 4806583c8b5..85e8c4cba18 100644 --- a/src/mame/drivers/by17.cpp +++ b/src/mame/drivers/by17.cpp @@ -94,9 +94,7 @@ private: uint8_t m_u11a = 0U; uint8_t m_u11b = 0U; bool m_u10_ca2 = false; - bool m_u10_cb1 = false; bool m_u10_cb2 = false; - bool m_u11_ca1 = false; bool m_u11_cb2 = false; uint8_t m_segment[6]{}; uint8_t m_lamp_decode = 0U; @@ -132,11 +130,8 @@ private: uint8_t nibble_nvram_r(offs_t offset); void nibble_nvram_w(offs_t offset, uint8_t data); DECLARE_READ_LINE_MEMBER(u10_ca1_r); - DECLARE_READ_LINE_MEMBER(u10_cb1_r); DECLARE_WRITE_LINE_MEMBER(u10_ca2_w); DECLARE_WRITE_LINE_MEMBER(u10_cb2_w); - DECLARE_READ_LINE_MEMBER(u11_ca1_r); - DECLARE_READ_LINE_MEMBER(u11_cb1_r); DECLARE_WRITE_LINE_MEMBER(u11_cb2_w); TIMER_DEVICE_CALLBACK_MEMBER(timer_z_freq); @@ -561,10 +556,6 @@ READ_LINE_MEMBER( by17_state::u10_ca1_r ) { return m_io_test->read() & 0x01; } -READ_LINE_MEMBER( by17_state::u10_cb1_r ) -{ - return m_u10_cb1; -} WRITE_LINE_MEMBER( by17_state::u10_ca2_w ) { @@ -595,17 +586,6 @@ WRITE_LINE_MEMBER( by17_state::u10_cb2_w ) m_u10_cb2 = state; } -READ_LINE_MEMBER( by17_state::u11_ca1_r ) -{ - return m_u11_ca1; -} - -READ_LINE_MEMBER( by17_state::u11_cb1_r ) -{ - /* Pin 32 on MPU J5 AID connector tied low */ - return 0; -} - WRITE_LINE_MEMBER( by17_state::u11_cb2_w ) { m_u11_cb2 = state; @@ -825,8 +805,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( by17_state::timer_z_freq ) m_zero_crossing_active_timer->adjust(attotime::from_usec(700)); - m_u10_cb1 = true; - m_pia_u10->cb1_w(m_u10_cb1); + m_pia_u10->cb1_w(true); /*** Zero Crossing - power to all Lamp SCRs is cut off and reset ***/ @@ -837,8 +816,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( by17_state::timer_z_pulse ) { /*** Line Power to DC Zero Crossing has ended ***/ - m_u10_cb1 = false; - m_pia_u10->cb1_w(m_u10_cb1); + m_pia_u10->cb1_w(false); } // 555 timer for display refresh @@ -853,14 +831,12 @@ TIMER_DEVICE_CALLBACK_MEMBER( by17_state::u11_timer ) m_display_refresh_timer->adjust(attotime::from_usec(2850)); - m_u11_ca1 = true; - m_pia_u11->ca1_w(m_u11_ca1); + m_pia_u11->ca1_w(true); } TIMER_DEVICE_CALLBACK_MEMBER( by17_state::timer_d_pulse ) { - m_u11_ca1 = false; - m_pia_u11->ca1_w(m_u11_ca1); + m_pia_u11->ca1_w(false); } @@ -992,9 +968,7 @@ void by17_state::machine_start() save_item(NAME(m_u11a)); save_item(NAME(m_u11b)); save_item(NAME(m_u10_ca2)); - save_item(NAME(m_u10_cb1)); save_item(NAME(m_u10_cb2)); - save_item(NAME(m_u11_ca1)); save_item(NAME(m_u11_cb2)); save_item(NAME(m_segment)); save_item(NAME(m_lamp_decode)); @@ -1038,7 +1012,7 @@ void by17_state::by17(machine_config &config) m_pia_u10->readpb_handler().set(FUNC(by17_state::u10_b_r)); m_pia_u10->writepb_handler().set(FUNC(by17_state::u10_b_w)); m_pia_u10->readca1_handler().set(FUNC(by17_state::u10_ca1_r)); - m_pia_u10->readcb1_handler().set(FUNC(by17_state::u10_cb1_r)); + m_pia_u10->cb1_w(false); m_pia_u10->ca2_handler().set(FUNC(by17_state::u10_ca2_w)); m_pia_u10->cb2_handler().set(FUNC(by17_state::u10_cb2_w)); m_pia_u10->irqa_handler().set_inputline(m_maincpu, M6800_IRQ_LINE); @@ -1050,8 +1024,8 @@ void by17_state::by17(machine_config &config) m_pia_u11->readpa_handler().set(FUNC(by17_state::u11_a_r)); m_pia_u11->writepa_handler().set(FUNC(by17_state::u11_a_w)); m_pia_u11->writepb_handler().set(FUNC(by17_state::u11_b_w)); - m_pia_u11->readca1_handler().set(FUNC(by17_state::u11_ca1_r)); - m_pia_u11->readcb1_handler().set(FUNC(by17_state::u11_cb1_r)); + m_pia_u11->ca1_w(false); + m_pia_u11->cb1_w(0); /* Pin 32 on MPU J5 AID connector tied low */ m_pia_u11->ca2_handler().set_output("led0"); m_pia_u11->cb2_handler().set(FUNC(by17_state::u11_cb2_w)); m_pia_u11->irqa_handler().set_inputline(m_maincpu, M6800_IRQ_LINE); diff --git a/src/mame/drivers/by35.cpp b/src/mame/drivers/by35.cpp index 1b50434d7af..13b56fcc3ce 100644 --- a/src/mame/drivers/by35.cpp +++ b/src/mame/drivers/by35.cpp @@ -216,11 +216,8 @@ protected: uint8_t nibble_nvram_r(offs_t offset); void nibble_nvram_w(offs_t offset, uint8_t data); DECLARE_READ_LINE_MEMBER(u10_ca1_r); - DECLARE_READ_LINE_MEMBER(u10_cb1_r); DECLARE_WRITE_LINE_MEMBER(u10_ca2_w); DECLARE_WRITE_LINE_MEMBER(u10_cb2_w); - DECLARE_READ_LINE_MEMBER(u11_ca1_r); - DECLARE_READ_LINE_MEMBER(u11_cb1_r); DECLARE_WRITE_LINE_MEMBER(u11_cb2_w); virtual void machine_start() override; virtual void machine_reset() override; @@ -241,9 +238,7 @@ protected: private: bool m_u10_ca2 = false; - bool m_u10_cb1 = false; bool m_u10_cb2 = false; - bool m_u11_ca1 = false; bool m_u11_cb2 = false; bool m_7d = false; uint8_t m_segment[6]{}; @@ -1095,10 +1090,6 @@ READ_LINE_MEMBER( by35_state::u10_ca1_r ) { return m_io_test->read() & 0x01; } -READ_LINE_MEMBER( by35_state::u10_cb1_r ) -{ - return m_u10_cb1; -} WRITE_LINE_MEMBER( by35_state::u10_ca2_w ) { @@ -1129,17 +1120,6 @@ WRITE_LINE_MEMBER( by35_state::u10_cb2_w ) m_u10_cb2 = state; } -READ_LINE_MEMBER( by35_state::u11_ca1_r ) -{ - return m_u11_ca1; -} - -READ_LINE_MEMBER( by35_state::u11_cb1_r ) -{ - /* Pin 32 on MPU J5 AID connector tied low */ - return 0; -} - WRITE_LINE_MEMBER( by35_state::u11_cb2_w ) { // Handle sound @@ -1383,8 +1363,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( by35_state::timer_z_freq ) m_zero_crossing_active_timer->adjust(attotime::from_usec(700)); - m_u10_cb1 = true; - m_pia_u10->cb1_w(m_u10_cb1); + m_pia_u10->cb1_w(true); /*** Zero Crossing - power to all Lamp SCRs is cut off and reset ***/ @@ -1394,8 +1373,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( by35_state::timer_z_pulse ) { /*** Line Power to DC Zero Crossing has ended ***/ - m_u10_cb1 = false; - m_pia_u10->cb1_w(m_u10_cb1); + m_pia_u10->cb1_w(false); } // 555 timer for display refresh @@ -1410,14 +1388,12 @@ TIMER_DEVICE_CALLBACK_MEMBER( by35_state::u11_timer ) m_display_refresh_timer->adjust(attotime::from_usec(2850)); - m_u11_ca1 = true; - m_pia_u11->ca1_w(m_u11_ca1); + m_pia_u11->ca1_w(true); } TIMER_DEVICE_CALLBACK_MEMBER( by35_state::timer_d_pulse ) { - m_u11_ca1 = false; - m_pia_u11->ca1_w(m_u11_ca1); + m_pia_u11->ca1_w(false); } by35_state::solenoid_feature_data const by35_state::s_solenoid_features_default = @@ -1492,9 +1468,7 @@ void by35_state::machine_start() save_item(NAME(m_u11a)); save_item(NAME(m_u11b)); save_item(NAME(m_u10_ca2)); - save_item(NAME(m_u10_cb1)); save_item(NAME(m_u10_cb2)); - save_item(NAME(m_u11_ca1)); save_item(NAME(m_u11_cb2)); save_item(NAME(m_7d)); save_item(NAME(m_segment)); @@ -1536,7 +1510,7 @@ void by35_state::by35(machine_config &config) m_pia_u10->readpb_handler().set(FUNC(by35_state::u10_b_r)); m_pia_u10->writepb_handler().set(FUNC(by35_state::u10_b_w)); m_pia_u10->readca1_handler().set(FUNC(by35_state::u10_ca1_r)); - m_pia_u10->readcb1_handler().set(FUNC(by35_state::u10_cb1_r)); + m_pia_u10->cb1_w(false); m_pia_u10->ca2_handler().set(FUNC(by35_state::u10_ca2_w)); m_pia_u10->cb2_handler().set(FUNC(by35_state::u10_cb2_w)); m_pia_u10->irqa_handler().set_inputline(m_maincpu, M6800_IRQ_LINE); @@ -1548,8 +1522,8 @@ void by35_state::by35(machine_config &config) m_pia_u11->readpa_handler().set(FUNC(by35_state::u11_a_r)); m_pia_u11->writepa_handler().set(FUNC(by35_state::u11_a_w)); m_pia_u11->writepb_handler().set(FUNC(by35_state::u11_b_w)); - m_pia_u11->readca1_handler().set(FUNC(by35_state::u11_ca1_r)); - m_pia_u11->readcb1_handler().set(FUNC(by35_state::u11_cb1_r)); + m_pia_u11->ca1_w(false); + m_pia_u11->cb1_w(0); /* Pin 32 on MPU J5 AID connector tied low */ m_pia_u11->ca2_handler().set_output("led0"); m_pia_u11->cb2_handler().set(FUNC(by35_state::u11_cb2_w)); m_pia_u11->irqa_handler().set_inputline(m_maincpu, M6800_IRQ_LINE); diff --git a/src/mame/drivers/calomega.cpp b/src/mame/drivers/calomega.cpp index f635bb0b5d7..4c86e7f9c96 100644 --- a/src/mame/drivers/calomega.cpp +++ b/src/mame/drivers/calomega.cpp @@ -890,44 +890,29 @@ TIMER_DEVICE_CALLBACK_MEMBER( calomega_state::timer_2 ) // logerror("Timer_2 event : state=%d\n", m_timer); } -READ_LINE_MEMBER(calomega_state::timer_r) -{ - // logerror("timer_1 read : state=%d\n", m_timer); - return m_timer; -} - WRITE_LINE_MEMBER(calomega_state::vblank0_w) { - m_vblank = state; m_pia[0]->read(0); m_pia[0]->read(0); m_pia[1]->cb1_w(state); // m_pia[1]->read(3); // CRB - // logerror("V_BLANK_0 event : state=%d\n", m_vblank); + // logerror("V_BLANK_0 event : state=%d\n", state); } WRITE_LINE_MEMBER(calomega_state::vblank1_w) { - m_vblank = state; m_pia[0]->read(2); m_pia[0]->cb1_w(state); - // logerror("V_BLANK_1 event (sale ): state=%d\n", m_vblank); + // logerror("V_BLANK_1 event (sale ): state=%d\n", state); } WRITE_LINE_MEMBER(calomega_state::vblank2_w) { - m_vblank = state; m_pia[1]->read(0); m_pia[1]->read(0); m_pia[1]->cb1_w(state); - // logerror("V_BLANK_2 event : state=%d\n", m_vblank); -} - -READ_LINE_MEMBER(calomega_state::vblank_r) -{ - // logerror("V_BLANK read : state=%d\n", m_vblank); - return m_vblank; + // logerror("V_BLANK_2 event : state=%d\n", state); } WRITE_LINE_MEMBER(calomega_state::pia1_cb2_w) @@ -948,10 +933,6 @@ void calomega_state::dummy_pia_w(uint8_t data) m_pia_data = data; } -READ_LINE_MEMBER(calomega_state::dummy_pia_line_r) -{ - return false; -} WRITE_LINE_MEMBER(calomega_state::dummy_pia_line_w) { } @@ -4614,8 +4595,8 @@ void calomega_state::sys903(machine_config &config) m_pia[0]->readpb_handler().set(FUNC(calomega_state::dummy_pia_r)); // Debug: some dipsw maybe??? m_pia[0]->writepa_handler().set(FUNC(calomega_state::dummy_pia_w)); // Debug: to assign lamps/counters/solenids/hopper???? m_pia[0]->writepb_handler().set(FUNC(calomega_state::lamps_903a_w)); - m_pia[0]->readca1_handler().set(FUNC(calomega_state::timer_r)); // Timer Interrupt Ack. (CPU -> PIA) - m_pia[0]->readcb1_handler().set(FUNC(calomega_state::timer_r)); // Timer Interrupt Ack. (CPU -> PIA) + m_pia[0]->ca1_w(0); // Timer Interrupt Ack. (CPU -> PIA) + m_pia[0]->cb1_w(0); // Timer Interrupt Ack. (CPU -> PIA) m_pia[0]->irqa_handler().set_inputline("maincpu", M6502_IRQ_LINE); // Timer Interrupt Event. (PIA -> CPU) m_pia[0]->irqb_handler().set_inputline("maincpu", M6502_IRQ_LINE); // Timer Interrupt Event. (PIA -> CPU) @@ -4626,7 +4607,7 @@ void calomega_state::sys903(machine_config &config) m_pia[1]->writepb_handler().set(FUNC(calomega_state::s903_mux_w)); // Mux. Scan Lines.(Upper nibble) - Hopper b0-b1 (Lower Nibble). m_pia[1]->ca2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // M4 pulsed out m_pia[1]->cb2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // M5 pulsed out - m_pia[1]->readcb1_handler().set(FUNC(calomega_state::vblank_r)); // V_BLANK Interrupt Ack. (CPU -> PIA) + m_pia[1]->cb1_w(0); // V_BLANK Interrupt Ack. (CPU -> PIA) m_pia[1]->irqb_handler().set_inputline("maincpu", M6502_IRQ_LINE); // V_BLANK Interrupt Event. (PIA -> CPU) // video hardware @@ -4687,8 +4668,8 @@ void calomega_state::sys903kb(machine_config &config) m_pia[0]->readpb_handler().set(FUNC(calomega_state::dummy_pia_r)); // Debug: some dipsw maybe??? m_pia[0]->writepa_handler().set(FUNC(calomega_state::dummy_pia_w)); // Debug: to assign lamps/counters/solenids/hopper???? m_pia[0]->writepb_handler().set(FUNC(calomega_state::lamps_903a_w)); - m_pia[0]->readca1_handler().set(FUNC(calomega_state::timer_r)); // Timer Interrupt Ack. (CPU -> PIA) - m_pia[0]->readcb1_handler().set(FUNC(calomega_state::timer_r)); // Timer Interrupt Ack. (CPU -> PIA) + m_pia[0]->ca1_w(0); // Timer Interrupt Ack. (CPU -> PIA) + m_pia[0]->cb1_w(0); // Timer Interrupt Ack. (CPU -> PIA) m_pia[0]->irqa_handler().set_inputline("maincpu", M6502_IRQ_LINE); // Timer Interrupt Event. (PIA -> CPU) m_pia[0]->irqb_handler().set_inputline("maincpu", M6502_IRQ_LINE); // Timer Interrupt Event. (PIA -> CPU) @@ -4699,7 +4680,7 @@ void calomega_state::sys903kb(machine_config &config) m_pia[1]->writepb_handler().set(FUNC(calomega_state::s903_mux_w)); // Mux. Scan Lines.(Upper nibble) - Hopper b0-b1 (Lower Nibble). m_pia[1]->ca2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // M4 pulsed out m_pia[1]->cb2_handler().set(FUNC(calomega_state::dummy_pia_line_w)); // M5 pulsed out - m_pia[1]->readcb1_handler().set(FUNC(calomega_state::vblank_r)); // V_BLANK Interrupt Ack. (CPU -> PIA) + m_pia[1]->cb1_w(0); // V_BLANK Interrupt Ack. (CPU -> PIA) m_pia[1]->irqb_handler().set_inputline("maincpu", M6502_IRQ_LINE); // V_BLANK Interrupt Event. (PIA -> CPU) // video hardware @@ -4822,8 +4803,8 @@ void calomega_state::sys906(machine_config &config) PIA6821(config.replace(), m_pia[1], 0); m_pia[1]->readpa_handler().set(FUNC(calomega_state::pia1_ain_r)); // Mux. Button read. m_pia[1]->readpb_handler().set(FUNC(calomega_state::pia1_bin_r)); - m_pia[1]->readca1_handler().set(FUNC(calomega_state::timer_r)); // Timer Interrupt Ack. (CPU -> PIA) - m_pia[1]->readcb1_handler().set(FUNC(calomega_state::vblank_r)); // V_BLANK Interrupt Ack. (CPU -> PIA) + m_pia[1]->ca1_w(0); // Timer Interrupt Ack. (CPU -> PIA) + m_pia[1]->cb1_w(0); // V_BLANK Interrupt Ack. (CPU -> PIA) m_pia[1]->writepa_handler().set(FUNC(calomega_state::pia1_aout_w)); // Mux. Scan lines m_pia[1]->writepb_handler().set(FUNC(calomega_state::pia1_bout_w)); // Lamps 1 to 8 m_pia[1]->cb2_handler().set(FUNC(calomega_state::pia1_cb2_w)); // V_BLANK interrupt line input (from Vertical Synch) diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp index 3bdb97c515d..9f42eef286a 100644 --- a/src/mame/drivers/cmi.cpp +++ b/src/mame/drivers/cmi.cpp @@ -335,7 +335,6 @@ public: DECLARE_WRITE_LINE_MEMBER( cmi02_ptm_irq ); DECLARE_WRITE_LINE_MEMBER( cmi02_ptm_o2 ); DECLARE_WRITE_LINE_MEMBER( cmi02_pia2_irqa_w ); - DECLARE_READ_LINE_MEMBER( cmi02_pia2_ca1_r ); DECLARE_WRITE_LINE_MEMBER( cmi02_pia2_cb2_w ); uint8_t cmi07_r(); @@ -1583,12 +1582,6 @@ WRITE_LINE_MEMBER( cmi_state::cmi02_pia2_irqa_w ) set_interrupt(CPU_2, IRQ_ADINT_LEVEL, state ? ASSERT_LINE : CLEAR_LINE); } -READ_LINE_MEMBER( cmi_state::cmi02_pia2_ca1_r ) -{ - LOG("%s: cmi02_pia2_ca1_r: %d\n", machine().describe_context(), 0); - return 0; -} - WRITE_LINE_MEMBER( cmi_state::cmi02_pia2_cb2_w ) { LOG("%s: cmi02_pia2_cb2_w: %d\n", machine().describe_context(), state); @@ -2197,7 +2190,7 @@ void cmi_state::cmi2x(machine_config &config) PIA6821(config, m_cmi02_pia[1]); // pia_cmi02_2_config m_cmi02_pia[1]->irqa_handler().set(FUNC(cmi_state::cmi02_pia2_irqa_w)); - m_cmi02_pia[1]->readca1_handler().set(FUNC(cmi_state::cmi02_pia2_ca1_r)); + m_cmi02_pia[1]->ca1_w(0); m_cmi02_pia[1]->cb2_handler().set(FUNC(cmi_state::cmi02_pia2_cb2_w)); PTM6840(config, m_cmi02_ptm, SYSTEM_CAS_CLOCK); diff --git a/src/mame/drivers/e100.cpp b/src/mame/drivers/e100.cpp index 2ac709df04e..4615775cd09 100644 --- a/src/mame/drivers/e100.cpp +++ b/src/mame/drivers/e100.cpp @@ -174,8 +174,6 @@ private: void pia1_kbA_w(uint8_t data); uint8_t pia1_kbB_r(); void pia1_kbB_w(uint8_t data); - DECLARE_READ_LINE_MEMBER( pia1_ca1_r ); - DECLARE_READ_LINE_MEMBER( pia1_cb1_r ); DECLARE_WRITE_LINE_MEMBER( pia1_ca2_w); DECLARE_WRITE_LINE_MEMBER( pia1_cb2_w); TIMER_DEVICE_CALLBACK_MEMBER(rtc_w); @@ -393,17 +391,6 @@ uint8_t e100_state::pia1_kbB_r() return m_pia1_B; } -READ_LINE_MEMBER(e100_state::pia1_ca1_r) -{ - // TODO: Make this a slot device for time meassurements - return ASSERT_LINE; // Default is handshake for serial port TODO: Fix RS 232 handshake as default -} - -READ_LINE_MEMBER(e100_state::pia1_cb1_r) -{ - return m_rs232->rxd_r(); -} - WRITE_LINE_MEMBER(e100_state::pia1_ca2_w) { // TODO: Make this a slot device to trigger time meassurements @@ -563,8 +550,7 @@ void e100_state::e100(machine_config &config) m_pia1->readpa_handler().set(FUNC(e100_state::pia1_kbA_r)); m_pia1->writepb_handler().set(FUNC(e100_state::pia1_kbB_w)); m_pia1->readpb_handler().set(FUNC(e100_state::pia1_kbB_r)); - m_pia1->readca1_handler().set(FUNC(e100_state::pia1_ca1_r)); - m_pia1->readcb1_handler().set(FUNC(e100_state::pia1_cb1_r)); + m_pia1->ca1_w(ASSERT_LINE); // TODO: Make this a slot device for time meassurements. Default is handshake for serial port TODO: Fix RS 232 handshake as default m_pia1->ca2_handler().set(FUNC(e100_state::pia1_ca2_w)); m_pia1->cb2_handler().set(FUNC(e100_state::pia1_cb2_w)); @@ -574,6 +560,7 @@ void e100_state::e100(machine_config &config) /* Serial port support */ RS232_PORT(config, m_rs232, default_rs232_devices, nullptr); + m_rs232->rxd_handler().set(m_pia1, FUNC(pia6821_device::cb1_w)); SPEAKER(config, "mono").front_center(); /* Cassette support - E100 uses 300 baud Kansas City Standard with 1200/2400 Hz modulation */ diff --git a/src/mame/drivers/eacc.cpp b/src/mame/drivers/eacc.cpp index e96bded660a..fcc892d8dcf 100644 --- a/src/mame/drivers/eacc.cpp +++ b/src/mame/drivers/eacc.cpp @@ -75,7 +75,6 @@ protected: virtual void machine_start() override; private: - DECLARE_READ_LINE_MEMBER( cb1_r ); DECLARE_READ_LINE_MEMBER( distance_r ); DECLARE_READ_LINE_MEMBER( fuel_sensor_r ); uint8_t keyboard_r(); @@ -149,6 +148,7 @@ INPUT_PORTS_END void eacc_state::machine_reset() { m_cb2 = 0; + m_pia->cb1_w(1); } void eacc_state::machine_start() @@ -165,7 +165,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(eacc_state::cb1_timer) { m_cb1 ^= 1; // 15hz if (m_cb2) - m_maincpu->set_input_line(M6802_IRQ_LINE, ASSERT_LINE); + m_pia->cb1_w(m_cb1); } TIMER_DEVICE_CALLBACK_MEMBER(eacc_state::nmi_timer) @@ -177,11 +177,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(eacc_state::nmi_timer) } } -READ_LINE_MEMBER( eacc_state::cb1_r ) -{ - return (m_cb2) ? m_cb1 : 1; -} - READ_LINE_MEMBER( eacc_state::distance_r ) { return machine().rand() & 1; // needs random pulses to simulate movement @@ -195,6 +190,7 @@ READ_LINE_MEMBER( eacc_state::fuel_sensor_r ) WRITE_LINE_MEMBER( eacc_state::cb2_w ) { m_cb2 = state; + m_pia->cb1_w((m_cb2) ? m_cb1 : 1); } uint8_t eacc_state::keyboard_r() @@ -264,7 +260,6 @@ void eacc_state::eacc(machine_config &config) PIA6821(config, m_pia, 0); m_pia->readpb_handler().set(FUNC(eacc_state::keyboard_r)); m_pia->readca1_handler().set(FUNC(eacc_state::distance_r)); - m_pia->readcb1_handler().set(FUNC(eacc_state::cb1_r)); m_pia->readca2_handler().set(FUNC(eacc_state::fuel_sensor_r)); m_pia->writepa_handler().set(FUNC(eacc_state::segment_w)); m_pia->writepb_handler().set(FUNC(eacc_state::digit_w)); diff --git a/src/mame/drivers/eurocom2.cpp b/src/mame/drivers/eurocom2.cpp index 2bf55d6a0d2..a81ff72a3db 100644 --- a/src/mame/drivers/eurocom2.cpp +++ b/src/mame/drivers/eurocom2.cpp @@ -95,9 +95,6 @@ protected: uint8_t kbd_get(); void kbd_put(u8 data); - DECLARE_READ_LINE_MEMBER(pia1_ca1_r); - DECLARE_READ_LINE_MEMBER(pia1_ca2_r); - DECLARE_READ_LINE_MEMBER(pia1_cb1_r); DECLARE_WRITE_LINE_MEMBER(pia1_cb2_w); void eurocom2_map(address_map &map); @@ -110,7 +107,7 @@ protected: emu_timer *m_sst = nullptr; floppy_image_device *m_floppy = nullptr; - bool m_sst_state = false, m_kbd_ready = false; + bool m_sst_state = false; bitmap_ind16 m_tmpbmp; uint8_t m_vico[2]{}; @@ -142,8 +139,6 @@ private: DECLARE_WRITE_LINE_MEMBER(waveterm_kbh_w); void pia3_pb_w(uint8_t data); - DECLARE_READ_LINE_MEMBER(pia3_ca1_r); - DECLARE_READ_LINE_MEMBER(pia3_ca2_r); DECLARE_WRITE_LINE_MEMBER(pia3_cb2_w); uint8_t waveterm_adc(); @@ -225,20 +220,6 @@ void eurocom2_state::vico_w(offs_t offset, uint8_t data) } -READ_LINE_MEMBER(eurocom2_state::pia1_ca2_r) -{ - LOGDBG("PIA1 CA2 == %d (SST Q14)\n", m_sst_state); - - return m_sst_state; -} - -READ_LINE_MEMBER(eurocom2_state::pia1_cb1_r) -{ - LOGDBG("PIA1 CB1 == %d (SST Q6)\n", m_sst_state); - - return m_sst_state; -} - WRITE_LINE_MEMBER(eurocom2_state::pia1_cb2_w) { LOG("PIA1 CB2 <- %d (SST reset)\n", state); @@ -249,12 +230,7 @@ void eurocom2_state::device_timer(emu_timer &timer, device_timer_id id, int para { m_sst_state = !m_sst_state; m_pia1->ca2_w(m_sst_state); -} - - -READ_LINE_MEMBER(eurocom2_state::pia1_ca1_r) -{ - return m_kbd_ready; + m_pia1->cb1_w(m_sst_state); } /* bit 7 may be connected to something else -- see section 6.2 of Eurocom manual */ @@ -265,7 +241,6 @@ uint8_t eurocom2_state::kbd_get() void eurocom2_state::kbd_put(u8 data) { - m_kbd_ready = true; m_kbd_data = data; m_pia1->ca1_w(false); m_pia1->ca1_w(true); @@ -407,7 +382,7 @@ INPUT_PORTS_END void eurocom2_state::machine_reset() { - m_kbd_ready = false; + m_pia1->ca1_w(false); m_floppy = nullptr; if (ioport("S1")->read() & 0x80) @@ -452,9 +427,8 @@ void eurocom2_state::eurocom2(machine_config &config) keyboard.set_keyboard_callback(FUNC(eurocom2_state::kbd_put)); PIA6821(config, m_pia1, 0); - m_pia1->readca1_handler().set(FUNC(eurocom2_state::pia1_ca1_r)); // keyboard strobe - m_pia1->readca2_handler().set(FUNC(eurocom2_state::pia1_ca2_r)); // SST output Q14 - m_pia1->readcb1_handler().set(FUNC(eurocom2_state::pia1_cb1_r)); // SST output Q6 + m_pia1->ca2_w(m_sst_state); // SST output Q14 + m_pia1->cb1_w(m_sst_state); // SST output Q6 m_pia1->cb2_handler().set(FUNC(eurocom2_state::pia1_cb2_w)); // SST reset input m_pia1->readpa_handler().set(FUNC(eurocom2_state::kbd_get)); // m_pia1->readpb_handler().set(FUNC(eurocom2_state::kbd_get)); @@ -493,8 +467,6 @@ void waveterm_state::waveterm(machine_config &config) // m_pia3->readpa_handler().set(FUNC(waveterm_state::pia3_pa_r)); // m_pia3->writepa_handler().set(FUNC(waveterm_state::pia3_pa_w)); m_pia3->writepb_handler().set(FUNC(waveterm_state::pia3_pb_w)); -// m_pia3->readca1_handler().set(FUNC(waveterm_state::pia3_ca1_r)); -// m_pia3->readca2_handler().set(FUNC(waveterm_state::pia3_ca2_r)); m_pia3->readcb1_handler().set_ioport("FP"); // m_pia3->cb2_handler().set(FUNC(waveterm_state::pia3_cb2_w)); diff --git a/src/mame/drivers/exorciser.cpp b/src/mame/drivers/exorciser.cpp index 2e0fc629ea9..6373e9a9b6c 100644 --- a/src/mame/drivers/exorciser.cpp +++ b/src/mame/drivers/exorciser.cpp @@ -232,7 +232,6 @@ private: u8 m_stop_enabled; void pia_lpt_pa_w(u8 data); - int pia_lpt_ca1_r(); void pia_lpt_ca2_w(int state); uint8_t pia_lpt_pb_r(); uint8_t m_printer_data; @@ -549,12 +548,6 @@ void exorciser_state::pia_lpt_pa_w(u8 data) m_printer_data = data; } -int exorciser_state::pia_lpt_ca1_r() -{ - // External parallel printer busy input. - return 0; -} - void exorciser_state::pia_lpt_ca2_w(int state) { // External parallel printer data ready. @@ -706,7 +699,7 @@ void exorciser_state::exorciser(machine_config &config) // MEX68PI Parallel printer port PIA6821(config, m_pia_lpt, 0); m_pia_lpt->writepa_handler().set(FUNC(exorciser_state::pia_lpt_pa_w)); - m_pia_lpt->readca1_handler().set(FUNC(exorciser_state::pia_lpt_ca1_r)); + m_pia_lpt->ca1_w(0); // External parallel printer busy input. m_pia_lpt->ca2_handler().set(FUNC(exorciser_state::pia_lpt_ca2_w)); m_pia_lpt->readpb_handler().set(FUNC(exorciser_state::pia_lpt_pb_r)); diff --git a/src/mame/drivers/mekd3.cpp b/src/mame/drivers/mekd3.cpp index b2af8114a30..753345c1932 100644 --- a/src/mame/drivers/mekd3.cpp +++ b/src/mame/drivers/mekd3.cpp @@ -183,8 +183,6 @@ private: void led_segment_w(uint8_t data); TIMER_DEVICE_CALLBACK_MEMBER(led_update); void page_w(uint8_t data); - void trace_timer_w(uint8_t data); - uint8_t trace_timer_r(); required_device<m6802_cpu_device> m_maincpu; required_device<ram_device> m_ram; @@ -198,7 +196,6 @@ private: uint8_t m_rom_page; uint8_t m_ram_page; - uint8_t m_trace; uint8_t m_segment; uint8_t m_digit; @@ -251,9 +248,6 @@ private: MC6845_UPDATE_ROW(update_row); uint8_t r2_pia_pa_r(); uint8_t r2_pia_pb_r(); - DECLARE_WRITE_LINE_MEMBER(r2_hsync_changed); - DECLARE_WRITE_LINE_MEMBER(r2_vsync_changed); - DECLARE_READ_LINE_MEMBER(r2_pia_cb1_r); optional_device<mc6845_device> m_mc6845; optional_device<palette_device> m_palette; optional_device<screen_device> m_screen; @@ -265,7 +259,6 @@ private: optional_ioport m_r2_display_format; void kbd_put(uint8_t data); uint8_t m_term_data; - bool m_r2_vsync; }; @@ -466,23 +459,6 @@ void mekd3_state::page_w(uint8_t data) /*********************************************************** - Trace timer - -************************************************************/ - -void mekd3_state::trace_timer_w(uint8_t data) -{ - m_trace = data; - m_kpd_pia->ca1_w(data); -} - -uint8_t mekd3_state::trace_timer_r() -{ - return m_trace; -} - -/*********************************************************** - Keypad ************************************************************/ @@ -810,22 +786,6 @@ uint8_t mekd3_state::r2_pia_pb_r() return (display_format << 6) | mode; } -WRITE_LINE_MEMBER(mekd3_state::r2_hsync_changed) -{ - m_r2_pia->cb2_w(state); -} - -WRITE_LINE_MEMBER(mekd3_state::r2_vsync_changed) -{ - m_r2_vsync = state; - m_r2_pia->cb1_w(state); -} - -READ_LINE_MEMBER(mekd3_state::r2_pia_cb1_r) -{ - return m_r2_vsync; -} - MC6845_UPDATE_ROW(mekd3_state::update_row) { const pen_t *pen = m_palette->pens(); @@ -906,7 +866,6 @@ void mekd3_state::machine_start() save_item(NAME(m_rom_page)); save_item(NAME(m_ram_page)); - save_item(NAME(m_trace)); save_item(NAME(m_segment)); save_item(NAME(m_digit)); save_item(NAME(m_cts)); @@ -918,7 +877,6 @@ void mekd3_state::machine_start() save_item(NAME(m_cass_txbit)); save_item(NAME(m_cass_last_txbit)); save_item(NAME(m_term_data)); - save_item(NAME(m_r2_vsync)); } void mekd3_state::machine_reset() @@ -950,8 +908,7 @@ void mekd3_state::machine_reset() // MEK68R2 m_r2_pia->ca1_w(ASSERT_LINE); m_r2_pia->ca2_w(ASSERT_LINE); - m_r2_vsync = 0; - m_r2_pia->cb1_w(m_r2_vsync); + m_r2_pia->cb1_w(0); m_r2_pia->cb2_w(0); } @@ -998,14 +955,14 @@ void mekd3_state::mekd3(machine_config &config) m_kpd_pia->readcb1_handler().set(FUNC(mekd3_state::keypad_cb1_r)); m_kpd_pia->writepa_handler().set(FUNC(mekd3_state::led_segment_w)); m_kpd_pia->writepb_handler().set(FUNC(mekd3_state::led_digit_w)); - m_kpd_pia->readca1_handler().set(FUNC(mekd3_state::trace_timer_r)); + m_kpd_pia->ca1_w(0); m_kpd_pia->irqa_handler().set(m_mainnmi, FUNC(input_merger_device::in_w<0>)); m_kpd_pia->irqb_handler().set(m_mainnmi, FUNC(input_merger_device::in_w<1>)); // CP1, CP2, /CTG, /CTC are available at SK1, and not used here. MC6846(config, m_mc6846, XTAL_MEKD3 / 4); // Same as the cpu clock m_mc6846->out_port().set(FUNC(mekd3_state::page_w)); - m_mc6846->cto().set(FUNC(mekd3_state::trace_timer_w)); + m_mc6846->cto().set(m_kpd_pia, FUNC(pia6821_device::ca1_w)); // trace timer m_mc6846->irq().set(m_mainirq, FUNC(input_merger_device::in_w<0>)); // MEK68IO @@ -1072,8 +1029,8 @@ void mekd3_state::mekd3(machine_config &config) m_mc6845->set_show_border_area(false); m_mc6845->set_char_width(8); m_mc6845->set_update_row_callback(FUNC(mekd3_state::update_row)); - m_mc6845->out_hsync_callback().set(FUNC(mekd3_state::r2_hsync_changed)); - m_mc6845->out_vsync_callback().set(FUNC(mekd3_state::r2_vsync_changed)); + m_mc6845->out_hsync_callback().set(m_r2_pia, FUNC(pia6821_device::cb2_w)); + m_mc6845->out_vsync_callback().set(m_r2_pia, FUNC(pia6821_device::cb1_w)); // PA is the keyboard data and a mode flag. // CA1 is keyboard strobe. @@ -1083,7 +1040,6 @@ void mekd3_state::mekd3(machine_config &config) PIA6821(config, m_r2_pia, 0); m_r2_pia->readpa_handler().set(FUNC(mekd3_state::r2_pia_pa_r)); m_r2_pia->readpb_handler().set(FUNC(mekd3_state::r2_pia_pb_r)); - m_r2_pia->readcb1_handler().set(FUNC(mekd3_state::r2_pia_cb1_r)); m_r2_pia->irqa_handler().set(m_mainirq, FUNC(input_merger_device::in_w<6>)); m_r2_pia->irqb_handler().set(m_mainirq, FUNC(input_merger_device::in_w<7>)); diff --git a/src/mame/drivers/mekd4.cpp b/src/mame/drivers/mekd4.cpp index 8ce7f05fdde..f34127eccc5 100644 --- a/src/mame/drivers/mekd4.cpp +++ b/src/mame/drivers/mekd4.cpp @@ -315,7 +315,6 @@ private: void stop_pia_w(offs_t offset, uint8_t data); void stop_pia_pa_w(uint8_t data); void stop_pia_pb_w(uint8_t data); - DECLARE_READ_LINE_MEMBER(stop_pia_ca2_r); uint16_t m_stop_address; DECLARE_WRITE_LINE_MEMBER(rs232_route_cts); @@ -374,9 +373,6 @@ private: MC6845_UPDATE_ROW(update_row); uint8_t r2_pia_pa_r(); uint8_t r2_pia_pb_r(); - DECLARE_WRITE_LINE_MEMBER(r2_hsync_changed); - DECLARE_WRITE_LINE_MEMBER(r2_vsync_changed); - DECLARE_READ_LINE_MEMBER(r2_pia_cb1_r); optional_device<mc6845_device> m_mc6845; optional_device<palette_device> m_palette; optional_device<screen_device> m_screen; @@ -388,7 +384,6 @@ private: optional_ioport m_r2_display_format; void kbd_put(uint8_t data); uint8_t m_term_data; - bool m_r2_vsync; }; @@ -607,12 +602,6 @@ void mekd4_state::stop_pia_pb_w(uint8_t data) m_stop_address = (m_stop_address & 0xff00) | data; } -// Connected to 'abort' TP2. Can be toggled low to and abort user code. -READ_LINE_MEMBER(mekd4_state::stop_pia_ca2_r) -{ - return 1; -} - /*********************************************************** RAM and ROM paging @@ -846,22 +835,6 @@ uint8_t mekd4_state::r2_pia_pb_r() return (display_format << 6) | mode; } -WRITE_LINE_MEMBER(mekd4_state::r2_hsync_changed) -{ - m_r2_pia->cb2_w(state); -} - -WRITE_LINE_MEMBER(mekd4_state::r2_vsync_changed) -{ - m_r2_vsync = state; - m_r2_pia->cb1_w(state); -} - -READ_LINE_MEMBER(mekd4_state::r2_pia_cb1_r) -{ - return m_r2_vsync; -} - MC6845_UPDATE_ROW(mekd4_state::update_row) { const pen_t *pen = m_palette->pens(); @@ -935,7 +908,6 @@ void mekd4_state::machine_start() save_item(NAME(m_cts)); save_item(NAME(m_dcd)); save_item(NAME(m_term_data)); - save_item(NAME(m_r2_vsync)); } void mekd4_state::machine_reset() @@ -963,8 +935,7 @@ void mekd4_state::machine_reset() // MEK68R2 m_r2_pia->ca1_w(ASSERT_LINE); m_r2_pia->ca2_w(ASSERT_LINE); - m_r2_vsync = 0; - m_r2_pia->cb1_w(m_r2_vsync); + m_r2_pia->cb1_w(0); m_r2_pia->cb2_w(0); } @@ -1031,7 +1002,7 @@ void mekd4_state::mekd4(machine_config &config) PIA6821(config, m_stop_pia, 0); m_stop_pia->writepa_handler().set(FUNC(mekd4_state::stop_pia_pa_w)); m_stop_pia->writepb_handler().set(FUNC(mekd4_state::stop_pia_pb_w)); - m_stop_pia->readca2_handler().set(FUNC(mekd4_state::stop_pia_ca2_r)); + m_stop_pia->ca2_w(1); // Connected to 'abort' TP2. Can be toggled low to and abort user code. m_stop_pia->readcb1_handler().set(FUNC(mekd4_state::stop_pia_cb1_r)); m_stop_pia->cb2_handler().set(FUNC(mekd4_state::stop_pia_cb2_w)); m_stop_pia->irqa_handler().set("mainnmi", FUNC(input_merger_device::in_w<0>)); @@ -1065,8 +1036,8 @@ void mekd4_state::mekd4(machine_config &config) m_mc6845->set_show_border_area(false); m_mc6845->set_char_width(8); m_mc6845->set_update_row_callback(FUNC(mekd4_state::update_row)); - m_mc6845->out_hsync_callback().set(FUNC(mekd4_state::r2_hsync_changed)); - m_mc6845->out_vsync_callback().set(FUNC(mekd4_state::r2_vsync_changed)); + m_mc6845->out_hsync_callback().set(m_r2_pia, FUNC(pia6821_device::cb2_w)); + m_mc6845->out_vsync_callback().set(m_r2_pia, FUNC(pia6821_device::cb1_w)); // PA is the keyboard data and a mode flag. // CA1 is keyboard strobe. @@ -1076,7 +1047,6 @@ void mekd4_state::mekd4(machine_config &config) PIA6821(config, m_r2_pia, 0); m_r2_pia->readpa_handler().set(FUNC(mekd4_state::r2_pia_pa_r)); m_r2_pia->readpb_handler().set(FUNC(mekd4_state::r2_pia_pb_r)); - m_r2_pia->readcb1_handler().set(FUNC(mekd4_state::r2_pia_cb1_r)); m_r2_pia->irqa_handler().set("mainirq", FUNC(input_merger_device::in_w<2>)); m_r2_pia->irqb_handler().set("mainirq", FUNC(input_merger_device::in_w<3>)); diff --git a/src/mame/drivers/pegasus.cpp b/src/mame/drivers/pegasus.cpp index fe3672a313e..0ad7221646f 100644 --- a/src/mame/drivers/pegasus.cpp +++ b/src/mame/drivers/pegasus.cpp @@ -89,7 +89,6 @@ private: void pegasus_controls_w(u8 data); void pegasus_keyboard_w(u8 data); void pegasus_pcg_w(offs_t offset, u8 data); - DECLARE_READ_LINE_MEMBER(pegasus_keyboard_irq); DECLARE_READ_LINE_MEMBER(pegasus_cassette_r); DECLARE_WRITE_LINE_MEMBER(pegasus_cassette_w); DECLARE_WRITE_LINE_MEMBER(pegasus_firq_clr); @@ -106,7 +105,6 @@ private: void pegasusm_mem(address_map &map); u8 m_kbd_row = 0U; - bool m_kbd_irq = false; u8 m_control_bits = 0U; std::unique_ptr<u8[]> m_pcg; void pegasus_decrypt_rom(u8 *ROM); @@ -140,7 +138,7 @@ u8 pegasus_state::pegasus_keyboard_r() for (unsigned i = 0; i < 8; i++) if (!BIT(m_kbd_row, i)) data &= m_io_keyboard[i]->read(); - m_kbd_irq = (data == 0xff) ? 1 : 0; + m_pia_s->cb1_w((data == 0xff) ? 1 : 0); if (BIT(m_control_bits, 3)) data <<= 4; return data; @@ -163,11 +161,6 @@ void pegasus_state::pegasus_controls_w(u8 data) m_control_bits = data; } -READ_LINE_MEMBER( pegasus_state::pegasus_keyboard_irq ) -{ - return m_kbd_irq; -} - READ_LINE_MEMBER( pegasus_state::pegasus_cassette_r ) { return m_cass->input(); @@ -475,14 +468,13 @@ void pegasus_state::machine_start() m_pcg = make_unique_clear<u8[]>(0x0800); save_pointer(NAME(m_pcg), 0x0800); save_item(NAME(m_kbd_row)); - save_item(NAME(m_kbd_irq)); save_item(NAME(m_control_bits)); } void pegasus_state::machine_reset() { m_kbd_row = 0; - m_kbd_irq = 1; + m_pia_s->cb1_w(1); m_control_bits = 0; } @@ -519,7 +511,6 @@ void pegasus_state::pegasus(machine_config &config) PIA6821(config, m_pia_s, 0); m_pia_s->readpb_handler().set(FUNC(pegasus_state::pegasus_keyboard_r)); m_pia_s->readca1_handler().set(FUNC(pegasus_state::pegasus_cassette_r)); - m_pia_s->readcb1_handler().set(FUNC(pegasus_state::pegasus_keyboard_irq)); m_pia_s->writepa_handler().set(FUNC(pegasus_state::pegasus_keyboard_w)); m_pia_s->writepb_handler().set(FUNC(pegasus_state::pegasus_controls_w)); m_pia_s->ca2_handler().set(FUNC(pegasus_state::pegasus_cassette_w)); diff --git a/src/mame/drivers/pet.cpp b/src/mame/drivers/pet.cpp index a4066b389fe..35a2329f175 100644 --- a/src/mame/drivers/pet.cpp +++ b/src/mame/drivers/pet.cpp @@ -1674,7 +1674,6 @@ void pet_state::base_pet_devices(machine_config &config, const char *default_dri PIA6821(config, m_pia1, 0); m_pia1->readpa_handler().set(FUNC(pet_state::pia1_pa_r)); m_pia1->readpb_handler().set(FUNC(pet_state::pia1_pb_r)); - m_pia1->readca1_handler().set(PET_DATASSETTE_PORT_TAG, FUNC(pet_datassette_port_device::read)); m_pia1->writepa_handler().set(FUNC(pet_state::pia1_pa_w)); m_pia1->ca2_handler().set(FUNC(pet_state::pia1_ca2_w)); m_pia1->cb2_handler().set(PET_DATASSETTE_PORT_TAG, FUNC(pet_datassette_port_device::motor_w)); @@ -1694,7 +1693,7 @@ void pet_state::base_pet_devices(machine_config &config, const char *default_dri m_ieee->srq_callback().set(m_pia2, FUNC(pia6821_device::cb1_w)); m_ieee->atn_callback().set(m_pia2, FUNC(pia6821_device::ca1_w)); - PET_DATASSETTE_PORT(config, PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c2n").read_handler().set(M6520_1_TAG, FUNC(pia6821_device::ca1_w)); + PET_DATASSETTE_PORT(config, PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c2n").read_handler().set(m_pia1, FUNC(pia6821_device::ca1_w)); PET_DATASSETTE_PORT(config, PET_DATASSETTE_PORT2_TAG, cbm_datassette_devices, nullptr).read_handler().set(M6522_TAG, FUNC(via6522_device::write_cb1)); PET_EXPANSION_SLOT(config, m_exp, XTAL(16'000'000)/16, pet_expansion_cards, nullptr); diff --git a/src/mame/drivers/s8.cpp b/src/mame/drivers/s8.cpp index 2280b3a7b30..ab1541b6e49 100644 --- a/src/mame/drivers/s8.cpp +++ b/src/mame/drivers/s8.cpp @@ -170,7 +170,6 @@ private: void sound_w(u8 data); u8 switch_r(); void switch_w(u8 data); - DECLARE_READ_LINE_MEMBER(pia21_ca1_r); DECLARE_WRITE_LINE_MEMBER(pia21_ca2_w); DECLARE_WRITE_LINE_MEMBER(pia21_cb2_w) { } // enable solenoids DECLARE_WRITE_LINE_MEMBER(pia24_cb2_w) { m_io_outputs[16] = state; } // dummy to stop error log filling up @@ -424,12 +423,6 @@ void s8_state::sound_w(u8 data) m_sound_data = data; } -READ_LINE_MEMBER( s8_state::pia21_ca1_r ) -{ -// sound busy - return 1; -} - WRITE_LINE_MEMBER( s8_state::pia21_ca2_w ) { // sound ns @@ -606,7 +599,7 @@ void s8_state::s8(machine_config &config) PIA6821(config, m_pia21, 0); m_pia21->readpa_handler().set(FUNC(s8_state::sound_r)); m_pia21->set_port_a_input_overrides_output_mask(0xff); - m_pia21->readca1_handler().set(FUNC(s8_state::pia21_ca1_r)); + m_pia21->ca1_w(1); // sound busy m_pia21->writepa_handler().set(FUNC(s8_state::sound_w)); m_pia21->writepb_handler().set(FUNC(s8_state::sol2_w)); m_pia21->ca2_handler().set(FUNC(s8_state::pia21_ca2_w)); diff --git a/src/mame/drivers/s9.cpp b/src/mame/drivers/s9.cpp index 3699bae848f..1277377fed2 100644 --- a/src/mame/drivers/s9.cpp +++ b/src/mame/drivers/s9.cpp @@ -81,7 +81,6 @@ private: void sol3_w(u8 data) { for (u8 i = 0; i < 8; i++) m_io_outputs[i] = BIT(data, i); }; // solenoids 0-7 u8 switch_r(); void switch_w(u8 data); - DECLARE_READ_LINE_MEMBER(pia21_ca1_r); DECLARE_WRITE_LINE_MEMBER(pia21_cb2_w) { } // enable solenoids DECLARE_WRITE_LINE_MEMBER(pia24_cb2_w) { } // dummy to stop error log filling up DECLARE_WRITE_LINE_MEMBER(pia28_ca2_w) { m_comma34 = state; } // comma3&4 @@ -232,12 +231,6 @@ INPUT_CHANGED_MEMBER( s9_state::main_nmi ) m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } -READ_LINE_MEMBER( s9_state::pia21_ca1_r ) -{ -// sound busy - return 1; -} - void s9_state::sol2_w(u8 data) { if (m_game) @@ -376,7 +369,7 @@ void s9_state::s9(machine_config &config) /* Devices */ PIA6821(config, m_pia21, 0); m_pia21->set_port_a_input_overrides_output_mask(0xff); - m_pia21->readca1_handler().set(FUNC(s9_state::pia21_ca1_r)); + m_pia21->ca1_w(1); // sound busy m_pia21->writepa_handler().set("s9sound", FUNC(williams_s9_sound_device::write)); m_pia21->writepb_handler().set(FUNC(s9_state::sol2_w)); m_pia21->ca2_handler().set("s9sound", FUNC(williams_s9_sound_device::strobe)); diff --git a/src/mame/drivers/starrider.cpp b/src/mame/drivers/starrider.cpp index 5eaad7542ad..00a6b1e15e1 100644 --- a/src/mame/drivers/starrider.cpp +++ b/src/mame/drivers/starrider.cpp @@ -405,10 +405,10 @@ void sr_state::starrider(machine_config &config) PIA6821(config, m_main_pia2, 24_MHz_XTAL / 2 / 12); // 6820/21 m_main_pia2->readpa_handler().set_ioport("IN0"); - m_main_pia2->readca1_handler().set_constant(0); // grounded + m_main_pia2->ca1_w(0); // grounded m_main_pia2->ca2_handler().set(FUNC(sr_state::cpu_pia2_ca2_w)); m_main_pia2->readpb_handler().set_ioport("IN1"); - m_main_pia2->readcb1_handler().set_constant(0); // grounded + m_main_pia2->cb1_w(0); // grounded // CB2 is unused // IRQA and IRQB are unused diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp index de9324eee7d..f8fe4095fa8 100644 --- a/src/mame/drivers/swtpc09.cpp +++ b/src/mame/drivers/swtpc09.cpp @@ -433,7 +433,7 @@ void swtpc09_state::swtpc09_base(machine_config &config) // IO8 at 0xe080 is used internally by the MPID board PIA. PIA6821(config, m_pia, 0); m_pia->readpa_handler().set(FUNC(swtpc09_state::pia0_a_r)); - m_pia->readca1_handler().set(FUNC(swtpc09_state::pia0_ca1_r)); + m_pia->ca1_w(0); m_pia->irqa_handler().set(FUNC(swtpc09_state::pia0_irq_a)); // IO9 at 0xe090 is used internally by the MPID board 6840 timer. diff --git a/src/mame/drivers/tavernie.cpp b/src/mame/drivers/tavernie.cpp index 7c77b2ec624..3124d2a4ffa 100644 --- a/src/mame/drivers/tavernie.cpp +++ b/src/mame/drivers/tavernie.cpp @@ -87,7 +87,6 @@ public: void cpu09(machine_config &config); protected: - DECLARE_READ_LINE_MEMBER(ca1_r); u8 pa_r(); void pa_w(u8 data); void pb_w(u8 data); @@ -307,12 +306,6 @@ void cpu09_state::pb_w(u8 data) { } -// cass in -READ_LINE_MEMBER( cpu09_state::ca1_r ) -{ - return m_cassold; -} - u8 ivg09_state::pb_ivg_r() { u8 ret = m_term_data; @@ -413,7 +406,7 @@ void cpu09_state::cpu09(machine_config &config) PIA6821(config, m_pia0, 0); m_pia0->readpa_handler().set(FUNC(cpu09_state::pa_r)); - m_pia0->readca1_handler().set(FUNC(cpu09_state::ca1_r)); + m_pia0->ca1_w(0); m_pia0->writepa_handler().set(FUNC(cpu09_state::pa_w)); m_pia0->writepb_handler().set(FUNC(cpu09_state::pb_w)); |