так может читается без проверки ? если так то это хреново.
раньше по сети гуляло много битых образов снятых как раз кривыми читалками
Вид для печати
Если читает без ошибок в "прямом" режиме (при движении головки вперед, т.е. к центру диска), то это действительно странно, и, я бы сказал, заслуживает изучения. Если же она дочитывает битые сектора обратным или случайным чтением (чего на Спектруме не делается), то объяснением может быть особенность дисковода.
Запись теперь можно сделать, но зачем она? ZX Disk Studio записывать умеет, чего в ней не хватает?
При чтении проверка делается всегда и битые сектора показываются на карте. Но если есть подозрения, то рекомендую убедиться в целостности данных, сверив с эталоном на всякий случай. Я как раз больше всего боялся именно такого эффекта, но пока никогда не замечал потери или искажения данных, кроме как в случаях когда искажения выдает сам драйвер или железо.
ZX Disk Studio записывать умеет, а не хватает как раз проверки записанного.
Разработка остановилась на чтении произвольных форматов. Там с одной стороны хочется использовать инфу с индексного датчика, а с другой хочется чтобы можно было её игнорировать (иногда он мешает читать первые сектора дорожек). Как это всё совместить трудно догадаться и в итоге я всё бросил. Эта функция работает в общем-то, но инфу с INDX она игнорирует. Плюс там еще баги есть с отображением кривых форматов (когда сектора имеют реальный размер 256 байт, а в заголовке у них указано что размер 8096 например).
Еще была идея как можно читать те нечитающиеся первые сектора чисто программно (без закрывания индексного отверстия), и это даже удается делать, но там много странностей возникает и чтение нестабильно. Разобраться почему так получается не удалось и я опять это бросил тоже.
CPLx, помните я писал в посте #37, что у меня на всех треках не читается нулевой сектор, контроллер BDI-ZX, TR-DOS Ver 5.04T (Base version 5.03, High speed, Turbo format. Copyright C.C. 1991).
Намедни блуждая по сайту польских товарищей прочёл, что все версии TR-DOS имеют кучу ошибок, и чтоб было вам счастье нужно узать TR-DOS Ver 5.041 (Based on 5.4T. More bug fixed, code updated. 14/11/2012 by Vadim).
Скачал, прошил контроллер и точно нулевой сектор теперь читается без проблем, а в остальном пока вроде ни каких отличий не заметил.
CPLx, возможно ли поддержать диски формата ASC?
Их попадается немало с музыкой.
Тут описан формат: http://zxpress.ru/article.php?id=8564
Еще из интересного описан Агат, Орион, Радио РК, БК, но дисков от них у меня к сожалению нет. Хотя для Агата могу записать.
Все эти форматы по идее можно прочитать на вкладке Custom Format. Делать отдельную вкладку по типу, как есть для TR-DOS, для ASC будет трудно, потому что у ASC разное количество секторов на треках (на нулевом треке 9 секторов, на остальных - 10, да еще размеры секторов разные), это не вписывается в существующую архитектуру тех вкладок. Там могут быть только форматы у которых все треки имеют одинаковое число секторов и размеры секторов тоже одинаковые. Может я буду это переделывать, может нет - не знаю.
Повторюсь, что на вкладке Custom Format прочитать должно быть возможно такой формат, там таких ограничений нет. Надо только смотреть чтобы все сектора на треке нормально прочитались и не было выпавших секторов (как бывает на первых секторах в некоторых случаях). Карта там показывается по другому: показывается весь трек - сектора на нём и пробелы. Размеры пробелов и секторов на карте пропорциональны соответствующим размерам на диске. Выпавшие сектора выглядят как большие белые участки на треке, т.е. как пробелы. Если пробел такой что туда поместился бы целый сектор, то возможно сектор там и есть но контроллер его не видит, и тогда надо попробовать закрыть индексное отверстие чтобы его увидеть если он там есть. И еще диск должен быть хорошо читаемым. Плохо читающиеся диски там могут плохо обрабатываться из-за несовершенной автоматической обработки ошибок. Это можно по карте сориентироваться. Если нет подозрительно больших пробелов и все сектора нужных размеров (там размер сектора на карте пропорционален размеру сектора на диске), то прочиталось всё правильно. Если же есть слишком большие пробелы, или размеры секторов нестандартные, то могли быть ошибки определения формата трека и надо перечитать заново этот участок с удалением инфы о формате (во всплывающем меню выбрать "Mark selection as unscanned", и заново прочитать). Короче, прочитать можно, но это надо делать самостоятельный контроль. Я не смог продумать автоматику так чтобы она сама все эти ошибки отслеживала. Автоматическое отслеживание ошибок можно сделать если специально сравнивать с целевым форматом (с тем же ASC например), как это сделано в тех вкладках (TR-DOS, IS-DOS и так далее), но ASC не вписывается в их архитектуру и там придется много писать заново с нуля практически.