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);