ref: abba49676e3e65e2b6859929cc275d7151bed110
parent: 5c42375e664ccf19b370ac90774ccc6a1ad58ed9
author: aiju <devnull@localhost>
date: Mon Mar 3 15:13:56 EST 2014
games/nes: fix buffer overrun
--- a/sys/src/games/nes/ppu.c
+++ b/sys/src/games/nes/ppu.c
@@ -310,7 +310,7 @@
mask = mem[PPUMASK];
if((mask & BGDISP) != 0)
drawbg();
- if(((mask & BGDISP) == 0 && ppux <= 257 || ppux < 10 && (mask & BG8DISP) == 0) && ppux >= 2)
+ if((((mask & BGDISP) == 0 && ppux <= 257 || ppux < 10 && (mask & BG8DISP) == 0) && ppux >= 2) && ppuy != 261)
pixel(ppux - 2, ppuy, ppuread(0x3F00), 1);
if((mask & SPRITEDISP) != 0 && ppuy != 261)
drawsprites(ppux >= 10 || (mask & SPRITE8DISP) != 0);
--
⑨