Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 public MBC3(byte[] inFile, CartFeatures cartFeatures)
     : base(inFile, cartFeatures)
 {
     RTC = new byte[5];
     RTCRegister = 0;
     LastLatchWrite = 0xFF;
     RTCActive = false;
 }
Esempio n. 3
0
 public MBC3(byte[] inFile, CartFeatures cartFeatures)
     : base(inFile, cartFeatures)
 {
     RTC            = new byte[5];
     RTCRegister    = 0;
     LastLatchWrite = 0xFF;
     RTCActive      = false;
 }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
 public PlainCart(byte[] romFile, CartFeatures cartFeatures)
     : base(romFile, cartFeatures)
 {
 }
Esempio n. 6
0
 public MBC5(byte[] inFile, CartFeatures cartFeatures)
     : base(inFile, cartFeatures)
 {
     IsRumble = false;
 }
Esempio n. 7
0
 public PlainCart(byte[] romFile, CartFeatures cartFeatures)
     : base(romFile, cartFeatures)
 {
 }
Esempio n. 8
0
 public MBC2(byte[] romFile, CartFeatures cartFeatures)
     : base(romFile, cartFeatures)
 {
 }
Esempio n. 9
0
 public MBC2(byte[] romFile, CartFeatures cartFeatures)
     : base(romFile, cartFeatures)
 {
 }
Esempio n. 10
0
 public MBC1(byte[] inFile, CartFeatures cartFeatures)
     : base(inFile, cartFeatures)
 {
     RamBankMode = false;
 }
Esempio n. 11
0
 public MBC1(byte[] inFile, CartFeatures cartFeatures)
     : base(inFile, cartFeatures)
 {
     Mode        = false;
     IsMulticart = CheckMulticart();
 }
Esempio n. 12
0
 public MBC5(byte[] inFile, CartFeatures cartFeatures)
     : base(inFile, cartFeatures)
 {
     IsRumble = false;
 }