ExecuteAT() public method

public ExecuteAT ( uint PC ) : void
PC uint
return void
Example #1
0
        public void ExecuteQueued(CpuThreadState BaseCpuThreadState)
        {
            if (Enabled)
            {
                HleCallback[] HleCallbackListCopy;
                lock (HleCallbackList)
                {
                    HleCallbackListCopy = HleCallbackList.ToArray();
                    HleCallbackList.Clear();
                    Flag = false;
                }

                foreach (var HleCallback in HleCallbackListCopy)
                {
                    var FakeCpuThreadState = new CpuThreadState(CpuProcessor);
                    FakeCpuThreadState.CopyRegistersFrom(BaseCpuThreadState);
                    HleCallback.SetArgumentsToCpuThreadState(FakeCpuThreadState);

                    FakeCpuThreadState.EnableYielding = false;
                    FakeCpuThreadState.ExecuteAT(FakeCpuThreadState.PC);
                    //HleInterop.Execute(FakeCpuThreadState);
                    //Console.Error.WriteLine("Execute queued");

                    // Execute just one!
                    //break;
                }
            }
        }