Важная информация

User Tag List

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

Тема: Протокол управления флоппи приводом

  1. #1
    Activist Аватар для Asd1995sse
    Регистрация
    11.05.2010
    Адрес
    Курск
    Сообщений
    351
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Протокол управления флоппи приводом

    Доброго времени суток. Задумал я некое устройство, которое будет полноценно работать с флоппи приводами. Планируется работа с любыми форматами дискет, до которых доберутся мои руки.
    В данный момент пишется аппаратный драйвер ну и по факту сделано все самое простое:
    - Переход к 0 дорожке
    - Переход к нужной дорожке
    - Управление мотором
    - Детект наличия дискеты / открытия шторки
    Но тут подкралось самое интересное, это чтение и запись.
    В чем вопрос же. Как я понял у нас применяется MFM кодирование, но оно идет на всех дискетах или нет? По информации с кучи сайтов и как обычно с вики, информация расходится. Самое интересное, что у нас есть только индекс начала дорожки, но нет никакого строб сигнала, а значит как я понял придется создавать буфер неизвестного объема, чтобы в него получить сырые данные и при этом делать расчет, исходя из оборотов диска(я уже предвкушаю, что там будет некая коррекция т.к. у нас обороты 300-360). Что меня конкретно интересует в большей степени так это литература по данному вопросу. Заранее благодарю всех за помощь!
    Я Женекк, он же Asd1995sse, он же World of Minmax, он же Жека.

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

  3. #2
    Guru
    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,162
    Спасибо Благодарностей отдано 
    230
    Спасибо Благодарностей получено 
    262
    Поблагодарили
    190 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хочется именно свой велосипед?
    Или чем-то не устраивает масса существующих?

    >Как я понял у нас применяется MFM кодирование
    У Вас - это у кого?

    > что у нас есть только индекс начала дорожки, но нет никакого строб сигнала
    Понял, вопросы снимаю ;-)

  4. #3
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,133
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Asd1995sse Посмотреть сообщение
    нет никакого строб сигнала
    Посоветую ознакомится с платой КНГМД от ДВК ( контроллер ФМ ) :
    https://www.emuverse.ru/wiki/%D0%94%D0%92%D0%9A
    Особенно с его ТО
    Далее - с устройством БМК контроллера МФМ КР1801ВП1-128 :
    https://forum.pk-fpga.ru/viewtopic.php?f=43&t=5482 ( потребуется очень старый браузер, т.к. сертификат просрочен ).
    Так же полезным будет ознакомится с принципом декодирования потока в 1818ВГ93.

    Т.е. по сути обмен данными идет программно-аппаратно. Для типового чтения в ВП1-128 нет необходимости в сигнале "Индекс". Сигнал "Индекс" нужен в основном только для форматирования.
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]

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

    Asd1995sse (11.11.2023)

  6. #4
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Непонятно, чего вы хотите от этого "устройства". Я бы для себя сформулировал, какие функции оно будет выполнять.

    В чем вопрос же. Как я понял у нас применяется MFM кодирование, но оно идет на всех дискетах или нет?
    FM - устаревший тип, если планируете его реализовывать, то советую это делать после MFM - он гораздо более актуален.

    как я понял придется создавать буфер неизвестного объема, чтобы в него получить сырые данные и при этом делать расчет, исходя из оборотов диска
    Про емкости https://ru.wikipedia.org/wiki/%D0%94...B5%D1%82%D0%B0
    У MFM в два раза больше, чем форматная емкость

    (я уже предвкушаю, что там будет некая коррекция т.к. у нас обороты 300-360).
    Обороты влияют не столько на емкость, сколько на скорость обмена.

    Что меня конкретно интересует в большей степени так это литература по данному вопросу. Заранее благодарю всех за помощь!
    Даташиты на дисководы TEAC http://www.bitsavers.org/pdf/teac/
    Даташиты на контроллеры WD http://www.bitsavers.org/components/westernDigital/
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

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

    Asd1995sse (11.11.2023)

  8. #5
    Master
    Регистрация
    12.04.2009
    Адрес
    Одесса
    Сообщений
    617
    Спасибо Благодарностей отдано 
    311
    Спасибо Благодарностей получено 
    82
    Поблагодарили
    60 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    т.к. у нас тут тема лёгкого чтения о сложных вопросах, подскажите, а как и может чем распарсить данные трека дискеты читая его с заду-наперёд, когда поток с носителя будет идти с обратного направления. Допустим вот пусть когда диск станет вращаться в противоположную сторону.
    Основная задача - как-то вычитать все контрольные суммы на треке. если по обычному считывать, то КС за сбойным сектором так же страдает и толку от неё никакого, а вот если бы её цапнуть со другой стороны с которой ещё нет сбоя синхронизации?
    и тогда останется просто брутфорсом перебрать до совпадения КС, обычно со второй половины, данные с битого сектора.
    Последний раз редактировалось anasana; 10.11.2023 в 12:56.

  9. #6
    Guru
    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,162
    Спасибо Благодарностей отдано 
    230
    Спасибо Благодарностей получено 
    262
    Поблагодарили
    190 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Таки перевервнуть диск? Правда будет сдвиг по дорожкам.

    У меня написана приблуда, которая позволяет видет на экране (hex и данные) битовый поток. И его можно двигать побитно влево и вправо. Причем цветом подсвечивает сбой синхронизации (для FM или MFM, не для других). То есть если где-то потерялся битик - можно и увидеть где и данные содрать.

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

    anasana (10.11.2023)

  11. #7
    Activist Аватар для Asd1995sse
    Регистрация
    11.05.2010
    Адрес
    Курск
    Сообщений
    351
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dk_spb Посмотреть сообщение
    >Как я понял у нас применяется MFM кодирование
    У Вас - это у кого?
    Понял, вопросы снимаю ;-)
    Не совсем корректно выразился, я имел ввиду какой тип кодирования используется при записи/чтения, но мне уже ниже подсказали.
    Масса существующих не устраивает по нескольким причинам:
    Во первых не везде есть низкоуровневый доступ к железу, а там где есть такой функционал, скорей всего работать на современных ОС либо не будет, либо работать будет через костыли.
    Во вторых это вытекает из первого пункта - не хочу иметь дома тупо комп, для работы с дискетами. Хоть это и не существенно, хочу спокойно работать на своем пк и при этом не пользоваться удаленным рабочим столом для того, чтобы в очередной раз снять образ с дискеты, на которой есть файлы, представляющие собой историческую ценность.
    Ну и последний пункт, просто мне это интересно, вот и решил попробовать.

    - - - Добавлено - - -

    Цитата Сообщение от IanPo Посмотреть сообщение
    Непонятно, чего вы хотите от этого "устройства". Я бы для себя сформулировал, какие функции оно будет выполнять.


    FM - устаревший тип, если планируете его реализовывать, то советую это делать после MFM - он гораздо более актуален.


    Про емкости https://ru.wikipedia.org/wiki/%D0%94...B5%D1%82%D0%B0
    У MFM в два раза больше, чем форматная емкость


    Обороты влияют не столько на емкость, сколько на скорость обмена.


    Даташиты на дисководы TEAC http://www.bitsavers.org/pdf/teac/
    Даташиты на контроллеры WD http://www.bitsavers.org/components/westernDigital/
    Что я хочу от устройства - от части подключил к USB, получил полноценный флоппи привод с низкоуровневым доступом. Но сам драйвер можно будет использовать и автономно, например читалка дискет, которая будет работать без ПК и писать образ сразу на флеш накопитель.
    Про типы я спрашивал для уточнения, что конкретно применяется. Разумеется я буду сначала делать MFM декодер/энкодер.
    Про обороты я имел ввиду, что сам поток данных надо будет правильно "захватить" в массив. Ведь я не могу просто так взять и записать в переменную поток, мне надо будет исходя из скорости вращения диска рассчитать примерное время одного бита данных, чтобы например если будет идти последовательно 11 или 00 у нас не возникало проблем. В общем тактирование будет весьма интересным, а еще по любому делать ФАПЧу.
    Я Женекк, он же Asd1995sse, он же World of Minmax, он же Жека.

  12. #8
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Достаточно записывать 1 трек 1 стороны в массив, потом менять сторону и трек. Такое МК с памятью 64КБ + USB могут вполне. А скорости usb более чем достаточно даже для передачи на ходу. У дисководов скорость обмена до 500 Кбит/с (HD).
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

  13. #9
    Guru Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,692
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    30 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть проект, схожий, как вы хотите, но для чтения записи амижных дискет под виндой для arduino. Думаю можно покопаться и понять как происходит управление там.

    Здесь про само исследование — https://amiga.robsmithdev.co.uk/history

    Здесь про сборку проекта — https://amiga.robsmithdev.co.uk/instructions

    ну и сами сырки можно глянуть — https://github.com/RobSmithDev/ArduinoFloppyDiskReader
    (๑•̀ㅂ•́)و✧ Doors UI → https://t.me/doorsui | https://t.me/atari_xl_xe ← Atari XL/XE (●´ω`●)ゞ

  14. #10
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Asd1995sse Посмотреть сообщение
    Что меня конкретно интересует в большей степени так это литература по данному вопросу
    Вот тут человек все сделал и для FM, и для MFM: https://github.com/keirf/greaseweazle
    Если все-таки хочется сделать свое, то можно использовать эти исходники как документацию
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

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

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

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

Похожие темы

  1. Протокол PS/2
    от CityAceE в разделе Разработка электроники
    Ответов: 84
    Последнее: 03.11.2023, 14:46
  2. Протокол HX - имитация блочного устройства с последовательным интерфейсом.
    от Patron в разделе Эмуляторы отечественных компьютеров
    Ответов: 287
    Последнее: 25.07.2023, 09:38
  3. Порт управления ПЗУ
    от skyther в разделе Память
    Ответов: 5
    Последнее: 23.04.2007, 19:09

Ваши права

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