Example #1
0
        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();
        }
Example #2
0
 public HleIoDriverEmulator(HleState HleState)
 {
     this.HleState = HleState;
 }
Example #3
0
 public HleIoDriverEmulator(HleState HleState)
 {
     this.HleState = HleState;
 }
Example #4
0
        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);
            }
        }