i8257: oops (nw)

This commit is contained in:
cracyc 2014-04-28 13:28:56 +00:00
parent 32528fcf0f
commit c067abea48

View File

@ -33,7 +33,7 @@ enum
REGISTER_ADDRESS = 0, REGISTER_ADDRESS = 0,
REGISTER_WORD_COUNT, REGISTER_WORD_COUNT,
REGISTER_STATUS = 8, REGISTER_STATUS = 8,
REGISTER_COMMAND = REGISTER_STATUS REGISTER_MODE = REGISTER_STATUS
}; };
@ -496,7 +496,7 @@ READ8_MEMBER( i8257n_device::read )
m_msb = !m_msb; m_msb = !m_msb;
} }
else if(offset == 8) else if(offset == REGISTER_STATUS)
{ {
data = m_status; data = m_status;
@ -541,9 +541,11 @@ WRITE8_MEMBER( i8257n_device::write )
m_channel[channel].m_count = ((data & 0x3f) << 8) | (m_channel[channel].m_count & 0xff); m_channel[channel].m_count = ((data & 0x3f) << 8) | (m_channel[channel].m_count & 0xff);
m_channel[channel].m_mode = (data >> 6); m_channel[channel].m_mode = (data >> 6);
if(MODE_AUTOLOAD && (channel == 2)) if(MODE_AUTOLOAD && (channel == 2))
{
m_channel[3].m_count = ((data & 0x3f) << 8) | (m_channel[3].m_count & 0xff); m_channel[3].m_count = ((data & 0x3f) << 8) | (m_channel[3].m_count & 0xff);
m_channel[3].m_mode = (data >> 6); m_channel[3].m_mode = (data >> 6);
} }
}
else else
{ {
m_channel[channel].m_count = (m_channel[channel].m_count & 0xff00) | data; m_channel[channel].m_count = (m_channel[channel].m_count & 0xff00) | data;
@ -555,7 +557,7 @@ WRITE8_MEMBER( i8257n_device::write )
m_msb = !m_msb; m_msb = !m_msb;
} }
else if(offset == 8) else if(offset == REGISTER_MODE)
{ {
m_transfer_mode = data; m_transfer_mode = data;