summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/sh
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-05-15 14:56:14 -0400
committer AJR <ajrhacker@users.noreply.github.com>2018-05-15 14:56:19 -0400
commit4acb7f4baddcb59c2087b1ad548e84eaee070bc5 (patch)
tree5431301ab832324388e2cdcc6fa8f9a94428f512 /src/devices/cpu/sh
parentbbf9a9cf40a0e6ef160ebe173b61c180def3fdc8 (diff)
Start killing off non-diexec PULSE_LINE hacks (nw)
Diffstat (limited to 'src/devices/cpu/sh')
-rw-r--r--src/devices/cpu/sh/sh.h3
-rw-r--r--src/devices/cpu/sh/sh2.h2
-rw-r--r--src/devices/cpu/sh/sh2comn.cpp9
-rw-r--r--src/devices/cpu/sh/sh4.h2
-rw-r--r--src/devices/cpu/sh/sh4comn.cpp9
5 files changed, 7 insertions, 18 deletions
diff --git a/src/devices/cpu/sh/sh.h b/src/devices/cpu/sh/sh.h
index 145f56a734f..0eeba80d23c 100644
--- a/src/devices/cpu/sh/sh.h
+++ b/src/devices/cpu/sh/sh.h
@@ -168,6 +168,9 @@ public:
virtual void WW(offs_t A, uint16_t V) = 0;
virtual void WL(offs_t A, uint32_t V) = 0;
+ virtual void set_frt_input(int state) = 0;
+ void pulse_frt_input() { set_frt_input(ASSERT_LINE); set_frt_input(CLEAR_LINE); }
+
protected:
// compilation boundaries -- how far back/forward does the analysis extend?
enum : u32
diff --git a/src/devices/cpu/sh/sh2.h b/src/devices/cpu/sh/sh2.h
index 75f46d2bf48..c5693ca9ebd 100644
--- a/src/devices/cpu/sh/sh2.h
+++ b/src/devices/cpu/sh/sh2.h
@@ -82,7 +82,7 @@ public:
DECLARE_READ32_MEMBER( sh7604_r );
DECLARE_READ32_MEMBER(sh2_internal_a5);
- void sh2_set_frt_input(int state);
+ virtual void set_frt_input(int state) override;
void sh2_notify_dma_data_available();
void func_fastirq();
diff --git a/src/devices/cpu/sh/sh2comn.cpp b/src/devices/cpu/sh/sh2comn.cpp
index cdc9e78dbf1..8accaaf8ebb 100644
--- a/src/devices/cpu/sh/sh2comn.cpp
+++ b/src/devices/cpu/sh/sh2comn.cpp
@@ -722,15 +722,8 @@ READ32_MEMBER( sh2_device::sh7604_r )
return m_m[offset];
}
-void sh2_device::sh2_set_frt_input(int state)
+void sh2_device::set_frt_input(int state)
{
- if(state == PULSE_LINE)
- {
- sh2_set_frt_input(ASSERT_LINE);
- sh2_set_frt_input(CLEAR_LINE);
- return;
- }
-
if(m_frt_input == state) {
return;
}
diff --git a/src/devices/cpu/sh/sh4.h b/src/devices/cpu/sh/sh4.h
index a236acac809..8d6af845820 100644
--- a/src/devices/cpu/sh/sh4.h
+++ b/src/devices/cpu/sh/sh4.h
@@ -216,7 +216,7 @@ public:
TIMER_CALLBACK_MEMBER( sh4_timer_callback );
TIMER_CALLBACK_MEMBER( sh4_dmac_callback );
- void sh4_set_frt_input(int state);
+ virtual void set_frt_input(int state) override;
void sh4_set_irln_input(int value);
//void sh4_set_ftcsr_callback(sh4_ftcsr_callback callback);
int sh4_dma_data(struct sh4_device_dma *s);
diff --git a/src/devices/cpu/sh/sh4comn.cpp b/src/devices/cpu/sh/sh4comn.cpp
index 0cdc9b0b994..7f4a77c4efa 100644
--- a/src/devices/cpu/sh/sh4comn.cpp
+++ b/src/devices/cpu/sh/sh4comn.cpp
@@ -1066,18 +1066,11 @@ READ32_MEMBER( sh4_base_device::sh4_internal_r )
return m_m[offset];
}
-void sh34_base_device::sh4_set_frt_input(int state)
+void sh34_base_device::set_frt_input(int state)
{
if (m_cpu_type != CPU_TYPE_SH4)
fatalerror("sh4_set_frt_input uses m_m[] with SH3\n");
- if(state == PULSE_LINE)
- {
- sh4_set_frt_input(ASSERT_LINE);
- sh4_set_frt_input(CLEAR_LINE);
- return;
- }
-
if(m_sh2_state->m_frt_input == state) {
return;
}