1
//============================================================================
5
// SS tttttt eeee ll ll aaaa
6
// SSSS tt ee ee ll ll aa
7
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
8
// SS SS tt ee ll ll aa aa
9
// SSSS ttt eeeee llll llll aaaaa
11
// Copyright (c) 1995-1998 by Bradford W. Mott
13
// See the file "license" for information on usage and redistribution of
14
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
16
// $Id: Cart.hxx,v 1.2 1998/07/15 20:24:05 bwmott Exp $
17
//============================================================================
30
A cartridge is a device which contains the machine code for a
31
game and handles any bankswitching performed by the cartridge.
33
@author Bradford W. Mott
34
@version $Id: Cart.hxx,v 1.2 1998/07/15 20:24:05 bwmott Exp $
36
class Cartridge : public Device
40
Create a new cartridge object allocated on the heap. The
41
type of cartridge created depends on the properties object.
43
@param image A pointer to the ROM image
44
@param size The size of the ROM image
45
@param properties The properties associated with the game
46
@return Pointer to the new cartridge object allocated on the heap
48
static Cartridge* create(const uInt8* image, uInt32 size,
49
const Properties& properties);
53
Create a new cartridge
64
Try to auto-detect the bankswitching type of the cartridge
66
@param image A pointer to the ROM image
67
@param size The size of the ROM image
68
@return The "best guess" for the cartridge type
70
static string autodetectType(const uInt8* image, uInt32 size);
73
// Copy constructor isn't supported by cartridges so make it private
74
Cartridge(const Cartridge&);
76
// Assignment operator isn't supported by cartridges so make it private
77
Cartridge& operator = (const Cartridge&);