From 12a55685a1c25e13aaae8156544364cf75eb2e3a Mon Sep 17 00:00:00 2001 From: stephena Date: Sun, 14 Jan 2007 16:17:57 +0000 Subject: [PATCH] Some cleanups and code reorganization to the Cart classes, adding comments, etc. Added stub for Cart0840 bankswitching. The code is mostly ready; I'm just waiting for the go-ahead to release it. Updated ROM properties for those ROMs affected by the keypad fixes in the last commit. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1279 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- stella/src/emucore/Cart.cxx | 77 +- stella/src/emucore/Cart.hxx | 68 +- stella/src/emucore/Cart0840.cxx | 103 +++ stella/src/emucore/Cart0840.hxx | 140 +++ stella/src/emucore/Cart2K.cxx | 48 +- stella/src/emucore/Cart2K.hxx | 43 +- stella/src/emucore/Cart3E.cxx | 150 +-- stella/src/emucore/Cart3E.hxx | 54 +- stella/src/emucore/Cart3F.cxx | 124 +-- stella/src/emucore/Cart3F.hxx | 58 +- stella/src/emucore/Cart4A50.cxx | 116 +-- stella/src/emucore/Cart4A50.hxx | 45 +- stella/src/emucore/Cart4K.cxx | 48 +- stella/src/emucore/Cart4K.hxx | 43 +- stella/src/emucore/CartAR.cxx | 70 +- stella/src/emucore/CartAR.hxx | 58 +- stella/src/emucore/CartCV.cxx | 45 +- stella/src/emucore/CartCV.hxx | 43 +- stella/src/emucore/CartDPC.cxx | 95 +- stella/src/emucore/CartDPC.hxx | 53 +- stella/src/emucore/CartE0.cxx | 50 +- stella/src/emucore/CartE0.hxx | 44 +- stella/src/emucore/CartE7.cxx | 153 ++-- stella/src/emucore/CartE7.hxx | 54 +- stella/src/emucore/CartF4.cxx | 102 ++- stella/src/emucore/CartF4.hxx | 55 +- stella/src/emucore/CartF4SC.cxx | 103 ++- stella/src/emucore/CartF4SC.hxx | 54 +- stella/src/emucore/CartF6.cxx | 123 +-- stella/src/emucore/CartF6.hxx | 54 +- stella/src/emucore/CartF6SC.cxx | 103 ++- stella/src/emucore/CartF6SC.hxx | 54 +- stella/src/emucore/CartF8.cxx | 132 +-- stella/src/emucore/CartF8.hxx | 53 +- stella/src/emucore/CartF8SC.cxx | 100 +- stella/src/emucore/CartF8SC.hxx | 55 +- stella/src/emucore/CartFASC.cxx | 103 ++- stella/src/emucore/CartFASC.hxx | 54 +- stella/src/emucore/CartFE.cxx | 48 +- stella/src/emucore/CartFE.hxx | 44 +- stella/src/emucore/CartMB.cxx | 68 +- stella/src/emucore/CartMB.hxx | 50 +- stella/src/emucore/CartMC.cxx | 51 +- stella/src/emucore/CartMC.hxx | 43 +- stella/src/emucore/CartUA.cxx | 126 +-- stella/src/emucore/CartUA.hxx | 55 +- stella/src/emucore/DefProps.hxx | 1106 +++++++++++------------ stella/src/emucore/m6502/src/Device.hxx | 6 +- stella/src/emucore/module.mk | 1 + stella/src/emucore/stella.pro | 66 +- 50 files changed, 2754 insertions(+), 1837 deletions(-) create mode 100644 stella/src/emucore/Cart0840.cxx create mode 100644 stella/src/emucore/Cart0840.hxx diff --git a/stella/src/emucore/Cart.cxx b/stella/src/emucore/Cart.cxx index f09333d85..38aedb2da 100644 --- a/stella/src/emucore/Cart.cxx +++ b/stella/src/emucore/Cart.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart.cxx,v 1.30 2007-01-07 01:26:52 stephena Exp $ +// $Id: Cart.cxx,v 1.31 2007-01-14 16:17:51 stephena Exp $ //============================================================================ #include @@ -21,6 +21,7 @@ #include "bspf.hxx" #include "Cart.hxx" +#include "Cart0840.hxx" #include "Cart2K.hxx" #include "Cart3E.hxx" #include "Cart3F.hxx" @@ -130,6 +131,8 @@ Cartridge* Cartridge::create(const uInt8* image, uInt32 size, cartridge = new CartridgeCV(image, size); else if(type == "UA") cartridge = new CartridgeUA(image); + else if(type == "0840") + cartridge = new Cartridge0840(image); else cerr << "ERROR: Invalid cartridge type " << type << " ..." << endl; @@ -147,6 +150,24 @@ Cartridge::~Cartridge() { } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool Cartridge::save(ofstream& out) +{ + int size = -1; + + uInt8* image = getImage(size); + if(image == 0 || size <= 0) + { + cerr << "save not supported" << endl; + return false; + } + + for(int i=0; i 0 || count2 > 0); } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// default implementations of bankswitching-related methods. -// These are suitable to be inherited by a cart type that -// doesn't support bankswitching at all. - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Cartridge::bank(uInt16 b) -{ - // do nothing. -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Cartridge::bank() -{ - return 0; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Cartridge::bankCount() -{ - return 1; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge::patch(uInt16 address, uInt8 value) -{ - return false; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge::save(ofstream& out) -{ - int size = -1; - - uInt8* image = getImage(size); - if(image == 0 || size <= 0) - { - cerr << "save not supported" << endl; - return false; - } - - for(int i=0; i + +#include "System.hxx" +#include "Serializer.hxx" +#include "Deserializer.hxx" +#include "Cart0840.hxx" + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Cartridge0840::Cartridge0840(const uInt8* image) +{ +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Cartridge0840::~Cartridge0840() +{ +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +const char* Cartridge0840::name() const +{ + return "Cartridge0840"; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void Cartridge0840::reset() +{ +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void Cartridge0840::install(System& system) +{ +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8 Cartridge0840::peek(uInt16 address) +{ + return 0; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void Cartridge0840::poke(uInt16 address, uInt8 value) +{ +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool Cartridge0840::save(Serializer& out) +{ + return false; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool Cartridge0840::load(Deserializer& in) +{ + return false; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void Cartridge0840::bank(uInt16 bank) +{ +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int Cartridge0840::bank() +{ + return 0; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int Cartridge0840::bankCount() +{ + return 1; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool Cartridge0840::patch(uInt16 address, uInt8 value) +{ + return false; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* Cartridge0840::getImage(int& size) +{ + size = 0; + return 0; +} diff --git a/stella/src/emucore/Cart0840.hxx b/stella/src/emucore/Cart0840.hxx new file mode 100644 index 000000000..f6f185a40 --- /dev/null +++ b/stella/src/emucore/Cart0840.hxx @@ -0,0 +1,140 @@ +//============================================================================ +// +// SSSS tt lll lll +// SS SS tt ll ll +// SS tttttt eeee ll ll aaaa +// SSSS tt ee ee ll ll aa +// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" +// SS SS tt ee ll ll aa aa +// SSSS ttt eeeee llll llll aaaaa +// +// Copyright (c) 1995-2007 by Bradford W. Mott and the Stella team +// +// See the file "license" for information on usage and redistribution of +// this file, and for a DISCLAIMER OF ALL WARRANTIES. +// +// $Id: Cart0840.hxx,v 1.0 2006/11/14 +//============================================================================ + +#ifndef CARTRIDGE0840_HXX +#define CARTRIDGE0840_HXX + +class System; +class Serializer; +class Deserializer; + +#include "bspf.hxx" +#include "Cart.hxx" + +/** + Cartridge class used for 0840 "Econobanking" 8K bankswitched games. There + are two 4K banks. + + @author Fred X. Quimby +*/ +class Cartridge0840 : public Cartridge +{ + public: + /** + Create a new cartridge using the specified image + + @param image Pointer to the ROM image + */ + Cartridge0840(const uInt8* image); + + /** + Destructor + */ + virtual ~Cartridge0840(); + + public: + /** + Get a null terminated string which is the device's name (i.e. "M6532") + + @return The name of the device + */ + virtual const char* name() const; + + /** + Reset device to its power-on state + */ + virtual void reset(); + + /** + Install cartridge in the specified system. Invoked by the system + when the cartridge is attached to it. + + @param system The system the device should install itself in + */ + virtual void install(System& system); + + /** + Saves the current state of this device to the given Serializer. + + @param out The serializer device to save to. + @return The result of the save. True on success, false on failure. + */ + virtual bool save(Serializer& out); + + /** + Loads the current state of this device from the given Deserializer. + + @param in The deserializer device to load from. + @return The result of the load. True on success, false on failure. + */ + virtual bool load(Deserializer& in); + + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ + virtual uInt8* getImage(int& size); + + public: + /** + Get the byte at the specified address. + + @return The byte at the specified address + */ + virtual uInt8 peek(uInt16 address); + + /** + Change the byte at the specified address to the given value + + @param address The address where the value should be stored + @param value The value to be stored at the address + */ + virtual void poke(uInt16 address, uInt8 value); +}; + +#endif diff --git a/stella/src/emucore/Cart2K.cxx b/stella/src/emucore/Cart2K.cxx index 7c345164a..023e120e6 100644 --- a/stella/src/emucore/Cart2K.cxx +++ b/stella/src/emucore/Cart2K.cxx @@ -13,15 +13,15 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart2K.cxx,v 1.8 2007-01-01 18:04:45 stephena Exp $ +// $Id: Cart2K.cxx,v 1.9 2007-01-14 16:17:52 stephena Exp $ //============================================================================ -#include -#include "Cart2K.hxx" +#include + #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "Cart2K.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cartridge2K::Cartridge2K(const uInt8* image) @@ -83,13 +83,6 @@ void Cartridge2K::poke(uInt16, uInt8) // This is ROM so poking has no effect :-) } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge2K::patch(uInt16 address, uInt8 value) -{ - myImage[address & 0x07FF] = value; - return true; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool Cartridge2K::save(Serializer& out) { @@ -99,7 +92,7 @@ bool Cartridge2K::save(Serializer& out) { out.putString(cart); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -123,7 +116,7 @@ bool Cartridge2K::load(Deserializer& in) if(in.getString() != cart) return false; } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -138,7 +131,34 @@ bool Cartridge2K::load(Deserializer& in) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* Cartridge2K::getImage(int& size) { +void Cartridge2K::bank(uInt16 bank) +{ + // Doesn't support bankswitching +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int Cartridge2K::bank() +{ + // Doesn't support bankswitching + return 0; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int Cartridge2K::bankCount() +{ + return 1; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool Cartridge2K::patch(uInt16 address, uInt8 value) +{ + myImage[address & 0x07FF] = value; + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* Cartridge2K::getImage(int& size) +{ size = 2048; return &myImage[0]; } diff --git a/stella/src/emucore/Cart2K.hxx b/stella/src/emucore/Cart2K.hxx index a82753e7d..33112cf03 100644 --- a/stella/src/emucore/Cart2K.hxx +++ b/stella/src/emucore/Cart2K.hxx @@ -13,13 +13,12 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart2K.hxx,v 1.8 2007-01-01 18:04:45 stephena Exp $ +// $Id: Cart2K.hxx,v 1.9 2007-01-14 16:17:52 stephena Exp $ //============================================================================ #ifndef CARTRIDGE2K_HXX #define CARTRIDGE2K_HXX -class Cartridge2K; class System; class Serializer; class Deserializer; @@ -33,7 +32,7 @@ class Deserializer; 2600's 4K cartridge addressing space. @author Bradford W. Mott - @version $Id: Cart2K.hxx,v 1.8 2007-01-01 18:04:45 stephena Exp $ + @version $Id: Cart2K.hxx,v 1.9 2007-01-14 16:17:52 stephena Exp $ */ class Cartridge2K : public Cartridge { @@ -87,6 +86,40 @@ class Cartridge2K : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -105,11 +138,9 @@ class Cartridge2K : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - private: // The 2k ROM image for the cartridge uInt8 myImage[2048]; }; -#endif +#endif diff --git a/stella/src/emucore/Cart3E.cxx b/stella/src/emucore/Cart3E.cxx index e956e8428..0a642be05 100644 --- a/stella/src/emucore/Cart3E.cxx +++ b/stella/src/emucore/Cart3E.cxx @@ -13,21 +13,21 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart3E.cxx,v 1.11 2007-01-01 18:04:45 stephena Exp $ +// $Id: Cart3E.cxx,v 1.12 2007-01-14 16:17:52 stephena Exp $ //============================================================================ -#include -#include "Cart3E.hxx" +#include + #include "Random.hxx" #include "System.hxx" #include "TIA.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "Cart3E.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cartridge3E::Cartridge3E(const uInt8* image, uInt32 size) - : mySize(size) + : mySize(size) { // Allocate array for the ROM image myImage = new uInt8[mySize]; @@ -142,22 +142,67 @@ void Cartridge3E::poke(uInt16 address, uInt8 value) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge3E::patch(uInt16 address, uInt8 value) +bool Cartridge3E::save(Serializer& out) { - address = address & 0x0FFF; - if(address < 0x0800) + string cart = name(); + + try { - if(myCurrentBank < 256) - myImage[(address & 0x07FF) + myCurrentBank * 2048] = value; - else - myRam[(address & 0x03FF) + (myCurrentBank - 256) * 1024] = value; + out.putString(cart); + out.putInt(myCurrentBank); + + // Output RAM + out.putInt(32768); + for(uInt32 addr = 0; addr < 32768; ++addr) + out.putInt(myRam[addr]); } - else + catch(const char* msg) { - myImage[(address & 0x07FF) + mySize - 2048] = value; + cerr << msg << endl; + return false; } + catch(...) + { + cerr << "Unknown error in save state for " << cart << endl; + return false; + } + return true; -} +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool Cartridge3E::load(Deserializer& in) +{ + string cart = name(); + + try + { + if(in.getString() != cart) + return false; + + myCurrentBank = (uInt16) in.getInt(); + + // Input RAM + uInt32 limit = (uInt32) in.getInt(); + for(uInt32 addr = 0; addr < limit; ++addr) + myRam[addr] = (uInt8) in.getInt(); + } + catch(const char* msg) + { + cerr << msg << endl; + return false; + } + catch(...) + { + cerr << "Unknown error in load state for " << cart << endl; + return false; + } + + // Now, go to the current bank + bank(myCurrentBank); + + return true; +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Cartridge3E::bank(uInt16 bank) @@ -227,81 +272,38 @@ void Cartridge3E::bank(uInt16 bank) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Cartridge3E::bank() { +int Cartridge3E::bank() +{ return myCurrentBank; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Cartridge3E::bankCount() { - return mySize/2048; -} - - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge3E::save(Serializer& out) +int Cartridge3E::bankCount() { - string cart = name(); - - try - { - out.putString(cart); - out.putInt(myCurrentBank); - - // Output RAM - out.putInt(32768); - for(uInt32 addr = 0; addr < 32768; ++addr) - out.putInt(myRam[addr]); - } - catch(char *msg) - { - cerr << msg << endl; - return false; - } - catch(...) - { - cerr << "Unknown error in save state for " << cart << endl; - return false; - } - - return true; + return mySize / 2048; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge3E::load(Deserializer& in) +bool Cartridge3E::patch(uInt16 address, uInt8 value) { - string cart = name(); - - try + address = address & 0x0FFF; + if(address < 0x0800) { - if(in.getString() != cart) - return false; - - myCurrentBank = (uInt16) in.getInt(); - - // Input RAM - uInt32 limit = (uInt32) in.getInt(); - for(uInt32 addr = 0; addr < limit; ++addr) - myRam[addr] = (uInt8) in.getInt(); + if(myCurrentBank < 256) + myImage[(address & 0x07FF) + myCurrentBank * 2048] = value; + else + myRam[(address & 0x03FF) + (myCurrentBank - 256) * 1024] = value; } - catch(char *msg) + else { - cerr << msg << endl; - return false; + myImage[(address & 0x07FF) + mySize - 2048] = value; } - catch(...) - { - cerr << "Unknown error in load state for " << cart << endl; - return false; - } - - // Now, go to the current bank - bank(myCurrentBank); - return true; -} +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* Cartridge3E::getImage(int& size) { +uInt8* Cartridge3E::getImage(int& size) +{ size = mySize; return &myImage[0]; } diff --git a/stella/src/emucore/Cart3E.hxx b/stella/src/emucore/Cart3E.hxx index e825da3c2..65aaac5e4 100644 --- a/stella/src/emucore/Cart3E.hxx +++ b/stella/src/emucore/Cart3E.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart3E.hxx,v 1.4 2007-01-01 18:04:45 stephena Exp $ +// $Id: Cart3E.hxx,v 1.5 2007-01-14 16:17:52 stephena Exp $ //============================================================================ #ifndef CARTRIDGE3E_HXX #define CARTRIDGE3E_HXX -class Cartridge3E; +class System; class Serializer; class Deserializer; @@ -59,7 +59,7 @@ class Deserializer; any problems. (Famous last words...) @author B. Watson - @version $Id: Cart3E.hxx,v 1.4 2007-01-01 18:04:45 stephena Exp $ + @version $Id: Cart3E.hxx,v 1.5 2007-01-14 16:17:52 stephena Exp $ */ class Cartridge3E : public Cartridge @@ -115,6 +115,40 @@ class Cartridge3E : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -133,18 +167,6 @@ class Cartridge3E : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Map the specified bank into the first segment - - @param bank The bank that should be mapped - */ - void bank(uInt16 bank); - - int bank(); - int bankCount(); - private: // Indicates which bank is currently active for the first segment uInt16 myCurrentBank; @@ -158,5 +180,5 @@ class Cartridge3E : public Cartridge // Size of the ROM image uInt32 mySize; }; -#endif +#endif diff --git a/stella/src/emucore/Cart3F.cxx b/stella/src/emucore/Cart3F.cxx index f83694783..c33c81a22 100644 --- a/stella/src/emucore/Cart3F.cxx +++ b/stella/src/emucore/Cart3F.cxx @@ -13,20 +13,20 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart3F.cxx,v 1.14 2007-01-01 18:04:45 stephena Exp $ +// $Id: Cart3F.cxx,v 1.15 2007-01-14 16:17:52 stephena Exp $ //============================================================================ -#include -#include "Cart3F.hxx" +#include + #include "System.hxx" #include "TIA.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "Cart3F.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cartridge3F::Cartridge3F(const uInt8* image, uInt32 size) - : mySize(size) + : mySize(size) { // Allocate array for the ROM image myImage = new uInt8[mySize]; @@ -123,19 +123,57 @@ void Cartridge3F::poke(uInt16 address, uInt8 value) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge3F::patch(uInt16 address, uInt8 value) +bool Cartridge3F::save(Serializer& out) { - address = address & 0x0FFF; - if(address < 0x0800) + string cart = name(); + + try { - myImage[(address & 0x07FF) + myCurrentBank * 2048] = value; + out.putString(cart); + out.putInt(myCurrentBank); } - else + catch(const char* msg) { - myImage[(address & 0x07FF) + mySize - 2048] = value; + cerr << msg << endl; + return false; } + catch(...) + { + cerr << "Unknown error in save state for " << cart << endl; + return false; + } + return true; -} +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool Cartridge3F::load(Deserializer& in) +{ + string cart = name(); + + try + { + if(in.getString() != cart) + return false; + + myCurrentBank = (uInt16) in.getInt(); + } + catch(const char* msg) + { + cerr << msg << endl; + return false; + } + catch(...) + { + cerr << "Unknown error in load state for " << cart << endl; + return false; + } + + // Now, go to the current bank + bank(myCurrentBank); + + return true; +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Cartridge3F::bank(uInt16 bank) @@ -171,71 +209,35 @@ void Cartridge3F::bank(uInt16 bank) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Cartridge3F::bank() { +int Cartridge3F::bank() +{ return myCurrentBank; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Cartridge3F::bankCount() { - return mySize/2048; -} - - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge3F::save(Serializer& out) +int Cartridge3F::bankCount() { - string cart = name(); - - try - { - out.putString(cart); - out.putInt(myCurrentBank); - } - catch(char *msg) - { - cerr << msg << endl; - return false; - } - catch(...) - { - cerr << "Unknown error in save state for " << cart << endl; - return false; - } - - return true; + return mySize / 2048; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge3F::load(Deserializer& in) +bool Cartridge3F::patch(uInt16 address, uInt8 value) { - string cart = name(); - - try + address = address & 0x0FFF; + if(address < 0x0800) { - if(in.getString() != cart) - return false; - - myCurrentBank = (uInt16) in.getInt(); + myImage[(address & 0x07FF) + myCurrentBank * 2048] = value; } - catch(char *msg) + else { - cerr << msg << endl; - return false; + myImage[(address & 0x07FF) + mySize - 2048] = value; } - catch(...) - { - cerr << "Unknown error in load state for " << cart << endl; - return false; - } - - // Now, go to the current bank - bank(myCurrentBank); - return true; -} +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* Cartridge3F::getImage(int& size) { +uInt8* Cartridge3F::getImage(int& size) +{ size = mySize; return &myImage[0]; } diff --git a/stella/src/emucore/Cart3F.hxx b/stella/src/emucore/Cart3F.hxx index 790403960..0ea401fcb 100644 --- a/stella/src/emucore/Cart3F.hxx +++ b/stella/src/emucore/Cart3F.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart3F.hxx,v 1.9 2007-01-01 18:04:45 stephena Exp $ +// $Id: Cart3F.hxx,v 1.10 2007-01-14 16:17:52 stephena Exp $ //============================================================================ #ifndef CARTRIDGE3F_HXX #define CARTRIDGE3F_HXX -class Cartridge3F; +class System; class Serializer; class Deserializer; @@ -37,7 +37,7 @@ class Deserializer; only used 8K this bankswitching scheme supports up to 512K. @author Bradford W. Mott - @version $Id: Cart3F.hxx,v 1.9 2007-01-01 18:04:45 stephena Exp $ + @version $Id: Cart3F.hxx,v 1.10 2007-01-14 16:17:52 stephena Exp $ */ class Cartridge3F : public Cartridge { @@ -92,6 +92,42 @@ class Cartridge3F : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address @@ -108,20 +144,6 @@ class Cartridge3F : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Map the specified bank into the first segment - - @param bank The bank that should be mapped - */ - void bank(uInt16 bank); - - int bank(); - int bankCount(); - - virtual uInt8* getImage(int& size); - private: // Indicates which bank is currently active for the first segment uInt16 myCurrentBank; @@ -132,5 +154,5 @@ class Cartridge3F : public Cartridge // Size of the ROM image uInt32 mySize; }; -#endif +#endif diff --git a/stella/src/emucore/Cart4A50.cxx b/stella/src/emucore/Cart4A50.cxx index 5d6b18af2..c381cf081 100644 --- a/stella/src/emucore/Cart4A50.cxx +++ b/stella/src/emucore/Cart4A50.cxx @@ -13,27 +13,19 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart4A50.cxx,v 1.3 2007-01-01 18:04:45 stephena Exp $ +// $Id: Cart4A50.cxx,v 1.4 2007-01-14 16:17:52 stephena Exp $ //============================================================================ -#include -#include "Cart4A50.hxx" +#include + #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "Cart4A50.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cartridge4A50::Cartridge4A50(const uInt8* image) { -cerr << "Cartridge4A50 ctor\n"; -/* - // Copy the ROM image into my buffer - for(uInt32 addr = 0; addr < 4096; ++addr) - { - myImage[addr] = image[addr]; - } -*/ } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -55,31 +47,12 @@ void Cartridge4A50::reset() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Cartridge4A50::install(System& system) { -/* - mySystem = &system; - uInt16 shift = mySystem->pageShift(); - uInt16 mask = mySystem->pageMask(); - - // Make sure the system we're being installed in has a page size that'll work - assert((0x1000 & mask) == 0); - - System::PageAccess access; - access.directPokeBase = 0; - access.device = this; - - // Map ROM image into the system - for(uInt32 address = 0x1000; address < 0x2000; address += (1 << shift)) - { - access.directPeekBase = &myImage[address & 0x0FFF]; - mySystem->setPageAccess(address >> mySystem->pageShift(), access); - } -*/ } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt8 Cartridge4A50::peek(uInt16 address) { - return 0; // myImage[address & 0x0FFF]; + return 0; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -87,71 +60,44 @@ void Cartridge4A50::poke(uInt16, uInt8) { } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge4A50::patch(uInt16 address, uInt8 value) -{ - return false; -/* - myImage[address & 0x0FFF] = value; - return true; -*/ -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool Cartridge4A50::save(Serializer& out) { -/* - string cart = name(); - - try - { - out.putString(cart); - } - catch(char *msg) - { - cerr << msg << endl; - return false; - } - catch(...) - { - cerr << "Unknown error in save state for " << cart << endl; - return false; - } -*/ - return true; + return false; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool Cartridge4A50::load(Deserializer& in) { -/* - string cart = name(); - - try - { - if(in.getString() != cart) - return false; - } - catch(char *msg) - { - cerr << msg << endl; - return false; - } - catch(...) - { - cerr << "Unknown error in load state for " << cart << endl; - return false; - } -*/ - return true; + return false; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void Cartridge4A50::bank(uInt16 b) +{ +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int Cartridge4A50::bank() +{ + return 0; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int Cartridge4A50::bankCount() +{ + return 1; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool Cartridge4A50::patch(uInt16 address, uInt8 value) +{ + return false; +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt8* Cartridge4A50::getImage(int& size) { -/* - size = 4096; - return &myImage[0]; -*/ + size = 0; return 0; } diff --git a/stella/src/emucore/Cart4A50.hxx b/stella/src/emucore/Cart4A50.hxx index 91ee4c39f..32652d4aa 100644 --- a/stella/src/emucore/Cart4A50.hxx +++ b/stella/src/emucore/Cart4A50.hxx @@ -13,13 +13,12 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart4A50.hxx,v 1.4 2007-01-01 18:04:45 stephena Exp $ +// $Id: Cart4A50.hxx,v 1.5 2007-01-14 16:17:52 stephena Exp $ //============================================================================ #ifndef CARTRIDGE4A50_HXX #define CARTRIDGE4A50_HXX -class Cartridge4A50; class System; class Serializer; class Deserializer; @@ -32,7 +31,7 @@ class Deserializer; not bankswitched. @author Bradford W. Mott - @version $Id: Cart4A50.hxx,v 1.4 2007-01-01 18:04:45 stephena Exp $ + @version $Id: Cart4A50.hxx,v 1.5 2007-01-14 16:17:52 stephena Exp $ */ class Cartridge4A50 : public Cartridge { @@ -86,6 +85,40 @@ class Cartridge4A50 : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -103,12 +136,6 @@ class Cartridge4A50 : public Cartridge @param value The value to be stored at the address */ virtual void poke(uInt16 address, uInt8 value); - - bool patch(uInt16 address, uInt8 value); - - private: - // The 4K ROM image for the cartridge -// uInt8 myImage[4096]; }; #endif diff --git a/stella/src/emucore/Cart4K.cxx b/stella/src/emucore/Cart4K.cxx index 0a6f270bd..32a6cf257 100644 --- a/stella/src/emucore/Cart4K.cxx +++ b/stella/src/emucore/Cart4K.cxx @@ -13,15 +13,15 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart4K.cxx,v 1.9 2007-01-01 18:04:45 stephena Exp $ +// $Id: Cart4K.cxx,v 1.10 2007-01-14 16:17:52 stephena Exp $ //============================================================================ -#include -#include "Cart4K.hxx" +#include + #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "Cart4K.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cartridge4K::Cartridge4K(const uInt8* image) @@ -83,13 +83,6 @@ void Cartridge4K::poke(uInt16, uInt8) // This is ROM so poking has no effect :-) } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool Cartridge4K::patch(uInt16 address, uInt8 value) -{ - myImage[address & 0x0FFF] = value; - return true; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool Cartridge4K::save(Serializer& out) { @@ -99,7 +92,7 @@ bool Cartridge4K::save(Serializer& out) { out.putString(cart); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -123,7 +116,7 @@ bool Cartridge4K::load(Deserializer& in) if(in.getString() != cart) return false; } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -138,7 +131,34 @@ bool Cartridge4K::load(Deserializer& in) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* Cartridge4K::getImage(int& size) { +void Cartridge4K::bank(uInt16 bank) +{ + // Doesn't support bankswitching +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int Cartridge4K::bank() +{ + // Doesn't support bankswitching + return 0; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int Cartridge4K::bankCount() +{ + return 1; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool Cartridge4K::patch(uInt16 address, uInt8 value) +{ + myImage[address & 0x0FFF] = value; + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* Cartridge4K::getImage(int& size) +{ size = 4096; return &myImage[0]; } diff --git a/stella/src/emucore/Cart4K.hxx b/stella/src/emucore/Cart4K.hxx index c343a71b0..7417f0d76 100644 --- a/stella/src/emucore/Cart4K.hxx +++ b/stella/src/emucore/Cart4K.hxx @@ -13,13 +13,12 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Cart4K.hxx,v 1.8 2007-01-01 18:04:45 stephena Exp $ +// $Id: Cart4K.hxx,v 1.9 2007-01-14 16:17:53 stephena Exp $ //============================================================================ #ifndef CARTRIDGE4K_HXX #define CARTRIDGE4K_HXX -class Cartridge4K; class System; class Serializer; class Deserializer; @@ -32,7 +31,7 @@ class Deserializer; not bankswitched. @author Bradford W. Mott - @version $Id: Cart4K.hxx,v 1.8 2007-01-01 18:04:45 stephena Exp $ + @version $Id: Cart4K.hxx,v 1.9 2007-01-14 16:17:53 stephena Exp $ */ class Cartridge4K : public Cartridge { @@ -86,6 +85,40 @@ class Cartridge4K : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -104,11 +137,9 @@ class Cartridge4K : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - private: // The 4K ROM image for the cartridge uInt8 myImage[4096]; }; -#endif +#endif diff --git a/stella/src/emucore/CartAR.cxx b/stella/src/emucore/CartAR.cxx index 7bcf78426..0bb31058d 100644 --- a/stella/src/emucore/CartAR.cxx +++ b/stella/src/emucore/CartAR.cxx @@ -13,22 +13,21 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartAR.cxx,v 1.17 2007-01-01 18:04:45 stephena Exp $ +// $Id: CartAR.cxx,v 1.18 2007-01-14 16:17:53 stephena Exp $ //============================================================================ -#include -#include -#include "CartAR.hxx" +#include + #include "M6502Hi.hxx" #include "Random.hxx" #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartAR.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeAR::CartridgeAR(const uInt8* image, uInt32 size, bool fastbios) - : my6502(0) + : my6502(0) { uInt32 i; @@ -197,13 +196,6 @@ void CartridgeAR::poke(uInt16 addr, uInt8) } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeAR::patch(uInt16 address, uInt8 value) -{ - // myImage[address & 0x0FFF] = value; - return false; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeAR::bankConfiguration(uInt8 configuration) { @@ -297,27 +289,6 @@ void CartridgeAR::bankConfiguration(uInt8 configuration) } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeAR::bank(uInt16 b) -{ - if(bankLocked) - return; - - bankConfiguration(b); -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeAR::bank() -{ - return myCurrentBank; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeAR::bankCount() -{ - return 32; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeAR::initializeROM(bool fastbios) { @@ -510,7 +481,7 @@ bool CartridgeAR::save(Serializer& out) // Indicates if a write is pending or not out.putBool(myWritePending); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -578,7 +549,7 @@ bool CartridgeAR::load(Deserializer& in) // Indicates if a write is pending or not myWritePending = in.getBool(); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -592,6 +563,33 @@ bool CartridgeAR::load(Deserializer& in) return true; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void CartridgeAR::bank(uInt16 bank) +{ + if(bankLocked) return; + + bankConfiguration(bank); +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeAR::bank() +{ + return myCurrentBank; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeAR::bankCount() +{ + return 32; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeAR::patch(uInt16 address, uInt8 value) +{ + // myImage[address & 0x0FFF] = value; + return false; +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt8* CartridgeAR::getImage(int& size) { diff --git a/stella/src/emucore/CartAR.hxx b/stella/src/emucore/CartAR.hxx index e44a9931e..f16c66fde 100644 --- a/stella/src/emucore/CartAR.hxx +++ b/stella/src/emucore/CartAR.hxx @@ -13,14 +13,14 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartAR.hxx,v 1.11 2007-01-01 18:04:45 stephena Exp $ +// $Id: CartAR.hxx,v 1.12 2007-01-14 16:17:53 stephena Exp $ //============================================================================ #ifndef CARTRIDGEAR_HXX #define CARTRIDGEAR_HXX -class CartridgeAR; class M6502High; +class System; class Serializer; class Deserializer; @@ -37,7 +37,7 @@ class Deserializer; and one bank of ROM. All 6K of the RAM can be read and written. @author Bradford W. Mott - @version $Id: CartAR.hxx,v 1.11 2007-01-01 18:04:45 stephena Exp $ + @version $Id: CartAR.hxx,v 1.12 2007-01-14 16:17:53 stephena Exp $ */ class CartridgeAR : public Cartridge { @@ -100,6 +100,42 @@ class CartridgeAR : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address @@ -116,20 +152,6 @@ class CartridgeAR : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Install pages for the specified bank in the system - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - - int bank(); - int bankCount(); - - virtual uInt8* getImage(int& size); - private: // Handle a change to the bank configuration void bankConfiguration(uInt8 configuration); @@ -182,5 +204,5 @@ class CartridgeAR : public Cartridge uInt16 myCurrentBank; }; -#endif +#endif diff --git a/stella/src/emucore/CartCV.cxx b/stella/src/emucore/CartCV.cxx index 23a88ad44..0c4195ae9 100644 --- a/stella/src/emucore/CartCV.cxx +++ b/stella/src/emucore/CartCV.cxx @@ -13,16 +13,16 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartCV.cxx,v 1.13 2007-01-01 18:04:45 stephena Exp $ +// $Id: CartCV.cxx,v 1.14 2007-01-14 16:17:53 stephena Exp $ //============================================================================ -#include -#include "CartCV.hxx" +#include + #include "Random.hxx" #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartCV.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeCV::CartridgeCV(const uInt8* image, uInt32 size) @@ -131,13 +131,6 @@ void CartridgeCV::poke(uInt16, uInt8) // This is ROM so poking has no effect :-) } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeCV::patch(uInt16 address, uInt8 value) -{ - myImage[address & 0x07FF] = value; - return true; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeCV::save(Serializer& out) { @@ -152,7 +145,7 @@ bool CartridgeCV::save(Serializer& out) for(uInt32 addr = 0; addr < 1024; ++addr) out.putInt(myRAM[addr]); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -181,7 +174,7 @@ bool CartridgeCV::load(Deserializer& in) for(uInt32 addr = 0; addr < limit; ++addr) myRAM[addr] = (uInt8) in.getInt(); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -195,6 +188,32 @@ bool CartridgeCV::load(Deserializer& in) return true; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void CartridgeCV::bank(uInt16 bank) +{ + // Doesn't support bankswitching +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeCV::bank() +{ + // Doesn't support bankswitching + return 0; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeCV::bankCount() +{ + return 1; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeCV::patch(uInt16 address, uInt8 value) +{ + myImage[address & 0x07FF] = value; + return true; +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt8* CartridgeCV::getImage(int& size) { diff --git a/stella/src/emucore/CartCV.hxx b/stella/src/emucore/CartCV.hxx index 6c6d94f41..3f8f7a245 100644 --- a/stella/src/emucore/CartCV.hxx +++ b/stella/src/emucore/CartCV.hxx @@ -13,13 +13,12 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartCV.hxx,v 1.8 2007-01-01 18:04:45 stephena Exp $ +// $Id: CartCV.hxx,v 1.9 2007-01-14 16:17:53 stephena Exp $ //============================================================================ #ifndef CARTRIDGECV_HXX #define CARTRIDGECV_HXX -class CartridgeCV; class System; class Serializer; class Deserializer; @@ -35,7 +34,7 @@ class Deserializer; $F800-$FFFF ROM @author Eckhard Stolberg - @version $Id: CartCV.hxx,v 1.8 2007-01-01 18:04:45 stephena Exp $ + @version $Id: CartCV.hxx,v 1.9 2007-01-14 16:17:53 stephena Exp $ */ class CartridgeCV : public Cartridge { @@ -89,6 +88,40 @@ class CartridgeCV : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -107,8 +140,6 @@ class CartridgeCV : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - private: // The 2k ROM image for the cartridge uInt8 myImage[2048]; @@ -116,5 +147,5 @@ class CartridgeCV : public Cartridge // The 1024 bytes of RAM uInt8 myRAM[1024]; }; -#endif +#endif diff --git a/stella/src/emucore/CartDPC.cxx b/stella/src/emucore/CartDPC.cxx index e1543d016..399542f27 100644 --- a/stella/src/emucore/CartDPC.cxx +++ b/stella/src/emucore/CartDPC.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartDPC.cxx,v 1.17 2007-01-01 18:04:45 stephena Exp $ +// $Id: CartDPC.cxx,v 1.18 2007-01-14 16:17:53 stephena Exp $ //============================================================================ #include @@ -427,50 +427,6 @@ void CartridgeDPC::poke(uInt16 address, uInt8 value) } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeDPC::patch(uInt16 address, uInt8 value) -{ - address = address & 0x0FFF; - myProgramImage[myCurrentBank * 4096 + address] = value; - return true; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeDPC::bank(uInt16 bank) -{ - if(bankLocked) return; - - // Remember what bank we're in - myCurrentBank = bank; - uInt16 offset = myCurrentBank * 4096; - uInt16 shift = mySystem->pageShift(); - uInt16 mask = mySystem->pageMask(); - - // Setup the page access methods for the current bank - System::PageAccess access; - access.device = this; - access.directPokeBase = 0; - - // Map Program ROM image into the system - for(uInt32 address = 0x1080; address < (0x1FF8U & ~mask); - address += (1 << shift)) - { - access.directPeekBase = &myProgramImage[offset + (address & 0x0FFF)]; - mySystem->setPageAccess(address >> shift, access); - } -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeDPC::bank() { - return myCurrentBank; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeDPC::bankCount() { - return 2; // TODO: support the display ROM somehow -} - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeDPC::save(Serializer& out) { @@ -516,7 +472,7 @@ bool CartridgeDPC::save(Serializer& out) out.putInt(mySystemCycles); out.putInt((uInt32)(myFractionalClocks * 100000000.0)); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -577,7 +533,7 @@ bool CartridgeDPC::load(Deserializer& in) mySystemCycles = in.getInt(); myFractionalClocks = (double)in.getInt() / 100000000.0; } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -594,6 +550,51 @@ bool CartridgeDPC::load(Deserializer& in) return true; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void CartridgeDPC::bank(uInt16 bank) +{ + if(bankLocked) return; + + // Remember what bank we're in + myCurrentBank = bank; + uInt16 offset = myCurrentBank * 4096; + uInt16 shift = mySystem->pageShift(); + uInt16 mask = mySystem->pageMask(); + + // Setup the page access methods for the current bank + System::PageAccess access; + access.device = this; + access.directPokeBase = 0; + + // Map Program ROM image into the system + for(uInt32 address = 0x1080; address < (0x1FF8U & ~mask); + address += (1 << shift)) + { + access.directPeekBase = &myProgramImage[offset + (address & 0x0FFF)]; + mySystem->setPageAccess(address >> shift, access); + } +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeDPC::bank() +{ + return myCurrentBank; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeDPC::bankCount() +{ + return 2; // TODO: support the display ROM somehow +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeDPC::patch(uInt16 address, uInt8 value) +{ + address = address & 0x0FFF; + myProgramImage[myCurrentBank * 4096 + address] = value; + return true; +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt8* CartridgeDPC::getImage(int& size) { diff --git a/stella/src/emucore/CartDPC.hxx b/stella/src/emucore/CartDPC.hxx index 3e9061de1..7645d9543 100644 --- a/stella/src/emucore/CartDPC.hxx +++ b/stella/src/emucore/CartDPC.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartDPC.hxx,v 1.9 2007-01-01 18:04:45 stephena Exp $ +// $Id: CartDPC.hxx,v 1.10 2007-01-14 16:17:53 stephena Exp $ //============================================================================ #ifndef CARTRIDGEDCP_HXX #define CARTRIDGEDCP_HXX -class CartridgeDPC; +class System; class Serializer; class Deserializer; @@ -32,7 +32,7 @@ class Deserializer; see David P. Crane's United States Patent Number 4,644,495. @author Bradford W. Mott - @version $Id: CartDPC.hxx,v 1.9 2007-01-01 18:04:45 stephena Exp $ + @version $Id: CartDPC.hxx,v 1.10 2007-01-14 16:17:53 stephena Exp $ */ class CartridgeDPC : public Cartridge { @@ -93,6 +93,40 @@ class CartridgeDPC : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -111,18 +145,7 @@ class CartridgeDPC : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - /** - Install pages for the specified bank in the system - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - int bank(); // get current bank (-1 if no bankswitching supported) - int bankCount(); // count # of banks - bool patch(uInt16 address, uInt8 value); - private: - /** Clocks the random number generator to move it to its next state */ @@ -171,5 +194,5 @@ class CartridgeDPC : public Cartridge // Fractional DPC music OSC clocks unused during the last update double myFractionalClocks; }; -#endif +#endif diff --git a/stella/src/emucore/CartE0.cxx b/stella/src/emucore/CartE0.cxx index 730990ee2..28d88a6a3 100644 --- a/stella/src/emucore/CartE0.cxx +++ b/stella/src/emucore/CartE0.cxx @@ -13,15 +13,15 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartE0.cxx,v 1.12 2007-01-01 18:04:45 stephena Exp $ +// $Id: CartE0.cxx,v 1.13 2007-01-14 16:17:53 stephena Exp $ //============================================================================ -#include -#include "CartE0.hxx" +#include + #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartE0.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeE0::CartridgeE0(const uInt8* image) @@ -136,14 +136,6 @@ void CartridgeE0::poke(uInt16 address, uInt8) } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeE0::patch(uInt16 address, uInt8 value) -{ - address = address & 0x0FFF; - myImage[(myCurrentSlice[address >> 10] << 10) + (address & 0x03FF)] = value; - return true; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeE0::segmentZero(uInt16 slice) { @@ -217,7 +209,7 @@ bool CartridgeE0::save(Serializer& out) for(uInt32 i = 0; i < 4; ++i) out.putInt(myCurrentSlice[i]); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -245,7 +237,7 @@ bool CartridgeE0::load(Deserializer& in) for(uInt32 i = 0; i < limit; ++i) myCurrentSlice[i] = (uInt16) in.getInt(); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -259,9 +251,37 @@ bool CartridgeE0::load(Deserializer& in) return true; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void CartridgeE0::bank(uInt16 bank) +{ + // FIXME - get this working, so we can debug E0 carts +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeE0::getImage(int& size) { +int CartridgeE0::bank() +{ + // FIXME - get this working, so we can debug E0 carts + return 0; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeE0::bankCount() +{ + // FIXME - get this working, so we can debug E0 carts + return 1; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeE0::patch(uInt16 address, uInt8 value) +{ + address = address & 0x0FFF; + myImage[(myCurrentSlice[address >> 10] << 10) + (address & 0x03FF)] = value; + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeE0::getImage(int& size) +{ size = 8192; return &myImage[0]; } diff --git a/stella/src/emucore/CartE0.hxx b/stella/src/emucore/CartE0.hxx index bb7455a69..48038b666 100644 --- a/stella/src/emucore/CartE0.hxx +++ b/stella/src/emucore/CartE0.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartE0.hxx,v 1.8 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartE0.hxx,v 1.9 2007-01-14 16:17:53 stephena Exp $ //============================================================================ #ifndef CARTRIDGEE0_HXX #define CARTRIDGEE0_HXX -class CartridgeF8; +class System; class Serializer; class Deserializer; @@ -36,7 +36,7 @@ class Deserializer; always points to the last 1K of the ROM image. @author Bradford W. Mott - @version $Id: CartE0.hxx,v 1.8 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartE0.hxx,v 1.9 2007-01-14 16:17:53 stephena Exp $ */ class CartridgeE0 : public Cartridge { @@ -90,6 +90,40 @@ class CartridgeE0 : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -108,8 +142,6 @@ class CartridgeE0 : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - private: /** Install the specified slice for segment zero @@ -139,5 +171,5 @@ class CartridgeE0 : public Cartridge // The 8K ROM image of the cartridge uInt8 myImage[8192]; }; -#endif +#endif diff --git a/stella/src/emucore/CartE7.cxx b/stella/src/emucore/CartE7.cxx index 96aa33bba..c1d4f8395 100644 --- a/stella/src/emucore/CartE7.cxx +++ b/stella/src/emucore/CartE7.cxx @@ -13,16 +13,16 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartE7.cxx,v 1.15 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartE7.cxx,v 1.16 2007-01-14 16:17:53 stephena Exp $ //============================================================================ -#include -#include "CartE7.hxx" +#include + #include "Random.hxx" #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartE7.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeE7::CartridgeE7(const uInt8* image) @@ -137,74 +137,6 @@ void CartridgeE7::poke(uInt16 address, uInt8) // way page accessing has been setup } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeE7::patch(uInt16 address, uInt8 value) -{ - address = address & 0x0FFF; - myImage[(myCurrentSlice[address >> 11] << 11) + (address & 0x07FF)] = value; - bank(myCurrentSlice[0]); - return true; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeE7::bank(uInt16 slice) -{ - if(bankLocked) return; - - // Remember what bank we're in - myCurrentSlice[0] = slice; - uInt16 offset = slice << 11; - uInt16 shift = mySystem->pageShift(); - - // Setup the page access methods for the current bank - if(slice != 7) - { - System::PageAccess access; - access.device = this; - access.directPokeBase = 0; - - // Map ROM image into first segment - for(uInt32 address = 0x1000; address < 0x1800; address += (1 << shift)) - { - access.directPeekBase = &myImage[offset + (address & 0x07FF)]; - mySystem->setPageAccess(address >> shift, access); - } - } - else - { - System::PageAccess access; - access.device = this; - - // Set the page accessing method for the 1K slice of RAM writing pages - access.directPeekBase = 0; - access.directPokeBase = 0; - for(uInt32 j = 0x1000; j < 0x1400; j += (1 << shift)) - { - access.directPokeBase = &myRAM[j & 0x03FF]; - mySystem->setPageAccess(j >> shift, access); - } - - // Set the page accessing method for the 1K slice of RAM reading pages - access.directPeekBase = 0; - access.directPokeBase = 0; - for(uInt32 k = 0x1400; k < 0x1800; k += (1 << shift)) - { - access.directPeekBase = &myRAM[k & 0x03FF]; - mySystem->setPageAccess(k >> shift, access); - } - } -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeE7::bank() { - return myCurrentSlice[0]; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeE7::bankCount() { - return 8; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeE7::bankRAM(uInt16 bank) { @@ -258,7 +190,7 @@ bool CartridgeE7::save(Serializer& out) for(i = 0; i < 2048; ++i) out.putInt(myRAM[i]); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -295,7 +227,7 @@ bool CartridgeE7::load(Deserializer& in) for(i = 0; i < limit; ++i) myRAM[i] = (uInt8) in.getInt(); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -314,7 +246,78 @@ bool CartridgeE7::load(Deserializer& in) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeE7::getImage(int& size) { +void CartridgeE7::bank(uInt16 slice) +{ + if(bankLocked) return; + + // Remember what bank we're in + myCurrentSlice[0] = slice; + uInt16 offset = slice << 11; + uInt16 shift = mySystem->pageShift(); + + // Setup the page access methods for the current bank + if(slice != 7) + { + System::PageAccess access; + access.device = this; + access.directPokeBase = 0; + + // Map ROM image into first segment + for(uInt32 address = 0x1000; address < 0x1800; address += (1 << shift)) + { + access.directPeekBase = &myImage[offset + (address & 0x07FF)]; + mySystem->setPageAccess(address >> shift, access); + } + } + else + { + System::PageAccess access; + access.device = this; + + // Set the page accessing method for the 1K slice of RAM writing pages + access.directPeekBase = 0; + access.directPokeBase = 0; + for(uInt32 j = 0x1000; j < 0x1400; j += (1 << shift)) + { + access.directPokeBase = &myRAM[j & 0x03FF]; + mySystem->setPageAccess(j >> shift, access); + } + + // Set the page accessing method for the 1K slice of RAM reading pages + access.directPeekBase = 0; + access.directPokeBase = 0; + for(uInt32 k = 0x1400; k < 0x1800; k += (1 << shift)) + { + access.directPeekBase = &myRAM[k & 0x03FF]; + mySystem->setPageAccess(k >> shift, access); + } + } +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeE7::bank() +{ + return myCurrentSlice[0]; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeE7::bankCount() +{ + return 8; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeE7::patch(uInt16 address, uInt8 value) +{ + address = address & 0x0FFF; + myImage[(myCurrentSlice[address >> 11] << 11) + (address & 0x07FF)] = value; + bank(myCurrentSlice[0]); + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeE7::getImage(int& size) +{ size = 16384; return &myImage[0]; } diff --git a/stella/src/emucore/CartE7.hxx b/stella/src/emucore/CartE7.hxx index e1cf2c98d..75da8c4ad 100644 --- a/stella/src/emucore/CartE7.hxx +++ b/stella/src/emucore/CartE7.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartE7.hxx,v 1.9 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartE7.hxx,v 1.10 2007-01-14 16:17:53 stephena Exp $ //============================================================================ #ifndef CARTRIDGEE7_HXX #define CARTRIDGEE7_HXX -class CartridgeE7; +class System; class Serializer; class Deserializer; @@ -53,7 +53,7 @@ class Deserializer; here by accessing 1FF8 to 1FFB. @author Bradford W. Mott - @version $Id: CartE7.hxx,v 1.9 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartE7.hxx,v 1.10 2007-01-14 16:17:53 stephena Exp $ */ class CartridgeE7 : public Cartridge { @@ -107,6 +107,40 @@ class CartridgeE7 : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -125,18 +159,6 @@ class CartridgeE7 : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Map the specfied bank into the first segment - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - - int bank(); - int bankCount(); - private: /** Install pages for the specified 256 byte bank of RAM @@ -158,5 +180,5 @@ class CartridgeE7 : public Cartridge // The 2048 bytes of RAM uInt8 myRAM[2048]; }; -#endif +#endif diff --git a/stella/src/emucore/CartF4.cxx b/stella/src/emucore/CartF4.cxx index c3093bb9e..a91e57512 100644 --- a/stella/src/emucore/CartF4.cxx +++ b/stella/src/emucore/CartF4.cxx @@ -13,16 +13,16 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF4.cxx,v 1.10 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF4.cxx,v 1.11 2007-01-14 16:17:53 stephena Exp $ //============================================================================ -#include -#include -#include "CartF4.hxx" +#include + #include "Random.hxx" #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" +#include "CartF4.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeF4::CartridgeF4(const uInt8* image) @@ -102,49 +102,6 @@ void CartridgeF4::poke(uInt16 address, uInt8) } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeF4::patch(uInt16 address, uInt8 value) -{ - address = address & 0x0FFF; - myImage[myCurrentBank * 4096 + address] = value; - return true; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeF4::bank(uInt16 bank) -{ - if(bankLocked) return; - - // Remember what bank we're in - myCurrentBank = bank; - uInt16 offset = myCurrentBank * 4096; - uInt16 shift = mySystem->pageShift(); - uInt16 mask = mySystem->pageMask(); - - // Setup the page access methods for the current bank - System::PageAccess access; - access.device = this; - access.directPokeBase = 0; - - // Map ROM image into the system - for(uInt32 address = 0x1000; address < (0x1FF4U & ~mask); - address += (1 << shift)) - { - access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; - mySystem->setPageAccess(address >> shift, access); - } -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeF4::bank() { - return myCurrentBank; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeF4::bankCount() { - return 8; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeF4::save(Serializer& out) { @@ -155,7 +112,7 @@ bool CartridgeF4::save(Serializer& out) out.putString(cart); out.putInt(myCurrentBank); } - catch(char* msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -183,7 +140,7 @@ bool CartridgeF4::load(Deserializer& in) myCurrentBank = (uInt16)in.getInt(); } - catch(char* msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -200,9 +157,54 @@ bool CartridgeF4::load(Deserializer& in) return true; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void CartridgeF4::bank(uInt16 bank) +{ + if(bankLocked) return; + + // Remember what bank we're in + myCurrentBank = bank; + uInt16 offset = myCurrentBank * 4096; + uInt16 shift = mySystem->pageShift(); + uInt16 mask = mySystem->pageMask(); + + // Setup the page access methods for the current bank + System::PageAccess access; + access.device = this; + access.directPokeBase = 0; + + // Map ROM image into the system + for(uInt32 address = 0x1000; address < (0x1FF4U & ~mask); + address += (1 << shift)) + { + access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; + mySystem->setPageAccess(address >> shift, access); + } +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeF4::getImage(int& size) { +int CartridgeF4::bank() +{ + return myCurrentBank; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeF4::bankCount() +{ + return 8; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeF4::patch(uInt16 address, uInt8 value) +{ + address = address & 0x0FFF; + myImage[myCurrentBank * 4096 + address] = value; + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeF4::getImage(int& size) +{ size = 32768; return &myImage[0]; } diff --git a/stella/src/emucore/CartF4.hxx b/stella/src/emucore/CartF4.hxx index a370cd807..536176838 100644 --- a/stella/src/emucore/CartF4.hxx +++ b/stella/src/emucore/CartF4.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF4.hxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF4.hxx,v 1.8 2007-01-14 16:17:54 stephena Exp $ //============================================================================ #ifndef CARTRIDGEF4_HXX #define CARTRIDGEF4_HXX -class CartridgeF4; +class System; class Serializer; class Deserializer; @@ -31,7 +31,7 @@ class Deserializer; are eight 4K banks. @author Bradford W. Mott - @version $Id: CartF4.hxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartF4.hxx,v 1.8 2007-01-14 16:17:54 stephena Exp $ */ class CartridgeF4 : public Cartridge { @@ -85,6 +85,40 @@ class CartridgeF4 : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -103,19 +137,6 @@ class CartridgeF4 : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Install pages for the specified bank in the system - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - - int bank(); - - int bankCount(); - private: // Indicates which bank is currently active uInt16 myCurrentBank; @@ -123,5 +144,5 @@ class CartridgeF4 : public Cartridge // The 16K ROM image of the cartridge uInt8 myImage[32768]; }; -#endif +#endif diff --git a/stella/src/emucore/CartF4SC.cxx b/stella/src/emucore/CartF4SC.cxx index bcaf64cd5..a086754e3 100644 --- a/stella/src/emucore/CartF4SC.cxx +++ b/stella/src/emucore/CartF4SC.cxx @@ -13,16 +13,16 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF4SC.cxx,v 1.13 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF4SC.cxx,v 1.14 2007-01-14 16:17:54 stephena Exp $ //============================================================================ -#include -#include "CartF4SC.hxx" +#include + #include "Random.hxx" #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartF4SC.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeF4SC::CartridgeF4SC(const uInt8* image) @@ -132,49 +132,6 @@ void CartridgeF4SC::poke(uInt16 address, uInt8) // has been setup } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeF4SC::patch(uInt16 address, uInt8 value) -{ - address = address & 0x0FFF; - myImage[myCurrentBank * 4096 + address] = value; - return true; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeF4SC::bank(uInt16 bank) -{ - if(bankLocked) return; - - // Remember what bank we're in - myCurrentBank = bank; - uInt16 offset = myCurrentBank * 4096; - uInt16 shift = mySystem->pageShift(); - uInt16 mask = mySystem->pageMask(); - - // Setup the page access methods for the current bank - System::PageAccess access; - access.device = this; - access.directPokeBase = 0; - - // Map ROM image into the system - for(uInt32 address = 0x1100; address < (0x1FF4U & ~mask); - address += (1 << shift)) - { - access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; - mySystem->setPageAccess(address >> shift, access); - } -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeF4SC::bank() { - return myCurrentBank; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeF4SC::bankCount() { - return 8; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeF4SC::save(Serializer& out) { @@ -191,7 +148,7 @@ bool CartridgeF4SC::save(Serializer& out) for(uInt32 i = 0; i < 128; ++i) out.putInt(myRAM[i]); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -221,7 +178,7 @@ bool CartridgeF4SC::load(Deserializer& in) for(uInt32 i = 0; i < limit; ++i) myRAM[i] = (uInt8) in.getInt(); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -239,7 +196,53 @@ bool CartridgeF4SC::load(Deserializer& in) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeF4SC::getImage(int& size) { +void CartridgeF4SC::bank(uInt16 bank) +{ + if(bankLocked) return; + + // Remember what bank we're in + myCurrentBank = bank; + uInt16 offset = myCurrentBank * 4096; + uInt16 shift = mySystem->pageShift(); + uInt16 mask = mySystem->pageMask(); + + // Setup the page access methods for the current bank + System::PageAccess access; + access.device = this; + access.directPokeBase = 0; + + // Map ROM image into the system + for(uInt32 address = 0x1100; address < (0x1FF4U & ~mask); + address += (1 << shift)) + { + access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; + mySystem->setPageAccess(address >> shift, access); + } +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeF4SC::bank() +{ + return myCurrentBank; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeF4SC::bankCount() +{ + return 8; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeF4SC::patch(uInt16 address, uInt8 value) +{ + address = address & 0x0FFF; + myImage[myCurrentBank * 4096 + address] = value; + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeF4SC::getImage(int& size) +{ size = 32768; return &myImage[0]; } diff --git a/stella/src/emucore/CartF4SC.hxx b/stella/src/emucore/CartF4SC.hxx index 2d6c6488f..dbedbe43e 100644 --- a/stella/src/emucore/CartF4SC.hxx +++ b/stella/src/emucore/CartF4SC.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF4SC.hxx,v 1.8 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF4SC.hxx,v 1.9 2007-01-14 16:17:54 stephena Exp $ //============================================================================ #ifndef CARTRIDGEF4SC_HXX #define CARTRIDGEF4SC_HXX -class CartridgeF4SC; +class System; class Serializer; class Deserializer; @@ -31,7 +31,7 @@ class Deserializer; 128 bytes of RAM. There are eight 4K banks. @author Bradford W. Mott - @version $Id: CartF4SC.hxx,v 1.8 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartF4SC.hxx,v 1.9 2007-01-14 16:17:54 stephena Exp $ */ class CartridgeF4SC : public Cartridge { @@ -85,6 +85,40 @@ class CartridgeF4SC : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -103,18 +137,6 @@ class CartridgeF4SC : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Install pages for the specified bank in the system - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - - int bank(); - int bankCount(); - private: // Indicates which bank is currently active uInt16 myCurrentBank; @@ -125,5 +147,5 @@ class CartridgeF4SC : public Cartridge // The 128 bytes of RAM uInt8 myRAM[128]; }; -#endif +#endif diff --git a/stella/src/emucore/CartF6.cxx b/stella/src/emucore/CartF6.cxx index ebd7fec10..268fc281e 100644 --- a/stella/src/emucore/CartF6.cxx +++ b/stella/src/emucore/CartF6.cxx @@ -13,15 +13,15 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF6.cxx,v 1.12 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF6.cxx,v 1.13 2007-01-14 16:17:54 stephena Exp $ //============================================================================ -#include -#include "CartF6.hxx" +#include + #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartF6.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeF6::CartridgeF6(const uInt8* image) @@ -144,12 +144,58 @@ void CartridgeF6::poke(uInt16 address, uInt8) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeF6::patch(uInt16 address, uInt8 value) +bool CartridgeF6::save(Serializer& out) { - address = address & 0x0FFF; - myImage[myCurrentBank * 4096 + address] = value; + string cart = name(); + + try + { + out.putString(cart); + + out.putInt(myCurrentBank); + } + catch(const char* msg) + { + cerr << msg << endl; + return false; + } + catch(...) + { + cerr << "Unknown error in save state for " << cart << endl; + return false; + } + return true; -} +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeF6::load(Deserializer& in) +{ + string cart = name(); + + try + { + if(in.getString() != cart) + return false; + + myCurrentBank = (uInt16) in.getInt(); + } + catch(const char* msg) + { + cerr << msg << endl; + return false; + } + catch(...) + { + cerr << "Unknown error in load state for " << cart << endl; + return false; + } + + // Remember what bank we were in + bank(myCurrentBank); + + return true; +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeF6::bank(uInt16 bank) @@ -177,71 +223,28 @@ void CartridgeF6::bank(uInt16 bank) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeF6::bank() { +int CartridgeF6::bank() +{ return myCurrentBank; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeF6::bankCount() { +int CartridgeF6::bankCount() +{ return 4; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeF6::save(Serializer& out) +bool CartridgeF6::patch(uInt16 address, uInt8 value) { - string cart = name(); - - try - { - out.putString(cart); - - out.putInt(myCurrentBank); - } - catch(char *msg) - { - cerr << msg << endl; - return false; - } - catch(...) - { - cerr << "Unknown error in save state for " << cart << endl; - return false; - } - + address = address & 0x0FFF; + myImage[myCurrentBank * 4096 + address] = value; return true; -} +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeF6::load(Deserializer& in) +uInt8* CartridgeF6::getImage(int& size) { - string cart = name(); - - try - { - if(in.getString() != cart) - return false; - - myCurrentBank = (uInt16) in.getInt(); - } - catch(char *msg) - { - cerr << msg << endl; - return false; - } - catch(...) - { - cerr << "Unknown error in load state for " << cart << endl; - return false; - } - - // Remember what bank we were in - bank(myCurrentBank); - - return true; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeF6::getImage(int& size) { size = 16384; return &myImage[0]; } diff --git a/stella/src/emucore/CartF6.hxx b/stella/src/emucore/CartF6.hxx index 315e69674..93186457b 100644 --- a/stella/src/emucore/CartF6.hxx +++ b/stella/src/emucore/CartF6.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF6.hxx,v 1.9 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF6.hxx,v 1.10 2007-01-14 16:17:54 stephena Exp $ //============================================================================ #ifndef CARTRIDGEF6_HXX #define CARTRIDGEF6_HXX -class CartridgeF6; +class System; class Serializer; class Deserializer; @@ -31,7 +31,7 @@ class Deserializer; are four 4K banks. @author Bradford W. Mott - @version $Id: CartF6.hxx,v 1.9 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartF6.hxx,v 1.10 2007-01-14 16:17:54 stephena Exp $ */ class CartridgeF6 : public Cartridge { @@ -85,6 +85,40 @@ class CartridgeF6 : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -103,18 +137,6 @@ class CartridgeF6 : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Install pages for the specified bank in the system - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - - int bank(); - int bankCount(); - private: // Indicates which bank is currently active uInt16 myCurrentBank; @@ -122,5 +144,5 @@ class CartridgeF6 : public Cartridge // The 16K ROM image of the cartridge uInt8 myImage[16384]; }; -#endif +#endif diff --git a/stella/src/emucore/CartF6SC.cxx b/stella/src/emucore/CartF6SC.cxx index a8804f7e0..b12c81915 100644 --- a/stella/src/emucore/CartF6SC.cxx +++ b/stella/src/emucore/CartF6SC.cxx @@ -13,16 +13,16 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF6SC.cxx,v 1.12 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF6SC.cxx,v 1.13 2007-01-14 16:17:54 stephena Exp $ //============================================================================ -#include -#include "CartF6SC.hxx" +#include + #include "Random.hxx" #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartF6SC.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeF6SC::CartridgeF6SC(const uInt8* image) @@ -176,49 +176,6 @@ void CartridgeF6SC::poke(uInt16 address, uInt8) // has been setup } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeF6SC::patch(uInt16 address, uInt8 value) -{ - address = address & 0x0FFF; - myImage[myCurrentBank * 4096 + address] = value; - return true; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeF6SC::bank(uInt16 bank) -{ - if(bankLocked) return; - - // Remember what bank we're in - myCurrentBank = bank; - uInt16 offset = myCurrentBank * 4096; - uInt16 shift = mySystem->pageShift(); - uInt16 mask = mySystem->pageMask(); - - // Setup the page access methods for the current bank - System::PageAccess access; - access.device = this; - access.directPokeBase = 0; - - // Map ROM image into the system - for(uInt32 address = 0x1100; address < (0x1FF6U & ~mask); - address += (1 << shift)) - { - access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; - mySystem->setPageAccess(address >> shift, access); - } -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeF6SC::bank() { - return myCurrentBank; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeF6SC::bankCount() { - return 4; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeF6SC::save(Serializer& out) { @@ -236,7 +193,7 @@ bool CartridgeF6SC::save(Serializer& out) out.putInt(myRAM[i]); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -267,7 +224,7 @@ bool CartridgeF6SC::load(Deserializer& in) for(uInt32 i = 0; i < limit; ++i) myRAM[i] = (uInt8) in.getInt(); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -285,7 +242,53 @@ bool CartridgeF6SC::load(Deserializer& in) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeF6SC::getImage(int& size) { +void CartridgeF6SC::bank(uInt16 bank) +{ + if(bankLocked) return; + + // Remember what bank we're in + myCurrentBank = bank; + uInt16 offset = myCurrentBank * 4096; + uInt16 shift = mySystem->pageShift(); + uInt16 mask = mySystem->pageMask(); + + // Setup the page access methods for the current bank + System::PageAccess access; + access.device = this; + access.directPokeBase = 0; + + // Map ROM image into the system + for(uInt32 address = 0x1100; address < (0x1FF6U & ~mask); + address += (1 << shift)) + { + access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; + mySystem->setPageAccess(address >> shift, access); + } +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeF6SC::bank() +{ + return myCurrentBank; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeF6SC::bankCount() +{ + return 4; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeF6SC::patch(uInt16 address, uInt8 value) +{ + address = address & 0x0FFF; + myImage[myCurrentBank * 4096 + address] = value; + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeF6SC::getImage(int& size) +{ size = 16384; return &myImage[0]; } diff --git a/stella/src/emucore/CartF6SC.hxx b/stella/src/emucore/CartF6SC.hxx index 1ad394849..96408bc82 100644 --- a/stella/src/emucore/CartF6SC.hxx +++ b/stella/src/emucore/CartF6SC.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF6SC.hxx,v 1.8 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF6SC.hxx,v 1.9 2007-01-14 16:17:54 stephena Exp $ //============================================================================ #ifndef CARTRIDGEF6SC_HXX #define CARTRIDGEF6SC_HXX -class CartridgeF6SC; +class System; class Serializer; class Deserializer; @@ -31,7 +31,7 @@ class Deserializer; 128 bytes of RAM. There are four 4K banks. @author Bradford W. Mott - @version $Id: CartF6SC.hxx,v 1.8 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartF6SC.hxx,v 1.9 2007-01-14 16:17:54 stephena Exp $ */ class CartridgeF6SC : public Cartridge { @@ -85,6 +85,40 @@ class CartridgeF6SC : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -103,18 +137,6 @@ class CartridgeF6SC : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Install pages for the specified bank in the system - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - - int bank(); - int bankCount(); - private: // Indicates which bank is currently active uInt16 myCurrentBank; @@ -125,5 +147,5 @@ class CartridgeF6SC : public Cartridge // The 128 bytes of RAM uInt8 myRAM[128]; }; -#endif +#endif diff --git a/stella/src/emucore/CartF8.cxx b/stella/src/emucore/CartF8.cxx index ad942f5f6..1bb833f3c 100644 --- a/stella/src/emucore/CartF8.cxx +++ b/stella/src/emucore/CartF8.cxx @@ -13,15 +13,15 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF8.cxx,v 1.14 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF8.cxx,v 1.15 2007-01-14 16:17:54 stephena Exp $ //============================================================================ -#include -#include "CartF8.hxx" +#include + #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartF8.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeF8::CartridgeF8(const uInt8* image, bool swapbanks) @@ -32,6 +32,8 @@ CartridgeF8::CartridgeF8(const uInt8* image, bool swapbanks) myImage[addr] = image[addr]; } + // Normally bank 1 is the reset bank, unless we're dealing with ROMs + // that have been incorrectly created with banks in the opposite order myResetBank = swapbanks ? 0 : 1; } @@ -49,7 +51,7 @@ const char* CartridgeF8::name() const // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeF8::reset() { - // Upon reset we switch to the reset bank (normally bank 1) + // Upon reset we switch to the reset bank bank(myResetBank); } @@ -126,13 +128,58 @@ void CartridgeF8::poke(uInt16 address, uInt8) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeF8::patch(uInt16 address, uInt8 value) +bool CartridgeF8::save(Serializer& out) { - address &= 0xfff; - myImage[myCurrentBank * 4096 + address] = value; - bank(myCurrentBank); - return true; -} + string cart = name(); + + try + { + out.putString(cart); + + out.putInt(myCurrentBank); + } + catch(const char* msg) + { + cerr << msg << endl; + return false; + } + catch(...) + { + cerr << "Unknown error in save state for " << cart << endl; + return false; + } + + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeF8::load(Deserializer& in) +{ + string cart = name(); + + try + { + if(in.getString() != cart) + return false; + + myCurrentBank = (uInt16) in.getInt(); + } + catch(const char* msg) + { + cerr << msg << endl; + return false; + } + catch(...) + { + cerr << "Unknown error in load state for " << cart << endl; + return false; + } + + // Remember what bank we were in + bank(myCurrentBank); + + return true; +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeF8::bank(uInt16 bank) @@ -159,60 +206,6 @@ void CartridgeF8::bank(uInt16 bank) } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeF8::save(Serializer& out) -{ - string cart = name(); - - try - { - out.putString(cart); - - out.putInt(myCurrentBank); - } - catch(char *msg) - { - cerr << msg << endl; - return false; - } - catch(...) - { - cerr << "Unknown error in save state for " << cart << endl; - return false; - } - - return true; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeF8::load(Deserializer& in) -{ - string cart = name(); - - try - { - if(in.getString() != cart) - return false; - - myCurrentBank = (uInt16) in.getInt(); - } - catch(char *msg) - { - cerr << msg << endl; - return false; - } - catch(...) - { - cerr << "Unknown error in load state for " << cart << endl; - return false; - } - - // Remember what bank we were in - bank(myCurrentBank); - - return true; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int CartridgeF8::bank() { @@ -225,6 +218,15 @@ int CartridgeF8::bankCount() return 2; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeF8::patch(uInt16 address, uInt8 value) +{ + address &= 0xfff; + myImage[myCurrentBank * 4096 + address] = value; + bank(myCurrentBank); + return true; +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt8* CartridgeF8::getImage(int& size) { diff --git a/stella/src/emucore/CartF8.hxx b/stella/src/emucore/CartF8.hxx index 5a5b92f7b..22784cd5c 100644 --- a/stella/src/emucore/CartF8.hxx +++ b/stella/src/emucore/CartF8.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF8.hxx,v 1.9 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF8.hxx,v 1.10 2007-01-14 16:17:54 stephena Exp $ //============================================================================ #ifndef CARTRIDGEF8_HXX #define CARTRIDGEF8_HXX -class CartridgeF8; +class System; class Serializer; class Deserializer; @@ -31,7 +31,7 @@ class Deserializer; are two 4K banks. @author Bradford W. Mott - @version $Id: CartF8.hxx,v 1.9 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartF8.hxx,v 1.10 2007-01-14 16:17:54 stephena Exp $ */ class CartridgeF8 : public Cartridge { @@ -86,6 +86,40 @@ class CartridgeF8 : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -104,17 +138,6 @@ class CartridgeF8 : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Install pages for the specified bank in the system - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - int bank(); - int bankCount(); - private: // Indicates which bank is currently active uInt16 myCurrentBank; @@ -125,5 +148,5 @@ class CartridgeF8 : public Cartridge // The 8K ROM image of the cartridge uInt8 myImage[8192]; }; -#endif +#endif diff --git a/stella/src/emucore/CartF8SC.cxx b/stella/src/emucore/CartF8SC.cxx index 24e8d9bd0..21b918a20 100644 --- a/stella/src/emucore/CartF8SC.cxx +++ b/stella/src/emucore/CartF8SC.cxx @@ -13,16 +13,16 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF8SC.cxx,v 1.12 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF8SC.cxx,v 1.13 2007-01-14 16:17:54 stephena Exp $ //============================================================================ -#include -#include "CartF8SC.hxx" +#include + #include "Random.hxx" #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartF8SC.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeF8SC::CartridgeF8SC(const uInt8* image) @@ -160,49 +160,6 @@ void CartridgeF8SC::poke(uInt16 address, uInt8) // has been setup } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeF8SC::bank() -{ - return myCurrentBank; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeF8SC::bankCount() -{ - return 2; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeF8SC::patch(uInt16 address, uInt8 value) -{ - address = address & 0x0FFF; - myImage[myCurrentBank * 4096 + address] = value; - return true; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeF8SC::bank(uInt16 bank) -{ - // Remember what bank we're in - myCurrentBank = bank; - uInt16 offset = myCurrentBank << 12; - uInt16 shift = mySystem->pageShift(); - uInt16 mask = mySystem->pageMask(); - - // Setup the page access methods for the current bank - System::PageAccess access; - access.device = this; - access.directPokeBase = 0; - - // Map ROM image into the system - for(uInt32 address = 0x1100; address < (0x1FF8U & ~mask); - address += (1 << shift)) - { - access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; - mySystem->setPageAccess(address >> shift, access); - } -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeF8SC::save(Serializer& out) { @@ -219,7 +176,7 @@ bool CartridgeF8SC::save(Serializer& out) for(uInt32 i = 0; i < 128; ++i) out.putInt(myRAM[i]); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -249,7 +206,7 @@ bool CartridgeF8SC::load(Deserializer& in) for(uInt32 i = 0; i < limit; ++i) myRAM[i] = (uInt8) in.getInt(); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -266,6 +223,51 @@ bool CartridgeF8SC::load(Deserializer& in) return true; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void CartridgeF8SC::bank(uInt16 bank) +{ + if(bankLocked) return; + + // Remember what bank we're in + myCurrentBank = bank; + uInt16 offset = myCurrentBank << 12; + uInt16 shift = mySystem->pageShift(); + uInt16 mask = mySystem->pageMask(); + + // Setup the page access methods for the current bank + System::PageAccess access; + access.device = this; + access.directPokeBase = 0; + + // Map ROM image into the system + for(uInt32 address = 0x1100; address < (0x1FF8U & ~mask); + address += (1 << shift)) + { + access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; + mySystem->setPageAccess(address >> shift, access); + } +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeF8SC::bank() +{ + return myCurrentBank; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeF8SC::bankCount() +{ + return 2; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeF8SC::patch(uInt16 address, uInt8 value) +{ + address = address & 0x0FFF; + myImage[myCurrentBank * 4096 + address] = value; + return true; +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt8* CartridgeF8SC::getImage(int& size) { diff --git a/stella/src/emucore/CartF8SC.hxx b/stella/src/emucore/CartF8SC.hxx index e42fd6c91..60f51911a 100644 --- a/stella/src/emucore/CartF8SC.hxx +++ b/stella/src/emucore/CartF8SC.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartF8SC.hxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartF8SC.hxx,v 1.8 2007-01-14 16:17:54 stephena Exp $ //============================================================================ #ifndef CARTRIDGEF8SC_HXX #define CARTRIDGEF8SC_HXX -class CartridgeF8SC; +class System; class Serializer; class Deserializer; @@ -31,7 +31,7 @@ class Deserializer; 128 bytes of RAM. There are two 4K banks. @author Bradford W. Mott - @version $Id: CartF8SC.hxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartF8SC.hxx,v 1.8 2007-01-14 16:17:54 stephena Exp $ */ class CartridgeF8SC : public Cartridge { @@ -85,6 +85,40 @@ class CartridgeF8SC : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -103,19 +137,6 @@ class CartridgeF8SC : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Install pages for the specified bank in the system - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - - int bank(); - - int bankCount(); - private: // Indicates which bank is currently active uInt16 myCurrentBank; @@ -126,5 +147,5 @@ class CartridgeF8SC : public Cartridge // The 128 bytes of RAM uInt8 myRAM[128]; }; -#endif +#endif diff --git a/stella/src/emucore/CartFASC.cxx b/stella/src/emucore/CartFASC.cxx index 496a55aba..0505cc182 100644 --- a/stella/src/emucore/CartFASC.cxx +++ b/stella/src/emucore/CartFASC.cxx @@ -13,16 +13,16 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartFASC.cxx,v 1.11 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartFASC.cxx,v 1.12 2007-01-14 16:17:54 stephena Exp $ //============================================================================ -#include -#include "CartFASC.hxx" +#include + #include "Random.hxx" #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartFASC.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeFASC::CartridgeFASC(const uInt8* image) @@ -166,49 +166,6 @@ void CartridgeFASC::poke(uInt16 address, uInt8) // has been setup } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeFASC::patch(uInt16 address, uInt8 value) -{ - address = address & 0x0FFF; - myImage[myCurrentBank * 4096 + address] = value; - return true; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeFASC::bank(uInt16 bank) -{ - if(bankLocked) return; - - // Remember what bank we're in - myCurrentBank = bank; - uInt16 offset = myCurrentBank * 4096; - uInt16 shift = mySystem->pageShift(); - uInt16 mask = mySystem->pageMask(); - - // Setup the page access methods for the current bank - System::PageAccess access; - access.device = this; - access.directPokeBase = 0; - - // Map ROM image into the system - for(uInt32 address = 0x1200; address < (0x1FF8U & ~mask); - address += (1 << shift)) - { - access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; - mySystem->setPageAccess(address >> shift, access); - } -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeFASC::bank() { - return myCurrentBank; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeFASC::bankCount() { - return 3; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeFASC::save(Serializer& out) { @@ -225,7 +182,7 @@ bool CartridgeFASC::save(Serializer& out) for(uInt32 i = 0; i < 256; ++i) out.putInt(myRAM[i]); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -255,7 +212,7 @@ bool CartridgeFASC::load(Deserializer& in) for(uInt32 i = 0; i < limit; ++i) myRAM[i] = (uInt8) in.getInt(); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -273,7 +230,53 @@ bool CartridgeFASC::load(Deserializer& in) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeFASC::getImage(int& size) { +void CartridgeFASC::bank(uInt16 bank) +{ + if(bankLocked) return; + + // Remember what bank we're in + myCurrentBank = bank; + uInt16 offset = myCurrentBank * 4096; + uInt16 shift = mySystem->pageShift(); + uInt16 mask = mySystem->pageMask(); + + // Setup the page access methods for the current bank + System::PageAccess access; + access.device = this; + access.directPokeBase = 0; + + // Map ROM image into the system + for(uInt32 address = 0x1200; address < (0x1FF8U & ~mask); + address += (1 << shift)) + { + access.directPeekBase = &myImage[offset + (address & 0x0FFF)]; + mySystem->setPageAccess(address >> shift, access); + } +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeFASC::bank() +{ + return myCurrentBank; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeFASC::bankCount() +{ + return 3; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeFASC::patch(uInt16 address, uInt8 value) +{ + address = address & 0x0FFF; + myImage[myCurrentBank * 4096 + address] = value; + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeFASC::getImage(int& size) +{ size = 12288; return &myImage[0]; } diff --git a/stella/src/emucore/CartFASC.hxx b/stella/src/emucore/CartFASC.hxx index 67bb3ab60..a53fa5cae 100644 --- a/stella/src/emucore/CartFASC.hxx +++ b/stella/src/emucore/CartFASC.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartFASC.hxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartFASC.hxx,v 1.8 2007-01-14 16:17:54 stephena Exp $ //============================================================================ #ifndef CARTRIDGEFASC_HXX #define CARTRIDGEFASC_HXX -class CartridgeFASC; +class System; class Serializer; class Deserializer; @@ -31,7 +31,7 @@ class Deserializer; three 4K banks and 256 bytes of RAM. @author Bradford W. Mott - @version $Id: CartFASC.hxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartFASC.hxx,v 1.8 2007-01-14 16:17:54 stephena Exp $ */ class CartridgeFASC : public Cartridge { @@ -85,6 +85,40 @@ class CartridgeFASC : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -103,18 +137,6 @@ class CartridgeFASC : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Install pages for the specified bank in the system - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - - int bank(); - int bankCount(); - private: // Indicates which bank is currently active uInt16 myCurrentBank; @@ -125,5 +147,5 @@ class CartridgeFASC : public Cartridge // The 256 bytes of RAM on the cartridge uInt8 myRAM[256]; }; -#endif +#endif diff --git a/stella/src/emucore/CartFE.cxx b/stella/src/emucore/CartFE.cxx index 6c7c1d125..a3c1fb2c1 100644 --- a/stella/src/emucore/CartFE.cxx +++ b/stella/src/emucore/CartFE.cxx @@ -13,15 +13,15 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartFE.cxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartFE.cxx,v 1.8 2007-01-14 16:17:54 stephena Exp $ //============================================================================ -#include -#include "CartFE.hxx" +#include + #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartFE.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeFE::CartridgeFE(const uInt8* image) @@ -82,13 +82,6 @@ void CartridgeFE::poke(uInt16, uInt8) { } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeFE::patch(uInt16 address, uInt8 value) -{ - myImage[(address & 0x0FFF) + (((address & 0x2000) == 0) ? 4096 : 0)] = value; - return true; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeFE::save(Serializer& out) { @@ -98,7 +91,7 @@ bool CartridgeFE::save(Serializer& out) { out.putString(cart); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -122,7 +115,7 @@ bool CartridgeFE::load(Deserializer& in) if(in.getString() != cart) return false; } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -137,7 +130,34 @@ bool CartridgeFE::load(Deserializer& in) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeFE::getImage(int& size) { +void CartridgeFE::bank(uInt16 b) +{ + // Doesn't support bankswitching in the normal sense +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeFE::bank() +{ + // Doesn't support bankswitching in the normal sense + return 0; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeFE::bankCount() +{ + return 1; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeFE::patch(uInt16 address, uInt8 value) +{ + myImage[(address & 0x0FFF) + (((address & 0x2000) == 0) ? 4096 : 0)] = value; + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeFE::getImage(int& size) +{ size = 8192; return &myImage[0]; } diff --git a/stella/src/emucore/CartFE.hxx b/stella/src/emucore/CartFE.hxx index 77ff1cf1a..827173bc5 100644 --- a/stella/src/emucore/CartFE.hxx +++ b/stella/src/emucore/CartFE.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartFE.hxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartFE.hxx,v 1.8 2007-01-14 16:17:54 stephena Exp $ //============================================================================ #ifndef CARTRIDGEFE_HXX #define CARTRIDGEFE_HXX -class CartridgeFE; +class System; class Serializer; class Deserializer; @@ -43,7 +43,7 @@ class Deserializer; monitoring the bus. @author Bradford W. Mott - @version $Id: CartFE.hxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartFE.hxx,v 1.8 2007-01-14 16:17:54 stephena Exp $ */ class CartridgeFE : public Cartridge { @@ -97,6 +97,40 @@ class CartridgeFE : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -115,11 +149,9 @@ class CartridgeFE : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - private: // The 8K ROM image of the cartridge uInt8 myImage[8192]; }; -#endif +#endif diff --git a/stella/src/emucore/CartMB.cxx b/stella/src/emucore/CartMB.cxx index acfb41dab..984da7040 100644 --- a/stella/src/emucore/CartMB.cxx +++ b/stella/src/emucore/CartMB.cxx @@ -13,15 +13,15 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartMB.cxx,v 1.10 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartMB.cxx,v 1.11 2007-01-14 16:17:55 stephena Exp $ //============================================================================ -#include -#include "CartMB.hxx" +#include + #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartMB.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeMB::CartridgeMB(const uInt8* image) @@ -97,14 +97,6 @@ void CartridgeMB::poke(uInt16 address, uInt8) if(address == 0x0FF0) incbank(); } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeMB::patch(uInt16 address, uInt8 value) -{ - address = address & 0x0FFF; - myImage[myCurrentBank * 4096 + address] = value; - return true; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeMB::incbank() { @@ -131,22 +123,6 @@ void CartridgeMB::incbank() } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeMB::bank(uInt16 b) { - myCurrentBank = (b - 1); - incbank(); -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeMB::bank() { - return myCurrentBank; -} - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeMB::bankCount() { - return 16; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeMB::save(Serializer& out) { @@ -158,7 +134,7 @@ bool CartridgeMB::save(Serializer& out) out.putInt(myCurrentBank); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -184,7 +160,7 @@ bool CartridgeMB::load(Deserializer& in) myCurrentBank = (uInt16) in.getInt(); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -203,7 +179,37 @@ bool CartridgeMB::load(Deserializer& in) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeMB::getImage(int& size) { +void CartridgeMB::bank(uInt16 bank) +{ + if(bankLocked) return; + + myCurrentBank = (bank - 1); + incbank(); +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeMB::bank() +{ + return myCurrentBank; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeMB::bankCount() +{ + return 16; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeMB::patch(uInt16 address, uInt8 value) +{ + address = address & 0x0FFF; + myImage[myCurrentBank * 4096 + address] = value; + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeMB::getImage(int& size) +{ size = 65536; return &myImage[0]; } diff --git a/stella/src/emucore/CartMB.hxx b/stella/src/emucore/CartMB.hxx index 1268da21d..39750eb22 100644 --- a/stella/src/emucore/CartMB.hxx +++ b/stella/src/emucore/CartMB.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartMB.hxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ +// $Id: CartMB.hxx,v 1.8 2007-01-14 16:17:55 stephena Exp $ //============================================================================ #ifndef CARTRIDGEMB_HXX #define CARTRIDGEMB_HXX -class CartridgeMB; +class System; class Serializer; class Deserializer; @@ -32,7 +32,7 @@ class Deserializer; Accessing $1FF0 switches to next bank. @author Eckhard Stolberg - @version $Id: CartMB.hxx,v 1.7 2007-01-01 18:04:46 stephena Exp $ + @version $Id: CartMB.hxx,v 1.8 2007-01-14 16:17:55 stephena Exp $ */ class CartridgeMB : public Cartridge { @@ -86,6 +86,40 @@ class CartridgeMB : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -104,14 +138,6 @@ class CartridgeMB : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - void bank(uInt16 b); - - int bank(); - - int bankCount(); - private: /** Install pages for the next bank in the system @@ -125,5 +151,5 @@ class CartridgeMB : public Cartridge // The 64K ROM image of the cartridge uInt8 myImage[65536]; }; -#endif +#endif diff --git a/stella/src/emucore/CartMC.cxx b/stella/src/emucore/CartMC.cxx index 12a805e55..b5c236c0b 100644 --- a/stella/src/emucore/CartMC.cxx +++ b/stella/src/emucore/CartMC.cxx @@ -13,20 +13,20 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartMC.cxx,v 1.11 2007-01-01 18:04:47 stephena Exp $ +// $Id: CartMC.cxx,v 1.12 2007-01-14 16:17:55 stephena Exp $ //============================================================================ -#include -#include "CartMC.hxx" +#include + #include "Random.hxx" #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" -#include +#include "CartMC.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeMC::CartridgeMC(const uInt8* image, uInt32 size) - : mySlot3Locked(false) + : mySlot3Locked(false) { uInt32 i; @@ -219,13 +219,6 @@ void CartridgeMC::poke(uInt16 address, uInt8 value) } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeMC::patch(uInt16 address, uInt8 value) -{ - // TODO: implement - return false; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeMC::save(Serializer& out) { @@ -246,7 +239,7 @@ bool CartridgeMC::save(Serializer& out) for(i = 0; i < 32 * 1024; ++i) out.putInt(myRAM[i]); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -283,7 +276,7 @@ bool CartridgeMC::load(Deserializer& in) for(i = 0; i < limit; ++i) myRAM[i] = (uInt8) in.getInt(); } - catch(char *msg) + catch(const char* msg) { cerr << msg << endl; return false; @@ -298,7 +291,35 @@ bool CartridgeMC::load(Deserializer& in) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeMC::getImage(int& size) { +void CartridgeMC::bank(uInt16 b) +{ + // TODO: add support for debugger +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeMC::bank() +{ + // TODO: add support for debugger + return 0; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartridgeMC::bankCount() +{ + // TODO: add support for debugger + return 1; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeMC::patch(uInt16 address, uInt8 value) +{ + // TODO: implement + return false; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeMC::getImage(int& size) +{ size = 128 * 1024; // FIXME: keep track of original size return &myImage[0]; } diff --git a/stella/src/emucore/CartMC.hxx b/stella/src/emucore/CartMC.hxx index d257bf0f1..eb52f7924 100644 --- a/stella/src/emucore/CartMC.hxx +++ b/stella/src/emucore/CartMC.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartMC.hxx,v 1.7 2007-01-01 18:04:47 stephena Exp $ +// $Id: CartMC.hxx,v 1.8 2007-01-14 16:17:55 stephena Exp $ //============================================================================ #ifndef CARTRIDGEMC_HXX #define CARTRIDGEMC_HXX -class CartridgeMC; +class System; class Serializer; class Deserializer; @@ -135,7 +135,7 @@ class Deserializer; @author Bradford W. Mott - @version $Id: CartMC.hxx,v 1.7 2007-01-01 18:04:47 stephena Exp $ + @version $Id: CartMC.hxx,v 1.8 2007-01-14 16:17:55 stephena Exp $ */ class CartridgeMC : public Cartridge { @@ -192,6 +192,40 @@ class CartridgeMC : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -210,8 +244,6 @@ class CartridgeMC : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - private: // Indicates which block is currently active for the four segments uInt8 myCurrentBlock[4]; @@ -225,4 +257,5 @@ class CartridgeMC : public Cartridge // Pointer to the 128K bytes of ROM for the cartridge uInt8* myImage; }; + #endif diff --git a/stella/src/emucore/CartUA.cxx b/stella/src/emucore/CartUA.cxx index 02efe0b60..59516780a 100644 --- a/stella/src/emucore/CartUA.cxx +++ b/stella/src/emucore/CartUA.cxx @@ -13,15 +13,15 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartUA.cxx,v 1.9 2007-01-01 18:04:47 stephena Exp $ +// $Id: CartUA.cxx,v 1.10 2007-01-14 16:17:55 stephena Exp $ //============================================================================ #include -#include -#include "CartUA.hxx" + #include "System.hxx" #include "Serializer.hxx" #include "Deserializer.hxx" +#include "CartUA.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CartridgeUA::CartridgeUA(const uInt8* image) @@ -138,13 +138,58 @@ void CartridgeUA::poke(uInt16 address, uInt8 value) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeUA::patch(uInt16 address, uInt8 value) +bool CartridgeUA::save(Serializer& out) { - address &= 0x0fff; - myImage[myCurrentBank * 4096] = value; - bank(myCurrentBank); // TODO: see if this is really necessary - return true; -} + string cart = name(); + + try + { + out.putString(cart); + + out.putInt(myCurrentBank); + } + catch(const char* msg) + { + cerr << msg << endl; + return false; + } + catch(...) + { + cerr << "Unknown error in save state for " << cart << endl; + return false; + } + + return true; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartridgeUA::load(Deserializer& in) +{ + string cart = name(); + + try + { + if(in.getString() != cart) + return false; + + myCurrentBank = (uInt16)in.getInt(); + } + catch(const char* msg) + { + cerr << msg << endl; + return false; + } + catch(...) + { + cerr << "Unknown error in load state for " << cart << endl; + return false; + } + + // Remember what bank we were in + bank(myCurrentBank); + + return true; +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeUA::bank(uInt16 bank) @@ -171,72 +216,29 @@ void CartridgeUA::bank(uInt16 bank) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeUA::bank() { +int CartridgeUA::bank() +{ return myCurrentBank; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int CartridgeUA::bankCount() { +int CartridgeUA::bankCount() +{ return 2; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeUA::save(Serializer& out) +bool CartridgeUA::patch(uInt16 address, uInt8 value) { - string cart = name(); - - try - { - out.putString(cart); - - out.putInt(myCurrentBank); - } - catch(char *msg) - { - cerr << msg << endl; - return false; - } - catch(...) - { - cerr << "Unknown error in save state for " << cart << endl; - return false; - } - + address &= 0x0fff; + myImage[myCurrentBank * 4096] = value; + bank(myCurrentBank); // TODO: see if this is really necessary return true; -} +} // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartridgeUA::load(Deserializer& in) +uInt8* CartridgeUA::getImage(int& size) { - string cart = name(); - - try - { - if(in.getString() != cart) - return false; - - myCurrentBank = (uInt16)in.getInt(); - } - catch(char *msg) - { - cerr << msg << endl; - return false; - } - catch(...) - { - cerr << "Unknown error in load state for " << cart << endl; - return false; - } - - // Remember what bank we were in - bank(myCurrentBank); - - return true; -} - - -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8* CartridgeUA::getImage(int& size) { size = 8192; return &myImage[0]; } diff --git a/stella/src/emucore/CartUA.hxx b/stella/src/emucore/CartUA.hxx index 6b14a4186..415fdbeb9 100644 --- a/stella/src/emucore/CartUA.hxx +++ b/stella/src/emucore/CartUA.hxx @@ -13,13 +13,13 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: CartUA.hxx,v 1.6 2007-01-01 18:04:47 stephena Exp $ +// $Id: CartUA.hxx,v 1.7 2007-01-14 16:17:55 stephena Exp $ //============================================================================ #ifndef CARTRIDGEUA_HXX #define CARTRIDGEUA_HXX -class CartridgeUA; +class System; class Serializer; class Deserializer; @@ -32,7 +32,7 @@ class Deserializer; are two 4K banks. @author Bradford W. Mott - @version $Id: CartUA.hxx,v 1.6 2007-01-01 18:04:47 stephena Exp $ + @version $Id: CartUA.hxx,v 1.7 2007-01-14 16:17:55 stephena Exp $ */ class CartridgeUA : public Cartridge { @@ -86,6 +86,40 @@ class CartridgeUA : public Cartridge */ virtual bool load(Deserializer& in); + /** + Install pages for the specified bank in the system. + + @param bank The bank that should be installed in the system + */ + virtual void bank(uInt16 bank); + + /** + Get the current bank. + + @return The current bank, or -1 if bankswitching not supported + */ + virtual int bank(); + + /** + Query the number of banks supported by the cartridge. + */ + virtual int bankCount(); + + /** + Patch the cartridge ROM. + + @param address The ROM address to patch + @param value The value to place into the address + @return Success or failure of the patch operation + */ + virtual bool patch(uInt16 address, uInt8 value); + + /** + Access the internal ROM image for this cartridge. + + @param size Set to the size of the internal ROM image data + @return A pointer to the internal ROM image data + */ virtual uInt8* getImage(int& size); public: @@ -104,19 +138,6 @@ class CartridgeUA : public Cartridge */ virtual void poke(uInt16 address, uInt8 value); - bool patch(uInt16 address, uInt8 value); - - /** - Install pages for the specified bank in the system - - @param bank The bank that should be installed in the system - */ - void bank(uInt16 bank); - - int bank(); - - int bankCount(); - private: // Indicates which bank is currently active uInt16 myCurrentBank; @@ -127,5 +148,5 @@ class CartridgeUA : public Cartridge // Previous Device's page access System::PageAccess myHotSpotPageAccess; }; -#endif +#endif diff --git a/stella/src/emucore/DefProps.hxx b/stella/src/emucore/DefProps.hxx index 22c58d9e6..2999e846f 100644 --- a/stella/src/emucore/DefProps.hxx +++ b/stella/src/emucore/DefProps.hxx @@ -8,37 +8,37 @@ regenerated and the application recompiled. */ static const char* DefProps[][23] = { - { "807a8ff6216b00d52aba2dfea5d8d860", "John Payson", "", "Strat-O-Gems Deluxe", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7eaf009a892f03d90682dc1e67e85f07", "", "", "Bounce! (18-03-2003) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "3e49da621193d2611a4ea152d5d5ca3a", "", "", "Atari Logo Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ca7abc774a2fa95014688bc0849eee47", "Atari", "CX26110", "Crystal Castles (1984) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c73ae5ba5a0a3f3ac77f0a9e14770e73", "Starpath", "AR-4105", "Frogger (Official Version by Sega) (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "32", "", "", "", "" }, { "2008c76deba5953201ef75a09b2ff7dc", "", "", "Fortress (21-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6141c095d0aee4e734bebfaac939030a", "Starsoft", "", "Die Unterwasser-Bestien (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a74689a08746a667a299b0507e1e6dd9", "Starpath", "AR-4105", "Frogger (1982) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e63efdfda9a4003dcd77a854a781a06a", "Paul Slocum", "", "Combat Rock (PD) [a1]", "Hack of Combat (1977) (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f73e7175474c1c22fb8030c3158e9b3", "Atari", "CX2665", "Frog Pond (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a422194290c64ef9d444da9d6a207807", "Mattel", "MT5667", "Dark Cavern (1982) (Mattel) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e4c00beb17fdc5881757855f2838c816", "20th Century Fox", "11004", "Deadly Duck (1982) (20th Century Fox) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0fcff6fe3b0769ad5d0cf82814d2a6d9", "Starsoft", "", "Aufruhr im Zoo (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2ef36341d1bf42e02c7ea2f71e024982", "", "", "Space Invaders (Explosion Hack)", "Hack of Space Invaders (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4f618c2429138e0280969193ed6c107e", "Activision", "AZ-028", "Robot Tank (1983) (Activision) [!]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "703d32062436e4c20c48313dff30e257", "", "", "Moving Maze Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "93c9f9239a4e5c956663dd7affa70da2", "Starsoft", "", "Billard (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "b8ed78afdb1e6cfe44ef6e3428789d5f", "Data Age", "112-007", "Bermuda Triangle (1982) (Data Age) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "da0fb2a484d0d2d8f79d6e063c94063d", "", "", "Air Raiders (1982) (Mattel) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f714a223954c28eccf459295517dcae6", "", "", "Big - Move This Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d5f6db55f7f44fd0253258e810bde21", "Mattel / Fabrizio Zavagli", "", "Betterblast by Fabrizio Zavagli (Astroblast Hack)", "Hack of Astroblast (Mattel)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6e372f076fb9586aff416144f5cfe1cb", "Atari", "CX2646 / 4975185", "Pac-Man (1981) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "33", "", "", "", "" }, + { "91c2098e88a6b13f977af8c003e0bca5", "Atari", "CX2676", "Centipede (1982) (Atari) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b4f87ce75f7329c18301a2505fe59cd3", "Ariola", "", "Autorennen (AKA Grand Prix) (Ariola) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d632b74fea533d593af82cf16e7c5e4a", "", "", "Fu Kung! (V0.13) (01-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f3c431930e035a457fe370ed4d230659", "Activision", "AX-029", "Crackpots (1983) (Activision) (PAL) [p2][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "083b17a1a6b3efc464ba7e789f1e194d", "", "", "Greeting Cart (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "176d3fba7d687f2b23158098e103c34a", "", "", "Combat AI (16-02-2003) (Zach Matley)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "278155fc9956e9b6ef2359eb238f7c7f", "", "", "Donkey Kong Junior (Coleco) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "368d88a6c071caba60b4f778615aae94", "Atari", "CX26159", "Double Dunk (1989) (Atari)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "467340a18158649aa5e02a4372dcfccd", "", "", "H.E.R.O. (1984) (Activision) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "599cbf919d47a05af975ad447df29497", "", "", "Baubles (V0.002) (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "67cf913d1df0bf2d7ae668060d0b6694", "", "", "Hangman Monkey 4letter (Hangman Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "791bc8aceb6b0f4d9990d6062b30adfa", "Activision", "AB-035-04", "Pitfall! (1982) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "89a68746eff7f266bbf08de2483abe55", "Atari", "CX2696", "Asterix (1988) (Atari) (Prototype) (NTSC)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9e192601829f5f5c2d3b51f8ae25dbe5", "Mystique", "", "Cathouse Blues (1982) (Mystique)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "aeb104f1e7b166bc0cbaca0a968fde51", "Rob Kudla", "", "Ms. Pac-Man (1982) (Atari) [h1]", "Hack of Ms. Pac-Man (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c225abfb584960efe1f359fc94b73379", "", "", "Joustpong (21-09-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0cdafcb000b9ae04ac465f17788ad11", "Starsoft", "", "Alice's Abenteuer (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df62a658496ac98a3aa4a6ee5719c251", "", "CX2626 / 99829 / 75116", "Arcade Golf (1979) (Sears)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ef66af190840871409fe1702d2483554", "", "", "DiscoTech (12-02-2003) (Andrew Davie, Paul Slocum And Christopher Tumber)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa529ec88eca679f6d5fd0ccb2120e46", "", "", "20 Sprites at Once Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "56300ed31fef018bd96768ccc982f7b4", "HES", "", "Rad Action Pak - Kung-Fu,Frostb,Freeway (1990) (HES) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6672de8f82c4f7b8f7f1ef8b6b4f614d", "Ariola", "", "Angling (Ariola) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "76a9bf05a6de8418a3ebc7fc254b71b4", "Videosoft", "VS1008", "Color Bar Generator (Videosoft)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "876a953daae0e946620cf05ed41989f4", "Retroactive", "", "Qb (V2.08) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "9ad362179c2eea4ea115c7640b4b003e", "Activision", "AX-013", "Barnstorming (1982) (Activision) [p1][!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "acb6787b938079f4e74313a905ec3ceb", "", "", "Chronocolor Donkey Kong (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "be929419902e21bd7830a7a7d746195d", "Activision", "AX-025", "Keystone Kapers (1983) (Activision)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cf3a9ada2692bb42f81192897752b912", "Mattel", "MT5861", "Air Raiders (1982) (Mattel) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de1e9fb700baf8d2e5ae242bffe2dbda", "Activision", "", "Commando (1988) (Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ebf9038e927e6a0db3e0d170c59911e6", "", "", "Pac-2600 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb0c32ef7af5b45486db663510094be8", "", "", "Demo Image Series #15 - Three Marios (NTSC) (Non-Interleave) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "04dfb4acac1d0909e4c360fd2ac04480", "", "", "Jammed (2001) (XYPE) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "24", "", "", "", "" }, { "0c7926d660f903a2d6910c254660c32c", "Atari", "CX2602", "Air-Sea Battle (1977) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "260", "", "", "" }, { "13a991bc9c2ff03753aeb322d3e3e2e5", "Funvision", "", "Galactic (G) (Funvision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -48,29 +48,29 @@ static const char* DefProps[][23] = { { "324cb4a749bcac4f3db9da842b85d2f7", "", "", "Climber 5 (01-05-2003) (Dennis Debro)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "28", "", "", "", "NO" }, { "3a771876e4b61d42e3a3892ad885d889", "Atari", "CX26120", "Defender II (1984) (Atari)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "41810dd94bd0de1110bedc5092bef5b0", "Imagic", "IA3611", "Dragonfire (1982) (Imagic) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b205ef73a5779acc5759bde3f6d33ed", "Atari", "", "Berzerk (1982) (Atari) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5385cf2a04de1d36ab55c73174b84db0", "", "", "Combat Rock (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5df32450b9fbcaf43f9d83bd66bd5a81", "", "", "Atari Logo Playfield Demo (2001) (Eric Ball) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "655c84e5b951258c9d20f0bf2b9d496d", "", "", "2600_2003 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6b8fb021bb2e1f1e9bd7ee57f2a8e709", "", "", "3-D Corridor (29-03-2003) (Paul Slocum) (PD) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7450ae4e10ba8380c55b259d7c2b13e8", "", "", "Register Twiddler Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ccf350354ee15cd9b85564a2014b08c", "", "", "Big Dig (13-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "85478bb289dfa5c63726b9153992a920", "", "", "Candi (Space Invaders Hack)", "Hack of Space Invaders (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8f53a3b925f0fd961d9b8c4d46ee6755", "Starsoft", "SM8002", "Astrowar (Starsoft)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "98555b95cb38e0e0b22b482b2b60a5b6", "", "", "Fire Spinner (Emag) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "a28d872fc50fa6b64eb35981d0f4bb8d", "Atari", "CX2628 / 6699842 / 4975117", "Bowling (1978) (Atari) [o1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab5bf1ef5e463ad1cbb11b6a33797228", "Imagic", "IA3204", "Cosmic Ark (1982) (Imagic) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b2f0d7217147160b2f481954cedf814b", "", "", "Marquee Drawer (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "bdb4b584ddc90c9d2ec7e21632a236b6", "", "", "Nitemare at Sunshine Bowl-a-Rama (beta 1) (Atari Freak 1)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5d2834bf98e90245e545573eb7e6bbc", "CCE", "CX26111", "Snoopy and the Red Baron (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ce17325834bf8b0a0d0d8de08478d436", "", "", "Boring Freeway (Freeway Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d573089534ca596e64efef474be7b6bc", "Parker Bros", "", "Action Force (1983) (Parker Bros) (PAL) [h1]", "Uses the Paddle (left) and Joystick (right) Controllers", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, - { "dcec46a98f45b193f07239611eb878c2", "", "", "Bars and Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e2ca84a2bb63d1a210ebb659929747a9", "", "", "Cosmic Creeps (1982) (Telesys) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "eafe8b40313a65792e88ff9f2fe2655c", "Eric Ball", "ELB004", "Skeleton+ (NTSC)", "Stereo sound", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f280976d69d6e27a48506bd6bad11dcd", "Atari", "CX2664 / 6699818", "Brain Games (1982) (Atari) (PAL) [!]", "Uses Keypad Controllers", "Uncommon", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, - { "f8ff34b53d86f55bd52d7a520af6d1dc", "", "", "Big Dig (04-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fc2233fc116faef0d3c31541717ca2db", "Atari", "CX2646", "Pac-Man (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4a1a0509bfc1015273a542dfe2040958", "Atari", "CX2628 / 6699842 / 4975117", "Bowling (1978) (Atari) [b1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "51de328e79d919d7234cf19c1cd77fbc", "Atari", "CX2678", "Dukes of Hazzard (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5b98e0536c3f60547dd708ae22adb04b", "", "", "Donkey Kong Gingerbread Man (Prototype) (Ben Hudman)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63a6eda1da30446569ac76211d0f861c", "Activision", "AG-001", "Dragster (1980) (Activision) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "27", "", "", "", "" }, + { "69ebf910ab9b63e5b8345f016095003b", "", "", "Maze Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72876fd7c7435f41d571f1101fc456ea", "Starsoft", "", "Die Ente und der Wolf (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "26", "", "", "", "" }, + { "7a93d0c029eaa72236523eedc3f19645", "", "", "20 Sprites at Once Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "826481f6fc53ea47c9f272f7050eedf7", "Imagic", "", "Atlantis II (1982) (Imagic) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8c8a26ed57870daba8e13162d497bad1", "HES", "", "2 Pak Special - Dolphin, Pigs 'N Wolf (1990) (HES) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "962ffd3eaf865230a7a312b80e6c5cfd", "", "", "Fathom (1983) (Imagic) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "9fc2d1627dcdd8925f4c042e38eb0bc9", "Atari", "CX2688", "Jungle Hunt (1982) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8d4a9500b18b0a067a1f272f869e094", "", "", "Red And White Checkerboard Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b061e98a4c854a672aadefa233236e51", "Atari", "CX2624", "Basic Programming (1978) (Atari) (PAL) [!]", "Uses Keypad Controllers", "Common", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "YES", "", "" }, + { "b9f6fa399b8cd386c235983ec45e4355", "Parker Bros", "", "Action Force (1983) (Parker Bros) (PAL) [!]", "Uses the Paddle (left) and Joystick (right) Controllers", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, + { "c3472fa98c3b452fa2fd37d1c219fb6f", "Atari", "CX2637 / 4975158", "Dodge 'em (1980) (Atari) [a1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cbad928e10aeee848786cc55394fb692", "", "", "Fu Kung! (V0.06a Cuttle Cart Compatible) (15-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d28afe0517a046265c418181fa9dd9a1", "Atari", "CX2637", "Dodge 'em (Atari) (PAL) [p1][!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dad2ab5f66f98674f12c92abcfbf3a20", "", "", "Blue and White Sprite Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e0de3773f5b867795db557be7b8a703e", "", "", "Boulderdash (13 Blocks Wide) (02-04-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e80a4026d29777c3c7993fbfaee8920f", "R.J.P.G.", "", "Brick Kick (RJPG)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "efffafc17b7cb01b9ca35324aa767364", "Cooper Black", "", "See Saw (Cooper Black) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7a138eed69665b5cd1bfa796a550b01", "Tigervision", "7-012", "Espial (1983) (Tigervision) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd4f5536fd80f35c64d365df85873418", "Atari", "CX26140", "Desert Falcon (1987) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "22", "", "", "", "" }, { "028024fb8e5e5f18ea586652f9799c96", "Coleco", "2468", "Carnival (1982) (Coleco)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "26", "214", "", "", "" }, { "06b6c5031b8353f3a424a5b86b8fe409", "Activision", "AX-023", "Oink! (1983) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0a981c03204ac2b278ba392674682560", "Atari", "CX2651 / 6699805 / 4975602", "Blackjack (1977) (Atari) [a1]", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, @@ -89,52 +89,52 @@ static const char* DefProps[][23] = { { "3c82e808fe0e6a006dc0c4e714d36209", "Activision", "AG-004", "Fishing Derby (1980) (Activision) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "3f9cb1aba8ec20e2c243ae642f9942bf", "", "", "New Questions (1998) (John K. Harvey) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "442602713cb45b9321ee93c6ea28a5d0", "Imagic", "", "Demon Attack (1982) (Imagic) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "490e3cc59d82f85fae817cdf767ea7a0", "Atari", "", "Berzerk (1982) (Atari) (PAL) [p2][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d2cef8f19cafeec72d142e34a1bbc03", "HES", "", "2 Pak Special Yellow - Star Warrior,Frogger (1990) (HES) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "51de328e79d919d7234cf19c1cd77fbc", "Atari", "CX2678", "Dukes of Hazzard (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "56300ed31fef018bd96768ccc982f7b4", "HES", "", "Rad Action Pak - Kung-Fu,Frostb,Freeway (1990) (HES) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5b98e0536c3f60547dd708ae22adb04b", "", "", "Donkey Kong Gingerbread Man (Prototype) (Ben Hudman)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f73e7175474c1c22fb8030c3158e9b3", "Atari", "CX2665", "Frog Pond (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63a6eda1da30446569ac76211d0f861c", "Activision", "AG-001", "Dragster (1980) (Activision) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "27", "", "", "", "" }, - { "6672de8f82c4f7b8f7f1ef8b6b4f614d", "Ariola", "", "Angling (Ariola) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "69ebf910ab9b63e5b8345f016095003b", "", "", "Maze Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6e372f076fb9586aff416144f5cfe1cb", "Atari", "CX2646 / 4975185", "Pac-Man (1981) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "33", "", "", "", "" }, - { "72876fd7c7435f41d571f1101fc456ea", "Starsoft", "", "Die Ente und der Wolf (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "26", "", "", "", "" }, - { "76a9bf05a6de8418a3ebc7fc254b71b4", "Videosoft", "VS1008", "Color Bar Generator (Videosoft)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7a93d0c029eaa72236523eedc3f19645", "", "", "20 Sprites at Once Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7eaf009a892f03d90682dc1e67e85f07", "", "", "Bounce! (18-03-2003) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "826481f6fc53ea47c9f272f7050eedf7", "Imagic", "", "Atlantis II (1982) (Imagic) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "876a953daae0e946620cf05ed41989f4", "Retroactive", "", "Qb (V2.08) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "8c8a26ed57870daba8e13162d497bad1", "HES", "", "2 Pak Special - Dolphin, Pigs 'N Wolf (1990) (HES) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "91c2098e88a6b13f977af8c003e0bca5", "Atari", "CX2676", "Centipede (1982) (Atari) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "962ffd3eaf865230a7a312b80e6c5cfd", "", "", "Fathom (1983) (Imagic) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "9ad362179c2eea4ea115c7640b4b003e", "Activision", "AX-013", "Barnstorming (1982) (Activision) [p1][!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a0297c4788f9e91d43e522f4c561b4ad", "Atari", "CX26102", "Cookie Monster Munch (1983) (Atari) (PAL) [!]", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, - { "a4aa7630e4c0ad7ebb9837d2d81de801", "", "", "Atari 2600 Invaders (Space Invaders Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a957dbe7d85ea89133346ad56fbda03f", "", "", "Asteroids (1979) (Atari) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "ad2e6bfb3b9b9b36ba8bf493ce764c49", "", "", "2600 Collison Demo 1 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b12a7f63787a6bb08e683837a8ed3f18", "", "", "Demon Attack (1982) (Imagic) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b65d4a38d6047735824ee99684f3515e", "", "", "Megaboy (Brazil) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bb34d1b831aa1f6b3c3452d80d01a759", "", "", "Miss Piggy's Wedding (Prototype) [b2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bfcabc6995ef42d0b6c06786993dc4d6", "", "", "Star Fire - Creating a Universe (09-09-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c471b97446a85304bbac021c57c2cb49", "First Star Software", "", "Boing! (1983) (First Star Software) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "c7f13ef38f61ee2367ada94fdcc6d206", "Parker Bros", "PB5370", "Popeye (1983) (Parker Bros) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "cc3d942c6958bd16b1c602623f59e6e1", "", "", "Pigs in Space starring Miss Piggy (1986) (Atari) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfe62ed7125ff9fae99b4c8a367c0399", "Activision", "AX-026", "Enduro (1983) (Activision) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d341d39774277cee6a1d378a013f92ac", "", "", "Artillery Duel (1983) (Xonox) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "20", "", "", "", "" }, - { "d7891b0faa4c7f764482762d0ed427a5", "", "", "Bars and Text Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "db339aea2b65b84c7cfe0eeab11e110a", "", "", "Chronocolor Frame Demo 2 (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de1e9fb700baf8d2e5ae242bffe2dbda", "Activision", "", "Commando (1988) (Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e0de3773f5b867795db557be7b8a703e", "", "", "Boulderdash (13 Blocks Wide) (02-04-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e4c00beb17fdc5881757855f2838c816", "20th Century Fox", "11004", "Deadly Duck (1982) (20th Century Fox) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e88340f5bd2f03e2e9ce5ecfa9c644f5", "Mattel", "MT5663", "Lock 'N' Chase (1982) (Mattel) (PAL) [p1][!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed2218b3075d15eaa34e3356025ccca3", "Atari", "CX2635 / 4975157", "Maze Craze (1978) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "PAL", "", "", "", "", "", "", "" }, - { "f1127ade54037236e75a133b1dfc389d", "Starpath", "AR-4200", "Escape from the Mindmaster Preview (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f48735115ec302ba8bb2d2f3a442e814", "", "", "Dancing Plates (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "f7e07080ed8396b68f2e5788a5c245e2", "", "TP-617", "Farmyard Fun (Telegames) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "33", "217", "", "", "" }, - { "f97dee1aa2629911f30f225ca31789d4", "Avalon Hill", "", "Out of Control (1983) (Avalon Hill)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb4ca865abc02d66e39651bd9ade140a", "Starpath", "AR-4104", "Rabbit Transit (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd7464edaa8cc264b97ba0d13e7f0678", "HES", "", "2 Pak Special Black - Challenge,Surfing (HES) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "481d20ec22e7a63e818d5ef9679d548b", "", "", "Freeway (AKA Rabbits) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c0fb2544ae0f8b5f7ae8bce7bd7f134", "Starpath", "AR-4302", "Party Mix Preview (1982) (Starpath)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "24", "", "", "", "" }, + { "4f618c2429138e0280969193ed6c107e", "Activision", "AZ-028", "Robot Tank (1983) (Activision) [!]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5385cf2a04de1d36ab55c73174b84db0", "", "", "Combat Rock (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "599cbf919d47a05af975ad447df29497", "", "", "Baubles (V0.002) (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5df32450b9fbcaf43f9d83bd66bd5a81", "", "", "Atari Logo Playfield Demo (2001) (Eric Ball) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6141c095d0aee4e734bebfaac939030a", "Starsoft", "", "Die Unterwasser-Bestien (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "655c84e5b951258c9d20f0bf2b9d496d", "", "", "2600_2003 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "67cf913d1df0bf2d7ae668060d0b6694", "", "", "Hangman Monkey 4letter (Hangman Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6b8fb021bb2e1f1e9bd7ee57f2a8e709", "", "", "3-D Corridor (29-03-2003) (Paul Slocum) (PD) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "703d32062436e4c20c48313dff30e257", "", "", "Moving Maze Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "7450ae4e10ba8380c55b259d7c2b13e8", "", "", "Register Twiddler Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "791bc8aceb6b0f4d9990d6062b30adfa", "Activision", "AB-035-04", "Pitfall! (1982) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ccf350354ee15cd9b85564a2014b08c", "", "", "Big Dig (13-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "807a8ff6216b00d52aba2dfea5d8d860", "John Payson", "", "Strat-O-Gems Deluxe", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "85478bb289dfa5c63726b9153992a920", "", "", "Candi (Space Invaders Hack)", "Hack of Space Invaders (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "89a68746eff7f266bbf08de2483abe55", "Atari", "CX2696", "Asterix (1988) (Atari) (Prototype) (NTSC)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8f53a3b925f0fd961d9b8c4d46ee6755", "Starsoft", "SM8002", "Astrowar (Starsoft)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "93c9f9239a4e5c956663dd7affa70da2", "Starsoft", "", "Billard (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "98555b95cb38e0e0b22b482b2b60a5b6", "", "", "Fire Spinner (Emag) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "9e01f7f95cb8596765e03b9a36e8e33c", "Atari", "CX26103", "Alpha Beam with Ernie (1983) (Atari)", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, + { "a20b7abbcdf90fbc29ac0fafa195bd12", "Starsoft", "", "Motocross (Starsoft) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a6127f470306eed359d85eb4a9cf3c96", "Atari", "CX26110", "Crystal Castles (1984) (Atari) [p1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab434f4c942d6472e75d5490cc4dd128", "HES", "", "2 Pak Special Light Green - Hoppy,Alien Force (HES) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae83541cf4a4c0bce0adccd2c1bf6288", "", "", "Maze 003 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2b78febdbc0ac184084092c1375162a", "", "", "Decathlon (1983) (Activision) (PAL) [b1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b7903268e235310dc346a164af4c7022", "UA / Thomas Jentzsch", "", "Cat Trax (PAL60 by Thomas Jentzsch)", "", "New Release (Video Format Conversion)", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "11", "", "YES", "", "" }, + { "bc526185ad324241782dc68ba5d0540b", "", "", "Dodge Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c16c79aad6272baffb8aae9a7fff0864", "US Games", "VC 2001", "Gopher (1982) (US Games)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c5124e7d7a8c768e5a18bde8b54aeb1d", "", "", "Cosmic Ark (1982) (Imagic) (White Label) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c9d02d3cfeef8b48fb71cb4520a4aa84", "", "", "Euchre (More for less) (PAL) (22-08-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd38ad19f51b1048d8e5e99c86a2a655", "", "", "Demo Image Series #5 - Flag (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d05e371765929bf5d39c91c6ea189bec", "", "", "Death Derby (v0005 New Build) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d4806775693fcaaa24cf00fc00edcdf3", "Atari", "CX26140", "Desert Falcon (1987) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "22", "", "", "", "" }, + { "d86deb100c6abed1588aa84b2f7b3a98", "Atari", "CX2625 / 6699827 / 4975114", "Football (1978) (Atari) [o1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dcec46a98f45b193f07239611eb878c2", "", "", "Bars and Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df62a658496ac98a3aa4a6ee5719c251", "", "CX2626 / 99829 / 75116", "Arcade Golf (1979) (Sears)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e2ca84a2bb63d1a210ebb659929747a9", "", "", "Cosmic Creeps (1982) (Telesys) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "e5fcc62e1d73706be7b895e887e90f84", "Atari", "", "Air-Sea Battle (1977) (Atari) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "260", "", "", "" }, + { "eada0dd61ce13f8317de774dc1e68604", "", "", "2600 Digital Clock (Demo 1) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee6665683ebdb539e89ba620981cb0f6", "Coleco", "2658", "Berenstain Bears (1982) (Coleco)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "25", "", "", "", "" }, + { "f1929bb9b5db22d98dd992aa3fe72920", "", "", "Cube Conquest (Improved Interlace) (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "f5d103a9ae36d1d4ee7eef657b75d2b3", "Starpath", "AR-4105", "Frogger Preview (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "31", "", "", "", "" }, + { "f9677b2ec8728a703eb710274474613d", "Atari", "CX2604", "Space War (1978) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fbe554aa8f759226d251ba6b64a9cce4", "Atari", "CX2681", "Battlezone (1983) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, + { "fe9ae625d924b54c9f8a14ac9a0f6c6d", "", "", "High Bid! (BG Dodson) (Pepsi Invaders Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "012020625a3227815e47b37fd025e480", "Atari", "CX2632", "Better Space Invaders (1999) (Rob Kudla) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "038e1e79c3d4410defde4bfe0b99cc32", "Atari", "", "Aquaventure (1983) (Atari) (Prototype)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, { "05d61b925d3d2474bab83f0a79bb5df1", "", "", "Cosmic Ark Stars (1997) (Eckhard Stolberg)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -171,10 +171,11 @@ static const char* DefProps[][23] = { { "4093382187f8387e6d011883e8ea519b", "HomeVision", "554-33391", "Col 'N (HomeVision)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "220", "", "", "" }, { "4279485e922b34f127a88904b31ce9fa", "Activision", "AX-026", "Enduro (1983) (Activision) [p1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "456453a54ca65191781aef316343ae00", "", "", "Full Screen Bitmap (3-D Green) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47b82d47e491ac7fdb5053a88fccc832", "", "", "Asteroid 2 (Atari Freak 1 and Franklin Cruz)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "4a6be79310f86f0bebc7dfcba4d74161", "Telesys", "1006", "Demolition Herby (1982) (Telesys) (PAL) [p1][!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "4c4ce802cbfd160f7b3ec0f13f2a29df", "", "", "Beta Demo (V1.1) (26-09-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4dd6f53684ccbb569fe9f41498d80018", "", "", "Image - Nude1 (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47711c44723da5d67047990157dcb5dd", "CCE", "", "Ice Hockey (CCE)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "490e3cc59d82f85fae817cdf767ea7a0", "Atari", "", "Berzerk (1982) (Atari) (PAL) [p2][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b143d7dcf6c96796c37090cba045f4f", "Atari", "CX2644 / 99824 / 99824", "Flag Capture (1978) (Atari) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4ca0959f846d2beada18ecf29efe137e", "Atari", "CX2666", "RealSports Volleyball (1982) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4e15ddfd48bca4f0bf999240c47b49f5", "", "50010", "Death Trap (1983) (Avalon Hill)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "502044b1ac111b394e6fbb0d821fca41", "", "", "Hangman Invader 4letter (Hangman Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "52bae1726d2d7a531c9ca81e25377fc3", "", "", "Space Instigators (V1.8 Fixed) (20-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "54785fa29e28aae6038929ba29d33d38", "", "", "Poker Squares (V0.19) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -191,7 +192,7 @@ static const char* DefProps[][23] = { { "6a9e0c72fab92df70084eccd9061fdbd", "CCE", "", "Beany Bopper (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "6d218dafbf5a691045cdc1f67ceb6a8f", "", "", "6 Digit Score Display (1998) (Robin Harbron) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "6f74ed915ffe73b524ef0f63819e2a1d", "", "", "An Exercise In Minimalism (V2) (1999) (Eckhard Stolberg)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "715dd9e0240638d441a3add49316c018", "", "", "128-in-1 Junior Console (Chip 2) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "715dd9e0240638d441a3add49316c018", "", "", "128-in-1 Junior Console (Chip 2) (PAL) [!]", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "", "", "", "", "", "" }, { "73158ea51d77bf521e1369311d26c27b", "Zellers", "", "Challenge (Zellers) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "25", "", "", "", "" }, { "757f529026696e13838364dea382a4ed", "Activision", "AX-014", "Grand Prix (1982) (Activision) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "77cd9a9dd810ce8042bdb9d40e256dfe", "", "", "Evil Dead (2003) (Kyle Pittman) (Haunted House Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -211,58 +212,57 @@ static const char* DefProps[][23] = { { "97327d6962f8c64e6f926f79cd01c6b9", "Tigervision", "", "Jawbreaker (1982) (Tigervision) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9905f9f4706223dadee84f6867ede8e3", "Funvision", "", "Challenge (Funvision) (PAL) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9c6fd6ed3599978ab7b6f900484b9be6", "Andrew Wallace", "", "Laseresal 2002 (PAL-60) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9f2d58dce1b81c6ba201ed103507c025", "", "", "Fu Kung! (V0.02) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a184846d8904396830951217b47d13d9", "Activision", "AX-029", "Crackpots (1983) (Activision) [a1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a3fee8ce15525ea00d45a06f04c215d1", "Aaron Curtis", "", "AStar (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "", "", "", "", "" }, - { "a591b5e8587aae0d984a0f6fe2cc7d1c", "", "", "Globe Trotter Demo (24-03-2003) (Weston)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8435ec570141de5d833c4abec499e55", "", "", "Happy Birthday Demo (2001) (Dennis Debro) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aacbf0dd6021bc5f4cee6c96ff37e84f", "", "", "Death Derby (v0001) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ac5f78bae0638cf3f2a0c8d07eb4df69", "", "", "Minesweeper (V.99) (Soren Gust) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae10527840a1ac24de43730645ed508d", "Atari / Charles Morgan", "", "Planet Invaders by Charles Morgan (Space Invaders Hack)", "Hack of Space Invaders (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aff8cba0f2d2eb239953dd7116894a08", "Starpath", "AR-4400", "Dragonstomper (3 of 3) (1982) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b21ee4639476eaec8204f00c712b7497", "Tigervision", "7-008", "Miner 2049er (1982) (Tigervision) [b1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b451307b8b5e29f1c5f2cf064f6c7227", "", "", "Demo Image Series #6 - Mario (Fixed) (26-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b7903268e235310dc346a164af4c7022", "UA / Thomas Jentzsch", "", "Cat Trax (PAL60 by Thomas Jentzsch)", "", "New Release (Video Format Conversion)", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "11", "", "YES", "", "" }, - { "b9f6fa399b8cd386c235983ec45e4355", "Parker Bros", "", "Action Force (1983) (Parker Bros) (PAL) [!]", "Uses the Paddle (left) and Joystick (right) Controllers", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, - { "bc526185ad324241782dc68ba5d0540b", "", "", "Dodge Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "be929419902e21bd7830a7a7d746195d", "Activision", "AX-025", "Keystone Kapers (1983) (Activision)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c16c79aad6272baffb8aae9a7fff0864", "US Games", "VC 2001", "Gopher (1982) (US Games)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c3472fa98c3b452fa2fd37d1c219fb6f", "Atari", "CX2637 / 4975158", "Dodge 'em (1980) (Atari) [a1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5124e7d7a8c768e5a18bde8b54aeb1d", "", "", "Cosmic Ark (1982) (Imagic) (White Label) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c73ae5ba5a0a3f3ac77f0a9e14770e73", "Starpath", "AR-4105", "Frogger (Official Version by Sega) (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "32", "", "", "", "" }, - { "c9d02d3cfeef8b48fb71cb4520a4aa84", "", "", "Euchre (More for less) (PAL) (22-08-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cbad928e10aeee848786cc55394fb692", "", "", "Fu Kung! (V0.06a Cuttle Cart Compatible) (15-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd38ad19f51b1048d8e5e99c86a2a655", "", "", "Demo Image Series #5 - Flag (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cf3a9ada2692bb42f81192897752b912", "Mattel", "MT5861", "Air Raiders (1982) (Mattel) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d05e371765929bf5d39c91c6ea189bec", "", "", "Death Derby (v0005 New Build) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d28afe0517a046265c418181fa9dd9a1", "Atari", "CX2637", "Dodge 'em (Atari) (PAL) [p1][!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d4806775693fcaaa24cf00fc00edcdf3", "Atari", "CX26140", "Desert Falcon (1987) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "22", "", "", "", "" }, - { "d632b74fea533d593af82cf16e7c5e4a", "", "", "Fu Kung! (V0.13) (01-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d86deb100c6abed1588aa84b2f7b3a98", "Atari", "CX2625 / 6699827 / 4975114", "Football (1978) (Atari) [o1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dad2ab5f66f98674f12c92abcfbf3a20", "", "", "Blue and White Sprite Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9eca521db1959156a115dee85a405194", "", "", "Fu Kung! (V0.08) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a100eff2d7ae61ca2b8e65baf7e2aae8", "David Marli", "", "Muncher by David Marli (Pac-Man Hack)", "Hack of Pac-Man (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "33", "", "", "", "" }, + { "a310494ad5ba2b5b221a30d7180a0336", "", "", "Demo Image Series #6 - Mario (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4f1cea2c8479284e2a2292f8d51b5fa", "", "", "Gunfight 2600 - The Final Kernel Part 2 (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a7cf2b9afdbb3a161bf418dbcf0321dc", "", "", "Attack Of The Mutant Space Urchins (2002) (Barry Laws Jr.) (Alien Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "a9cb638cd2cb2e8e0643d7a67db4281c", "Mattel", "MT5861", "Air Raiders (1982) (Mattel) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ac0ddbcff34d064009591607746e33b8", "", "", "Atlantis FH (2003) (TJ) (Atlantis Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "adf1afac3bdd7b36d2eda5949f1a0fa3", "Starsoft", "", "Angriff der Luftflotten (AKA Paris Attack) (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "afe4eefc7d885c277fc0649507fbcd84", "Atari", "", "Cosmic Swarm (32-in-1) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "b1c4f026a854385259020744e589faa6", "", "", "Greeting Cart Blond on Brunette (SnailSoft)(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b4030c38a720dd84b84178b6ce1fc749", "Mattel", "MT5687", "International Soccer (1982) (Mattel)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b6960be26bee87d53ba4e2e71cfe772f", "", "", "3-D Corridor (Spiral Words) (31-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b8ed78afdb1e6cfe44ef6e3428789d5f", "Data Age", "112-007", "Bermuda Triangle (1982) (Data Age) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bb34d1b831aa1f6b3c3452d80d01a759", "", "", "Miss Piggy's Wedding (Prototype) [b2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bdb4b584ddc90c9d2ec7e21632a236b6", "", "", "Nitemare at Sunshine Bowl-a-Rama (beta 1) (Atari Freak 1)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bfcabc6995ef42d0b6c06786993dc4d6", "", "", "Star Fire - Creating a Universe (09-09-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c225abfb584960efe1f359fc94b73379", "", "", "Joustpong (21-09-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c471b97446a85304bbac021c57c2cb49", "First Star Software", "", "Boing! (1983) (First Star Software) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "c5d2834bf98e90245e545573eb7e6bbc", "CCE", "CX26111", "Snoopy and the Red Baron (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c7f13ef38f61ee2367ada94fdcc6d206", "Parker Bros", "PB5370", "Popeye (1983) (Parker Bros) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "ca7abc774a2fa95014688bc0849eee47", "Atari", "CX26110", "Crystal Castles (1984) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cc3d942c6958bd16b1c602623f59e6e1", "", "", "Pigs in Space starring Miss Piggy (1986) (Atari) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ce17325834bf8b0a0d0d8de08478d436", "", "", "Boring Freeway (Freeway Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfe62ed7125ff9fae99b4c8a367c0399", "Activision", "AX-026", "Enduro (1983) (Activision) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0cdafcb000b9ae04ac465f17788ad11", "Starsoft", "", "Alice's Abenteuer (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d341d39774277cee6a1d378a013f92ac", "", "", "Artillery Duel (1983) (Xonox) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "20", "", "", "", "" }, + { "d573089534ca596e64efef474be7b6bc", "Parker Bros", "", "Action Force (1983) (Parker Bros) (PAL) [h1]", "Uses the Paddle (left) and Joystick (right) Controllers", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, + { "d7891b0faa4c7f764482762d0ed427a5", "", "", "Bars and Text Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "da0fb2a484d0d2d8f79d6e063c94063d", "", "", "Air Raiders (1982) (Mattel) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dbc7485ad5814d466de780a3e7ed3b46", "Kyle Pittman", "", "Pink Floyd (Kyle Pittman) (PD)", "Hack of Adventures of Tron (Mattel)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dd7884b4f93cab423ac471aa1935e3df", "", "", "Asteroids (1979) (Atari) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "dea0ade296f7093e71185e802b500db8", "CCE", "", "Fishing Derby (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dff33523ccd2fdc8912e84cab8e0d982", "", "", "Fu Kung! (V0.03) (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e1a51690792838c5c687da80cd764d78", "", "", "Alligator People (20th Century Fox) (Prototype) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e3c35eac234537396a865d23bafb1c84", "", "", "Nuts (Technovision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e5a6e0bb7d56e2f08b237e15076e5699", "", "", "Color Table Display Helper (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e784a9d26707cfcd170a4c1c60422a72", "Starsoft", "", "Gefecht im All (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9c71f8cdba6037521c9a3c70819d171", "20th Century Fox", "11012", "Bank Heist (1983) (20th Century Fox) (w-Skull Island Label) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ec407a206b718a0a9f69b03e920a0185", "Starsoft", "", "Landung in der Normandie (Starsoft) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee6665683ebdb539e89ba620981cb0f6", "Coleco", "2658", "Berenstain Bears (1982) (Coleco)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "25", "", "", "", "" }, - { "f0536303f49006806bac3aec15738336", "Starpath", "AR-4200", "Escape from the Mindmaster (4 of 4) (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, - { "f1a0a23e6464d954e3a9579c4ccd01c8", "20th Century Fox", "11006", "Alien (1982) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "f38358cd8f5ecfedffd5aca1aa939f18", "CosmoVision-Universal Gamex", "GX-001", "X-Man (1983) (CosmoVision-Universal Gamex) [a1]", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "" }, - { "f687ec4b69611a7f78bd69b8a567937a", "Activision", "AZ-028", "Robot Tank (1983) (Activision) (PAL) [!]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f750b5d613796963acecab1690f554ae", "Manuel Polik", "", "Gunfight 2600 (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f847fb8dba6c6d66d13724dbe5d95c4d", "Absolute", "AZ-042 / AG-042", "Skate Boardin' (1987) (Absolute)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f965cc981cbb0822f955641f8d84e774", "Answer", "", "Confrontation (1983) (Answer Software)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "30", "220", "YES", "", "" }, - { "f9de91d868d6ebfb0076af9063d7195e", "", "", "Maze Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "faebcb2ef1f3831b2fc1dbd39d36517c", "Atari", "CX2696", "Asterix (1988) (Atari) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fbac6476e7b2b20d246202af81662c88", "Starpath", "AR-4400", "Dragonstomper Preview (1982) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fcea12625c071ddc49f4e409f4038c60", "", "", "Balls! (16-09-2002) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "feeae23f2eeac44b81a43e8292d0c574", "", "", "Greeting Cart Halle Berry (SnailSoft)(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e549f1178e038fa88dc6d657dc441146", "Atari", "CX2625 / 6699827 / 4975114", "Football (1978) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e73838c43040bcbc83e4204a3e72eef4", "CCE", "", "Apples and Dolls (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "e932f44fad2a66b6d5faec9addec208e", "", "", "Atari Logo Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb6d6e22a16f30687ade526d7a6f05c5", "Atari", "CX26150", "Q-bert (1988) (Atari) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed014beeeb77dbb2bbcf9b5f6850b2f4", "", "", "Green Bar Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ef263d40a23483ab339cac44d9515a56", "", "", "Fatal Run (NTSC Conversion) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0cacae1d1b79ee92f0dc035f42e0560", "", "", "Boring Donkey Kong (Donkey Kong Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f280976d69d6e27a48506bd6bad11dcd", "Atari", "CX2664 / 6699818", "Brain Games (1982) (Atari) (PAL) [!]", "Uses Keypad Controllers", "Uncommon", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, + { "f48735115ec302ba8bb2d2f3a442e814", "", "", "Dancing Plates (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "f6daebc0424fa0f8d9aaf26c86df50f4", "", "", "Color Tweaker (V1.0) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8ad87b3ecfc04c9e76d2cebef76a6cb", "", "", "Greeting Cart Carmon (SnailSoft)(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa4404fabc094e3a31fcd7b559cdd029", "Atari", "", "Bugs Bunny (Atari) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb88c400d602fe759ae74ef1716ee84e", "20th Century Fox", "11031", "Crash Dive (1983) (20th Century Fox)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "" }, + { "fc92d74f073a44bc6e46a3b3fa8256a2", "", "", "Megademo (19xx) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fdd4995a50395db14f518f63c2d63438", "", "", "Oh No! (Version 3) (18-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ff4ed162386c795b4fb434903295b571", "", "", "Death Derby (v0002) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "00ce76ad69cdc2fa36ada01ae092d5a6", "", "", "Cosmic Avenger (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "01b09872dcd9556427761f0ed64aa42a", "", "", "Galaga (River Raid clone) [p1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "" }, { "02e3f4ba156fb578bef7d7a0bf3400c1", "", "", "Booster (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -336,13 +336,15 @@ static const char* DefProps[][23] = { { "448c2a175afc8df174d6ff4cce12c794", "", "", "Pitfall II - Lost Caverns (1984) (Activision) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "461029ab23800833e9645be3e472d470", "", "", "Combat TC (v0.1)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "46e9428848c9ea71a4d8f91ff81ac9cc", "", "", "Astroblast (Telegames) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47b82d47e491ac7fdb5053a88fccc832", "", "", "Asteroid 2 (Atari Freak 1 and Franklin Cruz)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "4868a81e1b6031ed66ecd60547e6ec85", "Eric Mooney", "", "Invaders by Erik Mooney (V2.1) (1-3-98) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4999b45be0ab5a85bac1b7c0e551542b", "CCE", "", "Double Dragon (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4ae8c76cd6f24a2e181ae874d4d2aa3d", "20th Century Fox", "11015", "Flash Gordon (1983) (20th Century Fox) (PAL) [p1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c0fb2544ae0f8b5f7ae8bce7bd7f134", "Starpath", "AR-4302", "Party Mix Preview (1982) (Starpath)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "24", "", "", "", "" }, - { "4ca0959f846d2beada18ecf29efe137e", "Atari", "CX2666", "RealSports Volleyball (1982) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4dbf47c7f5ac767a3b07843a530d29a5", "Ric Pryor", "", "Breaking News (2002) (Ric Pryor) (Bump 'n' Jump Hack)", "Bump 'n' Jump Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4e4895c3381aa4220f8c2795d6338237", "", "", "Backwards Cannonball v1 (Human Cannonball Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "49571b26f46620a85f93448359324c28", "", "", "Save Our Ship (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "NTSC", "", "", "38", "", "", "", "" }, + { "4abb4c87a4c5f5d0c14ead2bb36251be", "Atari", "CX26135", "RealSports Boxing (1987) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4baada22435320d185c95b7dd2bcdb24", "Atari", "CX2682", "Krull (1983) (Atari) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c8832ed387bbafc055320c05205bc08", "Atari", "CX2601 / 6699801 / 4975124", "Combat (1977) (Atari) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d2cef8f19cafeec72d142e34a1bbc03", "HES", "", "2 Pak Special Yellow - Star Warrior,Frogger (1990) (HES) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4dd6f53684ccbb569fe9f41498d80018", "", "", "Image - Nude1 (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4e99ebd65a967cabf350db54405d577c", "Coleco", "2663", "Time Pilot (1983) (Coleco) [b1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4faeb04b1b7fb0fa25db05753182a898", "", "", "2600 Digital Clock (V x.xx) (PD) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "50a410a5ded0fc9aa6576be45a04f215", "Activision", "AG-019", "Sky Jinks (1982) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "52615ae358a68de6e76467e95eb404c7", "", "", "DJdsl-wopd (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, @@ -415,28 +417,29 @@ static const char* DefProps[][23] = { { "9989f974c3cf9c641db6c8a70a2a2267", "", "", "Colours Selector (Eckhard Stolberg) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9be58a14e055b0e7581fc4d6c2f6b31d", "", "", "Adventure (Color Scrolling) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9d2f05d0fe8b2dfcf770b02eda066fc1", "", "", "Push (V0.06) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9ea8ed9dec03082973244a080941e58a", "Eric Mooney, Piero Cavina", "", "INV+", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9fc2d1627dcdd8925f4c042e38eb0bc9", "Atari", "CX2688", "Jungle Hunt (1982) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a100eff2d7ae61ca2b8e65baf7e2aae8", "David Marli", "", "Muncher by David Marli (Pac-Man Hack)", "Hack of Pac-Man (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "33", "", "", "", "" }, - { "a20b7abbcdf90fbc29ac0fafa195bd12", "Starsoft", "", "Motocross (Starsoft) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a310494ad5ba2b5b221a30d7180a0336", "", "", "Demo Image Series #6 - Mario (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a422194290c64ef9d444da9d6a207807", "Mattel", "MT5667", "Dark Cavern (1982) (Mattel) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4f1cea2c8479284e2a2292f8d51b5fa", "", "", "Gunfight 2600 - The Final Kernel Part 2 (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a6127f470306eed359d85eb4a9cf3c96", "Atari", "CX26110", "Crystal Castles (1984) (Atari) [p1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a7cf2b9afdbb3a161bf418dbcf0321dc", "", "", "Attack Of The Mutant Space Urchins (2002) (Barry Laws Jr.) (Alien Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "a8d4a9500b18b0a067a1f272f869e094", "", "", "Red And White Checkerboard Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a9cb638cd2cb2e8e0643d7a67db4281c", "Mattel", "MT5861", "Air Raiders (1982) (Mattel) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab434f4c942d6472e75d5490cc4dd128", "HES", "", "2 Pak Special Light Green - Hoppy,Alien Force (HES) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ac0ddbcff34d064009591607746e33b8", "", "", "Atlantis FH (2003) (TJ) (Atlantis Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "acb6787b938079f4e74313a905ec3ceb", "", "", "Chronocolor Donkey Kong (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "adf1afac3bdd7b36d2eda5949f1a0fa3", "Starsoft", "", "Angriff der Luftflotten (AKA Paris Attack) (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae83541cf4a4c0bce0adccd2c1bf6288", "", "", "Maze 003 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "afe4eefc7d885c277fc0649507fbcd84", "Atari", "", "Cosmic Swarm (32-in-1) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "b061e98a4c854a672aadefa233236e51", "Atari", "CX2624", "Basic Programming (1978) (Atari) (PAL) [!]", "Uses Keypad Controllers", "Common", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "YES", "", "" }, - { "b1c4f026a854385259020744e589faa6", "", "", "Greeting Cart Blond on Brunette (SnailSoft)(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b2b78febdbc0ac184084092c1375162a", "", "", "Decathlon (1983) (Activision) (PAL) [b1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b4030c38a720dd84b84178b6ce1fc749", "Mattel", "MT5687", "International Soccer (1982) (Mattel)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b4f87ce75f7329c18301a2505fe59cd3", "Ariola", "", "Autorennen (AKA Grand Prix) (Ariola) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9e6fa031ece07919c816fba5dc8de43e", "", "", "Star Fire - Meteor Dance (13-11-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9f48eeb47836cf145a15771775f0767a", "Atari", "CX262", "Basic Programming (1978) (Atari)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "YES", "", "" }, + { "a0297c4788f9e91d43e522f4c561b4ad", "Atari", "CX26102", "Cookie Monster Munch (1983) (Atari) (PAL) [!]", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, + { "a184846d8904396830951217b47d13d9", "Activision", "AX-029", "Crackpots (1983) (Activision) [a1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a28d872fc50fa6b64eb35981d0f4bb8d", "Atari", "CX2628 / 6699842 / 4975117", "Bowling (1978) (Atari) [o1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a3fee8ce15525ea00d45a06f04c215d1", "Aaron Curtis", "", "AStar (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "", "", "", "", "" }, + { "a4aa7630e4c0ad7ebb9837d2d81de801", "", "", "Atari 2600 Invaders (Space Invaders Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a591b5e8587aae0d984a0f6fe2cc7d1c", "", "", "Globe Trotter Demo (24-03-2003) (Weston)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a74689a08746a667a299b0507e1e6dd9", "Starpath", "AR-4105", "Frogger (1982) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8435ec570141de5d833c4abec499e55", "", "", "Happy Birthday Demo (2001) (Dennis Debro) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a957dbe7d85ea89133346ad56fbda03f", "", "", "Asteroids (1979) (Atari) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "aacbf0dd6021bc5f4cee6c96ff37e84f", "", "", "Death Derby (v0001) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab5bf1ef5e463ad1cbb11b6a33797228", "Imagic", "IA3204", "Cosmic Ark (1982) (Imagic) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ac5f78bae0638cf3f2a0c8d07eb4df69", "", "", "Minesweeper (V.99) (Soren Gust) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ad2e6bfb3b9b9b36ba8bf493ce764c49", "", "", "2600 Collison Demo 1 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae4be3a36b285c1a1dff202157e2155d", "Spectravideo", "SA-210", "Master Builder (1983) (Spectravideo)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aeb104f1e7b166bc0cbaca0a968fde51", "Rob Kudla", "", "Ms. Pac-Man (1982) (Atari) [h1]", "Hack of Ms. Pac-Man (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aff8cba0f2d2eb239953dd7116894a08", "Starpath", "AR-4400", "Dragonstomper (3 of 3) (1982) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b12a7f63787a6bb08e683837a8ed3f18", "", "", "Demon Attack (1982) (Imagic) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2761efb8a11fc59b00a3b9d78022ad6", "Atari", "CX2651 / 6699805 / 4975602", "Blackjack (1977) (Atari) [o1]", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, + { "b311ab95e85bc0162308390728a7361d", "Parker Bros", "PB5080", "Gyruss (1984) (Parker Bros)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "b451307b8b5e29f1c5f2cf064f6c7227", "", "", "Demo Image Series #6 - Mario (Fixed) (26-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b65d4a38d6047735824ee99684f3515e", "", "", "Megaboy (Brazil) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b702641d698c60bcdc922dbd8c9dd49c", "Atari", "", "Space War (32-in-1) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b80d50ecee73919a507498d0a4d922ae", "20th Century Fox", "11008", "Fantastic Voyage (1982) (20th Century Fox) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "28", "", "", "", "" }, { "b95a6274ca0e0c773bfdc06b4c3daa42", "", "", "3-D Corridor (29-03-2003) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -472,8 +475,7 @@ static const char* DefProps[][23] = { { "d8295eff5dcc43360afa87221ea6021f", "Spectravideo", "SA-212", "Mangia' (1983) (Spectravideo) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d90205e29bb73a4cdf28ea7662ba0c3c", "", "", "Boulderdash Demo (Brighter Version) (09-12-2002) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "da732c57697ad7d7af414998fa527e75", "Atari", "CX26129", "Midnight Magic (1984) (Atari) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "dafc3945677ccc322ce323d1e9930beb", "", "", "A-Team, The (Atari) (Prototype) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dba270850ae997969a18ee0001675821", "Greg Troutman", "", "Dark Mage (4K) (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "db339aea2b65b84c7cfe0eeab11e110a", "", "", "Chronocolor Frame Demo 2 (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dc13df8420ec69841a7c51e41b9fbba5", "", "CX26132", "Garfield (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dd1ecb349691aa4805eb9835dc87c094", "", "", "Greeting Cart Original(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "de0173ed6be9de6fd049803811e5f1a8", "Xonox", "", "Motocross Racer (1983) (Xonox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -485,39 +487,37 @@ static const char* DefProps[][23] = { { "e25e173740f7ecc0e23025445c4591f3", "", "", "Comitoid (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e39843c56b7a4a08b18fa7949ec3ee6b", "", "", "Joshua Invaders (Space Invaders Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e45449bde2f467a52da36ddd5b427d76", "", "", "Image - Qb Cover Art (09-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e51c23389e43ab328ccfb05be7d451da", "Starpath", "", "Sweat! - The Decathalon Game (1982) (Starpath) (Prototype)", "Uses the Paddle Controllers (left only)", "Prototype", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, - { "e5fcc62e1d73706be7b895e887e90f84", "Atari", "", "Air-Sea Battle (1977) (Atari) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "260", "", "", "" }, - { "e6e5bb0e4f4350da573023256268313d", "Ariola / Thomas Jentzsch", "", "Missile Control (AKA Raketen-Angriff) (Ariola) (NTSC by Thomas Jentzsch)", "", "New Release (Video Format Conversion)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e800e4aec7c6c54c9cf3db0d1d030058", "", "", "Qb (2.06) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "e923001015bedd7901569f035d9c592c", "", "", "Adventure II (Adventure Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eada0dd61ce13f8317de774dc1e68604", "", "", "2600 Digital Clock (Demo 1) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb71743c6c7ccce5b108fad70a326ad9", "", "", "Euchre (25-11-2001) (Erik Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed0ab909cf7b30aff6fc28c3a4660b8e", "", "TEC004 / 105", "Nightmare (Sancho)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee456542b93fa8d7e6a8c689b5a0413c", "", "", "Chronocolor Donkey Kong Clean (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e505bd8e59e31aaed20718d47b15c61b", "High-Score Games", "", "Condor Attack (High-Score Games) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e5a6e0bb7d56e2f08b237e15076e5699", "", "", "Color Table Display Helper (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e64a8008812327853877a37befeb6465", "", "ASC1002", "Gauntlet (1983) (Answer Software)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e7dd8c2e6c100044002c1086d02b366e", "", "", "Barnstorming (1982) (Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e8e7b9bdf4bf04930c2bcaa0278ee637", "", "", "Boring Taz (Taz Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e9c71f8cdba6037521c9a3c70819d171", "20th Century Fox", "11012", "Bank Heist (1983) (20th Century Fox) (w-Skull Island Label) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb46e99ec15858f8cd8c91cef384ce09", "Rainbow Vision", "", "Ground Zero (Rainbow Vision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb9712e423b57f0b07ccd315bb9abf61", "Retroactive", "", "Qb (V2.04) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "ec407a206b718a0a9f69b03e920a0185", "Starsoft", "", "Landung in der Normandie (Starsoft) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ede7e8bf865b0afb4744f86d13624f9a", "", "", "Demo Image Series #2 - Clown (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "eeb92f3f46df841487d1504f2896d61a", "", "", "Corys Adventure (Cody Pittman) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "33", "", "", "", "" }, { "efa1098c7d091b940c2543abe372f036", "Scott Stilphen", "", "E.T. The Extra-Terrestrial by Scott Stilphen (Pits Hack)", "Hack of E.T. The Extra-Terrestrial (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0b7db930ca0e548c41a97160b9f6275", "Atari", "CX2645 / 6699817 / 4975181", "Video Chess (1978) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f16c709df0a6c52f47ff52b9d95b7d8d", "", "CX2662", "Hangman (1978) (Atari) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1e375d921858467166e53bcec05803f", "Jeffry Johnston", "", "Radial Pong - Version 3 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0541d2f7cda5ec7bab6d62b6128b823", "Atari", "", "Bionic Breakthrough (1984) (Atari) (Prototype)", "Uses Mindlink Controller (left only)", "Prototype", "", "", "", "", "", "", "MINDLINK", "NONE", "", "", "", "", "", "", "", "", "" }, + { "f137211537438b1fce3d811baef25457", "", "", "Incoming (02-10-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1b7edff81ceef5af7ae1fa76c8590fc", "Atari", "CX2632", "Space Invaders (1978) (Atari) (PAL) [p1][!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f3213a8a702b0646d2eaf9ee0722b51c", "Atari", "CX2618 / 4975123", "3-D Tic-Tac-Toe (1978) (Atari) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4204fc92d17ed4cb567c40361ad58f1", "Inky", "", "Beanie Baby Bash by Inky (Beany Bopper Hack)", "Hack of Beany Bopper (1982) (20th Century Fox)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f457674cef449cfd85f21db2b4f631a7", "US Games", "VC 1004", "Commando Raid (1982) (US Games)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f53f81fae276d72dbdba7064786a8266", "", "", "Death Derby (v0011) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f6a9ea814d15b85bffe980c927df606b", "Atari", "CX2638 / 4975166", "Missile Command (1981) (Atari) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "f73d2d0eff548e8fc66996f27acf2b4b", "CCE", "AX-018", "Pitfall! (CCE) (PAL-M) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f7a138eed69665b5cd1bfa796a550b01", "Tigervision", "7-012", "Espial (1983) (Tigervision) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f69d4fcf76942fcd9bdf3fd8fde790fb", "CCE", "", "Aquaventure (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, + { "f74ad642552385c3daa203a2a6fc2291", "Eckhard Stolberg", "", "Cubis (1997) (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f8240e62d8c0a64a61e19388414e3104", "Activision", "AX-013", "Barnstorming (1982) (Activision) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8bfd99163d2c4ec688357786e6fba28", "", "", "Eckhard Stolberg's Scrolling Text Demo 2 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f93d7fee92717e161e6763a88a293ffa", "20th Century Fox", "11013", "Porky's (1983) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f96a763ced577e383d1102c4d0949525", "", "", "Death Derby (v0005) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9cef637ea8e905a10e324e582dd39c2", "CCE", "", "Private Eye (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa2f5f409cff75c9b9b9a5af84bd9909", "", "", "Greeting Cart Brook Burke Closeup(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fac28963307b6e85082ccd77c88325e7", "CCE", "", "Berzerk (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb0c32ef7af5b45486db663510094be8", "", "", "Demo Image Series #15 - Three Marios (NTSC) (Non-Interleave) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb88c400d602fe759ae74ef1716ee84e", "20th Century Fox", "11031", "Crash Dive (1983) (20th Century Fox)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "" }, - { "fbe554aa8f759226d251ba6b64a9cce4", "Atari", "CX2681", "Battlezone (1983) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, - { "fc92d74f073a44bc6e46a3b3fa8256a2", "", "", "Megademo (19xx) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd4f5536fd80f35c64d365df85873418", "Atari", "CX26140", "Desert Falcon (1987) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "22", "", "", "", "" }, + { "f91fb8da3223b79f1c9a07b77ebfa0b2", "", "CX2615 / 4975140", "Demons to Diamonds (1982)", "Uses the Paddle Controllers (left only)", "Uncommon", "", "", "", "", "", "", "PADDLES", "", "YES", "", "", "", "", "", "", "", "" }, + { "f9da42f91a1c5cfa344d2ff440c6f8d4", "ZUT", "", "Pac Invaders (ZUT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fabca526d57de46768b392f758f1a008", "", "", "Laseresal 2600 (16-12-2001) (Andrew Wallace) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb4ca865abc02d66e39651bd9ade140a", "Starpath", "AR-4104", "Rabbit Transit (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fbac6476e7b2b20d246202af81662c88", "Starpath", "AR-4400", "Dragonstomper Preview (1982) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fc2233fc116faef0d3c31541717ca2db", "Atari", "CX2646", "Pac-Man (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fcea12625c071ddc49f4e409f4038c60", "", "", "Balls! (16-09-2002) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "fd7464edaa8cc264b97ba0d13e7f0678", "HES", "", "2 Pak Special Black - Challenge,Surfing (HES) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fe0b7f27e3ad50bbf9ff468ee56d553d", "", "", "Lines Demo (Eckhard Stolberg) (PAL) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "feeae23f2eeac44b81a43e8292d0c574", "", "", "Greeting Cart Halle Berry (SnailSoft)(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ff87d58125ae517eb7b09a0475a1ccdc", "", "", "SCSIcide (Score Hack 1) (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "008543ae43497af015e9428a5e3e874e", "Retroactive", "", "Qb (V2.09) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "00eaee22034aff602f899b684c107d77", "", "", "Time Race (Rainbow Vision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -568,7 +568,7 @@ static const char* DefProps[][23] = { { "16fbb36a6124567405a235821e8f69ee", "", "", "Star Fire (28-11-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1738b2e3f25ab3eef3cecb95e1d0d957", "", "", "Hangman Monkey Biglist1 (Hangman Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "17754da584db6f22838eea255e68b31e", "", "", "Death Derby (v0010) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1802cc46b879b229272501998c5de04f", "Atari", "CX26104", "Big Bird's Egg Catch (1983) (Atari)", "Uses Kids/Keypad Controllers (left only)", "Rare", "", "", "", "", "", "", "KEYBOARD", "NONE", "", "", "", "", "", "", "", "", "" }, + { "1802cc46b879b229272501998c5de04f", "Atari", "CX26104", "Big Bird's Egg Catch (1983) (Atari)", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, { "18b28b386abdadb3a700ac8fb68e639a", "Manuel Polik", "", "Gunfight 2600 (MP) (PAL)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "18f299edb5ba709a64c80c8c9cec24f2", "Bomb", "CA282", "Great Escape (Bomb)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "24", "", "", "", "" }, { "199985cae1c0123ab1aef921daace8be", "", "", "Euchre (Release Candidate 2) (PAL) (01-10-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -664,21 +664,25 @@ static const char* DefProps[][23] = { { "458883f1d952cd772cf0057abca57497", "Activision", "", "Fishing Derby (1980) (Activision) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "463e66ad98806a49106cffa49c08e2ed", "", "", "Interlace Game Demo (01-09-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4690fdb70c86604bb35da26696818667", "", "", "Euchre (Release Candidate) (NTSC) (28-09-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47711c44723da5d67047990157dcb5dd", "CCE", "", "Ice Hockey (CCE)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "481d20ec22e7a63e818d5ef9679d548b", "", "", "Freeway (AKA Rabbits) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "470878b9917ea0348d64b5750af149aa", "Atari", "CX2658 / 4975128", "Math Gran Prix (1982) (Atari) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4799a40b6e889370b7ee55c17ba65141", "Konami-Gakken", "", "Pooyan (1982) (Konami-Gakken)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "26", "220", "", "", "" }, + { "47cd61f83457a0890de381e478f5cf5f", "Imagic", "O3205", "Fathom (1983) (Imagic) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "48287a9323a0ae6ab15e671ac2a87598", "Zellers", "", "Laser Volley (1983) (Zellers) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "48f18d69799a5f5451a5f0d17876acef", "", "", "Criminal Pursuit (Emag)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "493e90602a4434b117c91c95e73828d1", "Telegames", "", "Lock 'N' Chase (1982) (Telegames) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4a2fe6f0f6317f006fd6d4b34515448b", "", "", "Warring Worms (Midwest Classic Edition) (08-06-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4abb4c87a4c5f5d0c14ead2bb36251be", "Atari", "CX26135", "RealSports Boxing (1987) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4afe528a082f0d008e7319ebd481248d", "", "", "Multi-Color Demo 1 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b9581c3100a1ef05eac1535d25385aa", "", "", "I.Q. 180 (HomeVision) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c39a2c97917d3d71739b3e21f60bba5", "", "", "Whale (Sub Scan Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c8832ed387bbafc055320c05205bc08", "Atari", "CX2601 / 6699801 / 4975124", "Combat (1977) (Atari) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4999b45be0ab5a85bac1b7c0e551542b", "CCE", "", "Double Dragon (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4a7eee19c2dfb6aeb4d9d0a01d37e127", "Hozer Video Games", "", "Crazy Valet (Hozer Video Games)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4ae8c76cd6f24a2e181ae874d4d2aa3d", "20th Century Fox", "11015", "Flash Gordon (1983) (20th Century Fox) (PAL) [p1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b753a97aee91e4b3e4e02f5e9758c72", "", "", "Asymmetric Reflected Playfield (Glenn Saunders And Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c030667d07d1438f0e5c458a90978d8", "Retroactive", "", "Qb (V2.03) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "4c4ce802cbfd160f7b3ec0f13f2a29df", "", "", "Beta Demo (V1.1) (26-09-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c8970f6c294a0a54c9c45e5e8445f93", "Xonox", "99006", "Sir Lancelot (1983) (Xonox) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4ca90ba45eced6f5ad560ea8938641b2", "", "", "Hangman Man Wordlist (Hangman Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d5f6db55f7f44fd0253258e810bde21", "Mattel / Fabrizio Zavagli", "", "Betterblast by Fabrizio Zavagli (Astroblast Hack)", "Hack of Astroblast (Mattel)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4dd6c7ab9ef77f2b4950d8fc7cd42ee1", "Retroactive", "", "Qb (V2.04) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "4e15ddfd48bca4f0bf999240c47b49f5", "", "50010", "Death Trap (1983) (Avalon Hill)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "4e99ebd65a967cabf350db54405d577c", "Coleco", "2663", "Time Pilot (1983) (Coleco) [b1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d502d6fb5b992ee0591569144128f99", "", "", "Save Mary (1990) (Atari) (Prototype) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4dbf47c7f5ac767a3b07843a530d29a5", "Ric Pryor", "", "Breaking News (2002) (Ric Pryor) (Bump 'n' Jump Hack)", "Bump 'n' Jump Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4df9d7352a56a458abb7961bf10aba4e", "", "", "Traffic (RJPG) (PAL)", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "", "" }, + { "4e4895c3381aa4220f8c2795d6338237", "", "", "Backwards Cannonball v1 (Human Cannonball Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4f2d47792a06da224ba996c489a87939", "", "", "Super Action Pak - Pitf,GPrix,LaserB,Barn (1988) (Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f781f0476493c50dc578336f1132a67", "Atari", "CX2611", "Indy 500 (1978) (Atari) (PAL) [p1][o1][!]", "Uses Driving Controllers", "Uncommon", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "", "", "", "", "", "" }, { "4fc1b85b8074b4b9436d097900e34f29", "", "", "John K Harvey's Equalizer (NTSC) (PD) [a1]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "50568c80ac61cab789d9923c9b05b68e", "ebivision", "", "Merlin's Walls - Standard Edition (1999) (Ebivision) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -759,7 +763,7 @@ static const char* DefProps[][23] = { { "777aece98d7373998ffb8bc0b5eff1a2", "", "", "2600 Collison Demo 2 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "78297db7f416af3052dd793b53ff014e", "", "", "Poker Squares (V0.17) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "78b84cfb1c57b0488d674d2374e656e6", "Starpath", "AR-4400", "Dragonstomper (1 of 3) (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "798b8921276eec9e332dfcb47a2dbb17", "", "", "Cookie Monster Munch (1983) (Atari) (PAL) [a1][!]", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "", "", "" }, + { "798b8921276eec9e332dfcb47a2dbb17", "", "", "Cookie Monster Munch (1983) (Atari) (PAL) [a1][!]", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, { "79b649fb812c50b4347d12e7ddbb8400", "", "", "Red Pong Number 2 Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "79e5338dbfa6b64008bb0d72a3179d3c", "Mattel", "MT4313", "Star Strike (1982) (Mattel)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7a63d7ea3f2851bcf04f0bb4ba1a3929", "Starpath", "AR-4200", "Escape from the Mindmaster (3 of 4) (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, @@ -823,8 +827,9 @@ static const char* DefProps[][23] = { { "9c6d65bd3b477aace0376f705b354d68", "", "", "RPG Kernal (18-04-2003) (Paul Slocum) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "9cbb07f1993a027bc2f87d5205457ec9", "", "", "Eckhard Stolberg's Scrolling Text Demo 1 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9de0d45731f90a0a922ab09228510393", "20th Century Fox", "11003", "Fast Eddie (1982) (20th Century Fox) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9e792a59f8795664cbaaff1ba152d731", "", "", "Bullet Demo (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9ed0f2aa226c34d4f55f661442e8f22a", "Starsoft", "", "Fox & Goat (Starsoft) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9e2c7299c69b602443d327c7dad51cbf", "Activision / Charles Morgan", "", "Xaxyrax Road by Charles Morgan (Freeway Hack)", "Hack of Freeway (Activision)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9e904e2eaa471c050c491289b8b80f60", "", "", "How to Draw a Playfield II (1997) (Erik Mooney) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9efb4e1a15a6cdd286e4bcd7cd94b7b8", "20th Century Fox", "", "Planet of the Apes (20th Century Fox) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9f901509f0474bf9760e6ebd80e629cd", "", "CX2623 / 99819 / 75125", "Home Run (1978) [o1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a00ec89d22fcc0c1a85bb542ddcb1178", "CCE", "", "Phoenix (1982) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a075ad332942740c386f4c3814925ece", "Starpath", "AR-4200", "Escape from the Mindmaster (2 of 4) (1982) (Starpath) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, @@ -852,22 +857,23 @@ static const char* DefProps[][23] = { { "ac9adbd6de786a242e19d4bec527982b", "Activision", "AX-012", "Ice Hockey (1981) (Activision) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "acb962473185d7a652f90ed6591ae13b", "Imagic", "IA3203", "Atlantis (1982) (Imagic) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "adb770ff70e9adf08bbb907a7eccd240", "", "", "Inv Demo 3 (2001) (Erik Mooney) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae047e9468bda961d8e9e9d8ff52980f", "", "", "Tunnel Demo (Red Spiral) (30-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae4be3a36b285c1a1dff202157e2155d", "Spectravideo", "SA-210", "Master Builder (1983) (Spectravideo)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae10527840a1ac24de43730645ed508d", "Atari / Charles Morgan", "", "Planet Invaders by Charles Morgan (Space Invaders Hack)", "Hack of Space Invaders (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae6cb335470788b94beb5787976e8818", "", "", "Mortal Kurling (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "aea308e30cd92cc73dc0c7f53f69ec56", "", "", "Death Derby (2LK_12) (24-02-2003) (Glenn Saunders)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "aed82052f7589df05a3f417bb4e45f0c", "Atari", "CX2606 / 99825 /75112", "Maze (AKA Slot Racers) (1978) (Sears) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "afe88aae81d99e0947c0cfb687b16251", "Apollo", "AP 2006", "Infiltrate (1982) (Apollo) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "29", "", "YES", "", "" }, { "b00e8217633e870bf39d948662a52aac", "Konami", "011", "Marine Wars (1983) (Konami) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b0c9cf89a6d4e612524f4fd48b5bb562", "Atari", "", "Combat II (1982) (Atari) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b1a6c96e9093352106bc335e96caa154", "Joe Grand", "", "SCSIcide Pre-release 1 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "38", "", "", "", "" }, - { "b1e2d5dc1353af6d56cd2fe7cfe75254", "Atari", "CX26171", "Motorodeo (1990) (Atari) (PAL) [!]", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "b2761efb8a11fc59b00a3b9d78022ad6", "Atari", "CX2651 / 6699805 / 4975602", "Blackjack (1977) (Atari) [o1]", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, - { "b2d1e63f7f22864096b7b6c154151d55", "", "", "Bounce! (17-03-2003) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "b311ab95e85bc0162308390728a7361d", "Parker Bros", "PB5080", "Gyruss (1984) (Parker Bros)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "b21ee4639476eaec8204f00c712b7497", "Tigervision", "7-008", "Miner 2049er (1982) (Tigervision) [b1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b29359f7de62fed6e6ad4c948f699df8", "", "", "Labyrinth (Goliath) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2f0d7217147160b2f481954cedf814b", "", "", "Marquee Drawer (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "b37f0fe822b92ca8f5e330bf62d56ea9", "Xonox", "99001", "Spike's Peak (1983) (Xonox) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b438a6aa9d4b9b8f0b2ddb51323b21e4", "Telegames", "5861 A030", "Bogey Blaster (Telegames) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b4a4c87840613f102acb5b3a647d0a67", "", "", "Mobile 48 Sprite Kernel (04-01-2003) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b59417d083b0be2d49a7d93769880a4b", "", "", "Donkey Kong (1983) (Pet Boat) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b6960be26bee87d53ba4e2e71cfe772f", "", "", "3-D Corridor (Spiral Words) (31-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b6812eaf87127f043e78f91f2028f9f4", "Simage", "", "Eli's Ladder (Simage)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b6d52a0cf53ad4216feb04147301f87d", "Imagic", "IA3312", "No Escape! (1983) (Imagic) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b731d35e4ac6b3b47eba5dd0991f452f", "", "", "Rubik's Cube 3D Demo (Final) (08-01-2003) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b7e459d5416eeb196aaa8e092db14463", "", "", "Push (V0.02) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b83df1f32b4539c324bdf94851b4db55", "Angelino", "", "One On One by Angelino (Basketball Hack)", "Hack of Basketball (1978) (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -937,10 +943,8 @@ static const char* DefProps[][23] = { { "d9548ad44e67edec202d1b8b325e5adf", "Apollo", "AP 2002", "Space Cavern (1981) (Apollo) (PAL) [p1][!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "da6465a34d2e44d26aa9a2a0cd1bce4d", "Absolute", "AG-041", "Title Match Pro Wrestling (1987) (Absolute) [a1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dac38b4dd3da73bb7b2e9d70c61d2b7c", "", "", "Hangman Monkey Biglist3 (Hangman Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "daef7d8e5a09981c4aa81573d4dbb380", "Adam Thornton", "", "Lord of the Rings - Fellowship of the Ring by Adam Thornton (Dark Mage Hack) (PD)", "Hack of Dark Mage by SuperCharger", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "db1753cc702c18d3917ec7f3b0e8659f", "", "", "Frame Counter 2 (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "db76f7a0819659d9e585f2cdde9175c7", "Xonox", "99005", "Robin Hood (1983) (Xonox) (PAL) [a1][!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "" }, - { "dbabb80e92ff18d8eecf615c0539151e", "", "", "Sprite Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dafc3945677ccc322ce323d1e9930beb", "", "", "A-Team, The (Atari) (Prototype) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dba270850ae997969a18ee0001675821", "Greg Troutman", "", "Dark Mage (4K) (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "dbdaf82f4f0c415a94d1030271a9ef44", "CCE", "", "Kaboom! (CCE)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, { "dca941dab5c6f859b71883b13ade9744", "", "", "Hangman Pac-Man Biglist2 (Hangman Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dd0cbe5351551a538414fb9e37fc56e8", "Xonox", "99006", "Sir Lancelot (1983) (Xonox) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -961,63 +965,56 @@ static const char* DefProps[][23] = { { "e2b682f6e6d76b35c180c7d847e93b4f", "", "", "Dodge Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e3600be9eb98146adafdc12d91323d0f", "Atari", "CX2618 / 4975123", "3-D Tic-Tac-Toe (1978) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "44", "", "", "", "" }, { "e39a13b13dc82c5fdbfbbfd55ba1230e", "", "", "Analog Clock (Additional Frame Info) (V0.0) (20-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e40a818dac4dd851f3b4aafbe2f1e0c1", "", "CX26137", "Peek-A-Boo (Atari) (Prototype)", "Uses Keypad Controllers", "Prototype", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "", "", "" }, + { "e40a818dac4dd851f3b4aafbe2f1e0c1", "", "CX26137", "Peek-A-Boo (Atari) (Prototype)", "Uses Keypad Controllers", "Prototype", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, { "e4b12deaafd1dbf5ac31afe4b8e9c233", "", "", "Lord of the Rings - Fellowship of the Ring by Adam Thornton (Dark Mage Hack) (PD) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "e4d41f2d59a56a9d917038682b8e0b8c", "", "", "Kiss Meets Pacman (Cody Pittman) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "33", "", "", "", "" }, - { "e556e07cc06c803f2955986f53ef63ed", "Coleco", "2665", "Front Line (1982) (Coleco)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e51030251e440cffaab1ac63438b44ae", "Parker Bros", "PB5110", "James Bond 007 (1983) (Parker Bros)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "e558be88eef569f33716e8e330d2f5bc", "", "", "Keystone Kapers (Shock Vision) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e5d72ff8bab4450be57785cc9e83f3c0", "", "", "Kung Fu Superkicks (Telegames) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e61210293b14c9c4ecc91705072c6a7e", "", "", "Bugs (1983) (Gameworld) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e6508b878145187b87b9cded097293e7", "", "", "Oystron (V2.8) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e73838c43040bcbc83e4204a3e72eef4", "CCE", "", "Apples and Dolls (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "e7dd8c2e6c100044002c1086d02b366e", "", "", "Barnstorming (1982) (Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e847e1b57a704ad9f029cc2d564bde11", "", "", "Death Derby (v0007) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e8e7b9bdf4bf04930c2bcaa0278ee637", "", "", "Boring Taz (Taz Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e959b5a2c882ccaacb43c32790957c2d", "", "", "Phantom II / Pirate (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e6e5bb0e4f4350da573023256268313d", "Ariola / Thomas Jentzsch", "", "Missile Control (AKA Raketen-Angriff) (Ariola) (NTSC by Thomas Jentzsch)", "", "New Release (Video Format Conversion)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e784a9d26707cfcd170a4c1c60422a72", "Starsoft", "", "Gefecht im All (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e800e4aec7c6c54c9cf3db0d1d030058", "", "", "Qb (2.06) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "e88340f5bd2f03e2e9ce5ecfa9c644f5", "Mattel", "MT5663", "Lock 'N' Chase (1982) (Mattel) (PAL) [p1][!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e923001015bedd7901569f035d9c592c", "", "", "Adventure II (Adventure Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e9be3e8e4a7e73dd63ed4235a3a1a25f", "", "", "MMetall (Miniature Golf Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ea832e2cb6aae6f525f07452c381fa48", "", "", "Polar to Cartesian and VV (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eaf744185d5e8def899950ba7c6e7bb5", "Atari", "CX26172", "Xenophobe (1990) (Atari) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb46e99ec15858f8cd8c91cef384ce09", "Rainbow Vision", "", "Ground Zero (Rainbow Vision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ebcbc8a181a738e13df6216e5c329230", "Activision", "AX-022", "Seaquest (1983) (Activision) [o1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ecf51385384b468834611d44a8429c03", "20th Century Fox", "11005", "Mega Force (1982) (20th Century Fox) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed1a784875538c7871d035b7a98c2433", "", "", "Save Our Ship (Technovision) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "38", "", "", "", "" }, - { "eddef10fdc0029301064115ae0cd41d4", "CCE", "AG-009", "Freeway (CCE)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee659ae50e9df886ac4f8d7ad10d046a", "Exus", "", "Video Reflex (Exus) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee6cbedf6c0aac90faa0a8dbc093ffbe", "CCE", "", "My Golf (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ef263d40a23483ab339cac44d9515a56", "", "", "Fatal Run (NTSC Conversion) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ef71e9fb0d8d477226d8d42261fbf0a7", "Piero Cavina", "", "Multi-Sprite Demo V2.0 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "efffafc17b7cb01b9ca35324aa767364", "Cooper Black", "", "See Saw (Cooper Black) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eafe8b40313a65792e88ff9f2fe2655c", "Eric Ball", "ELB004", "Skeleton+ (NTSC)", "Stereo sound", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb503cc64c3560cd78b7051188b7ba56", "CCE", "", "Moto Laser (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb92193f06b645df0b2a15d077ce435f", "Starpath", "AR-4102", "Suicide Mission (1982) (Starpath) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "eb9f8b84c193d9d93a58fca112aa39ed", "", "", "Register Twiddler Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ec3beb6d8b5689e867bafb5d5f507491", "US Games", "VC 1003", "Word Zapper (1982) (US Games) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ec5d04b7e6cc6641d74d3ba7bb41ebc9", "Absolute-Activision", "", "Pro Wrestling (Absolute-Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed2218b3075d15eaa34e3356025ccca3", "Atari", "CX2635 / 4975157", "Maze Craze (1978) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "PAL", "", "", "", "", "", "", "" }, + { "ee28424af389a7f3672182009472500c", "Atari", "", "Polo (Atari) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee84bdc5dae268e227e407c7b5e6b6b7", "", "", "Marilyn Monroe Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eed9eaf1a0b6a2b9bc4c8032cb43e3fb", "Atari", "CX26192", "Klax (1990) (Atari) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ef66af190840871409fe1702d2483554", "", "", "DiscoTech (12-02-2003) (Andrew Davie, Paul Slocum And Christopher Tumber)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "efd387430a35a659ff569a9a0ec22209", "Atari", "", "Milpede (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f032b2f2d8323404a6b4541f92dd1825", "", "", "Many Blue Bars and Text Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f066bea7ab0a37b83c83c924a87c5b67", "", "", "Air Raiders (1982) (Mattel) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0e0addc07971561ab80d9abe1b8d333", "Imagic", "IA3200", "Demon Attack (1982) (Imagic w-Picture Label) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f14d5e96ec3380aef57a4b70132c6677", "Goliath", "", "Pac Kong (Goliath) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1929bb9b5db22d98dd992aa3fe72920", "", "", "Cube Conquest (Improved Interlace) (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "f1b7edff81ceef5af7ae1fa76c8590fc", "Atari", "CX2632", "Space Invaders (1978) (Atari) (PAL) [p1][!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0ee2b055fed6c1df4f3cbb2e12b2c15", "Starpath", "AR-4400", "Dragonstomper (1982) (Starpath) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1554569321dc933c87981cf5c239c43", "Atari", "CX26129", "Midnight Magic (1984) (Atari)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "f1a0a23e6464d954e3a9579c4ccd01c8", "20th Century Fox", "11006", "Alien (1982) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "f20bd756f3990e06c492f53cd0168e68", "", "", "Skeleton+ (03-05-2003) (Eric Ball) (NTSC)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f2d40c70cf3e1d03bc112796315888d9", "Atari", "CX26103", "Alpha Beam with Ernie (1983) (Atari) (PAL) [!]", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, { "f34f08e5eb96e500e851a80be3277a56", "Atari", "CX2622", "Breakout - Breakaway IV (1978) (Atari)", "Uses the Paddle Controllers", "Common", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, - { "f3dfae774f3bd005a026e29894db40d3", "Starsoft", "", "See Saw (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f3f92aad3a335f0a1ead24a0214ff446", "", "", "Spectrum Color Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f473f99e47d4026a7a571184922ebf04", "Philp R. Frey", "", "Donkey Claus by Philip R. Frey (Donkey Kong Hack)", "Hack of Donkey Kong (Coleco)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4c2e50b01dff99bddbe037b3489511c", "", "", "Hypnotic (V0.04) (2001) (Inkling) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f5aa6bd10f662199c42e43863a30106c", "", "", "Music Kit (V1.0) - Song Player (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "f69d4fcf76942fcd9bdf3fd8fde790fb", "CCE", "", "Aquaventure (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, - { "f6daebc0424fa0f8d9aaf26c86df50f4", "", "", "Color Tweaker (V1.0) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f736864442164b29235e8872013180cd", "Telegames", "", "Quest for Quintana Roo (Telegames) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f74ad642552385c3daa203a2a6fc2291", "Eckhard Stolberg", "", "Cubis (1997) (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f7856e324bc56f45b9c8e6ff062ec033", "", "", "RealSports Soccer (1983) (Atari) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "f7d6592dcb773c81c278140ed4d01669", "Activision", "AZ-108-04", "Ghostbusters (1985) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f80cf77164079d774b9b0fae33dffca9", "", "", "Fu Kung! (V0.15) (Negative Version) (05-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f825c538481f9a7a46d1e9bc06200aaf", "Atari", "CX2635 / 4975157", "Maze Craze (1978) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8648d0c6ad1266434f6c485ff69ec40", "CCE", "", "Oink! (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8c1c4a41303bd40b0d6c81bfaf8573b", "", "", "2 Pak Special Blue - Dungeon Master,Creature Strike (1992) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f91fb8da3223b79f1c9a07b77ebfa0b2", "", "CX2615 / 4975140", "Demons to Diamonds (1982)", "Uses the Paddle Controllers (left only)", "Uncommon", "", "", "", "", "", "", "PADDLES", "", "YES", "", "", "", "", "", "", "", "" }, + { "f4b8a47a95b61895e671c3ec86ffd461", "", "", "Star Wars - The Arcade Game (Parker Bros) (Prototype 010384)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "f5a2f6efa33a3e5541bc680e9dc31d5b", "Starsoft", "", "Motocross (Starsoft) (PAL) [a1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f69a39b215852a0c2764d2a923c1e463", "", "", "Move a Blue Blob Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f6a9ea814d15b85bffe980c927df606b", "Atari", "CX2638 / 4975166", "Missile Command (1981) (Atari) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "f714a223954c28eccf459295517dcae6", "", "", "Big - Move This Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f777444fc21a5925e066b68b1d350575", "", "", "Marble Craze (Kernel Works) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7e07080ed8396b68f2e5788a5c245e2", "", "TP-617", "Farmyard Fun (Telegames) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "33", "217", "", "", "" }, + { "f8582bc6ca7046adb8e18164e8cecdbc", "HomeVision", "", "Panda Chase (HomeVision)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8ff34b53d86f55bd52d7a520af6d1dc", "", "", "Big Dig (04-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f9655ed51462ecfc690c7b97cec649f9", "Andrew Wallace", "", "Laseresal 2002 (PAL) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9677b2ec8728a703eb710274474613d", "Atari", "CX2604", "Space War (1978) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f98d869f287d2ce4f8fb36e0686929d9", "", "", "Skeleton+ (17-04-2003) (Eric Ball) (NTSC)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9da42f91a1c5cfa344d2ff440c6f8d4", "ZUT", "", "Pac Invaders (ZUT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa0570561aa80896f0ead05c46351389", "Tigervision", "7-008", "Miner 2049er (1982) (Tigervision)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "31", "", "", "", "" }, - { "fa4404fabc094e3a31fcd7b559cdd029", "Atari", "", "Bugs Bunny (Atari) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa7e11a3dbea4365975cd2f094e61d25", "Tim Snider", "", "Mystery Science Theater 2600 by Tim Snider (Megamania Hack)", "Hack of Megamania (Activision)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fae0b86934a7c5a362281dffebdb43a0", "Retroactive", "", "Qb (2.07) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "faffd84f3a8eceee2fa5ea5b0a3e6678", "Emag", "", "Immies & Aggies (Emag) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f992a39b46aa48188fab12ad3809ae4a", "Activision", "AG-019", "Sky Jinks (1982) (Activision) (PAL) [p1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa1b060fd8e0bca0c2a097dcffce93d3", "", "CX26101", "Oscar's Trash Race (1983) (Atari) (Prototype) (PAL)", "Uses Kids/Keypad Controllers", "Prototype", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, + { "fa529ec88eca679f6d5fd0ccb2120e46", "", "", "20 Sprites at Once Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "faebcb2ef1f3831b2fc1dbd39d36517c", "Atari", "CX2696", "Asterix (1988) (Atari) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fb0e84cee4c108d24253bcb7e382cffd", "", "", "Interleaved ChronoColour Demo (SECAM) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fb5c8af97bd8ffe88323656f462645a7", "", "", "Interlace Demo (Glenn Saunders)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "fb91dfc36cddaa54b09924ae8fd96199", "", "", "Frogger II - Threedeep! (1984) (Parker Bros) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, @@ -1027,9 +1024,12 @@ static const char* DefProps[][23] = { { "fca4a5be1251927027f2c24774a02160", "Activision", "AZ-036-04", "H.E.R.O. (1984) (Activision) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fd0e5148162e8ec6719445d559f018a9", "Activision", "AX-022", "Seaquest (1983) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fd6e507b5df68beeeddeaf696b6828fa", "Activision", "", "Boxing (Activision) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fdd4995a50395db14f518f63c2d63438", "", "", "Oh No! (Version 3) (18-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe9ae625d924b54c9f8a14ac9a0f6c6d", "", "", "High Bid! (BG Dodson) (Pepsi Invaders Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ff4ed162386c795b4fb434903295b571", "", "", "Death Derby (v0002) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd8b4ee0d57605b35e236e814f706ff1", "", "", "Phoenix (1982) (Atari) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fdf6680b2b1e8054293a39700a765692", "", "", "Alpha Demo - The Beta Demo 2 (2000) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fe67087f9c22655ce519616fc6c6ef4d", "", "", "Cracked (1988) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fec0c2e2ab0588ed20c750b58cf3baa3", "Activision", "AZ-037-04", "Beamrider (1983) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "feedcc20bc3ca34851cd5d9e38aa2ca6", "", "CX2607 / 6699828 / 4975115", "Canyon Bomber (1978) (Atari) [!]", "Uses the Paddle Controllers", "Uncommon", "", "", "", "", "", "", "PADDLES", "PADDLES", "YES", "", "", "", "42", "", "", "", "" }, + { "ff7627207e8aa03730c35c735a82c26c", "Atari", "", "Blackjack (32-in-1) (Atari) (PAL) [!]", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "63", "", "", "", "" }, { "ffc0ff4305dd46b4b459885bd1818e2e", "Barry Laws Jr.", "", "Star Wars - The Battle of Alderaan (Star Strike Hack)", "Hack of Star Strike (Mattel)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "000509d1ed2b8d30a9d94be1b3b5febb", "", "", "Jungle Jane (2003) (Greg Zumwalt) (Pitfall! Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "00ce0bdd43aed84a983bef38fe7f5ee3", "20th Century Fox", "11012", "Bank Heist (1983) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1321,36 +1321,44 @@ static const char* DefProps[][23] = { { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "468f2dec984f3d4114ea84f05edf82b6", "Tigervision", "7-011", "Miner 2049er Volume II (1983) (Tigervision) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "46c43fdcbce8fde3a91ebeafc05b7cbd", "", "", "Invaders Demo (PAL) (2001) (Eckhard Stolberg)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "470878b9917ea0348d64b5750af149aa", "Atari", "CX2658 / 4975128", "Math Gran Prix (1982) (Atari) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4702d8d9b48a332724af198aeac9e469", "Atari", "CX2699", "Taz (1983) (Atari) [a1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47464694e9cce07fdbfd096605bf39d4", "Activision", "AK-050-04", "Double Dragon (1989) (Activision) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47911752bf113a2496dbb66c70c9e70c", "Atari", "CX26101", "Oscar's Trash Race (1983) (Atari) (PAL) [!]", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, { "47aad247cce2534fd70c412cb483c7e0", "Spectravideo", "SA-201", "Gangster Alley (1983) (Spectravideo) (PAL) [p1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47cd61f83457a0890de381e478f5cf5f", "Imagic", "O3205", "Fathom (1983) (Imagic) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "48287a9323a0ae6ab15e671ac2a87598", "Zellers", "", "Laser Volley (1983) (Zellers) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47bb1c677fe7ba5f376372ae7358e790", "", "", "Star Fire (10-10-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "481f9a742052801cc5f3defb41cb638e", "Jeffry Johnston", "", "Radial Pong - Version 4 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "484b0076816a104875e00467d431c2d2", "Atari", "CX26150", "Q-bert (1988) (Atari) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "40", "", "", "", "" }, { "48e5c4ae4f2d3b62b35a87bca18dc9f5", "Starsoft", "", "Bobby geht nach Hause (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "42", "", "", "", "" }, { "4901c05068512828367fde3fb22199fe", "Imagic", "IA3200", "Demon Attack (1982) (Imagic) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "493daaf9fb1ba450eba6b8ed53ffb37d", "", "", "3-D Corridor Demo (27-03-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "49571b26f46620a85f93448359324c28", "", "", "Save Our Ship (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "NTSC", "", "", "38", "", "", "", "" }, - { "4a1a0509bfc1015273a542dfe2040958", "Atari", "CX2628 / 6699842 / 4975117", "Bowling (1978) (Atari) [b1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4947c9de2e28b2f5f3b0c40ce7e56d93", "", "", "3-D Corridor Demo 2 (29-03-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "497f3d2970c43e5224be99f75e97cbbb", "CommaVid", "", "Video Life (CommaVid)", "", "Extremely Rare", "", "CV", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4a45c6d75b1ba131f94a9c13194d8e46", "", "", "How to Draw a Playfield II (Joystick Hack) (1997) (Eric Bacher) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4a9009620038f7f30aaeb2a00ae58fde", "Starpath", "AR-4401", "Survival Island (3 of 3) (1983) (Starpath)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, - { "4ac9f40ddfcf194bd8732a75b3f2f214", "Atari", "CX26106", "Grover's Music Maker (Atari) (Prototype)", "Uses Kids/Keypad Controllers (left only)", "Prototype", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "", "", "" }, + { "4ab4af3adcdae8cdacc3d06084fc8d6a", "Nick Bensema", "", "Sucky Zepplin (Nick Bensema) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4ac9f40ddfcf194bd8732a75b3f2f214", "Atari", "CX26106", "Grover's Music Maker (Atari) (Prototype)", "Uses Kids/Keypad Controllers", "Prototype", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, { "4af4103759d603c82b1c9c5acd2d8faf", "Imagic", "O3207", "Moonsweeper (1983) (Imagic) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "4b143d7dcf6c96796c37090cba045f4f", "Atari", "CX2644 / 99824 / 99824", "Flag Capture (1978) (Atari) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b753a97aee91e4b3e4e02f5e9758c72", "", "", "Asymmetric Reflected Playfield (Glenn Saunders And Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b27f5397c442d25f0c418ccdacf1926", "Atari", "CX2613 / 4975154", "Adventure (1978) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "NONE", "", "", "", "", "", "", "", "", "" }, + { "4b9581c3100a1ef05eac1535d25385aa", "", "", "I.Q. 180 (HomeVision) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4bcc7f6ba501a26ee785b7efbfb0fdc8", "", "CX2690", "Pengo (1984) (Atari)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c205f166157154df2f1ef60d87e552f", "", "", "Single-Scanline Positioning Demo 2 (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c462b2b6fb0a19a1437eb2c3dc20783", "Starpath", "AR-4401", "Survival Island (1 of 3) (1983) (Starpath)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "NO" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c39a2c97917d3d71739b3e21f60bba5", "", "", "Whale (Sub Scan Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4c606235f4ec5d2a4b89139093a69437", "", "", "notBoulderDashPAL.bin", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "4c8970f6c294a0a54c9c45e5e8445f93", "Xonox", "99006", "Sir Lancelot (1983) (Xonox) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c9307de724c36fd487af6c99ca078f2", "Imagic", "IA3409", "Sky Patrol (Imagic) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4ca73eb959299471788f0b685c3ba0b5", "Activision", "AX-031", "Frostbite (1983) (Activision)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4cd796b5911ed3f1062e805a3df33d98", "Tigervision", "7-006", "Springer (1982) (Tigervision)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d502d6fb5b992ee0591569144128f99", "", "", "Save Mary (1990) (Atari) (Prototype) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d38e1105c3a5f0b3119a805f261fcb5", "", "", "Phantom UFO (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d520fcc619612969344d1dbeca5231e", "Spiceware", "SW-01", "Medieval Mayhem (PAL)", "", "Homebrew", "STEREO", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "", "", "", "", "" }, { "4d77f291dca1518d7d8e47838695f54b", "Data Age", "DA 1004", "Airlock (1982) (Data Age) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4dcc7e7c2ec0738e26c817b9383091af", "", "", "Unknown Title (bin00026 (200110)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4df9d7352a56a458abb7961bf10aba4e", "", "", "Traffic (RJPG) (PAL)", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "", "" }, + { "4dd6c7ab9ef77f2b4950d8fc7cd42ee1", "Retroactive", "", "Qb (V2.04) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "4df6124093ccb4f0b6c26a719f4b7706", "Atari", "CX2622", "Breakout - Breakaway IV (1978) (Atari) [t1]", "Uses the Paddle Controllers", "Common", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, + { "4e02880beeb8dbd4da724a3f33f0971f", "Imagic", "EIZ-002-04", "Wing War (Imagic) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4e2c884d04b57b43f23a5a2f4e9d9750", "", "", "Baby Center Animation (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4e66c8e7c670532569c70d205f615dad", "Atari", "CX2680", "RealSports Tennis (1983) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4f2d47792a06da224ba996c489a87939", "", "", "Super Action Pak - Pitf,GPrix,LaserB,Barn (1988) (Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4f0071946e80ca68edfdccbac86dcce0", "", "", "Virtual Pet Demo 1 (CRACKERS) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f64d6d0694d9b7a1ed7b0cb0b83e759", "20th Century Fox", "11016", "Revenge of the Beefsteak Tomatoes (1983) (20th Century Fox) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f89b897444e7c3b36aed469b8836839", "", "", "BMX Air Master (1989) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4fbe0f10a6327a76f83f83958c3cbeff", "", "", "Keystone Kapers (CCE) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1639,11 +1647,13 @@ static const char* DefProps[][23] = { { "9d2938eb2b17bb73e9a79bbc06053506", "Imagic", "EIZ-002-04", "Wing War (Imagic) (PAL) [a1][!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9d4bc7c6fe9a7c8c4aa24a237c340adb", "", "", "Climber 5 (For Philly Classic 4) (16-04-2003) (Dennis Debro)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "28", "", "", "", "NO" }, { "9dec0be14d899e1aac4337acef5ab94a", "CommaVid", "CM-003", "Cosmic Swarm (1982) (CommaVid) [o1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "9e192601829f5f5c2d3b51f8ae25dbe5", "Mystique", "", "Cathouse Blues (1982) (Mystique)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "9e5007131695621d06902ab3c960622a", "", "", "Tac Scan (1983) (Sega) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "9e904e2eaa471c050c491289b8b80f60", "", "", "How to Draw a Playfield II (1997) (Erik Mooney) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9eca521db1959156a115dee85a405194", "", "", "Fu Kung! (V0.08) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9efa877a98dd5a075e058214da428abb", "Hozer Video Games", "", "SCSIcide (1.32) (Hozer Video Games)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "", "", "", "", "" }, - { "9f48eeb47836cf145a15771775f0767a", "Atari", "CX262", "Basic Programming (1978) (Atari)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "YES", "", "" }, + { "9e792a59f8795664cbaaff1ba152d731", "", "", "Bullet Demo (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9ea8ed9dec03082973244a080941e58a", "Eric Mooney, Piero Cavina", "", "INV+", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9eeb40f04a27efb1c68ba1d25e606607", "", "", "Rambo II - Streets of Afghanistan (2003) (Kyle Pittman) (Double Dragon Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9f2d58dce1b81c6ba201ed103507c025", "", "", "Fu Kung! (V0.02) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9f59eddf9ba91a7d93bce7ee4b7693bc", "", "", "Montezuma's Revenge - Starring Panama Joe (PAL by Thomas Jentzsch).a26", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "", "", "", "", "" }, { "9f93734c68f6479eb022cab40814142e", "", "", "Push (V0.07) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a0028f057d496f22b549fd8deecc6f78", "Joe Grand", "", "SCSIcide Pre-release 6 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a0185c06297b2818f786d11a3f9e42c3", "Mattel", "MT5687", "International Soccer (1982) (Mattel) (PAL) [p1][!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1697,10 +1707,10 @@ static const char* DefProps[][23] = { { "ace319dc4f76548659876741a6690d57", "", "CX2616", "Championship Soccer (AKA Pele's Soccer)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ad42e3ca3144e2159e26be123471bffc", "Atari", "", "Human Cannonball (AKA Cannon Man) (32-in-1) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "adb79f9ac1a633cdd44954e2eac14774", "Digivision", "", "Frostbite (Digivision) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "adfbd2e8a38f96e03751717f7422851d", "Champ Games", "", "Lady Bug (NTSC)", "", "Homebrew", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "ae0d4f3396cb49de0fabdff03cb2756f", "Retroactive", "", "Qb (V2.02) (PAL) (2001) (Retroactive)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "ae047e9468bda961d8e9e9d8ff52980f", "", "", "Tunnel Demo (Red Spiral) (30-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ae2f1f69bb38355395c1c75c81acc644", "", "", "Star Wars - The Arcade Game (Parker Bros) (Prototype 122383)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "ae6cb335470788b94beb5787976e8818", "", "", "Mortal Kurling (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae682886058cd6981c4b8e93e7b019cf", "Retroactive", "", "Qb (V0.12) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ae97cf8ed21f4154b4360a3cf6c95c5e", "", "", "Teleterm 2600 (John K. Harvey) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "aed0b7bd64cc384f85fdea33e28daf3b", "Atari", "CX2666", "RealSports Volleyball (1982) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1713,22 +1723,24 @@ static const char* DefProps[][23] = { { "b0e1ee07fbc73493eac5651a52f90f00", "Colin Hughes", "", "Tetris 2600 (Colin Hughes)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "b15026b43c6758609667468434766dd8", "Retroactive", "", "Qb (0.06) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "b1b20536aef4eed9c79dc5804f077862", "", "", "Euchre (NTSC) (09-11-2001) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b1d1e083dc9e7d9a5dc1627869d2ade7", "CCE", "", "Mario Bros (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b1fd0b71de9f6eeb5143a97963674cb6", "", "", "Multi-Color Demo 7 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b1e2d5dc1353af6d56cd2fe7cfe75254", "Atari", "CX26171", "Motorodeo (1990) (Atari) (PAL) [!]", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "b2737034f974535f5c0c6431ab8caf73", "CBS Electronics", "4L-2520", "Tunnel Runner (1983) (CBS Electronics) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b29359f7de62fed6e6ad4c948f699df8", "", "", "Labyrinth (Goliath) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b2d5d200f0af8485413fad957828582a", "Atari", "CX26155", "Sprint Master (1988) (Atari) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b28b3d07ffd5f56938a922b7448730b9", "", "", "Greeting Cart Autobots(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2a6f31636b699aeda900f07152bab6e", "", "", "Space Instigators (Public Release 2) (06-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2d1e63f7f22864096b7b6c154151d55", "", "", "Bounce! (17-03-2003) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "b3017e397f74efd53caf8fae0a38e3fe", "Retroactive", "", "Qb (2.12) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "b37f0fe822b92ca8f5e330bf62d56ea9", "Xonox", "99001", "Spike's Peak (1983) (Xonox) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b31dc989f594764eacfa7931cead0050", "Starpath", "AR-4401", "Survival Island (2 of 3) (1983) (Starpath)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, + { "b392964e8b1c9c2bed12246f228011b2", "US Games", "", "Name This Game (AKA Octopus) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b41fdd4a522e1d5a2721840028684ac2", "", "", "Green and Yellow Number 1 Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "b442887aec0b4a725996d53f34787b14", "Imagic", "O3205", "Fathom (1983) (Imagic) [b1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "b49331b237c8f11d5f36fe2054a7b92b", "Funvision", "", "Galactic (G) (Funvision) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b4e2fd27d3180f0f4eb1065afc0d7fc9", "", "50010", "London Blitz (1983) (Avalon Hill)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b56264f738b2eb2c8f7cf5a2a75e5fdc", "Atari", "CX2694", "Pole Position (1983) (Atari) (PAL) [!]", "Game crashes after car starts first turn (bad rom dump)", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b5cb9cf6e668ea3f4cc2be00ea70ec3c", "CommaVid", "CM-005", "Mines of Minos (1982) (CommaVid) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "b6812eaf87127f043e78f91f2028f9f4", "Simage", "", "Eli's Ladder (Simage)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b6d52a0cf53ad4216feb04147301f87d", "Imagic", "IA3312", "No Escape! (1983) (Imagic) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b676a9b7094e0345a76ef027091d916b", "Video Gems / Thomas Jentzsch", "", "Mission Survive (1983) (NTSC by Thomas Jentzsch)", "", "New Release (Video Format Conversion)", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "b6821ac51c4c1dcb283f01be2f047dc1", "", "", "Rubik's Cube 3D Demo (25-11-2002) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b6e40bce550672e5495a8cdde7075b8b", "Starpath", "AR-4401", "Survival Island (1 of 3) (1983) (Starpath) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, { "b719ada17771a8d206c7976553825139", "Ron Corcoran", "", "DUP Space Invaders (Ron Corcoran)", "Hack of Space Invaders (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b7345220a0c587f3b0c47af33ebe533c", "Starsoft", "", "Landungskommando (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b79fe32320388a197ac3a0b932cc2189", "", "", "Moonsweeper (1983) (Imagic) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, @@ -1867,14 +1879,10 @@ static const char* DefProps[][23] = { { "da64f33d0521d5c9958e5d2d4434ff95", "", "", "Star Fire - Return of the Starfield (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "da79aad11572c80a96e261e4ac6392d0", "Salu", "", "Pick 'n Pile (1990) (Salu) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "YES", "", "", "", "PAL", "", "", "38", "256", "YES", "", "" }, { "dac762e4d01d445bdef20b7771f6570e", "Atari", "CX2611 / 6699821 / 4975149", "Indy 500 (1978) (Atari) [h1]", "Uses Driving Controllers", "Uncommon", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "", "28", "", "", "", "" }, - { "daeb54957875c50198a7e616f9cc8144", "20th Century Fox", "11005", "Mega Force (1982) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "db4eb44bc5d652d9192451383d3249fc", "", "", "Mountain King (1983) (CBS Electronics) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "dba2692a216cb6c262c78f8b111a813e", "", "", "Star Fire (08-10-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dbb10b904242fcfb8428f372e00c01af", "Atari", "CX2631", "Superman (1978) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "daef7d8e5a09981c4aa81573d4dbb380", "Adam Thornton", "", "Lord of the Rings - Fellowship of the Ring by Adam Thornton (Dark Mage Hack) (PD)", "Hack of Dark Mage by SuperCharger", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "db1753cc702c18d3917ec7f3b0e8659f", "", "", "Frame Counter 2 (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "db76f7a0819659d9e585f2cdde9175c7", "Xonox", "99005", "Robin Hood (1983) (Xonox) (PAL) [a1][!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "" }, + { "dbabb80e92ff18d8eecf615c0539151e", "", "", "Sprite Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dbc8829ef6f12db8f463e30f60af209f", "Data Age", "DA 1001", "Encounter at L5 (1982) (Data Age)", "Uses the Paddle Controllers", "Uncommon", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, { "dbdd21e1ee3d72119e8cd14d943c585b", "Atari", "", "Slot Machine (1979) (Atari) (PAL) [p1][o1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dc81c4805bf23959fcf2c649700b82bf", "", "", "No Escape! (1983) (Imagic) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1920,115 +1928,101 @@ static const char* DefProps[][23] = { { "e4a0b28befaaa2915df1fa01238b1e29", "", "", "Gunfight 2600 - Red River (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e4bff1d5df70163c0428a1ead309c22d", "Atari", "CX2609 / 4975186", "Defender (1981) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e4c2077a18e3c27f4819aa7757903aa0", "", "", "Many Blue Bars Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e505bd8e59e31aaed20718d47b15c61b", "High-Score Games", "", "Condor Attack (High-Score Games) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e549f1178e038fa88dc6d657dc441146", "Atari", "CX2625 / 6699827 / 4975114", "Football (1978) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e558be88eef569f33716e8e330d2f5bc", "", "", "Keystone Kapers (Shock Vision) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e4e9125a8741977583776729359614e1", "", "", "Comitoid beta 4 (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e51c23389e43ab328ccfb05be7d451da", "Starpath", "", "Sweat! - The Decathalon Game (1982) (Starpath) (Prototype)", "Uses the Paddle Controllers (left only)", "Prototype", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, + { "e556e07cc06c803f2955986f53ef63ed", "Coleco", "2665", "Front Line (1982) (Coleco)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e56da674188ba2f02c7a0a343a01236f", "", "", "This Planet Sucks Demo 4 (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e5d5085123a98c1e61818caa2971e999", "", "", "Euchre (PAL) (Erik Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e5ecd78edd24326a968809decbc7b916", "", "", "Cheese 98 (Dragonfire Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e600f5e98a20fafa47676198efe6834d", "", "", "Gyruss (1984) (Parker Bros) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "e63a87c231ee9a506f9599aa4ef7dfb9", "Tigervision", "7-003", "Threshold (1982) (Tigervision)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "21", "214", "", "", "" }, - { "e64a8008812327853877a37befeb6465", "", "ASC1002", "Gauntlet (1983) (Answer Software)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e6de4ef9ab62e2196962aa6b0dedac59", "Imagic", "O3206", "Solar Storm (1983) (Imagic) (PAL) [!]", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, + { "e63efdfda9a4003dcd77a854a781a06a", "Paul Slocum", "", "Combat Rock (PD) [a1]", "Hack of Combat (1977) (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e66e5af5dea661d58420088368e4ef0d", "Activision", "AG-011", "Stampede (1981) (Activision) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e72eb8d4410152bdcb69e7fba327b420", "Atari", "CX26136", "Solaris (1986) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e74022cfe31ec8908844718dfbdedf7a", "", "", "Space Treat (30-12-2002) (Fabrizio Zavagli) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e79c4432c518ca3e497f673a167ee526", "", "", "Ocean City (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e7f005ddb6902c648de098511f6ae2e5", "Spectravideo & Universum", "", "CompuMate (Spectravideo & Universum) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "e80a4026d29777c3c7993fbfaee8920f", "R.J.P.G.", "", "Brick Kick (RJPG)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e879b7093ac4cfad74c88d636ca97d00", "", "", "Poker Squares (V0.0f) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e847e1b57a704ad9f029cc2d564bde11", "", "", "Death Derby (v0007) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e8aa36e3d49e9bfa654c25dcc19c74e6", "Atari", "CX2601", "Combat (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "36", "260", "", "", "" }, { "e908611d99890733be31733a979c62d8", "", "CX2697", "Mario Bros (1983) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e932f44fad2a66b6d5faec9addec208e", "", "", "Atari Logo Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9be3e8e4a7e73dd63ed4235a3a1a25f", "", "", "MMetall (Miniature Golf Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e927ecf80f3784d745abd8368d78f2f3", "", "", "Space Instigators (V1.8) (19-10-2002) (CT) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e957eb4612d6bd5940d3492dfa749668", "", "", "Tunnel Demo (27-03-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e9c5d04643855949a23ff29349af74ea", "", "", "SCSIcide (Score Hack 2) (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ea38fcfc06ad87a0aed1a3d1588744e4", "Atari", "CX26122", "Sinistar (Atari)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ea86176b27ab0da8cce8f0179884bfaa", "", "", "Demo Image Series #10 - It's Art (28-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "eae0c06ee61c63b81cd016096fc901b0", "Joe Grand", "", "SCSIcide (v1.0) (2001) (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb3d680699f8762f71f38e28e321234d", "", "", "Fu Kung! (V0.01) (08-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb4252faff7a4f2ba5284a98b8f78d1a", "", "", "John K Harvey's Equalizer (NTSC) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "eb634650c3912132092b7aee540bbce3", "Atari", "CX2640", "RealSports Baseball (1982) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "26", "", "YES", "", "" }, - { "eb9712e423b57f0b07ccd315bb9abf61", "Retroactive", "", "Qb (V2.04) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "ec26fdc87b1d35f1d60ea89cda4f4dd4", "", "", "Star Fire - Crash Scene (04-11-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ec5d04b7e6cc6641d74d3ba7bb41ebc9", "Absolute-Activision", "", "Pro Wrestling (Absolute-Activision) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed014beeeb77dbb2bbcf9b5f6850b2f4", "", "", "Green Bar Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed1492d4cafd7ebf064f0c933249f5b0", "CCE", "", "Video Cube (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb71743c6c7ccce5b108fad70a326ad9", "", "", "Euchre (25-11-2001) (Erik Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed5ccfc93ad4561075436ee42a15438a", "Atari", "CX2626", "Miniature Golf (1979) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ebcbc8a181a738e13df6216e5c329230", "Activision", "AX-022", "Seaquest (1983) (Activision) [o1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ec26fdc87b1d35f1d60ea89cda4f4dd4", "", "", "Star Fire - Crash Scene (04-11-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ec5c861b487a5075876ab01155e74c6c", "Apollo", "AP 2001", "Spacechase (1981) (Apollo) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ecf51385384b468834611d44a8429c03", "20th Century Fox", "11005", "Mega Force (1982) (20th Century Fox) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed1492d4cafd7ebf064f0c933249f5b0", "CCE", "", "Video Cube (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed9999911b406dc5f75c850dcc17bdf4", "", "", "Star Fire - Shootable (Friendlier Collision Detection) (26-09-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "edf69b123e06eaf8663cc78d8aeba06e", "SpkSoft 98", "", "River Raid (SpkSoft 98) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "10", "", "", "", "" }, { "ee4c186123d31a279ed7a84d3578df23", "Atari", "CX2608 / 4975165", "Super Breakout (1978) (Atari) (PAL) [!]", "Uses the Paddle Controllers (left only)", "Common", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee67dc0b01746372d2b983d88f48e24f", "", "", "Scroller Demo (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee8e2aa00e3a9cf1238157cbcff7de74", "Tigervision", "7-007", "Polaris (1983) (Tigervision) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eed9eaf1a0b6a2b9bc4c8032cb43e3fb", "Atari", "CX26192", "Klax (1990) (Atari) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee6cbedf6c0aac90faa0a8dbc093ffbe", "CCE", "", "My Golf (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eea0da9b987d661264cce69a7c13c3bd", "CBS Electronics", "4L-2277", "Zaxxon (1983) (CBS Electronics)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eec61cc4250df70939d48fe02d7122ac", "Activision", "AG-005", "Skiing (1980) (Activision) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eee7695ae3eea7818321df0b790b31f3", "", "", "Sound Paddle V2 (Dennis Caswell & Jim Nitchals) (PD)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "", "", "", "", "" }, { "ef5c02c95a1e7ed24f24193935755cd3", "Thomas Jentzsch", "", "Jammed Demo (1999) (Hozer Video Games)", "Won't work with Stella < V1.2", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "24", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ef76ea05655a0b62cb1018c92b9b4b7d", "Gakken", "", "Strategy X (1982) (Gakken) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "efd387430a35a659ff569a9a0ec22209", "Atari", "", "Milpede (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f032b2f2d8323404a6b4541f92dd1825", "", "", "Many Blue Bars and Text Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f060826626aac9e0d8cda0282f4b7fc3", "Atari", "CX2605 / 99822 / 75109", "Outlaw - GunSlinger (1978) (Atari) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "efb47d70b2965ce689e2c5757616b286", "", "", "Time Test Demo (Eckhard Stolberg) (PAL) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "efefc02bbc5258815457f7a5b8d8750a", "CBS Electronics", "4L-2520", "Tunnel Runner (1983) (CBS Electronics) [a1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f02ba8b5292bf3017d10553c9b7b2861", "Atari", "", "Xenophobe (1990) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0536303f49006806bac3aec15738336", "Starpath", "AR-4200", "Escape from the Mindmaster (4 of 4) (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, + { "f0631c6675033428238408885d7e4fde", "Paul Slocum", "", "Test Cart (2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "f0a6e99f5875891246c3dbecbf2d2cea", "Atari", "CX2654 / 4975141", "Haunted House (1981) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0cacae1d1b79ee92f0dc035f42e0560", "", "", "Boring Donkey Kong (Donkey Kong Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0ee2b055fed6c1df4f3cbb2e12b2c15", "Starpath", "AR-4400", "Dragonstomper (1982) (Starpath) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f137211537438b1fce3d811baef25457", "", "", "Incoming (02-10-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1554569321dc933c87981cf5c239c43", "Atari", "CX26129", "Midnight Magic (1984) (Atari)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0e0addc07971561ab80d9abe1b8d333", "Imagic", "IA3200", "Demon Attack (1982) (Imagic w-Picture Label) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1127ade54037236e75a133b1dfc389d", "Starpath", "AR-4200", "Escape from the Mindmaster Preview (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f14d5e96ec3380aef57a4b70132c6677", "Goliath", "", "Pac Kong (Goliath) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f16c709df0a6c52f47ff52b9d95b7d8d", "", "CX2662", "Hangman (1978) (Atari) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f19aba18f86e415812480ad2be221425", "", "", "Solaris Trainer (2002) (Chris Larkin) (Solaris Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f1b2ea568b3e156e3f2849dac83591f6", "", "", "Sprite Demo (1997) (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1beca5a198cf08190487e5c27b8e540", "", "", "Fu Kung! (V0.16) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1eeeccc4bba6999345a2575ae96508e", "Video Gems", "", "Steeple Chase (Video Gems) (PAL)", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "f1e375d921858467166e53bcec05803f", "Jeffry Johnston", "", "Radial Pong - Version 3 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f21813aa050437f0dbc8479864acec6d", "", "", "Sneek 'n Peek (1982) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f283cc294ece520c2badf9da20cfc025", "Atari", "CX26104", "Big Bird's Egg Catch (1983) (Atari) (PAL) [!]", "Uses Kids/Keypad Controllers (left only)", "Rare", "", "", "", "", "", "", "KEYBOARD", "NONE", "", "", "", "", "", "", "", "", "" }, + { "f283cc294ece520c2badf9da20cfc025", "Atari", "CX26104", "Big Bird's Egg Catch (1983) (Atari) (PAL) [!]", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, { "f2e4fb2d3600c0f76d05864e658cc57b", "", "", "Marble Craze (Kernel) (17-02-2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f344ac1279152157d63e64aa39479599", "", "", "Espial (1983) (Tigervision) [b2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f367e58667a30e7482175809e3cec4d4", "Zimag", "GN-040 / 708-111", "Cosmic Corridor (Zimag)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "220", "", "", "" }, - { "f3c431930e035a457fe370ed4d230659", "Activision", "AX-029", "Crackpots (1983) (Activision) (PAL) [p2][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f3f92aad3a335f0a1ead24a0214ff446", "", "", "Spectrum Color Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f45644ff82b533a781a1ee50f2e95f3c", "", "", "Overhead Adventure Demo 6 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f3dfae774f3bd005a026e29894db40d3", "Starsoft", "", "See Saw (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f4469178cd8998cb437fa110a228eaca", "Digitel", "", "Frostbite (Digitel) (Brazil) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f48022230bb774a7f22184b48a3385af", "Atari", "CX2633 / 4975119", "Night Driver (1978) (Atari) [o1]", "Uses the Paddle Controllers (left only)", "Common", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "YES", "", "" }, { "f49a34f1fdd7dc147cbf96ce2ce71b76", "", "", "Qb (Special Edition) (PAL) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "f526d0c519f5001adb1fc7948bfbb3ce", "Mythicon", "MA-1003", "Star Fox (1982) (Mythicon) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f4c2e50b01dff99bddbe037b3489511c", "", "", "Hypnotic (V0.04) (2001) (Inkling) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f5445b52999e229e3789c39e7ee99947", "Atari", "", "Flag Capture (32-in-1) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f5d103a9ae36d1d4ee7eef657b75d2b3", "Starpath", "AR-4105", "Frogger Preview (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "31", "", "", "", "" }, + { "f5aa6bd10f662199c42e43863a30106c", "", "", "Music Kit (V1.0) - Song Player (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "f687ec4b69611a7f78bd69b8a567937a", "Activision", "AZ-028", "Robot Tank (1983) (Activision) (PAL) [!]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f69bb58b815a6bdca548fa4d5e0d5a75", "Atari", "", "Bowling (32-in-1) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f6a282374441012b01714e19699fc62a", "Zimag", "GN-010 / 710-111", "I Want My Mommy (AKA Ursinho Esperto) (Zimag) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "f6c13e816e58c8c62f82b2c8b91a2d67", "", "", "Scrolling Playfield 2 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f6f1b27efc247a0e8d473ddb4269ff9e", "Starsoft", "", "Schnapp die Apfeldiebe (AKA Catch Time) (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f724d3dd2471ed4cf5f191dbb724b69f", "Atari", "CX2659", "Raiders of the Lost Ark (1982) (Atari)", "Console ports are swapped", "Common", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f777444fc21a5925e066b68b1d350575", "", "", "Marble Craze (Kernel Works) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f78c125b5da483c41e51522947d6c4ce", "", "", "Sound Paddle V1 (Dennis Caswell & Jim Nitchals) (PD)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "", "", "", "", "" }, - { "f7af41a87533524d9a478575b0d873d0", "Parker Bros", "PB5900", "Spider-Man (1982) (Starsoft) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f802fa61011dd9eb6f80b271bac479d0", "Starsoft", "", "Gefaehrliche Maeusejagt (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "60", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f6efa00ae99aaf33e427b674bcfd834d", "", "", "2600 Digital Clock (Demo 3) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f736864442164b29235e8872013180cd", "Telegames", "", "Quest for Quintana Roo (Telegames) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f750b5d613796963acecab1690f554ae", "Manuel Polik", "", "Gunfight 2600 (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7856e324bc56f45b9c8e6ff062ec033", "", "", "RealSports Soccer (1983) (Atari) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "f7d6592dcb773c81c278140ed4d01669", "Activision", "AZ-108-04", "Ghostbusters (1985) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f80cf77164079d774b9b0fae33dffca9", "", "", "Fu Kung! (V0.15) (Negative Version) (05-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f844f4c6f3baaaf5322657442d6f29eb", "Atari", "CX26111", "Snoopy and the Red Baron (1983) (Atari) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8582bc6ca7046adb8e18164e8cecdbc", "HomeVision", "", "Panda Chase (HomeVision)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8ad87b3ecfc04c9e76d2cebef76a6cb", "", "", "Greeting Cart Carmon (SnailSoft)(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8648d0c6ad1266434f6c485ff69ec40", "CCE", "", "Oink! (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8c1c4a41303bd40b0d6c81bfaf8573b", "", "", "2 Pak Special Blue - Dungeon Master,Creature Strike (1992) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f90b5da189f24d7e1a2117d8c8abc952", "Atari", "CX2653 / 99823 / 75111", "Slot Machine (1979) (Atari)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f939780714db69dc69a80fbefe350e0d", "Activision", "AB-035-04", "Pitfall II - Lost Caverns (1984) (Activision) [b2]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f954381f9e0f2009d1ac40dedd777b1a", "Thomas Jentzsch", "", "Robot City (V0.18) (01-09-2002) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "24", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f992a39b46aa48188fab12ad3809ae4a", "Activision", "AG-019", "Sky Jinks (1982) (Activision) (PAL) [p1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9d51a4e5f8b48f68770c89ffd495ed1", "Atari", "CX2656", "SwordQuest - Fireworld (1982) (Atari) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f93d7fee92717e161e6763a88a293ffa", "20th Century Fox", "11013", "Porky's (1983) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f965cc981cbb0822f955641f8d84e774", "Answer", "", "Confrontation (1983) (Answer Software)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "30", "220", "YES", "", "" }, + { "f97dee1aa2629911f30f225ca31789d4", "Avalon Hill", "", "Out of Control (1983) (Avalon Hill)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9cef637ea8e905a10e324e582dd39c2", "CCE", "", "Private Eye (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f9e99596345a84358bc5d1fbe877134b", "Activision", "AG-010", "Kaboom! (1981) (Activision) (PAL) [!]", "Uses the Paddle Controllers (left only)", "Uncommon", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, - { "fa2be8125c3c60ab83e1c0fe56922fcb", "DSD-Camelot", "", "Tooth Protectors (DSD-Camelot)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "26", "", "YES", "", "" }, - { "fa3de71841c0841db6a741884a6b6b2f", "", "", "Warring Worms (17-02-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa2f5f409cff75c9b9b9a5af84bd9909", "", "", "Greeting Cart Brook Burke Closeup(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fa447e4e2f0d5e67cbf0b060fac5944c", "Activision", "AG-019", "Sky Jinks (1982) (Activision) [b1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa6fe97a10efb9e74c0b5a816e6e1958", "Zimag", "707-111", "Tanks But No Tanks (Zimag)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "" }, - { "fabca526d57de46768b392f758f1a008", "", "", "Laseresal 2600 (16-12-2001) (Andrew Wallace) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "faed2ef6b44894f8c83f2b50891c35c6", "CCE", "", "Super Baseball (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "26", "", "", "", "" }, - { "fb09ee4ccd47ae74a3c314f0d8a40344", "", "", "Titans (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa7e11a3dbea4365975cd2f094e61d25", "Tim Snider", "", "Mystery Science Theater 2600 by Tim Snider (Megamania Hack)", "Hack of Megamania (Activision)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fae0b86934a7c5a362281dffebdb43a0", "Retroactive", "", "Qb (2.07) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "faffd84f3a8eceee2fa5ea5b0a3e6678", "Emag", "", "Immies & Aggies (Emag) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fb27afe896e7c928089307b32e5642ee", "Mattel", "MT5662", "TRON - Deadly Discs (1983) (Mattel) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2047,12 +2041,18 @@ static const char* DefProps[][23] = { { "fd10915633aea4f9cd8b518a25d62b55", "Atari", "", "Superman (1978) (Atari) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd8b4ee0d57605b35e236e814f706ff1", "", "", "Phoenix (1982) (Atari) (PAL) [a1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fdf6680b2b1e8054293a39700a765692", "", "", "Alpha Demo - The Beta Demo 2 (2000) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe67087f9c22655ce519616fc6c6ef4d", "", "", "Cracked (1988) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fec0c2e2ab0588ed20c750b58cf3baa3", "Activision", "AZ-037-04", "Beamrider (1983) (Activision) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "feedcc20bc3ca34851cd5d9e38aa2ca6", "", "CX2607 / 6699828 / 4975115", "Canyon Bomber (1978) (Atari) [!]", "Uses the Paddle Controllers", "Uncommon", "", "", "", "", "", "", "PADDLES", "PADDLES", "YES", "", "", "", "42", "", "", "", "" }, - { "ff7627207e8aa03730c35c735a82c26c", "Atari", "", "Blackjack (32-in-1) (Atari) (PAL) [!]", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "63", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd9b321cee5fbb32c39ba3ca5d9ec7cf", "Jeffry Johnston", "", "Radial Pong - Version 5 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fdf0de38517e0cf7f0885f98ccc95836", "Starpath", "AR-4200", "Escape from the Mindmaster (2 of 4) (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fe0bc4bb92c1c4de7d5706aaa8d8c10d", "", "", "Sprite Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fe870018332a0221eb59fb18b0c6bccc", "", "", "Incoming (08-11-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "feba8686fd0376015258d1152923958a", "", "", "Super Circus (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fece458a8023a809a5006867feca40e8", "", "", "SCSIcide (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "feec54aac911887940b47fe8c9f80b11", "Atari", "CX2633", "Night Driver (1978) (Atari) (PAL) [!]", "Uses the Paddle Controllers (left only)", "Common", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "YES", "", "" }, + { "ff3bd0c684f7144aeaa18758d8281a78", "Atari", "", "Blackjack (1977) (Atari) [!]", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "48", "", "", "", "" }, + { "ff5a9e340d96df6f5a5b6eb038e923bd", "", "", "Space Shuttle - Journey Into Space (1983) (Activision) [t1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ff86fc8ffa717bb095e8471638c1c31c", "Starpath", "AR-4302", "Party Mix (1 of 3) (1982) (Starpath) (PAL)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, { "ffb1cd548563158ce33f9d10268187e7", "Erik Eid", "", "Euchre (Beta) (NTSC) (12-09-2002) (Erik Eid)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ffe51989ba6da2c6ae5a12d277862e16", "Atari", "CX2627 / 6699841", "Human Cannonball (AKA Cannon Man) (1978) (Atari) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2635,38 +2635,52 @@ static const char* DefProps[][23] = { { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "46c021a3e9e2fd00919ca3dd1a6b76d8", "Atari", "CX2629", "Sky Diver (1978) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4702d8d9b48a332724af198aeac9e469", "Atari", "CX2699", "Taz (1983) (Atari) [a1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47464694e9cce07fdbfd096605bf39d4", "Activision", "AK-050-04", "Double Dragon (1989) (Activision) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4799a40b6e889370b7ee55c17ba65141", "Konami-Gakken", "", "Pooyan (1982) (Konami-Gakken)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "26", "220", "", "", "" }, - { "47aef18509051bab493589cb2619170b", "", "", "Stell-A-Sketch (Bob Colbert) (PD)", "Uses Driving, Joystick, or Amiga/Atari ST mouse Controllers", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "47bb1c677fe7ba5f376372ae7358e790", "", "", "Star Fire (10-10-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "481f9a742052801cc5f3defb41cb638e", "Jeffry Johnston", "", "Radial Pong - Version 4 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "484b0076816a104875e00467d431c2d2", "Atari", "CX26150", "Q-bert (1988) (Atari) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "40", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47aef18509051bab493589cb2619170b", "", "", "Stell-A-Sketch (Bob Colbert) (PD)", "Uses Driving, Joystick, or Amiga/Atari ST mouse Controllers", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "48bcf2c5a8c80f18b24c55db96845472", "Activision", "AZ-036-04", "H.E.R.O. (1984) (Activision) [o1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "48eb1fcde4caf6a2dce059c98bd2e375", "Activision", "AB-035-04", "Pitfall II - Lost Caverns (1984) (Activision) [b1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4904a2550759b9b4570e886374f9d092", "Parker Bros", "PB5330", "Reactor (1982) (Parker Bros) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "493de059b32f84ab29cde6213964aeee", "Atari", "CX26120", "Stargate (1984) (Atari) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4947c9de2e28b2f5f3b0c40ce7e56d93", "", "", "3-D Corridor Demo 2 (29-03-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "497f3d2970c43e5224be99f75e97cbbb", "CommaVid", "", "Video Life (CommaVid)", "", "Extremely Rare", "", "CV", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4a7eee19c2dfb6aeb4d9d0a01d37e127", "Hozer Video Games", "", "Crazy Valet (Hozer Video Games)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4ab4af3adcdae8cdacc3d06084fc8d6a", "Nick Bensema", "", "Sucky Zepplin (Nick Bensema) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b27f5397c442d25f0c418ccdacf1926", "Atari", "CX2613 / 4975154", "Adventure (1978) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "NONE", "", "", "", "", "", "", "", "", "" }, + { "4a2fe6f0f6317f006fd6d4b34515448b", "", "", "Warring Worms (Midwest Classic Edition) (08-06-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4a6be79310f86f0bebc7dfcba4d74161", "Telesys", "1006", "Demolition Herby (1982) (Telesys) (PAL) [p1][!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "4a9009620038f7f30aaeb2a00ae58fde", "Starpath", "AR-4401", "Survival Island (3 of 3) (1983) (Starpath)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4afe528a082f0d008e7319ebd481248d", "", "", "Multi-Color Demo 1 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b205ef73a5779acc5759bde3f6d33ed", "Atari", "", "Berzerk (1982) (Atari) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4b8e76a294a04036168f5b13c64911d2", "", "", "Moon Patrol (1982) (Shock Vision-Brazil) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4baada22435320d185c95b7dd2bcdb24", "Atari", "CX2682", "Krull (1983) (Atari) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c030667d07d1438f0e5c458a90978d8", "Retroactive", "", "Qb (V2.03) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c205f166157154df2f1ef60d87e552f", "", "", "Single-Scanline Positioning Demo 2 (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c462b2b6fb0a19a1437eb2c3dc20783", "Starpath", "AR-4401", "Survival Island (1 of 3) (1983) (Starpath)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "NO" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2674,26 +2688,28 @@ static const char* DefProps[][23] = { { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c9307de724c36fd487af6c99ca078f2", "Imagic", "IA3409", "Sky Patrol (Imagic) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4cabc895ea546022c2ecaa5129036634", "Zellers", "", "Ocean City Defender (Zellers)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4d0a28443f7df5f883cf669894164cfa", "", "", "Beast Invaders (Space Invaders Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d38e1105c3a5f0b3119a805f261fcb5", "", "", "Phantom UFO (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d520fcc619612969344d1dbeca5231e", "Spiceware", "SW-01", "Medieval Mayhem (PAL)", "", "Homebrew", "STEREO", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4d7517ae69f95cfbc053be01312b7dba", "Atari", "CX2641 / 99807 / 75105", "Surround (1978) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4d8396deeabb40b5e8578276eb5a8b6d", "Starsoft", "", "Volleyball (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4dcc7e7c2ec0738e26c817b9383091af", "", "", "Unknown Title (bin00026 (200110)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4df6124093ccb4f0b6c26a719f4b7706", "Atari", "CX2622", "Breakout - Breakaway IV (1978) (Atari) [t1]", "Uses the Paddle Controllers", "Common", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, - { "4e02880beeb8dbd4da724a3f33f0971f", "Imagic", "EIZ-002-04", "Wing War (Imagic) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4e37992a37ea36489283f7eb90913bbc", "", "", "Hangman Ghost Halloween (Kris) (Hangman Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4f0071946e80ca68edfdccbac86dcce0", "", "", "Virtual Pet Demo 1 (CRACKERS) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4f634893d54e9cabe106e0ec0b7bdcdf", "Retroactive", "", "Qb (2.14) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "4f6702c3ba6e0ee2e2868d054b00c064", "Activision", "AZ-033", "Space Shuttle - Journey Into Space (1983) (Activision) (PAL) [!]", "", "Rare", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3271,14 +3287,18 @@ static const char* DefProps[][23] = { { "9d522a3759aa855668e75962c84546f7", "Atari", "CX2634", "Golf (1978) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9e2c7299c69b602443d327c7dad51cbf", "Activision / Charles Morgan", "", "Xaxyrax Road by Charles Morgan (Freeway Hack)", "Hack of Freeway (Activision)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9e6fa031ece07919c816fba5dc8de43e", "", "", "Star Fire - Meteor Dance (13-11-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9ec1b259a1bcffa63042a3c2b3b90f0a", "Activision", "AG-008", "Laser Blast (1981) (Activision) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9ed0f2aa226c34d4f55f661442e8f22a", "Starsoft", "", "Fox & Goat (Starsoft) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9efa877a98dd5a075e058214da428abb", "Hozer Video Games", "", "SCSIcide (1.32) (Hozer Video Games)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9eeb40f04a27efb1c68ba1d25e606607", "", "", "Rambo II - Streets of Afghanistan (2003) (Kyle Pittman) (Double Dragon Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9efb4e1a15a6cdd286e4bcd7cd94b7b8", "20th Century Fox", "", "Planet of the Apes (20th Century Fox) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9f8fad4badcd7be61bbd2bcaeef3c58f", "Parker Bros", "PB5330", "Reactor (1982) (Parker Bros)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3387,13 +3407,13 @@ static const char* DefProps[][23] = { { "ad7e97c19bd25d5aa3999430845c755b", "", "", "Sprite Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "adfbd2e8a38f96e03751717f7422851d", "Champ Games", "", "Lady Bug (NTSC)", "", "Homebrew", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "ae0d4f3396cb49de0fabdff03cb2756f", "Retroactive", "", "Qb (V2.02) (PAL) (2001) (Retroactive)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "ae18c11e4d7ed2437f0bf5d167c0e96c", "", "", "Multi-Color Demo 3 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ae465044dfba287d344ba468820995d7", "Goliath-Funvision", "", "Spider Kong (AKA Karate) (Goliath-Funvision) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae682886058cd6981c4b8e93e7b019cf", "Retroactive", "", "Qb (V0.12) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3419,22 +3439,22 @@ static const char* DefProps[][23] = { { "b17b9cc4103844dcda54f77f44acc93a", "Starsoft", "", "Stopp die Gangster (AKA Mafia) (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b1d1e083dc9e7d9a5dc1627869d2ade7", "CCE", "", "Mario Bros (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b1fd0b71de9f6eeb5143a97963674cb6", "", "", "Multi-Color Demo 7 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b227175699e372b8fe10ce243ad6dda5", "Atari", "CX2649 / 4975163", "Asteroids (1979) (Atari) [a1][!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "NO" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b28b3d07ffd5f56938a922b7448730b9", "", "", "Greeting Cart Autobots(PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b2a6f31636b699aeda900f07152bab6e", "", "", "Space Instigators (Public Release 2) (06-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2d5d200f0af8485413fad957828582a", "Atari", "CX26155", "Sprint Master (1988) (Atari) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b31dc989f594764eacfa7931cead0050", "Starpath", "AR-4401", "Survival Island (2 of 3) (1983) (Starpath)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, - { "b392964e8b1c9c2bed12246f228011b2", "US Games", "", "Name This Game (AKA Octopus) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3447,10 +3467,14 @@ static const char* DefProps[][23] = { { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b5a1a189601a785bdb2f02a424080412", "Imagic", "IA3410", "Shootin' Gallery (1982) (Imagic)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "29", "", "", "", "" }, { "b6166f15720fdf192932f1f76df5b65d", "Amiga", "3130", "Off Your Rocker (1983) (Amiga)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "27", "", "", "", "" }, - { "b676a9b7094e0345a76ef027091d916b", "Video Gems / Thomas Jentzsch", "", "Mission Survive (1983) (NTSC by Thomas Jentzsch)", "", "New Release (Video Format Conversion)", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "b6821ac51c4c1dcb283f01be2f047dc1", "", "", "Rubik's Cube 3D Demo (25-11-2002) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b6e40bce550672e5495a8cdde7075b8b", "Starpath", "AR-4401", "Survival Island (1 of 3) (1983) (Starpath) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3727,22 +3751,14 @@ static const char* DefProps[][23] = { { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dac5c0fe74531f077c105b396874a9f1", "Atari", "CX2680", "RealSports Tennis (1983) (Atari) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "daeb54957875c50198a7e616f9cc8144", "20th Century Fox", "11005", "Mega Force (1982) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "db4eb44bc5d652d9192451383d3249fc", "", "", "Mountain King (1983) (CBS Electronics) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "dba2692a216cb6c262c78f8b111a813e", "", "", "Star Fire (08-10-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dbb10b904242fcfb8428f372e00c01af", "Atari", "CX2631", "Superman (1978) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3833,24 +3849,26 @@ static const char* DefProps[][23] = { { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e4c666ca0c36928b95b13d33474dbb44", "Starpath", "AR-4102", "Suicide Mission (1982) (Starpath)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "e4e9125a8741977583776729359614e1", "", "", "Comitoid beta 4 (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e51030251e440cffaab1ac63438b44ae", "Parker Bros", "PB5110", "James Bond 007 (1983) (Parker Bros)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e56da674188ba2f02c7a0a343a01236f", "", "", "This Planet Sucks Demo 4 (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e5f17b3e62a21d0df1ca9aee1aa8c7c5", "CommaVid", "CM-003", "Cosmic Swarm (1982) (CommaVid) [a1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e609e8a007127b8fcff79ffc380da6b1", "", "", "Multi-Sprite Game V2.3 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e63a87c231ee9a506f9599aa4ef7dfb9", "Tigervision", "7-003", "Threshold (1982) (Tigervision)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "21", "214", "", "", "" }, { "e643aaec9a9e1c8ab7fe1eae90bc77d7", "", "", "Asymmetric Playfield (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e66e5af5dea661d58420088368e4ef0d", "Activision", "AG-011", "Stampede (1981) (Activision) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e6508b878145187b87b9cded097293e7", "", "", "Oystron (V2.8) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e6de4ef9ab62e2196962aa6b0dedac59", "Imagic", "O3206", "Solar Storm (1983) (Imagic) (PAL) [!]", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, { "e6f49a1053c79211f82be4d90dc9fe3d", "", "", "Gunfight 2600 - Little progress... (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e72ee2d6e501f07ec5e8a0efbe520bee", "Imagic", "O3211", "Quick Step! (1983) (Imagic) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3860,70 +3878,79 @@ static const char* DefProps[][23] = { { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e823b13751e4388f1f2a375d3560a8d7", "Starpath", "AR-4105", "Frogger Preview (1982) (Starpath) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "31", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e879b7093ac4cfad74c88d636ca97d00", "", "", "Poker Squares (V0.0f) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e8a3473bf786cf796d1336d2d03a0008", "", "", "Star Wars - The Arcade Game (Parker Bros) (Prototype 120583)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e8f7679359c4f532f5d5e93af7d8a985", "", "", "Hangman Invader Original Words (Hangman Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e91d2ecf8803ae52b55bbf105af04d4b", "Atari", "CX2655 / 4975167", "Yar's Revenge (1981) (Atari) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "e927ecf80f3784d745abd8368d78f2f3", "", "", "Space Instigators (V1.8) (19-10-2002) (CT) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e957eb4612d6bd5940d3492dfa749668", "", "", "Tunnel Demo (27-03-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9c5d04643855949a23ff29349af74ea", "", "", "SCSIcide (Score Hack 2) (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e959b5a2c882ccaacb43c32790957c2d", "", "", "Phantom II / Pirate (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e9cb18770a41a16de63b124c1e8bd493", "Parker Bros", "PB5370", "Popeye (1983) (Parker Bros) (PAL) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "ea6d40db5498d6386571a76df448aa4c", "", "", "Vertical Playfield Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ead60451c28635b55ca8fea198444e16", "Sancho", "TEC004", "Nightmare (Sancho) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "43", "256", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eaf744185d5e8def899950ba7c6e7bb5", "Atari", "CX26172", "Xenophobe (1990) (Atari) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb4252faff7a4f2ba5284a98b8f78d1a", "", "", "John K Harvey's Equalizer (NTSC) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb3d680699f8762f71f38e28e321234d", "", "", "Fu Kung! (V0.01) (08-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb503cc64c3560cd78b7051188b7ba56", "CCE", "", "Moto Laser (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb6d6e22a16f30687ade526d7a6f05c5", "Atari", "CX26150", "Q-bert (1988) (Atari) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb92193f06b645df0b2a15d077ce435f", "Starpath", "AR-4102", "Suicide Mission (1982) (Starpath) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "eb9f8b84c193d9d93a58fca112aa39ed", "", "", "Register Twiddler Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ebf9038e927e6a0db3e0d170c59911e6", "", "", "Pac-2600 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ec3beb6d8b5689e867bafb5d5f507491", "US Games", "VC 1003", "Word Zapper (1982) (US Games) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ec5c861b487a5075876ab01155e74c6c", "Apollo", "AP 2001", "Spacechase (1981) (Apollo) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ece908d77ab944f7bac84322b9973549", "Suntek", "", "Tom Boy (Suntek) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "24", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed0ab909cf7b30aff6fc28c3a4660b8e", "", "TEC004 / 105", "Nightmare (Sancho)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed1a784875538c7871d035b7a98c2433", "", "", "Save Our Ship (Technovision) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "38", "", "", "", "" }, + { "ed5ccfc93ad4561075436ee42a15438a", "Atari", "CX2626", "Miniature Golf (1979) (Atari) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eddef10fdc0029301064115ae0cd41d4", "CCE", "AG-009", "Freeway (CCE)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee456542b93fa8d7e6a8c689b5a0413c", "", "", "Chronocolor Donkey Kong Clean (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee659ae50e9df886ac4f8d7ad10d046a", "Exus", "", "Video Reflex (Exus) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee67dc0b01746372d2b983d88f48e24f", "", "", "Scroller Demo (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee8e2aa00e3a9cf1238157cbcff7de74", "Tigervision", "7-007", "Polaris (1983) (Tigervision) [a1]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed9999911b406dc5f75c850dcc17bdf4", "", "", "Star Fire - Shootable (Friendlier Collision Detection) (26-09-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ede7e8bf865b0afb4744f86d13624f9a", "", "", "Demo Image Series #2 - Clown (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee28424af389a7f3672182009472500c", "Atari", "", "Polo (Atari) (Prototype) [!]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee84bdc5dae268e227e407c7b5e6b6b7", "", "", "Marilyn Monroe Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eea0da9b987d661264cce69a7c13c3bd", "CBS Electronics", "4L-2277", "Zaxxon (1983) (CBS Electronics)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eec61cc4250df70939d48fe02d7122ac", "Activision", "AG-005", "Skiing (1980) (Activision) (PAL) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eee7695ae3eea7818321df0b790b31f3", "", "", "Sound Paddle V2 (Dennis Caswell & Jim Nitchals) (PD)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "", "", "", "", "" }, { "ef3a4f64b6494ba770862768caf04b86", "Activision", "AG-034-04", "Private Eye (1983) (Activision) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ef60b06fddb675b0d783afbfa5fc5232", "", "", "Many Blue Bars and Text Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ef71e9fb0d8d477226d8d42261fbf0a7", "Piero Cavina", "", "Multi-Sprite Demo V2.0 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "efb47d70b2965ce689e2c5757616b286", "", "", "Time Test Demo (Eckhard Stolberg) (PAL) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "efefc02bbc5258815457f7a5b8d8750a", "CBS Electronics", "4L-2520", "Tunnel Runner (1983) (CBS Electronics) [a1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f02ba8b5292bf3017d10553c9b7b2861", "Atari", "", "Xenophobe (1990) (Atari) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f047df70d3d08e331122cd2de61d6af8", "Dave Neuman", "", "Space Battle (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0541d2f7cda5ec7bab6d62b6128b823", "Atari", "", "Bionic Breakthrough (1984) (Atari) (Prototype)", "Uses Mindlink Controller (left only)", "Prototype", "", "", "", "", "", "", "MINDLINK", "NONE", "", "", "", "", "", "", "", "", "" }, - { "f0631c6675033428238408885d7e4fde", "Paul Slocum", "", "Test Cart (2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f060826626aac9e0d8cda0282f4b7fc3", "Atari", "CX2605 / 99822 / 75109", "Outlaw - GunSlinger (1978) (Atari) [o1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0b7db930ca0e548c41a97160b9f6275", "Atari", "CX2645 / 6699817 / 4975181", "Video Chess (1978) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f0daaa966199ef2b49403e9a29d12c50", "", "PG209", "Mr. Postman (1983) (Starsoft) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f10e3f45fb01416c87e5835ab270b53a", "", "TP-607", "Ski Run (Funvision) (PAL) [!]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3936,11 +3963,8 @@ static const char* DefProps[][23] = { { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1beca5a198cf08190487e5c27b8e540", "", "", "Fu Kung! (V0.16) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1eeeccc4bba6999345a2575ae96508e", "Video Gems", "", "Steeple Chase (Video Gems) (PAL)", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f240ba9f8092d2e8a4c7d82c554bf509", "", "", "Strahlen der Teufelsvoegel (PAL) [p1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3950,48 +3974,71 @@ static const char* DefProps[][23] = { { "f33f1d0f7819c74148dacb48cbf1c597", "Retroactive", "", "Qb (2.00) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "f34dd3b8156aaf113cb621b2e51d90b8", "Joe Grand", "", "SCSIcide Pre-release 5 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f38358cd8f5ecfedffd5aca1aa939f18", "CosmoVision-Universal Gamex", "GX-001", "X-Man (1983) (CosmoVision-Universal Gamex) [a1]", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f3f5f72bfdd67f3d0e45d097e11b8091", "Sears", "CX2647 / 4975412", "Submarine Commander (1982) (Sears)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4469178cd8998cb437fa110a228eaca", "Digitel", "", "Frostbite (Digitel) (Brazil) (PAL) [p1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f457674cef449cfd85f21db2b4f631a7", "US Games", "VC 1004", "Commando Raid (1982) (US Games)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f4204fc92d17ed4cb567c40361ad58f1", "Inky", "", "Beanie Baby Bash by Inky (Beany Bopper Hack)", "Hack of Beany Bopper (1982) (20th Century Fox)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f45644ff82b533a781a1ee50f2e95f3c", "", "", "Overhead Adventure Demo 6 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4b8a47a95b61895e671c3ec86ffd461", "", "", "Star Wars - The Arcade Game (Parker Bros) (Prototype 010384)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f526d0c519f5001adb1fc7948bfbb3ce", "Mythicon", "MA-1003", "Star Fox (1982) (Mythicon) [!]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f542b5d0193a3959b54f3c4c803ba242", "Atari", "CX2634 / 75121", "Golf (1978) (Atari) [o1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f5a2f6efa33a3e5541bc680e9dc31d5b", "Starsoft", "", "Motocross (Starsoft) (PAL) [a1][!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f613aad84d2163d6b197b220bfec1b7e", "", "", "X-Doom V.27 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f69a39b215852a0c2764d2a923c1e463", "", "", "Move a Blue Blob Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f6d512bef1bf253dc935d0e13c3d1462", "Atari", "", "Slot Racers (1978) (Atari) (PAL) [p1][o1][!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f6efa00ae99aaf33e427b674bcfd834d", "", "", "2600 Digital Clock (Demo 3) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f6f1b27efc247a0e8d473ddb4269ff9e", "Starsoft", "", "Schnapp die Apfeldiebe (AKA Catch Time) (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f724d3dd2471ed4cf5f191dbb724b69f", "Atari", "CX2659", "Raiders of the Lost Ark (1982) (Atari)", "Console ports are swapped", "Common", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "", "" }, + { "f73d2d0eff548e8fc66996f27acf2b4b", "CCE", "AX-018", "Pitfall! (CCE) (PAL-M) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f78c125b5da483c41e51522947d6c4ce", "", "", "Sound Paddle V1 (Dennis Caswell & Jim Nitchals) (PD)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "", "", "", "", "" }, + { "f7af41a87533524d9a478575b0d873d0", "Parker Bros", "PB5900", "Spider-Man (1982) (Starsoft) (PAL) [!]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f802fa61011dd9eb6f80b271bac479d0", "Starsoft", "", "Gefaehrliche Maeusejagt (Starsoft) (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "60", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f825c538481f9a7a46d1e9bc06200aaf", "Atari", "CX2635 / 4975157", "Maze Craze (1978) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f847fb8dba6c6d66d13724dbe5d95c4d", "Absolute", "AZ-042 / AG-042", "Skate Boardin' (1987) (Absolute)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8bfd99163d2c4ec688357786e6fba28", "", "", "Eckhard Stolberg's Scrolling Text Demo 2 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f939780714db69dc69a80fbefe350e0d", "Activision", "AB-035-04", "Pitfall II - Lost Caverns (1984) (Activision) [b2]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f954381f9e0f2009d1ac40dedd777b1a", "Thomas Jentzsch", "", "Robot City (V0.18) (01-09-2002) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "24", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f96a763ced577e383d1102c4d0949525", "", "", "Death Derby (v0005) (2001) (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f98d869f287d2ce4f8fb36e0686929d9", "", "", "Skeleton+ (17-04-2003) (Eric Ball) (NTSC)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9d51a4e5f8b48f68770c89ffd495ed1", "Atari", "CX2656", "SwordQuest - Fireworld (1982) (Atari) [!]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9de91d868d6ebfb0076af9063d7195e", "", "", "Maze Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa0570561aa80896f0ead05c46351389", "Tigervision", "7-008", "Miner 2049er (1982) (Tigervision)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "31", "", "", "", "" }, + { "fa2be8125c3c60ab83e1c0fe56922fcb", "DSD-Camelot", "", "Tooth Protectors (DSD-Camelot)", "", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "26", "", "YES", "", "" }, + { "fa3de71841c0841db6a741884a6b6b2f", "", "", "Warring Worms (17-02-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa6fe97a10efb9e74c0b5a816e6e1958", "Zimag", "707-111", "Tanks But No Tanks (Zimag)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "30", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fac28963307b6e85082ccd77c88325e7", "CCE", "", "Berzerk (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "faed2ef6b44894f8c83f2b50891c35c6", "CCE", "", "Super Baseball (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "26", "", "", "", "" }, + { "fb09ee4ccd47ae74a3c314f0d8a40344", "", "", "Titans (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -4055,53 +4102,6 @@ static const char* DefProps[][23] = { { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd9b321cee5fbb32c39ba3ca5d9ec7cf", "Jeffry Johnston", "", "Radial Pong - Version 5 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fdf0de38517e0cf7f0885f98ccc95836", "Starpath", "AR-4200", "Escape from the Mindmaster (2 of 4) (1982) (Starpath)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NO" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe0bc4bb92c1c4de7d5706aaa8d8c10d", "", "", "Sprite Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe870018332a0221eb59fb18b0c6bccc", "", "", "Incoming (08-11-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "feba8686fd0376015258d1152923958a", "", "", "Super Circus (PAL) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fece458a8023a809a5006867feca40e8", "", "", "SCSIcide (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "feec54aac911887940b47fe8c9f80b11", "Atari", "CX2633", "Night Driver (1978) (Atari) (PAL) [!]", "Uses the Paddle Controllers (left only)", "Common", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "YES", "", "" }, - { "ff3bd0c684f7144aeaa18758d8281a78", "Atari", "", "Blackjack (1977) (Atari) [!]", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "PADDLES", "PADDLES", "", "", "", "", "48", "", "", "", "" }, - { "ff5a9e340d96df6f5a5b6eb038e923bd", "", "", "Space Shuttle - Journey Into Space (1983) (Activision) [t1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ff86fc8ffa717bb095e8471638c1c31c", "Starpath", "AR-4302", "Party Mix (1 of 3) (1982) (Starpath) (PAL)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ffebb0070689b9d322687edd9c0a2bae", "", "", "Spitfire Attack (1983) (Milton Bradley) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "28", "", "", "", "" } }; diff --git a/stella/src/emucore/m6502/src/Device.hxx b/stella/src/emucore/m6502/src/Device.hxx index 489951ffd..8dd3454b7 100644 --- a/stella/src/emucore/m6502/src/Device.hxx +++ b/stella/src/emucore/m6502/src/Device.hxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: Device.hxx,v 1.5 2007-01-01 18:04:50 stephena Exp $ +// $Id: Device.hxx,v 1.6 2007-01-14 16:17:57 stephena Exp $ //============================================================================ #ifndef DEVICE_HXX @@ -30,7 +30,7 @@ class Deserializer; based system. @author Bradford W. Mott - @version $Id: Device.hxx,v 1.5 2007-01-01 18:04:50 stephena Exp $ + @version $Id: Device.hxx,v 1.6 2007-01-14 16:17:57 stephena Exp $ */ class Device { @@ -109,5 +109,5 @@ class Device /// Pointer to the system the device is installed in or the null pointer System* mySystem; }; + #endif - diff --git a/stella/src/emucore/module.mk b/stella/src/emucore/module.mk index adaa83342..6ebfca95d 100644 --- a/stella/src/emucore/module.mk +++ b/stella/src/emucore/module.mk @@ -25,6 +25,7 @@ MODULE_OBJS := \ src/emucore/CartMB.o \ src/emucore/CartMC.o \ src/emucore/CartUA.o \ + src/emucore/Cart0840.o \ src/emucore/Console.o \ src/emucore/Control.o \ src/emucore/Deserializer.o \ diff --git a/stella/src/emucore/stella.pro b/stella/src/emucore/stella.pro index 2b29b0e81..25dcc66c5 100644 --- a/stella/src/emucore/stella.pro +++ b/stella/src/emucore/stella.pro @@ -1572,10 +1572,10 @@ "Cartridge.Manufacturer" "Atari" "Cartridge.ModelNo" "CX26104" "Cartridge.Name" "Big Bird's Egg Catch (1983) (Atari)" -"Cartridge.Note" "Uses Kids/Keypad Controllers (left only)" +"Cartridge.Note" "Uses Kids/Keypad Controllers" "Cartridge.Rarity" "Rare" "Controller.Left" "KEYBOARD" -"Controller.Right" "NONE" +"Controller.Right" "KEYBOARD" "" "Cartridge.MD5" "180c234496f31a8671226277e0afbf2f" @@ -1589,6 +1589,8 @@ "Cartridge.MD5" "715dd9e0240638d441a3add49316c018" "Cartridge.Name" "128-in-1 Junior Console (Chip 2) (PAL) [!]" +"Controller.Left" "DRIVING" +"Controller.Right" "DRIVING" "" "Cartridge.MD5" "5b9c2e0012fbfd29efd3306359bbfc4a" @@ -4500,6 +4502,16 @@ "Display.Height" "220" "" +"Cartridge.MD5" "47911752bf113a2496dbb66c70c9e70c" +"Cartridge.Manufacturer" "Atari" +"Cartridge.ModelNo" "CX26101" +"Cartridge.Name" "Oscar's Trash Race (1983) (Atari) (PAL) [!]" +"Cartridge.Note" "Uses Kids/Keypad Controllers" +"Cartridge.Rarity" "Rare" +"Controller.Left" "KEYBOARD" +"Controller.Right" "KEYBOARD" +"" + "Cartridge.MD5" "47aef18509051bab493589cb2619170b" "Cartridge.Name" "Stell-A-Sketch (Bob Colbert) (PD)" "Cartridge.Note" "Uses Driving, Joystick, or Amiga/Atari ST mouse Controllers" @@ -4630,6 +4642,16 @@ "Cartridge.Rarity" "Common" "" +"Cartridge.MD5" "4ac9f40ddfcf194bd8732a75b3f2f214" +"Cartridge.Manufacturer" "Atari" +"Cartridge.ModelNo" "CX26106" +"Cartridge.Name" "Grover's Music Maker (Atari) (Prototype)" +"Cartridge.Note" "Uses Kids/Keypad Controllers" +"Cartridge.Rarity" "Prototype" +"Controller.Left" "KEYBOARD" +"Controller.Right" "KEYBOARD" +"" + "Cartridge.MD5" "4999b45be0ab5a85bac1b7c0e551542b" "Cartridge.Manufacturer" "CCE" "Cartridge.Name" "Double Dragon (CCE)" @@ -4685,15 +4707,6 @@ "Cartridge.Rarity" "Rare" "" -"Cartridge.MD5" "4ac9f40ddfcf194bd8732a75b3f2f214" -"Cartridge.Manufacturer" "Atari" -"Cartridge.ModelNo" "CX26106" -"Cartridge.Name" "Grover's Music Maker (Atari) (Prototype)" -"Cartridge.Note" "Uses Kids/Keypad Controllers (left only)" -"Cartridge.Rarity" "Prototype" -"Controller.Left" "KEYBOARD" -"" - "Cartridge.MD5" "4abb4c87a4c5f5d0c14ead2bb36251be" "Cartridge.Manufacturer" "Atari" "Cartridge.ModelNo" "CX26135" @@ -7572,6 +7585,7 @@ "Cartridge.Name" "Cookie Monster Munch (1983) (Atari) (PAL) [a1][!]" "Cartridge.Note" "Uses Kids/Keypad Controllers" "Controller.Left" "KEYBOARD" +"Controller.Right" "KEYBOARD" "" "Cartridge.MD5" "7972e5101fa548b952d852db24ad6060" @@ -9676,6 +9690,21 @@ "Display.Phosphor" "YES" "" +"Cartridge.MD5" "9f59eddf9ba91a7d93bce7ee4b7693bc" +"Cartridge.Name" "Montezuma's Revenge - Starring Panama Joe (PAL by Thomas Jentzsch).a26" +"Display.Format" "PAL60" +"" + +"Cartridge.MD5" "9e01f7f95cb8596765e03b9a36e8e33c" +"Cartridge.Manufacturer" "Atari" +"Cartridge.ModelNo" "CX26103" +"Cartridge.Name" "Alpha Beam with Ernie (1983) (Atari)" +"Cartridge.Note" "Uses Kids/Keypad Controllers" +"Cartridge.Rarity" "Rare" +"Controller.Left" "KEYBOARD" +"Controller.Right" "KEYBOARD" +"" + "Cartridge.MD5" "9e792a59f8795664cbaaff1ba152d731" "Cartridge.Name" "Bullet Demo (20-12-2002) (CT)" "" @@ -13955,6 +13984,16 @@ "Cartridge.Note" "Uses Keypad Controllers" "Cartridge.Rarity" "Prototype" "Controller.Left" "KEYBOARD" +"Controller.Right" "KEYBOARD" +"" + +"Cartridge.MD5" "fa1b060fd8e0bca0c2a097dcffce93d3" +"Cartridge.ModelNo" "CX26101" +"Cartridge.Name" "Oscar's Trash Race (1983) (Atari) (Prototype) (PAL)" +"Cartridge.Note" "Uses Kids/Keypad Controllers" +"Cartridge.Rarity" "Prototype" +"Controller.Left" "KEYBOARD" +"Controller.Right" "KEYBOARD" "" "Cartridge.MD5" "e3ed4ba3361756970f076e46e9cad1d2" @@ -14831,10 +14870,10 @@ "Cartridge.Manufacturer" "Atari" "Cartridge.ModelNo" "CX26104" "Cartridge.Name" "Big Bird's Egg Catch (1983) (Atari) (PAL) [!]" -"Cartridge.Note" "Uses Kids/Keypad Controllers (left only)" +"Cartridge.Note" "Uses Kids/Keypad Controllers" "Cartridge.Rarity" "Rare" "Controller.Left" "KEYBOARD" -"Controller.Right" "NONE" +"Controller.Right" "KEYBOARD" "" "Cartridge.MD5" "f280976d69d6e27a48506bd6bad11dcd" @@ -15789,4 +15828,3 @@ "Cartridge.Name" "Spitfire Attack (1983) (Milton Bradley) [h1]" "Display.YStart" "28" "" -