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;
--
⑨