srec_tektronix(5)

πŸ’– srec_tektronix(5) β€” Tektronix hexadecimal file format πŸ’–

okay bestie, you're on the srec_tektronix(5) page from the File Formats Manual, and we're doing Tektronix hex today. it's giving vintage-tech main character energy, but the rules are lowkey simple once you see the pattern. periodt. ✨

🌸 NAME 🌸

srec_tektronix β€” Tektronix hexadecimal file format

πŸ’… 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.

πŸŽ€ The Lines πŸŽ€

Most Tektronix hex files contain only Tektronix hex lines (see the next section), which always start with a slash (/) character. There are only two types of lines β€” data lines and a termination line. two. that's it. iconic. πŸ’–

πŸ¦‹ Data Lines πŸ¦‹

Data lines have five fields: address, length, checksum 1, data and checksum 2. The lines always start with a slash (/) character.

β”Œβ”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ / β”‚ Address β”‚ Length β”‚ Checksum1 β”‚ Data β”‚ Checksum2 β”‚
β””β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Address β€” This is a 4 character (2 byte) address that specifies where the data in the record is to be loaded into memory.
  • 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. nope, never zero β€” noted. πŸ’€
  • Checksum 1 β€” The checksum 1 field is a 2 character (1 byte) field. Its value is the 8-bit sum of the six 4-bit values which make up the address and length fields.
  • Data β€” The data field contains character pairs (bytes); the number of character pairs (bytes) is indicated by the length field.
  • Checksum 2 β€” The checksum 2 field is a 2 character (1 byte) field. Its value is the least significant byte of the sum of all the 4-bit values of the data field.

🌼 Termination Line 🌼

Termination lines have three fields: address, zero and checksum. The lines always start with a slash (/) character.

β”Œβ”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ / β”‚ Address β”‚ Zero β”‚ Checksum β”‚
β””β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Address β€” This is a 4 character (2 byte) address that specifies where to begin execution.
  • Zero β€” The data length field is a 2 character (1 byte) field of value zero.
  • Checksum β€” The checksum 1 field is a 2 character (1 byte) field. Its value is the 8-bit sum of the six 4-bit values which make up the address and zero fields.

πŸ”₯ Size Multiplier πŸ”₯

In general, binary data will expand in size by approximately 2.4 times when represented with this format. so yeah, it's thicc. 🫢

🌈 EXAMPLE 🌈

Here is an example Tektronix hex file. It contains the data β€œHello, World” to be loaded at address 0.

/00000D0D48656C6C6F2C20576F726C640A52
/00000000

srec_cat version 1.65 Copyright (C) 1998... 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.

🫢 MAINTAINER 🫢

  • Scott Finneran β€” E-Mail: scottfinneran@yahoo.com.au
  • Peter Miller β€” E-Mail: pmiller@opensource.org.au

mwah πŸ’‹ β€” signing off from the Reference Manual, SRecord, srec_tektronix(5); the copyright block says srec_cat version 1.65, and the footer doesn't give a separate date, so I'm not inventing one, bestie. stay slay. πŸ’–

πŸ“¦ where this page comes from