Mathematikum Gießen
Jan. 5th, 2026 10:20 am( Read more... )
Сначала диск считывается в сыром виде (MFM) в файл типа HFE. Размер выходит около 4 мегабайт. После чего мы преобразуем HFE в привычный образ флопа IMG. Получаем стандартные 1.44 мегабайта.$ floppy read image.hfe
Rotation Speed: 300 RPM
Bit Rate: 500 kbps
Reading track 0, side 0...
...
Reading track 81, side 1... Done
Writing HFE file...
Successfully read floppy disk to image.hfe
$ ls -l image.hfe
-rw-r--r-- 1 vak staff 4116480 Jan 4 21:17 image.hfe
$ gw convert image.hfe image.img --format=ibm.1440
Format ibm.1440
Converting c=0-79:h=0-1 -> c=0-79:h=0-1
T0.0: IBM MFM (18/18 sectors) from Bitcells (199224 bits, 1000.0 kbit/s, 301.2 rpm, variable)
T0.1: IBM MFM (18/18 sectors) from Bitcells (199176 bits, 1000.0 kbit/s, 301.2 rpm, variable)
...
T79.1: IBM MFM (18/18 sectors) from Bitcells (199216 bits, 1000.0 kbit/s, 301.2 rpm, variable)
...
Found 2880 sectors of 2880 (100%)
$ ls -l image.img
-rw-r--r-- 1 vak staff 1474560 Jan 4 21:17 image.img
$ file image.img
image.img: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "MSWIN4.1", root entries 224, sectors 2880 (volumes <=32 MB), sectors/FAT 9, sectors/track 18, serial number 0x16161ef5, unlabeled, FAT (12 bit), followed by FAT
У меня уже которое утро, как встану, болит уколотая рука (shingles), и вообще состояние такое что я типа ой болею. Так что я продолжил валяться. Ну и ещё дождик полдня накрапывал.
Из Калифорнии пишет Андрей, у него умерла мама. Умерла счастливо, как многие бы согласились - в 79 девять лет, сердце, и всё так внезапно и быстро. Написал ему, и его родственникам. Мы с ней знакомы были лет пятнадцать.
Так я весь день почти ничего и не делал. Поехал купить овощей и баранины для щей, да ещё в какой-нибудь "европейский магазин", за селёдкой и хрустящими хлебцами. Хрустящих хлебцев не нашёл; выяснил, что всё, что называется сейчас "европейская еда" совсем недавно называлось "русскими магазинами". В одном купил фунт сёмги, да банку селёдки. Организм требует.
В Публиксе купил овощей и баранины (там есть "мясной отдел", и что попросишь, то тебе отрежут; мне надо было с косточкой, на суп.
А дальше я с идел возился с превращением моих рабочих дыбров в книгу. Там всё бы просто, да две проблемы. Половина на русском, и надо перепирать, а половина на английском, качество которого у меня вызывает нарекания. И "chat je pétait" напускать нет смысла, потому что он перепрёт на язык роботов, а мне это не по мне. Так что приходится терпеть себя.
Гулять вообще не ходил, ну вот. Нет моральных, что ли, сил. Но завтра это надо прекратить; завтра пойду гулять, хоть ты лопни (или как там Гайдар писал).
Всё на сегодня.

3014, 5000, 6945, 10736, 13084, 15070, 17000, 20042, 23014, 26070, 29139, 31125, 33056, 36125, 39070, 42153, 45209, 47209, 49097, 52195, 55139, 58209, 61278, 63278, 65181, 68278, 71195, 74292, 77334, 79334, 81264, 84306, 87278, 90347, 93403, 95403, 97306, 100389, 103334, 106417, 109459, 111459, 113375, 116417, 119389, 122431, 125514, 127528, 129417, 132528, 135472, 138542, 141597, 143597, 145500, 148556, 151528, 154597, 157653, 159653, 161570, 164639, 167584, 170667, 173709, 175722, 177625, 180709, 183653, 186722, 189792, 191778, 193695, 196750, 199736, 202792, 205847, 207847, 209750, 212834, 215792, 218861, 221903, 223917, 225834, 228903, 231847, 234917, 237959, 239986, 241903, 244959, 247931, 251000, 254028, 256056, 257972, 261028, 263986, 267056, 270097, 272111, 274042, 277097, 280070, 283097, 286167, 288195, 290070, 293181, 296125, 299195, 302236, 304250, 306167, 309250, 312195, 315264, 318292, 320320, 322236, 325306, 328278, 331334, 334375, 336389, 338320, 341389, 344334, 347389, 350445, 352445, 354403, 357431, 360403, ...Это моменты времени, когда считанный сигнал с флопика меняет полярность. Время измерено в наносекундах, с точностью плюс-минус несколько (десятки) наносекунд. Чуть по разному у разных адаптеров. Из этой каши декодер должен извлечь биты MFM.
MFM: 0100010010101001Тут возникает очередная проблема: где границы байтов и секторов? Эту задачу разные производители решают по разному. К компьютерах IBM оно сделано одним образом, у Amiga другим, а в древних маках совершенно третьим. Разнообразия вагон. Технически всё решается введением "нарушений" в правила кодирования MFM, изложенные выше. Скажем, убрать один битик при кодировании байта A1. Так делает IBM в заголовке каждого сектора. Приёмник видит такие нарушения и понимает: ага, закончился предыдущий сектор и начинается новый.
данные: 1 0 1 0 0 0 0 1