Глюка нет. Всё надёжно работает, как в версии 0.1. Значит виновата процедура останова дисковода. Как я уже сообщал, достаточно останавливать дисковод только в ситуации No disk; можно также и после запроса на смену дисков при копировании.Сообщение от CPLx
Признаться, так толком и не понял, как она работает.Сообщение от CPLx
Сначала прерывается контроллер, потом дается команда шаг назад без загрузки головки, потом опять прерывается... Всё это "не по науке".
Вообще, существует два эффективных способа останова дисковода: программный сброс микроконтроллера, и эмуляция индексных импульсов. В первом случае обнуляются все регистры микроконтроллера, и значения в них надо заносить заново. Второй способ - штатный, используемый авторами TR-DOS; я считаю его самым лучшим. Именно процедура, действующая по второму принципу, и представлена мной здесь: http://www.zx.pk.ru/showpost.php?p=96820&postcount=12
Ну, как я и написал, мелочь это. Но можно было бы, например, проверять на диск TR-DOS только при чтении каталога, и после сообщения, что диск не TR-DOS, выходить на пустую панель. А в докторе ничего не проверять.Сообщение от CPLx
Эффект сейчас такой: данные из считанного сектора командер пытается интерпретировать как названия файлов TR-DOS, и иногда пишет "осмысленные" фразы: "MS-DOS 5".![]()




Сначала прерывается контроллер, потом дается команда шаг назад без загрузки головки, потом опять прерывается... Всё это "не по науке".
Ответить с цитированием