Index: hw/lsi53c895a.c =================================================================== --- hw/lsi53c895a.c (revision 5852) +++ hw/lsi53c895a.c (working copy) @@ -867,6 +867,12 @@ again: insn_processed++; insn = read_dword(s, s->dsp); + if(!insn) { + /* If we receive an empty opcode increment the DSP by 4 bytes + instead of 8 and execute the next opcode at that location */ + s->dsp += 4; + goto again; + } addr = read_dword(s, s->dsp + 4); addr_high = 0; DPRINTF("SCRIPTS dsp=%08x opcode %08x arg %08x\n", s->dsp, insn, addr);