Пример #1
0
 public MBC3Cartridge(byte[] romData)
 {
     _romData = romData;
     _ramData = new byte[32768];
     ROM      = new LambdaMemoryBlock(32768, ReadRom, WriteRom);
     RAM      = new LambdaMemoryBlock(8192, ReadRam, WriteRam);
 }
Пример #2
0
 public MBC5Cartridge(byte[] romData)
 {
     _romData = romData;
     // Has maximum of 16 banks of 8KBytes each.
     _ramData = new byte[8192 * 16];
     ROM      = new LambdaMemoryBlock(32768, ReadRom, WriteRom);
     RAM      = new LambdaMemoryBlock(8192, ReadRam, WriteRam);
 }
Пример #3
0
 public MBC2Cartridge(byte[] romData)
 {
     _romData = romData;
     // MBC2 has 512 x 4 bits of RAM on addresses 0xA000-0xA1FF.
     _ramData = new byte[512];
     ROM      = new LambdaMemoryBlock(32768, ReadRom, WriteRom);
     RAM      = new LambdaMemoryBlock(8192, ReadRam, WriteRam);
 }
Пример #4
0
 public MBC1Cartridge(byte[] romData)
 {
     _romData = romData;
     // 32 KByte of RAM (TODO actual available RAM depends on concrete cartridge?)
     _ramData = new byte[32768];
     ROM      = new LambdaMemoryBlock(32768, ReadRom, WriteRom);
     RAM      = new LambdaMemoryBlock(8192, ReadRam, WriteRam);
 }