Example #1
0
        private void CheckImplementedInterruptType(PspInterrupts PspInterrupt)
        {
            switch (PspInterrupt)
            {
            case PspInterrupts.PSP_VBLANK_INT: break;

            default: throw(new NotImplementedException(String.Format("Can't handle '{0}'", PspInterrupt)));
            }
        }
Example #2
0
        private static void CheckImplementedInterruptType(PspInterrupts PspInterrupt)
        {
            switch (PspInterrupt)
            {
            case PspInterrupts.PspVblankInt: break;

            default: throw(new NotImplementedException($"Can't handle '{PspInterrupt}'"));
            }
        }
Example #3
0
        public int sceKernelEnableSubIntr(PspInterrupts PspInterrupt, int HandlerIndex)
        {
            CheckImplementedInterruptType(PspInterrupt);

            var HleSubinterruptHandler = HleInterruptManager.GetInterruptHandler(PspInterrupt).SubinterruptHandlers[HandlerIndex];
            {
                HleSubinterruptHandler.Enabled = true;
            }

            return 0;
        }
Example #4
0
 internal HleInterruptHandler(HleInterruptManager HleInterruptManager, PspInterrupts PspInterrupt, HleCallbackManager HleCallbackManager)
 {
     this.HleInterruptManager  = HleInterruptManager;
     this.PspInterrupt         = PspInterrupt;
     this.HleCallbackManager   = HleCallbackManager;
     this.SubinterruptHandlers = new HleSubinterruptHandler[16];
     for (int Index = 0; Index < this.SubinterruptHandlers.Length; Index++)
     {
         this.SubinterruptHandlers[Index] = new HleSubinterruptHandler(Index);
     }
 }
Example #5
0
		internal HleInterruptHandler(HleInterruptManager HleInterruptManager, PspInterrupts PspInterrupt, HleCallbackManager HleCallbackManager)
		{
			this.HleInterruptManager = HleInterruptManager;
			this.PspInterrupt = PspInterrupt;
			this.HleCallbackManager = HleCallbackManager;
			this.SubinterruptHandlers = new HleSubinterruptHandler[16];
			for (int Index = 0; Index < this.SubinterruptHandlers.Length; Index++)
			{
				this.SubinterruptHandlers[Index] = new HleSubinterruptHandler(Index);
			}
		}
Example #6
0
        public int sceKernelRegisterSubIntrHandler(PspInterrupts PspInterrupt, int HandlerIndex, uint CallbackAddress, uint CallbackArgument)
        {
            CheckImplementedInterruptType(PspInterrupt);

            var HleSubinterruptHandler = HleInterruptManager.GetInterruptHandler(PspInterrupt).SubinterruptHandlers[HandlerIndex];
            {
                HleSubinterruptHandler.Address = CallbackAddress;
                HleSubinterruptHandler.Argument = CallbackArgument;
            }

            return 0;
        }
 internal HleInterruptHandler(HleInterruptManager hleInterruptManager, PspInterrupts pspInterrupt,
                              HleCallbackManager hleCallbackManager)
 {
     _hleInterruptManager = hleInterruptManager;
     PspInterrupt         = pspInterrupt;
     _hleCallbackManager  = hleCallbackManager;
     SubinterruptHandlers = new HleSubinterruptHandler[16];
     for (int index = 0; index < SubinterruptHandlers.Length; index++)
     {
         SubinterruptHandlers[index] = new HleSubinterruptHandler(index);
     }
 }
Example #8
0
        public int sceKernelReleaseSubIntrHandler(PspInterrupts PspInterrupt, int HandlerIndex)
        {
            CheckImplementedInterruptType(PspInterrupt);

            var HleSubinterruptHandler = HleState.HleInterruptManager.GetInterruptHandler(PspInterrupt).SubinterruptHandlers[HandlerIndex];

            {
                HleSubinterruptHandler.Enabled = false;
            }

            return(0);
        }
Example #9
0
        public int sceKernelRegisterSubIntrHandler(PspInterrupts PspInterrupt, int HandlerIndex, uint CallbackAddress, uint CallbackArgument)
        {
            CheckImplementedInterruptType(PspInterrupt);

            var HleSubinterruptHandler = HleState.HleInterruptManager.GetInterruptHandler(PspInterrupt).SubinterruptHandlers[HandlerIndex];

            {
                HleSubinterruptHandler.Address  = CallbackAddress;
                HleSubinterruptHandler.Argument = CallbackArgument;
            }

            return(0);
        }
Example #10
0
 private void CheckImplementedInterruptType(PspInterrupts PspInterrupt)
 {
     switch (PspInterrupt)
     {
         case PspInterrupts.PSP_VBLANK_INT: break;
         default: throw(new NotImplementedException(String.Format("Can't handle '{0}'", PspInterrupt)));
     }
 }
Example #11
0
 public HleInterruptHandler GetInterruptHandler(PspInterrupts PspInterrupt)
 {
     return InterruptHandlers[(int)PspInterrupt];
 }
Example #12
0
 public HleInterruptHandler GetInterruptHandler(PspInterrupts PspInterrupt)
 {
     return(InterruptHandlers[(int)PspInterrupt]);
 }