Added hotfix for bug in "The Hurricanes" (happens on a real SNES)
Added scanline override for NHL '94
Added fix for entering folder names into BrowserDialog filename box
This commit is contained in:
byuu 2019-09-27 10:26:55 +09:00
parent 62729df2d1
commit 5a4b667eae
4 changed files with 21 additions and 5 deletions

View File

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

View File

@ -3,7 +3,7 @@ auto PPU::Background::clip(int n) -> int {
return n & 0x2000 ? (n | ~1023) : (n & 1023);
}
//H = 28
//H = 0
auto PPU::Background::beginMode7() -> void {
latch.hoffset = ppu.io.hoffsetMode7;
latch.voffset = ppu.io.voffsetMode7;

View File

@ -1,4 +1,5 @@
auto Program::hackCompatibility() -> void {
string entropy = settings.emulator.hack.entropy;
bool fastPPU = settings.emulator.hack.ppu.fast;
bool fastPPUNoSpriteLimit = settings.emulator.hack.ppu.noSpriteLimit;
bool fastDSP = settings.emulator.hack.dsp.fast;
@ -26,9 +27,20 @@ auto Program::hackCompatibility() -> void {
//fixes an errant scanline on the title screen due to writing to PPU registers too late
if(title == "ADVENTURES OF FRANKEN" && region == "PAL") renderCycle = 32;
//fixes an errant scanline on the title screen due to writing the PPU registers too late
//fixes an errant scanline on the title screen due to writing to PPU registers too late
if(title == "FIREPOWER 2000") renderCycle = 32;
//fixes an errant scanline on the title screen due to writing to PPU registers too late
if(title == "NHL '94") renderCycle = 32;
if(settings.emulator.hack.hotfixes) {
//this game transfers uninitialized memory into video RAM: this can cause a row of invalid tiles
//to appear in the background of stage 12. this one is a bug in the original game, so only enable
//it if the hotfixes option has been enabled.
if(title == "The Hurricanes") entropy = "None";
}
emulator->configure("Hacks/Entropy", entropy);
emulator->configure("Hacks/PPU/Fast", fastPPU);
emulator->configure("Hacks/PPU/NoSpriteLimit", fastPPUNoSpriteLimit);
emulator->configure("Hacks/PPU/RenderCycle", renderCycle);

View File

@ -241,8 +241,12 @@ auto BrowserDialogWindow::run() -> BrowserDialog::Response {
return (void)window.setModal(false);
}
if(state.action == "openObject" && isObject(name)) {
response.selected.append({state.path, name});
return (void)window.setModal(false);
if(isMatch(name)) {
response.selected.append({state.path, name});
return (void)window.setModal(false);
} else if(isFolder(name)) {
return setPath({state.path, name});
}
}
if(state.action == "saveFile") return accept();
setPath(state.path, name);