Для определения кол-ва дорожек у дисковода можно использовать следующий алгоритм:
Для начала выводим головки на нулевой цилиндр. Потом есть 2 варианта проверки количества дорожек.

Вариант 1
Делаем циклом (командой шаг) перемещение МГ на цилиндр 46-48. (считаем, что максимально возможный цилиндр у 40 дорожек дисковода ~ 45)
По завершению цикла, меняем направление перемещения МГ от центра к краю.
И запускаем второй цикл, на такое же число. После каждого выполнения команды проверяем бит "0-я дорожка" регистра состояния ВГ93. Если головки вышли на 0-й цилиндр, а цикл не закончен, то мы имеем дисковод 40 дорожек.

Вариант 2
Вместо команды "шаг" можно использовать команду "позиционирование МГ (со сброшенным битом проверки положения МГ)" Сначала делаем позиционирование на ц.60, а назад на 2. Если дисковод 40 дорожек, то мы окажемся на 0.

---------- Post added at 12:42 ---------- Previous post was at 12:37 ----------

Для определения скорости перемещения делается тест похожий. Цикл идёт на скорости (4). Выставляем скорость, делаем перемещение с ц.0 на ц.15 (к примеру), потом делаем выход назад командой шаг на минимальной скорости (для 100% гарантии правильного выполнения) и смотрим. с 15-го ли цилиндра мы пришли (т.е. не ранее ли достигнута дорожка 0). Вот и всё. Как-то так.