Quick Release Sector Transfer
From Just Solve the File Format Problem
(Difference between revisions)
m |
|||
Line 72: | Line 72: | ||
|0x03 || calculated from disk type in header || Track data, uncompressed | |0x03 || calculated from disk type in header || Track data, uncompressed | ||
|} | |} | ||
− | |||
==== Blank track ==== | ==== Blank track ==== |
Revision as of 01:01, 13 March 2016
The QRST disc image format was used by Compaq to distribute disk images of diagnostic software. The file QRST.EXE would be supplied with the disc images to write them to a floppy drive.
Contents |
Identification
QRST files start with the 4-character ASCII string QRST
, followed by a 0x00
byte. The first character of the file extension is an underscore, followed by a 2-digit hexadecimal volume number.
Structure
File header
The file begins with a 796-byte header:
Offset | Size | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | 5 bytes | Magic number, QRST followed by 0x00
| ||||||||||||||||||
0x08 | 4 bytes | Checksum | ||||||||||||||||||
0x0C | 1 byte | Disk capacity:
| ||||||||||||||||||
0x0D | 1 byte | Current volume number in set | ||||||||||||||||||
0x0E | 1 byte | Count of volumes in set | ||||||||||||||||||
0x0F | 96 bytes | Description, ASCIIZ | ||||||||||||||||||
0x4B | 721 bytes | Disk label, ASCIIZ |
Tracks
The header will be followed by the data tracks. These can be in one of three forms:
Uncompressed track
Offset | Size | Description |
---|---|---|
0x00 | 1 byte | Cylinder |
0x01 | 1 byte | Head |
0x02 | 1 byte | 0 indicates uncompressed track |
0x03 | calculated from disk type in header | Track data, uncompressed |
Blank track
Offset | Size | Description |
---|---|---|
0x00 | 1 byte | Cylinder |
0x01 | 1 byte | Head |
0x02 | 1 byte | 1 indicates blank track |
0x03 | 1 byte | Filler byte |
Compressed track
Offset | Size | Description |
---|---|---|
0x00 | 1 byte | Cylinder |
0x01 | 1 byte | Head |
0x02 | 1 byte | 2 indicates compressed track |
0x03 | 2 bytes | Length of compressed data |
0x05 | As specified above | Compressed data |
The compressed data stream consists of alternating literal runs (a byte giving the length of the run, followed by that number of bytes data) and compressed runs (two bytes; first gives number of repeats, second gives byte to repeat).