Added bankswitch autodetection for UA Limited (UA), CommaVid (CV)

and Activision (FE) carts.

Removed most of the pre-defined bankswitching types from the internal
database, since auto-detection is now quite accurate.  There are only
6 entries out of 2722 where the type needs to be overridden; not bad,
I think :)  Testing is welcome, because I may have introduced some minor
regressions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1320 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2007-06-08 12:36:52 +00:00
parent 28345a3a43
commit 03c533e0b9
4 changed files with 121 additions and 45 deletions

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of // See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES. // this file, and for a DISCLAIMER OF ALL WARRANTIES.
// //
// $Id: Cart.cxx,v 1.31 2007-01-14 16:17:51 stephena Exp $ // $Id: Cart.cxx,v 1.32 2007-06-08 12:36:51 stephena Exp $
//============================================================================ //============================================================================
#include <cassert> #include <cassert>
@ -181,16 +181,20 @@ string Cartridge::autodetectType(const uInt8* image, uInt32 size)
else if((size == 2048) || else if((size == 2048) ||
(size == 4096 && memcmp(image, image + 2048, 2048) == 0)) (size == 4096 && memcmp(image, image + 2048, 2048) == 0))
{ {
// TODO - autodetect CV if(isProbablyCV(image, size))
type = "CV";
else
type = "2K"; type = "2K";
} }
else if(size == 4096) else if(size == 4096)
{ {
if(isProbablyCV(image, size))
type = "CV";
else
type = "4K"; type = "4K";
} }
else if(size == 8192) // 8K else if(size == 8192) // 8K
{ {
// TODO - autodetect FE and UA, probably not possible
if(isProbablySC(image, size)) if(isProbablySC(image, size))
type = "F8SC"; type = "F8SC";
else if(memcmp(image, image + 4096, 4096) == 0) else if(memcmp(image, image + 4096, 4096) == 0)
@ -199,6 +203,10 @@ string Cartridge::autodetectType(const uInt8* image, uInt32 size)
type = "E0"; type = "E0";
else if(isProbably3F(image, size)) else if(isProbably3F(image, size))
type = isProbably3E(image, size) ? "3E" : "3F"; type = isProbably3E(image, size) ? "3E" : "3F";
else if(isProbablyUA(image, size))
type = "UA";
else if(isProbablyFE(image, size))
type = "FE";
else else
type = "F8"; type = "F8";
} }
@ -262,15 +270,22 @@ string Cartridge::autodetectType(const uInt8* image, uInt32 size)
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Cartridge::searchForBytes(const uInt8* image, uInt32 size, uInt8 byte1, uInt8 byte2) int Cartridge::searchForBytes(const uInt8* image, uInt32 imagesize,
const uInt8* signature, uInt32 sigsize)
{ {
uInt32 count = 0; uInt32 count = 0;
for(uInt32 i = 0; i < size - 1; ++i) for(uInt32 i = 0; i < imagesize - sigsize; ++i)
{ {
if((image[i] == byte1) && (image[i + 1] == byte2)) uInt32 matches = 0;
for(uInt32 j = 0; j < sigsize; ++j)
{ {
++count; if(image[i+j] == signature[j])
++matches;
else
break;
} }
if(matches == sigsize)
++count;
} }
return count; return count;
@ -298,13 +313,20 @@ bool Cartridge::isProbablySC(const uInt8* image, uInt32 size)
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Cartridge::isProbably3F(const uInt8* image, uInt32 size) bool Cartridge::isProbably3F(const uInt8* image, uInt32 size)
{ {
return (searchForBytes(image, size, 0x85, 0x3F) > 2); // 3F cart bankswitching is triggered by storing the bank number
// in address 3F using 'STA $3F'
// We expect it will be present at least 2 times, since there are
// at least two banks
uInt8 signature[] = { 0x85, 0x3F }; // STA $3F
return searchForBytes(image, size, signature, 2) > 2;
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Cartridge::isProbably3E(const uInt8* image, uInt32 size) bool Cartridge::isProbably3E(const uInt8* image, uInt32 size)
{ {
return (searchForBytes(image, size, 0x85, 0x3E) > 2); // TODO - fix this one, once I find a test ROM
uInt8 signature[] = { 0x85, 0x3E };
return searchForBytes(image, size, signature, 2) > 2;
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -367,6 +389,50 @@ bool Cartridge::isProbablyE7(const uInt8* image, uInt32 size)
return (count1 > 0 || count2 > 0); return (count1 > 0 || count2 > 0);
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Cartridge::isProbablyUA(const uInt8* image, uInt32 size)
{
// UA cart bankswitching switches to bank 1 by accessing address 0x240
// using 'STA $240'
uInt8 signature[] = { 0x8D, 0x40, 0x02 }; // STA $240
return searchForBytes(image, size, signature, 3) > 0;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Cartridge::isProbablyCV(const uInt8* image, uInt32 size)
{
// CV RAM access occurs at addresses $f3ff and $f400
// These signatures are attributed to the MESS project
uInt8 signature[2][3] = {
{ 0x9D, 0xFF, 0xF3 }, // STA $F3FF
{ 0x99, 0x00, 0xF4 } // STA $F400
};
if(searchForBytes(image, size, signature[0], 3) > 0)
return true;
else
return searchForBytes(image, size, signature[1], 3) > 0;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Cartridge::isProbablyFE(const uInt8* image, uInt32 size)
{
// FE bankswitching is very weird, but always seems to include a
// 'JSR $xxxx'
// These signatures are attributed to the MESS project
uInt8 signature[4][5] = {
{ 0x20, 0x00, 0xD0, 0xC6, 0xC5 }, // JSR $D000; DEC $C5
{ 0x20, 0xC3, 0xF8, 0xA5, 0x82 }, // JSR $F8C3; LDA $82
{ 0xD0, 0xFB, 0x20, 0x73, 0xFE }, // BNE $FB; JSR $FE73
{ 0x20, 0x00, 0xF0, 0x84, 0xD6 } // JSR $F000; STY $D6
};
for(uInt32 i = 0; i < 4; ++i)
{
if(searchForBytes(image, size, signature[i], 5) > 0)
return true;
}
return false;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cartridge::Cartridge(const Cartridge&) Cartridge::Cartridge(const Cartridge&)
{ {

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of // See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES. // this file, and for a DISCLAIMER OF ALL WARRANTIES.
// //
// $Id: Cart.hxx,v 1.17 2007-01-14 16:17:52 stephena Exp $ // $Id: Cart.hxx,v 1.18 2007-06-08 12:36:51 stephena Exp $
//============================================================================ //============================================================================
#ifndef CARTRIDGE_HXX #ifndef CARTRIDGE_HXX
@ -33,7 +33,7 @@ class Settings;
game and handles any bankswitching performed by the cartridge. game and handles any bankswitching performed by the cartridge.
@author Bradford W. Mott @author Bradford W. Mott
@version $Id: Cart.hxx,v 1.17 2007-01-14 16:17:52 stephena Exp $ @version $Id: Cart.hxx,v 1.18 2007-06-08 12:36:51 stephena Exp $
*/ */
class Cartridge : public Device class Cartridge : public Device
{ {
@ -134,9 +134,17 @@ class Cartridge : public Device
static string autodetectType(const uInt8* image, uInt32 size); static string autodetectType(const uInt8* image, uInt32 size);
/** /**
Utility method used by isProbably3F and isProbably3E Search the image for the specified byte signature
@param image A pointer to the ROM image
@param imagesize The size of the ROM image
@param signature The byte sequence to search for
@param sigsize The number of bytes in the signature
@return The number of times the signature was found
*/ */
static int searchForBytes(const uInt8* image, uInt32 size, uInt8 byte1, uInt8 byte2); static int searchForBytes(const uInt8* image, uInt32 imagesize,
const uInt8* signature, uInt32 sigsize);
/** /**
Returns true if the image is probably a SuperChip (256 bytes RAM) Returns true if the image is probably a SuperChip (256 bytes RAM)
@ -163,6 +171,21 @@ class Cartridge : public Device
*/ */
static bool isProbablyE7(const uInt8* image, uInt32 size); static bool isProbablyE7(const uInt8* image, uInt32 size);
/**
Returns true if the image is probably a UA bankswitching cartridge
*/
static bool isProbablyUA(const uInt8* image, uInt32 size);
/**
Returns true if the image is probably a CV bankswitching cartridge
*/
static bool isProbablyCV(const uInt8* image, uInt32 size);
/**
Returns true if the image is probably an FE bankswitching cartridge
*/
static bool isProbablyFE(const uInt8* image, uInt32 size);
private: private:
// Contains info about this cartridge in string format // Contains info about this cartridge in string format
static string myAboutString; static string myAboutString;

View File

@ -237,7 +237,7 @@ static const char* DefProps[2722][21] = {
{ "14a56b493a8d9d10e94a3e100362e3a2", "Hozer Video Games", "", "Gunfight 2600 - Early Play-kernel (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "14a56b493a8d9d10e94a3e100362e3a2", "Hozer Video Games", "", "Gunfight 2600 - Early Play-kernel (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "14b1e30982962c72f426e2e763eb4274", "Atari", "", "Polo (Atari) (Prototype) [o1]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "14b1e30982962c72f426e2e763eb4274", "Atari", "", "Polo (Atari) (Prototype) [o1]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "14c2548712099c220964d7f044c59fd9", "", "", "Boing! (PD)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "14c2548712099c220964d7f044c59fd9", "", "", "Boing! (PD)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "14d365bbfaac3d20c6119591f57acca4", "", "", "Video Life (CommaVid) [h1]", "", "", "", "CV", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "14d365bbfaac3d20c6119591f57acca4", "", "", "Video Life (CommaVid) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "14dbb3686dd31964332dc2ef0c55cad0", "", "", "Demo Image Series #15 - Three Marios (PAL) (Non-Interleave) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "14dbb3686dd31964332dc2ef0c55cad0", "", "", "Demo Image Series #15 - Three Marios (PAL) (Non-Interleave) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "152c253478b009c275e18cd731b48561", "", "", "Quest (11-10-2002) (Chris Larkin)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "152c253478b009c275e18cd731b48561", "", "", "Quest (11-10-2002) (Chris Larkin)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "152e55f88af3ff647e75a3070b7b6842", "Activision", "", "Turmoil (198x) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "152e55f88af3ff647e75a3070b7b6842", "Activision", "", "Turmoil (198x) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -801,7 +801,7 @@ static const char* DefProps[2722][21] = {
{ "493e90602a4434b117c91c95e73828d1", "Telegames", "", "Lock 'N' Chase (1982) (Telegames) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "493e90602a4434b117c91c95e73828d1", "Telegames", "", "Lock 'N' Chase (1982) (Telegames) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "4947c9de2e28b2f5f3b0c40ce7e56d93", "", "", "3-D Corridor Demo 2 (29-03-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4947c9de2e28b2f5f3b0c40ce7e56d93", "", "", "3-D Corridor Demo 2 (29-03-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "49571b26f46620a85f93448359324c28", "", "", "Save Our Ship (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "NTSC", "38", "", "", "", "" }, { "49571b26f46620a85f93448359324c28", "", "", "Save Our Ship (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "NTSC", "38", "", "", "", "" },
{ "497f3d2970c43e5224be99f75e97cbbb", "CommaVid", "", "Video Life (CommaVid)", "", "Extremely Rare", "", "CV", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "497f3d2970c43e5224be99f75e97cbbb", "CommaVid", "", "Video Life (CommaVid)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "4999b45be0ab5a85bac1b7c0e551542b", "CCE", "", "Double Dragon (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4999b45be0ab5a85bac1b7c0e551542b", "CCE", "", "Double Dragon (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "4a1a0509bfc1015273a542dfe2040958", "Atari", "CX2628 / 6699842 / 4975117", "Bowling (1978) (Atari) [b1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4a1a0509bfc1015273a542dfe2040958", "Atari", "CX2628 / 6699842 / 4975117", "Bowling (1978) (Atari) [b1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "4a2fe6f0f6317f006fd6d4b34515448b", "", "", "Warring Worms (Midwest Classic Edition) (08-06-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4a2fe6f0f6317f006fd6d4b34515448b", "", "", "Warring Worms (Midwest Classic Edition) (08-06-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -862,10 +862,10 @@ static const char* DefProps[2722][21] = {
{ "4e99ebd65a967cabf350db54405d577c", "Coleco", "2663", "Time Pilot (1983) (Coleco) [b1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4e99ebd65a967cabf350db54405d577c", "Coleco", "2663", "Time Pilot (1983) (Coleco) [b1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "4f0071946e80ca68edfdccbac86dcce0", "", "", "Virtual Pet Demo 1 (CRACKERS) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f0071946e80ca68edfdccbac86dcce0", "", "", "Virtual Pet Demo 1 (CRACKERS) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "4f2d47792a06da224ba996c489a87939", "", "", "Super Action Pak - Pitf,GPrix,LaserB,Barn (1988) (Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f2d47792a06da224ba996c489a87939", "", "", "Super Action Pak - Pitf,GPrix,LaserB,Barn (1988) (Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "4f618c2429138e0280969193ed6c107e", "Activision", "AZ-028", "Robot Tank (1983) (Activision) [!]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f618c2429138e0280969193ed6c107e", "Activision", "AZ-028", "Robot Tank (1983) (Activision) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "4f634893d54e9cabe106e0ec0b7bdcdf", "Retroactive", "", "Qb (2.14) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "4f634893d54e9cabe106e0ec0b7bdcdf", "Retroactive", "", "Qb (2.14) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "4f64d6d0694d9b7a1ed7b0cb0b83e759", "20th Century Fox", "11016", "Revenge of the Beefsteak Tomatoes (1983) (20th Century Fox) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f64d6d0694d9b7a1ed7b0cb0b83e759", "20th Century Fox", "11016", "Revenge of the Beefsteak Tomatoes (1983) (20th Century Fox) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "4f6702c3ba6e0ee2e2868d054b00c064", "Activision", "AZ-033", "Space Shuttle - Journey Into Space (1983) (Activision) (PAL) [!]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f6702c3ba6e0ee2e2868d054b00c064", "Activision", "AZ-033", "Space Shuttle - Journey Into Space (1983) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "4f781f0476493c50dc578336f1132a67", "Atari", "CX2611", "Indy 500 (1978) (Atari) (PAL) [p1][o1][!]", "Uses Driving Controllers", "Uncommon", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "", "", "", "" }, { "4f781f0476493c50dc578336f1132a67", "Atari", "CX2611", "Indy 500 (1978) (Atari) (PAL) [p1][o1][!]", "Uses Driving Controllers", "Uncommon", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "", "", "", "" },
{ "4f82d8d78099dd71e8e169646e799d05", "Atari", "", "Miniature Golf (1979) (Atari) (PAL) [p1][o1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f82d8d78099dd71e8e169646e799d05", "Atari", "", "Miniature Golf (1979) (Atari) (PAL) [p1][o1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "4f89b897444e7c3b36aed469b8836839", "", "", "BMX Air Master (1989) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f89b897444e7c3b36aed469b8836839", "", "", "BMX Air Master (1989) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -1282,7 +1282,7 @@ static const char* DefProps[2722][21] = {
{ "76c88341017eae660efc6e49c4b6ab40", "", "", "Indiana Pitfall (Pitfall Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "76c88341017eae660efc6e49c4b6ab40", "", "", "Indiana Pitfall (Pitfall Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "76ee917d817ef9a654bc4783e0273ac4", "Starsoft", "", "Fox & Goat (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "76ee917d817ef9a654bc4783e0273ac4", "Starsoft", "", "Fox & Goat (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "76f53abbbf39a0063f24036d6ee0968a", "Mattel", "MT7045", "Bump 'N' Jump (1983) (Mattel)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "76f53abbbf39a0063f24036d6ee0968a", "Mattel", "MT7045", "Bump 'N' Jump (1983) (Mattel)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "76f66ce3b83d7a104a899b4b3354a2f2", "UA", "", "Cat Trax (1983) (UA)", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "YES", "", "" }, { "76f66ce3b83d7a104a899b4b3354a2f2", "UA Limited", "", "Cat Trax (1983) (UA)", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "YES", "", "" },
{ "77057d9d14b99e465ea9e29783af0ae3", "Activision", "AG-001", "Dragster (1980) (Activision) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "27", "", "", "", "" }, { "77057d9d14b99e465ea9e29783af0ae3", "Activision", "AG-001", "Dragster (1980) (Activision) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "27", "", "", "", "" },
{ "7732e4e4cc2644f163d6650ddcc9d9df", "HES", "", "2 Pak Black - Challenge, Surfing (HES) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7732e4e4cc2644f163d6650ddcc9d9df", "HES", "", "2 Pak Black - Challenge, Surfing (HES) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "7778ac65d775a079f537e97cbdad541c", "Activision", "AX-021", "Spider Fighter (1983) (Activision) [p1][!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7778ac65d775a079f537e97cbdad541c", "Activision", "AX-021", "Spider Fighter (1983) (Activision) [p1][!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -1463,7 +1463,7 @@ static const char* DefProps[2722][21] = {
{ "87bea777a34278d29b3b6029833c5422", "Tigervision / Thomas Jentzsch", "", "Polaris (1983) (Tigervision) (NTSC by Thomas Jentzsch)", "", "New Release (Video Format Conversion)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "87bea777a34278d29b3b6029833c5422", "Tigervision / Thomas Jentzsch", "", "Polaris (1983) (Tigervision) (NTSC by Thomas Jentzsch)", "", "New Release (Video Format Conversion)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "87e79cd41ce136fd4f72cc6e2c161bee", "", "CX2675", "Ms. Pac-Man (1982) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, { "87e79cd41ce136fd4f72cc6e2c161bee", "", "CX2675", "Ms. Pac-Man (1982) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" },
{ "87f020daa98d0132e98e43db7d8fea7e", "20th Century Fox", "11001", "Worm War I (1982) (20th Century Fox) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "87f020daa98d0132e98e43db7d8fea7e", "20th Century Fox", "11001", "Worm War I (1982) (20th Century Fox) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "883258dcd68cefc6cd4d40b1185116dc", "Activision", "AZ-030", "Decathlon (1983) (Activision) (PAL) [!]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "883258dcd68cefc6cd4d40b1185116dc", "Activision", "AZ-030", "Decathlon (1983) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "885b2002fa9d27502d84968d4656c4ca", "CBS Electronics", "4L-2737", "Omega Race (1983) (CBS Electronics) [o1]", "Uses Booster Grip Controller; set right difficulty to 'A' to use Booster-Grip in both ports", "Uncommon", "", "", "", "A", "", "", "BOOSTER-GRIP", "BOOSTER-GRIP", "", "", "", "", "", "", "" }, { "885b2002fa9d27502d84968d4656c4ca", "CBS Electronics", "4L-2737", "Omega Race (1983) (CBS Electronics) [o1]", "Uses Booster Grip Controller; set right difficulty to 'A' to use Booster-Grip in both ports", "Uncommon", "", "", "", "A", "", "", "BOOSTER-GRIP", "BOOSTER-GRIP", "", "", "", "", "", "", "" },
{ "8874b68751fd2ba6d3306a263ae57a7d", "Eric Mooney", "", "Invaders by Erik Mooney (Alpha 1) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8874b68751fd2ba6d3306a263ae57a7d", "Eric Mooney", "", "Invaders by Erik Mooney (Alpha 1) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8885d0ce11c5b40c3a8a8d9ed28cefef", "Atari", "CX2608 / 4975165", "Super Breakout (1978) (Atari) (PAL) [a1]", "Uses the Paddle Controllers (left only)", "Common", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "" }, { "8885d0ce11c5b40c3a8a8d9ed28cefef", "Atari", "CX2608 / 4975165", "Super Breakout (1978) (Atari) (PAL) [a1]", "Uses the Paddle Controllers (left only)", "Common", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "" },
@ -1499,7 +1499,7 @@ static const char* DefProps[2722][21] = {
{ "8b5b1e3a434ebbdc2c2a49dc68f46360", "", "2451", "Donkey Kong (1983) (CBS Electronics) (PAL) [a1][!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8b5b1e3a434ebbdc2c2a49dc68f46360", "", "2451", "Donkey Kong (1983) (CBS Electronics) (PAL) [a1][!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8b7ca29a55432f886cee3d452fb00481", "Starpath", "AR-4201", "Sword of Saros (1983) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8b7ca29a55432f886cee3d452fb00481", "Starpath", "AR-4201", "Sword of Saros (1983) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8b81af55cd2ef3c7444d6aec4e3a1c09", "", "", "Dark Mage [b1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "8b81af55cd2ef3c7444d6aec4e3a1c09", "", "", "Dark Mage [b1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "8bbfd951c89cc09c148bfabdefa08bec", "UA Limited", "", "Pleiades (UA Limited)", "", "Prototype", "", "UA", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "8bbfd951c89cc09c148bfabdefa08bec", "UA Limited", "", "Pleiades (UA Limited)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "8bc0d2052b4f259e7a50a7c771b45241", "Xonox", "", "Tomarc the Barbarian (1983) (Xonox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "24", "", "", "", "" }, { "8bc0d2052b4f259e7a50a7c771b45241", "Xonox", "", "Tomarc the Barbarian (1983) (Xonox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "24", "", "", "", "" },
{ "8bd8f65377023bdb7c5fcf46ddda5d31", "Activision", "AG-019", "Sky Jinks (1982) (Activision) [o1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8bd8f65377023bdb7c5fcf46ddda5d31", "Activision", "AG-019", "Sky Jinks (1982) (Activision) [o1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "8bebac614571135933116045204f0f00", "", "", "Missile Command (CX-22 Trackball) (PAL) (2002) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "8bebac614571135933116045204f0f00", "", "", "Missile Command (CX-22 Trackball) (PAL) (2002) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
@ -1684,7 +1684,7 @@ static const char* DefProps[2722][21] = {
{ "9efb4e1a15a6cdd286e4bcd7cd94b7b8", "20th Century Fox", "", "Planet of the Apes (20th Century Fox) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9efb4e1a15a6cdd286e4bcd7cd94b7b8", "20th Century Fox", "", "Planet of the Apes (20th Century Fox) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "9f2d58dce1b81c6ba201ed103507c025", "", "", "Fu Kung! (V0.02) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9f2d58dce1b81c6ba201ed103507c025", "", "", "Fu Kung! (V0.02) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "9f48eeb47836cf145a15771775f0767a", "Atari", "CX262", "Basic Programming (1978) (Atari)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "YES", "", "" }, { "9f48eeb47836cf145a15771775f0767a", "Atari", "CX262", "Basic Programming (1978) (Atari)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "YES", "", "" },
{ "9f59eddf9ba91a7d93bce7ee4b7693bc", "", "", "Montezuma's Revenge - Starring Panama Joe (PAL by Thomas Jentzsch).a26", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "", "", "" }, { "9f59eddf9ba91a7d93bce7ee4b7693bc", "", "", "Montezuma's Revenge - Starring Panama Joe (PAL60 by Thomas Jentzsch).a26", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "", "", "" },
{ "9f8fad4badcd7be61bbd2bcaeef3c58f", "Parker Bros", "PB5330", "Reactor (1982) (Parker Bros)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9f8fad4badcd7be61bbd2bcaeef3c58f", "Parker Bros", "PB5330", "Reactor (1982) (Parker Bros)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "9f901509f0474bf9760e6ebd80e629cd", "", "CX2623 / 99819 / 75125", "Home Run (1978) [o1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9f901509f0474bf9760e6ebd80e629cd", "", "CX2623 / 99819 / 75125", "Home Run (1978) [o1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "9f93734c68f6479eb022cab40814142e", "", "", "Push (V0.07) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9f93734c68f6479eb022cab40814142e", "", "", "Push (V0.07) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -1822,7 +1822,7 @@ static const char* DefProps[2722][21] = {
{ "ac26d7d37248d1d8eac5eccacdbef8db", "", "", "Snail Against Squirrel (1983) (Bitcorp) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ac26d7d37248d1d8eac5eccacdbef8db", "", "", "Snail Against Squirrel (1983) (Bitcorp) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "ac53b83e1b57a601eeae9d3ce1b4a458", "Retroactive", "", "Qb (2.15) (Retroactive) (NTSC)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "ac53b83e1b57a601eeae9d3ce1b4a458", "Retroactive", "", "Qb (2.15) (Retroactive) (NTSC)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "ac5f78bae0638cf3f2a0c8d07eb4df69", "", "", "Minesweeper (V.99) (Soren Gust) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ac5f78bae0638cf3f2a0c8d07eb4df69", "", "", "Minesweeper (V.99) (Soren Gust) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "ac7c2260378975614192ca2bc3d20e0b", "Activision", "AZ-030", "Decathlon (1983) (Activision) [!]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ac7c2260378975614192ca2bc3d20e0b", "Activision", "AZ-030", "Decathlon (1983) (Activision) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "ac9adbd6de786a242e19d4bec527982b", "Activision", "AX-012", "Ice Hockey (1981) (Activision) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ac9adbd6de786a242e19d4bec527982b", "Activision", "AX-012", "Ice Hockey (1981) (Activision) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "aca09ffea77174b148b96b205109db4d", "Activision", "AG-007", "Tennis (1981) (Activision) [o1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "aca09ffea77174b148b96b205109db4d", "Activision", "AG-007", "Tennis (1981) (Activision) [o1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "acaa27d214039d89d7031609aafa55c3", "", "", "Sprite Demo 6 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "acaa27d214039d89d7031609aafa55c3", "", "", "Sprite Demo 6 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -2003,7 +2003,7 @@ static const char* DefProps[2722][21] = {
{ "c00734a2233ef683d9b6e622ac97a5c8", "Atari", "CX26133", "A-Team, The (Atari) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c00734a2233ef683d9b6e622ac97a5c8", "Atari", "CX26133", "A-Team, The (Atari) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "c00b65d1bae0aef6a1b5652c9c2156a1", "Atari", "CX2621", "Video Olympics (1978) (Atari) [o1]", "Uses the Paddle Controllers", "Common", "", "", "", "", "", "", "PADDLES", "PADDLES", "YES", "", "", "", "", "", "" }, { "c00b65d1bae0aef6a1b5652c9c2156a1", "Atari", "CX2621", "Video Olympics (1978) (Atari) [o1]", "Uses the Paddle Controllers", "Common", "", "", "", "", "", "", "PADDLES", "PADDLES", "YES", "", "", "", "", "", "" },
{ "c02e1afa0671e438fd526055c556d231", "", "", "A-Team, The (Atari) (Prototype) (PAL-60) [!]", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "", "", "" }, { "c02e1afa0671e438fd526055c556d231", "", "", "A-Team, The (Atari) (Prototype) (PAL-60) [!]", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "", "", "" },
{ "c032c2bd7017fdfbba9a105ec50f800e", "Activision", "", "Thwocker (Activision) (Prototype) [!]", "", "Prototype", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c032c2bd7017fdfbba9a105ec50f800e", "Activision", "", "Thwocker (Activision) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "c033dc1d7b6fde41b9cadce9638909bb", "", "", "Skeleton (V1.1) (06-09-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c033dc1d7b6fde41b9cadce9638909bb", "", "", "Skeleton (V1.1) (06-09-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "c05f367fa4767ceb27abadf0066df7f4", "", "", "TomInv (31-07-2001) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c05f367fa4767ceb27abadf0066df7f4", "", "", "TomInv (31-07-2001) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "c08d0cee43077d3055febb00e5745c1d", "", "", "Super Hit Pak - RRaid,GPrix,Fishing,SkyJ,Chckrs (Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c08d0cee43077d3055febb00e5745c1d", "", "", "Super Hit Pak - RRaid,GPrix,Fishing,SkyJ,Chckrs (Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -2110,7 +2110,7 @@ static const char* DefProps[2722][21] = {
{ "ca7abc774a2fa95014688bc0849eee47", "Atari", "CX26110", "Crystal Castles (1984) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ca7abc774a2fa95014688bc0849eee47", "Atari", "CX26110", "Crystal Castles (1984) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "cad982c9b45bc5eff34e4ea982d5f1ca", "", "", "Song (17-02-2003) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "cad982c9b45bc5eff34e4ea982d5f1ca", "", "", "Song (17-02-2003) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "cae8f83c06831ec7bb6a3c07e98e9342", "Colin Hughes", "", "Tetris 2600 (Colin Hughes) [o1]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "cae8f83c06831ec7bb6a3c07e98e9342", "Colin Hughes", "", "Tetris 2600 (Colin Hughes) [o1]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "cb0b5b8458a13a074e1fe82d3c4e8f3c", "Activision", "AZ-028", "Robot Tank (1983) (Activision) (PAL) [b1]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cb0b5b8458a13a074e1fe82d3c4e8f3c", "Activision", "AZ-028", "Robot Tank (1983) (Activision) (PAL) [b1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "cb24210dc86d92df97b38cf2a51782da", "Ariola", "VG-01", "Missile Control (AKA Raketen-Angriff) (Ariola) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cb24210dc86d92df97b38cf2a51782da", "Ariola", "VG-01", "Missile Control (AKA Raketen-Angriff) (Ariola) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "cb4a7b507372c24f8b9390d22d54a918", "ITT", "", "Peter Penguin (Jagt auf Diamanten-Frisco) (ITT) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cb4a7b507372c24f8b9390d22d54a918", "ITT", "", "Peter Penguin (Jagt auf Diamanten-Frisco) (ITT) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "cb8399dc0d409ff1f531ef86b3b34953", "", "", "Demo Image Series #12 - Luigi And Mario (01-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cb8399dc0d409ff1f531ef86b3b34953", "", "", "Demo Image Series #12 - Luigi And Mario (01-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -2153,7 +2153,7 @@ static const char* DefProps[2722][21] = {
{ "cda38714267978b9a8b0b24bee3529ae", "", "", "Space Instigators (V1.6) (17-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cda38714267978b9a8b0b24bee3529ae", "", "", "Space Instigators (V1.6) (17-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "cdb81bf33d830ee4ee0606ee99e84dba", "Starpath", "AR-4300", "Fireball (1982) (Starpath) (PAL)", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "" }, { "cdb81bf33d830ee4ee0606ee99e84dba", "Starpath", "AR-4300", "Fireball (1982) (Starpath) (PAL)", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "" },
{ "cdc1a5c61d7488eadc9aba36166b253d", "Retroactive", "", "Qb (V0.12) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "cdc1a5c61d7488eadc9aba36166b253d", "Retroactive", "", "Qb (V0.12) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "cddabfd68363a76cd30bee4e8094c646", "CommaVid", "", "Magicard (CommaVid)", "Uses Keypad Controllers", "", "", "CV", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "24", "", "", "", "" }, { "cddabfd68363a76cd30bee4e8094c646", "CommaVid", "", "Magicard (CommaVid)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "24", "", "", "", "" },
{ "ce17325834bf8b0a0d0d8de08478d436", "", "", "Boring Freeway (Freeway Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ce17325834bf8b0a0d0d8de08478d436", "", "", "Boring Freeway (Freeway Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "ce243747bf34a2de366f846b3f4ca772", "Goliath", "", "Felix Return (Goliath) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "39", "256", "", "", "" }, { "ce243747bf34a2de366f846b3f4ca772", "Goliath", "", "Felix Return (Goliath) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "39", "256", "", "", "" },
{ "ce4bbe11d682c15a490ae15a4a8716cf", "", "", "Okie Dokie (Older) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ce4bbe11d682c15a490ae15a4a8716cf", "", "", "Okie Dokie (Older) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
@ -2222,7 +2222,7 @@ static const char* DefProps[2722][21] = {
{ "d34b933660e29c0a0a04004f15d7e160", "", "", "Multi-Color Demo 5 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d34b933660e29c0a0a04004f15d7e160", "", "", "Multi-Color Demo 5 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "d36308387241e98f813646f346e7f9f7", "", "", "Ghostbuster 2 (PAL) (King Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "d36308387241e98f813646f346e7f9f7", "", "", "Ghostbuster 2 (PAL) (King Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "d39e29b03af3c28641084dd1528aae05", "Goliath-Funvision", "", "Spider Kong (AKA Karate) (Goliath-Funvision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d39e29b03af3c28641084dd1528aae05", "Goliath-Funvision", "", "Spider Kong (AKA Karate) (Goliath-Funvision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "d3bb42228a6cd452c111c1932503cc03", "UA Limited", "", "Funky Fish (UA Limited)", "", "Prototype", "", "UA", "", "", "", "", "", "", "", "", "38", "", "YES", "", "" }, { "d3bb42228a6cd452c111c1932503cc03", "UA Limited", "", "Funky Fish (UA Limited)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "38", "", "YES", "", "" },
{ "d45ebf130ed9070ea8ebd56176e48a38", "Sega", "001-01", "Tac Scan (1983) (Sega) [!]", "Uses the Paddle Controllers (right only)", "Uncommon", "", "", "", "", "", "YES", "PADDLES", "PADDLES", "YES", "", "", "215", "YES", "", "" }, { "d45ebf130ed9070ea8ebd56176e48a38", "Sega", "001-01", "Tac Scan (1983) (Sega) [!]", "Uses the Paddle Controllers (right only)", "Uncommon", "", "", "", "", "", "YES", "PADDLES", "PADDLES", "YES", "", "", "215", "YES", "", "" },
{ "d47387658ed450db77c3f189b969cc00", "Playaround", "", "Westward Ho (Playground) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d47387658ed450db77c3f189b969cc00", "Playaround", "", "Westward Ho (Playground) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "d4806775693fcaaa24cf00fc00edcdf3", "Atari", "CX26140", "Desert Falcon (1987) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "22", "", "", "", "" }, { "d4806775693fcaaa24cf00fc00edcdf3", "Atari", "CX26140", "Desert Falcon (1987) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "22", "", "", "", "" },
@ -2603,7 +2603,7 @@ static const char* DefProps[2722][21] = {
{ "f5aa6bd10f662199c42e43863a30106c", "", "", "Music Kit (V1.0) - Song Player (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "f5aa6bd10f662199c42e43863a30106c", "", "", "Music Kit (V1.0) - Song Player (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "f5d103a9ae36d1d4ee7eef657b75d2b3", "Starpath", "AR-4105", "Frogger Preview (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "31", "", "", "", "" }, { "f5d103a9ae36d1d4ee7eef657b75d2b3", "Starpath", "AR-4105", "Frogger Preview (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "31", "", "", "", "" },
{ "f613aad84d2163d6b197b220bfec1b7e", "", "", "X-Doom V.27 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f613aad84d2163d6b197b220bfec1b7e", "", "", "X-Doom V.27 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "f687ec4b69611a7f78bd69b8a567937a", "Activision", "AZ-028", "Robot Tank (1983) (Activision) (PAL) [!]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f687ec4b69611a7f78bd69b8a567937a", "Activision", "AZ-028", "Robot Tank (1983) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "f69a39b215852a0c2764d2a923c1e463", "", "", "Move a Blue Blob Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f69a39b215852a0c2764d2a923c1e463", "", "", "Move a Blue Blob Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "f69bb58b815a6bdca548fa4d5e0d5a75", "Atari", "", "Bowling (32-in-1) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f69bb58b815a6bdca548fa4d5e0d5a75", "Atari", "", "Bowling (32-in-1) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "f69d4fcf76942fcd9bdf3fd8fde790fb", "CCE", "", "Aquaventure (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, { "f69d4fcf76942fcd9bdf3fd8fde790fb", "CCE", "", "Aquaventure (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" },
@ -2684,7 +2684,7 @@ static const char* DefProps[2722][21] = {
{ "fb91da78455d9b1606913fbf8c859772", "", "", "Split Screen (Ballblazer) Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fb91da78455d9b1606913fbf8c859772", "", "", "Split Screen (Ballblazer) Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "fb91dfc36cddaa54b09924ae8fd96199", "", "", "Frogger II - Threedeep! (1984) (Parker Bros) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "fb91dfc36cddaa54b09924ae8fd96199", "", "", "Frogger II - Threedeep! (1984) (Parker Bros) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" },
{ "fbac6476e7b2b20d246202af81662c88", "Starpath", "AR-4400", "Dragonstomper Preview (1982) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fbac6476e7b2b20d246202af81662c88", "Starpath", "AR-4400", "Dragonstomper Preview (1982) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "fbb0151ea2108e33b2dbaae14a1831dd", "Activision / Thomas Jentzsch", "", "Robot Tank TV by Thomas Jentzsch (2 Joystick Hack)", "Uses two simultaneous Joystick Controllers, Hack of Robot Tank (Activision)", "New Release (Hack)", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fbb0151ea2108e33b2dbaae14a1831dd", "Activision / Thomas Jentzsch", "", "Robot Tank TV by Thomas Jentzsch (2 Joystick Hack)", "Uses two simultaneous Joystick Controllers, Hack of Robot Tank (Activision)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "fbb4f3debf48dc961b559384467f2057", "", "", "River Raid III (1985) (Digitel-Brazil) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fbb4f3debf48dc961b559384467f2057", "", "", "River Raid III (1985) (Digitel-Brazil) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "fbd6102e17a5c02c6e1911381b7203f9", "", "", "Star Fire - Warping!! (10-04-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fbd6102e17a5c02c6e1911381b7203f9", "", "", "Star Fire - Warping!! (10-04-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" },
{ "fbe554aa8f759226d251ba6b64a9cce4", "Atari", "CX2681", "Battlezone (1983) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, { "fbe554aa8f759226d251ba6b64a9cce4", "Atari", "CX2681", "Battlezone (1983) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" },

View File

@ -1370,7 +1370,6 @@
"Cartridge.MD5" "14d365bbfaac3d20c6119591f57acca4" "Cartridge.MD5" "14d365bbfaac3d20c6119591f57acca4"
"Cartridge.Name" "Video Life (CommaVid) [h1]" "Cartridge.Name" "Video Life (CommaVid) [h1]"
"Cartridge.Type" "CV"
"Display.Phosphor" "YES" "Display.Phosphor" "YES"
"" ""
@ -4677,7 +4676,6 @@
"Cartridge.Manufacturer" "CommaVid" "Cartridge.Manufacturer" "CommaVid"
"Cartridge.Name" "Video Life (CommaVid)" "Cartridge.Name" "Video Life (CommaVid)"
"Cartridge.Rarity" "Extremely Rare" "Cartridge.Rarity" "Extremely Rare"
"Cartridge.Type" "CV"
"Display.Phosphor" "YES" "Display.Phosphor" "YES"
"" ""
@ -5017,7 +5015,6 @@
"Cartridge.ModelNo" "AZ-028" "Cartridge.ModelNo" "AZ-028"
"Cartridge.Name" "Robot Tank (1983) (Activision) [!]" "Cartridge.Name" "Robot Tank (1983) (Activision) [!]"
"Cartridge.Rarity" "Rare" "Cartridge.Rarity" "Rare"
"Cartridge.Type" "FE"
"" ""
"Cartridge.MD5" "4f2d47792a06da224ba996c489a87939" "Cartridge.MD5" "4f2d47792a06da224ba996c489a87939"
@ -5047,7 +5044,6 @@
"Cartridge.ModelNo" "AZ-033" "Cartridge.ModelNo" "AZ-033"
"Cartridge.Name" "Space Shuttle - Journey Into Space (1983) (Activision) (PAL) [!]" "Cartridge.Name" "Space Shuttle - Journey Into Space (1983) (Activision) (PAL) [!]"
"Cartridge.Rarity" "Rare" "Cartridge.Rarity" "Rare"
"Cartridge.Type" "FE"
"" ""
"Cartridge.MD5" "4f82d8d78099dd71e8e169646e799d05" "Cartridge.MD5" "4f82d8d78099dd71e8e169646e799d05"
@ -7470,7 +7466,7 @@
"" ""
"Cartridge.MD5" "76f66ce3b83d7a104a899b4b3354a2f2" "Cartridge.MD5" "76f66ce3b83d7a104a899b4b3354a2f2"
"Cartridge.Manufacturer" "UA" "Cartridge.Manufacturer" "UA Limited"
"Cartridge.Name" "Cat Trax (1983) (UA)" "Cartridge.Name" "Cat Trax (1983) (UA)"
"Display.YStart" "30" "Display.YStart" "30"
"Display.Phosphor" "YES" "Display.Phosphor" "YES"
@ -8549,7 +8545,6 @@
"Cartridge.ModelNo" "AZ-030" "Cartridge.ModelNo" "AZ-030"
"Cartridge.Name" "Decathlon (1983) (Activision) (PAL) [!]" "Cartridge.Name" "Decathlon (1983) (Activision) (PAL) [!]"
"Cartridge.Rarity" "Rare" "Cartridge.Rarity" "Rare"
"Cartridge.Type" "FE"
"" ""
"Cartridge.MD5" "87e79cd41ce136fd4f72cc6e2c161bee" "Cartridge.MD5" "87e79cd41ce136fd4f72cc6e2c161bee"
@ -8780,7 +8775,6 @@
"Cartridge.Manufacturer" "UA Limited" "Cartridge.Manufacturer" "UA Limited"
"Cartridge.Name" "Pleiades (UA Limited)" "Cartridge.Name" "Pleiades (UA Limited)"
"Cartridge.Rarity" "Prototype" "Cartridge.Rarity" "Prototype"
"Cartridge.Type" "UA"
"Display.Phosphor" "YES" "Display.Phosphor" "YES"
"" ""
@ -9739,7 +9733,7 @@
"" ""
"Cartridge.MD5" "9f59eddf9ba91a7d93bce7ee4b7693bc" "Cartridge.MD5" "9f59eddf9ba91a7d93bce7ee4b7693bc"
"Cartridge.Name" "Montezuma's Revenge - Starring Panama Joe (PAL by Thomas Jentzsch).a26" "Cartridge.Name" "Montezuma's Revenge - Starring Panama Joe (PAL60 by Thomas Jentzsch).a26"
"Display.Format" "PAL60" "Display.Format" "PAL60"
"" ""
@ -10630,7 +10624,6 @@
"Cartridge.ModelNo" "AZ-030" "Cartridge.ModelNo" "AZ-030"
"Cartridge.Name" "Decathlon (1983) (Activision) [!]" "Cartridge.Name" "Decathlon (1983) (Activision) [!]"
"Cartridge.Rarity" "Rare" "Cartridge.Rarity" "Rare"
"Cartridge.Type" "FE"
"" ""
"Cartridge.MD5" "ac5f78bae0638cf3f2a0c8d07eb4df69" "Cartridge.MD5" "ac5f78bae0638cf3f2a0c8d07eb4df69"
@ -11745,7 +11738,6 @@
"Cartridge.Manufacturer" "Activision" "Cartridge.Manufacturer" "Activision"
"Cartridge.Name" "Thwocker (Activision) (Prototype) [!]" "Cartridge.Name" "Thwocker (Activision) (Prototype) [!]"
"Cartridge.Rarity" "Prototype" "Cartridge.Rarity" "Prototype"
"Cartridge.Type" "FE"
"" ""
"Cartridge.MD5" "c126656df6badfa519cc63e681fb3596" "Cartridge.MD5" "c126656df6badfa519cc63e681fb3596"
@ -12359,7 +12351,6 @@
"Cartridge.ModelNo" "AZ-028" "Cartridge.ModelNo" "AZ-028"
"Cartridge.Name" "Robot Tank (1983) (Activision) (PAL) [b1]" "Cartridge.Name" "Robot Tank (1983) (Activision) (PAL) [b1]"
"Cartridge.Rarity" "Rare" "Cartridge.Rarity" "Rare"
"Cartridge.Type" "FE"
"" ""
"Cartridge.MD5" "cad982c9b45bc5eff34e4ea982d5f1ca" "Cartridge.MD5" "cad982c9b45bc5eff34e4ea982d5f1ca"
@ -12596,7 +12587,6 @@
"Cartridge.Manufacturer" "CommaVid" "Cartridge.Manufacturer" "CommaVid"
"Cartridge.Name" "Magicard (CommaVid)" "Cartridge.Name" "Magicard (CommaVid)"
"Cartridge.Note" "Uses Keypad Controllers" "Cartridge.Note" "Uses Keypad Controllers"
"Cartridge.Type" "CV"
"Controller.Left" "KEYBOARD" "Controller.Left" "KEYBOARD"
"Controller.Right" "KEYBOARD" "Controller.Right" "KEYBOARD"
"Display.YStart" "24" "Display.YStart" "24"
@ -12993,7 +12983,6 @@
"Cartridge.Manufacturer" "UA Limited" "Cartridge.Manufacturer" "UA Limited"
"Cartridge.Name" "Funky Fish (UA Limited)" "Cartridge.Name" "Funky Fish (UA Limited)"
"Cartridge.Rarity" "Prototype" "Cartridge.Rarity" "Prototype"
"Cartridge.Type" "UA"
"Display.YStart" "38" "Display.YStart" "38"
"Display.Phosphor" "YES" "Display.Phosphor" "YES"
"" ""
@ -15189,7 +15178,6 @@
"Cartridge.ModelNo" "AZ-028" "Cartridge.ModelNo" "AZ-028"
"Cartridge.Name" "Robot Tank (1983) (Activision) (PAL) [!]" "Cartridge.Name" "Robot Tank (1983) (Activision) (PAL) [!]"
"Cartridge.Rarity" "Rare" "Cartridge.Rarity" "Rare"
"Cartridge.Type" "FE"
"" ""
"Cartridge.MD5" "f613aad84d2163d6b197b220bfec1b7e" "Cartridge.MD5" "f613aad84d2163d6b197b220bfec1b7e"
@ -15661,7 +15649,6 @@
"Cartridge.Name" "Robot Tank TV by Thomas Jentzsch (2 Joystick Hack)" "Cartridge.Name" "Robot Tank TV by Thomas Jentzsch (2 Joystick Hack)"
"Cartridge.Note" "Uses two simultaneous Joystick Controllers, Hack of Robot Tank (Activision)" "Cartridge.Note" "Uses two simultaneous Joystick Controllers, Hack of Robot Tank (Activision)"
"Cartridge.Rarity" "New Release (Hack)" "Cartridge.Rarity" "New Release (Hack)"
"Cartridge.Type" "FE"
"" ""
"Cartridge.MD5" "fbd6102e17a5c02c6e1911381b7203f9" "Cartridge.MD5" "fbd6102e17a5c02c6e1911381b7203f9"