internal override IEnumerable<byte> AsBytes()
 {
     List<byte> list = new List<byte>();
     list.Add(0x02);
     list.Add(0x00);
     list.Add(0x00);
     list.Add((byte)RecordType);
     list.Add((RecordType == HexRecordType.ExtendedLinearAddress) ? (byte)(Address >> 24) : (byte)(Address >> 12));
     list.Add((RecordType == HexRecordType.ExtendedLinearAddress) ? (byte)(Address >> 16) : (byte)(Address >> 4));
     list.Add(list.Checksum());
     return list;
 }
Exemple #2
0
        public void Save(BinaryWriter b)
        {
            comment = "Merthsoft Token IDE";
            List <byte> buffer = new List <byte>();

            #region Gen buffer
            #region Header
            List <byte> headerBuffer = new List <byte>();
            // Header section
            headerBuffer.AddRange(sigArray);
            headerBuffer.AddRange(fsigArray);
            headerBuffer.AddRange(Comment.ToByteArray(42));
            headerBuffer.AddRange(((short)(Length)).GetBytes());
            #endregion

            #region Data
            List <byte> dataBuffer = new List <byte>();
            // Data section
            short nameLength = (short)Name.Length;
            if (Calc != CalcType.Calc85)
            {
                dataBuffer.AddRange(flag1);
            }
            else
            {
                dataBuffer.AddRange(((short)(nameLength + 4)).ToByteArray());
            }
            dataBuffer.AddRange(((short)(DataLength)).GetBytes());
            dataBuffer.Add((byte)ID);
            if (Calc != CalcType.Calc85)
            {
                dataBuffer.AddRange(Name.ToByteArray(8));
            }
            else
            {
                dataBuffer.Add((byte)nameLength);
                dataBuffer.AddRange(Name.ToByteArray());
            }
            if (Calc == CalcType.Calc8x)
            {
                dataBuffer.Add(version);
                dataBuffer.Add(archFlag);
            }
            dataBuffer.AddRange(((short)(DataLength)).GetBytes());
            dataBuffer.AddRange(FullData);
            #endregion
            buffer.AddRange(headerBuffer);
            buffer.AddRange(dataBuffer);
            buffer.AddRange(dataBuffer.Checksum().GetBytes());
            #endregion
            b.Write(buffer.ToArray());
        }
Exemple #3
0
        internal override IEnumerable <byte> AsBytes()
        {
            List <byte> list = new List <byte>();

            list.Add(0x02);
            list.Add(0x00);
            list.Add(0x00);
            list.Add((byte)RecordType);
            list.Add((RecordType == HexRecordType.ExtendedLinearAddress) ? (byte)(Address >> 24) : (byte)(Address >> 12));
            list.Add((RecordType == HexRecordType.ExtendedLinearAddress) ? (byte)(Address >> 16) : (byte)(Address >> 4));
            list.Add(list.Checksum());
            return(list);
        }
Exemple #4
0
        internal override IEnumerable<byte> AsBytes()
        {
            List<byte> list = new List<byte>();
            list.Add((byte)Data.Length);
            list.Add((byte)(Address >> 8));
            list.Add((byte)(Address));
            list.Add((byte)RecordType);
            foreach (var b in Data)
                list.Add(b);
            list.Add(list.Checksum());

            return list;
        }
Exemple #5
0
        internal override IEnumerable <byte> AsBytes()
        {
            List <byte> list = new List <byte>();

            list.Add((byte)Data.Length);
            list.Add((byte)(Address >> 8));
            list.Add((byte)(Address));
            list.Add((byte)RecordType);
            foreach (var b in Data)
            {
                list.Add(b);
            }
            list.Add(list.Checksum());

            return(list);
        }