upd71071: only set tc at end of op, fixes cameltry (nw)

fmtowns: revise brandish cp after above (nw)
This commit is contained in:
cracyc 2018-02-11 07:56:29 -06:00
parent 8274bf4946
commit f65d784e88
2 changed files with 5 additions and 5 deletions

View File

@ -515,8 +515,8 @@ Zurukamashi Ver 2.0 Nikkonren Kikaku
<publisher>日本ファルコム (Nihon Falcom)</publisher> <publisher>日本ファルコム (Nihon Falcom)</publisher>
<info name="release" value="199112xx" /> <info name="release" value="199112xx" />
<part name="flop1" interface="floppy_3_5"> <part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="1282688"> <dataarea name="flop" size="1284608">
<rom name="brandish (disk 1).d88" size="1282688" crc="f97219d3" sha1="4b416caf3426b6673bada95c02f49ab8c7606689" offset="0" status="baddump" /> <rom name="brandish (disk 1).d88" size="1284608" crc="1e661a20" sha1="faa4ae3dad5012cdef1803b9f29e3f2710eea519" offset="0" status="baddump" />
</dataarea> </dataarea>
</part> </part>
<part name="flop2" interface="floppy_3_5"> <part name="flop2" interface="floppy_3_5">
@ -531,8 +531,7 @@ Zurukamashi Ver 2.0 Nikkonren Kikaku
</part> </part>
</software> </software>
<!-- Hangs after the title screen - might be related to the copy protection --> <software name="cameltry">
<software name="cameltry" supported="no">
<description>Cameltry</description> <description>Cameltry</description>
<year>1994</year> <year>1994</year>
<publisher>電波新聞社 (Dempa Shinbunsha)</publisher> <publisher>電波新聞社 (Dempa Shinbunsha)</publisher>

View File

@ -197,6 +197,7 @@ TIMER_CALLBACK_MEMBER(upd71071_device::dma_transfer_timer)
} }
// TODO: send terminal count // TODO: send terminal count
set_eop(ASSERT_LINE); set_eop(ASSERT_LINE);
m_reg.status |= (0x01 << channel); // END or TC
} }
break; break;
case 0x08: // memory -> I/O case 0x08: // memory -> I/O
@ -235,6 +236,7 @@ TIMER_CALLBACK_MEMBER(upd71071_device::dma_transfer_timer)
} }
// TODO: send terminal count // TODO: send terminal count
set_eop(ASSERT_LINE); set_eop(ASSERT_LINE);
m_reg.status |= (0x01 << channel); // END or TC
} }
break; break;
case 0x0c: // Invalid case 0x0c: // Invalid
@ -293,7 +295,6 @@ int upd71071_device::dmarq(int state, int channel)
{ {
m_dmarq[channel] = 0; // clear DMARQ line m_dmarq[channel] = 0; // clear DMARQ line
m_reg.status &= ~(0x10 << channel); m_reg.status &= ~(0x10 << channel);
m_reg.status |= (0x01 << channel); // END or TC
} }
return 0; return 0;
} }