Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.
Seamos realistas y hagamos lo imposible!
Ernesto Che GuevaraПереехал сюда: SteinBlume (ex ATM CP/M Explorer)
http://era-cg.su
Dexus(05.08.2020)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Смотрю тут, насколько удобно будет выводить "содержимое" дорожки для юстировки пороговых значений...
Если брать просто усредненное, то там не факт что поможет. Вот например:
Я уже показывал этот диск в соседней теме, но в графическом виде:Код:Arduino floppy dump utility v0.01b (UDI) (c) 2019-2020 by Denis Dratov Port: COM6 - AFD device, firmware version 1.0 Rotation speed: 300.2883 rpm Probing track stats, to figure thresholds.. us-----2|------3|------4|------5|------6|------7|------8|------9| ,Xx. .xX#- #Xx. .xX+. .,... X%+. ,xx. .... %+ .%- +% XX- xx#+ x#Xx- . ,+xx+. . .,... . ,..-xX#-,,,,,...,,.,,.,,,.,,,,.,..,... . .. .... . ... . . ,---++--+++++--+-----------,----,,-,... ..... ...... ,----+++++x++++----+-----+----,-.,.,... . .. ...,. . . .,,-.-,-+-----+--,+-+++---+---,,,----,,,,,......... . .... ...,-,+++++++---------,,-,-.,,-,--,,,,--.,.-,,,,,..., . .. ...,.x#+++xxxx++,.,. ,.... .,,,-,. +% %, %+ %%.. ,.,. ##x,. .+x##, ..... %+-.. .-++.. ..... %X x% .%, X#x. .xx#x. +%x-. -+x+. ..,., -%, %X X% +%+, -x+. #X+ .##+. .,,. X%. ,.. ., x%- ,%# %% x%, ,#+#- ... +%# .++x, .,.. %% #%, ,%X %X +xx+ .#%. ,x#x. .,,. x%+ +%X %% %%, . #X+ .x#x#- , . .x%# -+,+, ... %X +%X +%X .#Xx ,xxxx, ,X. +###- #x .x##x, .x#. +###x ##. .x#Xx- .x#x -+x##x+, ,Xx xx##+ +xx+ .++xxxxx- .#x +#X#. ,X+ x#X#. ##. -x##x. ##. .x##+ x#. +#X#. x# -###- ,X. ####. .X+ -###- #x -XX- x# .#X#. +X. ,XX- .X- ##X. Xx +XX, #x .XXx ## #X# ## ###. ## #X# ## #Xx ## XXx #x -XXx Xx +XX+ .X+ x#X, .X- X#X. .X, X#x. -X. -XXx +X x#X- xX. ##X, ## .X##, ## ,X##. #x +XXx X+ xXX- .X- x#X- ,X. ##X, .X- ##X ,X- .X##, -X+ -X#x +X- +XX+ . x#. +### .
Очень сильно плавающие значения. Это максимальное разрешение по времени (сверху вниз, каждая строка - информация о таймингах на128512 поворотов доменов). Если для каждого куска использовать свои пороги - в принципе даже что-то можно вытащить (конечно, не того участка который почти в самом начале - там дохлый номер). Но если первым этапом сканировать нулевую дорожку, и использовать усредненные тайминги для прочитки всего диска...
Идея какая... Перед началом прочитки диска вытаскивать эту вот статистику (скрыто, или может быть показывать как-то по-минималке), и руководствуясь данными из неё, читать весь диск. За один первый заход.
И если в первом заходе были ошибки CRC, делать второй заход, в ходе которого идти только по дорожкам с плохим CRC, и предварительно вытягивать эту статистику для каждой дорожки, чтобы выставлять адекватные пороги даже для каждого отдельного его фрагмента.
Но если такую логику применить к этому диску - на первой же дорожке фейл. Т.е. усредненное будет мусорным, прочитать ничего не сможет с константным значением, взятым из этой кривой нулевой дороги.
И тут ведь как повезёт - первая дорога может быть отличной, а следующие все с другими, кривыми таймингами. В таком случае он будет впустую шлёпать до конца с относительно быстрой скоростью... просто потом ещё разок будет читать, но в 2 раза медленнее, по фактически всем дорожкам.
Как быть? Не хотелось бы городить лишние параметры. Учитывая, что заранее ведь человеку неизвестно насколько там всё плохо...
Даже брать пару дорожек, и усреднять их может не помочь...
Вот так будет выглядеть утрамбованная в 4 раза "картинка":
Выводить на второй стадии для каждой дорожки, на которой были ошибки CRC, такое вот ASCII'шное "художество"?Код:%%#, ,X%X- .,-,.. x#%%+ . ,+###+ . .,... . . .--++#XXxxxxx##xxxxxxxxxxxxxxxx+++x++-++--,,,,,-,,..-,,,,. .,.--#%xxx#x#xxx-------,---.,,-,--,,,,--.,.------,.., . .. %%#x,, .+###,. ,..., %%#x. .xx#x. +%%-. -+x+. ..,., +%%x -X#+. .-,. ,%%# -#x#+ .,.. %%% +xx+ .X%% ,x#x. .,,. .%%% .x#x#+ -.. ,%%% +XXXx, .x##X%x -+x####X#X%Xx, ,X##%# x#XX#x#%%X, %%. -X%%%- ,%% #%%%#. +%# ,%%%x %% %%%. .%X #%%# x%+ #%%%. %%. x%%%- -%x %%%+ . #%x +#%%X, .
~20 строки на дорожку DD диска, соответственно ~40 для HD (которые PCшные, 1.2/1.44). В принципе, для HDшных можно ужимать в 8 раз, чтобы не засирать экран ими.
Символы для отображения плотности сделал пока .,-+x#X% - можете предложить свои варианты.
Есть вариант объединить 1й и 2й проход. Т.е.:
0. Сканировать 0ю дорогу, взять из нее усредненные тайминги.
1. Читать дорогу с усредненными таймингами (с предыдущего шага).
2. Если были ошибки - сканировать тайминги, и повторно перечитывать дорогу с подробными таймингами. Взять из них же усреднённые, "на будущее".
3. Следующая дорога, шаг №1
Таким образом усреднённые тайминги будут перестраиваться по ходу чтения в случае сбоев, и использоваться для следующих дорожек.
Последний раз редактировалось Dexus; 12.08.2020 в 12:18.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)