.lf 1 ./man/man5/srec_emon52.5 '\" t .\" srecord - manipulate eprom load files .\" Copyright (C) 2001, 2006, 2007, 2009, 2011 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_emon52 .TH \*(n) 5 SRecord "Reference Manual" .SH NAME \*(n) \- Elektor Monitor (EMON52) file format .if require_index \{ .XX "srec_emon52(5)" "Elektor Monitor (EMON52) file format" .\} .SH DESCRIPTION This format is used by the monitor EMON52, developed by the European electronics magazine Elektor (Elektuur in Holland). Elektor wouldn't be Elektor if they didn't try to reinvent the wheel. It's a mystery why they didn't use an existing format for the project. Only the Elektor Assembler will produce this file format, reducing the choice of development tools dramatically. .SS Records All data lines are called records, and each record contains the following four fields: .TS allbox,center,tab(;); l l l l l. cc;aaaa;:;dd ... dd;ssss .TE The field are defined as follows: .TP 8n cc The byte count. A two digit hex value (1 byte), counting the actual data bytes in the record. The byte count is separated from the next field by a space. .TP 8n aaaa The address field. A four hex digit (2 byte) number representing the first address to be used by this record. .TP 8n \fB:\fP The address field and the data field are separated by a colon. .TP 8n dd The actual data of this record. There can be 1 to 255 data bytes per record (see cc) All bytes in the record are separated from each other (and the checksum) by a space. .TP 8n ssss Data Checksum, adding all bytes of the data line together, forming a 16 bit checksum. Covers only all the data bytes of this record. .PP Please note that there is no End Of File record defined. .SS Byte Count The byte count cc counts the actual data bytes in the current record. Usually records have 16 data bytes. I don't know what the maximum number of data bytes is. It depends on the size of the data buffer in the EMON52. .SS Address Field This is the address where the first data byte of the record should be stored. After storing that data byte, the address is incremented by 1 to point to the address for the next data byte of the record. And so on, until all data bytes are stored. .PP The address is represented by a 4 digit hex number (2 bytes), with the MSD first. .SS Data Field The payload of the record is formed by the Data field. The number of data bytes expected is given by the Byte Count field. .SS Checksum The checksum is a 16 bit result from adding all data bytes of the record together. .SS Size Multiplier In general, binary data will expand in sized by approximately 3.8 times when represented with this format. .SH EXAMPLE Here is an example of an EMON52 file: .RS .nf .ft CW 10 0000:57 6F 77 21 20 44 69 64 20 79 6F 75 20 72 65 61 0564 10 0010:6C 6C 79 20 67 6F 20 74 68 72 6F 75 67 68 20 61 05E9 10 0020:6C 6C 20 74 68 69 73 20 74 72 6F 75 62 6C 65 20 05ED 10 0030:74 6F 20 72 65 61 64 20 74 68 69 73 20 73 74 72 05F0 04 0040:69 6E 67 21 015F .ft P .fi .RE .SH SEE ALSO http://sbprojects.fol.nl/knowledge/fileformats/emon52.htm .SH AUTHOR This man page was taken from the above Web page. It was written by San Bergmans