public unsafe void QUERY_peek_cpu_regs(out CpuRegs ret) { WritePipeMessage(eMessage.eMessage_QUERY_peek_cpu_regs); //bwPipe.Flush(); byte[] temp = new byte[CpuRegs.SIZEOF]; brPipe.Read(temp, 0, CpuRegs.SIZEOF); fixed(CpuRegs* ptr = &ret) Marshal.Copy(temp, 0, new IntPtr(ptr), CpuRegs.SIZEOF); }
public unsafe void QUERY_peek_cpu_regs(out CpuRegs ret) { WritePipeMessage(eMessage.eMessage_QUERY_peek_cpu_regs); //bwPipe.Flush(); byte[] temp = new byte[CpuRegs.SIZEOF]; brPipe.Read(temp, 0, CpuRegs.SIZEOF); fixed(CpuRegs *ptr = &ret) Marshal.Copy(temp, 0, new IntPtr(ptr), CpuRegs.SIZEOF); }
public static ushort getRegistryValueByName(CpuRegs regs, string registryName) { registryName = registryName.ToUpperInvariant(); switch (registryName) { case "PC": return(regs.PC); case "IR": return(regs.IR); case "SP": return(regs.SP); case "AF": return(regs.AF); case "A": return((ushort)(regs.AF >> 8)); case "HL": return(regs.HL); case "DE": return(regs.DE); case "BC": return(regs.BC); case "IX": return(regs.IX); case "IY": return(regs.IY); case "AF'": return(regs._AF); case "HL'": return(regs._HL); case "DE'": return(regs._DE); case "BC'": return(regs._BC); case "MW (Memptr Word)": return(regs.MW); default: throw new CommandParseException("Bad registry name: " + registryName); } }
public void wrapFields(CpuRegs i_regs) { a_Z80Registers = i_regs; }