Вот тут описан блочный Kansas City Standard с блоками по 256 байт и заголовками с адресами куда пишется:
http://www.gammon.com.au/Arduino/cassette_interface.pdfНо я наверное с блоками не буду заморачиваться, а возьму из этого скана только базовое описание KCS:
1) Mark (логическая единица) представляется восемью циклами сигнала 2400 Гц;
2) Space (логический ноль) представляется четырьмя циклами сигнала 1200 Гц;
3) Каждый символ представляет из себя Space (0) как старт, далее восемь битов данных и потом два или более Mark (1) как стоп;
4) Интервал между символами представляется неопределённой продолжительностью на частоте Mark;
5) При передаче битов данных младший бит передаётся первым, а старший бит - последним;
6) Данные сгруппированы в блоки произвольной длины, перед каждым из которых идёт как минимум 5-секундный Mark;
7) Не рекомендуется записывать ничего осмысленного в первые 30 секунд плёнки сразу после прозрачного участка...
P.S. Пункты 3 и 4 недвусмысленно намекают, что расстояние между байтами нефиксированное - старт байта детектируется по первому попавшемуся Space (1200 Гц) и до этого может пройти сколь угодно много Mark (2400 Гц), а в качестве пилот-тона используются всё тот же сигнал 2400 Гц (как минимум 5 секунд или 12000 периодов).