vak: (Default)
[personal profile] vak
Хотите посмотреть, как выглядят данные на флопике "на самом деле", до того, как контроллер их декодирует и превратит в привычные нолики и единички? Скачивайте файл scp-waveform.vcd.gz и рассматривайте его программой gtkwave. Я сгенерировал этот файл из образа флопика, считанного через SuperCard Pro.

Вот как это выглядит (кликайте).



Полный файл занимает 131 мегабайт (запись 200 миллисекунд). Я сократил его для наглядности до 1 миллисекунды. Здесь 164 дорожки: 80*2 основных и 2*2 дополнительных, которые обычно не используются. Каждая дорожка прочитана два раза (rev1 и rev2). Можно видеть, что копии очень похожи, слегка сдвинуты и иногда инвертированы. Кодирование MFM нечувствительно к смене полярности. Дорожки до 159 содержат реальные данные, а 160 и дальше - мусор. Можно видеть разницу.

Чтобы выделить данные из этого сигнала, надо пропустить его через виртуальный блок ФАПЧ, который отыщет границы битов. Затем декодировать поток MFM, определяя метки секторов по нарушениям кодирования. Отсюда будут понятны границы байтов и блоков.

Date: 2018-02-10 09:06 (UTC)
From: [personal profile] 1801bm1
250kbps :), очень вероятно что MFM (есть полуторные интервалы) и похоже проинтегрировано, потому что с дисковода идут короткие импульсы. Но их было бы хуже видно, поэтому вероятно сделали так. На крайних дорожках мусор, пустые. Хорошая вещь, может пригодится при юстировании дисководов.

Date: 2018-02-11 12:53 (UTC)
From: [personal profile] 1801bm1
От контроллера зависит, флопику все же равно, он просто импульсы при смене вектора намагниченности генерит и все. Я скоро МХ от ДВК буду запускать и делать FPGA-реплику, вот там FM. Тем более, у меня кучка дискет этого формата осталась, надо бы прочесть :)

Date: 2018-02-10 18:21 (UTC)
From: [personal profile] ivanrubilo
А обратно она такое тоже запишет на диск, ведь?
Интересно как быть если нужно специфическое число оборотов. Она умеет каким-то образом крутить диск на разных rpm?

Date: 2018-02-10 20:05 (UTC)
From: [personal profile] ivanrubilo
Я что-то замечтался типа а вдруг можно обойтись одним 3.5" и одним 5.25" дисководами для всего на свете :)
Типа вдруг она такая быстрая что может крутить на одной скорости, а от index hole высчитывать угловую скорость и там как-то писать быстрее-медленнее чтоли...
Edited Date: 2018-02-10 20:11 (UTC)

Date: 2018-02-11 06:20 (UTC)
dluciv: (Default)
From: [personal profile] dluciv
В 2015 почти восстановил данные с десятка дискет, валявшихся по разным углам, при помощи dd_rescue. Хорошая штука — позволяет на нескольких дисководах долго мучить дискету, пока не прочитает почти всё. У одной дискеты было бэдов около 100 КиБ на первом проходе, а в итоге тремя дисководами прочиталось всё, кроме двух КиБ. Это меня впечатлило, хотя в итоге я так и не нашёл на них того, что надеялся найти...

А у Вас на картинке не видно, насколько нолики и единички на самом деле кривые. Из дисковода аналоговое значение никак не вынимается, или они и впрямь такие ровненькие?

Edited Date: 2018-02-11 06:33 (UTC)