diff --git a/Assets/dll/bsnes.wbx.zst b/Assets/dll/bsnes.wbx.zst index 1453bf2bdd..38774aefc9 100644 Binary files a/Assets/dll/bsnes.wbx.zst and b/Assets/dll/bsnes.wbx.zst differ diff --git a/waterbox/bsnescore/bsnes/sfc/ppu-fast/ppu.cpp b/waterbox/bsnescore/bsnes/sfc/ppu-fast/ppu.cpp index fedda02ad2..75bd092587 100644 --- a/waterbox/bsnescore/bsnes/sfc/ppu-fast/ppu.cpp +++ b/waterbox/bsnescore/bsnes/sfc/ppu-fast/ppu.cpp @@ -195,7 +195,7 @@ auto PPU::power(bool reset) -> void { } latch = {}; - io = {}; + if (!reset) io = {}; updateVideoMode(); #undef ppu diff --git a/waterbox/bsnescore/bsnes/sfc/ppu/ppu.cpp b/waterbox/bsnescore/bsnes/sfc/ppu/ppu.cpp index a4cc9f70f8..028457ee5e 100644 --- a/waterbox/bsnescore/bsnes/sfc/ppu/ppu.cpp +++ b/waterbox/bsnescore/bsnes/sfc/ppu/ppu.cpp @@ -164,7 +164,7 @@ auto PPU::power(bool reset) -> void { //$2133 SETINI io.extbg = random(); - io.pseudoHires = random(); + if (!reset) io.pseudoHires = random(); io.overscan = false; io.interlace = false; @@ -174,14 +174,16 @@ auto PPU::power(bool reset) -> void { //$213d OPVCT io.vcounter = 0; - mosaic.power(); - bg1.power(); - bg2.power(); - bg3.power(); - bg4.power(); - obj.power(); - window.power(); - screen.power(); + if (!reset) { + mosaic.power(); + bg1.power(); + bg2.power(); + bg3.power(); + bg4.power(); + obj.power(); + window.power(); + screen.power(); + } updateVideoMode(); }