Provided by: srecord_1.56-1build1_amd64 bug

NAME

       srec_mos_tech - MOS Technology file format

DESCRIPTION

       The  MOS  Technology  format  allows  binary  files  to be uploaded and downloaded between
       between a computer system (such as a PC, Macintosh, or workstation)  and  an  emulator  or
       evaluation board for microcontrollers and microprocessors.

   The Lines
       Each  line  consists  of 5 fields.  These are the length field, address field, data field,
       and the checksum.  The lines always start with a semicolon (;) character.

   The Fields
                            ┌──┬────────┬─────────┬──────┬──────────┬──────┐
                            │; │ Length │ Address │ Data │ Checksum │ CRLF │
                            └──┴────────┴─────────┴──────┴──────────┴──────┘
       Length  The record length field is a 2 character (1 byte) field that specifies the  number
               of data bytes in the record.  Typically this is 24 or less.

       Address This  is  a  2‐byte  address  that specifies where the data in the record is to be
               loaded into memory, big‐endian.

       Data    The data field contains the executable code, memory‐loadable data  or  descriptive
               information to be transferred.

       Checksum
               The checksum is an 2‐byte field that represents the least significant two bytes of
               the the sum of the values represented by the pairs of  characters  making  up  the
               record's length, address, and data fields, big‐endian.

   End of File
       The  final  line should have a data length of zero, and the data line count in the address
       field.  The checksum is not the usual checksum, it is instead a repeat of  the  data  line
       count.

   Size Multiplier
       In  general, binary data will expand in sized by approximately 2.54 times when represented
       with this format.

EXAMPLE

       Here is an example MOS Technology format file.  It contains the data “Hello, World” to  be
       loaded at address 0.
              ;0C000048656C6C6F2C20576F726C640454
              ;0000010001

COPYRIGHT

       srec_cat version 1.56
       Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
       Peter Miller

       The srec_cat program comes with ABSOLUTELY NO WARRANTY;  for  details  use  the  'srec_cat
       -VERSion  License'  command.  This is free software and you are welcome to redistribute it
       under certain conditions; for details use the 'srec_cat -VERSion License' command.

AUTHOR

       Peter Miller   E‐Mail:   pmiller@opensource.org.au
       /\/\*             WWW:   http://miller.emu.id.au/pmiller/

KIM‐1 User Manual - Appendix F - Paper Tape Format

       (The          following          information          is          reproduced          from
       http://users.telenet.be/kim1‐6502/6502/usrman.html#F  just  in  case  it vanishes from the
       Web.)

       The paper tape LOAD and DUMP routines  store  and  retrieve  data  in  a  specific  format
       designed  to  insure  error free recovery.  Each byte of data to be stored is converted to
       two half bytes.  The half bytes (whose possible values are 0 to F HEX) are translated into
       their ASCII equivalents and written out onto paper tape in this form.

       Each  record outputted begins with a “;” character (ASCII 3B) to mark the start of a valid
       record.  The next byte transmitted (18HEX) or (24 decimal) is the  number  of  data  bytes
       contained  in  the  record.   The  record's  starting address High (1 byte, 2 characters),
       starting address Lo (1 byte, 2 characters), and data (24  bytes,  48  characters)  follow.
       Each  record  is  terminated by the record's check‐sum (2 bytes, 4 characters), a carriage
       return (ASCII 0D), line feed (ASCII 0A), and six  “NULL”  characters  (ASCII  00).   (NULL
       characters cause a blank area on the paper tape.)

       The  last  record  transmitted has zero data bytes (indicated by ;00) The starting address
       field is replaced by a four digit Hex number representing the total number of data records
       contained  in the transmission, followed by the records usual check‐sum digits.  An “XOFF”
       character ends the transmission.
              ;180000FFEEDDCCBBAA0099887766554433221122334455667788990AFC
              ;0000010001
       During a “LOAD” all incoming data is ignored until  a  “;”  character  is  received.   The
       receipt  of  non  ASCII  data or a mismatch between a records calculated check‐sum and the
       check‐sum read from tape will cause an error condition  to  be  recognized  by  KIM.   The
       check‐sum is calculated by adding all data in the record except the “;” character.

       The paper tape format described is compatible with all other MOS Technology, Inc. software
       support programs.