public MainWindow() { _frontBuffer = new uint[256 * 240]; _backBuffer = new uint[256 * 240]; _nesSystem = new NesSystem(new HostGraphics(this)); this.InitializeComponent(); this.AttachDevTools(); Renderer.DrawFps = true; //Renderer.DrawDirtyRects = Renderer.DrawFps = true; }
public MainWindow() { _frontBuffer = new uint[256 * 240]; _backBuffer = new uint[256 * 240]; _nesSystem = new NesSystem(new HostGraphics(this)); this.InitializeComponent(); this.AttachDevTools(); Renderer.DrawFps = true; //Renderer.DrawDirtyRects = Renderer.DrawFps = true; _disposable = Observable.FromEventPattern(h => this.Closed += h, h => this.Closed -= h).Subscribe(_ => _nesSystem.Dispose()); }
public void Initialize(IEventAggregator eventAggregator) { this.eventAggregator = eventAggregator; myCartridge = new Cart(); my6502 = new Cpu6502(this, systemBus); myMapper = new Mappers(this, ref myCartridge, systemBus); myPPU = new PictureProcessingUnit(this, systemBus); orchestrator = new SystemOrchestration(myAPU, myPPU, systemBus, my6502, this); scratchRam = new byte[4][]; scratchRam[0] = new byte[0x800]; scratchRam[1] = new byte[0x800]; scratchRam[2] = new byte[0x800]; scratchRam[3] = new byte[0x800]; saveRam = new byte[0x2000]; isSaveRAMReadonly = false; isDebugging = false; isQuitting = false; isPaused = false; hasQuit = false; //fix_bgchange = false; //fix_spritehit = false; fix_scrolloffset1 = false; fix_scrolloffset2 = false; fix_scrolloffset3 = false; MainCore.Settings = new Settings(); //Palette this.myPPU.LoadPalette(MainCore.Settings.PalettePath); //sound this.myAPU.DMCEnabled = MainCore.Settings.DMCEnabled; this.myAPU.NoiseEnabled = MainCore.Settings.NoiseEnabled; this.myAPU.Square1Enabled = MainCore.Settings.SQR1enabled; this.myAPU.Square2Enabled = MainCore.Settings.SQR2enabled; this.myAPU.TriangleEnabled = MainCore.Settings.TRIenabled; //region this.CurrentSystem = MainCore.Settings.NesRegion; this.SpeedThrottling = MainCore.Settings.SpeedThrottling; this.isPaused = false; }
/// <summary> /// Load settings /// </summary> public void Load() { try { if (File.Exists(MainCore.ApplicationStartupDirectory + "\\Settings.xml") == true) { XmlReader XMLread = XmlReader.Create(MainCore.ApplicationStartupDirectory + "\\Settings.xml"); XMLread.Read();//Reads the XML definition <XML> XMLread.Read();//Reads the header //check the header if (XMLread.Name == "MyNesSettings") { //check the version if (XMLread.HasAttributes == true) { XMLread.MoveToAttribute("Version"); if (XMLread.Value == MainCore.AssemblyVersion) { _Recents = new List<string>(); XMLread.Read();//Read the window lable XMLread.Read();//Read the Location lable XMLread.MoveToAttribute("x"); _WindowX = Convert.ToInt32(XMLread.Value); XMLread.MoveToAttribute("y"); _WindowY = Convert.ToInt32(XMLread.Value); XMLread.Read();//Read the Size lable XMLread.MoveToAttribute("w"); _WindowW = Convert.ToInt32(XMLread.Value); XMLread.MoveToAttribute("h"); _WindowH = Convert.ToInt32(XMLread.Value); while (XMLread.Read()) { if (XMLread.Name == "DrawMode") { XMLread.MoveToAttribute("Val"); _DrawMode = XMLread.Value.ToString(); } if (XMLread.Name == "StatesFolder") { XMLread.MoveToAttribute("Val"); _StatesFolder = XMLread.Value.ToString(); } if (XMLread.Name == "ShowDebugger") { XMLread.MoveToAttribute("Val"); _ShowDebugger = Convert.ToBoolean(XMLread.Value.ToString()); } if (XMLread.Name == "ShowBrowser") { XMLread.MoveToAttribute("Val"); _ShowBrowser = Convert.ToBoolean(XMLread.Value.ToString()); } if (XMLread.Name == "SpeedThrottling") { XMLread.MoveToAttribute("Val"); _SpeedThrottling = Convert.ToBoolean(XMLread.Value.ToString()); } if (XMLread.Name == "System") { XMLread.MoveToAttribute("Val"); _System = (NesSystem)Enum.Parse(typeof(NesSystem), XMLread.Value); } if (XMLread.Name == "SoundEnabled") { XMLread.MoveToAttribute("Val"); _SoundEnabled = Convert.ToBoolean(XMLread.Value.ToString()); } if (XMLread.Name == "NoiseEnabled") { XMLread.MoveToAttribute("Val"); _NoiseEnabled = Convert.ToBoolean(XMLread.Value.ToString()); } if (XMLread.Name == "TRIenabled") { XMLread.MoveToAttribute("Val"); _TRIenabled = Convert.ToBoolean(XMLread.Value.ToString()); } if (XMLread.Name == "SQR2enabled") { XMLread.MoveToAttribute("Val"); _SQR2enabled = Convert.ToBoolean(XMLread.Value.ToString()); } if (XMLread.Name == "SQR1enabled") { XMLread.MoveToAttribute("Val"); _SQR1enabled = Convert.ToBoolean(XMLread.Value.ToString()); } if (XMLread.Name == "DMCEnabled") { XMLread.MoveToAttribute("Val"); _DMCEnabled = Convert.ToBoolean(XMLread.Value.ToString()); } if (XMLread.Name == "MasterVolume") { XMLread.MoveToAttribute("Val"); _MasterVolume = Convert.ToInt32(XMLread.Value.ToString()); } if (XMLread.Name == "PalettePath") { XMLread.MoveToAttribute("Val"); _PalettePath = XMLread.Value.ToString(); } if (XMLread.Name == "ScreenshotFormat") { XMLread.MoveToAttribute("Val"); _ScreenshotFormat = XMLread.Value.ToString(); } if (XMLread.Name == "ScreenShotsFolder") { XMLread.MoveToAttribute("Val"); _ScreenShotsFolder = XMLread.Value.ToString(); } if (XMLread.Name == "Rec") { XMLread.MoveToAttribute("pat"); _Recents.Add(XMLread.Value.ToString()); } if (XMLread.Name == "Player1_Down") { XMLread.MoveToAttribute("Down"); _Player1_Down = XMLread.Value; } if (XMLread.Name == "Player1_Up") { XMLread.MoveToAttribute("Up"); _Player1_Up = XMLread.Value; } if (XMLread.Name == "Player1_Right") { XMLread.MoveToAttribute("Right"); _Player1_Right = XMLread.Value; } if (XMLread.Name == "Player1_Left") { XMLread.MoveToAttribute("Left"); _Player1_Left = XMLread.Value; } if (XMLread.Name == "Player1_Select") { XMLread.MoveToAttribute("Select"); _Player1_Select = XMLread.Value; } if (XMLread.Name == "Player1_Start") { XMLread.MoveToAttribute("Start"); _Player1_Start = XMLread.Value; } if (XMLread.Name == "Player1_B") { XMLread.MoveToAttribute("B"); _Player1_B = XMLread.Value; } if (XMLread.Name == "Player1_A") { XMLread.MoveToAttribute("A"); _Player1_A = XMLread.Value; } if (XMLread.Name == "Player2_Down") { XMLread.MoveToAttribute("Down"); _Player2_Down = XMLread.Value; } if (XMLread.Name == "Player2_Up") { XMLread.MoveToAttribute("Up"); _Player2_Up = XMLread.Value; } if (XMLread.Name == "Player2_Right") { XMLread.MoveToAttribute("Right"); _Player2_Right = XMLread.Value; } if (XMLread.Name == "Player2_Left") { XMLread.MoveToAttribute("Left"); _Player2_Left = XMLread.Value; } if (XMLread.Name == "Player2_Select") { XMLread.MoveToAttribute("Select"); _Player2_Select = XMLread.Value; } if (XMLread.Name == "Player2_Start") { XMLread.MoveToAttribute("Start"); _Player2_Start = XMLread.Value; } if (XMLread.Name == "Player2_B") { XMLread.MoveToAttribute("B"); _Player2_B = XMLread.Value; } if (XMLread.Name == "Player2_A") { XMLread.MoveToAttribute("A"); _Player2_A = XMLread.Value; } } } } } XMLread.Close(); } } catch (Exception EX) { MainCore.HandleException(EX); } }