diff --git a/bsnes/sfc/cpu/timing.cpp b/bsnes/sfc/cpu/timing.cpp index f8e2fa10..34805390 100644 --- a/bsnes/sfc/cpu/timing.cpp +++ b/bsnes/sfc/cpu/timing.cpp @@ -210,10 +210,12 @@ auto CPU::joypadEdge() -> void { //Taikyoku Igo - Goliath: start button not acknowledged //Tatakae Genshijin 2: attract sequence ends early //Williams Arcade's Greatest Hits: inputs fire on their own - //World Masters Golf: inputs do not work at all + //World Masters Golf: holding D-pad should only move the cursor once, not continuously if(configuration.hacks.cpu.fastJoypadPolling) { //Taikyoku Igo - Goliath + //Williams Arcade's Greatest Hits + //World Masters Golf if(!status.autoJoypadCounter && vcounter() >= ppu.vdisp()) { controllerPort1.device->latch(1); controllerPort2.device->latch(1); diff --git a/bsnes/target-bsnes/program/hacks.cpp b/bsnes/target-bsnes/program/hacks.cpp index 4ce477f6..018f5bff 100644 --- a/bsnes/target-bsnes/program/hacks.cpp +++ b/bsnes/target-bsnes/program/hacks.cpp @@ -10,8 +10,12 @@ auto Program::hackCompatibility() -> void { auto title = superFamicom.title; auto region = superFamicom.region; + if(title == "Arcades Greatest Hits") fastJoypadPolling = true; + if(title == "TAIKYOKU-IGO Goliath") fastJoypadPolling = true; + if(title == "WORLD MASTERS GOLF") fastJoypadPolling = true; + //relies on mid-scanline rendering techniques if(title == "AIR STRIKE PATROL" || title == "DESERT FIGHTER") fastPPU = false;