Вход

Просмотр полной версии : Алгоритм MFM кодирования/декодирования



Abadonna
30.04.2013, 14:19
Всем привет. Снова прошу подсказку, на сей раз с алгоритмом MFM кодирования/декодирования. Не буду пока распространяться, для чего мне это (а то снова ткнете носом в эмуль француза, мол, давно уже сделано ваще не актуально:)). Хочу попробовать сделать свое, помучаться, авось да получится хотя бы чего-то.

Конкретно, никак не снизойдет на меня озарение, как это работает в случае с дисководом. Вот появился фронт индексного сигнала, и с этого момента следует отсчитывать битики, приходящие по линии прочитанные_данные (в случае чтения) и выделять из них биты данных? Или данные сектора предваряются какими-то служебными полями? Вроде бы были такие, перед началом сектора, и после окончания, но найти информацию в инете как-то не получилось. Хотя честно пытался найти, угрохал 2 дня. Подскажите плиз, кто чего вспомнит :) А я пока соберу железо на макетке.
Спасибо :)

alone
30.04.2013, 16:03
Я как-то исследовал минимальные размеры полей на моём дисководе Robotron 5,25": http://alonecoder.nedopc.com/zx/MFM_Robotron.jpg

Abadonna
30.04.2013, 17:01
Обожмой, вот наворочено-то... Но если делать по-уму, то придется все эти поля тоже делать. Может плюнуть и французский эмуль слепить? :) или пойти по его пути: на компе генерить образ TRD и закидывать его в файлик на носителе, подключенном к эмулятору...

В идеале хочется сделать доступный для массового повторения приборчик, который, как уже понятно, эмулит дисковод. Почему сунулся в эту область - собрал спек, все работает, нравится. Но вот проблема переноса софта с РС на спек не добавляет радости :) Под виндой 7х64 с отсутствующим разъемом FDD на мамке... Вот и задумался :) Просто передавать побитно образ TRD не сложно, только в таком виде он навряд ли будет понятен контролеру, наверное. Получается, что для максимально полной эмуляции пригоден формат UDI (http://speccy.info/UDI), ка содержащий в себе наиболее полную информацию о формате диска. Или это все напрасные страхи и все будет хорошо?

П.С. Желаний много, идей тонны, знаний мало и времени вообще нет - все как всегда :)

---------- Post added at 19:01 ---------- Previous post was at 18:45 ----------

Тут (http://speccy.info/UDI) в таблице, описывающей образ дорожки, поле со смещением 3, сказано:
Побайтовый образ дорожки - включая пробелы, синхропробелы, синхроимпульсы (маркеры MFM), адресные маркеры, заголовки, массивы данных, etc. Другими словами здесь записаны те байты, которые будут выданы ВГ93 по команде "чтение дорожки"

Т.е, это как раз те самые данные, которые следует выдавать с эмулятора на контролер? Если это так, то какой хороший формат, если "только чтение" - лучше не придумать :)

Sergey
18.05.2013, 01:01
и выделять из них биты данных? Или данные сектора предваряются какими-то служебными полями?
От индекса до индекса читаются битики и складываютя в байтики. Потом байтики анализируются на предмет, где какие поля и есть ли они.

---------- Post added at 01:01 ---------- Previous post was at 00:55 ----------


Я как-то исследовал минимальные размеры полей на моём дисководе Robotron 5,25": http://alonecoder.nedopc.com/zx/MFM_Robotron.jpg

Джерику в своё время за счет сокращения пробелов удалось разместить на дорожке 10-ть 512-байтных стабильно читаемых секторов.

USERHOME
06.09.2013, 21:16
Есть тоже такая идея....
Я не могу найти книгу по ремонту 5,25'' FDD, там написано про то как FDD пишет информацию.

psb
06.09.2013, 21:37
Я не могу найти книгу по ремонту 5,25'' FDD, там написано про то как FDD пишет информацию.
на vtrdos.ru вроде был скан этой книги.

Anykey
06.09.2013, 21:51
Вот здесь есть описание MFM
http://yadi.sk/d/e46aIhNZ8qFTQ (Проект)

psb
06.09.2013, 22:00
Вот здесь есть описание MFM
абалдеть! мега спасибо!

IanPo
06.09.2013, 22:54
Ремонт дисководов:
http://uknc.narod.ru/MC5311/diskdrives.pdf

Контроллер дисководов. Канал записи и канал чтения.
http://zxpress.ru/book.php?id=121