changeset 2633:1ef2734ac052

Fix Z flag for negx
author Michael Pavone <pavone@retrodev.com>
date Sun, 23 Feb 2025 13:56:22 -0800
parents 5c7e1277517b
children 023aa4839ff6
files m68k.cpu
diffstat 1 files changed, 20 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/m68k.cpu	Sun Feb 23 13:55:24 2025 -0800
+++ b/m68k.cpu	Sun Feb 23 13:56:22 2025 -0800
@@ -2013,11 +2013,29 @@
 	invalid M 7 R 7
 	m68k_fetch_dst_ea M R Z
 	sbc dst 0 dst Z
-	update_flags XNZVC
-	if Z = 2
+	update_flags XNVC
+	switch Z
+	case 0
+		local tmp8 8
+		tmp8 = dst
+		if tmp8
+			update_flags Z0
+		end
+	case 1
+		local tmp16 16
+		tmp16 = dst
+		if tmp16
+			update_flags Z0
+		end
+	case 2
+		local tmp32 32
 		if M = 0
 			cycles 2
 		end
+		tmp32 = dst
+		if dst
+			update_flags Z0
+		end
 	end
 	m68k_save_dst Z
 	m68k_prefetch