Fixed region detection issue in Hanguk Pro Yagu
Fixed boot hanging issue in Kishin Douji Zenki - Tenchi Meidou
Fixed slowdown issue in Mega Man X2 & X3
Added mute hotkey
Added HD mode 7 hotkeys (likely temporary, we'll see)
This commit is contained in:
byuu 2019-09-23 09:50:40 +09:00
parent 675662e739
commit 6e5542aa20
6 changed files with 29 additions and 6 deletions

View File

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

View File

@ -194,7 +194,7 @@ auto SuperFamicom::region() const -> string {
auto SuperFamicom::videoRegion() const -> string {
auto region = data[headerAddress + 0x29];
return (region <= 0x01 || region >= 0x12) ? "NTSC" : "PAL";
return (region <= 0x01 || region >= 0x0c) ? "NTSC" : "PAL";
}
auto SuperFamicom::revision() const -> string {

View File

@ -84,8 +84,9 @@ auto HG51B::cache() -> bool {
io.cache.address[io.cache.page] = address;
for(uint offset : range(256)) {
step(wait(address)); programRAM[io.cache.page][offset] = read(address++) << 0;
step(wait(address)); programRAM[io.cache.page][offset] |= read(address++) << 8;
step(wait(address));
programRAM[io.cache.page][offset] = read(address++) << 0;
programRAM[io.cache.page][offset] |= read(address++) << 8;
}
return io.cache.enable = 0, true;
}

View File

@ -14,9 +14,9 @@ auto SMP::idle() -> void {
}
auto SMP::read(uint16 address) -> uint8 {
wait(address);
uint8 data = readRAM(address);
if((address & 0xfff0) == 0x00f0) data = readIO(address);
wait(address);
return data;
}

View File

@ -23,6 +23,10 @@ auto InputManager::bindHotkeys() -> void {
cheatEditor.enableCheats.setChecked(!cheatEditor.enableCheats.checked()).doToggle();
}));
hotkeys.append(InputHotkey("Toggle Mute").onPress([] {
presentation.muteAudio.setChecked(!presentation.muteAudio.checked()).doToggle();
}));
hotkeys.append(InputHotkey("Rewind").onPress([&] {
if(!emulator->loaded() || fastForwarding) return;
rewinding = true;
@ -125,6 +129,24 @@ auto InputManager::bindHotkeys() -> void {
}
}));
hotkeys.append(InputHotkey("Increase HD Mode 7").onPress([] {
int index = enhancementSettings.mode7Scale.selected().offset() - 1;
if(index < 0) return;
enhancementSettings.mode7Scale.item(index).setSelected();
enhancementSettings.mode7Scale.doChange();
}));
hotkeys.append(InputHotkey("Decrease HD Mode 7").onPress([] {
int index = enhancementSettings.mode7Scale.selected().offset() + 1;
if(index >= enhancementSettings.mode7Scale.itemCount()) return;
enhancementSettings.mode7Scale.item(index).setSelected();
enhancementSettings.mode7Scale.doChange();
}));
hotkeys.append(InputHotkey("Toggle Supersampling").onPress([] {
enhancementSettings.mode7Supersample.setChecked(!enhancementSettings.mode7Supersample.checked()).doToggle();
}));
hotkeys.append(InputHotkey("Reset Emulation").onPress([] {
program.reset();
}));

View File

@ -325,7 +325,7 @@ public:
struct EnhancementSettings : VerticalLayout {
auto create() -> void;
private:
public:
Label overclockingLabel{this, Size{~0, 0}, 2};
TableLayout overclockingLayout{this, Size{~0, 0}};
Label cpuLabel{&overclockingLayout, Size{0, 0}};