diff --git a/src/devices/sound/rf5c68.cpp b/src/devices/sound/rf5c68.cpp index 2567adfe004..9ec522b7d92 100644 --- a/src/devices/sound/rf5c68.cpp +++ b/src/devices/sound/rf5c68.cpp @@ -63,10 +63,6 @@ void rf5c68_device::device_start() m_cache = space().cache<0, 0, ENDIANNESS_LITTLE>(); m_sample_end_cb.bind_relative_to(*owner()); - // needs to be initialized to 0xff, otherwise f1en has bad sound (MT04531) - for (int i = 0; i < 0x10000; i++) - m_data->write_byte(i, 0xff); - /* allocate the stream */ m_stream = stream_alloc(0, 2, clock() / 384); diff --git a/src/mame/drivers/segas32.cpp b/src/mame/drivers/segas32.cpp index f47903b19b7..e9e866c6806 100644 --- a/src/mame/drivers/segas32.cpp +++ b/src/mame/drivers/segas32.cpp @@ -1242,7 +1242,7 @@ void segas32_state::system32_sound_portmap(address_map &map) void segas32_state::rf5c68_map(address_map &map) { map.unmap_value_high(); - map(0x0000, 0xffff).ram(); + map(0x0000, 0xffff).ram().share("rf5c68_mem"); } @@ -5432,6 +5432,9 @@ void segas32_state::segas32_common_init() m_sw1_output = nullptr; m_sw2_output = nullptr; m_sw3_output = nullptr; + + // needs to be initialized to 0xff, otherwise f1en has bad sound (MT04531) + memset(memshare("rf5c68_mem")->ptr(), 0xff, memshare("rf5c68_mem")->bytes()); }