Цитата Сообщение от CPLx
В этом посте я прикреплю версию 0.3, она точно такая же как 0.2, с той лишь разницей, что удалена процедура останова дисковода. Потестите её, будут ли такие же глюки.
Глюка нет. Всё надёжно работает, как в версии 0.1. Значит виновата процедура останова дисковода. Как я уже сообщал, достаточно останавливать дисковод только в ситуации No disk; можно также и после запроса на смену дисков при копировании.

Цитата Сообщение от CPLx
Для выключения дисковода используется такая процедура: ...
Признаться, так толком и не понял, как она работает. Сначала прерывается контроллер, потом дается команда шаг назад без загрузки головки, потом опять прерывается... Всё это "не по науке".
Вообще, существует два эффективных способа останова дисковода: программный сброс микроконтроллера, и эмуляция индексных импульсов. В первом случае обнуляются все регистры микроконтроллера, и значения в них надо заносить заново. Второй способ - штатный, используемый авторами TR-DOS; я считаю его самым лучшим. Именно процедура, действующая по второму принципу, и представлена мной здесь: http://www.zx.pk.ru/showpost.php?p=96820&postcount=12

Цитата Сообщение от CPLx
Цитата Сообщение от Grand
Вчера обратил внимание, что TFC не проверяет при чтении каталога TR-DOS-ли диск ...
Вот этого не предполагал. Но тут возникает вопрос: что делать, когда, например, есть каталог, но поврежден 9-й сектор? ... А что там за эффект появляется? Какой-то мусор вместо списка файлов?
Ну, как я и написал, мелочь это. Но можно было бы, например, проверять на диск TR-DOS только при чтении каталога, и после сообщения, что диск не TR-DOS, выходить на пустую панель. А в докторе ничего не проверять.
Эффект сейчас такой: данные из считанного сектора командер пытается интерпретировать как названия файлов TR-DOS, и иногда пишет "осмысленные" фразы: "MS-DOS 5".