summaryrefslogtreecommitdiff
path: root/sys/src/games
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2014-03-17 14:54:12 +0100
committeraiju <devnull@localhost>2014-03-17 14:54:12 +0100
commitb1cd72cfef46f3362b6207e56a5581625c0c3a68 (patch)
treee16662ba0e71c4fbf0fe167d51323a84a06cd212 /sys/src/games
parentf2f46f4a33ee9ccb4f0475163408b8a699ec4f7f (diff)
games/snes: BIT #imm does not set NZ flags
Diffstat (limited to 'sys/src/games')
-rw-r--r--sys/src/games/snes/cpu.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/src/games/snes/cpu.c b/sys/src/games/snes/cpu.c
index c15d26240..f307028c7 100644
--- a/sys/src/games/snes/cpu.c
+++ b/sys/src/games/snes/cpu.c
@@ -857,7 +857,11 @@ cpustep(void)
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;