Mercurial > repos > blastem
diff m68k_core.h @ 1298:d5a47597b61f
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
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 25 Mar 2017 00:21:32 -0700 |
parents | 2e6dcb5c11a2 |
children | 208803173ebc |
line wrap: on
line diff
--- a/m68k_core.h Wed Mar 22 22:16:39 2017 -0700 +++ b/m68k_core.h Sat Mar 25 00:21:32 2017 -0700 @@ -24,6 +24,14 @@ 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; int8_t dregs[8]; @@ -46,6 +54,10 @@ 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 {