public override void InitializeComponent() { CpuProcessor = PspEmulatorContext.GetInstance <CpuProcessor>(); PspRtc = PspEmulatorContext.GetInstance <PspRtc>(); ThreadManager = PspEmulatorContext.GetInstance <HleThreadManager>(); HleState = PspEmulatorContext.GetInstance <HleState>(); PspMemory = PspEmulatorContext.GetInstance <PspMemory>(); RegisterDevices(); }
public HleIoDriverEmulator(HleState HleState) { this.HleState = HleState; }
public void Initialize(HleState HleState) { this.HleState = HleState; try { foreach ( var MethodInfo in new MethodInfo[0] .Concat(this.GetType().GetMethods()) //.Concat(this.GetType().GetMethods(BindingFlags.NonPublic)) //.Concat(this.GetType().GetMethods(BindingFlags.Public)) ) { var Attributes = MethodInfo.GetCustomAttributes(typeof(HlePspFunctionAttribute), true).Cast<HlePspFunctionAttribute>(); if (Attributes.Count() > 0) { if (!MethodInfo.IsPublic) { throw(new InvalidProgramException("Method " + MethodInfo + " is not public")); } var Delegate = CreateDelegateForMethodInfo(MethodInfo, Attributes.First()); DelegatesByName[MethodInfo.Name] = Delegate; foreach (var Attribute in Attributes) { //Console.WriteLine("HleModuleHost: {0}, {1}", "0x%08X".Sprintf(Attribute.NID), MethodInfo.Name); DelegatesByNID[Attribute.NID] = Delegate; NamesByNID[Attribute.NID] = MethodInfo.Name; } } else { //Console.WriteLine("HleModuleHost: NO: {0}", MethodInfo.Name); } } } catch (Exception Exception) { Console.WriteLine(Exception); throw (Exception); } }