mirror of
https://github.com/holub/mame
synced 2025-10-04 16:34:53 +03:00
upd7220: work around rainbow windows 1.0 issue (#5845) (nw)
This commit is contained in:
parent
169d310d2e
commit
3892c598f5
@ -1111,21 +1111,27 @@ void upd7220_device::process_fifo()
|
|||||||
uint8_t data;
|
uint8_t data;
|
||||||
int flag;
|
int flag;
|
||||||
uint16_t eff_pitch = m_pitch >> m_figs.m_gd;
|
uint16_t eff_pitch = m_pitch >> m_figs.m_gd;
|
||||||
|
int cr;
|
||||||
|
|
||||||
dequeue(&data, &flag);
|
dequeue(&data, &flag);
|
||||||
|
|
||||||
if (flag == FIFO_COMMAND)
|
if (flag == FIFO_COMMAND)
|
||||||
|
{
|
||||||
|
cr = translate_command(data);
|
||||||
|
if (cr != COMMAND_BCTRL) // workaround for Rainbow 100 Windows 1.03, needs verification
|
||||||
{
|
{
|
||||||
m_cr = data;
|
m_cr = data;
|
||||||
m_param_ptr = 1;
|
m_param_ptr = 1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
cr = translate_command(m_cr);
|
||||||
m_pr[m_param_ptr] = data;
|
m_pr[m_param_ptr] = data;
|
||||||
m_param_ptr++;
|
m_param_ptr++;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (translate_command(m_cr))
|
switch (cr)
|
||||||
{
|
{
|
||||||
case COMMAND_INVALID:
|
case COMMAND_INVALID:
|
||||||
logerror("uPD7220 Invalid Command Byte %02x\n", m_cr);
|
logerror("uPD7220 Invalid Command Byte %02x\n", m_cr);
|
||||||
@ -1258,7 +1264,7 @@ void upd7220_device::process_fifo()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case COMMAND_BCTRL: /* display blanking control */
|
case COMMAND_BCTRL: /* display blanking control */
|
||||||
m_de = m_cr & 0x01;
|
m_de = data & 0x01;
|
||||||
|
|
||||||
//LOG("uPD7220 DE: %u\n", m_de);
|
//LOG("uPD7220 DE: %u\n", m_de);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user