예제 #1
0
 internal AdapterAttribute(AdapterAttribute Other)
 {
     this.Value       = Other.Value;
     this.Annotations = Other.Annotations;
     this.Access      = Other.Access;
     this.COVBehavior = Other.COVBehavior;
 }
예제 #2
0
 public BridgeAdapterAttribute(string ObjectName, object DefaultData, E_ACCESS_TYPE access = E_ACCESS_TYPE.ACCESS_READ)
 {
     this.Value       = new BridgeAdapterValue(ObjectName, DefaultData);
     this.Annotations = new Dictionary <string, string>();
     this.Access      = access;
     this.COVBehavior = SignalBehavior.Never;
 }
예제 #3
0
 internal ModbusSensorAttribute(ModbusSensorAttribute Other)
 {
     this.m_device    = Other.m_device;
     this.Value       = Other.Value;
     this.Annotations = Other.Annotations;
     this.Access      = Other.Access;
     this.COVBehavior = Other.COVBehavior;
 }
예제 #4
0
 internal AdapterAttribute(string ObjectName, object DefaultData, E_ACCESS_TYPE access = E_ACCESS_TYPE.ACCESS_READ)
 {
     try
     {
         this.Value       = new AdapterValue(ObjectName, DefaultData);
         this.Annotations = new Dictionary <string, string>();
         this.Access      = access;
         this.COVBehavior = SignalBehavior.Never;
     }
     catch (OutOfMemoryException)
     {
         throw;
     }
 }
예제 #5
0
        public void DoSignal(uint PC, uint Signal, SignalBehavior Behavior, bool ExecuteNow)
        {
            if (Debug)
            {
                Console.WriteLine("SIGNAL : {0}: Behavior:{1}", Signal, Behavior);
            }

            Status.SetValue(DisplayListStatusEnum.Paused);

            if (Callbacks.SignalFunction != 0)
            {
                //Console.Error.WriteLine("OP_SIGNAL! ({0}, {1})", Signal, Behavior);
                GpuProcessor.Connector.Signal(PC, Callbacks, Signal, Behavior, ExecuteNow);
            }

            Status.SetValue(DisplayListStatusEnum.Drawing);
        }
예제 #6
0
        void IGpuConnector.Signal(uint PC, PspGeCallbackData CallbackData, uint Signal, SignalBehavior Behavior,
                                  bool ExecuteNow)
        {
            if (DynarecConfig.EnableGpuSignalsCallback)
            {
                if (HleConfig.CompilerVersion <= 0x01FFFFFF)
                {
                    PC = 0;
                }

                Console.Error.WriteLine(
                    "HleThreadManager:: IGpuConnector.Signal :: 0x{0:X8}, 0x{1:X8}, 0x{2:X8}, {3}, {4}",
                    CallbackData.SignalFunction, CallbackData.SignalArgument, PC, Signal, Behavior);
                HleInterop.ExecuteFunctionNowLater(CallbackData.SignalFunction, ExecuteNow,
                                                   new object[] { Signal, CallbackData.SignalArgument, PC });
            }
            else
            {
            }
        }
 internal AdapterAttribute(AdapterAttribute Other)
 {
     this.Value = Other.Value;
     this.Annotations = Other.Annotations;
     this.Access = Other.Access;
     this.COVBehavior = Other.COVBehavior;
 }
 internal AdapterAttribute(string ObjectName, object DefaultData, E_ACCESS_TYPE access = E_ACCESS_TYPE.ACCESS_READ)
 {
     try
     {
         this.Value = new AdapterValue(ObjectName, DefaultData);
         this.Annotations = new Dictionary<string, string>();
         this.Access = access;
         this.COVBehavior = SignalBehavior.Never;
     }
     catch (OutOfMemoryException ex)
     {
         throw;
     }
 }
예제 #9
0
        public void DoSignal(uint PC, uint Signal, SignalBehavior Behavior, bool ExecuteNow)
        {
            if (Debug) Console.WriteLine("SIGNAL : {0}: Behavior:{1}", Signal, Behavior);

            Status.SetValue(DisplayListStatusEnum.Paused);

            if (Callbacks.SignalFunction != 0)
            {
                //Console.Error.WriteLine("OP_SIGNAL! ({0}, {1})", Signal, Behavior);
                GpuProcessor.Connector.Signal(PC, Callbacks, Signal, Behavior, ExecuteNow);
            }

            Status.SetValue(DisplayListStatusEnum.Drawing);
        }
예제 #10
0
        void IGpuConnector.Signal(uint PC, PspGeCallbackData CallbackData, uint Signal, SignalBehavior Behavior, bool ExecuteNow)
        {
            if (_DynarecConfig.EnableGpuSignalsCallback)
            {
                if (HleConfig.CompilerVersion <= 0x01FFFFFF) PC = 0;

                Console.Error.WriteLine("HleThreadManager:: IGpuConnector.Signal :: 0x{0:X8}, 0x{1:X8}, 0x{2:X8}, {3}, {4}", CallbackData.SignalFunction, CallbackData.SignalArgument, PC, Signal, Behavior);
                HleInterop.ExecuteFunctionNowLater(CallbackData.SignalFunction, ExecuteNow, new Object[] { Signal, CallbackData.SignalArgument, PC });
            }
            else
            {
            }
        }