diff --git a/bsnes.exe b/bsnes.exe index 41af013f..7999e0b1 100644 Binary files a/bsnes.exe and b/bsnes.exe differ diff --git a/src/snes/ppu/sppu/sprite/sprite.cpp b/src/snes/ppu/sppu/sprite/sprite.cpp index 341ae433..fbb1409e 100644 --- a/src/snes/ppu/sppu/sprite/sprite.cpp +++ b/src/snes/ppu/sppu/sprite/sprite.cpp @@ -16,9 +16,6 @@ void sPPU::Sprite::scanline() { t.x = 0; t.y = self.vcounter(); - if(t.y == (!self.regs.overscan ? 225 : 240) && self.regs.display_disabled == false) address_reset(); - if(t.y > (!self.regs.overscan ? 224 : 239)) return; - t.item_count = 0; t.tile_count = 0; @@ -26,6 +23,9 @@ void sPPU::Sprite::scanline() { auto oam_item = t.item[t.active]; auto oam_tile = t.tile[t.active]; + if(t.y == (!self.regs.overscan ? 225 : 240) && self.regs.display_disabled == false) address_reset(); + if(t.y >= (!self.regs.overscan ? 224 : 239)) return; + memset(oam_item, 0xff, 32); //default to invalid for(unsigned i = 0; i < 34; i++) oam_tile[i].x = 0xffff; //default to invalid diff --git a/src/snes/snes.hpp b/src/snes/snes.hpp index 0b4da2cb..14ef2c8b 100644 --- a/src/snes/snes.hpp +++ b/src/snes/snes.hpp @@ -1,4 +1,4 @@ -static const char bsnesVersion[] = "067.04"; +static const char bsnesVersion[] = "067.05"; static const char bsnesTitle[] = "bsnes"; static const unsigned bsnesSerializerVersion = 12;