Пример #1
0
 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);
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
 public void wrapFields(CpuRegs i_regs)
 {
     a_Z80Registers = i_regs;
 }