protected Cart(byte[] inFile, CartFeatures cartFeatures) { features = cartFeatures; romFile = new byte[inFile.Length]; Array.Copy(inFile, romFile, inFile.Length); int actualMax = romFile.Length >> 14; int reportedMax = 0; byte reportedSizeCode = romFile[HeaderConstants.RomSizeOffset]; if (reportedSizeCode == 0) { reportedMax = 0; } else if (reportedSizeCode >= 1 && reportedSizeCode <= 8) { reportedMax = 2 << reportedSizeCode; } else if (reportedSizeCode >= 0x52 && reportedSizeCode <= 0x54) { reportedMax = 64 + (8 << (reportedSizeCode - 0x52)); } else { reportedMax = actualMax; } MaxRomBank = Math.Min(actualMax, reportedMax); RomBank = 1; InitializeOutsideRAM(); }
public MBC3(byte[] inFile, CartFeatures cartFeatures) : base(inFile, cartFeatures) { RTC = new byte[5]; RTCRegister = 0; LastLatchWrite = 0xFF; RTCActive = false; }
protected Cart(byte[] inFile, CartFeatures cartFeatures) { features = cartFeatures; romFile = new byte[inFile.Length]; Array.Copy(inFile, romFile, inFile.Length); MaxRomBank = romFile.Length >> 14; InitializeOutsideRAM(); RomBank = 1; }
public PlainCart(byte[] romFile, CartFeatures cartFeatures) : base(romFile, cartFeatures) { }
public MBC5(byte[] inFile, CartFeatures cartFeatures) : base(inFile, cartFeatures) { IsRumble = false; }
public MBC2(byte[] romFile, CartFeatures cartFeatures) : base(romFile, cartFeatures) { }
public MBC1(byte[] inFile, CartFeatures cartFeatures) : base(inFile, cartFeatures) { RamBankMode = false; }
public MBC1(byte[] inFile, CartFeatures cartFeatures) : base(inFile, cartFeatures) { Mode = false; IsMulticart = CheckMulticart(); }