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)

    По умолчанию

    Есть некоторые затруднения с анализом статистики
    Такой пример:
    Код:
    us------2-------3-------4-------5-------6-------7-------8-------9
                         x#,  xx+..   -#x.   .,+x+.   .,,    .....  
                         +#x .+x++,   ,+x,   +x+-.    ,++.  .--,,   
                         #x, .x+x,.   .x#,   .-xx,     .,     ...   
                        .x#, .xxx..   ,#x    .,xx-    ,,.   ...,.   
                         x#- .#x--.   .+x.   ,-++.     ,-   ..,,,   
                 .       ##. .#++    .,x+. .  +-+,      .           
                   .     +#+.,x+x+.   .xx, ..-+++.    .--.  .---,.  
                         xx,  x+x-    -#x-   .+xx+.    ...   ....   
                         x#, .xx-.    ,#x,   .-+#-     .,.    ..,   
                         +xx.,++x+,   ,+x-. .+++-.    ,++,  ,-+--   
                         +#, .xx-.  . +#x,   .-x+x,    ..    ....   
                         +#+ ,xx-,    .x#-.  ,-xx.      .   ..,,..  
                     .   +#+ +x+x,   . xx-, .-x+x-      .,   . .
    Тут - обычный MFM. Должно быть 3 полоски. но их тут 6. Это и есть то самое перемагничивание. Четные импульсы удлиняются, нечётные укорачиваются
    Происходит вот такое:
    Код:
    -------\               /------\
            \             /        \
    +++++++++\-----------/++++++++++\------
              \         /            \
               \_______/              \____
    
    -----\                   /--\
          \                 /    \
    +++++++\---------------/++++++\--------
            \             /        \
             \           /          \      
              \         /            \
               \_______/              \____
    Соответственно, выделять первые три (две) полоски для разметки таймингов для таких вот дисков - нельзя. Тут надо делить на четные и нечетные. Проблема в том что есть плавающая скорость, а есть плавающая перемагниченность, и их нужно обрабатывать соответствующе. Поскольку изменение скорости влияет на 1.5х и 2х длительности как множитель, а перемагничивание влияет как суммирование. Если это просто скорость - тут проблем нет. Можно за счет динамического изменения пороговых значений, которые перед чтением впихнуть в ардуину перед чтением MFM потока.

    Но для каждой такой "перемагниченной" дорожки нужно несколько раз считывать статистику четных и нечетных (несколько - потому что нет никакой гарантии, что чтение начнется с четной или не четной - импульсы одинаково кодируются). Потом находить траекторию по каждому потоку - четному и нечетному, если они совпадают - значит перемагничивания нет, и можно читать без четного/нечетного, если расходятся - значит есть перемагниченность, и тогда нужна ОТДЕЛЬНАЯ процедура чтения, в которую нужно впихивать два массива для компенсации внутридорожной динамики - помимо пороговых значений, еще и отклонения для четных-нечетных импульсов. А потом читать дорогу, возможно несколько раз, поскольку также нет никакой гарантии, что четные попадут на четные.

    Сразу понять что в дороге есть эта перемагниченность в принципе можно - статистика для них будет не из трёх бугров состоять а как минимум четырёх. Но это не обязательно - если там плавает скорость (как в примере из поста №3), то количество бугров вообще ничего не значит - там они все дико размыты:
    Код:
                .  ...  ..  :::      .                              
                ::::::::::.:::::..::::                              
                :::::::::::::::::::::::.                            
               ::::::::::::::::::::::::::                           
               ::::::::::::::::::::::::::.                          
               ::::::::::::::::::::::::::::.:.::    ..  . .::..     
              ::::::::::::::::::::::::::::::::::.::.:::.:.::::::.:::
      : :: :  ::::::::::::::::::::::::::::::::::::::::::::::::::::::
    us------2-------3-------4-------5-------6-------7-------8-------9
    В случае плавающих скоростей - нечетких бугров, необходим такой вот многократный сбор статистики, чтобы при чтении компенсировать все эти плавающие штуки (если они там имеются). Достоверно и быстро задетектить треки с перемагниченностью не так-то просто, если они маскируются плавающей скоростью. Поэтому придется раз по 10 читать дорожку чтобы все тайминги вытащить с вероятностю в 95%. Ведь возможно что так не повезет, и перемагниченный трек будет 10 раз подряд прочитан по четным импульсам вне зависимости от пропуска одного импульса, и тогда утилита не увидит разницы между четными и нечетными, подумает что это просто скорость плавает. И трек все равно не прочитается.
    Последний раз редактировалось Dexus; 11.08.2020 в 00:50.

  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

Ваши права

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