Fixed region heuristics for the one Scandanavian SNES game release
This commit is contained in:
byuu 2019-12-28 13:41:57 +09:00
parent 5b29ddbcaa
commit 2551f20f3a
3 changed files with 12 additions and 5 deletions

View File

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

View File

@ -169,7 +169,7 @@ auto SuperFamicom::region() const -> string {
if(D == 'P') region = {"SNSP-", code, "-EUR"};
if(D == 'S') region = {"SNSP-", code, "-ESP"};
if(D == 'U') region = {"SNSP-", code, "-AUS"};
if(D == 'W') region = {"SNSP-", code, "-SCN"};
if(D == 'X') region = {"SNSP-", code, "-SCN"};
}
if(!region) {
@ -187,6 +187,7 @@ auto SuperFamicom::region() const -> string {
if(E == 0x0f) region = {"CAN"};
if(E == 0x10) region = {"BRA"};
if(E == 0x11) region = {"AUS"};
if(E == 0x12) region = {"SCN"};
}
return region ? region : "NTSC";
@ -194,7 +195,13 @@ auto SuperFamicom::region() const -> string {
auto SuperFamicom::videoRegion() const -> string {
auto region = data[headerAddress + 0x29];
return (region <= 0x01 || region >= 0x0c) ? "NTSC" : "PAL";
if(region == 0x00) return "NTSC"; //JPN
if(region == 0x01) return "NTSC"; //USA
if(region == 0x0b) return "NTSC"; //ROC
if(region == 0x0d) return "NTSC"; //KOR
if(region == 0x0f) return "NTSC"; //CAN
if(region == 0x10) return "NTSC"; //BRA
return "PAL";
}
auto SuperFamicom::revision() const -> string {
@ -223,7 +230,7 @@ auto SuperFamicom::revision() const -> string {
if(D == 'P') revision = {"SNSP-", code, "-", F};
if(D == 'S') revision = {"SNSP-", code, "-", F};
if(D == 'U') revision = {"SNSP-", code, "-", F};
if(D == 'W') revision = {"SNSP-", code, "-", F};
if(D == 'X') revision = {"SNSP-", code, "-", F};
}
if(!revision) {

View File

@ -214,7 +214,7 @@ auto CPU::joypadEdge() -> void {
controllerPort1.device->latch(0);
controllerPort2.device->latch(0);
//shift registers are cleared at start of auto joypad polling
//shift registers are flushed at start of auto joypad polling
io.joy1 = ~0;
io.joy2 = ~0;
io.joy3 = ~0;