public MBC3Cartridge(byte[] romData) { _romData = romData; _ramData = new byte[32768]; ROM = new LambdaMemoryBlock(32768, ReadRom, WriteRom); RAM = new LambdaMemoryBlock(8192, ReadRam, WriteRam); }
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); }
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); }
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); }