diff options
Diffstat (limited to 'src/devices')
-rw-r--r-- | src/devices/cpu/mips/mips3.cpp | 10 | ||||
-rw-r--r-- | src/devices/video/mc6845.cpp | 6 | ||||
-rw-r--r-- | src/devices/video/scn2674.cpp | 2 |
3 files changed, 11 insertions, 7 deletions
diff --git a/src/devices/cpu/mips/mips3.cpp b/src/devices/cpu/mips/mips3.cpp index 08ea4197a34..62c20ef7eb4 100644 --- a/src/devices/cpu/mips/mips3.cpp +++ b/src/devices/cpu/mips/mips3.cpp @@ -2886,8 +2886,8 @@ inline void r5900le_device::handle_dmfc2(uint32_t op) { rtval[i] = reg[i]; } - m_core->r[rt] = ((uint64_t)rtval[1] << 32) | rtval[0]; - m_core->rh[rt] = ((uint64_t)rtval[3] << 32) | rtval[2]; + m_core->r[rt] = util::icat<uint64_t>(rtval[1], rtval[0]); + m_core->rh[rt] = util::icat<uint64_t>(rtval[3], rtval[2]); } inline void r5900le_device::handle_dmtc2(uint32_t op) @@ -3784,7 +3784,7 @@ void r5900le_device::handle_idt(uint32_t op) break; } } - m_core->r[rd] = ((uint64_t)count[1] << 32) | count[0]; + m_core->r[rd] = util::icat<uint64_t>(count[1], count[0]); } break; case 0x08: /* MMI0 */ @@ -4271,8 +4271,8 @@ void r5900le_device::handle_mmi0(uint32_t op) uint64_t rsval = m_core->r[rs]; uint64_t rtval = m_core->r[rt]; uint32_t rdval[4] = { (uint32_t)rtval, (uint32_t)rsval, (uint32_t)(rtval >> 32), (uint32_t)(rsval >> 32) }; - m_core->r[rd] = (uint64_t)rdval[1] << 32 | rdval[0]; - m_core->rh[rd] = (uint64_t)rdval[3] << 32 | rdval[2]; + m_core->r[rd] = util::icat<uint64_t>(rdval[1], rdval[0]); + m_core->rh[rd] = util::icat<uint64_t>(rdval[3], rdval[2]); } break; } diff --git a/src/devices/video/mc6845.cpp b/src/devices/video/mc6845.cpp index c1e3ca971aa..dfa37d0f568 100644 --- a/src/devices/video/mc6845.cpp +++ b/src/devices/video/mc6845.cpp @@ -913,7 +913,11 @@ void mc6845_device::handle_line_timer() update_cursor_state(); if (has_screen()) - screen().reset_origin(); + { + // HACK: prevent asoccer from hanging MAME by repeatedly stalling VBLANK periods and attendant frame updates + if (!m_vsync || !new_vsync) + screen().reset_origin(); + } } else { diff --git a/src/devices/video/scn2674.cpp b/src/devices/video/scn2674.cpp index 96e1e7d3ca5..c5fe92250aa 100644 --- a/src/devices/video/scn2674.cpp +++ b/src/devices/video/scn2674.cpp @@ -14,7 +14,7 @@ #define LOG_COMMAND (1 << 1) #define LOG_INTR (1 << 2) #define LOG_READ (1 << 3) -#define VERBOSE (0) +#define VERBOSE (LOG_IR) #include "logmacro.h" |