예제 #1
0
파일: CartTest.cs 프로젝트: hmahal/NESharp
        public void ReadFileThrowFileNotFoundException()
        {
            //Arrange
            string FileName = @"C:\Users\panda\Downloads\Super Mario Bros. (USA).nes";

            NESEmu.CartridgeReader cartReader = new CartridgeReader(FileName);
            //Act
            try
            {
                NESEmu.Cartridge cart = cartReader.readCart();
            }
            catch (FileNotFoundException exception)
            {
                //Assert
                StringAssert.Equals(exception, new FileNotFoundException());
            }
        }
예제 #2
0
파일: CartTest.cs 프로젝트: hmahal/NESharp
        public void ReadFile_CheckThreeBytes()
        {
            //Arrange
            string FileName = @"C:\Users\panda\Downloads\Super Mario Bros. 3 (USA).nes";

            NESEmu.CartridgeReader cartReader = new CartridgeReader(FileName);
            byte firstByte  = (byte)'N';
            byte secondByte = (byte)'E';
            byte thirdByte  = (byte)'S';

            //Act
            NESEmu.Cartridge cart = cartReader.readCart();

            //Assert
            Assert.AreEqual(cart.Header[0], firstByte);
            Assert.AreEqual(cart.Header[1], secondByte);
            Assert.AreEqual(cart.Header[2], thirdByte);
        }
예제 #3
0
        private void openRomButtonClick(object sender, RoutedEventArgs e)
        {
            // Configure open file dialog box
            OpenFileDialog dialog = new OpenFileDialog();

            dialog.InitialDirectory = System.IO.Directory.GetCurrentDirectory();
            dialog.Filter           = "NES Roms (*.nes)|*.nes"; // Filter files by extension
            dialog.FilterIndex      = 1;
            // Show open file dialog box
            if (dialog.ShowDialog() == true)
            {
                CartridgeReader cr = new CartridgeReader(dialog.FileName);
                try
                {
                    cr.readCart();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Exception!", MessageBoxButton.OK);
                }
            }
        }
예제 #4
0
        /// <summary>
        /// Open a NES rom
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void openNesRom_Click(object sender, RoutedEventArgs e)
        {
            // Configure open file dialog box
            OpenFileDialog dialog = new OpenFileDialog();

            dialog.InitialDirectory = System.IO.Directory.GetCurrentDirectory();
            dialog.Filter           = "NES Roms (*.nes)|*.nes"; // Filter files by extension
            dialog.FilterIndex      = 1;
            // Show open file dialog box
            if (dialog.ShowDialog() == true)
            {
                cartridgeReader_ = new CartridgeReader(dialog.FileName);
                filePath_        = dialog.FileName;
                try
                {
                    input1         = new Input();
                    input2         = new Input();
                    testCartridge_ = cartridgeReader_.readCart();
                    MMC3 mapper = new MMC3(testCartridge_);
                    ppu_ = PPU.Instance;
                    Memory.Create(2048, mapper, input1, input2);
                    mem_ = Memory.Instance;
                    CPU6502.Create(mem_);
                    cpu_             = CPU6502.Instance;
                    registerBox.Text = cpu_.ToString();
                    memoryBox.Text   = mem_.ToString();
                    addressBox.Text  = cpu_.CurrentAddress.ToString("X4");
                    Display.Source   = BitmapToImageSource(ppu_.getFrame());
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Exception!", MessageBoxButton.OK);
                    Debug.WriteLine(ex.StackTrace);
                }
            }
        }
예제 #5
0
파일: Cartridge.cs 프로젝트: hmahal/NESharp
        /// <summary>
        /// Method for returning a Cartridge object from a file path.
        /// </summary>
        /// <param name="filepath"></param>
        /// <returns></returns>
        public Cartridge getCart(string filepath)
        {
            CartridgeReader read = new CartridgeReader(filepath);

            return(read.readCart());
        }