Exemple #1
0
        public void Sets_IsBatteryBackedRamEnabled_Correctly(byte byte6, bool result)
        {
            var array = GetStandardByteArray();

            array[6] = byte6;

            var cartridge = CartridgeLoaderUtility.LoadCartridge(array);

            Assert.AreEqual(result, cartridge.IsBatteryBackedRamEnabled);
        }
Exemple #2
0
        public void Sets_MapperType_Correctly(byte byte6, byte byte7, byte expectedResult)
        {
            var array = GetStandardByteArray();

            array[6] = byte6;
            array[7] = byte7;

            var cartridge = CartridgeLoaderUtility.LoadCartridge(array);

            Assert.AreEqual(expectedResult, cartridge.MapperType);
        }
Exemple #3
0
        /// <summary>
        /// Public Constructor for the Engine
        /// </summary>
        /// <param name="rawBytes">The raw bytes from a .net cartridge file</param>
        public Engine(byte[] rawBytes)
        {
            CreateNewBackgroundWorker();

            _cartridgeModel       = CartridgeLoaderUtility.LoadCartridge(rawBytes);
            Processor             = _cartridgeModel.GetProcessor();
            PictureProcessingUnit = new PPU(_cartridgeModel, Processor);

            if (Processor.DisassemblyEnabled)
            {
                Processor.GenerateDisassembledMemory();
            }
        }
Exemple #4
0
        public void Copies_VROM_With_Multiple_Banks()
        {
            var array = GetStandardByteArray(49170);

            array[4] = 2;
            array[5] = 2;

            for (var i = 16; i < 16400; i++)
            {
                array[i] = 1;
            }

            for (var i = 16400; i < 32784; i++)
            {
                array[i] = 2;
            }

            for (var i = 32784; i < 40976; i++)
            {
                array[i] = 3;
            }

            for (var i = 40976; i < 49169; i++)
            {
                array[i] = 4;
            }

            array[15] = 255;

            var cartridge = CartridgeLoaderUtility.LoadCartridge(array);

            foreach (var i in cartridge.VROMBanks[0])
            {
                Assert.AreEqual(3, i);
            }

            Assert.AreEqual(8192, cartridge.VROMBanks[0].Length);

            foreach (var i in cartridge.VROMBanks[1])
            {
                Assert.AreEqual(4, i);
            }

            Assert.AreEqual(8192, cartridge.VROMBanks[1].Length);
        }
Exemple #5
0
        public void Copies_Trainer_When_IsTrainerPresent()
        {
            var array = GetStandardByteArray();

            array[6] = 4;


            for (var i = 16; i < 529; i++)
            {
                array[i] = 1;
            }

            array[15]  = 255;
            array[529] = 255;

            var cartridge = CartridgeLoaderUtility.LoadCartridge(array);

            foreach (var i in cartridge.Trainer)
            {
                Assert.AreEqual(1, i);
            }
        }
Exemple #6
0
 /// <summary>
 /// Public Constructor for the Engine
 /// </summary>
 /// <param name="rawBytes">The raw bytes from a .net cartridge file</param>
 public Engine(byte[] rawBytes)
 {
     _cartridgeModel       = CartridgeLoaderUtility.LoadCartridge(rawBytes);
     Processor             = _cartridgeModel.GetProcessor();
     PictureProcessingUnit = new PPU(_cartridgeModel, Processor);
 }
Exemple #7
0
 /// <summary>
 /// Public Constructor for the Engine
 /// </summary>
 /// <param name="fileName">The full path of a .nes cartridge file</param>
 public Engine(string fileName)
 {
     _cartridgeModel       = CartridgeLoaderUtility.LoadCartridge(fileName);
     Processor             = _cartridgeModel.GetProcessor();
     PictureProcessingUnit = new PPU(_cartridgeModel, Processor);
 }