diff options
author | 2019-03-06 17:41:43 -0500 | |
---|---|---|
committer | 2019-03-06 17:41:43 -0500 | |
commit | eea8a69fbc583cb032417e0a3491b1179afea2f1 (patch) | |
tree | 1a345fd8b07af733931a774fffbeebcf961eeed3 /src/mame/drivers/tutor.cpp | |
parent | 31762d7e186d3187540d9cea3c9ff4c4edf26d74 (diff) | |
parent | 5abdcd81a4254d3e9bd9d0bd63c86e29a46e2f12 (diff) |
Merge pull request #4480 from ajrhacker/crushift
tms9900, tms9980a, tms9995: CRU addressing change
Diffstat (limited to 'src/mame/drivers/tutor.cpp')
-rw-r--r-- | src/mame/drivers/tutor.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mame/drivers/tutor.cpp b/src/mame/drivers/tutor.cpp index e17d19012b8..5499cf23f73 100644 --- a/src/mame/drivers/tutor.cpp +++ b/src/mame/drivers/tutor.cpp @@ -296,17 +296,17 @@ READ8_MEMBER( tutor_state::key_r ) char port[12]; uint8_t value; - snprintf(port, ARRAY_LENGTH(port), "LINE%d", offset); + snprintf(port, ARRAY_LENGTH(port), "LINE%d", offset >> 3); value = ioport(port)->read(); /* hack for ports overlapping with joystick */ - if (offset == 4 || offset == 5) + if (offset >= 32 && offset < 48) { - snprintf(port, ARRAY_LENGTH(port), "LINE%d_alt", offset); + snprintf(port, ARRAY_LENGTH(port), "LINE%d_alt", offset >> 3); value |= ioport(port)->read(); } - return value; + return BIT(value, offset & 7); } @@ -600,8 +600,8 @@ void tutor_state::pyuutajr_mem(address_map &map) void tutor_state::tutor_io(address_map &map) { - map(0xec0, 0xec7).r(FUNC(tutor_state::key_r)); /*keyboard interface*/ - map(0xed0, 0xed0).r(FUNC(tutor_state::tutor_cassette_r)); /*cassette interface*/ + map(0xec00, 0xec7f).r(FUNC(tutor_state::key_r)); /*keyboard interface*/ + map(0xed00, 0xed01).r(FUNC(tutor_state::tutor_cassette_r)); /*cassette interface*/ } /* tutor keyboard: 56 keys |