diff --git a/docs/index.html b/docs/index.html
index 08eb17911..6ffb4d08d 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -4935,9 +4935,9 @@ Ms Pac-Man (Stella extended codes):
SaveKey | A 32K EEPROM for saving high scores, etc. (the EEPROM portion of an AtariVox). |
Genesis | Sega Genesis controller, which can be used similar to a BoosterGrip, giving an extra button. |
CompuMate ¹ | Spectravideo CompuMate (if either left or right is set, CompuMate is used for both). |
- Lightgun | Atari XG-1 compatible Light Gun |
+ Lightgun | Atari XG-1 compatible Light Gun. |
Mindlink ¹ | Mindlink controller. |
- KidVid ¹ | KidVid controller, limited support (8, 9 and 0 start the games). |
+ KidVid | Kid Vid Voice Module, limited support (Right Keyboard controller buttons 1, 2 and 3 start the games, default mapping is 8, 9 and 0). |
QuadTari | QuadTari controller, limited support (see below). |
diff --git a/src/emucore/ControllerDetector.cxx b/src/emucore/ControllerDetector.cxx
index 8dd837776..75c0ffe02 100644
--- a/src/emucore/ControllerDetector.cxx
+++ b/src/emucore/ControllerDetector.cxx
@@ -86,8 +86,10 @@ Controller::Type ControllerDetector::autodetectPort(
{
if(usesPaddle(image, size, port, settings))
type = Controller::Type::Paddles;
+ else if(isProbablyKidVid(image, size, port))
+ type = Controller::Type::KidVid;
}
- // TODO: BOOSTERGRIP, DRIVING, MINDLINK, ATARIVOX, KIDVID
+ // TODO: BOOSTERGRIP, DRIVING, COMPUMATE, MINDLINK, ATARIVOX
// not detectable: PADDLES_IAXIS, PADDLES_IAXDR
return type;
}
@@ -728,3 +730,17 @@ bool ControllerDetector::isProbablyQuadTari(const ByteBuffer& image, size_t size
}
return false;
}
+
+// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+bool ControllerDetector::isProbablyKidVid(const ByteBuffer& image, size_t size,
+ Controller::Jack port)
+{
+ if(port == Controller::Jack::Right)
+ {
+ const int SIG_SIZE = 5;
+ uInt8 signature[SIG_SIZE] = {0xA9, 0x03, 0x8D, 0x81, 0x02};
+
+ return searchForBytes(image, size, signature, SIG_SIZE);
+ }
+ return false;
+}
diff --git a/src/emucore/ControllerDetector.hxx b/src/emucore/ControllerDetector.hxx
index 901511956..96d221c2a 100644
--- a/src/emucore/ControllerDetector.hxx
+++ b/src/emucore/ControllerDetector.hxx
@@ -125,6 +125,9 @@ class ControllerDetector
static bool isProbablyQuadTari(const ByteBuffer& image, size_t size,
Controller::Jack port);
+ // Returns true if a Kid Vid code pattern is found.
+ static bool isProbablyKidVid(const ByteBuffer& image, size_t size,
+ Controller::Jack port);
private:
// Following constructors and assignment operators not supported
ControllerDetector() = delete;
diff --git a/src/emucore/DefProps.hxx b/src/emucore/DefProps.hxx
index aa4e1e953..e1f873620 100644
--- a/src/emucore/DefProps.hxx
+++ b/src/emucore/DefProps.hxx
@@ -2246,7 +2246,7 @@ static const BSPF::array2D DefProps = {{
{ "a1ca372388b6465a693e4626cc98b865", "Quelle", "176.543 7", "Der Vielfrass (1983) (Quelle) (PAL)", "AKA Fast Food", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "a1ead9c181d67859aa93c44e40f1709c", "American Videogame - Dunhill Electronics, Darrell Wagner, Todd Clark Holm, John Simonds", "", "Tax Avoiders (1986) (American Videogame)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "a1f9159121142d42e63e6fb807d337aa", "Quelle - Otto Versand", "700.223 1 - 781627", "Der moderne Ritter (1983) (Quelle) (PAL)", "AKA Fast Eddie", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
- { "a204cd4fb1944c86e800120706512a64", "Coleco, Rob Harris", "2511", "Smurfs Save the Day (1983) (Coleco)", "Uses the Kid Vid Controller", "", "", "", "", "", "", "", "", "", "", "", "KIDVID", "", "", "", "", "", "", "", "", "", "", "", "" },
+ { "a204cd4fb1944c86e800120706512a64", "Coleco, Rob Harris", "2511", "Smurfs Save the Day (1983) (Coleco)", "Uses the Kid Vid Voice Module", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "a20b7abbcdf90fbc29ac0fafa195bd12", "Quelle - Otto Versand", "719.383 2 - 649635, 781393, 781784, 986404", "Motocross (1983) (Quelle) (PAL)", "AKA Motorcross", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "a20d931a8fddcd6f6116ed21ff5c4832", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2003", "Racquetball (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "" },
{ "a2170318a8ef4b50a1b1d38567c220d6", "Amiga - Video Soft", "3125", "Surf's Up (1983) (Amiga) (Prototype) [a1]", "Uses the Joyboard controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "http://www.atariprotos.com/2600/software/surfsup/surfsup.htm" },
@@ -3285,7 +3285,7 @@ static const BSPF::array2D DefProps = {{
{ "ee456542b93fa8d7e6a8c689b5a0413c", "", "", "Chronocolor Donkey Kong Clean (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "ee4c186123d31a279ed7a84d3578df23", "Atari, Carol Shaw, Nick 'Sandy Maiwald' Turner", "CX2608", "Super Breakout (1982 - 1981) (Atari) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "", "{\"score_addresses\":[\"0xdc\",\"0xdd\"],\"variations_address\":\"0xc0\",\"variations_count\":9}", "" },
{ "ee659ae50e9df886ac4f8d7ad10d046a", "Exus Corporation", "", "Video Reflex (1983) (Exus)", "AKA Foot Craz", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
- { "ee6665683ebdb539e89ba620981cb0f6", "Coleco", "2658", "Berenstain Bears (1983) (Coleco)", "Uses the KidVid Controller", "Unbelievably Rare", "", "", "", "A", "", "", "", "", "", "", "KIDVID", "", "", "", "", "", "", "", "", "", "", "", "" },
+ { "ee6665683ebdb539e89ba620981cb0f6", "Coleco", "2658", "Berenstain Bears (1983) (Coleco)", "Uses the Kid Vid Voice Module", "Unbelievably Rare", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "ee67dc0b01746372d2b983d88f48e24f", "", "", "Scroller Demo (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "ee681f566aad6c07c61bbbfc66d74a27", "Activision", "", "Unknown Activision Game (10-29-1982) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "http://www.atariprotos.com/2600/software/unknown1/unknown1.htm" },
{ "ee6cbedf6c0aac90faa0a8dbc093ffbe", "CCE", "", "My Golf (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
diff --git a/src/emucore/Paddles.cxx b/src/emucore/Paddles.cxx
index d0667cf8f..a02f53961 100644
--- a/src/emucore/Paddles.cxx
+++ b/src/emucore/Paddles.cxx
@@ -526,7 +526,7 @@ int Paddles::XCENTER = 0;
int Paddles::YCENTER = 0;
float Paddles::SENSITIVITY = 1.0;
int Paddles::DEADZONE = 0;
-float Paddles::ACCEL = 0;
+float Paddles::ACCEL = 1.0;
int Paddles::DEJITTER_BASE = 0;
int Paddles::DEJITTER_DIFF = 0;
int Paddles::TRIGRANGE = Paddles::TRIGMAX;
diff --git a/src/emucore/stella.pro b/src/emucore/stella.pro
index c7c95354c..1fdc1152f 100644
--- a/src/emucore/stella.pro
+++ b/src/emucore/stella.pro
@@ -14183,8 +14183,7 @@
"Cart.Manufacturer" "Coleco, Rob Harris"
"Cart.ModelNo" "2511"
"Cart.Name" "Smurfs Save the Day (1983) (Coleco)"
-"Cart.Note" "Uses the Kid Vid Controller"
-"Controller.Right" "KIDVID"
+"Cart.Note" "Uses the Kid Vid Voice Module"
""
"Cart.MD5" "a20b7abbcdf90fbc29ac0fafa195bd12"
@@ -20774,10 +20773,9 @@
"Cart.Manufacturer" "Coleco"
"Cart.ModelNo" "2658"
"Cart.Name" "Berenstain Bears (1983) (Coleco)"
-"Cart.Note" "Uses the KidVid Controller"
+"Cart.Note" "Uses the Kid Vid Voice Module"
"Cart.Rarity" "Unbelievably Rare"
"Console.LeftDiff" "A"
-"Controller.Right" "KIDVID"
""
"Cart.MD5" "ee67dc0b01746372d2b983d88f48e24f"