From 95aa75c8c6245dc06000e5e8493287c06b19a560 Mon Sep 17 00:00:00 2001 From: Ted Green Date: Fri, 18 Mar 2016 14:37:52 -0600 Subject: [PATCH] iteagle: Move serial irq assignment to top level --- src/mame/drivers/iteagle.cpp | 2 +- src/mame/machine/iteagle_fpga.cpp | 4 ++-- src/mame/machine/iteagle_fpga.h | 9 +++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/mame/drivers/iteagle.cpp b/src/mame/drivers/iteagle.cpp index cc58445128f..9e725636055 100644 --- a/src/mame/drivers/iteagle.cpp +++ b/src/mame/drivers/iteagle.cpp @@ -161,7 +161,7 @@ static MACHINE_CONFIG_START( iteagle, iteagle_state ) MCFG_VRC4373_ADD( ":pci:00.0", ":maincpu") MCFG_ITEAGLE_IDE_ADD( PCI_ID_IDE) MCFG_ITEAGLE_IDE_IRQ_ADD( ":maincpu", MIPS3_IRQ2) - MCFG_ITEAGLE_FPGA_ADD( PCI_ID_FPGA, ":maincpu", MIPS3_IRQ1) + MCFG_ITEAGLE_FPGA_ADD( PCI_ID_FPGA, ":maincpu", MIPS3_IRQ1, MIPS3_IRQ4) MCFG_ES1373_ADD( PCI_ID_SOUND) MCFG_SOUND_ROUTE(0, PCI_ID_SOUND":lspeaker", 1.0) MCFG_SOUND_ROUTE(1, PCI_ID_SOUND":rspeaker", 1.0) diff --git a/src/mame/machine/iteagle_fpga.cpp b/src/mame/machine/iteagle_fpga.cpp index 8035156edae..7f4c6218f67 100644 --- a/src/mame/machine/iteagle_fpga.cpp +++ b/src/mame/machine/iteagle_fpga.cpp @@ -221,7 +221,7 @@ READ32_MEMBER( iteagle_fpga_device::fpga_r ) if (m_serial_rx3.empty()) { m_serial_com3[0] &= ~0x1; m_serial_com3[3] &= ~0x20; - m_cpu->set_input_line(4, CLEAR_LINE); + m_cpu->set_input_line(m_serial_irq_num, CLEAR_LINE); } } if (LOG_FPGA) @@ -365,7 +365,7 @@ WRITE32_MEMBER( iteagle_fpga_device::fpga_w ) m_serial_rx3 += "OK\r"; m_serial_com3[0] |= 0x1; m_serial_com3[3] = 0x20; - m_cpu->set_input_line(4, ASSERT_LINE); + m_cpu->set_input_line(m_serial_irq_num, ASSERT_LINE); m_serial_str.clear(); } } diff --git a/src/mame/machine/iteagle_fpga.h b/src/mame/machine/iteagle_fpga.h index 890683c4d70..66d2238c2a9 100644 --- a/src/mame/machine/iteagle_fpga.h +++ b/src/mame/machine/iteagle_fpga.h @@ -12,9 +12,9 @@ //MCFG_PCI_DEVICE_ADD(_tag, _type, _main_id, _revision, _pclass, _subsystem_id) -#define MCFG_ITEAGLE_FPGA_ADD(_tag, _cpu_tag, _irq_num) \ +#define MCFG_ITEAGLE_FPGA_ADD(_tag, _cpu_tag, _irq_num, _serial_irq_num) \ MCFG_PCI_DEVICE_ADD(_tag, ITEAGLE_FPGA, 0x55CC33AA, 0xAA, 0xAAAAAA, 0x00) \ - downcast(device)->set_irq_info(_cpu_tag, _irq_num); + downcast(device)->set_irq_info(_cpu_tag, _irq_num, _serial_irq_num); #define MCFG_ITEAGLE_FPGA_INIT(_version, _seq_init) \ downcast(device)->set_init_info(_version, _seq_init); @@ -38,8 +38,8 @@ class iteagle_fpga_device : public pci_device, public: iteagle_fpga_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); void set_init_info(int version, int seq_init) {m_version=version; m_seq_init=seq_init;} - void set_irq_info(const char *tag, const int irq_num) {m_cpu_tag = tag; m_irq_num = irq_num;} - + void set_irq_info(const char *tag, const int irq_num, const int serial_num) { + m_cpu_tag = tag; m_irq_num = irq_num; m_serial_irq_num = serial_num;} protected: virtual void device_start() override; @@ -56,6 +56,7 @@ private: const char *m_cpu_tag; cpu_device *m_cpu; int m_irq_num; + int m_serial_irq_num; UINT32 m_fpga_regs[0x20/4]; UINT32 m_rtc_regs[0x800/4];