diff options
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 |
commit | ea2944f2a4d1a0c4699530e48de1f92b4d595367 (patch) | |
tree | 75bbd01697466a49f1ea83acc7e113ffefb978fb | |
parent | c35d83a32b81ea3539b9fdee389a42b3fb85dcc3 (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.c | 15 |
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 ) |