С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
На 5-5 из всего каталога прочитался всего лишь второй сектор.
На 5-6 есть весь каталог кроме первого сектора.
И что-то я не пойму. Образ я сконвертировал в последовательный, без интерлейса. Нашёл там случайно дамп ПЗУ фокала 018, достал и сравнил с имеющимся - всё нормально. Нашёл два текста техзаданий - полностью цельные файлы. Но вот файлы инструкции по проверке функциональности БК-0010 - прямо каша и мешанина какая-то. одно и то же с вкраплениями друг в друга.
Последний раз редактировалось gid; 24.10.2022 в 15:22.
Там ещё интерлив между дорожками. Сам метод выглядит так (переделка из С, не причёсывал). У него определённая сигнатура, поэтому есть maxBlkNum, который не используется
Код:public static ulong RX01RX02ToPhysical(ulong blkNum, ulong maxBlkNum) { const ulong NSECT = 26; const ulong NTRACK = 77; ulong track = blkNum / NSECT; ulong i = (blkNum % NSECT) << 1; if (i >= NSECT) i++; ulong sector = (i + 6 * track) % NSECT; track++; track %= NTRACK; ulong res = track * NSECT + sector; return res; }
dk_spb(23.10.2022)
>Там ещё интерлив между дорожками.
Я в упор не вижу. Можно меня носом ткнуть?
Про изменение track вижу две строки:
1) ulong track = blkNum / NSECT;
2) track++;
1-я - простое вычисление номера дорожки делением на кол-во секторов на дорожке
2-я - то самое +1
Где интерлив между дорожками?
- - - Добавлено - - -
А, имеется ввиду что на первой дорожке первый сектор пишем в первый же сектор на след дорожке, а начиная со след дорожки еще добавляем смещение (1-й сектор не в первый).
Понял, сорри
Ну там даже по таблице видно
Правда, логики не вижу, почему через две дорожки, головка то однаКод:55 0x01B80 96 0x03000 56 0x01C00 98 0x03100 57 0x01C80 100 0x03200 58 0x01D00 102 0x03300 59 0x01D80 78 0x02700 60 0x01E00 80 0x02800 61 0x01E80 82 0x02900Я бы понял, если две головки - при смене головки время не тратится, только при движении между цилиндрами. Или я чего-то не учитываю?..
>Ну там даже по таблице видно
Так это таблицу надо вниз листать....
Шучу ;-)
>почему через две дорожки
Видимо мне спать пора, я не врубаюсь где там через две дорожки...
Дорожка всегда +1
Я имел ввиду - через два раза по 26 секторов. Но нет - я тут ошибся - сдвиг более сложный.. Надо будет промежуточную информацию распечатать - может она поможет понять интерлейс на пальцах![]()
А, понятно. Посмотрел - эти образы и ImageUtils не осилил, хотя начало каталога начал разбирать. Надо будет попробовать добавить функционал типа - "попытаться выцарать то, что есть"
Помнится, ещё во времена СМ-4 на ленте дистрибутива RT-11 (в виде образа RK05) слетело самое начало, где блоки каталога. То, что осталось, сбросил на диск, а потом с помощю просмотра дампа, команды CRE/START:nnn/ALL:mmm и какой то матери - я его восстановил![]()
Кстати.
В архиве 123 есть файл podpis.dsk, у него полностью нет ни каталога, ни загрузчика, но зато на нём есть куча файлов программатора ПЗУ, которые были в образе pzu.dsk из другого архива. Видимо podpis.dsk был рабочий, там файлы редактировались, а pzu.dsk - резервный, куда бэкапы скидывались.
Вот, и в образе pzu.dsk у файла progr.mac нет конца. А в образе podpis.dsk этот файл как раз имеет сбойный блок в том месте, где файл обрывается, а потом ещё один последний блок, где есть .END. И его возможно можно попытаться вычитать.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)