CSPspEmu.Core.Gpu.Run.GpuDisplayListRunner.OP_SIGNAL C# (CSharp) Method

OP_SIGNAL() private method

private OP_SIGNAL ( ) : void
return void
        public void OP_SIGNAL()
        {
            var Signal = Extract(0, 16);
            var Behaviour = (SignalBehavior)Extract(16, 8);

            Console.Out.WriteLineColored(ConsoleColor.Green, "OP_SIGNAL: {0}, {1}", Signal, Behaviour);

            switch (Behaviour)
            {
                case SignalBehavior.PSP_GE_SIGNAL_NONE:
                    break;
                case SignalBehavior.PSP_GE_SIGNAL_HANDLER_CONTINUE:
                case SignalBehavior.PSP_GE_SIGNAL_HANDLER_PAUSE:
                case SignalBehavior.PSP_GE_SIGNAL_HANDLER_SUSPEND:
                    var Next = GpuDisplayList.ReadInstructionAndMoveNext();
                    if (Next.OpCode != GpuOpCodes.END)
                    {
                        throw (new NotImplementedException("Error! Next Signal not an END! : " + Next.OpCode));
                    }
                    break;
                default:
                    throw(new NotImplementedException(String.Format("Not implemented {0}", Behaviour)));
            }

            GpuDisplayList.DoSignal(PC, Signal, Behaviour, ExecuteNow: true);
        }
GpuDisplayListRunner