PDA

Просмотр полной версии : Greaseweazle - бюджетный USB контролер для чтения/записи образов флопов



Dexus
04.11.2019, 19:32
Автор FlashFloppy, очевидно хороший специалист по STM32, с кучей наработок в этом, буквально пару недель назад зарелизил первую версию читалки/писалки на STM32F103 blue pill. Вообще хаб про сабж появился в марте 2018, но с тех пор имел только один текстовик с набросками фич и пинов “синей пилюли”. Реально версия 0.1 только 17 октября 2019 была выложена (на текущий момент уже 0.3). То есть развивается достаточно стремительно.

https://github.com/keirf/Greaseweazle/wiki/assets/dupont.jpg

https://github.com/keirf/Greaseweazle/

Хостовый софт написан на python, работает на windows (через драйвер zagdig), linux, macos. На данный момент работает только с образами в формте .SCP (SuperCard Pro), для дальнейшей работы с ними с помощью софта HxC. Пока все достаточно сыро и сухо, но лиха беда начала.

Автор еще одной разработки — FluxEngine (http://cowlark.com/fluxengine/index.html) David Given проявил желание (https://github.com/keirf/Greaseweazle/issues/3) использовать данный hw+firmware для своего проекта (т.к. blue pill в 10 раз дешевле чем используемый им Cypress PSoC5LP).

Так что по всей видимости даже намечается некое сотрудничество (https://github.com/davidgiven/fluxengine/issues/5#issuecomment-549370098) и неплохое развитие данной темы. Kryoflux может остаться не у дел.


========
При установке python под виндой могут возникнуть проблемы. А именно - отсутствие утилиты pip в комплекте (pip3 install crcmod pyserial не отрабатывают).
Необходимо скачать и запустить https://bootstrap.pypa.io/get-pip.py из папки python.

SoftLight
05.11.2019, 01:04
Крутая тема! Нашел пилюлю, зашил, питон поставил. Завтра добуду дисковод и все протещу )
Зная автора у меня нет сомнений в результате.

Dexus
05.11.2019, 02:40
Питон-скрипт это не то, на чем хотелось бы останавливаться. В идеале - нормальное приложение в духе kryoflux. Конечно, есть HxC, но он позволяет только просматривать и конвертировать. Что-то тюнить, подправлять, и перечитывать в нем невозможно. Если не мультиплатформенная Qt'шная утилита как sigrok появится, но что-то подобное должно уж точно.
Помимо софта HxC на текущий момент я нашёл:
Aufit (для Атари) - https://info-coach.fr/atari/software/pc-projects/Aufit.php
{Неплох, умеет распознавать защиты (разработчик - автор того самого документа (http://info-coach.fr/atari/documents/_mydoc/Atari-Copy-Protection-v1.3.pdf) по методам защиты на Атари. Но софт работает только с DD дисками. HD не понимает, к сожалению. И видимо только атаришные диски. Но сами возможности софта - замечательны. Был бы еще мультисистемный и мультискоростной...}
FloppyControl - http://www.makercentral.net/pages/posts/introducing-floppycontrolapp-5.php
{Какой-то весьма странный и кривой софт. Разобраться не получилось.}
Утилита от FluxEngine максимум умеет сохранять визуализацию секторов на круглом диске. Не густо.

Сам пока тоже не пробовал - пока мой сетап находится в ардуиновой конфигурации.

dk_spb
05.11.2019, 09:03
Утилита от FluxEngine максимум умеет сохранять визуализацию секторов на круглом диске. Не густо.
Да ладно, она умеет делать посекторный образ диска с кучи форматов. В том числе от ДВКшного MX.
В том числе, при необходимости, с анализом и ручной подстройкой ФАПЧ

Dexus
05.11.2019, 11:04
Да ладно, она умеет делать посекторный образ диска с кучи форматов.
В том числе от ДВКшного MX.
Если бы она не умела и конвертировать, толку бы от нее было ноль.

В том числе, при необходимости, с анализом и ручной подстройкой ФАПЧ
Эмм? Единственные ручные параметры командной строки там - это диапазон дорожек и количество сторон. Ни про какую ручную подстройку не сказано ни слова. Даже количества попыток нет, и статистического усреднения. http://cowlark.com/fluxengine/doc/disk-mx.html — может что-то путаешь?
Функционал показа статистики в текстовом консольном режиме, отсутствие вариабельности скорости (с нормализацией). Но даже с этим куцым набором он конечно умеет больше чем текущий хост под greaseweazle. Но ему то всего 3 недели от роду. Плюс, все-таки, нужен графический интерфейс для анализа и более широких возможностей восстановления содержимого дисков.

dk_spb
05.11.2019, 13:39
Единственные ручные параметры командной строки там - это диапазон дорожек и количество сторон
--manual-clock-rate-us
мне как раз помогала с mx
Но я исходники подправлял, может в оригинальных этого и нет.

>нужен графический интерфейс
Это кому как, мне ехать, обойдусь без шашечек. Тем более если GUI будет из серии как у Kryoflux'а - то нафиг такой GUI.
Но опять же, это кому как.

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

Да, и про CLI для kryoflux - это полное убожество в плане юзабилити. Понятно почему народ даже такому GUI на java несказанно рад.

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


хост под greaseweazle. Но ему то всего 3 недели от роду.
У меня после распаковки (некоторое время назад, точнее не скажу) Greaseweazle-master полученные файлы датированы 23 марта 2018. Может я неправ, но на 3 недели от роду как-то не тянет.....
А, ну да, у меня VER = v0.0.1a

В общем я никоим образом не умаляю заслуг Mr. Fraser.
Но если fluxengine - это уже некоторый более-менее готовый продукт, то про greaseweazle я сказать такого не могу.
Если у greaseweazle будет развитие и будет что-то удобное - я буду только рад. Но совсем не из-за цены вопроса. Железо для fluxengine стоит на али $21 с доставкой в РФ (или $10 на сайте Cypress). На мой взгляд это уже не те суммы, когда цена на что-то влияет

И да, оцените подгон распиновки платки под IDC34. Мелочь, а приятно.

Dexus
05.11.2019, 14:03
Но я исходники подправлял, может в оригинальных этого и нет.
Там есть, совсем немного. Равномерную скорость попробовать распарсить - можно. Плавающую (где пики пересекаются) - нет.

Тем более если GUI будет из серии как у Kryoflux'а - то нафиг такой GUI.
Он фактически находится на уровне HxC, только визуализация потока чуть более удобная. Я согласен, что он не особо. Нужен лучше.

У меня после распаковки (некоторое время назад, точнее не скажу) Greaseweazle-master полученные файлы датированы 23 марта 2018. Может я неправ, но на 3 недели от роду как-то не тянет.....
А, ну да, у меня VER = v0.0.1a
Там ни инструкций, ни описания толком не было. Заготовка, на которую даже внимания никто не обращал (потому что даже нигде там не было указано что это для bluepill). Полтора года валялся на чердаке, прежде чем попал всем на глаза после прыжка в версию 0.1.

dk_spb
05.11.2019, 14:28
>Полтора года валялся на чердаке, прежде чем попал всем на глаза после прыжка в версию 0.1.
Ну будем надеется что теперь быстрее пойдёт. А ни на полку еще на полтора года.

И еще, я правильно понял что Greaseweazle не делает анализа формата на лету? То есть сначала делаем файл - flux образ диска, а уже потом работаем с этим файлом?
Если это так - то, imho, это крайне плохо. Потому что при анализе на лету при понимании что считалось не так - мы можем перечитать. На практике иногда получается так что с первой попытки прочитали все сектора, кроме 4-8, со второй - все кроме 2-6, а с третьей - только 3-6. И сразу все это собрали в готовый образ трека. При этом это один запуск программы-читалки.
А что там считалось во flux-образ - непонятно. Задним числом узнать что там 60% мусор - обломно

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

В общем пока разработка нашего швейцарского друга в плане удобства использования и удобства доработок - вне конкуренции.
Я даже делал на встроенном FPGA генератор сигнала index, который через свободный пин выводил в дисковод для имитации работы датчика index (для чтения "перевёрнутых" apple II дискет). На дисководе отрезал датчик индекса и ставил "перемычку" (см фото).70593

SoftLight
05.11.2019, 15:33
Вышла версия 0.4

Release Notes:


Blinky: Diagnostic test firmware to detect fake STM32 chips
https://github.com/keirf/Greaseweazle/wiki/STM32-Fakes
Floppy Write: Fix for very short flux timings
Floppy Read: Fix for very long flux timings
USB: Small improvement to double-buffer logic

Dexus
05.11.2019, 15:40
И еще, я правильно понял что Greaseweazle не делает анализа формата на лету? То есть сначала делаем файл - flux образ диска, а уже потом работаем с этим файлом?
Да. Он просто сохраняет поток в .SCP файл. Единственное что там можно указать - количество оборотов (ключ --revs, максимум 5).


Если это так - то, imho, это крайне плохо.
Это не "крайне плохо". Это просто текущее, начальное положение вещей. Вот как раз запись нескольких оборотов, которая поддерживается в SCP, и возволит проанализировать и реконструировать слабые места. При должном ГРАФИЧЕСКОМ софте (а этой частью сабж уже не занимается - это отдано на откуп HxC и всяких других утилит, работающих с SCP).

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

Без визуализации непонятно что там вообще происходит. А та в кавычках "визуализация" в FluxEngine вообще никакущая.


А что там считалось во flux-образ - непонятно. Задним числом узнать что там 60% мусор - обломно
Задним числом оно и не должно происходить. Цепочка предполагается такая - 1. Чтение в SCP образ, 2. Использование SCP анализаторов, распознавание структуры диска, сохранение образов конкретных систем. Если не удалось сразу - goto 1.
Вот в идеале оно должно в одном месте делаться. Интерактивно.

shurik-ua
05.11.2019, 16:12
и как они 3.3В девайсом рулят 5В устройство - там же 155ЛН2 гдето должна стоять - или эти ваши СТМ настолько суровые что уделывают 155ЛН2 по току ?)

HardWareMan
05.11.2019, 17:11
shurik-ua, вот максималки для STM32F40x (как пример):
https://jpegshare.net/images/9b/be/9bbe64eb6474bbbbedafb679a371ecf9.png
155ЛН2 в Шило посмотрел и не понятно:
https://jpegshare.net/images/28/af/28af6da55c4217383d1d301d8ed2218e.png
Опять же, выводы STMки есть толерантные к 5в, а настроенные в режиме OD (типа ОК только полевой) то, что нужно. Учитывая, что никто не собирается подключать на метровый кабель, как в реальном компе - уверен подцепят прямо на пины как адаптеры IDE/SATA на HDD.

dk_spb
05.11.2019, 17:51
Да. Он просто сохраняет поток в .SCP файл.
...
Без визуализации непонятно что там вообще происходит. А та в кавычках "визуализация" в FluxEngine вообще никакущая.
...
Задним числом оно и не должно происходить.
Не вижу смысла вообще сравнивать хоть как-то работающий проект fluxengine (а он лучший из всех ныне доступных и работающих) и проект, в котором наметилась первая движуха (с пока близким к нулю результатом) после полутора лет полной тишины.

Dexus
05.11.2019, 19:44
Аналогично, только я не вижу смысла сравнивать хоть и начинающийся проект за 120 с каким-то эзотерическим микроконтроллером за 1500р, который за несколько лет активного развития ни интерфейсом, ни интерактивным режимом и не оброс.
К тому же, с учётом того, что разработчик fluxengine, узнав нюансы, выразил желание адаптировать свой проект к bluepill.

Кстати, проверил - работает.



Reading Track 79.1...14402528 ticks, 76450 samples
14401968 ticks, 76451 samples
14403952 ticks, 76452 samples
Reading Track 80.0...14403112 ticks, 91563 samples
14403672 ticks, 91567 samples
14404240 ticks, 91566 samples
Reading Track 80.1...14402592 ticks, 91533 samples
14403992 ticks, 91539 samples
14403336 ticks, 91541 samples
Reading Track 81.0...14404296 ticks, 34600 samples
14402512 ticks, 35032 samples
14404520 ticks, 35008 samples
Reading Track 81.1...14402464 ticks, 37099 samples
14403192 ticks, 37106 samples
14403376 ticks, 37097 samples

Образ 1.44Mb диска в .SCP формате занял 71 мегабайта. И это, ИМХО - чересчур. 100 дисков сдампил - и разбирай потом. Утилита должна уметь производить какой-то анализ, подсказывать какой там формат, есть ли у этого формата какая-то защита, и предлагать сохранить в наиболее подходящем (бОльшая часть всех дисков никакой защиты не имеет, и в такой чудесной 25нс точности не нуждается).

Кстати, обнаружил, что Track Analyser от HxCFloppyEmulator зачем-то странным образом дискретизирует все импульсы под гребёнку (т.е. буквально).

dk_spb
05.11.2019, 21:16
смысла сравнивать хоть и начинающийся проект за 120 с каким-то эзотерическим микроконтроллером за 1500р
У каждого свой подход к хобби. Для кого-то контроллер за 1500 - эзотерика, а кто-то не только купил и сравнил и этот за 1500, и SCP за 100+USD, и kryoflux за 100+EUR, но еще и свой собрал, потому что ни SCP, ни kryoflux, ни этот крутой (по дешевизне) за 120 не читают нормально формат MX, не говоря уже об MD. И может выбрать лучший не по отзывам на форуме.
Кто-то считает что stm32F - панацея от всех болезней, а кто-то не выбирает иструмент для работы исключительно по цене.
Как писал Михаил Михайлович "давайте спорить о вкусе устриц!!! ... C теми кто их ел..."
В любом случае, поживём - увидим.


который за несколько лет активного развития ни интерфейсом
Мы же уже вроде выяснили что fluxengine ровно в полтора раза моложе. Но дело Ваше, считайте как Вам нравится...

Dexus
05.11.2019, 23:23
У каждого свой подход к хобби. Для кого-то контроллер за 1500 - эзотерика,
Эзотерика - в плане нераспространённости. Много ли любителей-самоделкиных знают и имеют такие? А атмеги с блюпилами?

но еще и свой собрал, потому что ни SCP, ни kryoflux, ни этот крутой (по дешевизне) за 120 не читают нормально формат MX, не говоря уже об MD.
Штука в том что ты немного путаешь читалку с анализатором/декодировщиком. Никто с дисков "формат MX" не читает. Читается набор импульсов. Формат MX - это уже более высокий уровень, уровень расшифрованного потока.
А сабж - именно читалка. Она создает не особо юзабельный сырой образ, не сильно отличающийся от того что сохраняют всякие лог.анализаторы. А его уже можно сторонними утилитами преобразовывать во всё что они умеют. В том числе и клиентский софт FluxEngine _мог бы_ читать не только с диска, но и с магнитного образа (cwf/scp/flux, которые идентичны диску), и создавать из них посекторные образы дисков систем которые он поддерживает.
Декодировать scp в любой дисковый образ, формат которого известен, намного легче, чем капчурить эти данные с железа. И сейчас появилась очень дешевая возможность создавать эти SCP образы. Фактически дело осталось за софтом.
Софт можно даже сделать в виде "морды", которая когда надо запускает дочерний gw.py с нужными аргументами, в том числе и для того чтобы хоть 30 раз прочитать одну конкретную "мутную" дорожку (SCP формат максимум 5 поддерживает, но никто не запрещает запускать его 6 раз подряд), и потом засасывает получившиеся .SCP образы конкретной дорожки, с которыми потом можно производить статистические манипуляции, и в интерактивном режиме восстанавливать сбойные фрагменты секторов.


Мы же уже вроде выяснили что fluxengine ровно в полтора раза моложе.
Я не знаю чего вы там выяснили (видимо даты "зачатия"), но сабж фактически зарелизен был 17 октября этого года. Прошиваемую фирмварь и инструкцию. До этого момента его никто не знал как проект по bluepill'у, и даже скачивать было нечего кроме набросков исходников.
FluxEngine же с сентября 2018 активно разрабатывается. Фирмварь уже в октябре 2018 была работоспособной и с того момента (уже год), по истории коммитов видно, в основном делался как раз клиент, всякие FM/MFM/GCR декодеры и форматы разных систем. Чувак молодец, никто это и не оспаривает. И на днях он даже признал, что железо выбрал не самое распространённое, и точно не самое выгодное. Но он как минимум полгода делает _исключительно_ вот эти самые декодеры для клиентского софта (на отсутствие которых у greaseweazle ты жалуешься). Софта, который в текстовом режиме пытается выводить ГРАФИКИ... На мой взгляд это не очень подходящий "интерфейс" для подобного набора инструментов. Но с наличием такой дешевой капчурилки образа дисков, теперь можно подтянуть силы и на создание достойного клиента.

И как я уже сказал выше, команде kryoflux'а, скорее всего, уже не очень уютно.

SoftLight
05.11.2019, 23:47
Собрал на соплях, все работает збс.
http://www.picshare.ru/uploads/191105/mXh9b32hyF_thumb.jpg (http://www.picshare.ru/uploads/191105/mXh9b32hyF.jpg) http://www.picshare.ru/uploads/191105/W31u9XnwiW_thumb.jpg (http://www.picshare.ru/uploads/191105/W31u9XnwiW.jpg)

Теперь вопрос. Вот я сграббил фирменный диск Звездного Наследия, получил на выходе 32 меговый файл SCP. Его можно открыть прогой HxCFloppyEmulator и конвертнуть в HFE. Это все очень круто, но как бы мне конвернуть его во что-то более подходящее для эмуляторов типа UDI или FDI? Понятное дело, давнное изобретение интересно именно в контексте защищенных и нестандартных дисков. В TRD HxCFloppyEmulator конвертить умеет но это не тут случай. Ну хоть в TD0.
Попробую SAMdisk Utility, она вроде умеет в FDI.

dk_spb
05.11.2019, 23:51
А его уже можно сторонними утилитами преобразовывать во всё что они умеют.
Я выше писал почему мне такое не надо.
Понимаешь, когда я покупаю дрель, я покупаю дрель. А не электромотор, к которому можно что-то прикрутить.
Кроме удобства есть еще простая практическая вещь: когда дампишь 100 и более дискет нужно сразу понимать получилось или нет. А не потом "сторонними утилитами" выяснить что всё надо пересчитывать.

>А сабж - именно читалка. Она создает не особо юзабельный сырой образ, не сильно отличающийся от того что сохраняют всякие лог.анализаторы
Так я и говорю, пока это моторчик, будет из него дрель и когда - никто не знает.
А fluxengine умеет сразу и "сырой" образ записать, и анализ сделать, и посекторный образ записать. То есть это готовый "юзабельный" инструмент.

>В том числе и клиентский софт FluxEngine _мог бы_ читать не только с диска
Дык в том-то и дело что он умеет читать из своего "сырого" образа. Только практическая польза от того, что какой-то софт (scp, kryoflux, SAMdisk) умеет читать чужой flux образ, как показала моя практика года за три, только одна - можно узнать что образ был считан неправильно/с ошибками. И "порадоваться" этому.
Тот же fluxengine уже давно имеет конвертер в/из SCP.

>FluxEngine же с сентября 2018 активно разрабатывается.
То есть всё-таки арифметику будем обсуждать? ;-)
Ты написал "несколько лет", а по факту сколько с "сентября 2018" прошло?

>но сабж фактически зарелизен был 17 октября этого года
Правильно, потому что версия от марта 2018 года в качестве железа использовала gotek (так следует из некоторых текстов в файлах). То есть была красивая идея:раз уже есть эмулятор флопа - зачем нам еще одно железо. Но на этот проект (версия 0.0.1а) забили, и уже версия 0.1 после 1,5 лет тишины пошла под другое железо. Будет ли дальше хоть что-то развиваться, или версию под blue pill ждет та же участь, что версию 0.0.1а - еще неизвестно.

Да, ты абсолютно прав. Пока новый проект - это даже не проект, а чисто читалка в образ. Для практического применения очень мало пригодная, прямо как в анекдоте про чукчу, купившего электропилу. Да, новый проект строится на железе за $2, а не за $20. Но для меня эта разница уже с лихвой компенсирована тем, что к blue pill надо паять плоский кабель, с очень низкой долговечностью такого соедидения.
То есть, еще раз, круто, теперь есть новый способ получить непроверенный .scp. да, дешевле, но с неудобной пайкой. Да, без бонусов встроенного fpga (как в fluxengine). Да, без GUI, как при наличии платы SCP. Но смысла в этом пока вообще никакого. Ну разве что только "у меня blue pill уже есть, мне надо считать 1,5 дискеты, а потратить на это $20 не охота"

Dexus
06.11.2019, 00:16
Это все очень круто, но как бы мне конвернуть его во что-то более подходящее для эмуляторов типа UDI или FDI?
FDI тут как поможет? Он ничем не отличается от TRD, кроме как возможностью хранить порядок и наличие/отустствие секторов. А так способ конвертации в бесполезный FDI есть - https://www.worldofsam.org/products/samdisk-utility (к сожалению в качестве выходных не поддерживает ни UDI, ни TD0, а только TRD/FDI).
В UDI конвертор мог бы быть. Но нету, ибо формат "эзотерический". Можешь сам сделать. SCP вообще простой. В UDI вроде тоже ничего сложного нет. Возможно, есть какой-то способ сконвертировать scp в td0 (который эмулями часто поддерживается).
Вспомнил, ZX Disk Studio умеет HFE в UDI сохранять.


Тот же fluxengine уже давно имеет конвертер в/из SCP.
Насколько я понял, он умеет только конвертировать между разными raw образами, а конвертация в тот же MX невозможна. Это только при прямом чтении с устройства.


Будет ли дальше хоть что-то развиваться, или версию под blue pill ждет та же участь, что версию 0.0.1а - еще неизвестно.
Это _уже_ пошло в массы. А когда народ подключается, жди и выхлоп. Этот скептицизм имел смысл до релиза 0.1. Сейчас он больше выглядит как хейтерство.


надо паять плоский кабель, с очень низкой долговечностью такого соедидения.
Ы? Обычный что-ли не пойдет? Или dupont wires уже перестали продавать? Как правило у владельцев микроконтроллеров дюпонтов до той матери. Вон выше SoftLight свой показал.

Да, без бонусов встроенного fpga (как в fluxengine).
И какие же там бонусы, от встроенного fpga? то что шлейф можно воткнуть прям в припаянную гребенку? Пфф.. Но вообще, ... мне кажется, что такой кульбит мог бы получиться и с blue pill. На правой стороне сплошные 5V tolerant ножки, единственная B5 торчит не к месту. Но ее тупо можно было бы выпаять, если на то пошло.


Ну разве что только "у меня blue pill уже есть, мне надо считать 1,5 дискеты, а потратить на это $20 не охота"
Да, оно зачастую примерно так и бывает. Единицы имеют огромные коллекции которые окупают покупку дорогих криофлюксов. У большинства же - пару десятков. И адски душит жаба когда хочется "тряхнуть стариной" и вытащить из закромов какие-нибудь старые проекты (как это было у меня).


И для истории зафиксирую тут цитату разработчика FE:

How stable is your USB protocol? Because I'd quite like to assemble one of these and then add support to the FluxEngine client for sampling from a Greaseweazle directly. It'd make a really good alternative to the PSoC5 hardware (and let me do comparative sampling --- I'm having trouble getting good reads from Mac CLV disks and am wondering whether it's a drive limitation or a bug in my sampling code).

dk_spb
06.11.2019, 09:13
>Насколько я понял, он умеет только конвертировать между разными raw образами, а конвертация в тот же MX невозможна.
Ты понял неправильно.
Просто то что ты хочешь делается не конвертацией, а в качестве устройства чтения указывается не устройство, а файл образа.

>Или dupont wires уже перестали продавать?
Да, я уже писал: если надо считать 1,5 дискеты - любые варианты подойдут. А если нужен _инструмент_, тем более для того чтобы куда-то поехать чужие дискеты считать - ту надо без "соплей"

>И какие же там бонусы, от встроенного fpga?
Ты, похоже, чисто писатель. Я же уже писал какие: я например, делал генератор сигнала index и выводил его на дисковод.


Да, оно зачастую примерно так и бывает. Единицы имеют огромные коллекции которые окупают покупку дорогих криофлюксов. У большинства же - пару десятков. И адски душит жаба когда хочется "тряхнуть стариной" и вытащить из закромов какие-нибудь старые проекты (как это было у меня).
Дык я как раз об этом. Тебе не нужен инструмент. Тебе побаловаться и подешевле. А мне нужен инструмент, потому как бывает что кто-то не готов диски не отдать, не продать, и, тем более, не готов пересылать. Едешь и за два дня считываещь два винта и 400 дискет.

>зафиксирую тут цитату разработчика FE
Да, то есть он добавит поддержку еще одной железяки. Для тех кому надо дешево и с "соплями".
А дальше он будет сравнивать. При этом честно ведь пишет что проблема есть, но, возможно, "bug in my sampling code". Я ему помогал от ругательных warning'ов избавляться при компиляции его fpga. Сам он то ли не справился, то ли поленился заморачиваться.
И туда же в копилку цитат автора FE: "The Atmels and STM32s I found were perfectly capable of doing the real-time sampling, using hand-tool assembly, but I very much doubt whether they could do the USB streaming as well (although I want to move away from the Cypress onto something less proprietary and easier to source, so I’d like to be proven wrong here)."

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

У меня с STM32 какие-то постоянные глюки с USB. Последний финт был рабочую железку к другому ноуту подцепить. Всё как пишут: для w10 используйте встроенные драйвера для вирутального COM порта. Ага... Пока STшные драйвера не вкорячил все символы, что вводил с терминалки дублировались.

CodeMaster
06.11.2019, 09:55
Тебе не нужен инструмент. Тебе побаловаться и подешевле.
Может на этом и зафиксируем дискуссию и просто последим как будет развиваться (или не будет) проект?

SoftLight
06.11.2019, 10:04
>Или dupont wires уже перестали продавать?
Да, я уже писал: если надо считать 1,5 дискеты - любые варианты подойдут. А если нужен _инструмент_, тем более для того чтобы куда-то поехать чужие дискеты считать - ту надо без "соплей"

Вот это вот все собрать в корпус и вывести разъём на пинах это час работы, будет готовый девайс в корпусе размером со спичечный коробок.

Dexus
06.11.2019, 10:21
SoftLight, ты лучше скажи, тебе удалось в UDI сконвертить?

dk_spb
06.11.2019, 10:27
будет готовый девайс в корпусе размером со спичечный коробок.
И зачем он нужен, если он не умеет того что надо (делать анализ при считывании)?
Их полтумбочки таких "готовых девайсов"

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


Может на этом и зафиксируем дискуссию и просто последим как будет развиваться (или не будет) проект?
Я же не против. Я за ним (за этим проектом) уже с год слежу. Пока кроме "всплесков вбок" ничего не наблюдается.
Но, как я уже писал, поживём - увидим. Я буду только рад если проект разовьётся во что-то разумное.

Dexus
06.11.2019, 10:31
> Я же уже писал какие: я например, делал генератор сигнала index и выводил его на дисковод.
Что-о-о? Это вообще что? Зачем это капчурилке?

> Тебе не нужен инструмент. Тебе побаловаться и подешевле.
Что значит «не нужен инструмент»? Что это за вздор? Я 90% дисков скапчурил zx disk студией, остались только защищенные и экзотические форматы. Для них и нужно. Вся ретроплатформенная область - это хоббизм и сплошные компромиссы. Всем нужно подешевле, кроме разве что совсем двинутых или тех кто на других «хоббистах» подзаработать решил (таких вообще за скобки).

> Я ему помогал от ругательных warning'ов избавляться при компиляции его fpga.
Все теперь понятно, откуда уши хейтерства растут - из ревностного пристрастия. Можно было сразу сказать и не флеймить тут. Достойное завершение разговора.

goodboy
06.11.2019, 10:38
остались только защищенные и экзотические форматы.
я такое спокойно на амиге дампил. raw mfm -> udi
единственная проблема с декодированием синхроимпульсов.
на образе #A1,#A1,#A1, а ВГшка читает #14,#A1,#A1

SoftLight
06.11.2019, 10:50
SoftLight, ты лучше скажи, тебе удалось в UDI сконвертить?
В UDI нет, напишу свой конвертер позже. в FDI, ясное дело, получилось, но игра не запускается, значит что-то пошло не так. В HFE проверю вечером на реале, может и сграббилось неверно, но при просмотре треков в тулзе HxC я ошибок CRC вообще не обнаружил.

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


я такое спокойно на амиге дампил. raw mfm -> udi
единственная проблема с декодированием синхроимпульсов.
на образе #A1,#A1,#A1, а ВГшка читает #14,#A1,#A1
Так как на выходе у нас сырой файл и все равно придется его в какой-то более удобоваримый формат конвертировать (а может и анализатор писать), то эти последовательности можно на лету будет преобразовывать в правильные.

Dexus
06.11.2019, 10:51
Ну, амига со своей паулой много что умеет, недоступное спектрумистам.

> в FDI, ясное дело, получилось, но игра не запускается, значит что-то пошло не так.
Понятно дело что. FDI никакие защиты не сохраняет (кроме порядка секторов).

> В HFE проверю вечером на реале, может и сграббилось неверно,
Не. HFE будет нормальным. Так что, zx disk studio не смогло загрузить hfe что-ли?
Дело в том что в hfe синхропоследовательности (a1) не добавляет в поток биты для подгона к корректной границе байт. Он оставляет поток нетронутым. В UDI же уже расшифрованный и синхронизированный mfm, без разбиений на сектора.

dk_spb
06.11.2019, 11:00
Что-о-о? Это вообще что? Зачем это капчурилке?
Это я писал на первой странице этого топика. Но некоторые читают только себя ;-)


>Все теперь понятно, откуда уши хейтерства растут - из ревностного пристрастия. Можно было сразу сказать и не флеймить тут. Достойное завершение разговора
Завершим разговор мы через 2-3 месяца, когда будет понятно чем закончился этот проект и кто в него какой вклад внёс. ;-)

>Я 90% дисков скапчурил zx disk студией
Да-да, ты писал что у тебя, как у большинства "пару десятков" дисков.
А уж не ZX диски тебе и подавно неинтересны.

Вопрос для завершения разговора: ты сам-то Greaseweazle попробовал? Или как обычно споришь про те самые устрицы? ;-)

Dexus
06.11.2019, 11:07
> ты сам-то Greaseweazle попробовал?
Кто-то читает только себя... перечитай сообщение №14. Или вообще весь топик.

SoftLight
22.11.2019, 16:58
Платки для готового девайса (https://threadreaderapp.com/thread/1186856078199230464.html) подвезли чтобы не колхозить. Смотрится симпатично. Герберов не нашел.
https://pbs.twimg.com/media/EHiQ9mSUYAAulZ_.jpg

Dexus
22.11.2019, 17:25
Платки для готового девайса подвезли чтобы не колхозить.
А чего там особо колхозить?
Сабж фактически напрямую подключается к флопу.
Я не вижу, чтобы на платке были какие-то доп. средства, чтобы 5.25" дисководы работали как надо - нет подтяжки импульсов шагового двигателя, плюс факт шумливости оптического датчика индекса вообще никак не хендлится.
Насколько я вижу - сабж нормально обслуживает только 3.5" дисководы.

SoftLight
22.11.2019, 18:48
А
Я не вижу, чтобы на платке были какие-то доп. средства, чтобы 5.25" дисководы работали как надо - нет подтяжки импульсов шагового двигателя, плюс факт шумливости оптического датчика индекса вообще никак не хендлится.
Насколько я вижу - сабж нормально обслуживает только 3.5" дисководы.
А как лучше подключать к 5,25, может схема есть? Я то собрал по схеме как нарисовано на гитхабе.

Dexus
22.11.2019, 19:27
А как лучше подключать к 5,25, может схема есть?
Схемы нет. Я не видел. Есть топик, в котором чел типа описывает как он подключал:
http://www.vcfed.org/forum/showthread.php?72154-Open-source-flux-reader-writer-running-on-2-bluepill-board&p=593189#post593189

Безотносительно этого подключения, софт GW не умеет игнорировать "досрочные" индексные импульсы, которые происходят спустя 3.5мс после начала, когда отверстие заканчивается, и датчик бы должен мгновенно перестать сигналить, но делает он это нестабильно. Сигнал идёт как-то так:

______ _ _______
____________ _

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

HardWareMan
22.11.2019, 19:41
Дребезг. Он везде.

Dexus
22.11.2019, 20:28
Ага, а разработчик GW посоветовал купить другой, более новый 5.25", надеясь что у него не будет дребезга. Очень смешной совет.

SoftLight
01.12.2019, 14:27
Собрал себе покомпактнее читалку чем просто на дюпонтах. Одно не понял. В чем физический смысл подключения пинов +5V и GND отдельным разъемом к питалову дисковода? +5V и так есть от ПК. А GND я взял с первой ноги шлейфа флопа:
http://www.picshare.ru/uploads/191201/2h8uv8Zj49_thumb.jpg (http://www.picshare.ru/uploads/191201/2h8uv8Zj49.jpg) http://www.picshare.ru/uploads/191201/H63v87Pl30_thumb.jpg (http://www.picshare.ru/uploads/191201/H63v87Pl30.jpg)

omercury
02.12.2019, 00:02
В чем физический смысл подключения пинов +5V и GND отдельным разъемом к питалову дисковода?
В предотвращении "плавания" потенциала "земли" дисковода относительно сигнальной "земли" компа в зависимости от нагрузки на дисковод и возникновения из-за этого помех (включение шпинделя, щелчки шаговика привода головок).

HardWareMan
02.12.2019, 06:28
omercury, просто не только лишь все учитывают силовую часть составляющей в сигналах.

SoftLight
02.12.2019, 08:58
Понял.

dk_spb
02.12.2019, 11:56
Ага, а разработчик GW посоветовал купить другой, более новый 5.25", надеясь что у него не будет дребезга. Очень смешной совет.
Во FluxExngine можно добавить в прошивку аппаратные средства устранения этого дребезга ;-)
Ну а программные можно добавить везде.

newart
25.05.2020, 23:01
SoftLight как железка/софтина? Удалось что-то считать?

SoftLight
25.05.2020, 23:28
newart, железяка рабочая. Особенно здорово, что можно грабить дискеты без участия Спектрума. Я только собрал девайс и поигрался. Так-то эксклюзивов у меня никаких нету. Считал свою фирменную дискету Звездного Наследия с сохранениями 96 года. Защита скопировалась и игра запускается, но посередине был один битый сектор и не все сохранения работали.

newart
25.05.2020, 23:40
newart, железяка рабочая. Особенно здорово, что можно грабить дискеты без участия Спектрума.
Мягко говоря здорово!
Ведь при смешной цене платы, грабить можно по 5 дисков одновременно.
Давно мечтал собрать ферму для этого дела. Благо дисководов более 10 в наличии.

goodboy
25.05.2020, 23:52
не всё так радужно. сторонние контроллеры читают диск грубо говоря идеально,
а ВГшка при чтение искажает некоторые синхроимпульсы. если защита проверяет именно их то нужная последовательность не найдётся.
кроме того дискету можно отформатировать так что она 100% правильно не прочтётся.
снятый образ для корректной работы придётся править вручную

^m00h^
25.05.2020, 23:56
я такое спокойно на амиге дампил. raw mfm -> udi
единственная проблема с декодированием синхроимпульсов.
на образе #A1,#A1,#A1, а ВГшка читает #14,#A1,#A1

А чем дампил, и как потом raw mfm в udi конвертировал ?

newart
26.05.2020, 00:16
newart, железяка рабочая. Особенно здорово, что можно грабить дискеты без участия Спектрума.
Кстати, ты не проверял одновременно две железки работает от одного компа?

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

Интересно, почему автор не взял ESP32.

SoftLight
26.05.2020, 00:50
А чем дампил, и как потом raw mfm в udi конвертировал ?
Greaseweazle на выходе как и КриоФлюкс дает scp-файл, размером ~ в 40-50 Мб. Его можно посмотреть в Aufit (http://info-coach.fr/atari/software/pc-projects/Aufit.php) и проанализировать, что считалось. Дальше конверчу в hfe-файл через HxCFloppyEmulator (https://hxc2001.com/download/floppy_drive_emulator/HxCFloppyEmulator_soft.zip). После этого можно записать на флешку и уже пользоваться в Gotek-эмуляторе. Или есть замечательный скрипт pyhfe2udi (https://zx-pk.ru/threads/30692-arduino-floppy-disk-reader.html?p=1035481&viewfull=1#post1035481) от Dexus (https://zx-pk.ru/members/596-dexus.html), который пытается сконвертить hfe в udi. А еще есть набор утилит (https://github.com/keirf/Disk-Utilities/blob/master/README.md) от автора. Но их я не пробовал.

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


Кстати, ты не проверял одновременно две железки работает от одного компа?

Не, у меня только один мой экземпляр. Не вижу где в скрипте порт задается.

goodboy
26.05.2020, 00:55
А чем дампил, и как потом raw mfm в udi конвертировал ?
дампил стандартной читалкой с аминета, конвертер специально написал умный человек.
и как раз в последних спектрофонах защита поменялась на более умную (в физическом плане)
диск всегда будет дампиться неправильно.

SoftLight
26.05.2020, 00:59
если защита проверяет именно их то нужная последовательность не найдётся.
Скорее всего. Кстати, можно автору подкинуть этот кейс с особенностями чтения A1 ВГ93, он вроде отзывчивый. Я пррипоминаю, все возможные последовательности, при которых происходит сбой синхронизации, вычислял Lion17.

newart
26.05.2020, 01:34
Не, у меня только один мой экземпляр. Не вижу где в скрипте порт задается.
Хм, оно что в режиме виртуального COM порта работает?

goodboy
26.05.2020, 12:15
Считал свою фирменную дискету Звездного Наследия с сохранениями 96 года. Защита скопировалась и игра запускается, но посередине был один битый сектор и не все сохранения работали.
а на каком этапе понял что считано с ошибкой ?

SoftLight
26.05.2020, 16:48
а на каком этапе понял что считано с ошибкой ?
Начал играть на реале, из четырех сохранений работают три. А когда гружу четвертое, на экранчике gotek видно, как прыгает номер сектора туда-сюда и потом ЗН сбрасывается. Тогда достал Aufit и увидел, что в scp красный сектор с не верной длиной. А так-то когда считывал обычные диски tr-dos, то большинство норм считывается и потом конвертится в UDI/TRD. Я все больше тестировал, так как дискеты считал давно на PC и тут выкладывал в 2009.

^m00h^
27.05.2020, 13:50
Попробуй перечитать диск несколько раз ?

Dexus
20.08.2020, 09:14
Автор похоже исправил давнишний баг из-за которого 5.25” треки читались обрезанными (из-за оптического сенсора индекса).
https://github.com/keirf/Greaseweazle/commit/ff635cf5b79e8326fa8745792ffca074fe7be47b
В релиз пока не вошло.

^m00h^
23.05.2021, 14:38
Это прорыв!!!

https://m.habr.com/ru/company/macloud/blog/558386/

Dexus
23.05.2021, 19:11
Это прорыв!!!
https://m.habr.com/ru/company/macloud/blog/558386/

Гризвизл к сожалению никакого аналогового чтения не обеспечивает. Просто управляющее устройство, не особо-то и заслуга. Чтобы аналог читать нужно в схему самого дисковода подключаться.

^m00h^
23.05.2021, 19:58
А твой девайс возможно подключить в схему дисковода ?

Dexus
23.05.2021, 21:36
^m00h^, Который ардуиновый? Он еще слабее. Чтобы аналог снимать нужен приличный размер буфера, ESP32 может и можно было бы, и то скорее всего с доп. внешней памятью (wrover). В статье пишут про осциллограф с буфером приличным для этой цели. Если оборот (1/5 секунды) хотя бы на 8бит оцифровать, хотя-бы с частотой в 4мгц, уже было бы хорошо (16 сэмплов на 4микросекунды - минимальный промежуток для DD, или 8 сэмплов на 2микросекунды - это уже HD). Это под мегабайт буфер нужен. Лучше больше. А тут девайсы с маленькими буферами. Не получится.