示例#1
0
 private void acknowledgeInterrupt(int value)
 {
     if (value == 1)
     {
         RuntimeContextLLE.clearInterrupt(Processor, PSP_I2C_INTR);
     }
 }
示例#2
0
 private void checkInterrupt()
 {
     if ((dmaInterrupt & 0x003) != 0)
     {
         RuntimeContextLLE.triggerInterrupt(Processor, PSP_NAND_INTR);
     }
     else
     {
         RuntimeContextLLE.clearInterrupt(Processor, PSP_NAND_INTR);
     }
 }
示例#3
0
        private void completePhase1()
        {
            if (completePhase1Schedule != 0L)
            {
                Scheduler.Instance.removeAction(completePhase1Schedule, completePhase1Action);
                completePhase1Schedule = 0L;
            }

            setStatus(STATUS_PHASE1_MASK, STATUS_PHASE1_COMPLETED);
            RuntimeContextLLE.triggerInterrupt(Processor, PSP_MEMLMD_INTR);
        }
示例#4
0
 private void checkInterrupt()
 {
     if ((interrupt & interruptEnabled) != 0)
     {
         RuntimeContextLLE.triggerInterrupt(Processor, PSP_UMD_INTR);
     }
     else
     {
         RuntimeContextLLE.clearInterrupt(Processor, PSP_UMD_INTR);
     }
 }
示例#5
0
 private void checkInterrupt()
 {
     if (flagsCompleted != 0)
     {
         RuntimeContextLLE.triggerInterrupt(Processor, PSP_DMACPLUS_INTR);
     }
     else
     {
         RuntimeContextLLE.clearInterrupt(Processor, PSP_DMACPLUS_INTR);
     }
 }
示例#6
0
 // All methods reading/writing the interrupt FieldInfo are synchronized as they can be called from multiple threads
 private void checkInterrupt()
 {
     lock (this)
     {
         if ((Interrupt & INTR_STAT_END) == 0)
         {
             RuntimeContextLLE.clearInterrupt(Processor, PSP_GE_INTR);
         }
         else
         {
             RuntimeContextLLE.triggerInterrupt(Processor, PSP_GE_INTR);
         }
     }
 }
示例#7
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public void read(StateInputStream stream) throws java.io.IOException
        public virtual void read(StateInputStream stream)
        {
            stream.readVersion(STATE_VERSION);
            Emulator.Clock.read(stream);
            Emulator.Processor.read(stream);
            Emulator.Memory.read(stream);
            HLEModuleManager.Instance.read(stream);
            if (RuntimeContextLLE.LLEActive)
            {
                RuntimeContextLLE.read(stream);
                RuntimeContextLLE.createMMIO();
                RuntimeContextLLE.MMIO.read(stream);
                RuntimeContextLLE.MediaEngineProcessor.read(stream);
                RuntimeContextLLE.MediaEngineProcessor.MEMemory.read(stream);
            }
        }
示例#8
0
        private void endProcessing(int value)
        {
            switch (value)
            {
            case 1:
                //if (log.DebugEnabled)
            {
                Console.WriteLine(string.Format("KIRK endProcessing 1 on {0}", this));
            }
                RuntimeContextLLE.clearInterrupt(Processor, PSP_MEMLMD_INTR);
                break;

            case 2:
                //if (log.DebugEnabled)
            {
                Console.WriteLine(string.Format("KIRK endProcessing 2 on {0}", this));
            }
            break;

            default:
                Console.WriteLine(string.Format("0x{0:X8} - KIRK unknown endProcessing value 0x{1:X} on {2}", Pc, value, this));
                break;
            }
        }
示例#9
0
 private void completeCommand()
 {
     RuntimeContextLLE.triggerInterrupt(Processor, PSP_I2C_INTR);
 }
示例#10
0
 public virtual void execute()
 {
     MMIOHandlerSystemControl.Instance.triggerUsbMemoryStickInterrupt(MMIOHandlerSystemControl.SYSREG_USBMS_USB_INTERRUPT3);
     RuntimeContextLLE.triggerInterrupt(outerInstance.Processor, IntrManager.PSP_USB_57);
 }
示例#11
0
 public virtual void triggerVblankInterrupt()
 {
     scheduleNextVblankInterrupt();
     RuntimeContextLLE.triggerInterrupt(Processor, PSP_VBLANK_INTR);
 }