diff options
author | aiju <devnull@localhost> | 2014-03-17 14:54:12 +0100 |
---|---|---|
committer | aiju <devnull@localhost> | 2014-03-17 14:54:12 +0100 |
commit | b1cd72cfef46f3362b6207e56a5581625c0c3a68 (patch) | |
tree | e16662ba0e71c4fbf0fe167d51323a84a06cd212 /sys/src/games | |
parent | f2f46f4a33ee9ccb4f0475163408b8a699ec4f7f (diff) |
games/snes: BIT #imm does not set NZ flags
Diffstat (limited to 'sys/src/games')
-rw-r--r-- | sys/src/games/snes/cpu.c | 6 |
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; |