User Tag List

Страница 5 из 10 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 98

Тема: Образы дискет

  1. #41

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    713
    Поблагодарили
    595 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dk_spb Посмотреть сообщение
    Я правильно понял что самый первый физ сектор
    Да. Насколько я помню - этот формат идёт от IBM, там у нулевой дорожки (26 секторов) какое-то спец назначение, DEC обошла её использование интерлейсом (загнав в конец) и обрезала размер диска на 26/4 - > 6.5 блоков. Емкость дискеты 500.5 блоков - минус 6.5 - получаем 494 блока, смотрим в драйвер DX и видим
    Код:
    	.DRDEF	DX,22,FILST$!SPFUN$!DX$COD,494.,177170,264,DMA=NO
    этим самые 494 (логических) блока

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

    Цитата Сообщение от dk_spb Посмотреть сообщение
    Я да, есть ли к этому "чуду" формула?
    Есть, только после её нахождения я перевёл её в код и... не скажу (не помню уже) - где я её таки нашёл Хотя, возможно я с RX50 путаю, а для DX|DY восстановил из исходника драйвера. Не помню
    Последний раз редактировалось Hunta; 23.10.2022 в 20:24.

  2. #42

    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,301
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    211 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну по Вашей табличке не в конец, а не следующую дорожку.
    Ладно, Завтра буду изучать Вашу утилитку, спасибо большое.

    gid, Если нужно что-то перечитать - дайте знать.

  3. #43

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    713
    Поблагодарили
    595 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dk_spb Посмотреть сообщение
    Ну по Вашей табличке не в конец, а не следующую дорожку.
    Если пытаться читать интерлейсенную нулевую дорожку - да, она уезжает на первую "физическую" (та, которая физически номер 1). А вот если попытаться прочитать интерлейсенную последнюю дорожке - физически она будет нулевой - той, которая в самом начале диска, которая со спец назначением. То есть "физическая" (в начале диска) нулевая дорожка будет доступна при обращении к последней дорожке через драйвер. Только система не даст туда обратиться, так как указан размер в 494 * 4 - 1976 сектора - 26 секторов, которые с точки зрения драйвера находятся в конце дискеты (а реально, физически - в начале) - через драйвер RT не доступны

  4. #44

    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,301
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    211 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Если пытаться читать интерлейсенную нулевую дорожку - да, она уезжает на первую "физическую" (та, которая физически номер 1). А вот если попытаться прочитать интерлейсенную последнюю дорожке - физически она будет нулевой - той, которая в самом начале диска, которая со спец назначением. То есть "физическая" (в начале диска) нулевая дорожка будет доступна при обращении к последней дорожке через драйвер. Только система не даст туда обратиться, так как указан размер в 494 * 4 - 1976 сектора - 26 секторов, которые с точки зрения драйвера находятся в конце дискеты (а реально, физически - в начале) - через драйвер RT не доступны
    Всё, до меня дошло:
    1) сектора (в рамках одной дорожки) пишем с interleave=2
    2) к номеру дорожки добавляем +1 (чтобы не трогать самую первую, нулевую, дорожку)

  5. #45

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    713
    Поблагодарили
    595 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Там ещё интерлив между дорожками. Сам метод выглядит так (переделка из С, не причёсывал). У него определённая сигнатура, поэтому есть 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;
        }

    Этот пользователь поблагодарил Hunta за это полезное сообщение:

    dk_spb(23.10.2022)

  6. #46

    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,301
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    211 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    >Там ещё интерлив между дорожками.
    Я в упор не вижу. Можно меня носом ткнуть?

    Про изменение track вижу две строки:
    1) ulong track = blkNum / NSECT;
    2) track++;

    1-я - простое вычисление номера дорожки делением на кол-во секторов на дорожке
    2-я - то самое +1
    Где интерлив между дорожками?

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

    А, имеется ввиду что на первой дорожке первый сектор пишем в первый же сектор на след дорожке, а начиная со след дорожки еще добавляем смещение (1-й сектор не в первый).
    Понял, сорри

  7. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #47

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    713
    Поблагодарили
    595 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну там даже по таблице видно

    Код:
      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
    Правда, логики не вижу, почему через две дорожки, головка то одна Я бы понял, если две головки - при смене головки время не тратится, только при движении между цилиндрами. Или я чего-то не учитываю?..

  9. #48

    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,301
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    211 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    >Ну там даже по таблице видно
    Так это таблицу надо вниз листать....
    Шучу ;-)

    >почему через две дорожки
    Видимо мне спать пора, я не врубаюсь где там через две дорожки...
    Дорожка всегда +1

  10. #49

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    713
    Поблагодарили
    595 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я имел ввиду - через два раза по 26 секторов. Но нет - я тут ошибся - сдвиг более сложный.. Надо будет промежуточную информацию распечатать - может она поможет понять интерлейс на пальцах

  11. #50

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    609
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dk_spb Посмотреть сообщение
    gid, Если нужно что-то перечитать - дайте знать.
    Я бы не отказался от попытки перечитать 5-5 и 5-6, чтоб каталог удалось считать. Но не уверен, что польза будет. Может оно уже в принципе нечитаемо.
    Благодаря Hunte я попробую преобразовать интерлейсные образы в последовательные и выцепить оттуда интересуемые тексты.

    А с ZA191.LST я действительно ошибся, там один только повреждённый сектор, в конце 128 байтов - так задумано.
    Да и восстановил потерянные данные уже. Правда у меня там 2 байта никак не влазило пришлось один перевод строки убрать, т.к. я брал текст из версии для БК-0010-01, где и количество глав больше и под конец вообще очень различаются. Видимо предложения перефразированы были как-то, но смысл тот же. Кому интересно - вот исторический документ, как есть 00001-01.90.01.Not Recoded.zip

Страница 5 из 10 ПерваяПервая 123456789 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 12
    Последнее: 01.06.2018, 00:03
  2. Образы дискет от ZXFanat.
    от ZXFanat в разделе Софт
    Ответов: 4
    Последнее: 26.02.2013, 02:11
  3. Образы...
    от Sayman в разделе Эмуляторы
    Ответов: 28
    Последнее: 26.03.2012, 12:51
  4. Образы дисков
    от dk_spb в разделе Ириша
    Ответов: 9
    Последнее: 27.11.2011, 15:07

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •