srec_stewie(5)
π
srec_stewie(5) β Stewie's binary file format β¨
okay so bestie, welcome to the srec_stewie(5) page from the File Formats Manual β yes, that's the manual name, and we're talking about Stewie's binary file format. no cap. π«Ά
πΈ NAME πΈ
srec_stewie β Stewie's binary file format.
π DESCRIPTION π
If you have a URL for documentation of this format, please let me know. (like the page itself is asking, bestie β not me being shady)
Any resemblance to the Motorola SβRecord is superficial, and extends only to the data records. The header records and termination records are completely different. None of the other Motorola SβRecords record type are available.
β¨ The Records β¨
All records start with an ASCII capital S character, value 0x53, followed by a type specifier byte. All records consist of binary bytes. periodt.
π The Header Record π
Each file starts with a fixed four byte header record.
ββββββββ¬βββββββ¬βββββββ¬βββββββ
β 0x53 β 0x30 β 0x30 β 0x33 β
ββββββββ΄βββββββ΄βββββββ΄βββββββ
π¦ The Data Records π¦
Each data record consists of 5 fields. These are the type field, length field, address field, data field, and the checksum. The lines always start with a capital S character.
ββββββββ¬βββββββ¬ββββββββββββββββ¬ββββββββββ¬βββββββ¬βββββββββββ
β 0x53 β Type β Record Length β Address β Data β Checksum β
ββββββββ΄βββββββ΄ββββββββββββββββ΄ββββββββββ΄βββββββ΄βββββββββββ
- Type β The type field is a one byte field that specifies whether the record has a twoβbyte address field (
0x31), a threeβbyte address field (0x32) or a fourβbyte address field (0x33). The address is bigβendian. - Record Length β The record length field is a one byte field that specifies the number of bytes in the record following this byte.
- Address β This is a
2β,3β or4βbyte address that specifies where the data in the record is to be loaded into memory. - Data β The data field contains the executable code, memoryβloadable data or descriptive information to be transferred.
- Checksum β The checksum is a one byte field that represents the least significant byte of the one's complement of the sum of the values represented by the bytes making up the record's length, address, and data fields.
π The Termination Record π
Each file ends with a fixed two byte termination record.
ββββββββ¬βββββββ
β 0x53 β 0x38 β
ββββββββ΄βββββββ
β Size Multiplier β
In general, binary data will expand in sized by approximately 1.2 times when represented with this format. (yes, "in sized" is literally how the page says it β I'm not fixing the lore)
π₯ EXAMPLE π₯
Here is an hex-dump example file. It contains the data βHello, World[rq] to be loaded at address 0.
0000: 53 30 30 33 53 31 10 00 00 48 65 6C 6C 6F 2C 20 S003S1...Hello,
0010: 57 6F 72 6C 64 0A 9D 53 38 World..S8
π COPYRIGHT π
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
π okay bye bestie β the footer says Reference Manual Β· SRecord Β· srec_stewie(5), and thereβs no date line printed on this one. π
π¦ where this page comes from
- opensuse-leap 16.0: srecord 1.65.0-bp160.1.12 Β· GPL-3.0-or-later
- opensuse-leap 16.0: srecord 1.65.0-bp160.1.12 Β· GPL-3.0-or-later
- opensuse-leap 16.0: srecord 1.65.0-bp160.1.12 Β· GPL-3.0-or-later
- opensuse-leap 16.0: srecord 1.65.0-bp160.1.12 Β· GPL-3.0-or-later
- Copyright (C) 2004, 2006-2009 Peter Miller
- Copyright (C) 1998, 2006-2009, 2014 Peter Miller
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms