Главным, и практически единственным достоинством cp/m было то, что что её можно было установить на, практически любом компьютере того времени, она могла настраиваться практически на любое железо, лишь бы:
- в младших адресах памяти лежало ОЗУ
- был бы текстовый режим не менее 80x25
- процессор был i8080 и выше, совместимый
К сожалению, ZX Spectrum, был чуть ли не единственным компьютером того времени, который не удовлетворял этим параметрам. Плата за такую универсальность была очень дорогая, а именно:
- нет никаких графических режимов экрана
- полностью отсутствует цвет
- полностью отсутствует музыка, звук
- полностью отсутствует какая-либо память за пределами 64 Кб
Причем, использовать всё перечисленное было никак нельзя, даже если комп на самом деле это позволял (типа спектрума). Потому что терялось главное и единственное достоинство этой операционки - совместимость, возможность запуска одной и той же программы на любом cp/m-компьютере без какой-либо адаптации!
Поэтому, не следует восторгаться тому, какие красивые цвета экрана в cp/m на ATM-turbo или какой замечательный музыкальный редактор в cp/m на Скорпе (кажется) - это всё от некомпетентности, криворукости и тараканов в голове! В cp/m доступ к железу производится только через операционку и ни в коем случае не напрямую - это религия!
Что касается, дискового формата, он выбирается по следующим соображениям.
Cp/m может работать с дисками, отформатированными на сектора длиной 128, 256, 512 или 1024 байт. От длины сектора зависит ёмкость дискеты, поскольку много места занимают промежутки между секторами. Для дискет DD DS она может быть от 640 до 1024 Кб (полная, неформатированная). То есть, под cp/m в зависимости от длины сектора ёмкость одной и той же дискеты может отличаться почти в два раза! Казалось бы, чем длиннее сектор, тем больше ёмкость дискеты - тем лучше. Но тут следует учесть другой фактор - разброс значения частоты вращения разных дисководов разных компьютеров. Синхронизация частоты данных сектора происходит в момент чтения индекса, а далее производится его чтение (или запись) вслепую с заданной частотой. Чем длиннее сектор, тем больше вероятность, того что за время его чтония синхронизация "убежит" и сектор не будет прочитан. Особенно велика такая вероятность, если диск писался на одном дисководе, а читается на другом. Конечно, можно улучшить качество чтения путём точной настройки частоты вращения всех имеемых дисководов. Но это не панацея, потому что она зависит ёщё от колебаний напряжения питания, влажности воздуха, степени износа дискеты и пр. К тому же, вероятно, вы захотите чтобы записанная вами дискета надёжно читалась на компьютере другого человека, которому не интересны все эти технические особенности, а интересен только результат
Радикальным решением этой проблемы является использование фазовой автоподстройки частоты дисковода (ФАПЧ).
Вывод: длинные сектора, невзирая на увеличение ёмкости дискеты, следует использовать только в том случае, если вы уверены, что на всех компьютерах, где она может быть прочитана есть ФАПЧ.