User Tag List

Показано с 1 по 10 из 37

Тема: Arduino Floppy Dump utility

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,086
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Один и тот же фрагмент статистики, взятой разными способами (это диск isdos, приличная часть секторов которого не читается):
    Код:
    Общий                   -X#,        .xxxx,         .xx          
                            -%x          x+.#-          -x+         
                            -Xx         .x+-#.          -#.         
                            +Xx         ,#--x-          -x,         
                           xx-#xx.      .xxxx,        -x+.          
                          +x, ,xxx+,  ,+++  +++    .+x+-            
                         -#.   ..xxx++x-..    x+  -#,        .      
                          #-    xx   x#-      xx-#,                 
             .      .    .X+,#-.++...+x,.  ..,x..+-.,.      .  ..   
                          xx .  +x+x-,xx.   -xx   .xx,              
                           x+  +##+    ,xx +x-      ,x+             
                           +#  xx#.     ,#-#+        -x-            
                           .#,+#x+       +#x.         +x,           
                            +##x        ,xxxx,         -x+          
                            ,X#.        xx .xx          -#.         
                            .X#,        xx..xx          xx.         
                            +##x        .xxxx          -x-          
                            #-x#x        .#x           #+           
    us------2-------3-------4-------5-------6-------7-------8-------9
    Четный                  ,##-         xx                         
                            -#x          #+                         
                            .#x          x+                         
                            +#x         ,#-                         
                             -#xx.        -+x.                      
                              ,xxx+-        +x+                     
                               ..xxx+.  .    .#+             .      
                                xx            xx-#,                 
             .              .#-,+-.,      ...,x,.+-.        .  ..   
                             .  +x+x-       ,xx                     
                               +xx+.       +x-                      
                               xx#.       .#+                       
                              +#x+       .xx.                       
                             x#x.       ,x+.                        
                            .##.        xx.                         
                            ,##.        +x.                         
                             +#x.       .xx.                        
                             .x#x        ,x+                        
    us------2-------3-------4-------5-------6-------7-------8-------9
    Нечетный                -#.           .+x,         ,xx.         
                            .#,            ,#-          ,x+         
                            -#             -#.          -#          
                            -#,            -x+          ,#,         
                           xx.          .x++          -x+,          
                          +x,         ,+++          +x+,            
                         ,#.        .+x-.         -#-               
                          #-         x#-                            
                    .   .,X+.        +x,.           ,.              
                          xx         -x+,         .xx,              
                           xx          ,x+          ,xx             
                           +#           -#-          -#,            
                           .#.           +x-          xx,           
                            +x.           .xx.         -x+          
                             #,             xx          -#          
                             #.            .x+          xx.         
                            +x            .xx.         -x-          
                            #-            xx          .x+           
    us------2-------3-------4-------5-------6-------7-------8-------9
    Чётный/нечётный берутся на "как повезет", т.е. нет 100% гарантии что загрузится именно чётный а не нечётный, и в ~20% случаев чётный равен нечётному. По факту-то, конечно, это не так (не равны), но в силу неидеальных таймингов электроники дисковода, пропуск одного магнитного импульса после появления индекса не помогает.

    В общем, сейчас дошел до такого алгоритма (в случае ошибки чтения дорожки в быстром режиме):

    1. Загрузить ОБЩУЮ статистику
    2. Загрузить статистику через один импульс (как повезет - 80% нечётную и 20% чётную)
    3. Вычислить разницу между общей и половиной и проанализировать:
    А) Половины почти совпадают (отклонения несущественные) - значит перемагниченности нет (эту характеристику, кстати, неплохо было бы выводить в инфо о треке).
    Б) Половины заметно не совпадают - значит дорожки имеют перемагниченность. В таком случае необходимо вычислить кривую для компенсации перемагниченности (№1), с учётом того, что в разности будет выпирть чётный.
    4. Усреднить общие-нечётные, и составить кривую пороговых значений, компенсирующую плавающую скорость (№2). Также вывести величину неравномерности скорости.
    5. Читать дорожку в режиме "особый", с кривыми скорости и перемагниченности. В 80% случаев она будет прочитана как надо, и в 20% случаев компенсация перемагниченности усугубит картину. За несколько попыток всё должно будет прочитаться (1-80% 2-96% 3-99.2% 4-99.84% 5-99.97%).

    Но если и в этом случае будут проблемы, необходимо дампить "сырые" данные таймингов, и делать что-то с ними. Хотя скорее всего это будет означать что там плавающие биты, либо дорога местами физически провреждена, либо размагнитилась (когда граница между + и - размывается до исчезновения). Ну, в этой ситуации... мы... просто наша, эта самая... мы уже здесь наши полномочия всё, окончены.

    ЗЫ: Процедуру особого чтения уже сделал, перед чтением дорожки нужно загрузить массив порогов и четно-нечетных отклонений. По 3 байта на каждый "чанк" (который равен 128 байтам, т.е. 512 MFM импульсам). По сути остается всю эту алгоритмику, анализ статистики и вычисления графиков в питоне запрограммировать.
    Последний раз редактировалось Dexus; 12.08.2020 в 13:37. Причина: более веселый пример

    Этот пользователь поблагодарил Dexus за это полезное сообщение:

    SoftLight(12.08.2020)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Arduino Floppy Disk Reader
    от SoftLight в разделе Внешние накопители
    Ответов: 44
    Последнее: 05.08.2020, 01:06
  2. HCDisk 2.0 - PC disk utility.
    от Djoni в разделе Утилиты
    Ответов: 3
    Последнее: 17.09.2016, 00:37
  3. TZX/TAP utility for iPhone: Speccy Tape
    от Poopi в разделе Утилиты
    Ответов: 13
    Последнее: 02.07.2015, 08:13
  4. Data Glue Utility
    от dM_GBG в разделе Софт
    Ответов: 8
    Последнее: 22.11.2011, 12:40

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •