changeset 616:649db9397fa1

Add support for Z80 access to VDP via bank area
author Michael Pavone <pavone@retrodev.com>
date Mon, 29 Dec 2014 00:41:36 -0800
parents edd2c446694b
children 33ff0171301b
files blastem.c
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/blastem.c	Mon Dec 29 00:14:33 2014 -0800
+++ b/blastem.c	Mon Dec 29 00:41:36 2014 -0800
@@ -732,7 +732,11 @@
 {
 	z80_context * context = vcontext;
 	uint32_t address = context->bank_reg << 15 | location;
-	fprintf(stderr, "Unhandled read by Z80 from address %X through banked memory area\n", address);
+	if (address >= 0xC00000 && address < 0xE00000) {
+		return z80_vdp_port_read(location & 0xFF, context);
+	} else {
+		fprintf(stderr, "Unhandled read by Z80 from address %X through banked memory area\n", address);
+	}
 	return 0;
 }
 
@@ -743,6 +747,8 @@
 	if (address >= 0xE00000) {
 		address &= 0xFFFF;
 		((uint8_t *)ram)[address ^ 1] = value;
+	} else if (address >= 0xC00000) {
+		z80_vdp_port_write(location & 0xFF, context, value);
 	} else {
 		fprintf(stderr, "Unhandled write by Z80 to address %X through banked memory area\n", address);
 	}