C352: don't try to play zero-length samples [Phil Bennett]

This commit is contained in:
R. Belmont 2011-09-03 14:59:27 +00:00
parent 3a7273bc42
commit a1ef19e8c2

View File

@ -366,13 +366,16 @@ void c352_device::write_reg16(unsigned long address, unsigned short val)
{
if ( m_c352_ch[i].flag & C352_FLG_KEYON )
{
m_c352_ch[i].current_addr = (m_c352_ch[i].bank << 16) + m_c352_ch[i].start_addr;
m_c352_ch[i].start = m_c352_ch[i].start_addr;
m_c352_ch[i].repeat = m_c352_ch[i].repeat_addr;
m_c352_ch[i].noisebuf = 0;
m_c352_ch[i].noisecnt = 0;
m_c352_ch[i].flag &= ~(C352_FLG_KEYON | C352_FLG_LOOPHIST);
m_c352_ch[i].flag |= C352_FLG_BUSY;
if (m_c352_ch[i].start_addr != m_c352_ch[i].end_addr)
{
m_c352_ch[i].current_addr = (m_c352_ch[i].bank << 16) + m_c352_ch[i].start_addr;
m_c352_ch[i].start = m_c352_ch[i].start_addr;
m_c352_ch[i].repeat = m_c352_ch[i].repeat_addr;
m_c352_ch[i].noisebuf = 0;
m_c352_ch[i].noisecnt = 0;
m_c352_ch[i].flag &= ~(C352_FLG_KEYON | C352_FLG_LOOPHIST);
m_c352_ch[i].flag |= C352_FLG_BUSY;
}
}
else if ( m_c352_ch[i].flag & C352_FLG_KEYOFF )
{