public int sceGeSetCallback(ref PspGeCallbackData PspGeCallbackData) { int CallbackId = CallbackLastId++; Callbacks[CallbackId] = PspGeCallbackData; var CallbackData = PspGeCallbackData; /* ConsoleUtils.SaveRestoreConsoleColor(ConsoleColor.Cyan, () => { Console.WriteLine("PspGeCallbackData.Finish(0x{0:X}) : (0x{1:X})", CallbackData.FinishFunction, CallbackData.FinishArgument); Console.WriteLine("PspGeCallbackData.Signal(0x{0:X}) : (0x{1:X})", CallbackData.SignalFunction, CallbackData.SignalArgument); }); */ Logger.Info("PspGeCallbackData.Finish(0x{0:X}) : (0x{1:X})", PspGeCallbackData.FinishFunction, PspGeCallbackData.FinishArgument); Logger.Info("PspGeCallbackData.Signal(0x{0:X}) : (0x{1:X})", PspGeCallbackData.SignalFunction, PspGeCallbackData.SignalArgument); //Console.Error.WriteLine("{0}", *PspGeCallbackData); return CallbackId; }
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 { } }
void IGpuConnector.Finish(uint PC, PspGeCallbackData CallbackData, uint Arg, bool ExecuteNow) { if (_DynarecConfig.EnableGpuFinishCallback) { if (HleConfig.CompilerVersion <= 0x01FFFFFF) PC = 0; Console.Error.WriteLine("HleThreadManager:: IGpuConnector.Finish :: 0x{0:X8}, 0x{1:X8}, 0x{2:X8}, {3}", CallbackData.FinishFunction, CallbackData.FinishArgument, PC, Arg); HleInterop.ExecuteFunctionNowLater(CallbackData.FinishFunction, ExecuteNow, new Object[] { Arg, CallbackData.FinishArgument, PC }); } }