コード例 #1
0
 public void Restart()
 {
     LoggingActiveCheckbox.Checked = _emu.Cpu.CDLLoggingActive;
     _cdl = _emu.Cpu.CDL;
     _emu.InitCDLMappings();
     UpdateDisplay();
 }
コード例 #2
0
ファイル: PCECDL.cs プロジェクト: stuff2600/RAEmus
        private void OpenMenuItem_Click(object sender, EventArgs e)
        {
            var result = MessageBox.Show(this, "OK to load new CDL?", "Query", MessageBoxButtons.YesNo);

            if (result == DialogResult.Yes)
            {
                var file = ToolHelpers.GetCdlFileFromUser(_currentFileName);
                if (file != null)
                {
                    using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read))
                    {
                        var newCDL = CodeDataLog.Load(fs);
                        if (!newCDL.CheckConsistency(_emu.Cpu.Mappings))
                        {
                            MessageBox.Show(this, "CDL file does not match emulator's current memory map!");
                        }
                        else
                        {
                            _cdl         = newCDL;
                            _emu.Cpu.CDL = _cdl;
                            UpdateDisplay();
                            Global.Config.RecentPceCdlFiles.Add(file.FullName);
                            _currentFileName = file.FullName;
                        }
                    }
                }
            }
        }
コード例 #3
0
        public void QUERY_set_cdl(CodeDataLog cdl)
        {
            WritePipeMessage(eMessage.eMessage_QUERY_set_cdl);
            if (cdl == null)
            {
                for (int i = 0; i < 4 * 2; i++)
                {
                    WritePipePointer(IntPtr.Zero);
                }
            }
            else
            {
                WritePipePointer(cdl.GetPin("CARTROM"), false);
                bwPipe.Write(cdl["CARTROM"].Length);

                if (cdl.Has("CARTRAM"))
                {
                    WritePipePointer(cdl.GetPin("CARTRAM"), false);
                    bwPipe.Write(cdl["CARTRAM"].Length);
                }
                else
                {
                    WritePipePointer(IntPtr.Zero);
                    WritePipePointer(IntPtr.Zero);
                }

                WritePipePointer(cdl.GetPin("WRAM"));
                bwPipe.Write(cdl["WRAM"].Length);

                WritePipePointer(cdl.GetPin("APURAM"), false);
                bwPipe.Write(cdl["APURAM"].Length);
                bwPipe.Flush();
            }
        }
コード例 #4
0
        private void AppendMenuItem_Click(object sender, EventArgs e)
        {
            if (_cdl == null)
            {
                MessageBox.Show(this, "Cannot append with no CDL loaded!", "Alert");
            }
            else
            {
                var file = ToolFormBase.OpenFileDialog(
                    _currentFilename,
                    PathManager.MakeAbsolutePath(Global.Config.PathEntries.LogPathFragment, null),
                    "Code Data Logger Files",
                    "cdl");

                if (file != null)
                {
                    using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read))
                    {
                        var newCDL = new CodeDataLog();
                        newCDL.Load(fs);
                        if (!_cdl.Check(newCDL))
                        {
                            MessageBox.Show(this, "CDL file does not match emulator's current memory map!");
                            return;
                        }
                        _cdl.LogicalOrFrom(newCDL);
                        UpdateDisplay(true);
                    }
                }
            }
        }
コード例 #5
0
        public void LoadFile(string path)
        {
            using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read))
            {
                var newCDL = new CodeDataLog();
                newCDL.Load(fs);

                //have the core create a CodeDataLog to check mapping information against
                var testCDL = new CodeDataLog();
                CodeDataLogger.NewCDL(testCDL);
                if (!newCDL.Check(testCDL))
                {
                    MessageBox.Show(this, "CDL file does not match emulator's current memory map!");
                    return;
                }

                //ok, it's all good:
                _cdl = newCDL;
                CodeDataLogger.SetCDL(null);
                if (tsbLoggingActive.Checked)
                {
                    CodeDataLogger.SetCDL(_cdl);
                }

                SetCurrentFilename(path);
            }

            UpdateDisplay(true);
        }
コード例 #6
0
ファイル: PCECDL.cs プロジェクト: BordynConfused/BizHawk
		public void Restart()
		{
			LoggingActiveCheckbox.Checked = _emu.Cpu.CDLLoggingActive;
			_cdl = _emu.Cpu.CDL;
			_emu.InitCDLMappings();
			UpdateDisplay();
		}
コード例 #7
0
		void ICodeDataLogger.SetCDL(CodeDataLog cdl)
		{
			CDL = cdl;
			if(cdl == null)
				LibGambatte.gambatte_setcdcallback(GambatteState, null);
			else
				LibGambatte.gambatte_setcdcallback(GambatteState, CDCallback);
		}
コード例 #8
0
ファイル: CDL.cs プロジェクト: SaxxonPike/BizHawk
		public void Restart()
		{
			//don't try to recover the current CDL!
			//even though it seems like it might be nice, it might get mixed up between games. even if we use CheckCDL. Switching games with the same memory map will be bad.
			_cdl = null;
			SetCurrentFilename(null);
			SetLoggingActiveCheck(false);
			UpdateDisplay(true);
		}
コード例 #9
0
ファイル: CDL.cs プロジェクト: operin/BizHawk
		public void Restart()
		{
			//don't try to recover the current CDL!
			//even though it seems like it might be nice, it might get mixed up between games. even if we use CheckCDL. Switching games with the same memory map will be bad.
			_cdl = null;
			_currentFileName = null;
			LoggingActiveCheckbox.Checked = false;
			UpdateDisplay();
		}
コード例 #10
0
ファイル: CDL.cs プロジェクト: zdimension/BizHawk
 public void Restart()
 {
     //don't try to recover the current CDL!
     //even though it seems like it might be nice, it might get mixed up between games. even if we use CheckCDL. Switching games with the same memory map will be bad.
     _cdl = null;
     SetCurrentFilename(null);
     SetLoggingActiveCheck(false);
     UpdateDisplay(true);
 }
コード例 #11
0
ファイル: PCECDL.cs プロジェクト: stuff2600/RAEmus
        private void NewMenuItem_Click(object sender, EventArgs e)
        {
            var result = MessageBox.Show(this, "OK to create new CDL?", "Query", MessageBoxButtons.YesNo);

            if (result == DialogResult.Yes)
            {
                _cdl         = CodeDataLog.Create(_emu.Cpu.Mappings);
                _emu.Cpu.CDL = _cdl;
                UpdateDisplay();
            }
        }
コード例 #12
0
 public void SetCDL(CodeDataLog cdl)
 {
     CDL = cdl;
     if (cdl == null)
     {
         LibGPGX.gpgx_set_cd_callback(null);
     }
     else
     {
         LibGPGX.gpgx_set_cd_callback(CDCallback);
     }
 }
コード例 #13
0
		public void NewCDL(CodeDataLog cdl)
		{
			cdl["MD CART"] = new byte[MemoryDomains["MD CART"].Size];
			cdl["68K RAM"] = new byte[MemoryDomains["68K RAM"].Size];
			cdl["Z80 RAM"] = new byte[MemoryDomains["Z80 RAM"].Size];

			if (MemoryDomains.Has("SRAM"))
				cdl["SRAM"] = new byte[MemoryDomains["SRAM"].Size];

			cdl.SubType = "GEN";
			cdl.SubVer = 0;
		}
コード例 #14
0
 void ICodeDataLogger.SetCDL(CodeDataLog cdl)
 {
     CDL = cdl;
     if (cdl == null)
     {
         LibGambatte.gambatte_setcdcallback(GambatteState, null);
     }
     else
     {
         LibGambatte.gambatte_setcdcallback(GambatteState, CDCallback);
     }
 }
コード例 #15
0
        void ICodeDataLogger.NewCDL(CodeDataLog cdl)
        {
            InitCDLMappings();
            var mm = this.Cpu.Mappings;

            foreach (var kvp in SizesFromHuMap(mm))
            {
                cdl[kvp.Key] = new byte[kvp.Value];
            }

            cdl.SubType = "PCE";
            cdl.SubVer  = 0;
        }
コード例 #16
0
		void ICodeDataLogger.NewCDL(CodeDataLog cdl)
		{
			cdl["ROM"] = new byte[MemoryDomains["ROM"].Size];

			//cdl["HRAM"] = new byte[_memoryDomains["HRAM"].Size]; //this is probably useless, but it's here if someone needs it
			cdl["WRAM"] = new byte[MemoryDomains["WRAM"].Size];

			if (MemoryDomains.Has("CartRAM"))
				cdl["CartRAM"] = new byte[MemoryDomains["WRAM"].Size];

			cdl.SubType = "GB";
			cdl.SubVer = 0;
		}
コード例 #17
0
        public void NewCDL(CodeDataLog cdl)
        {
            cdl["MD CART"] = new byte[MemoryDomains["MD CART"].Size];
            cdl["68K RAM"] = new byte[MemoryDomains["68K RAM"].Size];
            cdl["Z80 RAM"] = new byte[MemoryDomains["Z80 RAM"].Size];

            if (MemoryDomains.Has("SRAM"))
            {
                cdl["SRAM"] = new byte[MemoryDomains["SRAM"].Size];
            }

            cdl.SubType = "GEN";
            cdl.SubVer  = 0;
        }
コード例 #18
0
ファイル: CDL_SMS.cs プロジェクト: zeromus/BizHawk
		void ICodeDataLogger.NewCDL(CodeDataLog cdl)
		{
			cdl["ROM"] = new byte[memoryDomains["ROM"].Size];
			cdl["Main RAM"] = new byte[memoryDomains["Main RAM"].Size];

		if (memoryDomains.Has("Save RAM"))
			cdl["Save RAM"] = new byte[memoryDomains["Save RAM"].Size];

		if (memoryDomains.Has("Cart (Volatile) RAM"))
			cdl["Cart (Volatile) RAM"] = new byte[memoryDomains["Cart (Volatile) RAM"].Size];

			cdl.SubType = "SMS";
			cdl.SubVer = 0;
		}
コード例 #19
0
        void ICodeDataLogger.NewCDL(CodeDataLog cdl)
        {
            cdl["ROM"] = new byte[MemoryDomains["ROM"].Size];

            //cdl["HRAM"] = new byte[_memoryDomains["HRAM"].Size]; //this is probably useless, but it's here if someone needs it
            cdl["WRAM"] = new byte[MemoryDomains["WRAM"].Size];

            if (MemoryDomains.Has("CartRAM"))
            {
                cdl["CartRAM"] = new byte[MemoryDomains["CartRAM"].Size];
            }

            cdl.SubType = "GB";
            cdl.SubVer  = 0;
        }
コード例 #20
0
ファイル: CDL_SMS.cs プロジェクト: budzikt/BizHawk
 void ICodeDataLogger.SetCDL(CodeDataLog cdl)
 {
     CDL = cdl;
     if (cdl == null)
     {
         Cpu.ReadMemory  = ReadMemory;
         Cpu.WriteMemory = WriteMemory;
         Cpu.FetchMemory = FetchMemory_StubThunk;
     }
     else
     {
         Cpu.ReadMemory  = ReadMemory_CDL;
         Cpu.WriteMemory = WriteMemory;
         Cpu.FetchMemory = FetchMemory_CDL;
     }
 }
コード例 #21
0
 public void SetCDL(CodeDataLog cdl)
 {
     CDL = cdl;
     if (cdl == null)
     {
         Cpu.ReadMemory = ReadMemory;
         Cpu.WriteMemory = WriteMemory;
         Cpu.FetchMemory = FetchMemory_StubThunk;
     }
     else
     {
         Cpu.ReadMemory = ReadMemory_CDL;
         Cpu.WriteMemory = WriteMemory;
         Cpu.FetchMemory = FetchMemory_CDL;
     }
 }
コード例 #22
0
ファイル: PCECDL.cs プロジェクト: stuff2600/RAEmus
 public void Restart()
 {
     if (Global.Emulator is PCEngine)
     {
         _emu = (PCEngine)Global.Emulator;
         LoggingActiveCheckbox.Checked = _emu.Cpu.CDLLoggingActive;
         _cdl = _emu.Cpu.CDL;
         _emu.InitCDLMappings();
         UpdateDisplay();
     }
     else
     {
         _emu = null;
         Close();
     }
 }
コード例 #23
0
ファイル: PCECDL.cs プロジェクト: ddugovic/RASuite
		public void Restart()
		{
			if (Global.Emulator is PCEngine)
			{
				_emu = (PCEngine)Global.Emulator;
				LoggingActiveCheckbox.Checked = _emu.Cpu.CDLLoggingActive;
				_cdl = _emu.Cpu.CDL;
				_emu.InitCDLMappings();
				UpdateDisplay();
			}
			else
			{
				_emu = null;
				Close();
			}
		}
コード例 #24
0
ファイル: PCECDL.cs プロジェクト: stuff2600/RAEmus
 public void LoadFile(string path)
 {
     using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read))
     {
         var newCDL = CodeDataLog.Load(fs);
         if (!newCDL.CheckConsistency(_emu.Cpu.Mappings))
         {
             MessageBox.Show(this, "CDL file does not match emulator's current memory map!");
         }
         else
         {
             _cdl         = newCDL;
             _emu.Cpu.CDL = _cdl;
             UpdateDisplay();
         }
     }
 }
コード例 #25
0
ファイル: CDL.cs プロジェクト: zdimension/BizHawk
        void NewFileLogic()
        {
            _cdl = new CodeDataLog();
            CodeDataLogger.NewCDL(_cdl);

            if (tsbLoggingActive.Checked || Global.Config.CDLAutoStart)
            {
                CodeDataLogger.SetCDL(_cdl);
            }
            else
            {
                CodeDataLogger.SetCDL(null);
            }

            SetCurrentFilename(null);

            UpdateDisplay(true);
        }
コード例 #26
0
ファイル: CDL_SMS.cs プロジェクト: budzikt/BizHawk
        void ICodeDataLogger.NewCDL(CodeDataLog cdl)
        {
            cdl["ROM"]      = new byte[memoryDomains["ROM"].Size];
            cdl["Main RAM"] = new byte[memoryDomains["Main RAM"].Size];

            if (memoryDomains.Has("Save RAM"))
            {
                cdl["Save RAM"] = new byte[memoryDomains["Save RAM"].Size];
            }

            if (memoryDomains.Has("Cart (Volatile) RAM"))
            {
                cdl["Cart (Volatile) RAM"] = new byte[memoryDomains["Cart (Volatile) RAM"].Size];
            }

            cdl.SubType = "SMS";
            cdl.SubVer  = 0;
        }
コード例 #27
0
        public void NewCDL(CodeDataLog cdl)
        {
            cdl["ROM"] = new byte[MemoryDomains["ROM"].Size];
            cdl["Main RAM"] = new byte[MemoryDomains["Main RAM"].Size];

            if (MemoryDomains.Has("Save RAM"))
            {
                cdl["Save RAM"] = new byte[MemoryDomains["Save RAM"].Size];
            }

            if (MemoryDomains.Has("Cart (Volatile) RAM"))
            {
                cdl["Cart (Volatile) RAM"] = new byte[MemoryDomains["Cart (Volatile) RAM"].Size];
            }

            cdl.SubType = "SMS";
            cdl.SubVer = 0;
        }
コード例 #28
0
ファイル: PCECDL.cs プロジェクト: stuff2600/RAEmus
 private void AppendMenuItem_Click(object sender, EventArgs e)
 {
     if (_cdl == null)
     {
         MessageBox.Show(this, "Cannot append with no CDL loaded!", "Alert");
     }
     else
     {
         var file = ToolHelpers.GetCdlFileFromUser(_currentFileName);
         if (file != null)
         {
             using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read))
             {
                 var newCDL = CodeDataLog.Load(fs);
                 _cdl.LogicalOrFrom(newCDL);
                 UpdateDisplay();
             }
         }
     }
 }
コード例 #29
0
ファイル: HuC6280_CDL.cs プロジェクト: henke37/BizHawk
	  public void DisassembleCDL(Stream s, CodeDataLog cdl, IMemoryDomains mem)
	  {
	    var w = new StreamWriter(s);
	    w.WriteLine("; Bizhawk CDL Disassembly");
	    w.WriteLine();
	    foreach (var kvp in cdl)
	    {
	      w.WriteLine(".\"{0}\" size=0x{1:x8}", kvp.Key, kvp.Value.Length);

	      byte[] cd = kvp.Value;
	      var md = mem[kvp.Key];

	      for (int i = 0; i < kvp.Value.Length; i++)
	      {
	        if ((kvp.Value[i] & (byte)HuC6280.CDLUsage.Code) != 0)
	        {
	          int unused;
	          string dis = HuC6280.DisassembleExt(
	            0,
	            out unused,
	            delegate(ushort addr)
	            {
	              return md.PeekByte(addr + i);
	            },
	            delegate(ushort addr)
	            {
	              return md.PeekWord(addr + i, false);
	            }
	          );
	          w.WriteLine("0x{0:x8}: {1}", i, dis);
	        }
	      }
	      w.WriteLine();
	    }
	    w.WriteLine("; EOF");
	    w.Flush();
	  }
コード例 #30
0
 void ICodeDataLogger.SetCDL(CodeDataLog cdl)
 {
     Cpu.CDL = cdl;
 }
コード例 #31
0
 //not supported
 void ICodeDataLogger.DisassembleCDL(Stream s, CodeDataLog cdl)
 {
 }
コード例 #32
0
ファイル: PCECDL.cs プロジェクト: BordynConfused/BizHawk
		private void OpenMenuItem_Click(object sender, EventArgs e)
		{
			var result = MessageBox.Show(this, "OK to load new CDL?", "Query", MessageBoxButtons.YesNo);
			if (result == DialogResult.Yes)
			{
				var file = ToolHelpers.OpenFileDialog(
					_currentFileName,
					PathManager.MakeAbsolutePath(Global.Config.PathEntries.LogPathFragment, null),
					"Code Data Logger Files",
					"cdl");

				if (file != null)
				{
					using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read))
					{
						var newCDL = CodeDataLog.Load(fs);
						if (!newCDL.CheckConsistency(_emu.Cpu.Mappings))
						{
							MessageBox.Show(this, "CDL file does not match emulator's current memory map!");
						}
						else
						{
							_cdl = newCDL;
							_emu.Cpu.CDL = _cdl;
							UpdateDisplay();
							_recent.Add(file.FullName);
							_currentFileName = file.FullName;
						}
					}
				}
			}
		}
コード例 #33
0
		public void SetCDL(CodeDataLog cdl)
		{
			CDL = cdl;
			if (cdl == null) LibGPGX.gpgx_set_cd_callback(null);
			else LibGPGX.gpgx_set_cd_callback(CDCallback);
		}
コード例 #34
0
ファイル: CDL.cs プロジェクト: SaxxonPike/BizHawk
		void NewFileLogic()
		{
			_cdl = new CodeDataLog();
			CodeDataLogger.NewCDL(_cdl);

			if (tsbLoggingActive.Checked)
				CodeDataLogger.SetCDL(_cdl);
			else CodeDataLogger.SetCDL(null);

			SetCurrentFilename(null);

			UpdateDisplay(true);
		}
コード例 #35
0
 void ICodeDataLogger.SetCDL(CodeDataLog cdl)
 {
     ((ICodeDataLogger)L).SetCDL(cdl);
 }
コード例 #36
0
 void ICodeDataLogger.NewCDL(CodeDataLog cdl)
 {
     ((ICodeDataLogger)L).NewCDL(cdl);
 }
コード例 #37
0
 void ICodeDataLogger.DisassembleCDL(Stream s, CodeDataLog cdl)
 {
     ((ICodeDataLogger)L).DisassembleCDL(s, cdl);
 }
コード例 #38
0
ファイル: PCECDL.cs プロジェクト: BordynConfused/BizHawk
		private void NewMenuItem_Click(object sender, EventArgs e)
		{
			var result = MessageBox.Show(this, "OK to create new CDL?", "Query", MessageBoxButtons.YesNo);
			if (result == DialogResult.Yes)
			{
				_cdl = CodeDataLog.Create(_emu.Cpu.Mappings);
				_emu.Cpu.CDL = _cdl;
				UpdateDisplay();
			}
		}
コード例 #39
0
ファイル: CDL.cs プロジェクト: rocksdanister/BizHawk
 void ShutdownCDL()
 {
     _cdl = null;
     CodeDataLogger.SetCDL(null);
 }
コード例 #40
0
ファイル: PCECDL.cs プロジェクト: BordynConfused/BizHawk
		public void LoadFile(string path)
		{
			using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read))
			{
				var newCDL = CodeDataLog.Load(fs);
				if (!newCDL.CheckConsistency(_emu.Cpu.Mappings))
				{
					MessageBox.Show(this, "CDL file does not match emulator's current memory map!");
				}
				else
				{
					_cdl = newCDL;
					_emu.Cpu.CDL = _cdl;
					UpdateDisplay();
				}
			}
		}
コード例 #41
0
 void ICodeDataLogger.DisassembleCDL(Stream s, CodeDataLog cdl)
 {
     Cpu.DisassembleCDL(s, cdl, memoryDomains);
 }
コード例 #42
0
ファイル: CDL_SMS.cs プロジェクト: henke37/BizHawk
		//not supported
		void ICodeDataLogger.DisassembleCDL(Stream s, CodeDataLog cdl) { }
コード例 #43
0
 // TODO: we have Disassembling now
 // not supported
 public void DisassembleCDL(Stream s, CodeDataLog cdl)
 {
 }
コード例 #44
0
 void ICodeDataLogger.DisassembleCDL(Stream s, CodeDataLog cdl)
 {
     ((ICodeDataLogger)L).DisassembleCDL(s, cdl);
 }
コード例 #45
0
ファイル: CDL.cs プロジェクト: SaxxonPike/BizHawk
		public void LoadFile(string path)
		{
			using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read))
			{
				var newCDL = new CodeDataLog();
				newCDL.Load(fs);

				//have the core create a CodeDataLog to check mapping information against
				var testCDL = new CodeDataLog();
				CodeDataLogger.NewCDL(testCDL);
				if (!newCDL.Check(testCDL))
				{
					MessageBox.Show(this, "CDL file does not match emulator's current memory map!");
					return;
				}

				//ok, it's all good:
				_cdl = newCDL;
				CodeDataLogger.SetCDL(null);
				if (tsbLoggingActive.Checked)
					CodeDataLogger.SetCDL(_cdl);

				SetCurrentFilename(path);
			}

			UpdateDisplay(true);
		}
コード例 #46
0
 void ICodeDataLogger.NewCDL(CodeDataLog cdl)
 {
     ((ICodeDataLogger)L).NewCDL(cdl);
 }
コード例 #47
0
ファイル: CDL.cs プロジェクト: SaxxonPike/BizHawk
		private void AppendMenuItem_Click(object sender, EventArgs e)
		{
			if (_cdl == null)
			{
				MessageBox.Show(this, "Cannot append with no CDL loaded!", "Alert");
			}
			else
			{
				var file = ToolFormBase.OpenFileDialog(
					_currentFilename,
					PathManager.MakeAbsolutePath(Global.Config.PathEntries.LogPathFragment, null),
					"Code Data Logger Files",
					"cdl");

				if (file != null)
				{
					using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read))
					{
						var newCDL = new CodeDataLog();
						newCDL.Load(fs);
						if (!_cdl.Check(newCDL))
						{
							MessageBox.Show(this, "CDL file does not match emulator's current memory map!");
							return;
						}
						_cdl.LogicalOrFrom(newCDL);
						UpdateDisplay(true);
					}
				}
			}
		}
コード例 #48
0
 void ICodeDataLogger.SetCDL(CodeDataLog cdl)
 {
     ((ICodeDataLogger)L).SetCDL(cdl);
 }
コード例 #49
0
 public void DisassembleCDL(Stream s, CodeDataLog cdl)
 {
 }
コード例 #50
0
ファイル: LibsnesApi_QUERY.cs プロジェクト: CadeLaRen/BizHawk
		public void QUERY_set_cdl(CodeDataLog cdl)
		{
			WritePipeMessage(eMessage.eMessage_QUERY_set_cdl);
			if (cdl == null)
			{
				for(int i=0;i<4*2;i++)
					WritePipePointer(IntPtr.Zero);
			}
			else
			{
				WritePipePointer(cdl.GetPin("CARTROM"),false);
				bwPipe.Write(cdl["CARTROM"].Length);

				if (cdl.Has("CARTRAM"))
				{
					WritePipePointer(cdl.GetPin("CARTRAM"), false);
					bwPipe.Write(cdl["CARTRAM"].Length);
				}
				else
				{
					WritePipePointer(IntPtr.Zero);
					WritePipePointer(IntPtr.Zero);
				}
				
				WritePipePointer(cdl.GetPin("WRAM"));
				bwPipe.Write(cdl["WRAM"].Length);
				
				WritePipePointer(cdl.GetPin("APURAM"), false);
				bwPipe.Write(cdl["APURAM"].Length);
				bwPipe.Flush();
			}
		}
コード例 #51
0
ファイル: PCECDL.cs プロジェクト: cas1993per/bizhawk
 private void OpenMenuItem_Click(object sender, EventArgs e)
 {
     var result = MessageBox.Show(this, "OK to load new CDL?", "Query", MessageBoxButtons.YesNo);
     if (result == DialogResult.Yes)
     {
         var file = ToolHelpers.GetCdlFileFromUser(_currentFileName);
         if (file != null)
         {
             using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read))
             {
                 var newCDL = CodeDataLog.Load(fs);
                 if (!newCDL.CheckConsistency(_emu.Cpu.Mappings))
                 {
                     MessageBox.Show(this, "CDL file does not match emulator's current memory map!");
                 }
                 else
                 {
                     _cdl = newCDL;
                     _emu.Cpu.CDL = _cdl;
                     UpdateDisplay();
                     _recent.Add(file.FullName);
                     _currentFileName = file.FullName;
                 }
             }
         }
     }
 }
コード例 #52
0
ファイル: CDL.cs プロジェクト: operin/BizHawk
		void NewFileLogic()
		{
			_cdl = new CodeDataLog();
			CodeDataLogger.NewCDL(_cdl);

			if (LoggingActiveCheckbox.Checked)
				CodeDataLogger.SetCDL(_cdl);
			else CodeDataLogger.SetCDL(null);

			_currentFileName = null;

			UpdateDisplay();
		}