Implement Voodoo CMDFIFO JSR/RET. Fixed "Bad CMDFIFO0" seen sometimes,

particularly when running OpenGL games windowed.
This commit is contained in:
SarahW 2020-11-21 09:44:46 +00:00
commit 87524de18b
3 changed files with 25 additions and 6 deletions

View file

@ -1163,6 +1163,8 @@ static void banshee_cmd_write(banshee_t *banshee, uint32_t addr, uint32_t val)
voodoo->cmdfifo_size = val;
voodoo->cmdfifo_end = voodoo->cmdfifo_base + (((voodoo->cmdfifo_size & 0xff) + 1) << 12);
voodoo->cmdfifo_enabled = val & 0x100;
if (!voodoo->cmdfifo_enabled)
voodoo->cmdfifo_in_sub = 0; /*Not sure exactly when this should be reset*/
// pclog("cmdfifo_base=%08x cmdfifo_end=%08x\n", voodoo->cmdfifo_base, voodoo->cmdfifo_end);
break;