mirror of https://github.com/stella-emu/stella.git
added Kid Vid detection
This commit is contained in:
parent
0f39ddd85e
commit
c3cf1c1f91
|
@ -4935,9 +4935,9 @@ Ms Pac-Man (Stella extended codes):
|
||||||
<tr><td>SaveKey</td><td>A 32K EEPROM for saving high scores, etc. (the EEPROM portion of an AtariVox).</td></tr>
|
<tr><td>SaveKey</td><td>A 32K EEPROM for saving high scores, etc. (the EEPROM portion of an AtariVox).</td></tr>
|
||||||
<tr><td>Genesis </td><td>Sega Genesis controller, which can be used similar to a BoosterGrip, giving an extra button.</td></tr>
|
<tr><td>Genesis </td><td>Sega Genesis controller, which can be used similar to a BoosterGrip, giving an extra button.</td></tr>
|
||||||
<tr><td>CompuMate ¹</td><td>Spectravideo CompuMate (if either left or right is set, CompuMate is used for both).</td></tr>
|
<tr><td>CompuMate ¹</td><td>Spectravideo CompuMate (if either left or right is set, CompuMate is used for both).</td></tr>
|
||||||
<tr><td>Lightgun</td><td>Atari XG-1 compatible Light Gun</td></tr>
|
<tr><td>Lightgun</td><td>Atari XG-1 compatible Light Gun.</td></tr>
|
||||||
<tr><td>Mindlink ¹</td><td>Mindlink controller.</td></tr>
|
<tr><td>Mindlink ¹</td><td>Mindlink controller.</td></tr>
|
||||||
<tr><td>KidVid ¹</td><td>KidVid controller, limited support (8, 9 and 0 start the games).</td></tr>
|
<tr><td>KidVid</td><td>Kid Vid Voice Module, limited support (Right Keyboard controller buttons 1, 2 and 3 start the games, default mapping is 8, 9 and 0).</td></tr>
|
||||||
<tr><td>QuadTari</td><td><a href="#Quadtari">QuadTari</a> controller, limited support (see below).</td></tr>
|
<tr><td>QuadTari</td><td><a href="#Quadtari">QuadTari</a> controller, limited support (see below).</td></tr>
|
||||||
</table></td>
|
</table></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -86,8 +86,10 @@ Controller::Type ControllerDetector::autodetectPort(
|
||||||
{
|
{
|
||||||
if(usesPaddle(image, size, port, settings))
|
if(usesPaddle(image, size, port, settings))
|
||||||
type = Controller::Type::Paddles;
|
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
|
// not detectable: PADDLES_IAXIS, PADDLES_IAXDR
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
@ -728,3 +730,17 @@ bool ControllerDetector::isProbablyQuadTari(const ByteBuffer& image, size_t size
|
||||||
}
|
}
|
||||||
return false;
|
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;
|
||||||
|
}
|
||||||
|
|
|
@ -125,6 +125,9 @@ class ControllerDetector
|
||||||
static bool isProbablyQuadTari(const ByteBuffer& image, size_t size,
|
static bool isProbablyQuadTari(const ByteBuffer& image, size_t size,
|
||||||
Controller::Jack port);
|
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:
|
private:
|
||||||
// Following constructors and assignment operators not supported
|
// Following constructors and assignment operators not supported
|
||||||
ControllerDetector() = delete;
|
ControllerDetector() = delete;
|
||||||
|
|
|
@ -2246,7 +2246,7 @@ static const BSPF::array2D<const char*, DEF_PROPS_SIZE, 29> DefProps = {{
|
||||||
{ "a1ca372388b6465a693e4626cc98b865", "Quelle", "176.543 7", "Der Vielfrass (1983) (Quelle) (PAL)", "AKA Fast Food", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
|
{ "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)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
|
{ "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", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
|
{ "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", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
|
{ "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", "", "", "" },
|
{ "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" },
|
{ "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<const char*, DEF_PROPS_SIZE, 29> DefProps = {{
|
||||||
{ "ee456542b93fa8d7e6a8c689b5a0413c", "", "", "Chronocolor Donkey Kong Clean (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
|
{ "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}", "" },
|
{ "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", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
|
{ "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)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
|
{ "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" },
|
{ "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)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
|
{ "ee6cbedf6c0aac90faa0a8dbc093ffbe", "CCE", "", "My Golf (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
|
||||||
|
|
|
@ -526,7 +526,7 @@ int Paddles::XCENTER = 0;
|
||||||
int Paddles::YCENTER = 0;
|
int Paddles::YCENTER = 0;
|
||||||
float Paddles::SENSITIVITY = 1.0;
|
float Paddles::SENSITIVITY = 1.0;
|
||||||
int Paddles::DEADZONE = 0;
|
int Paddles::DEADZONE = 0;
|
||||||
float Paddles::ACCEL = 0;
|
float Paddles::ACCEL = 1.0;
|
||||||
int Paddles::DEJITTER_BASE = 0;
|
int Paddles::DEJITTER_BASE = 0;
|
||||||
int Paddles::DEJITTER_DIFF = 0;
|
int Paddles::DEJITTER_DIFF = 0;
|
||||||
int Paddles::TRIGRANGE = Paddles::TRIGMAX;
|
int Paddles::TRIGRANGE = Paddles::TRIGMAX;
|
||||||
|
|
|
@ -14183,8 +14183,7 @@
|
||||||
"Cart.Manufacturer" "Coleco, Rob Harris"
|
"Cart.Manufacturer" "Coleco, Rob Harris"
|
||||||
"Cart.ModelNo" "2511"
|
"Cart.ModelNo" "2511"
|
||||||
"Cart.Name" "Smurfs Save the Day (1983) (Coleco)"
|
"Cart.Name" "Smurfs Save the Day (1983) (Coleco)"
|
||||||
"Cart.Note" "Uses the Kid Vid Controller"
|
"Cart.Note" "Uses the Kid Vid Voice Module"
|
||||||
"Controller.Right" "KIDVID"
|
|
||||||
""
|
""
|
||||||
|
|
||||||
"Cart.MD5" "a20b7abbcdf90fbc29ac0fafa195bd12"
|
"Cart.MD5" "a20b7abbcdf90fbc29ac0fafa195bd12"
|
||||||
|
@ -20774,10 +20773,9 @@
|
||||||
"Cart.Manufacturer" "Coleco"
|
"Cart.Manufacturer" "Coleco"
|
||||||
"Cart.ModelNo" "2658"
|
"Cart.ModelNo" "2658"
|
||||||
"Cart.Name" "Berenstain Bears (1983) (Coleco)"
|
"Cart.Name" "Berenstain Bears (1983) (Coleco)"
|
||||||
"Cart.Note" "Uses the KidVid Controller"
|
"Cart.Note" "Uses the Kid Vid Voice Module"
|
||||||
"Cart.Rarity" "Unbelievably Rare"
|
"Cart.Rarity" "Unbelievably Rare"
|
||||||
"Console.LeftDiff" "A"
|
"Console.LeftDiff" "A"
|
||||||
"Controller.Right" "KIDVID"
|
|
||||||
""
|
""
|
||||||
|
|
||||||
"Cart.MD5" "ee67dc0b01746372d2b983d88f48e24f"
|
"Cart.MD5" "ee67dc0b01746372d2b983d88f48e24f"
|
||||||
|
|
Loading…
Reference in New Issue