.lf 1 ./man/man5/srec_tektronix.5
'\" t
.\" srecord - manipulate eprom load files
.\" Copyright (C) 1998, 2000, 2001, 2006-2009 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.ds n) srec_tektronix
.TH \*(n) 5 SRecord "Reference Manual"
.SH NAME
srec_tektronix \- Tektronix hexadecimal file format
.if require_index \{
.XX "srec_tektronix(5)" "Tektronix hexadecimal file format"
.\}
.SH DESCRIPTION
.\" ------------------------------------------------------------------------
The Tektronix hexadecimal file format is no longer very common.
It serves a similar purpose to the Motorola and Intel formats,
usually used to transfer data into EPROM programmers.
.SS The Lines
Most Tektronix hex files contain only Tektronix hex lines (see
the next section), which always start with a slash (\[lq]/[rq]) character.
There are only two types of lines \- data lines and a termination line.
.br
.ne 2i
.SS Data Lines
Data lines have five fields:
address, length, checksum 1, data and checksum 2.
The lines always start with a slash (\[lq]/[rq]) character.
.TS
allbox,center,tab(;);
lf(CW) l l l l l.
/;Address;Length;Checksum1;Data;Checksum2
.TE
.TP 8n
Address
This is a 4 character (2 byte) address that specifies where the data in
the record is to be loaded into memory.
.TP 8n
Data Length
The data length field is a 2 character (1 byte) field that specifies the
number of character pairs (bytes) in the data field.
This field never has a value of zero.
.TP 8n
Checksum 1
The checksum 1 field is a 2 character (1 byte) field. Its value is
the 8\[hy]bit sum of the six 4\[hy]bit values which make up the address and
length fields.
.TP 8n
Data
The data field contains character pairs (bytes); the number of character
pairs (bytes) is indicated by the length field.
.TP 8n
Checksum 2
The checksum 2 field is a 2 character (1 byte) field. Its value is
the least significant byte of the sum of the all the 4\[hy]bit values of
the data field.
.br
.ne 2i
.SS Termination Line
Termination lines have three fields:
address, zero and checksum.
The lines always start with a slash (\[lq]/[rq]) character.
.TS
allbox,center,tab(;);
lf(CW) l l l.
/;Address;Zero;Checksum
.TE
.TP 8n
Address
This is a 4 character (2 byte) address that specifies where to begin
execution.
.TP 8n
Zero
The data length field is a 2 character (1 byte) field of value zero.
.TP 8n
Checksum
The checksum 1 field is a 2 character (1 byte) field. Its value is
the 8\[hy]bit sum of the six 4\[hy]bit values which make up the address and
zero fields.
.SS Size Multiplier
In general, binary data will expand in sized by approximately 2.4 times
when represented with this format.
.\" ------------------------------------------------------------------------
.br
.ne 2i
.SH EXAMPLE
Here is an example Tektronix hex file.
It contains the data \[lq]Hello, World[rq] to be loaded at address 0.
.RS
.nf
.ft CW
/00000D0D48656C6C6F2C20576F726C640A52
/00000000
.ft P
.fi
.RE
.\" ------------------------------------------------------------------------
.ds n) srec_cat
.lf 1 ./man/man1/z_copyright.so
.\"
.\" srecord - manipulate eprom load files
.\" Copyright (C) 1998, 2006-2009 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see
.\" .
.\"
.br
.ne 1i
.SH COPYRIGHT
.lf 1 ./etc/version.so
.ds V) 1.58.D001
.ds v) 1.58
.ds Y) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
.lf 23 ./man/man1/z_copyright.so
.I \*(n)
version \*(v)
.br
Copyright
.if n (C)
.if t \(co
\*(Y) Peter Miller
.br
.PP
The
.I \*(n)
program comes with ABSOLUTELY NO WARRANTY;
for details use the '\fI\*(n) \-VERSion License\fP' command.
This is free software
and you are welcome to redistribute it under certain conditions;
for details use the '\fI\*(n) \-VERSion License\fP' command.
.br
.ne 1i
.SH AUTHOR
.TS
tab(;);
l r l.
Peter Miller;E\[hy]Mail:;pmiller@opensource.org.au
/\e/\e*;WWW:;http://miller.emu.id.au/pmiller/
.TE
.lf 112 ./man/man5/srec_tektronix.5