Step() public method

public Step ( int InstructionCountForYield = 1000000 ) : void
InstructionCountForYield int
return void
Example #1
0
        public void CpuThreadStateTest()
        {
            var HlePspThread = new HleThread(PspEmulatorContext, new CpuThreadState(Processor));

            MipsAssembler.Assemble(@"
            .code 0x08000000
                li r31, 0x08000000
                jal end
                nop
            end:
                addi r1, r1, 1
                jr r31
                nop
            ");

            HlePspThread.CpuThreadState.PC = 0x08000000;
            HlePspThread.Step();
        }
Example #2
0
        public void CpuThreadStateBugTest()
        {
            var HlePspThread = new HleThread(new CpuThreadState(Processor));

            MipsAssembler.Assemble(@"
            .code 0x08000000
                li r31, 0x08000000
                jal end
                nop
            end:
                jr r31
                nop
            ");

            HlePspThread.CpuThreadState.PC = 0x08000000;

            Assert.Inconclusive();

            Console.WriteLine("1");
            HlePspThread.Step();
            Console.WriteLine("2");
        }
Example #3
0
        public void Execute(CpuThreadState FakeCpuThreadState)
        {
            var CpuProcessor = FakeCpuThreadState.CpuProcessor;

            if (CurrentFake == null)
            {
                CurrentFake = new HleThread(new CpuThreadState(CpuProcessor));
            }

            CurrentFake.CpuThreadState.CopyRegistersFrom(FakeCpuThreadState);
            //HleCallback.SetArgumentsToCpuThreadState(CurrentFake.CpuThreadState);

            //CurrentFake.CpuThreadState.PC = HleCallback.Function;
            CurrentFake.CpuThreadState.RA = HleEmulatorSpecialAddresses.CODE_PTR_FINALIZE_CALLBACK;
            //Current.CpuThreadState.RA = 0;

            CpuProcessor.RunningCallback = true;
            while (CpuProcessor.RunningCallback)
            {
                //Console.WriteLine("AAAAAAA {0:X}", CurrentFake.CpuThreadState.PC);
                CurrentFake.Step();
            }
        }