summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/sh
diff options
context:
space:
mode:
author Philip Bennett <p.j.bennett@gmail.com>2023-10-17 14:48:33 -0700
committer Philip Bennett <p.j.bennett@gmail.com>2023-10-17 14:48:33 -0700
commit8c9b339442496460ad3279bfd83ee6703ef4457d (patch)
treea9ef43d6be3907f9e6c97682bd0889b29f1bee3f /src/devices/cpu/sh
parent9a6095696ca1aa0659ae21ec5af5547ca6ab9141 (diff)
cpu/sh/sh.cpp - Fix MAC_W regression
Diffstat (limited to 'src/devices/cpu/sh')
-rw-r--r--src/devices/cpu/sh/sh.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/devices/cpu/sh/sh.cpp b/src/devices/cpu/sh/sh.cpp
index 65b93057d00..f6478f289e4 100644
--- a/src/devices/cpu/sh/sh.cpp
+++ b/src/devices/cpu/sh/sh.cpp
@@ -911,10 +911,10 @@ void sh_common_execution::MAC_L(uint32_t m, uint32_t n)
/* MAC.W @Rm+,@Rn+ */
void sh_common_execution::MAC_W(uint32_t m, uint32_t n)
{
- int32_t tempn = (int32_t)read_word(m_sh2_state->r[n]);
+ int32_t tempn = (int32_t)(int16_t)read_word(m_sh2_state->r[n]);
m_sh2_state->r[n] += 2;
- int32_t tempm = (int32_t)read_word(m_sh2_state->r[m]);
+ int32_t tempm = (int32_t)(int16_t)read_word(m_sh2_state->r[m]);
m_sh2_state->r[m] += 2;
uint32_t templ = m_sh2_state->macl;