diff options
| author | 2013-03-17 17:10:46 +0000 | |
|---|---|---|
| committer | 2013-03-17 17:10:46 +0000 | |
| commit | 8920c1c7eb35fa9a9ea24a1b178597d9fbd6067b (patch) | |
| tree | 78218dc5a6045f8a16083fffcabdb044d72a58dc /src | |
| parent | 80d3d9be2b68d8c4fb86b81c09e707eb0bd870be (diff) | |
Fix compile problems on some OS X versions (nw)
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/cpu/m6809/konami.c | 16 | ||||
| -rw-r--r-- | src/emu/cpu/m6809/konami.h | 1 | ||||
| -rw-r--r-- | src/emu/cpu/m6809/konami.ops | 2 |
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; |
