コード例 #1
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;
 }
コード例 #2
0
ファイル: MediaExtensions.cs プロジェクト: jrp7/Alizarin
        /// <summary>
        /// Gets the RAM bank size value of the specified cartridge RAM size.
        /// </summary>
        /// <param name="cartridgeRamSize">Size of the cartridge ram.</param>
        /// <returns></returns>
        /// <exception cref="System.NotSupportedException">RamSize:  + cartridgeRamSize</exception>
        public static ushort BankSize(this CartridgeRamSize cartridgeRamSize)
        {
            switch (cartridgeRamSize)
            {
            case CartridgeRamSize.None:
                return(0);

            case CartridgeRamSize.Fixed2:
                return(0x800);

            case CartridgeRamSize.Fixed8:
            case CartridgeRamSize.Banked32:
            case CartridgeRamSize.Banked128:
                return(0x2000);

            default:
                throw new NotSupportedException("RamSize: " + cartridgeRamSize);
            }
        }
コード例 #3
0
ファイル: MediaExtensions.cs プロジェクト: jrp7/Alizarin
        /// <summary>
        /// Gets the number of RAM banks required by the specified cartridge RAM size.
        /// </summary>
        /// <param name="cartridgeRamSize">Size of the cartridge ram.</param>
        /// <returns></returns>
        /// <exception cref="System.NotSupportedException">RamSize:  + cartridgeRamSize</exception>
        public static int NumberOfBanks(this CartridgeRamSize cartridgeRamSize)
        {
            switch (cartridgeRamSize)
            {
            case CartridgeRamSize.None:
                return(0);

            case CartridgeRamSize.Fixed2:
                return(1);

            case CartridgeRamSize.Fixed8:
                return(1);

            case CartridgeRamSize.Banked32:
                return(4);

            case CartridgeRamSize.Banked128:
                return(16);

            default:
                throw new NotSupportedException("RamSize: " + cartridgeRamSize);
            }
        }