Mercurial > repos > blastem
changeset 1777:5358a7126b96 mame_interp
Make get_open_bus_value work right with Musashi
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 13 Mar 2019 20:34:24 -0700 |
parents | d5118d6f9c75 |
children | 30b5952fd32e |
files | genesis.c |
diffstat | 1 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/genesis.c Wed Mar 13 19:13:46 2019 -0700 +++ b/genesis.c Wed Mar 13 20:34:24 2019 -0700 @@ -43,6 +43,7 @@ #define Z80_CYCLE cycles #define Z80_OPTS opts #define z80_handle_code_write(...) +#include "musashi/m68kcpu.h" #else #define Z80_CYCLE current_cycle #define Z80_OPTS options @@ -219,7 +220,12 @@ static uint16_t get_open_bus_value(system_header *system) { genesis_context *genesis = (genesis_context *)system; +#ifdef USE_NATIVE return read_dma_value(genesis->m68k->last_prefetch_address/2); +#else + m68000_base_device *device = (m68000_base_device *)genesis->m68k; + return read_dma_value(device->pref_addr/2); +#endif } static void adjust_int_cycle(m68k_context * context, vdp_context * v_context) @@ -1126,8 +1132,10 @@ if (load_from_file(&state, statepath)) { genesis_deserialize(&state, gen); free(state.data); +#ifdef USE_NATIVE //HACK pc = gen->m68k->last_prefetch_address; +#endif ret = 1; } else { #ifdef USE_NATIVE @@ -1183,8 +1191,10 @@ if (load_from_file(&state, statefile)) { genesis_deserialize(&state, gen); free(state.data); +#ifdef USE_NATIVE //HACK pc = gen->m68k->last_prefetch_address; +#endif } else { #ifdef USE_NATIVE pc = load_gst(gen, statefile);