summaryrefslogtreecommitdiff
path: root/sys/src/games/nes/ppu.c
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2014-02-20 23:22:14 +0100
committeraiju <devnull@localhost>2014-02-20 23:22:14 +0100
commiteeac553c36e1cb1d7786115d7202bfe732deb54e (patch)
tree1eecc9e02649526248006476fda7ad4030e2a6a4 /sys/src/games/nes/ppu.c
parent9c40e15ba8ae000f73c23d89143d6c44b75220fd (diff)
games/nes: bug fixing
Diffstat (limited to 'sys/src/games/nes/ppu.c')
-rw-r--r--sys/src/games/nes/ppu.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/src/games/nes/ppu.c b/sys/src/games/nes/ppu.c
index cb1e7b7a0..197f70748 100644
--- a/sys/src/games/nes/ppu.c
+++ b/sys/src/games/nes/ppu.c
@@ -5,7 +5,7 @@
#include "dat.h"
#include "fns.h"
-int ppuy, ppux;
+int ppuy, ppux, odd;
uchar pic[256*240*4*9];
extern uchar oam[256];
@@ -289,7 +289,11 @@ ppustep(void)
if(ppux > 340){
ppux = 0;
ppuy++;
- if(ppuy > 261)
+ if(ppuy > 261){
ppuy = 0;
+ if(odd && (mem[PPUCTRL] & (BGDISP | SPRITEDISP)) != 0)
+ ppux++;
+ odd ^= 1;
+ }
}
}