diff --git a/bsnes/ui/interface/gameboy/gameboy.cpp b/bsnes/ui/interface/gameboy/gameboy.cpp index ce5fe67a..dc26ec6e 100755 --- a/bsnes/ui/interface/gameboy/gameboy.cpp +++ b/bsnes/ui/interface/gameboy/gameboy.cpp @@ -94,7 +94,7 @@ void InterfaceGameBoy::videoRefresh(const uint16_t *data) { } } - interface->videoRefresh(output, 160 * 4, 160, 144); + interface->videoRefresh(output, 160 * sizeof(uint32_t), 160, 144); } void InterfaceGameBoy::audioSample(int16_t csample, int16_t lsample, int16_t rsample) { diff --git a/bsnes/ui/interface/nes/nes.cpp b/bsnes/ui/interface/nes/nes.cpp index 4ea94931..611656d8 100755 --- a/bsnes/ui/interface/nes/nes.cpp +++ b/bsnes/ui/interface/nes/nes.cpp @@ -120,15 +120,15 @@ void InterfaceNES::videoRefresh(const uint16_t *data) { for(unsigned y = 0; y < 240; y++) { uint32_t *dp = output + y * 256; if(y < osh || y >= 240 - osh) { - memset(dp, 0, 256 * 2); + memset(dp, 0, 256 * sizeof(uint32_t)); } else { - memset(dp + 0, 0, osw * 2); - memset(dp + 256 - osw, 0, osw * 2); + memset(dp + 0, 0, osw * sizeof(uint32_t)); + memset(dp + 256 - osw, 0, osw * sizeof(uint32_t)); } } } - interface->videoRefresh(output, 256 * 4, 256, 240); + interface->videoRefresh(output, 256 * sizeof(uint32_t), 256, 240); } void InterfaceNES::audioSample(int16_t sample) { diff --git a/bsnes/ui/interface/snes/snes.cpp b/bsnes/ui/interface/snes/snes.cpp index 1ca01147..51d444db 100755 --- a/bsnes/ui/interface/snes/snes.cpp +++ b/bsnes/ui/interface/snes/snes.cpp @@ -292,15 +292,15 @@ void InterfaceSNES::videoRefresh(const uint32_t *data, bool hires, bool interlac for(unsigned y = 0; y < height; y++) { uint32_t *dp = output + y * 512; if(y < osh || y >= height - osh) { - memset(dp, 0, width * 2); + memset(dp, 0, width * sizeof(uint32_t)); } else { - memset(dp + 0, 0, osw * 2); - memset(dp + width - osw, 0, osw * 2); + memset(dp + 0, 0, osw * sizeof(uint32_t)); + memset(dp + width - osw, 0, osw * sizeof(uint32_t)); } } } - interface->videoRefresh(output, 512 * 4, width, height); + interface->videoRefresh(output, 512 * sizeof(uint32_t), width, height); } void InterfaceSNES::audioSample(int16_t lsample, int16_t rsample) { diff --git a/bsnes/ui/utility/utility.cpp b/bsnes/ui/utility/utility.cpp index 9a4831af..0facf416 100755 --- a/bsnes/ui/utility/utility.cpp +++ b/bsnes/ui/utility/utility.cpp @@ -8,7 +8,6 @@ void Utility::setMode(Interface::Mode mode) { mainWindow->nesMenu.setVisible(false); mainWindow->snesMenu.setVisible(false); mainWindow->gameBoyMenu.setVisible(false); - mainWindow->viewport.setVisible(mode != Interface::Mode::None); if(mode == Interface::Mode::None) { mainWindow->setTitle(application->title); @@ -48,16 +47,16 @@ void Utility::resizeMainWindow(bool shrink) { unsigned width = geometry.width, height = geometry.height; switch(interface->mode()) { - case Interface::Mode::None: return; + case Interface::Mode::None: return mainWindow->viewport.setGeometry({ 0, 0, 1, 1 }); case Interface::Mode::NES: width = 256, height = 240; break; case Interface::Mode::SNES: width = 256, height = 240; break; case Interface::Mode::GameBoy: width = 160, height = 144; break; } if(config->video.correctAspectRatio) { - if(interface->mode() != Interface::Mode::GameBoy) { - width = (double)width * 1.226; - } + if(interface->mode() == Interface::Mode::NES + || interface->mode() == Interface::Mode::SNES + ) width = (double)width * 1.226; } unsigned maxW = geometry.width / width;