Skip to content

Commit

Permalink
video/upd7220.cpp: return 0xff on FIFO underflows
Browse files Browse the repository at this point in the history
* fix pc9821:skinpan intro hang
  • Loading branch information
angelosa committed Oct 17, 2024
1 parent eb7c20d commit 0f0e16b
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
4 changes: 3 additions & 1 deletion hash/pc98.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6767,8 +6767,10 @@ Never output any sound
<year>1993</year>
<publisher>ガイナックス (Gainax)</publisher>
<notes><![CDATA[
Hangs during the intro (first dialogue)
Hangs during the intro (first dialogue), [7220] FIFO underflows, worked around.
Several [7220] invalid commands 0x05
Draws Gainax logo with half height
Title screen oddly keeps scrolling (verify)
]]></notes>
<info name="alt_title" value="バトルスキンパニック 9821" />
<info name="release" value="19930921" />
Expand Down
6 changes: 6 additions & 0 deletions src/devices/video/upd7220.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,12 @@ inline void upd7220_device::dequeue(uint8_t *data, int *flag)
if (m_fifo_ptr == -1)
m_sr &= ~UPD7220_SR_DATA_READY;
}
else
{
// TODO: underflow details
// pc9821:skinpan does SR checks over the wrong port during intro ...
*data = 0xff;
}
}


Expand Down

0 comments on commit 0f0e16b

Please sign in to comment.