~ubuntu-branches/debian/sid/stella/sid

« back to all changes in this revision

Viewing changes to src/emucore/CartFA2.cxx

  • Committer: Package Import Robot
  • Author(s): Stephen Kitt
  • Date: 2012-03-31 10:32:40 UTC
  • mfrom: (1.1.14)
  • Revision ID: package-import@ubuntu.com-20120331103240-a9ixnb7aw8drxj1k
Tags: 3.6.1-1
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
// See the file "License.txt" for information on usage and redistribution of
15
15
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
16
16
//
17
 
// $Id: CartFA2.cxx 2361 2012-01-21 13:11:08Z stephena $
 
17
// $Id: CartFA2.cxx 2435 2012-03-30 21:07:57Z stephena $
18
18
//============================================================================
19
19
 
20
20
#include <cassert>
25
25
 
26
26
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
27
27
CartridgeFA2::CartridgeFA2(const uInt8* image, uInt32 size, const Settings& settings)
28
 
  : Cartridge(settings)
 
28
  : Cartridge(settings),
 
29
    mySize(size)
29
30
{
 
31
  // Allocate array for the ROM image
 
32
  myImage = new uInt8[mySize];
 
33
 
30
34
  // Copy the ROM image into my buffer
31
 
  memcpy(myImage, image, BSPF_min(24576u, size));
32
 
  createCodeAccessBase(24576);
 
35
  memcpy(myImage, image, mySize);
 
36
  createCodeAccessBase(mySize);
33
37
 
34
38
  // This cart contains 256 bytes extended RAM @ 0x1000
35
39
  registerRamArea(0x1000, 256, 0x100, 0x00);
36
40
 
37
41
  // Remember startup bank
38
 
  myStartBank = 5;
 
42
  myStartBank = 0;
39
43
}
40
44
 
41
45
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
42
46
CartridgeFA2::~CartridgeFA2()
43
47
{
 
48
  delete[] myImage;
44
49
}
45
50
 
46
51
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
131
136
      bank(5);
132
137
      break;
133
138
 
 
139
    case 0x0FFB:
 
140
      // Set the current bank to the seventh 4k bank
 
141
      // This is only available on 28K ROMs
 
142
      if(mySize == 28*1024)  bank(6);
 
143
      break;
 
144
 
134
145
    default:
135
146
      break;
136
147
  }
190
201
      bank(5);
191
202
      break;
192
203
 
 
204
    case 0x0FFB:
 
205
      // Set the current bank to the seventh 4k bank
 
206
      // This is only available on 28K ROMs
 
207
      if(mySize == 28*1024)  bank(6);
 
208
      break;
 
209
 
193
210
    default:
194
211
      break;
195
212
  }
240
257
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
241
258
uInt16 CartridgeFA2::bankCount() const
242
259
{
243
 
  return 6;
 
260
  return (mySize / 4096);
244
261
}
245
262
 
246
263
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
264
281
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
265
282
const uInt8* CartridgeFA2::getImage(int& size) const
266
283
{
267
 
  size = 24576;
 
284
  size = mySize;
268
285
  return myImage;
269
286
}
270
287