예제 #1
0
        public override void Main()
        {
            while (true)
            {
                StartEvent.WaitOne();

                CpuThreadState.Pc = EntryPoint;
                try
                {
                    while (Running)
                    {
                        var pc = CpuThreadState.Pc & PspMemory.MemoryMask;
                        //Console.WriteLine("PC:{0:X8} - {1:X8}", PC, CpuThreadState.PC);

                        //var Func = CachedGetMethodCache.GetDelegateAt(PC);
                        throw new NotImplementedException();

                        //if (Name == "ME")
                        //{
                        //	Console.WriteLine("{0}: {1:X8}", Name, PC);
                        //}
                        //
                        //if (PC == 0x040EC228)
                        //{
                        //	if (((int)CpuThreadState.V0) < 0)
                        //	{
                        //		Console.WriteLine("!!ERROR: 0x{0:X8}", CpuThreadState.V0);
                        //		//(SceKernelErrors)
                        //	}
                        //	//CpuThreadState.DumpRegisters();
                        //}
                        //
                        //Func.Delegate(CpuThreadState);
                        //throw(new PspMemory.InvalidAddressException(""));
                    }
                }
                catch (Exception e)
                {
                    CpuThreadState.DumpRegisters();
                    Console.WriteLine("----------------------------------------------------");
                    Console.Error.WriteLine(e.Message);
                    Console.WriteLine("----------------------------------------------------");
                    Console.WriteLine("at {0:X8}", CpuThreadState.Pc);
                    Console.WriteLine("----------------------------------------------------");
                    Console.Error.WriteLine(e);
                    Console.WriteLine("----------------------------------------------------");
                    Console.WriteLine("at {0:X8}", CpuThreadState.Pc);
                    Console.ReadKey();
                }
            }
        }