tnt23: (amiga)

dskform -format acorn800 -side 1 /dev/fd0 -type floppy
dsktrans ~/Acorn/Acorn\ Archimedes\ \[TOSEC\]/Acorn\ Archimedes\ -\ Games\ \(TOSEC-v2011-02-22_CM\)/Elite\ \(1991\)\(Hy
brid\ Technology\).adf /dev/fd0 -format acorn800 -otype floppy
dsktrans ~/Acorn/Acorn\ Archimedes\ \[TOSEC\]/Acorn\ Archimedes\ -\ Demos\ \(TOSEC-v2008-10-11_CM\)/RiscDream\ \(1991\)
\(Armaxess\).adf /dev/fd0 -format acorn800 -otype floppy
dsktrans ~/Zarch\ \(1987\)\(Superior\).adf /dev/fd0 -format acorn800 -otype floppy
dsktrans ~/Star\ Fighter\ 3000\ \(1994\)\(Fednet\).adf /dev/fd0 -format acorn800 -otype floppy
dskform -format acorn800 -side 1 /dev/fd0 -type floppy

tnt23: (amiga)
Понемногу реанимирую стюардессу:


Битовый поток генерируется SPI1, причём в режиме TI. В режиме SPI выдача байт не бесшовная.
tnt23: (amiga)
На диске может быть 39 либо 77 дорожек.
На дорожке 12 секторов.
Интерлив: 1, 6, 11, 4, 9, 2, 7, 12, 5, 10, 3, 8 (таблица по адресу 0x6DBF).
Формат записи, скорее всего, single density (FM).

Формат сектора:

8 байт - заголовок ID сектора BF FF FF FF FF FF FE AB
2 байта - кодированный номер дорожки (таблица перекодировки по адресу 0x75CF).
2 байта - кодированный номер сектора (ditto).

19 байт - заголовок области данных сектора DD AA AA AA AA AA AA AA AA AA AA BF FF FF FF FF FF FF FE ED
414 байт - область данных сектора

13 байт - постамбула AD EE F5 DD DD DD DD DD DD DD DD DD DD


При записи сектора сразу после обнаружения заголовка ID сектора и совпадения номеров дорожки и сектора после байта DD впечатываются следующие данные:

16 байт - AA AA AA AA AA AA AA AA BF FF FF FF FF FF FE ED
416 байт - собственно данные
11 байт - постамбула F5 DD 00 00 00 DD DD DD DD DD DD

Контроллером дисковода в Roland D-20, если верить принципиальной схеме, трудится экзотический чип M60012-0110.
Еще немного унылой технарщины )
tnt23: (amiga)
Итак, Roland D-20. Осциллоскопирование показало, что на флоп пишутся данные в виде импульсов длительностью около 2мкс и периодом следования, тоже кратным 2мкс. Параллельно флопу был подключен эмулятор - от синтезатора брались только сигналы выборки дисковода и собственно поток бит на запись. Таким образом удалось получить слепок данных, посылаемых синтезатором в дисковод при форматировании дорожки.
Read more... )
tnt23: (amiga)
Начало форматирования - головки гонятся на нулевую дорожку:



Процесс форматирования:

tnt23: (amiga)
В синтезаторе Roland D-20 используется 3.5" флоп настолько старинный, что у него управление шаговым двигателем выполняется четырьмя сигналами - PHASEA, PHASEB, PHASEC и PHASED.
И да, это очень дзенский флоп. У него всего одна сторона.

(Флоп не только дзенский, но и пофигистичный. Датчика нулевой дорожки у него нет, нет и INDEX.)
tnt23: (amiga)
Добавил в мегадрайв поддержку .MSA, чтобы посмотреть демки для Atari ST (да, все семь штук :)).
tnt23: (amiga)

.MSA FILE FORMAT
--================------------------------------------------------------------

For those interested, an MSA file is made up as follows:

Header:

Word ID marker, should be $0E0F
Word Sectors per track
Word Sides (0 or 1; add 1 to this to get correct number of sides)
Word Starting track (0-based)
Word Ending track (0-based)

Read more... )
tnt23: (amiga)
С моей скромной подачи товарищ вдохновился и сделал реплику БКшного контроллера дисковода.
tnt23: (amiga)
8-дюймовая дискета, 77 дорожек по 26 секторов, формат записи FM. Интересно, ДВКшный MX не оттуда ли цельнотянут?


Формат записи на MX

Индекс | Синхронизация | маркер | номер дорожки | сектора |

Каждая дорожка на дискете в формате MX начинается с
индекса. Индекс - это отверстие на дискете, отмечающее
начало дорожки. Без него невозможно определить начало
данных. Сразу после начала индекса идет синхронизация -
большое количество нулевых бит. По ней контроллер MX
определяет начало битовых интервалов. После синхронизации
идет маркер - слово, содержащее восьмеричное число 000363.
Контроллер работает следующим образом: после
обнаружения индекса, получив команду начать чтение,
принимает входные биты в 16 разрядный сдвиговый регистр.
Каждый раз содержимое этого сдвигового регистра сравнивается
с 000363. При совпадении контроллер переходит в режим чтения
данных - последующие биты объединяются в слова по 16 битов и
выставляются в регистр данных контроллера. Первым словом
после маркера записан номер дорожки, который используется
драйвером для проверки правильности позиционирования на
нужную дорожку. Затем на дорожке лежат 11 секторов по 129
слов (258 байт) в каждом - 128 слов данных плюс слово
контрольной суммы.


Похоже, все-таки не оттуда. Жаль, у меня было еще столько хороших идей.
tnt23: (amiga)
Дым пока не пошел. Слайды будут позже.

Имеем 2 потока MFM-бит. Один снят с отформатированного на машине-пациенте диска, другой формируется программно мегадрайвом. При этом с первого, естественно, машина-пациент грузится, со второго не может или не хочет.
Информация к размышлению )
tnt23: (amiga)
Добрая душа из Москвы прислала мне КМД для УКНЦ. Плата красная, датирована 1992 годом. Длинный шлейф, резисторы я заменил на 2,2К. При таком раскладе с Megadrive256 из образа SYSIMAGE.BKD через пень-колоду загружается RT11 - примерно 3 раза из 10, сопровождая процесс загрузки жалобами типа ?BOOT-W-Error reading handler и ?KMON-U-Overlay read error.

tnt23: (amiga)

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



Схема и плата в формате P-Cad 2004 лежат здесь.



Update. Когда была изобретена машина времени, я вернулся из будущего и дополнил этот пост ссылкой на удачное завершение проекта.
tnt23: (amiga)
Это отформатированная на УКНЦ дорожка 00:

mfmdisk.exe -i track30.mfm
Format: IBM PC
Track 0/0: 10 sectors per track
Order of sectors: 0 1 2 3 4 5 6 7 8 9
Sector gap: 299 274 274 304 304 304 304 273 304 304 bits (std 368)
Data gap: 222 222 192 192 192 192 222 192 192 192 bits (std 176)


А это дорожка 00, формируемая Megadrive256 при загрузке .BKD образа в память:

mfmdisk.exe -i empty.mfm
Format: IBM PC
Track 0/0: 10 sectors per track
Order of sectors: 0 1 2 3 4 5 6 7 8 9
Sector gap: 1160 368 368 368 368 368 368 368 368 368 bits (std 368)
Data gap: 176 176 176 176 176 176 176 176 176 176 bits (std 176)
tnt23: (amiga)
Мануал к Catweasel срывает покров тайны с write precompensation:

The magnetic flux transitions on a floppy disk tend to move slightly farther apart if they are recorded very close together, thus lengthening the short intervals and shortening the long ones, a phenomenon sometimes called bit-shifting. When a disk is recorded, the disk controller ordinarily applies write precompensation to reduce this effect; that is, it makes the short intervals extra short and the long ones correspondingly longer, especially on the inner, higher-numbered tracks.

In general, disks need more precompensation on the inner (higher-numbered) tracks than on the outer tracks, and this effect is more pronounced for larger disks where the difference in length between the inner and outer tracks is greater. The default value of 140ns for all tracks seems to work reasonably well on 3.5-inch and 5.25-inch disks, though it is surely not optimal.

Update. Роскошный документ 1980 года "ENCODING/DECODING TECHNIQUES DOUBLE FLOPPY DISC CAPACITY" by John F. Hoeppner and Larry H. Wall, Shugart Accociates, Inc.
tnt23: (amiga)
The NEC 765 controller goes to sleep for about 1.8ms after the index hole is sensed and expects still to read gap 1 when it wakes up. It works fine for floppies formatted using the 765, because it will always generate the format as specified above. The WD 1797 controller, though, does not have a command to format a track, but writes a given pattern to the track when formatting it. If the pattern has a too short post index gap, for example because it is a format which tries to maximise the usable disk space, the 765 controller will fail to read the first sector. To make things yet more complicated, the 765A controller only sleeps for 0.6ms, which means it is less sensitive to shorter post index gaps.
tnt23: (amiga)
В одной из плат последней партии, заказанных в Резоните (без электроконтроля, увы) обнаружилось КЗ между двумя дорожками.
Может, их там и больше, этих КЗ, но по крайней мере в эксплуатации выплыло это. (И выплыло-то интересно - при обращении к образу диска в DRAM дорожки шли не последовательно, а по типу 0, 1, 2, 3, 12, 13, 14, 15, 12, 13, 14, 15, 12, 13, 14, 15, 48, 49, 50, 51 и так далее. Могучее мозговое усилие вкупе с бумагой и карандашом вызвало подозрения в "слипшихся" линиях адреса A8 и A9).
Изрезал всю плату, нашел участок, где две дорожки идут параллельно, но между ними все чисто - меди нет, просвечивает зеленая маска и текстолит.
И только под микроскопом с увеличением x56 видно, что от одной дорожки до другой идет красивая изогнутая, тонкая сопля.

Profile

tnt23: (Default)
tnt23

April 2016

S M T W T F S
     12
3456789
1011 1213141516
17181920212223
24252627282930

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2017 06:18 pm
Powered by Dreamwidth Studios