summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2013-03-17 17:10:46 +0000
committer R. Belmont <rb6502@users.noreply.github.com>2013-03-17 17:10:46 +0000
commit8920c1c7eb35fa9a9ea24a1b178597d9fbd6067b (patch)
tree78218dc5a6045f8a16083fffcabdb044d72a58dc /src
parent80d3d9be2b68d8c4fb86b81c09e707eb0bd870be (diff)
Fix compile problems on some OS X versions (nw)
Diffstat (limited to 'src')
-rw-r--r--src/emu/cpu/m6809/konami.c16
-rw-r--r--src/emu/cpu/m6809/konami.h1
-rw-r--r--src/emu/cpu/m6809/konami.ops2
3 files changed, 18 insertions, 1 deletions
diff --git a/src/emu/cpu/m6809/konami.c b/src/emu/cpu/m6809/konami.c
index 28adab0b508..01abfa12cbf 100644
--- a/src/emu/cpu/m6809/konami.c
+++ b/src/emu/cpu/m6809/konami.c
@@ -249,6 +249,22 @@ template<class T> T konami_cpu_device::safe_shift_right(T value, UINT32 shift)
//-------------------------------------------------
+// safe_shift_right_unsigned
+//-------------------------------------------------
+
+template<class T> T konami_cpu_device::safe_shift_right_unsigned(T value, UINT32 shift)
+{
+ T result;
+
+ if (shift < (sizeof(T) * 8))
+ result = value >> shift;
+ else
+ result = 0;
+
+ return result;
+}
+
+//-------------------------------------------------
// safe_shift_left
//-------------------------------------------------
diff --git a/src/emu/cpu/m6809/konami.h b/src/emu/cpu/m6809/konami.h
index 3b8abf0d8f0..200762ab8e7 100644
--- a/src/emu/cpu/m6809/konami.h
+++ b/src/emu/cpu/m6809/konami.h
@@ -67,6 +67,7 @@ private:
// miscellaneous
template<class T> T safe_shift_right(T value, UINT32 shift);
+ template<class T> T safe_shift_right_unsigned(T value, UINT32 shift);
template<class T> T safe_shift_left(T value, UINT32 shift);
void set_lines(UINT8 data);
void execute_one();
diff --git a/src/emu/cpu/m6809/konami.ops b/src/emu/cpu/m6809/konami.ops
index 8f642084b05..2c71759f565 100644
--- a/src/emu/cpu/m6809/konami.ops
+++ b/src/emu/cpu/m6809/konami.ops
@@ -517,7 +517,7 @@ LSRD:
else
m_cc &= ~CC_C;
- m_d.w = set_flags<UINT16>(CC_NZ, safe_shift_right<UINT16>(m_d.w, m_temp.b.l));
+ m_d.w = set_flags<UINT16>(CC_NZ, safe_shift_right_unsigned<UINT16>(m_d.w, m_temp.b.l));
}
eat(1);
return;