From 2cc2fa6cc1a1c003d3a35c7471d7acdf1e765f6a Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Thu, 20 Jul 2017 11:15:57 -0230 Subject: [PATCH] Make Decathlon ROMs always use all 4 directions on a joystick. This is necessary, since the original controller was meant to be track & field controller with two buttons, which map to left/right on an Atari. --- Changes.txt | 13 +++++++++++-- src/emucore/Console.cxx | 14 +++++++++++--- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/Changes.txt b/Changes.txt index f84ea77f1..8bf6cb7d5 100644 --- a/Changes.txt +++ b/Changes.txt @@ -12,6 +12,17 @@ Release History =========================================================================== +5.0 to 5.0.1: (xxxx yy, 2017) + + * Various 'Bumper Bash' and 'Decathlon' ROMs are marked as always having + all 4 directions on a joystick enabled, since they can't be played + properly otherwise. + + * Added 'Hunchy II' from Chris Walton (cd-w) to ROM properties database. + +-Have fun! + + 4.7.3 to 5.0: (July 16, 2017) * Note: because of major TIA/6502/RIOT changes, the state file format @@ -185,8 +196,6 @@ compiler versions, and fixed compile issues on AArch64 and ppc64le architectures. --Have fun! - 4.7.2 to 4.7.3: (Nov. 21, 2016) diff --git a/src/emucore/Console.cxx b/src/emucore/Console.cxx index 93250c77c..2e4d18f48 100644 --- a/src/emucore/Console.cxx +++ b/src/emucore/Console.cxx @@ -183,10 +183,18 @@ Console::Console(OSystem& osystem, unique_ptr& cart, myConsoleTiming = ConsoleTiming::secam; } - // Bumper Bash always requires all 4 directions + // Bumper Bash and Decathlon always require all 4 directions // Other ROMs can use it if the setting is enabled - bool joyallow4 = md5 == "aa1c41f86ec44c0a44eb64c332ce08af" || - md5 == "1bf503c724001b09be79c515ecfcbd03" || + // Hopefully this list should stay short + // If it starts to get too long, we should add a ROM properties entry + bool joyallow4 = md5 == "aa1c41f86ec44c0a44eb64c332ce08af" || // Bumper Bash + md5 == "16ee443c990215f61f7dd1e55a0d2256" || // Bumper Bash (PAL) + md5 == "1bf503c724001b09be79c515ecfcbd03" || // Bumper Bash (Unknown) + md5 == "ac7c2260378975614192ca2bc3d20e0b" || // Decathlon + md5 == "883258dcd68cefc6cd4d40b1185116dc" || // Decathlon (PAL) + md5 == "ede4ab11ca346bd023b2c21d941e0c50" || // Decathlon (SECAM) + md5 == "525f2dfc8b21b0186cff2568e0509bfc" || // Decathlon [fixed] + md5 == "bf52327c2197d9d2c4544be053caded1" || // Decathlon (HES) myOSystem.settings().getBool("joyallow4"); myOSystem.eventHandler().allowAllDirections(joyallow4);