git: 9front

Download patch

ref: 5d5116d9f3e1d727ce9c53e99efee43e28d5ebdb
parent: 0a699cf1ebf115995147977d16c9e1e208b0bdbe
author: aiju <devnull@localhost>
date: Mon Mar 17 10:54:12 EDT 2014

games/snes: BIT #imm does not set NZ flags

--- a/sys/src/games/snes/cpu.c
+++ b/sys/src/games/snes/cpu.c
@@ -857,7 +857,11 @@
 			rY &= 0xff;
 		nzx(rY);
 		return 2;
-	case 0x89: bit(imm(0)); return 2+cyc;
+	case 0x89:
+		rP &= ~FLAGZ;
+		if((imm(0) & rA) == 0)
+			rP |= FLAGZ;
+		return 2+cyc;
 	case 0x8A: setra(rX); return 2+cyc;
 	case 0x8B: push8(rDB >> 16); return 3;
 	case 0x8C: memwx816(abso(0, 0), rY); return 4+cyc;
--