Beispiel #1
0
        static void ProcessImage(GifPacket packet, GsProcessor processor)
        {
            DataReader reader = new DataReader(packet.Data);

            for (int i = 0; i < packet.Loops; i++)
            {
                processor.AddOperation(0x54, reader.ReadUInt64());
                processor.AddOperation(0x54, reader.ReadUInt64());
            }
        }
Beispiel #2
0
        static void ProcessPacked(GifPacket packet, GsProcessor processor)
        {
            DataReader reader = new DataReader(packet.Data);

            if (!packet.IgnorePrimField)
            {
                throw new NotSupportedException("Unsupported PRIM field");
            }

            for (int i = 0; i < packet.Loops; i++)
            {
                foreach (var register in packet.Registers)
                {
                    switch (register)
                    {
                    case GifRegisters.APlusD:
                        ulong data       = reader.ReadUInt64();
                        byte  regAddress = (byte)(reader.ReadUInt64() & 0xFF);
                        processor.AddOperation(regAddress, data);
                        break;

                    default:
                        throw new NotSupportedException("Unsupported register");
                    }
                }
            }
        }