.lf 1 ./man/man5/srec_logisim.5
'\" t
.\" srecord - Manipulate EPROM load files
.\" Copyright (C) 2013 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_logisim.5
.TH \*(n) 5 SRecord "Reference Manual"
.SH NAME
srec_logisim \- format Logisim EPROM load files
.if require_index \{
.\}
.SH DESCRIPTION
The file format used for image files is intentionally simple; this
permits you to write a program, such as an assembler, that generates
memory images that can then be loaded into memory. As an example of
this file format, if we had a 256\[hy]byte memory whose first five bytes
were 2, 3, 0, 20, and \-1, and all subsequent values were 0, then the
image would be the following text file.
.RS
v2.0 raw
02
03
00
14
ff
.RE
The first line identifies the file format used (currently, there is
only one file format recognized). Subsequent values list the values
in hexadecimal, starting from address 0; you can place several
such values on the same line. Logisim will assume that any values
unlisted in the file are zero.
The image file can use run\[hy]length encoding; for example, rather
than list the value 00 sixteen times in a row, the file can include
16*00 rather than repeat 00 sixteen times. Notice than the number of
repetitions is written in base 10. Files produced by Logisim will
use run\[hy]length encoding for runs of at least four values
.SS Size Multiplier
In general, binary data will expand in sized by approximately 2.95 times
when represented with this format.
.SS Commentary
This format is particularly deficient.
.TP 2n
\[bu]
The is no way for changing address in\[hy]flight.
And therefore the format can't have holes in the data.
.TP 2n
\[bu]
There are no checksums, or any other error checking.
.TP 2n
\[bu]
There is no provision for a comment header,
as distinct to the \[lq]v2.0 raw\[rq] magic number.
.TP 2n
\[bu]
There is no provision for an execution start adddress.
.SH SEE ALSO
http://ozark.hendrix.edu/~burch/logisim/docs/2.3.0/guide/mem/menu.html
.lf 1 ./man/man1/z_copyright.so
.\"
.\" srecord - manipulate eprom load files
.\" Copyright (C) 1998, 2006-2009, 2014 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.64.D001
.ds v) 1.64
.ds Y) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
.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 MAINTAINER
.TS
tab(;);
l r l.
Scott Finneran;E\[hy]Mail:;scottfinneran@yahoo.com.au
Peter Miller;E\[hy]Mail:;pmiller@opensource.org.au
.TE
.\" vim: set ts=8 sw=4 et :
.lf 74 ./man/man5/srec_logisim.5
.\" vim: set ts=8 sw=4 et :