summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/h6280
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-05-18 13:32:56 -0400
committer AJR <ajrhacker@users.noreply.github.com>2018-05-18 13:40:29 -0400
commit0ba652e723036746aa1b1ac665411bee83771654 (patch)
treeba3cf42c70bf33ad22c07ad85b9d41f863a373e7 /src/devices/cpu/h6280
parente5dc17a4881d2b9ce4573b42d825cb6456bf529c (diff)
diexec: Interrupt API changes (nw)
- PULSE_LINE is no longer a value. Existing uses have been changed to pulse_input_line with attotime::zero as the second argument. - Formerly only INPUT_LINE_NMI and INPUT_LINE_RESET were allowed with PULSE_LINE. INPUT_LINE_NMI no longer receives special handling; instead, CPU devices must specify which of their input lines are edge-triggered and thus may be used with zero-width pulses by overriding the execute_input_edge_triggered predicate. INPUT_LINE_RESET is still special-cased, however. - execute_default_irq_vector now allows a different default vector to be specified for each input line. This added flexibility may or may not prove useful.
Diffstat (limited to 'src/devices/cpu/h6280')
-rw-r--r--src/devices/cpu/h6280/h6280.cpp11
-rw-r--r--src/devices/cpu/h6280/h6280.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/devices/cpu/h6280/h6280.cpp b/src/devices/cpu/h6280/h6280.cpp
index 2a38aed615f..4fb069d5390 100644
--- a/src/devices/cpu/h6280/h6280.cpp
+++ b/src/devices/cpu/h6280/h6280.cpp
@@ -2265,6 +2265,17 @@ uint32_t h6280_device::execute_input_lines() const
//-------------------------------------------------
+// execute_input_edge_triggered - return true if
+// the input line has an asynchronous edge trigger
+//-------------------------------------------------
+
+bool h6280_device::execute_input_edge_triggered(int inputnum) const
+{
+ return inputnum == H6280_NMI_STATE;
+}
+
+
+//-------------------------------------------------
// execute_set_input - act on a changed input/
// interrupt line
//-------------------------------------------------
diff --git a/src/devices/cpu/h6280/h6280.h b/src/devices/cpu/h6280/h6280.h
index 22155e0edb6..7c73187ab36 100644
--- a/src/devices/cpu/h6280/h6280.h
+++ b/src/devices/cpu/h6280/h6280.h
@@ -81,6 +81,7 @@ protected:
virtual uint32_t execute_min_cycles() const override;
virtual uint32_t execute_max_cycles() const override;
virtual uint32_t execute_input_lines() const override;
+ virtual bool execute_input_edge_triggered(int inputnum) const override;
virtual void execute_run() override;
virtual void execute_set_input(int inputnum, int state) override;