Fixed accuracy PPU rendering issue affecting Secret of Mana
This commit is contained in:
byuu 2020-02-26 19:57:21 +09:00
parent 64d20a062a
commit 5296176151
4 changed files with 3 additions and 4 deletions

View File

@ -68,7 +68,6 @@ Links
- [Official website](https://byuu.org/bsnes) - [Official website](https://byuu.org/bsnes)
- [Official git repository](https://github.com/byuu/bsnes) - [Official git repository](https://github.com/byuu/bsnes)
- [Developer resources](https://byuu.net)
- [Donations](https://patreon.com/byuu) - [Donations](https://patreon.com/byuu)
Release Builds Release Builds

View File

@ -29,7 +29,7 @@ using namespace nall;
namespace Emulator { namespace Emulator {
static const string Name = "bsnes"; static const string Name = "bsnes";
static const string Version = "114.5"; static const string Version = "114.6";
static const string Copyright = "byuu"; static const string Copyright = "byuu";
static const string License = "GPLv3"; static const string License = "GPLv3";
static const string Website = "https://byuu.org"; static const string Website = "https://byuu.org";

View File

@ -142,7 +142,7 @@ auto PPU::readObject(uint10 address) -> uint8 {
uint n = address >> 2; //object# uint n = address >> 2; //object#
address &= 3; address &= 3;
if(address == 0) return objects[n].x; if(address == 0) return objects[n].x;
if(address == 1) return objects[n].y - 1; if(address == 1) return objects[n].y - 1; //-1 => rendering happens one scanline late
if(address == 2) return objects[n].character; if(address == 2) return objects[n].character;
return ( return (
objects[n].nameselect << 0 objects[n].nameselect << 0

View File

@ -14,7 +14,7 @@ auto PPU::Background::scanline() -> void {
mosaic.hoffset = 0; mosaic.hoffset = 0;
renderingIndex = 0; renderingIndex = 0;
pixelCounter = io.hoffset & 7; pixelCounter = (io.hoffset & 7) << hires();
opt.hoffset = 0; opt.hoffset = 0;
opt.voffset = 0; opt.voffset = 0;