changeset 1143:d4d770cfbc62

Fix handling of IO control writes in SMS mode
author Michael Pavone <pavone@retrodev.com>
date Tue, 03 Jan 2017 20:42:15 -0800
parents 5c8b1c33ca10
children be3df2d8530a
files sms.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/sms.c	Mon Jan 02 23:35:40 2017 -0800
+++ b/sms.c	Tue Jan 03 20:42:15 2017 -0800
@@ -12,8 +12,8 @@
 	z80_context *z80 = vcontext;
 	sms_context *sms = z80->system;
 	if (location & 1) {
-		sms->io.ports[0].control = ~(value << 5 & 0x60);
-		sms->io.ports[1].control = ~(value << 3 & 0x60);
+		sms->io.ports[0].control = (~value) << 5 & 0x60;
+		sms->io.ports[1].control = (~value) << 3 & 0x60;
 		io_data_write(sms->io.ports, value << 1, z80->current_cycle);
 		io_data_write(sms->io.ports + 1, value >> 1, z80->current_cycle);
 	} else {