From 0818aba023564d4ad802e82aefe8cab957657b80 Mon Sep 17 00:00:00 2001 From: estolberg Date: Fri, 18 Jan 2002 15:59:40 +0000 Subject: [PATCH] new header for Commavid extra RAM carts git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@33 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- stella/src/emucore/CartCV.hxx | 98 +++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 stella/src/emucore/CartCV.hxx diff --git a/stella/src/emucore/CartCV.hxx b/stella/src/emucore/CartCV.hxx new file mode 100644 index 000000000..cf49bdca6 --- /dev/null +++ b/stella/src/emucore/CartCV.hxx @@ -0,0 +1,98 @@ +//============================================================================ +// +// 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-1998 by Bradford W. Mott +// +// 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.1 2002-01-18 15:59:40 estolberg Exp $ +//============================================================================ + +#ifndef CARTRIDGECV_HXX +#define CARTRIDGECV_HXX + +class CartridgeCV; +class System; + +#include "bspf.hxx" +#include "Cart.hxx" + +/** + Cartridge class used for Commavid's extra-RAM games. + + $F000-$F3FF read from RAM + $F400-$F7FF write to RAM + $F800-$FFFF ROM + + @author Eckhard Stolberg + @version $Id: CartCV.hxx,v 1.1 2002-01-18 15:59:40 estolberg Exp $ +*/ +class CartridgeCV : public Cartridge +{ + public: + /** + Create a new cartridge using the specified image + + @param image Pointer to the ROM image + */ + CartridgeCV(const uInt8* image, uInt32 size); + + /** + Destructor + */ + virtual ~CartridgeCV(); + + 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 cartridge 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); + + 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); + + private: + // The 2k ROM image for the cartridge + uInt8 myImage[2048]; + + // The 1024 bytes of RAM + uInt8 myRAM[1024]; +}; +#endif +