diff options
author | aiju <devnull@localhost> | 2014-02-20 23:22:14 +0100 |
---|---|---|
committer | aiju <devnull@localhost> | 2014-02-20 23:22:14 +0100 |
commit | eeac553c36e1cb1d7786115d7202bfe732deb54e (patch) | |
tree | 1eecc9e02649526248006476fda7ad4030e2a6a4 /sys/src/games/nes/ppu.c | |
parent | 9c40e15ba8ae000f73c23d89143d6c44b75220fd (diff) |
games/nes: bug fixing
Diffstat (limited to 'sys/src/games/nes/ppu.c')
-rw-r--r-- | sys/src/games/nes/ppu.c | 8 |
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; + } } } |