A8CAS - software for reading/writing Atari 8-bit cassettes
FSK file format - description
FSK is a simple text-based format that stores Atari tapes as sequences of MARK (logical 1) and SPACE (logical 0) signals. Signals are stored sequentially, along with numbers describing length of each signal.
Note: everywhere in this document, "newline" means Unix newline character, 0x10. Only Unix newlines are supported.
Here is an example of a file in the FSK format: Bang! Bank!
Structure
The file in FSK format starts with a line containing the file's header. Length of the line is precisely 10 bytes (with the terminating newline).
A8CAS-FSK<newline>
The second line contains the tape's description, finished with a newline. The description may be empty - then this line contains only a newline character.
<description string><newline>
From now on, each line corresponds to a single logical signal (1 or 0), as written on the tape. Format of the line is:
<signal> <length>/<rate><comments><newline>
where:
<signal>
is a single character equal1
or0
- the value of the current signal<length>
is an integer number representing the signal's length in "samples"<rate>
is an integer number representing the signal's "sample rate"<comments>
is an optional string with any contents, that is ignored. This field needs not be separated from<rate>
with a blank space, however it has to if it starts with a number.
Dividing <length>
by <rate>
gives the signal's length in seconds.
Normally A8CAS produces FSK files in which signals alternate between 1 and 0, but having consecutive signals of the same value in the file is accepted when reading.