Another stall fix for the mach8/32.

See above, covering the foreground and background select bits as well.
This commit is contained in:
TC1995
2025-05-04 02:04:41 +02:00
parent 434be84249
commit 608ce2d155

View File

@@ -4264,12 +4264,14 @@ mach_accel_in_fifo(mach_t *mach, svga_t *svga, ibm8514_t *dev, uint16_t port, in
if (dev->force_busy) {
temp |= 0x0200; /*Hardware busy*/
if (mach->accel.cmd_type >= 0) {
frgd_sel = (mach->accel.dp_config >> 13) & 7;
bkgd_sel = (mach->accel.dp_config >> 7) & 3;
mono_src = (mach->accel.dp_config >> 5) & 3;
switch (mach->accel.cmd_type) {
case 2:
if (dev->accel.sy >= mach->accel.height)
dev->force_busy = 0;
else if (mono_src == 2)
else if ((mono_src == 2) || (frgd_sel == 2) || (bkgd_sel == 2))
dev->force_busy = 0;
break;
case 5: