summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2008-08-31 20:29:08 +0000
committer R. Belmont <rb6502@users.noreply.github.com>2008-08-31 20:29:08 +0000
commitea2944f2a4d1a0c4699530e48de1f92b4d595367 (patch)
tree75bbd01697466a49f1ea83acc7e113ffefb978fb
parentc35d83a32b81ea3539b9fdee389a42b3fb85dcc3 (diff)
[M377xx] - Fixed: 8-bit I/O port reads no longer cause bogus reads of neighboring ports.
-rw-r--r--src/emu/cpu/m37710/m37710.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/emu/cpu/m37710/m37710.c b/src/emu/cpu/m37710/m37710.c
index af9afe65c4d..8778ac205eb 100644
--- a/src/emu/cpu/m37710/m37710.c
+++ b/src/emu/cpu/m37710/m37710.c
@@ -576,7 +576,20 @@ static void m37710_internal_w(int offset, UINT8 data)
static READ16_HANDLER( m37710_internal_word_r )
{
- return (m37710_internal_r(offset*2) | m37710_internal_r((offset*2)+1)<<8);
+ if (mem_mask == 0xffff)
+ {
+ return (m37710_internal_r(offset*2) | m37710_internal_r((offset*2)+1)<<8);
+ }
+ else if (mem_mask == 0xff00)
+ {
+ return m37710_internal_r((offset*2)+1)<<8;
+ }
+ else if (mem_mask == 0x00ff)
+ {
+ return m37710_internal_r((offset*2));
+ }
+
+ return 0;
}
static WRITE16_HANDLER( m37710_internal_word_w )