public static Byte[] Write(SCENARIO_CHIPFRAMEINFO input)
        {
            var buffer = new Byte[4 + MathUtil.RoundUp(input.SubChipCount, 8)];

            BinaryIO.WriteIntoBuffer(buffer, 0, input.Speed, Endian.LittleEndian);

            buffer[2] = input.Reserve;
            buffer[3] = input.SubChipCount;

            for (var i = 0; i != input.SubChipCount; ++i)
            {
                buffer[4 + i] = input.SubChipIndex[i];
            }

            return(buffer);
        }
        public static SCENARIO_CHIPFRAMEINFO Read(FileReader reader)
        {
            var obj = new SCENARIO_CHIPFRAMEINFO();

            obj.Speed        = reader.ReadUInt16();
            obj.Reserve      = reader.ReadByte();
            obj.SubChipCount = reader.ReadByte();
            obj.SubChipIndex = reader.ReadBytes(obj.SubChipCount);

            var remander = obj.SubChipCount % 8;

            if (remander != 0)
            {
                reader.Position += (8 - remander);
            }

            return(obj);
        }