# HG changeset patch # User Michael Pavone # Date 1552534464 25200 # Node ID 5358a7126b96e8ac43f78e1eff1e86b7a2c5fa9a # Parent d5118d6f9c754c273dc930849012c3071e1b8694 Make get_open_bus_value work right with Musashi diff -r d5118d6f9c75 -r 5358a7126b96 genesis.c --- 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);