Example #1
0
 public int sceCtrlReadLatch(SceCtrlLatch *CurrentLatch)
 {
     CurrentLatch[0] = new SceCtrlLatch()
     {
     };
     //throw(new NotImplementedException());
     return(0);
 }
 //[HlePspNotImplemented]
 public int sceCtrlReadLatch(SceCtrlLatch *CurrentLatch)
 {
     try
     {
         return(sceCtrlPeekLatch(CurrentLatch));
     }
     finally
     {
         LastLatchData = PspController.GetSceCtrlDataAt(0);
         PspController.LatchSamplingCount = 0;
     }
 }
        //[HlePspNotImplemented]
        public int sceCtrlPeekLatch(SceCtrlLatch *CurrentLatch)
        {
            var ButtonsNew     = PspController.GetSceCtrlDataAt(0).Buttons;
            var ButtonsOld     = LastLatchData.Buttons;
            var ButtonsChanged = ButtonsOld ^ ButtonsNew;

            CurrentLatch->uiBreak   = ButtonsOld & ButtonsChanged;
            CurrentLatch->uiMake    = ButtonsNew & ButtonsChanged;
            CurrentLatch->uiPress   = ButtonsNew;
            CurrentLatch->uiRelease = (ButtonsOld & ~ButtonsNew) & ButtonsChanged;

            return(PspController.LatchSamplingCount);
        }