コード例 #1
0
ファイル: GBDisassembler.cs プロジェクト: CadeLaRen/BizHawk
		public override string Disassemble(MemoryDomain m, uint addr, out int length)
		{
			ushort tmp;
			string ret = Common.Components.Z80GB.NewDisassembler.Disassemble((ushort)addr, (a) => m.PeekByte(a), out tmp);
			length = tmp;
			return ret;
		}
コード例 #2
0
        public string Disassemble(MemoryDomain m, uint addr, out int length)
        {
            _disassemblerInstance.ReadWord = (a) => (short)m.PeekUshort(a, m.EndianType == MemoryDomain.Endian.Big);
            _disassemblerInstance.ReadByte = (a) => (sbyte)m.PeekByte(a);
            _disassemblerInstance.ReadLong = (a) => (int)m.PeekUint(a, m.EndianType == MemoryDomain.Endian.Big);
            var info = _disassemblerInstance.Disassemble((int)addr);

            length = info.Length;

            return string.Format("{0:X4}  {1,-7} {2}", info.RawBytes.Substring(0, 4), info.Mnemonic, info.Args);
        }
コード例 #3
0
		public override string Disassemble(MemoryDomain m, uint addr, out int length)
		{
			if (_cpu == "ARM v4 (Thumb)")
			{
				addr &= unchecked((uint)~1);
				int op = m.PeekByte((int)addr) | m.PeekByte((int)addr + 1) << 8;
				string ret = Emulation.Cores.Components.ARM.Darm.DisassembleStuff(addr | 1, (uint)op);
				length = 2;
				return ret;
			}
			else
			{
				addr &= unchecked((uint)~3);
				int op = m.PeekByte((int)addr)
					| m.PeekByte((int)addr + 1) << 8
					| m.PeekByte((int)addr + 2) << 16
					| m.PeekByte((int)addr + 3) << 24;
				string ret = Emulation.Cores.Components.ARM.Darm.DisassembleStuff(addr, (uint)op);
				length = 4;
				return ret;
			}
		}
コード例 #4
0
		public string Disassemble(MemoryDomain m, uint addr, out int length)
		{
			return MOS6502X.Disassemble((ushort)addr, out length, (a) => m.PeekByte(a));
		}
コード例 #5
0
ファイル: RamSearchEngine.cs プロジェクト: ddugovic/RASuite
			public void SetPreviousToCurrent(MemoryDomain domain, bool bigendian)
			{
				_previous = domain.PeekByte(Address % domain.Size);
			}
コード例 #6
0
ファイル: RamSearchEngine.cs プロジェクト: ddugovic/RASuite
			public MiniByteWatch(MemoryDomain domain, int addr)
			{
				Address = addr;
				_previous = domain.PeekByte(Address % domain.Size);
			}
コード例 #7
0
ファイル: RamSearchEngine.cs プロジェクト: ddugovic/RASuite
			public void Update(Watch.PreviousType type, MemoryDomain domain, bool bigendian)
			{
				var value = domain.PeekByte(Address % domain.Size);
				
				if (value != _prevFrame)
				{
					_changecount++;
				}

				switch (type)
				{
					case Watch.PreviousType.Original:
					case Watch.PreviousType.LastSearch:
						break;
					case Watch.PreviousType.LastFrame:
						_previous = _prevFrame;
						break;
				}

				_prevFrame = value;
			}
コード例 #8
0
ファイル: IDisassemblable.cs プロジェクト: henke37/BizHawk
		public string Disassemble(MemoryDomain m, uint addr, out int length)
		{
			return DisassembleExt((ushort)addr, out length,
				(a) => m.PeekByte(a),
				(a) => (ushort)(m.PeekByte(a) | m.PeekByte(a + 1) << 8));
		}
コード例 #9
0
 public override byte PeekByte(long addr) => _m.PeekByte(addr);
コード例 #10
0
ファイル: LinkedMemoryDomains.cs プロジェクト: gocha/BizHawk
 public override byte PeekByte(long addr)
 {
     return(_m.PeekByte(addr));
 }
コード例 #11
0
ファイル: Disassembler.cs プロジェクト: henke37/BizHawk
		public string Disassemble(MemoryDomain m, uint addr, out int length)
		{
			return Disassemble((ushort)addr, out length, a => m.PeekByte((int)a));
		}
コード例 #12
0
ファイル: Disassembler.cs プロジェクト: henke37/BizHawk
		public string Disassemble(MemoryDomain m, uint addr, out int length)
		{
			int loc = (int)addr;
			string ret = Disassemble(() => m.PeekByte(loc++));
			length = loc - (int)addr;
			return ret;
		}