summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/econet
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2016-07-16 21:32:56 +0100
committer Nigel Barnes <Pernod70@users.noreply.github.com>2016-07-16 21:49:17 +0100
commit9933a6788b4b196b79c768731fea71a67c7d0d32 (patch)
tree7c90b30306dfff57beb1f4cd60a753825965445a /src/devices/bus/econet
parente7b79b1b52e9cecfb42616ef0422bc991d41be12 (diff)
e01: irq cleanup (nw)
Diffstat (limited to 'src/devices/bus/econet')
-rw-r--r--src/devices/bus/econet/e01.cpp35
-rw-r--r--src/devices/bus/econet/e01.h4
2 files changed, 5 insertions, 34 deletions
diff --git a/src/devices/bus/econet/e01.cpp b/src/devices/bus/econet/e01.cpp
index 6176268d6d7..0263b529e29 100644
--- a/src/devices/bus/econet/e01.cpp
+++ b/src/devices/bus/econet/e01.cpp
@@ -127,18 +127,6 @@ const rom_entry *e01_device::device_rom_region() const
//-------------------------------------------------
-// MC146818_INTERFACE( rtc_intf )
-//-------------------------------------------------
-
-WRITE_LINE_MEMBER( e01_device::rtc_irq_w )
-{
- m_rtc_irq = state;
-
- update_interrupts();
-}
-
-
-//-------------------------------------------------
// mc6854_interface adlc_intf
//-------------------------------------------------
@@ -154,13 +142,6 @@ WRITE_LINE_MEMBER( e01_device::econet_data_w )
m_econet->data_w(this, state);
}
-WRITE_LINE_MEMBER( e01_device::via_irq_w )
-{
- m_via_irq = state;
-
- update_interrupts();
-}
-
WRITE_LINE_MEMBER( e01_device::clk_en_w )
{
m_clk_en = state;
@@ -244,12 +225,12 @@ static MACHINE_CONFIG_FRAGMENT( e01 )
MCFG_CPU_PROGRAM_MAP(e01_mem)
MCFG_MC146818_ADD(HD146818_TAG, XTAL_32_768kHz)
- MCFG_MC146818_IRQ_HANDLER(WRITELINE(e01_device, rtc_irq_w))
+ MCFG_MC146818_IRQ_HANDLER(INPUTLINE(R65C102_TAG, M6502_IRQ_LINE))
// devices
MCFG_DEVICE_ADD(R6522_TAG, VIA6522, XTAL_8MHz/4)
MCFG_VIA6522_WRITEPA_HANDLER(DEVWRITE8("cent_data_out", output_latch_device, write))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(e01_device, via_irq_w))
+ MCFG_VIA6522_IRQ_HANDLER(INPUTLINE(R65C102_TAG, M6502_IRQ_LINE))
MCFG_DEVICE_ADD(MC6854_TAG, MC6854, 0)
MCFG_MC6854_OUT_IRQ_CB(WRITELINE(e01_device, adlc_irq_w))
@@ -336,11 +317,11 @@ ioport_constructor e01_device::device_input_ports() const
inline void e01_device::update_interrupts()
{
- int irq = (m_via_irq || (m_hdc_ie & m_hdc_irq) || m_rtc_irq) ? ASSERT_LINE : CLEAR_LINE;
+ int irq = (m_hdc_ie & m_hdc_irq) ? ASSERT_LINE : CLEAR_LINE;
int nmi = (m_fdc_irq || m_fdc_drq || (m_adlc_ie & m_adlc_irq)) ? ASSERT_LINE : CLEAR_LINE;
- m_maincpu->set_input_line(INPUT_LINE_IRQ0, irq);
- m_maincpu->set_input_line(INPUT_LINE_NMI, nmi);
+ m_maincpu->set_input_line(M6502_IRQ_LINE, irq);
+ m_maincpu->set_input_line(M6502_NMI_LINE, nmi);
}
@@ -395,8 +376,6 @@ e01_device::e01_device(const machine_config &mconfig, const char *tag, device_t
m_centronics(*this, CENTRONICS_TAG),
m_adlc_ie(0),
m_hdc_ie(0),
- m_rtc_irq(CLEAR_LINE),
- m_via_irq(CLEAR_LINE),
m_hdc_irq(CLEAR_LINE),
m_fdc_irq(CLEAR_LINE),
m_fdc_drq(CLEAR_LINE),
@@ -425,8 +404,6 @@ e01_device::e01_device(const machine_config &mconfig, device_type type, const ch
m_centronics(*this, CENTRONICS_TAG),
m_adlc_ie(0),
m_hdc_ie(0),
- m_rtc_irq(CLEAR_LINE),
- m_via_irq(CLEAR_LINE),
m_hdc_irq(CLEAR_LINE),
m_fdc_irq(CLEAR_LINE),
m_fdc_drq(CLEAR_LINE),
@@ -448,8 +425,6 @@ void e01_device::device_start()
// register for state saving
save_item(NAME(m_adlc_ie));
save_item(NAME(m_hdc_ie));
- save_item(NAME(m_rtc_irq));
- save_item(NAME(m_via_irq));
save_item(NAME(m_hdc_irq));
save_item(NAME(m_fdc_drq));
save_item(NAME(m_adlc_irq));
diff --git a/src/devices/bus/econet/e01.h b/src/devices/bus/econet/e01.h
index 02a432c936d..9a2adba8ce2 100644
--- a/src/devices/bus/econet/e01.h
+++ b/src/devices/bus/econet/e01.h
@@ -56,10 +56,8 @@ public:
DECLARE_WRITE8_MEMBER( rtc_address_w );
DECLARE_READ8_MEMBER( rtc_data_r );
DECLARE_WRITE8_MEMBER( rtc_data_w );
- DECLARE_WRITE_LINE_MEMBER( rtc_irq_w );
DECLARE_WRITE_LINE_MEMBER( adlc_irq_w );
DECLARE_WRITE_LINE_MEMBER( econet_data_w );
- DECLARE_WRITE_LINE_MEMBER( via_irq_w );
DECLARE_WRITE_LINE_MEMBER( clk_en_w );
DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
@@ -102,8 +100,6 @@ protected:
// interrupt state
int m_adlc_ie;
int m_hdc_ie;
- int m_rtc_irq;
- int m_via_irq;
int m_hdc_irq;
int m_fdc_irq;
bool m_fdc_drq;