diff --git a/src/emu/sound/rf5c68.c b/src/emu/sound/rf5c68.c index 43dbd764646..dff95e4da8d 100644 --- a/src/emu/sound/rf5c68.c +++ b/src/emu/sound/rf5c68.c @@ -161,6 +161,13 @@ static DEVICE_START( rf5c68 ) /* RF5C68 write register */ /************************************************/ +READ8_DEVICE_HANDLER( rf5c68_r ) +{ + rf5c68_state *chip = get_safe_token(device); + + return (chip->chan[(offset & 0x1c) >> 2].addr) >> ((offset & 3) >> 8); +} + WRITE8_DEVICE_HANDLER( rf5c68_w ) { rf5c68_state *chip = get_safe_token(device); diff --git a/src/emu/sound/rf5c68.h b/src/emu/sound/rf5c68.h index 3eaf3f596c6..9082083df8c 100644 --- a/src/emu/sound/rf5c68.h +++ b/src/emu/sound/rf5c68.h @@ -10,6 +10,7 @@ #include "devlegcy.h" /******************************************/ +READ8_DEVICE_HANDLER( rf5c68_r ); WRITE8_DEVICE_HANDLER( rf5c68_w ); READ8_DEVICE_HANDLER( rf5c68_mem_r ); diff --git a/src/mame/machine/megadriv.c b/src/mame/machine/megadriv.c index 6ec5b5b90f0..0bcdad32d3b 100644 --- a/src/mame/machine/megadriv.c +++ b/src/mame/machine/megadriv.c @@ -6421,6 +6421,7 @@ static ADDRESS_MAP_START( segacd_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xfe0000, 0xfe3fff) AM_RAM // backup RAM, odd bytes only! AM_RANGE(0xff0000, 0xff001f) AM_DEVWRITE8("rfsnd", rf5c68_w, 0x00ff) // PCM, RF5C164 + AM_RANGE(0xff0020, 0xff003f) AM_DEVREAD8("rfsnd", rf5c68_r, 0xffff) AM_RANGE(0xff2000, 0xff3fff) AM_DEVREADWRITE8("rfsnd", rf5c68_mem_r, rf5c68_mem_w,0x00ff) // PCM, RF5C164