From 61204637be41f75cfa67997b30f4820871c956b5 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Sat, 25 Mar 2017 00:21:32 -0700 Subject: Prevent blowing past our native translated instruction size of 255 bytes when translating movem with a large register list. Fixes bug in which Fantastic Dizzy was completely broken on 32-bit builds --- m68k_core.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'm68k_core.h') diff --git a/m68k_core.h b/m68k_core.h index 33daa70..786447f 100644 --- a/m68k_core.h +++ b/m68k_core.h @@ -23,6 +23,14 @@ struct m68kinst; typedef void (*start_fun)(uint8_t * addr, void * context); +typedef struct { + code_ptr impl; + uint16_t reglist; + uint8_t reg_to_mem; + uint8_t size; + int8_t dir; +} movem_fun; + typedef struct { cpu_options gen; @@ -46,6 +54,10 @@ typedef struct { code_ptr get_sr; code_ptr set_sr; code_ptr set_ccr; + code_info extra_code; + movem_fun *big_movem; + uint32_t num_movem; + uint32_t movem_storage; } m68k_options; typedef struct m68k_context { -- cgit v1.2.3