From 169e43e16ff576fcd05c0339237595c11d8078df Mon Sep 17 00:00:00 2001 From: urchlay Date: Sat, 30 Jul 2005 16:58:22 +0000 Subject: [PATCH] saverom support for all cart types except Pitfall II (DPC). Only 4K and 3E have actually been tested. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@701 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- stella/src/emucore/Cart2K.cxx | 8 +++++++- stella/src/emucore/Cart2K.hxx | 6 ++++-- stella/src/emucore/Cart3E.cxx | 8 +++++++- stella/src/emucore/Cart3E.hxx | 6 ++++-- stella/src/emucore/Cart3F.cxx | 8 +++++++- stella/src/emucore/Cart3F.hxx | 6 ++++-- stella/src/emucore/CartAR.cxx | 8 +++++++- stella/src/emucore/CartAR.hxx | 6 ++++-- stella/src/emucore/CartCV.cxx | 8 +++++++- stella/src/emucore/CartCV.hxx | 6 ++++-- stella/src/emucore/CartE0.cxx | 9 ++++++++- stella/src/emucore/CartE0.hxx | 6 ++++-- stella/src/emucore/CartE7.cxx | 8 +++++++- stella/src/emucore/CartE7.hxx | 6 ++++-- stella/src/emucore/CartF4.cxx | 8 +++++++- stella/src/emucore/CartF4.hxx | 6 ++++-- stella/src/emucore/CartF4SC.cxx | 8 +++++++- stella/src/emucore/CartF4SC.hxx | 6 ++++-- stella/src/emucore/CartF6.cxx | 8 +++++++- stella/src/emucore/CartF6.hxx | 6 ++++-- stella/src/emucore/CartF6SC.cxx | 8 +++++++- stella/src/emucore/CartF6SC.hxx | 6 ++++-- stella/src/emucore/CartF8.cxx | 8 +++++++- stella/src/emucore/CartF8.hxx | 6 ++++-- stella/src/emucore/CartF8SC.cxx | 8 +++++++- stella/src/emucore/CartF8SC.hxx | 6 ++++-- stella/src/emucore/CartFASC.cxx | 8 +++++++- stella/src/emucore/CartFASC.hxx | 6 ++++-- stella/src/emucore/CartFE.cxx | 8 +++++++- stella/src/emucore/CartFE.hxx | 6 ++++-- stella/src/emucore/CartMB.cxx | 8 +++++++- stella/src/emucore/CartMB.hxx | 6 ++++-- stella/src/emucore/CartMC.cxx | 8 +++++++- stella/src/emucore/CartMC.hxx | 6 ++++-- stella/src/emucore/CartUA.cxx | 8 +++++++- stella/src/emucore/CartUA.hxx | 6 ++++-- 36 files changed, 199 insertions(+), 54 deletions(-) diff --git a/stella/src/emucore/Cart2K.cxx b/stella/src/emucore/Cart2K.cxx index ce9463810..782e5d2d9 100644 --- a/stella/src/emucore/Cart2K.cxx +++ b/stella/src/emucore/Cart2K.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: Cart2K.cxx,v 1.5 2005-06-27 23:40:35 urchlay Exp $ +// $Id: Cart2K.cxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -136,3 +136,9 @@ bool Cartridge2K::load(Deserializer& in) 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 67b9ec250..2eb6e1da6 100644 --- a/stella/src/emucore/Cart2K.hxx +++ b/stella/src/emucore/Cart2K.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: Cart2K.hxx,v 1.5 2005-06-27 23:40:35 urchlay Exp $ +// $Id: Cart2K.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGE2K_HXX @@ -33,7 +33,7 @@ class Deserializer; 2600's 4K cartridge addressing space. @author Bradford W. Mott - @version $Id: Cart2K.hxx,v 1.5 2005-06-27 23:40:35 urchlay Exp $ + @version $Id: Cart2K.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ */ class Cartridge2K : public Cartridge { @@ -87,6 +87,8 @@ class Cartridge2K : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address diff --git a/stella/src/emucore/Cart3E.cxx b/stella/src/emucore/Cart3E.cxx index bc57217a7..cce44c6f8 100644 --- a/stella/src/emucore/Cart3E.cxx +++ b/stella/src/emucore/Cart3E.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: Cart3E.cxx,v 1.5 2005-07-09 12:52:46 stephena Exp $ +// $Id: Cart3E.cxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -296,3 +296,9 @@ bool Cartridge3E::load(Deserializer& in) return true; } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +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 1f3a2415d..8aa17843a 100644 --- a/stella/src/emucore/Cart3E.hxx +++ b/stella/src/emucore/Cart3E.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: Cart3E.hxx,v 1.1 2005-07-08 04:00:09 urchlay Exp $ +// $Id: Cart3E.hxx,v 1.2 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGE3E_HXX @@ -59,7 +59,7 @@ class Deserializer; any problems. (Famous last words...) @author B. Watson - @version $Id: Cart3E.hxx,v 1.1 2005-07-08 04:00:09 urchlay Exp $ + @version $Id: Cart3E.hxx,v 1.2 2005-07-30 16:58:22 urchlay Exp $ */ class Cartridge3E : public Cartridge @@ -115,6 +115,8 @@ class Cartridge3E : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address diff --git a/stella/src/emucore/Cart3F.cxx b/stella/src/emucore/Cart3F.cxx index dde50cfcc..15de4bd7c 100644 --- a/stella/src/emucore/Cart3F.cxx +++ b/stella/src/emucore/Cart3F.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: Cart3F.cxx,v 1.9 2005-07-09 12:52:46 stephena Exp $ +// $Id: Cart3F.cxx,v 1.10 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -231,3 +231,9 @@ bool Cartridge3F::load(Deserializer& in) return true; } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +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 9c8caff10..bae8dea8e 100644 --- a/stella/src/emucore/Cart3F.hxx +++ b/stella/src/emucore/Cart3F.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: Cart3F.hxx,v 1.6 2005-06-27 23:40:35 urchlay Exp $ +// $Id: Cart3F.hxx,v 1.7 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGE3F_HXX @@ -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.6 2005-06-27 23:40:35 urchlay Exp $ + @version $Id: Cart3F.hxx,v 1.7 2005-07-30 16:58:22 urchlay Exp $ */ class Cartridge3F : public Cartridge { @@ -120,6 +120,8 @@ class Cartridge3F : public Cartridge int bank(); int bankCount(); + virtual uInt8* getImage(int& size); + private: // Indicates which bank is currently active for the first segment uInt16 myCurrentBank; diff --git a/stella/src/emucore/CartAR.cxx b/stella/src/emucore/CartAR.cxx index f247e3f24..c4b3abb42 100644 --- a/stella/src/emucore/CartAR.cxx +++ b/stella/src/emucore/CartAR.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: CartAR.cxx,v 1.9 2005-06-27 23:40:35 urchlay Exp $ +// $Id: CartAR.cxx,v 1.10 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -580,3 +580,9 @@ bool CartridgeAR::load(Deserializer& in) return true; } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeAR::getImage(int& size) { + size = myNumberOfLoadImages * 8448; + return &myLoadImages[0]; +} diff --git a/stella/src/emucore/CartAR.hxx b/stella/src/emucore/CartAR.hxx index 1e9c5cce8..04c8049ab 100644 --- a/stella/src/emucore/CartAR.hxx +++ b/stella/src/emucore/CartAR.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: CartAR.hxx,v 1.7 2005-06-27 23:40:35 urchlay Exp $ +// $Id: CartAR.hxx,v 1.8 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEAR_HXX @@ -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.7 2005-06-27 23:40:35 urchlay Exp $ + @version $Id: CartAR.hxx,v 1.8 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeAR : public Cartridge { @@ -127,6 +127,8 @@ class CartridgeAR : public Cartridge int bank(); int bankCount(); + virtual uInt8* getImage(int& size); + private: // Handle a change to the bank configuration void bankConfiguration(uInt8 configuration); diff --git a/stella/src/emucore/CartCV.cxx b/stella/src/emucore/CartCV.cxx index bfe82e742..81842cefa 100644 --- a/stella/src/emucore/CartCV.cxx +++ b/stella/src/emucore/CartCV.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: CartCV.cxx,v 1.7 2005-06-27 23:40:35 urchlay Exp $ +// $Id: CartCV.cxx,v 1.8 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -194,3 +194,9 @@ bool CartridgeCV::load(Deserializer& in) return true; } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeCV::getImage(int& size) { + size = 2048; + return &myImage[0]; +} diff --git a/stella/src/emucore/CartCV.hxx b/stella/src/emucore/CartCV.hxx index 30e0b875e..5e147ca36 100644 --- a/stella/src/emucore/CartCV.hxx +++ b/stella/src/emucore/CartCV.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: CartCV.hxx,v 1.5 2005-06-27 23:40:36 urchlay Exp $ +// $Id: CartCV.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGECV_HXX @@ -35,7 +35,7 @@ class Deserializer; $F800-$FFFF ROM @author Eckhard Stolberg - @version $Id: CartCV.hxx,v 1.5 2005-06-27 23:40:36 urchlay Exp $ + @version $Id: CartCV.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeCV : public Cartridge { @@ -89,6 +89,8 @@ class CartridgeCV : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address diff --git a/stella/src/emucore/CartE0.cxx b/stella/src/emucore/CartE0.cxx index 247dab76d..a8ef4f180 100644 --- a/stella/src/emucore/CartE0.cxx +++ b/stella/src/emucore/CartE0.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: CartE0.cxx,v 1.7 2005-06-28 01:31:32 urchlay Exp $ +// $Id: CartE0.cxx,v 1.8 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -254,3 +254,10 @@ bool CartridgeE0::load(Deserializer& in) 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 efa28a96b..bba9eee9b 100644 --- a/stella/src/emucore/CartE0.hxx +++ b/stella/src/emucore/CartE0.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: CartE0.hxx,v 1.5 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartE0.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEE0_HXX @@ -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.5 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartE0.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeE0 : public Cartridge { @@ -90,6 +90,8 @@ class CartridgeE0 : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartE7.cxx b/stella/src/emucore/CartE7.cxx index c2c05fd74..c9d13b76c 100644 --- a/stella/src/emucore/CartE7.cxx +++ b/stella/src/emucore/CartE7.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: CartE7.cxx,v 1.9 2005-06-28 01:31:32 urchlay Exp $ +// $Id: CartE7.cxx,v 1.10 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -310,3 +310,9 @@ bool CartridgeE7::load(Deserializer& in) 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 a31fa5f6a..51106de11 100644 --- a/stella/src/emucore/CartE7.hxx +++ b/stella/src/emucore/CartE7.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: CartE7.hxx,v 1.6 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartE7.hxx,v 1.7 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEE7_HXX @@ -53,7 +53,7 @@ class Deserializer; here by accessing 1FF8 to 1FFB. @author Bradford W. Mott - @version $Id: CartE7.hxx,v 1.6 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartE7.hxx,v 1.7 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeE7 : public Cartridge { @@ -107,6 +107,8 @@ class CartridgeE7 : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartF4.cxx b/stella/src/emucore/CartF4.cxx index 320c440f9..8601b8a81 100644 --- a/stella/src/emucore/CartF4.cxx +++ b/stella/src/emucore/CartF4.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: CartF4.cxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartF4.cxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -198,3 +198,9 @@ bool CartridgeF4::load(Deserializer& in) 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 19012962d..1fe202856 100644 --- a/stella/src/emucore/CartF4.hxx +++ b/stella/src/emucore/CartF4.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: CartF4.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartF4.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEF4_HXX @@ -31,7 +31,7 @@ class Deserializer; are eight 4K banks. @author Bradford W. Mott - @version $Id: CartF4.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartF4.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeF4 : public Cartridge { @@ -85,6 +85,8 @@ class CartridgeF4 : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartF4SC.cxx b/stella/src/emucore/CartF4SC.cxx index 0be7a92bf..da019fd54 100644 --- a/stella/src/emucore/CartF4SC.cxx +++ b/stella/src/emucore/CartF4SC.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: CartF4SC.cxx,v 1.6 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartF4SC.cxx,v 1.7 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -235,3 +235,9 @@ bool CartridgeF4SC::load(Deserializer& in) 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 ad4aaa984..8f73bdda1 100644 --- a/stella/src/emucore/CartF4SC.hxx +++ b/stella/src/emucore/CartF4SC.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: CartF4SC.hxx,v 1.5 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartF4SC.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEF4SC_HXX @@ -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.5 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartF4SC.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeF4SC : public Cartridge { @@ -85,6 +85,8 @@ class CartridgeF4SC : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartF6.cxx b/stella/src/emucore/CartF6.cxx index 302dac4cb..b836369bc 100644 --- a/stella/src/emucore/CartF6.cxx +++ b/stella/src/emucore/CartF6.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: CartF6.cxx,v 1.7 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartF6.cxx,v 1.8 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -237,3 +237,9 @@ bool CartridgeF6::load(Deserializer& in) 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 0fa5e8c52..c4559dd12 100644 --- a/stella/src/emucore/CartF6.hxx +++ b/stella/src/emucore/CartF6.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: CartF6.hxx,v 1.6 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartF6.hxx,v 1.7 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEF6_HXX @@ -31,7 +31,7 @@ class Deserializer; are four 4K banks. @author Bradford W. Mott - @version $Id: CartF6.hxx,v 1.6 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartF6.hxx,v 1.7 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeF6 : public Cartridge { @@ -85,6 +85,8 @@ class CartridgeF6 : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartF6SC.cxx b/stella/src/emucore/CartF6SC.cxx index 1cd765980..501d40179 100644 --- a/stella/src/emucore/CartF6SC.cxx +++ b/stella/src/emucore/CartF6SC.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: CartF6SC.cxx,v 1.6 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartF6SC.cxx,v 1.7 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -281,3 +281,9 @@ bool CartridgeF6SC::load(Deserializer& in) 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 5e5f5e2eb..1dc04d29d 100644 --- a/stella/src/emucore/CartF6SC.hxx +++ b/stella/src/emucore/CartF6SC.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: CartF6SC.hxx,v 1.5 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartF6SC.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEF6SC_HXX @@ -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.5 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartF6SC.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeF6SC : public Cartridge { @@ -85,6 +85,8 @@ class CartridgeF6SC : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartF8.cxx b/stella/src/emucore/CartF8.cxx index b2fcfe0f3..d9be244ab 100644 --- a/stella/src/emucore/CartF8.cxx +++ b/stella/src/emucore/CartF8.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: CartF8.cxx,v 1.7 2005-06-28 01:31:32 urchlay Exp $ +// $Id: CartF8.cxx,v 1.8 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -218,3 +218,9 @@ bool CartridgeF8::load(Deserializer& in) return true; } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeF8::getImage(int& size) { + size = 8192; + return &myImage[0]; +} diff --git a/stella/src/emucore/CartF8.hxx b/stella/src/emucore/CartF8.hxx index 1ddcf83d8..31981b13a 100644 --- a/stella/src/emucore/CartF8.hxx +++ b/stella/src/emucore/CartF8.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: CartF8.hxx,v 1.5 2005-06-27 23:40:36 urchlay Exp $ +// $Id: CartF8.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEF8_HXX @@ -31,7 +31,7 @@ class Deserializer; are two 4K banks. @author Bradford W. Mott - @version $Id: CartF8.hxx,v 1.5 2005-06-27 23:40:36 urchlay Exp $ + @version $Id: CartF8.hxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeF8 : public Cartridge { @@ -85,6 +85,8 @@ class CartridgeF8 : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartF8SC.cxx b/stella/src/emucore/CartF8SC.cxx index c9d374daa..839d7cce6 100644 --- a/stella/src/emucore/CartF8SC.cxx +++ b/stella/src/emucore/CartF8SC.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: CartF8SC.cxx,v 1.5 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartF8SC.cxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -259,3 +259,9 @@ bool CartridgeF8SC::load(Deserializer& in) return true; } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt8* CartridgeF8SC::getImage(int& size) { + size = 8192; + return &myImage[0]; +} diff --git a/stella/src/emucore/CartF8SC.hxx b/stella/src/emucore/CartF8SC.hxx index b2318215d..64277e74c 100644 --- a/stella/src/emucore/CartF8SC.hxx +++ b/stella/src/emucore/CartF8SC.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: CartF8SC.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartF8SC.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEF8SC_HXX @@ -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.4 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartF8SC.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeF8SC : public Cartridge { @@ -85,6 +85,8 @@ class CartridgeF8SC : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartFASC.cxx b/stella/src/emucore/CartFASC.cxx index ab8336fb5..4ef617ca4 100644 --- a/stella/src/emucore/CartFASC.cxx +++ b/stella/src/emucore/CartFASC.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: CartFASC.cxx,v 1.5 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartFASC.cxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -269,3 +269,9 @@ bool CartridgeFASC::load(Deserializer& in) 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 2fcaeb626..2ab4d09ef 100644 --- a/stella/src/emucore/CartFASC.hxx +++ b/stella/src/emucore/CartFASC.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: CartFASC.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartFASC.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEFASC_HXX @@ -31,7 +31,7 @@ class Deserializer; three 4K banks and 256 bytes of RAM. @author Bradford W. Mott - @version $Id: CartFASC.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartFASC.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeFASC : public Cartridge { @@ -85,6 +85,8 @@ class CartridgeFASC : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartFE.cxx b/stella/src/emucore/CartFE.cxx index 6f08c520c..86d6260e2 100644 --- a/stella/src/emucore/CartFE.cxx +++ b/stella/src/emucore/CartFE.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: CartFE.cxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartFE.cxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -135,3 +135,9 @@ bool CartridgeFE::load(Deserializer& in) 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 16ed9b5bf..c0977d7e0 100644 --- a/stella/src/emucore/CartFE.hxx +++ b/stella/src/emucore/CartFE.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: CartFE.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartFE.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEFE_HXX @@ -43,7 +43,7 @@ class Deserializer; monitoring the bus. @author Bradford W. Mott - @version $Id: CartFE.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartFE.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeFE : public Cartridge { @@ -97,6 +97,8 @@ class CartridgeFE : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartMB.cxx b/stella/src/emucore/CartMB.cxx index 4d29892cc..bbf4ae2e1 100644 --- a/stella/src/emucore/CartMB.cxx +++ b/stella/src/emucore/CartMB.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: CartMB.cxx,v 1.5 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartMB.cxx,v 1.6 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -199,3 +199,9 @@ bool CartridgeMB::load(Deserializer& in) 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 3b29aa867..efee661e3 100644 --- a/stella/src/emucore/CartMB.hxx +++ b/stella/src/emucore/CartMB.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: CartMB.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartMB.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEMB_HXX @@ -32,7 +32,7 @@ class Deserializer; Accessing $1FF0 switches to next bank. @author Eckhard Stolberg - @version $Id: CartMB.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartMB.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeMB : public Cartridge { @@ -86,6 +86,8 @@ class CartridgeMB : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address. diff --git a/stella/src/emucore/CartMC.cxx b/stella/src/emucore/CartMC.cxx index ee829486b..8ffc5f248 100644 --- a/stella/src/emucore/CartMC.cxx +++ b/stella/src/emucore/CartMC.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: CartMC.cxx,v 1.6 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartMC.cxx,v 1.7 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -296,3 +296,9 @@ bool CartridgeMC::load(Deserializer& in) return true; } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +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 7eeda12d7..8c2370636 100644 --- a/stella/src/emucore/CartMC.hxx +++ b/stella/src/emucore/CartMC.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: CartMC.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartMC.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEMC_HXX @@ -135,7 +135,7 @@ class Deserializer; @author Bradford W. Mott - @version $Id: CartMC.hxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartMC.hxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeMC : public Cartridge { @@ -192,6 +192,8 @@ class CartridgeMC : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address diff --git a/stella/src/emucore/CartUA.cxx b/stella/src/emucore/CartUA.cxx index 762c92ffe..0bce66891 100644 --- a/stella/src/emucore/CartUA.cxx +++ b/stella/src/emucore/CartUA.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: CartUA.cxx,v 1.4 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartUA.cxx,v 1.5 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #include @@ -232,3 +232,9 @@ bool CartridgeUA::load(Deserializer& in) 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 5cfe258cd..5c46f7066 100644 --- a/stella/src/emucore/CartUA.hxx +++ b/stella/src/emucore/CartUA.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: CartUA.hxx,v 1.3 2005-06-28 01:15:17 urchlay Exp $ +// $Id: CartUA.hxx,v 1.4 2005-07-30 16:58:22 urchlay Exp $ //============================================================================ #ifndef CARTRIDGEUA_HXX @@ -32,7 +32,7 @@ class Deserializer; are two 4K banks. @author Bradford W. Mott - @version $Id: CartUA.hxx,v 1.3 2005-06-28 01:15:17 urchlay Exp $ + @version $Id: CartUA.hxx,v 1.4 2005-07-30 16:58:22 urchlay Exp $ */ class CartridgeUA : public Cartridge { @@ -86,6 +86,8 @@ class CartridgeUA : public Cartridge */ virtual bool load(Deserializer& in); + virtual uInt8* getImage(int& size); + public: /** Get the byte at the specified address.