How did Commodore call their tape format?
Hmm, what's wrong with Tape Format?
It must have had a specific name, right?
Does it? If you insist, maybe try CTF or 'Commodore (PET) Tape Format'?
But serious, why should Commodore call it anything if the there is neither a need to distinguish it from others supported formats - as there are none (*1) - nor intend to sell it as dedicated product?
The only terms regarding tape formats I have found are KCS and CUTS
KCS and CUTS are two identifiers for the very same format(*2).
- CUTS is what Processor Technology named their format
- Provisional Audio Cassette Data Interchange Standard ((P)ACDIC) is what Byte Magazin, the organizer of the Audio Cassette Standards Symposium called the result of that meeting (*3)
- KCS is what other (participating and non-participating) magazines (*4) called it - usually to avoid naming Byte being the driver for standardization.
I would be interested to learn the correct technical term for the way the data was saved to tape as well.
Well, seems less about format - which would be the way data is structured - but encoding. How to call this encoding may depend on your view point:
Technical the encoding must be described as an FSK variant using sequences of three frequencies to encode a byte using a single full wave each.
For all practical purpose it might be better viewed as PWM encoded as that's the way the cassette software handles it (*6,*7).
This comes not at least due the way the Datasette hardware accepts and returns the data signal (*5). When seen as PWM, those three frequencies manifest themself as symmetric (50% duty) pules (*8). For a PAL C64 On/Off time is each
- 182.7 µs (2737 Hz) for Short
- 265.7 µs (1882 Hz) for Medium
- 348.8 µs (1434 Hz) for Long (or Mark)
For an NTSC C64 it comes to
- 176 µs (2840 Hz) for Short
- 256 µs (1953 Hz) for Medium
- 336 µs (1488 Hz) for Long
The difference is due different CPU speed as the signal is software generated. Those ~4% doesn't really matter as the reading routine is made to adapt to accept a way wider speed margin to accommodate different cassette speeds.
Several seconds of 'S' are used for synchronisation - that's the high pitch everyone who has ever put such a cassette into an audio player. Beside that, always two of those pulses form a symbol for data encoding:
- L+M -> Byte Mark.
- S+M -> Zero-Bit
- M+S -> One-Bit
- L+S -> End-of-Data Mark
Only those for are valid symbols, all others (*9) should result in an error.
Further down a Byte is formed from
- Byte Mark,
- 8 Data Bits and
- 1 Bit of Odd Parity
This concludes encoding as used to write the further format.
All of that can be in even greater detail be found at the C64 Wiki's age about Datasette Endcoding.
*1 - That is unless one includes the KIM format - a rather unlikely case.
*2 - As a rather quick search on RC.SE might reveal.
*3 - Which essentially just adopted CUTS as that standard.
*4 - And Byte Magazin in later years as well. Georg Jellinek's Normative Kraft des Faktischen at work :))
*5 - Nicely described in the Encoding section of the Wiki page for the Commodore Datasette.
*6 - This goes not only for the genuine Commodore variant but all Fast-Loader variants as well.
*7 - Also the reason why the .TAP format for storing of cassette content is build as a sequence of duration markers.
*8 - The basics are as well Nicely described in Tommy's answer to a question asking How did the C64 interface tape drives?. Which also provides a section about the (block) format.
*9 - These are S+L and M+L - the others would be repetition of the same signal, thus being indistinguishable of a continuous one, making it non-symbols. Although continuous S is used as synchronisation pattern.