comparison m68k_core.c @ 1279:996eb76d6da1

RESET is not a terminal instruction on the 68K. Fixes a crash bug in Chavez II and possibly other games
author Michael Pavone <pavone@retrodev.com>
date Mon, 13 Mar 2017 23:14:13 -0700
parents f36ef4847ef2
children c5821f9de325
comparison
equal deleted inserted replaced
1278:34d3cb05014d 1279:996eb76d6da1
679 } 679 }
680 680
681 uint8_t m68k_is_terminal(m68kinst * inst) 681 uint8_t m68k_is_terminal(m68kinst * inst)
682 { 682 {
683 return inst->op == M68K_RTS || inst->op == M68K_RTE || inst->op == M68K_RTR || inst->op == M68K_JMP 683 return inst->op == M68K_RTS || inst->op == M68K_RTE || inst->op == M68K_RTR || inst->op == M68K_JMP
684 || inst->op == M68K_TRAP || inst->op == M68K_ILLEGAL || inst->op == M68K_INVALID || inst->op == M68K_RESET 684 || inst->op == M68K_TRAP || inst->op == M68K_ILLEGAL || inst->op == M68K_INVALID
685 || (inst->op == M68K_BCC && inst->extra.cond == COND_TRUE); 685 || (inst->op == M68K_BCC && inst->extra.cond == COND_TRUE);
686 } 686 }
687 687
688 static void m68k_handle_deferred(m68k_context * context) 688 static void m68k_handle_deferred(m68k_context * context)
689 { 689 {