updated for Synthcart controller detection

This commit is contained in:
thrust26 2019-04-05 15:04:31 +02:00
parent f716bc47a7
commit ea4d010422
3 changed files with 18 additions and 24 deletions

View File

@ -226,13 +226,14 @@ bool ControllerDetector::usesKeyboard(const uInt8* image, uInt32 size, Controlle
if(port == Controller::Jack::Left)
{
// check for INPT0 *AND* INPT1 access
const int NUM_SIGS_0_0 = 4;
const int NUM_SIGS_0_0 = 5;
const int SIG_SIZE_0_0 = 3;
uInt8 signature_0_0[NUM_SIGS_0_0][SIG_SIZE_0_0] = {
{ 0x24, 0x38, 0x30 }, // bit INPT0|$30; bmi
{ 0xa5, 0x38, 0x10 }, // lda INPT0|$30; bpl
{ 0xa4, 0x38, 0x30 }, // ldy INPT0|$30; bmi
{ 0xb5, 0x38, 0x30 }, // lda INPT0|$30,x; bmi
{ 0x24, 0x08, 0x30 }, // bit INPT0; bmi
};
const int NUM_SIGS_0_2 = 1;
const int SIG_SIZE_0_2 = 5;
@ -240,14 +241,15 @@ bool ControllerDetector::usesKeyboard(const uInt8* image, uInt32 size, Controlle
{ 0xb5, 0x38, 0x29, 0x80, 0xd0 }, // lda INPT0,x; and #80; bne
};
const int NUM_SIGS_1_0 = 5;
const int NUM_SIGS_1_0 = 6;
const int SIG_SIZE_1_0 = 3;
uInt8 signature_1_0[NUM_SIGS_1_0][SIG_SIZE_1_0] = {
{ 0x24, 0x39, 0x10 }, // bit INPT1|$30;
{ 0x24, 0x39, 0x30 }, // bit INPT1|$30;
{ 0xa5, 0x39, 0x10 }, // lda INPT1|$30;
{ 0x24, 0x39, 0x10 }, // bit INPT1|$30; bpl
{ 0x24, 0x39, 0x30 }, // bit INPT1|$30; bmi
{ 0xa5, 0x39, 0x10 }, // lda INPT1|$30; bpl
{ 0xa4, 0x39, 0x30 }, // ldy INPT1|$30; bmi
{ 0xb5, 0x38, 0x30 }, // lda INPT0|$30,x; bmi
{ 0x24, 0x09, 0x30 }, // bit INPT1; bmi
};
const int NUM_SIGS_1_2 = 1;
const int SIG_SIZE_1_2 = 5;
@ -288,12 +290,13 @@ bool ControllerDetector::usesKeyboard(const uInt8* image, uInt32 size, Controlle
else if(port == Controller::Jack::Right)
{
// check for INPT2 *AND* INPT3 access
const int NUM_SIGS_0_0 = 3;
const int NUM_SIGS_0_0 = 4;
const int SIG_SIZE_0_0 = 3;
uInt8 signature_0_0[NUM_SIGS_0_0][SIG_SIZE_0_0] = {
{ 0x24, 0x3a, 0x30 }, // bit INPT2|$30; bmi
{ 0xa5, 0x3a, 0x10 }, // lda INPT2|$30; bpl
{ 0xa4, 0x3a, 0x30 }, // ldy INPT2|$30; bmi
{ 0x24, 0x0a, 0x30 }, // bit INPT2; bmi
};
const int NUM_SIGS_0_2 = 1;
const int SIG_SIZE_0_2 = 5;
@ -301,12 +304,13 @@ bool ControllerDetector::usesKeyboard(const uInt8* image, uInt32 size, Controlle
{ 0xb5, 0x38, 0x29, 0x80, 0xd0 }, // lda INPT2,x; and #80; bne
};
const int NUM_SIGS_1_0 = 3;
const int NUM_SIGS_1_0 = 4;
const int SIG_SIZE_1_0 = 3;
uInt8 signature_1_0[NUM_SIGS_1_0][SIG_SIZE_1_0] = {
{ 0x24, 0x3b, 0x30 }, // bit INPT3|$30;
{ 0xa5, 0x3b, 0x10 }, // lda INPT3|$30;
{ 0x24, 0x3b, 0x30 }, // bit INPT3|$30; bmi
{ 0xa5, 0x3b, 0x10 }, // lda INPT3|$30; bpl
{ 0xa4, 0x3b, 0x30 }, // ldy INPT3|$30; bmi
{ 0x24, 0x0b, 0x30 }, // bit INPT3; bmi
};
const int NUM_SIGS_1_2 = 1;
const int SIG_SIZE_1_2 = 5;

View File

@ -614,7 +614,7 @@ static const char* const DefProps[DEF_PROPS_SIZE][21] = {
{ "2bf34b6ad7d2317a2d0808b3fb93571b", "", "", "Easy Playfield Graphics (1997) (Chris Cracknell)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "2c0dc885d5ede94aa664bf3081add34e", "", "", "Earth Dies Screaming, The (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "2c29182edf0965a7f56fe0897d2f84ba", "Atari - Axlon, Steve DeFrisco", "CX26192", "Klax (08-18-1990) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "2c2aea31b01c6126c1a43e10cacbfd58", "Paul Slocum", "", "Synthcart (2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "YES", "" },
{ "2c2aea31b01c6126c1a43e10cacbfd58", "Paul Slocum", "", "Synthcart (2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" },
{ "2c3b2843295c9d6b16996971180a3fe9", "HES - Activision", "", "Sports Action Pak - Enduro, Ice Hockey, Fishing Derby, Dragster (1988) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "2c3b9c171e214e9e46bbaa12bdf8977e", "Atari, Ed Logg, Carol Shaw - Sears", "CX2639 - 49-75162", "Othello (1981) (Atari) (4K) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "2c45c3eb819a797237820a1816c532eb", "Atari", "CX26163P", "Boxing (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -1893,9 +1893,9 @@ static const char* const DefProps[DEF_PROPS_SIZE][21] = {
{ "8905d54f48b8024fc718ed643e9033f7", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (05-24-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "890c13590e0d8d5d6149737d930e4d95", "Atari, David Crane - Sears", "CX2605 - 6-99822, 49-75109", "Outlaw (1978) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8917f7c1ac5eb05b82331cf01c495af2", "Bit Corporation", "PG202", "Space Tunnel (1982) (BitCorp) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8933976f2029c0d8492ebd8f4eb21492", "", "", "Synthcart Plus (09-02-2003) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" },
{ "8933976f2029c0d8492ebd8f4eb21492", "", "", "Synthcart Plus (09-02-2003) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8953bc11352d794431d3303e31d3b892", "Tigervision, Robert H. O'Neil", "7-007", "Polaris (02-17-1983) (Tigervision) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "896ec58f26e930e02f5e4f046602c3a1", "", "", "Synthcart (Beta) (2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "YES", "" },
{ "896ec58f26e930e02f5e4f046602c3a1", "", "", "Synthcart (Beta) (2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" },
{ "898143773824663efe88d0a3a0bb1ba4", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "AZ-033, AZ-033-04", "Space Shuttle (1983) (Activision) [FE]", "A Journey Into Space", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "898748d5eaac3164b0391a64ae1e0e32", "", "", "Hangman Man 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "898b5467551d32af48a604802407b6e8", "Bit Corporation", "PG208", "Snail Against Squirrel (1983) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -1917,7 +1917,7 @@ static const char* const DefProps[DEF_PROPS_SIZE][21] = {
{ "8b04e9d132b8e30d447acaa6bd049c32", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8b40a9ca1cfcd14822e2547eaa9df5c1", "Parker Brothers - Western Technologies, Dave Hampton, Tom Sloper", "931517", "Q-bert (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8b504b417c8626167a7e02f44229f0e7", "Retroactive", "", "Qb (V1.00) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" },
{ "8b556c3d9ca8e5e6e665bd759b93ffae", "", "", "Synthcart (2002) (Paul Slocum) (PAL) [!]", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "YES", "" },
{ "8b556c3d9ca8e5e6e665bd759b93ffae", "", "", "Synthcart (2002) (Paul Slocum) (PAL) [!]", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" },
{ "8b5b1e3a434ebbdc2c2a49dc68f46360", "CBS Electronics - Woodside Design Associates - Imaginative Systems Software, Garry Kitchen", "4L1700, 4L1701, 4L1702, 4L1802, 4L2274", "Donkey Kong (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8b7ca29a55432f886cee3d452fb00481", "Starpath Corporation, Stephen H. Landrum, Jon Leupp", "11 AR-4201", "Sword of Saros (1983) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8b8152d6081f31365406cb716bd95567", "Atari", "CX2626, CX2626P", "Miniature Golf (1979) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -2792,7 +2792,7 @@ static const char* const DefProps[DEF_PROPS_SIZE][21] = {
{ "d0af33865512e9b6900714c26db5fa23", "Telegames", "", "Armor Ambush (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "d0b26e908370683ad99bc6b52137a784", "Apollo - Games by Apollo, Larry Minor, Ernie Runyon, Ed Salvo - RCA Video Jeux", "AP-2004", "Lost Luggage (1982) (Apollo) (PAL)", "AKA La valise piegee", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "d0b9df57bfea66378c0418ec68cfe37f", "20th Century Fox Video Games - Sirius, Grady Ward", "11002", "Beany Bopper (1982) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "d0b9f705aa5f61f47a748a66009ae2d2", "", "", "Synthcart (14-01-2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "YES", "" },
{ "d0b9f705aa5f61f47a748a66009ae2d2", "", "", "Synthcart (14-01-2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" },
{ "d0cb28e1b7bd6c7f683a0917b59f707e", "Atari, Gary Palmer", "CX2661P", "Fun with Numbers (1980) (Atari) (PAL) (4K)", "AKA Basic Math", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "d0cdafcb000b9ae04ac465f17788ad11", "Quelle - Otto Versand", "732.273 8 - 600273, 781644", "Lilly Adventure (1983) (Quelle) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "d0e05ba5f10e3df3023c5ee787f760ef", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },

View File

@ -3621,8 +3621,6 @@
"Cartridge.Manufacturer" "Paul Slocum"
"Cartridge.Name" "Synthcart (2002) (Paul Slocum)"
"Cartridge.Note" "Uses Keypad Controllers"
"Controller.Left" "KEYBOARD"
"Controller.Right" "KEYBOARD"
"Display.Phosphor" "YES"
""
@ -11425,8 +11423,6 @@
"Cartridge.MD5" "8933976f2029c0d8492ebd8f4eb21492"
"Cartridge.Name" "Synthcart Plus (09-02-2003) (Paul Slocum)"
"Cartridge.Note" "Uses Keypad Controllers"
"Controller.Left" "KEYBOARD"
"Controller.Right" "KEYBOARD"
""
"Cartridge.MD5" "8953bc11352d794431d3303e31d3b892"
@ -11439,8 +11435,6 @@
"Cartridge.MD5" "896ec58f26e930e02f5e4f046602c3a1"
"Cartridge.Name" "Synthcart (Beta) (2002) (Paul Slocum)"
"Cartridge.Note" "Uses Keypad Controllers"
"Controller.Left" "KEYBOARD"
"Controller.Right" "KEYBOARD"
"Display.Phosphor" "YES"
""
@ -11577,8 +11571,6 @@
"Cartridge.MD5" "8b556c3d9ca8e5e6e665bd759b93ffae"
"Cartridge.Name" "Synthcart (2002) (Paul Slocum) (PAL) [!]"
"Cartridge.Note" "Uses Keypad Controllers"
"Controller.Left" "KEYBOARD"
"Controller.Right" "KEYBOARD"
"Display.Phosphor" "YES"
""
@ -16901,8 +16893,6 @@
"Cartridge.MD5" "d0b9f705aa5f61f47a748a66009ae2d2"
"Cartridge.Name" "Synthcart (14-01-2002) (Paul Slocum)"
"Cartridge.Note" "Uses Keypad Controllers"
"Controller.Left" "KEYBOARD"
"Controller.Right" "KEYBOARD"
"Display.Phosphor" "YES"
""