public BroadcastFilter(DestinationCode dest)
            {
                Destinations    = new PlayerId[] { };
                SequenceChannel = 0;

                DestCode = dest;
            }
Exemplo n.º 2
0
    public GBHeader(byte[] rom)
    {
        // Verify that there's at least enough here to try reading the header info
        if (rom.Length < 0x014f)
        {
            return;
        }
        couldParse = true;

        containsScrollingNintendoGraphic = CheckScrollingGraphics(rom);
        gameTitle           = GetTitle(rom);
        gbcVal              = GetGBCVal(rom);
        newLicenseeCode     = GetNewLicenseeCode(rom);
        sgbFunctions        = GetSGBFunctions(rom);
        cartridgeType       = GetCartridgeType(rom);
        romSize             = GetRomSize(rom);
        ramSize             = GetRamSize(rom);
        destinationCode     = GetDestinationCode(rom);
        oldLicenseeCode     = GetOldLicenseeCode(rom);
        maskROMVersion      = rom[0x14C];
        complementCheckByte = rom[0x14D];
        checksumHigh        = rom[0x14E];
        checksumLow         = rom[0x14F];

        passesComplementCheck = RunComplementCheck(rom);

        isValid = containsScrollingNintendoGraphic & passesComplementCheck;
    }
Exemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CartridgeHeader"/> class.
 /// </summary>
 /// <param name="entryPoint">The entry point.</param>
 /// <param name="title">The title.</param>
 /// <param name="isGameBoyColour">if set to <c>true</c> [supports game boy colour].</param>
 /// <param name="licenseCode">The license code.</param>
 /// <param name="isSuperGameBoy">if set to <c>true</c> [supports super game boy].</param>
 /// <param name="cartridgeType">Type of the cartridge.</param>
 /// <param name="romSize">Size of the rom.</param>
 /// <param name="ramSize">Size of the ram.</param>
 /// <param name="destinationCode">The destination code.</param>
 /// <param name="romVersion">The rom version.</param>
 /// <param name="headerChecksum">The header checksum.</param>
 /// <param name="romChecksum">The rom checksum.</param>
 public CartridgeHeader(byte[] entryPoint,
                        string title,
                        bool isGameBoyColour,
                        string licenseCode,
                        bool isSuperGameBoy,
                        CartridgeType cartridgeType,
                        CartridgeRomSize romSize,
                        CartridgeRamSize ramSize,
                        DestinationCode destinationCode,
                        byte romVersion,
                        byte headerChecksum,
                        ushort romChecksum)
 {
     EntryPoint      = entryPoint;
     Title           = title;
     IsGameBoyColour = isGameBoyColour;
     LicenseCode     = licenseCode;
     IsSuperGameBoy  = isSuperGameBoy;
     CartridgeType   = cartridgeType;
     RomSize         = romSize;
     RamSize         = ramSize;
     DestinationCode = destinationCode;
     RomVersion      = romVersion;
     HeaderChecksum  = headerChecksum;
     RomChecksum     = romChecksum;
 }
            public SyncOptions(DestinationCode dest)
            {
                CachingOption   = EventCaching.DoNotCache;
                InterestGroup   = 0;
                Destinations    = new PlayerId[] { };
                SequenceChannel = 0;

                DestCode = dest;
            }
Exemplo n.º 5
0
        private void ScrapeMetaData(byte[] rom)
        {
            ROM_TITLE     = GetROMTitle(rom);
            gameType      = GetGameType(rom);
            cartridgeType = GetCartridgeType(rom);

            romBanks = GetNumROMBanks(rom);
            ramBanks = GetNumRAMBanks(rom);

            destinationCode = GetDestinationCode(rom);
            memoryModel     = MemoryModel.MM16x8;

            Debug.Log("ROM Title:{0}\nGame Type:{1}\nCartridge Type:{2}\nROM Banks:{3}\nRAM Banks:{4}\nDestination Code:{5}\n",
                      ROM_TITLE, gameType, cartridgeType, romBanks, ramBanks, destinationCode);
        }
Exemplo n.º 6
0
        public Memory(string romPath)
        {
            byte[] rom = File.ReadAllBytes(romPath);

            ROM_TITLE     = GetROMTitle(rom);
            gameType      = GetGameType(rom);
            cartridgeType = GetCartridgeType(rom);

            int romBanks = GetNumROMBanks(rom);
            int ramBanks = GetNumRAMBanks(rom);

            destinationCode = GetDestinationCode(rom);
            memoryModel     = MemoryModel.MM16x8;

            cartridge = AssembleCartridge(ramBanks, romBanks, rom);

            Console.WriteLine(ROM_TITLE);
            Console.WriteLine(gameType);
            Console.WriteLine(cartridgeType);
            Console.WriteLine("ROM Banks: {0}", romBanks);
            Console.WriteLine("RAM Banks: {0}", ramBanks);
            Console.WriteLine(destinationCode);
        }