diff --git a/mame-patches/floppy.patch b/mame-patches/floppy.patch index 1754f61..6214736 100644 --- a/mame-patches/floppy.patch +++ b/mame-patches/floppy.patch @@ -1,40 +1,40 @@ diff --git a/src/devices/imagedev/floppy.cpp b/src/devices/imagedev/floppy.cpp -index 3c00336d..cda94d92 100644 +index b0a520a0..7f733635 100644 --- a/src/devices/imagedev/floppy.cpp +++ b/src/devices/imagedev/floppy.cpp -@@ -1707,9 +1707,10 @@ void floppy_sound_device::sound_stream_update(sound_stream &stream, std::vector< +@@ -1709,9 +1709,11 @@ void floppy_sound_device::sound_stream_update(sound_stream &stream, std::vector< { - idx = m_spin_playback_sample; - sampleend = m_sample[idx].data.size(); -- out = m_sample[idx].data[m_spin_samplepos++]; -- + m_idx = m_spin_playback_sample; + sampleend = m_sample[m_idx].data.size(); +- out = m_sample[m_idx].data[m_spin_samplepos++]; + - if (m_spin_samplepos >= sampleend) + m_spin_samplepos++; + if (m_spin_samplepos < sampleend) -+ out = m_sample[idx].data[m_spin_samplepos]; ++ out = m_sample[m_idx].data[m_spin_samplepos]; + else { // Motor sample has completed switch (m_spin_playback_sample) -@@ -1763,7 +1764,8 @@ void floppy_sound_device::sound_stream_update(sound_stream &stream, std::vector< - idx = m_step_base + m_seek_playback_sample; - sampleend = m_sample[idx].data.size(); +@@ -1765,7 +1767,8 @@ void floppy_sound_device::sound_stream_update(sound_stream &stream, std::vector< + m_idx = m_step_base + m_seek_playback_sample; + sampleend = m_sample[m_idx].data.size(); // Mix it into the stream value -- out += m_sample[idx].data[(int)m_seek_samplepos]; +- out += m_sample[m_idx].data[(int)m_seek_samplepos]; + if (m_seek_samplepos < sampleend) -+ out += m_sample[idx].data[(int)m_seek_samplepos]; ++ out += m_sample[m_idx].data[(int)m_seek_samplepos]; // By adding different values than 1, we can change the playback speed // This will be used to adjust the seek sound m_seek_samplepos += m_seek_pitch; -@@ -1781,8 +1783,10 @@ void floppy_sound_device::sound_stream_update(sound_stream &stream, std::vector< - sampleend = m_sample[idx].data.size(); +@@ -1783,8 +1786,10 @@ void floppy_sound_device::sound_stream_update(sound_stream &stream, std::vector< + sampleend = m_sample[m_idx].data.size(); // Mix it into the stream value -- out += m_sample[idx].data[m_step_samplepos++]; +- out += m_sample[m_idx].data[m_step_samplepos++]; - if (m_step_samplepos >= sampleend) + m_step_samplepos++; + if (m_step_samplepos < sampleend) -+ out += m_sample[idx].data[m_step_samplepos]; ++ out += m_sample[m_idx].data[m_step_samplepos]; + else { // Step sample done