changeset 918:2e465934bddc

Allow DMA from cartridge ROM above the 4MB mark. Should probably use get_native_pointer for everyting, but want to check the performance implications
author Michael Pavone <pavone@retrodev.com>
date Wed, 30 Dec 2015 19:00:03 -0800
parents f057975212e9
children 38dca41f151d
files blastem.c
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/blastem.c	Thu Dec 17 20:41:43 2015 -0800
+++ b/blastem.c	Wed Dec 30 19:00:03 2015 -0800
@@ -134,6 +134,11 @@
 		return cart[address];
 	} else if(address >= 0x700000) {
 		return ram[address & 0x7FFF];
+	} else {
+		uint16_t *ptr = get_native_pointer(address*2, (void **)genesis->m68k->mem_pointers, &genesis->m68k->options->gen);
+		if (ptr) {
+			return *ptr;
+		}
 	}
 	//TODO: Figure out what happens when you try to DMA from weird adresses like IO or banked Z80 area
 	return 0;