summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Ville Linde <villelin@mamedev.org>2014-04-18 00:53:46 +0000
committer Ville Linde <villelin@mamedev.org>2014-04-18 00:53:46 +0000
commit02df8f4487dcc376d27e305d1e245f177ffb9829 (patch)
tree2d810cf91363bd4b6c77478982ee3f6056eba164 /src
parent91d6f66ccb674bdaa9b78889b6b66cc228dbd3b5 (diff)
voodoo.c: Fixed an edge case where CMDFIFO execution would get stuck if the first word in CMDFIFO buffer is written out of order. (nw)
Diffstat (limited to 'src')
-rw-r--r--src/emu/video/voodoo.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/emu/video/voodoo.c b/src/emu/video/voodoo.c
index 24198fa0feb..6deceece796 100644
--- a/src/emu/video/voodoo.c
+++ b/src/emu/video/voodoo.c
@@ -2051,7 +2051,11 @@ static void cmdfifo_w(voodoo_state *v, cmdfifo_info *f, offs_t offset, UINT32 da
if (f->holes != 0)
logerror("Unexpected CMDFIFO: AMin=%08X AMax=%08X Holes=%d WroteTo:%08X\n",
f->amin, f->amax, f->holes, addr);
- f->amin = f->amax = addr;
+ //f->amin = f->amax = addr;
+ f->holes += (addr - f->base) / 4;
+ f->amin = f->base;
+ f->amax = addr;
+
f->depth++;
}